31
Aug

Update 20080831

  • Update to Wordpress 2.6.1
  • Plugins and themes update
28
Aug

《人月神话》读书笔记之四:规模

注:

本文为《我的读书笔记之人月神话》系列的第四篇,欢迎指正。

=============================================================

交流:

作者先以“巴比伦塔的启示”为引子,提出了他所认为的项目成功的先决条件:

  • 清晰的目标
  • 人力
  • 材料
  • 足够的时间
  • 足够的技术

本身这些条目都没有问题,但我觉得最后两点有待商榷。不可能等什么都准备到了“足够”的地步才去动手,特别是技术方面,在项目的进程当中去学习也是常有的事儿。

而巴比伦塔的失败,也证明了“交流”和“组织”(交流的结果)的重要性。

交流的可能途径:非正式途径;会议;工作手册

—————————————–

工作量:

以大型项目的数据为依据而研究所得的结论:

工作量=常数 * 指令的数量1.5

由于我估计作者所从事的项目大都是操作系统级别的,所以书中很多指标都用类似“指令”这些指标来衡量。简单的讲,可以把这里的指令理解为系统的原子特征。指数型增长的趋势,倒也符合正常的逻辑推理。

复杂程度的指导原则:

编译器的复杂度是批处理程序的3倍,操作系统复杂度是编译器的3倍。

批处理和编译器我都写过,只不过那编译器是用高级语言Java写的而已,对于这个复杂度没有太深的体会。如果将来有机会接触到操作系统级别的复杂项目,那倒可以回过头来细细比较一下。

—————————————–

规模:

软件的规模是视其是否使整个应用系统更加有效而言的,并不在于它的绝对成本

  • 仅对核心程序设定设定规模目标是不够的,必须把所有方面的规模都编入预算
  • 在指明模块有多大的同时,确切定义模块的功能
  • 培养开发人员从系统整体出发、面向用户的态度

时间与空间(占用的资源)

  1. 项目的粗细程度决定所需的空间大小
  2. 对于给定的功能,空间越多,速度越快

如何取得 空间<->时间 的折衷?

  1. 从团队成员的编程技能上培训
  2. 需要技术积累,开发公用单元构件

技艺改进的结果往往是战略上的突破,而不仅仅是技巧上的提高

最后,以篇末最经典的一句话总结本文:

数据的表现形式才是编程的根本

25
Aug

一路走好

亲戚或余悲,
他人亦已歌。
死去何所道,
托体同山阿。

有些事情,终究不能避免。

一路走好,我最亲爱的外婆。

19
Aug

又到中秋

昨天收到公司发的月饼券,才想起又是一年中秋近。

刚进大学的那个中秋,一群年轻人围坐在数学系前面的草坪上闲聊嬉戏,踌躇满志,依稀就在眼前。转眼物是人非,很多时光早已一去不复返。

脑海里忽然冒出一句话,似乎是某个老头临终所言:如果人生可以重来,那么有一半的人可以成为伟人。不想让自己太过伟大,后面的时光也足够让我好好生活,宁静而知足,就是这样了。

又记起理光的中秋传统,不知管理科今年是否还是照旧小月饼一劈为四,分而飨之?

有些日子没出声了,今儿个冒个泡,希望看到的和没看到的朋友们都过的顺心。

07
Aug

Failed to execute request because the App-Domain could not be created. Error: 0×80131902

如果在Visual Studio中运行的好好的asp.net网页,部署到IIS后却发现无法运行,在系统日志中可以发现如下类似条目:

Exception: System.Configuration.ConfigurationErrorsException

Message: 引发类型为“System.Configuration.ConfigurationErrorsException”的异常。

StackTrace: 在 System.Web.Configuration.ErrorRuntimeConfig.ErrorConfigRecord.System.Configuration.Internal.IInternalConfigRecord.GetLkgSection(String configKey)
在 System.Web.Configuration.RuntimeConfigLKG.GetSectionObject(String sectionName)
在 System.Web.Configuration.RuntimeConfig.GetSection(String sectionName, Type type, ResultsIndex index)
在 System.Web.Configuration.RuntimeConfig.get_HostingEnvironment()
在 System.Web.Hosting.HostingEnvironment.StartMonitoringForIdleTimeout()
在 System.Web.Hosting.HostingEnvironment.Initialize(ApplicationManager appManager, IApplicationHost appHost, IConfigMapPathFactory configMapPathFactory, HostingEnvironmentParameters hostingParameters)
在 System.Web.Hosting.HostingEnvironment.Initialize(ApplicationManager appManager, IApplicationHost appHost, IConfigMapPathFactory configMapPathFactory, HostingEnvironmentParameters hostingParameters)
在 System.Web.Hosting.ApplicationManager.CreateAppDomainWithHostingEnvironment(String appId, IApplicationHost appHost, HostingEnvironmentParameters hostingParameters)
在 System.Web.Hosting.ApplicationManager.CreateAppDomainWithHostingEnvironmentAndReportErrors(String appId, IApplicationHost appHost, HostingEnvironmentParameters hostingParameters)

有关更多信息,请参阅在 http://go.microsoft.com/fwlink/events.asp 的帮助和支持中心。

Failed to execute request because the App-Domain could not be created. Error: 0×80131902

很有可能是IIS的asp.net插件在安装.net(特别是高版本)中造成了损坏,用以下方法修复:

  1. With a command window, get to the latest version of .net under “C:\Windows\Microsoft.Net\Framework\”
  2. Now run the following command: “net stop w3svc” to stop web services.
  3. Then use “aspnet_regiis.exe -ua” to uninstall all instances of ASP.NET from IIS.
  4. Follow with “aspnet_regiis.exe -i” to install ASP.NET into IIS.
  5. Now restart web services with “net start w3svc”.

在我的机器上修复成功。

07
Aug

Apathetic, Ignorant, or Just Stupid?

当全民皆运的时候,总有一些清醒的声音,如醍醐灌顶般,让我们拨开这粉饰太平和喧嚣,见到一些清澈的东西。

免大部分人翻墙之苦,征得作者同意后,全文引用如下:

Apathetic, Ignorant, or Just Stupid?

The comments on the NYT article “Before Guests Arrive, Beijing Hides Some Messes” really shock me. Most of them make me kinda sick and sad.

The NYT article is a good one uncovering a corner of the true situation in Beijing before the Olympics opening, though many deemed the story is “China bashing”, and “not newsworthy”, the city beautifying is right or at least understandable, because they thought that kind of things happened a lot, and everyone knew that.

Guys, you were totally misunderstanding the point. Beautification of the city was not the problem. The problem was how the city treat its people.

Yes, beautifying before a big event coming is not news at all, but systematically abusing its citizens by the government is. I believe every case of human abusing and human suffering would make news. It’s a forever theme of journalism.

And people in that city (and yes, in all over China) was suffering from the authorities for the sake of image. That’s the all what the NYT story want to tell you.

Those believed the story “not new” presented some examples, like things happened in Chicago in 1968, Montreal in 1976, Los Angles in 1984, without any concrete and appealing evidences.

All those events held in overseas a few decades ago seam so far away that I can’t have a clue and make comment. I don’t know if there existed any human rights issue in those events. If something bad to their people really happened, I feel sorry and sympathetic to those as I feel the same to my compatriots today. But those were all old days and I believe in western civilized world, as one commenter put it: “In today’s world is quite hard to imagine one day waking up with a wall covering the front of people’s homes, or a veil covering their businesses just because they do not comply with the standards of beauty.”

Others took the happening for granted because they thought they treat their stuffs like laundry the same way when they invited guests to their houses. These statements were totally wrong, because human beings is absolutely not stuffs. Even as unfortunate as those poor Chinese people, they own human rights and civil rights and human dignity as well as westerners. They are not doomed to be victimized, even for the sake of public good! Nobody should be treated in that way. Everybody is not like the “stuffs” you can casually throw, hide or destroy at will.

Should they been sacrificed for the beauty of the city, for the incoming glorious event, for the pleasant sightseeing of foreign athletes, leaders and tourists? No. If someone must pay for the beauty of the city, it must be those who most benefit from the beautification of the city.

China is not just another exotic tourist resort. Chinese people have suffered from ruthless and corrupt despots and bureaucrats for thousands of years. We don’t deserve more suffering because of foreigners. Chinese are open and warmhearted to all kindly friends come from abroad, but those apathetic tourists regarding Chinese pains like the way they treat monkeys in zoos would not deserve it.

If those indifferent comments not came from apathetic heart, it probably came from ignorant mind. Beautification of cities in China are not as the same way most western countries run. There is always an “Chinese characteristic” way done by the authorities to average Chinese. When a governmental campaign comes, citizens are brutally dealt with, houses are arbitrarily teared down, hundreds of thousands of low-income immigrants are mercilessly driven out, dissidents are illegally tracked and harassed, protesters are beaten, tortured and even arrested. It’s out of luck for you when your property or livelihood was in the way. No equitable negotiation. No modest compromising. No fair compensation.

I believe most westerners have no idea what befall average Chinese everyday by the authorities. Most of you seem so friendly to China while critical to your own countries. Unfortunately these kind of friendliness are actually Chinese-government-friendly, not Chinese-people-friendly. These kind of comments sound so familiar to Chinese people just like the tones of the CCP Propaganda Dept hyping everyday. More and more Chinese people know what crap they are today.

“One World, One Dream” is the theme of Beijing Olympics. It’s true that Chinese share the same planet with people in the rest of the world, so as we share the same dream of prosperity, democracy, freedom and happiness with people in the rest of the world. We deserve respect and a better life. Don’t make stupid comments until you really understand what’s happening in China. Help us if you really like China. Keeping concern for the truth and pressure on human rights issues will do the trick.

Thanks to Wozy, via Link

07
Jul

Visual Studio 2008的版本区别

工作需要,想测试一下微软最新的Visual Studio 2008。

网上找了半天,寻到了一个所谓的Team System,总以为是最高级的了。装了之后才发现是个Architecture Edition,在升级VS2005的那些项目文件时候提示有转换失败,细查之下发现是一个Test项目。后来才想到可能是版本搞错了,去微软的网站查了一下,果不其然,Visual Studio 2008的版本那叫一个复杂,除了Standard EditionProfessional Edition外,还有个Team System,居然可以细分成这么多:

  • Architecture Edition
  • Database Edition
  • Development Edition
  • Test Edition
  • Team Suite

前几个各自的侧重点不同,功能也是各有差异。如果安装两个以上,那就是两者功能的一个合集。
最后一个相当于前面几个的合集,什么功能都有了。

真搞不懂微软花那么大力气推出和维护这么多版本,是否真的有客户愿意买账。

如果想比较专业版和标准版的区别,可以看:这里
如果需要细致比较Team System中各个版本的区别,可以看:这里

另外,有神秘大奖赠送:猛击这里

03
Jul

有奖问答

请问金贸大厦的酒水开瓶费是多少?

不许Google,不许Baidu,猜对了有奖。

update:

答案揭晓:¥300/瓶

02
Jul

《人月神话》读书笔记之三:执行

注:

本文为《我的读书笔记之人月神话》系列的第三篇,欢迎指正。

=============================================================

这次谈得是贯彻执行的问题。换句话说,也就是如何确保一个拥有诸多结构师和编程人员的项目团队,对整个系统保持概念上的完整性

最好的办法就是文档化的规格说明——手册
这里的手册应该包括各种说明文档,设计文档,甚至备忘录,只要是对理解系统的设计有帮助的,应该都可以归入在内。

谈到手册,可能刚开始工作或者比较偏好编程的朋友会觉得比较头大,不太喜欢。刚开始的时候我也是如此,可随着时间的推移和工作经历的增多,却越来越发现手册的重要性。大到设计思想,小到会议记录,手册就像幻灯片一样将整个系统显示在你的面前。

那么,应该怎样书写文档(手册?manual?document?whatever),怎么样的文档才能算是好文档?

先来回答后面那个问题:

清晰、完整和准确:精确比生动更重要

好在搞技术的大多数都是理性思维,不会为了华丽辞藻在那边苦思冥想半天。

写到这里的时候忽又想起在之前那家日企得到的经验:尽量用简短的英文来描述,不用长句式。一来小日本不太擅长也不喜欢英语,二来长句式在理解上确实不如短句来的一目了然。

more…

26
Jun

买车这档事儿

是的,我打算买车了。嘘,低调,低调。

别说这会儿油价那么高,有钱买车还没钱加油呐。再说咱买车不就图个方便,说出去以车代步,多威风!捎带还能载个人啥的,您说是不是?

啥牌子?甭管国产还是进口,只要跑起来轻快,式样美观大方,那就行了。

所以,当我今晚路过那家商店,看到它第一眼的时候,我就知道,这车,我是离不了了。

more…