MONTH / April, 2009

和尚挖井故事给程序员的启示

转载

有两个和尚住在隔壁,所谓隔壁就是隔壁那座山,他们分别住在相邻的两座山上的庙里。这两座山之间有一条溪,于是这两个和尚每天都会在同一时间下山去溪边挑水,久而久之他么变成为了好朋友。

就这样时间在每天挑水中不知不觉已经过了五年。突然有一天左边这座山的和尚没有下山挑水,右边那座山的和尚心想:“他大概睡过头了。”便不以为意。

哪知道第二天左边这座山的和尚还是没有下山挑水,第三天也一样。过了一个星期还是一样,直到过了一个月右边那座山的和尚终于受不了,他心想:“我的朋友可能生病了,我要过去拜访他,看看能帮上什么忙。”

于是他便爬上了左边这座山,去探望他的老朋友。

等他到了左边这座山的庙,看到他的老友之后大吃一惊,因为他的老友正在庙前打太极拳,一点也不像一个月没喝水的人。他很好奇地问:“你已经一个月没有下山挑水了,难道你可以不用喝水吗?” 左边这座山的和尚说:“来来来,我带你去看。”于是他带着右边那座山的和尚走到庙的后院,指着一口井说:“这五年来,我每天做完功课后都会抽空挖这口井,即使有时很忙,能挖多少就算多少。如今终于让我挖出井水,我就不用再下山挑水,我可以有更多时间练我喜欢的太极拳。”

这是一个寓言故事,我认为至少可以给我们程序员带来以下启示:

  1. 它告诉我们在公司领的薪水再多,那都是挑水。而把握下班后的时间挖一口属于自己的井,对我们来说更重要。岁月不饶人,当我们年龄大了,体力拼不过年轻人了,还是有水喝,而且喝得很悠闲。
  2. 它告诉我们一定要有自己的特长或者技术核心,挖一口属于自己的井,培养自己独特坚实的实力。所谓白天求生存,晚上求发展,昨天的努力就是今天的收获,今天的努力就是未来的希望,多年前不分伯仲的同窗好友,如今的境遇可能大不相同。
  3. 和尚挖井的过程则告诉我们知识需要日积月累,最终达到一个很高的高度。
  4. 我瞎掰的:和尚课余打太极,告诉我们不仅要抓好自己的本业,还应该发展其他技能,为未来任何可能的机会做准备,所谓两手抓,两手都要硬!

IE8 引发 VS 2005/2008 向导出错的解决方案

Internet Explorer 8 正式版会导致  Visual Studio 2005 / 2008 里的部分 VC++ 向导出错,包括:

  • Add Function
  • Add Variable
  • Smart Device – New Project Creation
  • Smart Device – Add Class

VC++ 团队给出了解决方案:

  1. 运行注册表编辑器 regedit(64 位系统请使用 32 位版本
  2. 定位到“HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Internet
    Settings\Zones
    ”下
  3. 新建一个名为 1000 的项
  4. 在 1000 这个项下,新建一个 DWORD 值,名为 1207,值为 0x000000

然后重启 VS 即可。

注意:VS 2005 必须装上 SP1

想深究这个问题原因,可以参看原文


Blog 事故!

Blog 出现了严重的意外,数据再次全没了,慢慢恢复吧

- -|||

Update 1:WordPress Database Backup 这个插件去年 8.18 最后一次自动备份后,就再也没工作过了,我一直没发现这个问题。。。这时间之后我做了大量改动,还得一点一点找回来,唉


3D Coordinates

最近碰到 Gamebryo3DS MAX 的坐标系转换问题,顺便花了几分钟研究了下各 3D 坐标系,真是比当下全球形势还混乱:

除了微软当年为了跟 OpenGL 划清界限,特立独行搞出左手坐标系的 DX 外,其他都是右手系(应该都是受 OGL 这个工业标准的影响),不过 Z 轴朝什么方向的都有,哭死了。


WoW Model Viewer 的编译问题

这段时间要搞角色换装系统的改进,参考魔兽世界的换装系统机制,便先拿了 WoW Model Viewer 的代码来参考。

先拷来一个 0.48b 版本的代码,按照这里说的做后编译是通过了,但运行总报错,跟了一下没找到问题,索性去下了 0.5.08 。该版本使用 wxWidgets 2.8.0、CxImage 5.99c、GLEW 1.3.3,其中 wxWidgets 2.8.0 需要自行下载、编译。

然后打开 wowmodelview.sln,打开工程属性,修改 C++ | Additional Include Directories、Linker | Additional Library Directories 中关于 wxWidgets 的路径,然后编译,这时可能会报一些 build error,基本都是类型没有显式强转的问题,改掉即可。

编译完成后,需要修改配置文件 Config.ini,把 [Locale] 下的“Path=”和“MPQFiles=”后的路径都改为 .mpq 文件所在文件夹根目录,就可以运行了。


看,给这位大老粗穿上粉红色紧身T恤是不是很性感呀?