kongxincao さんのプロフィール空心草的程序员生涯ブログリスト ツール ヘルプ

ブログ


7月13日

流浪汉

睡眠一直不佳,早上又赖床了。等出门都8点多了,只得风风火火的往公司赶。这样的速度到公司没问题,但已没时间买早点了,幸好路上遇一同事,让她帮我刷卡,这才晃晃悠悠的去公司旁边的百年锅贴买早点——台湾肉丝拌面。

一进门,我的天啊,什么味?一股恶臭扑面而来。环顾四周,发现门口左边的位置坐着一个人,一个男人,一个蓬头垢面的男人,一个穿着大棉袄并且蓬头垢面的男人。大棉袄?!是的,我也不太敢相信自己的眼睛,当时我都已经热得汗流浃背了,为了再次确认,我忍着恶臭向他前进。为了排除可能还没睡醒或者太热而导致幻觉的情况,我在前进的同时拿出手机偷拍了下来。现在办公室里仔细检查了一遍,我可以很负责的告诉你,他是穿着大棉袄,我没打错,你也没看错——大棉袄(等有机会我再把照片帖上来)!虽然现在还不到三伏天,但也是7月中旬了,杭州城已热得快成火炉了。他——流浪汉——猛的!

偷拍结束,该办自己的事了,向柜台走去。在佩服他耐热的同时,我发现了另一件让我佩服的事情,就是他的“体味”好强啊!一直到柜台都能闻到,整间百年锅贴都被笼罩在他老人家的体味当中!他——流浪汉——猛的!

平生第一次在生活中见到流浪汉,做个记号,呵呵。

6月11日

Windows live Writer 变漂亮了

看了看最近的日志,发布日期既然是4月6日,真是偷懒啊。一些偷懒的朋友再怎么说都有一个月经帖,我这个,既然停了两个月。越来越懒了。

昨晚在QQ上和猴子聊天,他告诉我微软出了个Live Writer,很不错,让我快去体会一下。我告诉他去年就用过了。当然,那个时候也是因为工作关系才去用的,离开博客网后就没用了,感觉不太好。早上来了后又重新下了个,现在这个日志就是用Writer写的,虽然还是β版本,但是比以前那个漂亮多了。微软的东东,还是很牛B烘烘的嘛。

不说了,最近也没什么可说的东西,发表个新日志,就当测试Writer了。已经好久没有学习了,都荒废了两个多月了,要努力了。

4月6日

Google 拼音输入法

刚刚发现Google出了一个输入法,现在正在使用,感觉还可以,大家有兴趣也可以去试一试。
我现在使用的版本是:1.0.16.0,它第一个版本是:1.0.15.0。看来我还是满时髦的嘛,哈哈。看不到具体的发布时间,但这个最新版本应该是2007年发布的,我刚才也去看了一下安装目录下的文件,这个1.0.16.0版本的文件时间都是2007-04-05,难道我真的这么幸运,发布的第二天就让我down到了,呵呵。

其实输入法嘛,也没什么介绍的,我想,各位看官都使用过吧(好像是废话嘛)。我一直是用紫光拼音的,下午才安装上Google拼音,感觉和紫光差不多,有同事说和微软拼音差不多(这个拼音我倒真没用过),不管像谁,输入法嘛,都差不多啦,这里要讲的是我发现了一个不错的特色功能。
 
打开Google输入法的 属性设置 ,你会在里面发现有一个 自动同步 的功能。讲到这里我想各位看官应该已经再次体会到Google的创意了吧。的确,对于现在的中文输入法,能打出字来已经不是什么需求了,而是能智能的根据用户的输入增加词库和调节词序,来让用户更方便的输入才是真正好输入法。但是再智能的输入法,如果你换了机器,我想你又要重新开始“教会”你钟爱的输入法了,“教它”你喜欢怎么输入、你喜欢那些新词语、你的输入词序等等等等,真是件痛苦又繁琐的过程。而Google这一 自动同步 功能让你的一切烦恼都迎刃而解了,真是超~创意、超~人性啊!
 
好了,就介绍到这里,毕竟我也刚刚开始用,如果有要想试的看官,就到以下地址去享受吧:
http://tools.google.com/pinyin/index.html
 
这个是帮助地址:
 
3月10日

树倒猢狲散

在WebEx工作已经3个多月了,现在我已是WebEx的正式员工了,也就是说,我离开中国博客网也已经3个多月了。
在我离开中国博客网不到三个月的时间里,公司内部并开始了前所未有的重组,接着并是大批量的裁员,看来我当初还是幸运的,离开的早。当然,我所谓的幸运并不是指如果我留下会被fire,而是为不用经受那么痛苦的一幕而感到幸福。因为后来我知道这次裁员过程中我当初所在的技术部开发组没有损失一兵一卒,但是看着和自己朝夕相处过的好同事们一个个身不由己的离开,并不是一件让人舒服的事。
 
让我第一时间知道博客网裁员事件的是 方丈(抱歉,我还是习惯用网名代替,因为我想尽量较少对他人的影响),那日他在QQ中说:
“我要离开中国博客网了。”
“去哪里?有更好的新工作了?”
“不是的,我被公司裁员了。”
“-:(”
  ……
  ……
  ……
从他那里还知道公司还有其他人也被裁了,是谁我也没多去了解。
 
之后并是这个周,得知migo也要离开了,后来在MSN中和他了解了下情况。
“听说你也要走了?-:(”
“是的。”
“看来博客最终没能给于你想要的啊!”
“不单单是待遇问题,主要是我对博客已经没有兴趣了。”
“呵呵,新地方已经OK了?”
“是的,浙大网新”
“唉!博客终究留不住技术人员啊!”
  ……
  ……
  ……
浙大网新是个好地方,migo就是migo,强的。
 
再后来就是周四-三八节那天早上,我正急匆匆地骑车往公司飞驰,突然看到一个好熟悉的身影:
“Hello!”
“早,薛永海。”
“你...你怎么在这里?你也离开博客了?”
“是的。”
“现在~~?”
“现在北大青鸟呢。”
“不错不错。”
  ……
  ……
  ……
原来是策划 彩色心情,其实上面的 方丈 和她一样,在博客的时候都是我那项目组的策划。
 
走了,都走了,这世界真的变化好快,现在才知道为什么在城市里想交一个好朋友会这么难,就连和你接触最多的同事们也是匆匆来过,特别是我们从事IT行业的。
 
在我离开后的短短几个月里,我所知道的就已有3个同事离开了博客网,这还不包括其他部门被fire的。在此之前,在博客的一同事还曾和我说过一句话:“二零零六,博客最后的狂欢!”。唉,树倒猢狲散,这个标题并好听,但它正是中国博客网此时此刻给我的感受。
12月11日

Windows Vista

想写这篇已经很久了,可是每次来spaces就无法访问,真不知道微软现在搞什么
 
大家都知道Windows Vista即将发布,作为开发产品的软件公司WebEx当然要对最新的平台进行测试。所以我来公司的第一个任务就是安装Vista做测试,现在分配到的两台机器都是Vista的,能在第一时间接触新事物还是挺不错的。现在的机器是Windows Vista RC2+ Office 2007 + IE 7,只可惜开发环境还是VC6,感觉好不协调,不过拜Vista所赐,VC6在Vista上还是挺漂亮的
 
我这里想说的是在Vista上一些常用软件使用上的问题。下面先贴一个在Web上找到的某人在使用Vista遇到的问题(总是引用别人的,真是懒得可以):
 
=================================================================================
=================================================================================
因为装了vista,很多事情随之改变。
·比如1,拼音加加不能使用了,搜索解决方案,装vista定制版,还是不行,放弃加加,我的个人词库啊,后发现,在我的电脑上,先装vista定制版,卸载掉,再装原版,就可以了。
·比如2,虚拟光驱不能安装,换烈酒,还是不行,搜索,必须要Daemon3.11才行。
·比如3,Nero不能安装,那就不装,如果刻得太满,vista自带的刻录程序就会死掉,而且刻录没有提示,你永远也不知道它是不是真的刻好了,搜索,载Burning Studio,似乎比Nero更稳定。
·比如4,vista+Outlook2007,只能收信不能发,改设置,再改,改来改去,发现Windows Mail正常,其实就是以前的Outlook Express,但它的文件格式和outlook互不兼容,只好在Outlook中收信,然后去Express中回复。
·比如5,浏览器中下载文件,下载成功,看到了,刚要点击,又消失了,百试不爽,百思不解,下载FireFox,可以保存了。
拜托,太欺负人了吧,用如此无聊的事情大把浪费我的青春尾巴。我是要作UE或UX的啊,我都拿小本记下来了,等着瞧!发完火以后想,我是不太lamer了,人家都明说是beta的 -_-||| 那好吧,我认为:
·如果,你想成为一个拥有强大黑暗原力的UE/UX,请多用beta,你一定会被激怒,而愤怒会让你变得令人畏惧。
·如果,你想成为一个拥有强大光明原力的UE/UX,请多用beta,并且控制愤怒,而控制力会让你变得令人敬畏。
·如果想成为史上最强大的UE/UX,先学控制,再受一个巨大的刺激,出离愤怒,这就比较靠机遇了啊。 
=================================================================================
=================================================================================
 
好了,偷懒也该够了,总结一下吧。
上面的1中的问题我不清楚,因为我用的是紫光拼音。2、3的情况我没测试过,我没安装他所说的虚拟光驱,不过我用的UltraISO是正常的。至于4的情况的确如此,不过这个好像只是中文版的Outlook 2007才是如此,无法启动编写邮件功能(包括阅读),不过换成英文版的就一切OK了,但是这么一换,Office里面其他的也就跟着变了,英文版的Word用的很不习惯。第5个情况我也没遇到过,不过使用IE 7常常会莫名其妙的crash了,看来MS也有很多东西要头痛了!
 
接下来呢是自己遇到的其他情况,首先,就是那QQ啦,如果你是正常安装使用,你就别想登陆了,在你输入密码的时候Vista就会蓝屏,估计是它那个所谓的键盘加密程序搞得好事,QQ真是强的,首先就让我见识了Vista的蓝屏,试过6次蓝屏之后彻底绝望了。直到我想起QQ还有一个记住密码功能,一线曙光啊。我的第二个系统是XP,之后就重启进入XP,将QQ覆盖安装在同一目录下,启动->记住密码->登陆->退出->重启到Vista->运行QQ->哈哈,一切OK。在Vista上使用QQ很不稳定,常常崩溃,群的公告栏消息总是看不到,但是偶尔又能出来。腾讯啊,该轮到你头痛了,到现在还没有Vista版本的QQ,希望你们已经在做兼容性测试了。
 
然后呢是金山词霸,大家都知道它有一个屏幕取词功能,但你到了Vista下你会发现,它的取词功能好像生锈了一样,用鼠标放在一个词上5、6妙了才出来,而有时候你的鼠标从某个地方滑过,解释就马上出来,最终我是禁止了取词功能,有不认识的就打开词霸,Ctrl + C、 Ctrl + V 吧。
 
开始用Vista还不到一个月,可能还有其他很多常用软件会有问题,等以后遇到了再补充吧,希望等Windows Vista正式版出来后不要有太多的问题吧。
 
最后加几个Windows Vista的截图看看
 
 
切换窗口时的3D效果
 
窗口预览功能
 
IE 7
 
Word 2007>
  
11月30日

怀旧

当我心疼得离开威海到达了杭州,在为中国博客网工作的时候,觉得一切都好陌生:同事、工作环境、开发的项目……。开始怀念在威海的日子。

当现在,我离开了中国博客网,在为WebEx工作的时候,又觉得这里的一切都好陌生:同事、工作环境、开发的项目……。开始怀念在中国博客网的日子。

看来我真是一个怀旧的人。

11月10日

等待

衣带渐宽终不悔,为伊消得人憔悴!
此时此刻唯有这句话来形容我现在的心情是再也贴切不过了。
等待,原来没有把握的等待会如此的痛苦。而我又是一个非常心急的人。
 
 
后记:
很多人看到我在MSN、QQ上的这句签名,都会很好奇的问我:到底是哪位女子啊!我现在可以很负责地告诉大家:她不是什么女子。
几经面试,通过自己的不懈努力,一切一切的期待终于在我看到GMail里那封录取通知书而尘埃落定。现在终于可以和你在一起了——WebEx!
11月8日

好难

C好难,C++更难!
希望自己能在有生之年掌握他们吧!
11月2日

价高者得

整那么虚干嘛,出来混的,不就是为了几个臭钱嘛!
唉,价高者得吧!
10月15日

环境

既然归属于文摘,当然先是一个故事了:

很久以前有一个很小的国家,有一个国王在统治他和这个国家的人民.这个小国的四周围绕着强大的敌人.而这个小国有一个特色,就是它只有一口井水,全国的人民与国王都要依赖这口井水才行,因为那是这个小国唯一的水源!有一天她的敌人偷偷的在这口井水里下了毒药.到了晚上,全国的人民都喝下了被下了毒药的井水!结果所有的人都发疯了,只有一个人没有发疯,那就是国王,因为他还没有喝被下了毒药的井水.而那些发了疯的人民,就说: 我们去把国王杀了,因为国王发疯了!国王听到了就很害怕,就在半夜里偷偷去喝被下了毒药的井水,结果国王也发疯了!到了早上,那些发了疯的人民就起来跳舞庆祝说:喔!国王没有发疯了,国王的病好了!国王跟我们一样了,没有发疯了.

唉,环境!这就是环境!这世界周遭大部份的人,都难以抗拒群体的压力!明明一件事是对的,可是如果一百个人里面有99个说不对,他99.99%也会受不了群体的压力,跟着说不对!如果这个人没有接受另外99个人的想法,那他们就会非常忿怒!跟着就会强迫不愿接受他们想法的人跟他们一样。
10月9日

内存中的数据

就当我是个大懒虫吧,但是我还是觉得把事情的经过都呈现给大家应该更好理解

故事的开始
======================================================================================================
黑翼的死神 16:20:40
  *((DWORD *)&value)这个是不是指向指针的指针?
空心草 16:13:14
  不,就是一个指针变量里的内容
黑翼的死神 16:28:22
  内容是&value里的东西吧?
空心草 16:15:03
 
不对,应该就是value   
黑翼的死神 16:29:20
 
明白了
 
DWORD temp = *((DWORD *)&value)这是原句,那写成DWORD temp=value不是更简单,不过value是float的是不是就不能这么写了?
空心草 16:17:23
 
我不清楚它为什么要那样写,其实可以写成:
 
temp = (DWORD)value;
黑翼的死神 16:31:51
 
强制转换?
空心草 16:18:19
 
其实你这样的问题最好在群里问,这个我也不能太肯定,还是看那些更有经验的人怎么解释  
黑翼的死神 16:32:49
 
他应该就是想把float的转成DWORD的,写DWORD temp = *((DWORD *)&value)真是看不懂~
空心草 16:18:57
 
你最好问一下,你就问为什么:
 
DWORD temp = *((DWORD *)&value) 不写成 DWORD temp = (DWORD)value;
 
问他们有什么区别
======================================================================================================

  
群里的话
======================================================================================================

黑翼的死神
16:22:27
 
float value;
 
DWORD temp = *((DWORD *)&value);
 
是不是和DWORD temp=(DWORD)value;一样呢 
BigChang 16:24:21
 
我觉得一样。但是第一种写法我比较常用在解包函数中
空心草 16:28:00
 
大家提提自己的看法,我也是觉得一样的,但是不知道为什么第一种的写法也是常常看到的
黑翼的死神 16:29:06
 
既然写成DWORD temp = *((DWORD *)&value);应该是有些特殊的地方吧~
Joy 16:35:00
 
186:      float value = 1.3333f;
 
00402323   mov         dword ptr [ebp-8],3FAAA993h
 
187:      DWORD temp1 = (DWORD)value;
 
0040232A   fld         dword ptr [ebp-8]
 
0040232D   call        _ftol (0040113a)
 
00402332   mov         dword ptr [ebp-0Ch],eax
 
188:      DWORD temp2 = *((DWORD *)&value);
 
00402335   mov         ecx,dword ptr [ebp-8]
 
00402338   mov         dword ptr [ebp-10h],ecx
 
这是VC编译后生成的代码,速度上可能会快一点儿, 会不会影响数值偶不知道。

以下是和李马的对话,看来有问题还要麻烦他老人家哦
======================================================================================================

空心草
  float value; DWORD temp = *((DWORD *)&value); 是不是和 DWORD temp=(DWORD)value; 一样呢?
  这是VC编译后生成的代码 
  186: float value = 1.3333f; 
  00402323 mov dword ptr [ebp-8],3FAAA993h
  187: DWORD temp1 = (DWORD)value;
  0040232A fld dword ptr [ebp-8] 0040232D call _ftol (0040113a)
  00402332 mov dword ptr [ebp-0Ch],eax
  188: DWORD temp2 = *((DWORD *)&value);
  00402335 mov ecx,dword ptr [ebp-8] 00402338  

李马
不一样DWORD temp=(DWORD)value;这一句你可以看到涉及到了一个ftol的转换 

空心草
 
我看到了
 
应该是在负数的时候回出现不一样的结果,是不是?

李马
 
将float*转换为dword*再取值,事实上是做了一个截断

空心草
 
如果float是正数,这两个的语句执行结果是一样的

李马
 
因为32位系统上float是8个字节

空心草
 
没有截断吧,因为float*和DWORD*是一样大的

李马
 
我试试

======================================================================================================
说得这里我要打断一下,我早就说过李马是个牛人,我们暂且不看他到底是否有三头六臂,但从他这句“我试试”并可
知晓此人是多么的勤快,对解决问题是多么的执着啊。唉!我是望尘莫及啊!continue.......
======================================================================================================

李马
 
哦我错了
 
这不是造成截断
 
而是造成了另一种转换,就是纯字节解释

空心草
  那你说那两句话是不是一样的呢?如果都是正数的话

李马
 
不一样

空心草
 
不会吧,都是正数也不一样?
 
看来我也要写一个代码看看了(受李马前面“我试试”的影响

李马
 
1.3333的内存表示是0x3faaa993,第一条代码会将0x3faaa993重新解释为一个DWORD值,最后temp也就会成为这个值,0x3faaa993 == 1068149139。

空心草
 
好像有点明白了,晕啊,这个问题刚才同学问我的,我还说一样,现在他还下班了
 
真是有意思,原来DWORD的值直接就是内存中放着的

李马
 
其实所有的值都是那么放的,只不过解释的方式不一样

空心草
 
这个感觉和原来学习汇编的时候不一样
 
我以为在内存里放的回事数字的ascii码呢
 
比如A是0X41

李马
 
不是,内存里只放数据,但解释数据的方法不一样。比如0x41可以解释为数据,也可以解释成字符A

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


好了,故事讲完了,本想是写一篇自己对这个问题的看法,但又怕自己说不清楚,现在既然把所有的经过都讲完了,我想大家会更明白了。

9月25日

心情

昨夜在QQ上见到了曾在威海一起工作过的同事高野飞。高野飞是一个很帅气的小伙子,比我大两届,平时我总是开玩笑的叫他啊飞。不过和他一起工作的时间不是很长,记得我还是在公司实习的时候他就辞职了,去了北京一家专门为微软做测试的外包公司,他留给我最深的印象就是对工作非常非常的认真非常非常的严紧。

前不久和赵可闲聊的时候,得知啊飞现在北京已买了房子,羡慕的说!昨晚从QQ中知道,他现在美国,当时的心情非常的负责。除了更多的羡慕之情还有些许的感叹,感叹自己的生活,有种不想活的冲动。这也让我想起一句老话:“货比货该扔,人比人该死!”的确,这看起来非常的幼稚,但作为一个血气方刚的年轻人,谁会觉得自己无能,谁会承认自己是窝囊废呢?!但静下来仔细想想,事实就是如此,我有什么可骄傲的本钱呢,每日朝九晚五的工作,回家后便是星际、拳皇、电影……。发现自己已经迷失了!

唉!人生不是戏,又岂能重新来过!

昨夜我想了很多,想到自己两年后会是什么样?想到自己当初离开威海真的没错?想到来中国博客网到底是得还是失?在威海的时候公司虽小,但在管理上是如此的规范,对新员工的培养是如此的到位,那是我软件启蒙的公司,它让我学到了很多,它让我看到了大公司的身影;而在中国博客网,公司虽大,但在这里除了让我学到了微乎其微的MFC知识、除了舒适的工作环境,我好像什么也没得到,再加上松散的管理和不够完善的规章制度,它让我变得越来越懒散,让我在工作上也开始敷衍……

唉!不能再这样了,不能再如此的迷失下去了。就以这篇日志为记号,我不能再这样迷失下去了!从今天开始,一定要规范自己,约束自己。不能再碌碌无为了!
 
昨夜一直到凌晨才能入眠
9月8日

两个寓言

已经好久好久没有来更新了,整整一个八月存档是空的,只能说明一个问题:我太懒了!
最近就是不知道写什么,好像要写的东西很多,但进入空间又写不出来,憋得难受!今天依然没什么想法,不过一直这样冷清下去也不是办法啊,所以就先摘俩篇寓言来凑凑数吧。希望对大家有所启发!


一)成长的寓言:做一棵永远成长的苹果树
一棵苹果树,终于结果了。
第一年,它结了10个苹果,9个被拿走,自己得到1个。对此,苹果树愤愤不平,于是自断经脉,拒绝成长。第二年,它结了5个苹果,4个被拿走,自己得到1个。“哈哈,去年我得到了10%,今年得到20%!翻了一番。”这棵苹果树心理平衡了。
但是,它还可以这样:继续成长。譬如,第二年,它结了100个果子,被拿走90个,自己得到10个。
很可能,它被拿走99个,自己得到1个。但没关系,它还可以继续成长,第三年结1000个果子……
其实,得到多少果子不是最重要的。最重要的是,苹果树在成长!等苹果树长成参天大树的时候,那些曾阻碍它成长的力量都会微弱到可以忽略。真的,不要太在乎果子,成长是最重要的。

心理点评
你是不是一个已自断经脉的打工族?
刚开始工作的时候,你才华横溢,意气风发,相信“天生我才必有用”。但现实很快敲了你几个闷棍,或许,你为单位做了大贡献没人重视;或许,只得到口头重视但却得不到实惠;或许……总之,你觉得就像那棵苹果树,结出的果子自己只享受到了很小一部分,与你的期望相差甚远。
于是,你愤怒、你懊恼、你牢骚满腹……最终,你决定不再那么努力,让自己的所做去匹配自己的所得。几年过去后,你一反省,发现现在的你,已经没有刚工作时的激情和才华了。
“老了,成熟了。”我们习惯这样自嘲。但实质是,你已停止成长了。
这样的故事,在我们身边比比皆是。
之所以犯这种错误,是因为我们忘记生命是一个历程,是一个整体,我们觉得自己已经成长过了,现在是到该结果子的时候了。我们太过于在乎一时的得失,而忘记了成长才是最重要的。
好在,这不是金庸小说里的自断经脉。我们随时可以放弃这样做,继续走向成长之路。
切记:如果你是一个打工族,遇到了不懂管理、野蛮管理或错误管理的上司或企业文化,那么,提醒自己一下,千万不要因为激愤和满腹牢骚而自断经脉。不论遇到什么事情,都要做一棵永远成长的苹果树,因为你的成长永远比每个月拿多少钱重要。

(二)动机的寓言:孩子在为谁而玩
一群孩子在一位老人家门前嬉闹,叫声连天。几天过去,老人难以忍受。
于是,他出来给了每个孩子25美分,对他们说:“你们让这儿变得很热闹,我觉得自己年轻了不少,这点钱表示谢意。”
孩子们很高兴,第二天仍然来了,一如既往地嬉闹。老人再出来,给了每个孩子15美分。他解释说,自己没有收入,只能少给一些。15美分也还可以吧,孩子仍然兴高采烈地走了。
第三天,老人只给了每个孩子5美分。
孩子们勃然大怒,“一天才5美分,知不知道我们多辛苦!”他们向老人发誓,他们再也不会为他玩了!

心理点评:
你在为谁而“玩”
这个寓言是苹果树寓言的更深一层的答案:苹果树为什么会自断经脉,因为它不是为自己而“玩”。
人的动机分两种:内部动机和外部动机。如果按照内部动机去行动,我们就是自己的主人。如果驱使我们的是外部动机,我们就会被外部因素所左右,成为它的奴隶。
在这个寓言中,老人的算计很简单,他将孩子们的内部动机“为自己快乐而玩”变成了外部动机“为得到美分而玩”,而他操纵着美分这个外部因素,所以也操纵了孩子们的行为。寓言中的老人,像不像是你的老板、上司?而美分,像不像是你的工资、奖金等各种各样的外部奖励?
如将外部评价当作参考坐标,我们的情绪就很容易出现波动。因为,外部因素我们控制不了,它很容易偏离我们的内部期望,让我们不满,让我们牢骚满腹。不满和牢骚等负性情绪让我们痛苦,为了减少痛苦,我们就只好降低内部期望,最常见的方法就是减少工作的努力程度。
一个人之所以会形成外部评价体系,最主要的原因是父母喜欢控制他。父母太喜欢使用口头奖惩、物质奖惩等控制孩子,而不去理会孩子自己的动机。久而久之,孩子就忘记了自己的原初动机,做什么都很在乎外部的评价。上学时,他忘记了学习的原初动机———好奇心和学习的快乐;工作后,他又忘记了工作的原初动机 ———成长的快乐,上司的评价和收入的起伏成了他工作的最大快乐和痛苦的源头。
切记:外部评价系统经常是一种家族遗传,但你完全可以打破它,从现在开始培育自己的内部评价体系,让学习和工作变成“为自己而玩”。

7月26日

Windows

嘘~~~!
这个话题搞得有点大了,不过既然题都开了,今天我就扯淡一下Windows吧。扯虾米呢?我想,竟然想成为一个优秀Windows软件开发人员,首先就要了解Windows的开发平台,在64位技术还未完全成熟的今天,32位依然还是主流,所以今天我就扯扯32位Windows平台的些许知识吧。

Win32s平台(Windows 3.x)
Win32s平台是最新交付的能够运行Win32应用程序的平台。Win32s由一组向16位Windows 3.x系统添加Win32 API的动态链接库和虚拟设备驱动程序组成。Win32s只不过在16位的Windows 3.x上增加了一层32位到16位的映射。这一映射层使用截断技术把32位的函数参数转换成16位参数,然后调用相应的16位Windows API。

Windows 9x平台(Windows 95/98/ME)
Windows 9x是基于DOS的混合16位/32位的Windows,比起它们的前辈Win32s来是Win32 API的一种好得多的实现。不过,Windows9x还不像Windows NT那样完全实现了Win32 API。Windows 9x不完全支持Win32的一些异步文件I/O函数、调试函数、注册函数、安全函数和事件记录函数,这些函数是存在的,但它们是有限制地实现的——如CreateRemoteThread函数,在Win32s和Windows 9x平台上运行,它什么也不做,只返回NULL。

Windows NT平台(Windows NT/2000/XP/Server 2003)
Windows NT是一个健壮的操作系统,它的设计能防止应用程序的错误行为弄垮系统。成为错误行为是指应用程序直接访问计算机的硬件,如读写I/O端口等。很可惜,很多MS-DOS和16位的Windows应用程序都有错误行为。当在Windows NT下运行这些应用程序时,在它们试图访问硬件的时候,系统会终止它们。

 Windows CE平台(接触不多,所以自己都搞不清楚)
Windows CE是Microsoft公司1996年推出的最新Windows内核。这种新型操作系统的推出是为了满足小型硬件设备的需要。其多线性、多任务、全优先的操作系统环境是专门针对资源有限而设计的。这种模块化设计使嵌入式系统开发者和应用开发者能够定做各种产品,例如家用电器,专门的工业控制器和嵌入式通信设备。对于CE平台的Windows,接触的不太多,所以自己也搞不太清楚都有什么版本。我现在所知道的手机相关的版本有:Smartphone 2002/2003,Pocket PC 2002/2003,Windows Mobile 5.0,也不太清楚它们都是基于Windows CE的什么版本,只知道Windows CE 4.0版(代号Talisker),又称Windows CE .NET,现在最新的版本是Windows CE 5.0。真是乱啊,不过不管如何,它们都是纯32位的


4种,是的,看上去还真是挺多的,但事实上大家都知道,前两种平台早已经退出了Windows的舞台。特别是Win32s,估计没有经历过DOS时代的朋友们听都没听说过(其实我也是),而Windows 9x系列也都已离我们远去,不在受它们东家的照顾,连最希望装机越方便越好的网吧也都换上了Windows XP

唉,总算是YY完了,现在发现,原来写点东西还真是痛苦啊。现在是越来越佩服李马同志了,先撇开技术价值不说,他那么多的文章光敲键盘都要敲很久啊。


做个引子:上面的Win32平台中,Windows CE还是纯UNICODE的。关于UNICODE的内容,各位看官,且听我下回分解

7月20日

蘇煙

我不是什么瘾君子,也不是什么烟草研究者,平时抽烟也只限于应酬的时候,准确的说我是一个彻头彻尾的末等烟民——烟、火全靠蹭。所以今天也更不是讲关于“蘇煙”的什么历史文化。看来写东西文不对题已成为我的独特风格啦,哈哈哈!
 
 
昨晚和James、migo还有其他一些朋友一起吃饭。席上James拿出他前几日去南京带回来的蘇煙”,第一次品味到如此名贵的烟,感觉非常不错,觉得比中华好,当然价格也比中华高嘛。
 
一位朋友还讲了一个蘇煙的笑话:
甲:唉,昨晚打麻将又输了个精光!
乙:是吗!你昨晚抽什么烟了?
甲:蘇煙喽!
乙:操!蘇煙,你不“输”才怪呢!
 
 
昨晚有些忙,等到家都快1点了。早上起来的晚了点,有点忙乱。没有坐公交,还是骑上了从女友同事家借的自行车。路上有点急,车链一直刮着外面的金属盖,发出很不爽的声音,一来气踹了金属盖一脚,以为能解决问题,结果,哇操——关键时刻,怎能掉链!离家已有一段距离,但到公司还远,进退两难这不。想先把车随便锁在路旁然后打di去公司,晚上回来再说,但又怕被偷,毕竟是借的车啊。算了,修吧。
 
阳光明媚,车水马龙。骑车的,坐电动车的上班族们从我身边刷刷而过,他们可能注意到了也可能没注意到:路旁有一个肥硕的家伙正扶着一辆支脚都坏了的自行车在修链子。不知道是因为天气太热还是因为怕迟到而紧张,不到5分钟的活儿竟已大汗淋漓啊!郁闷!时间还算可以,只是弄得两手黑黑,白色Semir体恤也被搞得一团黑,再次郁闷。不早了,继续赶路吧(咦,这话怎么像在拍电影),不然50大洋就没啦。废话少说,走~~~!
 
说是迟那是快,不知车速多少迈。只是忽然觉得脚下一空,不好,难道又掉链了?等下车低头一瞅,原来不是掉链啊,整个都断了!极度郁闷。正绝望之际,忽绝一熟悉身影从身旁飘过,发现一枚同事,还是骑车di。
 
同事帮我刷了卡,而自己则先去修车了。算是有惊无险吧,要不然就没这心情在这里YY了。这又让我想起上面的笑话——蘇煙,呵呵,以后还是慎着点吧(James不要误会,我可没有怪你的烟哦)。
 
7月17日

两本好书

我一直认为,一个人的第一份工作对他以后的择业生涯起到很大的影响。在威海实习的时候算我从事计算机软件开发的第一份工作。在那里从事的是邮箱服务器软件的开发,从此我也就迷上了这种开发模式,char *LPWSTRLPVOID……,虽然当初我还根本不知道何谓Win32编程。
 
可能是早期看过一些排斥MFC的文章,而后在威海又从事Win32编程模式的程序开发,所以我一直对MFC没有太大的好感,虽然我现在公司确确实实用MFC开发GUI程序,但也一直在寻找其他GUI程序开发的出路。终于我们那可爱的李马同志在前方指引着我们——ATL的GUI程序设计,为我们这些顽固的SDK簇拥者们带来一线曙光。哇操,扯远了!
 
 
前段时期在学习Charles Petzold的《Windows程序设计》(原著:《Programming Windows》(Fifth Edition)),全书分上、下册,可真是看死人啊,最终也算是呼呼悠悠地看完了。《Windows程序设计》(第5版)对于Windows程序员来说,“从 Chares 的《Window程序设计》一书中寻找答案。”几乎成了一句至理名言。而对于这位曾被《Windows Magazine》和Microsoft公司授予Windows Pioneer奖,以表彰他对 Microsoft Windows的成功做出贡献的Charles Petzold,我只能用一个字来评价他——牛!
 
大致看完《Windows程序设计》后我并开始了向另一位牛人Jeffrey Richter的《Windows核心编程》(原著:《Programming Applications for Microsoft Windows, Fourth Edition》)讨教。Richter是Windows编程界一位大师,大牛人,世界顶级技术作家。许多程序员非常喜欢读Richter的书,因为他的文字是写给专业人士看的,决不假装弱智,同时有相当体贴细致,非常符合程序员的习惯和胃口。《Windows核心编程》虽然同样是讲Win32 API,却几乎和Petzold Book没有任何重复。初级的内容完全略过不提,GUI部分也是一带而过,全书顷力与系统编程,一上来就讲Win32核心对象,从进程到线程,从DLL到SEH,从钩子到内存管理,可以说是不避艰险,迎难而上,将最复杂最微妙的细节完整展现出来,同时配备又大量精心准备的例子,代码质量非常高超。因此,这本书从问世之日起,就成为Win32系统编程方面的圣经,Jeffrey Richterr也成了Win32编程方面的绝对权威。想要学习Win32核心编程,不读这本书是无法想象的。 可以说没有Charles Petzold的《Windows程序设计》一书,你不好入门,但不读Jeffrey Richter的书,你就不能深入Windows编程。对于Jeffrey Richter还是那个字——牛!
7月6日

病毒 KB49400M.LOG EntAPI.dll

其实今天本想写点关于Windows方面的东西的,早上挤公交上班的路上还想来着。可到了公司一吃早饭人就犯懒了,再加上忙乱的工作,就给放下了。
 
看了看新闻,之后不知道进了什么网站,只知道窗口一阵的弹出来,不过还是我的手快一步,最终世界还是清静了。虽然都关了,但是还是有点担心会中毒,不过看看我那冷静的诺顿,也就不管它了。
 
说些题外话,其实我的电脑从来都是裸奔的,我压根就不相信那些杀毒软件,中毒了都是手动搞定。公司的机器也是如此。直到有一天真的中招了,而且费劲了九牛之力还是翘了!最终我ghost了。是的,对病毒来说,不管是ghost还是重装,的确是正中下怀,但是我多年来还是坚持裸奔的一个理由是:ghost比全面杀毒快!后来也因为自己搞不定还要ghost,在别人看来是浪费了工作时间,所以在主管的威逼之下才装了诺顿。
 
接着,开始了手头的工作,在.NET 2003里建了个测试MFC工程。咦,真是搞笑,在调试的时候Output窗口里面一直输出:诺顿是个SB诺顿是个SB诺顿是个SB…………。当时我还兴冲冲的跑去找migo
 
哇操,我的.NET里面既然在骂诺顿哦,难道是彩蛋!
乱讲,我才不信呢。
真的,没骗你,不信过来看看。
 
migo没来,我也觉得有点挺奇怪,怎么可能有这样的彩蛋。后来又用VC6建了个测试工程,一调试,情况依然如此:诺顿是个SB诺顿是个SB诺顿是个SB…………。大事不妙,我知道肯定是又中招了。
 
接着我就开始用诺顿杀,但是已经不报太大希望了,毕竟连“诺顿是个SB”都敢说,这个病毒不一般。结果的确是在意料之中。之后我卸了诺顿,还抱着侥幸的心理,想这个病毒是不是就是跟诺顿有仇呢。卸载后情况还是如此。之后又听主管的安装了McAfee,全面杀毒,还是一无所获。
 
残酷的事实让我更加坚定了杀毒软件都是没用的想法了。开始手动杀毒,但是看了msconfig里面启动项,没发现什么可疑的,看了regedit的相关项也是一无所获。Task Manager里面也没有什么可疑的进程。哇操,真是奇了怪了,病毒到底在何处?
 
继续调试测试工程,希望能在里面找到点蛛丝马迹。在output中发现程序load了一些可疑的dll,等所用dll都load后就开始输出“诺顿是个SB”的信息了。为了确定哪些dll是不应该load的,我就在自己的笔记本上建立了一个一样的工程,开始调试(现在我的笔记本一般放公司里学习其他东西所用,工作还是用公司的台式机的)。然后比对两个output里面的内容,发现台式机上多了如下的load信息:
 
…………
Loaded 'C:\WINDOWS\KB49400M.LOG', no matching symbolic information found.
Loaded 'C:\WINDOWS\system32\EntAPI.dll', no matching symbolic information found.
Loaded 'C:\WINDOWS\system32\psapi.dll', no matching symbolic information found.
Loaded 'C:\WINDOWS\system32\netapi32.dll', no matching symbolic information found.
Loaded 'C:\WINDOWS\system32\msvcrt.dll', no matching symbolic information found.
Loaded 'C:\WINDOWS\system32\apphelp.dll', no matching symbolic information found.
…………
 
哈哈,本文的主角终于出来了。我手动去del KB49400M.LOG,发现无法删除,还有就是那个EntAPI.dll,提示被其他程序占用。我想问题就出在这俩小子身上。接下来就是 Baidu知道 一下喽。里面的解决办法是:
 
请下载HijackThis工具运行后点击Do a system scan,勾选021项,点击FIX按钮,重启后删除该文件即可。
 
也没管那么多,已经浪费很多时间了,要是真的不行就ghost吧。按照里面的方法确实好使,现在世界终于又清静了。其实到现在我也无法确定 KB49400M.LOG和EntAPI.dll是不是一伙的,只知道前者是一个木马。而且也怪自己手太快,本想研究研究EntAPI.dll的,现在渣也没了。要是谁的机器上有了这小子,请告诉我一声哦,本人必当重金购买!
 
 本人联系方式:kongxincao@gmail.com
 
 
后记:
其实写了这篇日志后,已收到不少好心人的Email,讨论这个病毒的事情。从中我又知道一些关于这个病毒的情况:
1、这个*.LOG没有固定的名字,准确的我应该叫它:KB*****.LOG,特此更正。
2、这个KB*****.LOG和上面的EntAPI.dll不是一伙的。因为这些来信的朋友的机器上只有 .LOG文件但没有 EntAPI.dll文件。 
 
我现在已经有了这个LOG文件,不过现在工作太忙,还没有时间研究,需要的朋友可以Email告诉我。谢谢大家的帮助!
6月30日

面试 面试 面试

在MSN里跟啊水说起这个词的时候,他以为我跳槽了。不过这也难怪像他这种毕业不到一年,并且换了好几次工作的人会如此以为。但事实上这里我所提到的“面试”,我是考官!
 
其实老妖怪走了都快两个月了,直到他走的那天早上在填写离职报告的时候我才知道。走的很突然,也让我感到些许的伤感,很舍不得。原因很简单,他在我心里就是那么一个牛B十足的技术牛人。特别当migo转入MRabo手机开发组之后,我在Rabo开发方面遇到的问题都是在老妖怪的帮助下解决的,甚至可以说我对老妖怪已经产生了依赖心理。
 
“真的要走了!”
“是啊。我都30了,也要考虑以后定居的问题了。”
“去哪里呢?”
“可能回武汉吧,在杭州房子太贵了。”
“真的好舍不得你啊!”
“呵呵,人生无不散的宴席。以后Rabo的事情,你要更努力些了,都要靠自己了”
………………
………………
………………
 
无独有偶。花花在半个月前也离开了,现在整个Rabo项目就剩我一个人做开发了。光光还曾开玩笑道:你现在可真是名副其实的光杆司令啦!
 
这半个月来公司也一直在招人,和经理一起面试了不少应聘的,大都是应届生。其实影响最深的并是一个刚刚毕业的计算机专业女生。从简历上能看出她学习非常优秀,每年都能获得奖学金的,但是面试的结果却是让人无比失望。从中也深深体会到一个道理:中国的软件教育已经不是和IT产业脱轨了,而是根本就对不上轨啊!
 
面试中还遇到一个有意思的,就是28晚上那次。应聘者还是在职员工,所以他只能等下班后过来。那天就等到7点多。看了经理拿来简历,觉得应该也是一个牛人,因为他也30岁了!事实也是如此,面试的时候我都不知道该问他什么,一道下来都是经理在提问。时候我还和别人开玩笑说:“他妈的,那个应聘的小子都30岁了!真是搞笑,别人面试招小弟,我他妈的面试招了一个老大!哈哈哈哈!”
 
6月27日

谢谢大家

谢谢你们!不用担心,我一切都会好的,其实已经好得差不多了。过去的就让它过去,忘不了的就他妈的忘不了吧,能鸡巴乍地。
 
其实我算是想明白了,发生这么多狗屁的事情都是我太闲了,太没事做才这样的。上周我又开始看我的《Windows核心编程》,结果一个周就很快过去了,也没有那么多烦心事了。其实昨晚我又梦到王剑了,虽然醒来后还是很失落,很心酸,但在公司一忙起来就什么都忘记了。所以啊以后就是要让自己忙起来,充实些。
 
还是那句话:过去的就让它过去,忘不了的就他妈的忘不了吧,能鸡巴乍地。
 
好好学习,天天向上!
6月7日

该整理整理了

我们又在一起了。
 
经过这近两个月的时间,想了很多,也发生了很多,也懂得了很多。该好好整理整理了,把这段时期里所发生的、所想的、所做的都写出来。
 
慢慢来,还在整理中。