Dandy's profile珠穆朗玛PhotosBlogLists Tools Help

Dandy

Occupation
Interests
上世纪七十年代中期生人,九十年代末期参加工作,人称老汉,又名 Dandy,Everest,Sluttery。

生命不息,编码不止

珠穆朗玛

看前面,黑洞洞
7/1/2009

杂记

1、上周六,看了《变形金刚 2》,华星的屏幕果然够大,看得有点晕。
2、周日,去了一趟新东方,人真不少。
3、周一,看了《catch me if you can》,感觉一般。
4、周二,说了一大堆话,就是听的人不见得明白。
5、周三,开了个好几小时的会。
6、上个月的 26 号凌晨,做了一个梦,比较清晰,彩色的,特此记录,以后补上详细情节。

6/27/2009

老汉减肥

老汉腰围益粗,遂立志减肥。公司实行六天工作制配合之。

第一月,无甚效果;
第二月,效果初显,数女士惊叹不已,皆欲私探秘方而仿效;
第三月,老汉意犹未尽,六天工作制被罢。

靠。

6/25/2009

S60 的 Skin,一团糟

你见过这么傻的 SDK 接口么?我要在手机竖屏的时候取横屏时的布局信息,返回的结果是错误的。

错误的结果还分两类,一类是可以返回信息,而且不报错,但是数据是不正确的,这个结果我已经找到原因了,因为 S60 在横屏和竖屏这两种状态下,某些并不一致的界面元素采用了相同的 ID 值(例如竖屏下的 EStatusPaneTop 和横屏下的 EStatusPane);另一类是根本返回不了信息,原因很简单,这些元素在当前屏幕状态下不存在(例如竖屏时的 EStatusPaneBottom)。

6/24/2009

篡改

作为篡改名人名言唐诗宋词今古牛文的业余选手,老汉今天突然想起一联妙文:妻嫌夫祸少,子笑父心宽。真不知道什么样的人家能配上这样的佳句……

6/22/2009

再谈 Symbian 的资源文件

Symbian 的资源文件很有趣,可能还是为了节省空间的原因,编译后的 RSC 文件里只有每个资源的内容,却没有类型。也就是说,你只能看到一个一个的块,而不知道这个东西实际上是表示什么。而且,还有压缩……

6/17/2009

又记

看完了《粉墨春秋汪精卫》,又有好些已经在思维中定型很久的人物,汪精卫、陈公博、周佛海、陈璧君、李士群,甚至蒋介石、戴笠、杜月笙,对他们的看法发生了变化,更生动,更有血肉,不至于像之前那样认为的简直如同白痴,会大瞪着两眼做出那种无耻的事情来。

顺便说一下,团结出版社的这个高阳系列的书,印刷是相当的棒,纸张、校对都很不错,虽然也有错别字,但极少,整个上下两册,大概还在个位数,比起华夏出版社和三联出版社的高阳作品系列,实在好得太多。大力给何首乌老师推荐,结果那个老家伙嫌字小,哈哈,让他郁闷去吧。我是淘全了,目前正在进行《北宋名将曹彬》。

六天工作制果然不同凡响,我老人家有时候精神不能集中,可能开始有些犯迷糊了……。最近没怎么看电影,也和时间紧张有关系,一部《革命之路》,两个小时,让我分成了上下集,昨晚看了一半,一会儿看剩下的一半。

中午吃完饭照例遛弯,和三火同学两个人,在小公园的栅栏边,一棵歪脖子的半老树上,捉住了一只 —— 蝉。据三火说,这只长得很丑,而且不大,作为一个雄性生物,应该算是比较失败的。把它拿回了办公室,装在了一只原来放喜糖的红色纱袋里,我们都很想让他能在办公室里鸣唱,不过没能如愿。整整一个下午,偶尔才有气无力地叫一声,不知道能不能捱到明天。

老婆让我从网上给兜太郎买个大些的水壶,原来的太小,出门的时候灌满也不够他喝得了。没想到她的第一网购经历比较坎坷,虽然卖家同城,可也等了好几天,因为人家店里正好没有她挑中的那个颜色的了。兜儿子拿到后很高兴,据说今天的饮水摄入量大涨。

有个兄弟从围城中脱离出来了,还有一个姐妹在挣扎。

6/13/2009

再记

上地南口的西边,现在是华联商厦了。顶层挂了很久的宣传横幅,撤了下来,竟然真的就开业了,是我老人家等了多时的汉拿山。

昨天晚上打着庆生的旗号去的,人很多,需要排队,排队的时候有免费的酸梅汤喝,还有西瓜吃,味道都不错。一共俩人,也就没敢多点,五花肉和牛腱肉,紫菜包饭和酸菜饼,还赠送有一份驴打滚儿一样的粘糕。还有什么来着?好像记不太清楚了。价钱可也真不错,一百六,幸亏打七折,哈哈,还能接受。火烤得热,满脸汗,又想起了没进门时候的酸梅汤,再一问,服务员说,人多,喝没了。

家里的网络又有些不正常,前天就有苗头,今天早上又有同样的现象。我要访问的一些网站,页面会变成歌华有线的服务到期提示,可老子明明用的是网通的 ADSL 啊!打 10060,客服转到了技服,技服一个磨磨唧唧的小伙子,说了半天啥也不知道,说是网站有问题,我说那些网站疯了吗,都把自己的页面换成歌华的催费页?他又让我重新安装浏览器,唉,听到这个终极解决方案,我就知道再说也是浪费电话费了,郁闷。

现在怀疑,老婆上的视频网站上会不会给我带下来了些什么不干净的东西,晚上回去彻查。

6/12/2009

稀里糊涂

稀里糊涂就到了这把岁数,正应了一句成语:不三不四。前两天大姐打来电话,不胜感概,连她这个最小的弟弟都三十几了,可见光阴似箭日月如梭不是一句空话。可不么,连兜太郎都一岁半多了呢。

其实人的一生,从根源上起,就是稀里糊涂。稀里糊涂就出生了,一点都没有征求自己个儿的同意,一点都不民主。接下来的几年可能糊涂的地方就更多,稀里糊涂吃喝拉撒,稀里糊涂摸爬滚跌,稀里糊涂连说带比划,稀里糊涂,发现竟然要上学了,顿时失去了玩乐自由,人生的桎梏从此如影随形。这方面的总结,我对两个人的话有印象,一个是《编辑部的故事》里头,李东宝说过的,一个是马三立告别舞台演出的那个小段儿。

少不更事的时候总想把什么都整明白,现在有的时候却更能想起郑板桥的“难得糊涂”,真是天凉好个秋。

6/11/2009

杂写

1、花毛生活。最近的天气都还不错,虽然温度有时候挺高,但下的那点雨也挺有作用,要不然怕热的老汉骑着咯噔恐怕就不免要中暑。现在基本上恢复了老西儿的习惯,午晚各一次面条,感觉相当棒。当然也间或调剂一下,晚上要是回去的太晚了,或者老婆大人忽然失去了决定做什么饭的灵感,就去门口的高乐高高档餐厅去用膳。高乐高就在小区的对面,在马路上摆着三四张白色的塑料桌子,每张桌子周围摆放着三四张白色的塑料椅子,看上去相当赏心悦目。新雨过后,空气清新而凉爽,在桌子边坐定,看着周边食客在吹侃,或者服务员女娃子在忙碌,甚至那只慵懒的流浪狗不知疲倦的踱来踱去,感觉一下子抛开了可恶的代码、可恶的项目,心情就会好起来些。照例是煮的花生毛豆各一盘,扎啤一杯,炒饼一盘分而食之。仿佛这是多年来的积习,只不过仅在夏秋两季体现。老婆喜欢发明新词,花生和毛豆被她简称为花毛,于是我就把这样惬意的生活称之为花毛生活。

2、兜太郎。兜太郎的本领又大了起来,可以叫爸爸妈妈爷爷奶奶姐姐妹妹姥姥阿姨,看到路边的老头老太太绝不放过,一口一个爷爷奶奶,乐得他们脸上开花。和汽车有了不解之缘,家里大大小小的汽车玩具不下三十,还要看网上的儿歌里面的“车车”。有好几个早晨都早早地去拍我的门,我和老婆很自然地学会了“The wheels on the bus go round and round...”,不想开电脑的时候就唱给他听,兜太郎高兴得手舞足蹈,小脑瓜左一歪右一歪。院子里有两个兜太郎的玩伴,得了手足口病,兜妈有些担心,好在这么多天过去了,没什么事。据兜妈的最新线报,兜太郎今天下午摔了一跤,嘴唇破了。兜太郎胆子很小,听到什么大一点的声音,或者长得奇特的东西,都会说“怕怕”;却不怕人,别的小朋友,不管多大,只要他觉得有威胁,立刻动手或者上脚,甚为蛮横,不知何故。

3、心情。近来心情比较烦躁,原因不明,可能是多方面综合导致。宁宁小朋友听我说出这个不幸的事实的时候都不敢相信,直到我请她喝了一杯咖啡之后才勉强接受。老婆很好,非常好,善解人意,因此上总体还没有出什么问题。嗯,还需要修炼养气的功夫。最近了解了些曾国藩的事迹,景仰之。

4、忙。忙得出奇,因为有个古怪的项目在进行……

6/4/2009

无题之五

总是有一些有“良知”的人的,他们用一种特别的方式来提醒我们这个特别的日子……

无题之四

我吃故我在!

记事

前天和大前天出了一趟恶差。大清早出门赶飞机,到地方就吃工作餐然后开工,晚上八点多出去吃工作餐,回来接着干,凌晨好歹进了被窝。第二天一整天和客户紧张沟通,明争暗斗,晚上飞回北京,到家快十二点了……

那也没去、啥也没看。深圳和九年前大不一样了,连我当年比较熟悉的白石洲,也分辨不出什么了。某女推荐我吃所谓的肠粉也没能如愿。儿童节也没能给兜太郎买什么礼物,唉。

出差的结果就是背了一个项目回来,时间紧张,任务艰繁……

刚才行政的女娃子过来了,告诉我生日快乐,本来要给我一个大蛋糕的,不过我们房间有另外一个人也是六月份生日,我可以和同屋的这个分享她的,所以就把我的那个挪给其他房间了……,老汉震惊当场,到现在还没有反应过来这是什么样的因果关系。

5/31/2009

无题之三

致远病吟:夕阳西下,断肠人在害牙……

无题之二

武穆遗书:待重头收拾旧饭盒,成天刷!
5/30/2009

无题

苏子曰:莫听竹林打叶声,何妨淫笑且徐行……

5/23/2009

吃面新境界

天热得厉害,出去就不想走。中午有冤大头要请客,被我遇上了,所以稀里糊涂做了陪客。我现在的午餐几乎全是面条,可能上辈子小麦和我结了仇。君顺都觉得有些远了,更别说渝乡了,于是说好到楚湘阁。这个地方好像没有炸酱面和担担面,盘算好主意,就吃它的鸡丝油面。结果走到迪亚天天,主客二人又改了注意,要吃火锅。我是陪客当然没有决定权,只好顺从。心里想,看来只能吃火锅店里的杂面了……

最近各种设备状况迭出。家里的 Netgear 无线路由器可能到了垂暮之年(不过好像也才两三年),一接通电源就会发出高频的噪音,打电话到售后,接电话的小姐听不懂什么叫高频音。最后算是知道了我的设备有问题,很抱歉、很遗憾地和我说我们也没有办法,你最好换一台新的,或者以新品的七折价格换一台”良品“。新的才二百多,我花一百四买个良品回来的话,肯定是脑子里进了水。我的脑子进水了么?没有。所以我不会花一百四买它……。

T61 的电源适配器也”嗤嗤“地响,尽管声音不大,不过夜深了也还是很清楚,网上搜了下,好像没治。只能把插座关掉(从插座上拔插头下来要费很大的劲),奇怪的是,关掉插座之后将近一分钟的时间里,它还响,而且本本的外接电源灯也亮着。

然后是给同事买的手机出了问题,开不了机,屏幕上啥也没有。只好联系厂商,看能不能换。后面的一个单子则直接被拒绝了,说是我的这个型号的机子买的太多了些,可是已经把我的钱划走了,不知道会不会退回来……

领导发现了一款新软件,叫航海桌面。装上一看,还可以,用着用着就有问题了,连 *#06# 都失效了,唉。不过有个好处,通过它我终于证实了 360 听在桌面上的小窗口的半透明效果是用先截图后绘制做的,而不是真正的半透明窗口。

5/21/2009

NOKIA

NOKIA 对员工们说:你们决不能买起亚汽车,我们的口号是 NO KIA!

5/20/2009

墙。顺便答复一位兄弟

原来年轻,老喜欢看墙外的风景,就时不时地翻翻墙玩儿。

不过在我们管理者的呵护下,像无界这样的危险的翻墙工具都经常会被盾,使用上已经不是很流畅。而且后来,这些工具也开始搞价值观的评价,比如你要去少儿不宜的网站,丫就敢给你断掉,反倒是希望你去搞搞意识形态方面的学习。但这又和老汉的喜好大相径庭,所以就懒了。

再往后,就觉得墙里墙外一球样。比如说在 cnBeta 上,经常有人会发一些很独到的关键字,要么适用于 google,要么适用于 baidu,政府不想让咱们看的,只要你愿意,总能看到。反正就那么回事,看多了都挺没劲,就更无什么可以留恋的了。

今天要不是瓶子提起,都想不起无界了。找了一个,发现还真能下载 BlackBerry 的那个鸟开发工具。可惜得很,善始没能善终,中间断了。究其原因,只能怨这块华硕主板的板载网卡(或者驱动)太烂,一用 HTTPS 就会断网,禁用重启才行,而且还必须先把 HTTPS 的应用关掉。因为这个事情,我还一度大骂 TortoiseSVN 做的太烂,后来才发现真相……

牛 X 的 RIM

头儿安排了个活儿,要调研 BlackBerry 上的东西,第一反应就是应该搭个开发环境,头儿说了,没有设备,要正式立项才买,立项之前先调研一下……

在 blackberry.com 上填了个表格,结果提交之后下载页面出了这么个报告信息:

We're Sorry...

  • We apologize but your IP comes from a country which does not permit downloading of our software. For further information or assistance, please contact webmaster@rim.com.

娘西匹的,还得想别的辙儿……

5/15/2009

Symbian 上的资源文件问题

一、开始
不得不说,老汉是个不太安分的人,经常会做一些系统/平台不太推荐的事情。前一段时间在测试一个不使用 Symbian SDK 推荐的框架的最简化的 GUI 程序。在 EXE 里创建一个 RWindow 来显示内容并接收事件,我曾经在很久之前就写过,这次的需求略有不同,要能够在其中正常使用 CCoeControl 派生出来的控件(网上有一篇这方面的资料传播最为广泛:http://www.pushl.com/developers/exectrl.html。很不幸的是,其中有些只能用于 S60 第二版,例如涉及到的 CCoeAppUiSimple 这个类)。经过一些挫折后,总算是在模拟器里可以工作了,于是就想到真机上试试。

二、图标失效事件
要想让手机在应用程序中把程序显示出来,熟悉的开发人员都知道,需要有一个 xxx_reg.rss 资源文件。老汉在这里犯了一个很大的错误,过程是这样的。我的工程在最开始的时候,风格更接近于第二版的程序,几乎在所有的文件名种都没有 UID3 信息,中途为了更加符合三版的惯例,就修改了一次,把 UID3 加上了。最后把 SISX 部署到手机上之后发生了一个很奇怪的现象:在系统的九宫格里点击图标,不能启动程序,但是用调试器远程调试却又正常!这个问题困扰了我三四天,最终才发现竟然是忘记把 xxx_reg.rss 中 APP_REGISTRATION_INFO 结构里的 app_file 域中的可执行文件名相应地增加 UID3 而导致的。这个域很有意思,它必须与可执行文件的文件名匹配,但绝对不能写上扩展名!正是因为后面的这个限制,导致我在修改工程时误认为这个域仅仅是个描述性的文字,从而保留未动(没有附加上 UID3)!

三、显示名称事件
经过上面的修正,图标终于可以正常把我的程序启动起来了,不过另一件事情使得我的程序看起来很丑陋。图标下的文字是可执行文件名,而且毫不惊讶地,带着那个难看的 UID3!接下来的改进使我困惑:如果你想定制伴随图标显示的文字,正规的做法不是把这一信息也在 xxx_reg.rss 里指定,而是在 xxx.rss 资源文件里(一个 LOCALISABLE_APP_INFO 结构)!在 xxx_reg.rss 仅有一个链接性的信息,用 APP_REGISTRATION_INFO 结构中的两个域来描述,一个是 xxx.rss 编译后的资源文件名的 localisable_resource_file,一个是在该资源文件中包含了这一显示文字信息的结构的 ID 的 localisable_resource_id。难道我为了一个加起来不到 100 行代码的程序,竟然非要写两个 rss 文件出来?

经过仔细考察,我决定让 localisable_resource_file 指向 xxx_reg.rss 对应生成的资源文件自身。这下来了一个问题:正常的情况下,xxx.rss 在 xxx_reg.rss 之前被编译,会生成一个 rsg 文件,其中包含有 xxx.rss 中的所有资源结构所对应的 ID。这个 rsg 文件被 xxx_reg.rss 所引用,从而才可以给 localisable_resource_id 指定一个正确的值。但是现在不行了。如果我把 LOCALISABLE_APP_INFO 结构挪到 xxx_reg.rss 中来的话,那么我将无从知道资源编译器会把它的 ID 列为多少,也就无法给 localisable_resource_id 赋值。

当然,这样的困恼难不住老汉。我最终的做法是,先随便给 localisable_resource_id 写了一个数值,然后编译 xxx_reg.rss,然后找到它所生成的对应的 rsg 文件(也生成在 SDK 的 include 目录里),打开来看 LOCALISABLE_APP_INFO 的 ID 究竟成了几,然后把这个正确的数字更新到 localisable_resource_id 里,再次编译。这样就达到了一个资源文件即可满足系统所需信息的目的。

四、资源 ID 的戏法
在上面的过程中,有一件事情引起了我的注意。那些通常被我们定义时以 r_ 开头的名字命名的资源,与我们使用时所引用的对应的大写名称(其实是一个取值为数字的宏定义),究竟资源编译器是怎么生成对应关系的?

我对上面步骤所产生的 xxx_reg.rsg 文件进行了观察,看到 r_localisable_app_info(类型为 LOCALISABLE_APP_INFO)所对应的 ID(即 R_LOCALISABLE_APP_INFO)的值被定义为了 2。这不由得让我初步断定,这个值是根据 rss 文件中的 RESOURCE 定义顺序自增生成的,而且不管这个资源是否被命名了。在上例中,未命名的 APP_REGISTRATION_INFO 资源应该是占用了 1 这个 ID。带着这个结论去查看其他工程里的 rsg,得到了一个确认,一个疑惑。确认的是,ID 确实是按照前述顺序规则排列,疑惑是,这个顺序值仅占一个十六进制 DWORD 的后三位,前五位则各个 rsg 相异,不过在同一个 rsg 中总是相同的。这让我想起文档中提到的 rss 中 NAME 语句的定义不能冲突的问题,几乎可以认定这个前缀数值和 NAME 的定义值有关,但是一时找不到规律。

我写了一个批处理,来自动生成 NAME 名为 AAAA 到 AAAZ 的资源文件,并自动编译生成了对应的 rsg,可以看出前缀数值与名字一样,是一起增长的,然而准确规律依然未曾显现。不得已去 Symbian SDK 中搜索,找到了 ID 的顺序排列以及前缀数值由 NAME 变换而来的官方说法,不过并未提及变换算法。真正有价值的收获在于一个单词,offset,这是 SDK 文档中对我们前面的“前缀数值”的称谓。以此单词作为关键字到 google 上搜索,终于找到了答案,下面是经过我少些修改的变换算法代码,此工作至此告一段落。

long IdFromName(const char* name)
{
/// REF: https://svn.symbianos.org/rcomp/trunk/src/rcomp.y

// space 0
// A 1
// B 2
// ...
// Z 26
//
// ABCD corresponds to the number 4321 which becomes ( (4*27 + 3) * 27 + 2) * 27 + 1.

int length = 0;
if(name)
length = strlen(name);
if(length > 4 || length <= 0)
return -1;

long new_id = 0;
for(long i=0; i<length; i++)
{
new_id *= 27;
if(isalpha(name[i]))
new_id += toupper(name[i]) - 'A' + 1;
}

long curr_id = new_id << 12;
printf("Name=%s, Id offset=0x%08X(%d)\n", name, curr_id);

return curr_id;
}

为了日后便于追索,把上面提到的批处理的内容也列出来(symres.bat):

@echo off
setlocal ENABLEDELAYEDEXPANSION

if exist rcomp.exe goto begin
echo rcomp.exe missed.
goto quit

:begin
set uppercase=ABCDEFGHIJKLMNOPQRSTUVWXYZ
set lowercase=abcdefghijklmnopqrstuvwxyz

set prefixu=AAB
set prefixl=aaB

set counter=0

:combine
set suffixu=%uppercase:~0,1%
set suffixl=%lowercase:~0,1%

if "%suffixu%"=="" goto quit

echo %suffixu%
rem pause

set uppercase=%uppercase:~1%
set lowercase=%lowercase:~1%

rem Do our real work here
set stringu=%prefixu%%suffixu%
set stringl=%prefixl%%suffixl%

echo NAME %stringu% > r.rss
echo STRUCT TBUF >> r.rss
echo { >> r.rss
echo LTEXT buf; >> r.rss
echo } >> r.rss
rem echo . >> r.rss
echo RESOURCE TBUF %stringl% >> r.rss
echo { >> r.rss
echo buf = ""; >> r.rss
echo } >> r.rss

rcomp.exe -hr.rsg -sr.rss
type r.rsg >> list.rsg

if not "%suffixu%"=="Z" goto combine

:quit
if exist r.rss del r.rss
if exist r.rsg del r.rsg

5/14/2009

伪正版卫道士

老汉假装正版卫道士有一阵子了,当然是有所选择的。尽管 Notepad 之类的程序可以用免费或者开源的来代替,但是 Visual Studio 就免了。Office 嘛,正在部分转向 WPS。等到 WPS 把 Visio、Project、Outlook 这几个功能做完(OneNote 也不指望它),在考虑全部转移阵地,好像可能性不太大。

WPS 最近出了个什么 20 周年纪念版,在家里很快就升级成功了,在单位就死活不行,升级程序提示“正在分析……”,分析半天之后的结果就是悄悄地失踪,不知道为什么。

说句实话,看到“周年”的字样,我往往是先想起一些不祥的事情。20 周年,总感觉像是已经挂了 20 年了似的……

5/13/2009

随便说说

1、看《珠帘玉座》,有一章写到晚清的一件奇事,两江总督马新贻在任离奇被刺。高阳叙述街谈巷议中有关此事的始末缘由,通体不过两页纸,老汉却觉得似曾相识,略作思索才发现好像就是电影《投名状》的套路情节,网上搜索,果然如此。

2、昨晚两大收获,第一是知道了簋街竟然也就是东直门内大街,原来也走过几回,从来不看路标的。第二是尝到了还能落胃的炒肝,在鼓楼边上的姚记,顺便还弄了一碗卤煮。炒肝是第二回吃,第一回是和口天某化十同学在庆丰包子铺吃的,那个难吃就别提了,差点让我将之归类于豆汁之况。昨晚去吃,开始其实还是有一定的心理阴影的。临行前特意咨询了老北京李三火,他根据素日和我共餐的情况总结出了我的口味偏好,认定我会喜欢,在一定程度上缓解了我的顾虑。没有敢于尝试豆汁和焦圈这一黄金组合,等下回心情大好经得起考验的时候再去吧。从城铁站出来已经十点半了,悠悠闲闲往回走(用我贤妻的话讲,刚发了工资就撂挑子,哈哈),把我的不是山寨的 E66 打开,放着听了无数遍的 After 7,路过偶遇的几个路人或者保安,再看看星空,突然感觉无比的轻松。

3、最近又有无数恶搞的事情,口天某化十喝着可乐说:外来的和尚会念经啊。深以为然。还有一些缘木求鱼的举措,就不再罗嗦了。

4、手里拿了个 N97,想体验一下。据说这是 Nokia 今年的“旗舰”产品。想放个 SIM 卡进去,半天不知道该怎么开后盖,琢磨了一刻钟,最后还是用暴力打开了,唉,一点技术含量都没有。那个放 SIM 卡的小抽屉很难用的说。在开机的状态下不能用数据线充电,必须关机才可以,当然对于 Nokia 来说可能已经是很大的进步了,因为 N97 的前辈 5800 据说关机状态下也不见得可以充。触摸敏感度似乎好于 5800,不过对于非选中状态的条目进行操作还是需要双击(因为第一次点击必须履行“选中”这道手续),这是从 7710 时代就遗留下来的“财富”,不是一般的水。这个手机还有个弱智的设置,锁定和解锁屏幕键盘有一个单独的开关硬键,而电源键依然保持着其一贯的作用,和 Windows Mobile 手机使用电源键长按短按来区分关屏还是关机的设计思路相比,相差真不可以道里计。手机的源头袁姑娘说了:“特别 2 的手机。过过新鲜劲就行了”。

5、貌似今天晚上又有喝酒的差事,这个约好像已经拖了两个礼拜了。周六也有。

5/9/2009

诡异的 Carbide.c++ 和 RVCT 组合

之前就曾经出现过这个问题,在 Carbide.c++ 中用 ARMv5 编译一个项目时,老是报告 RVCT0_0\RVCT0_0.h 找不到。
按照我的理解,应该是 Carbide.c++ 在环境变量里找不到 RVCT 的版本信息了,否则就不会出现 0_0,而是能直接找到对应的 2_2(或者 2_1)。可是 Workspace 里的另一个工程却又能正常编译,真的无法用常理解释。

Symbian 编译的诡异问题出得多了之后,我找到一个成功概率极其高的解决办法:把 SDK 的 epoc32 目录下的 BUILD 目录整个删除,然后再编译,十有八九可以搞定。

5/8/2009

随写

同事说了,我的博客写的都是技术有关的东西,可观赏性不高,想想还真是,于是给他推荐看我二零零四年的博客。他看没看我不知道,我自己倒是翻了翻,发现仍然不脱技术,无语。

最近天气热,记忆里往年刚过五一,都没有这么热过的。早上从地铁站到公司,走路七八分钟,就热的大汗淋漓。好在办公室的空调经过一个礼拜的磨合,总算是工作正常有章可循了,即使能把冷气吹出来。可心里又不免嘀咕会不会感冒,要是被隔离可就不划算了。中午吃饭成了最大的头疼事,米饭是想起来就胃口不佳,几乎连回锅肉都不能刺激我的食欲了。这些天一直在和面条较劲,要是君顺呢,那就吃炸酱面,要是渝乡呢,那就吃担担面。君顺的炸酱面还不错,虽说炸酱齁了点,不过菜码儿不少,可以少搁炸酱,多吃蔬菜。照例不吃豆芽,免费赠送给污七八糟双煞中的“污”,他也照例用陕西腔说三克油。污七组合是我老人家的发现,一个姓邬,一个姓戚,天作之合,所以:“这事儿可不赖我”。席间还有一君,王姓,最近正在作“善人”,不过我一直没弄明白是“善”还是“骟”,大概是后者。还好,即使是骟人,恐怕也是职业,并不是自身状况的真实写照而等同于“阉人”者。说起阉人,就又有闲话可说。据说阉人又可以叫“巨珰”,我一直怀疑是“巨裆”,反正前人的语文都好,而且善于使用这种曲笔,用“巨裆”来形容“下面没有了”的,个人认为相当具有把玩的意趣。

扯远了,把品位往上抬抬,回到嘴上的“品味”来,接着说渝乡的担担面。原来吃担担面,通常很辣,渝乡的要好得多,当然也许和打了招呼有关,反正我能吃一大碗。前两天一不小心,点得时候没说清,结果只上来一小碗,于是下午在半饥饿状态中度过。今天当然记住了教训,直接点明“一大碗”。王善人有样学样,也来了一份。其他几个孩子在这儿没搞清状况,各自叫了一碗鸡丝凉面。这两种面的其他差异我当时还不知道,只知道鸡丝凉面 12 一份,而担担面即使是“大碗”,也才 6 块。王善人唯恐一会儿结帐的时候消费与人均水平相去悬殊,就撺掇着和我又都加了一碗。这下就庶几等量齐观了,呼哧呼哧吃得不亦乐乎。不过由于是后加的两碗,中间着实等了好长一阵,正好有个娃儿的鸡丝凉面因为放了糖不合胃口已经停箸,王善人饥不择食,就直接帮她完成任务了。从饭店出来,王善人首倡遛弯,用以消化食儿。

吃面的中坚力量,除了王善人之外,还有一吴善人,今天有事不在,在 RTX 上自豪地宣称“有人请客”,赴宴去了。说“有人请客”是他一贯嚣张的表现之一,这个礼拜已经是第二回了。吴善人昨天还号称要去吃另一个地儿的凉面,当我们坐定之后却又跟了来,据说是因为人太多,排队要排好长时间。不过吃凉面的信念一点也不影响他吃米饭的劲头,上来就把别人放着的第二碗米饭给干光了。

吴善人是苹果的粉丝,不但有 iPhone,还有 MacBook Pro,最近把内存从 2G 换到了 4G,除了偶尔死机外好像还没什么问题。王善人在他的带动下拥有一样的装备,老汉就差了点,除了笔记本也还仅仅是苹果的新近用户外,别的就没什么了,要是公司能补助个三五千,倒是也可以考虑买个 iPhone 装一装。老汉的当然也从 2G 升到了 4G,不过运气稍好些,没有死机过,昨天晚上给吴善人网上划账,网银的验证码竟然和要拨出的账款一模一样,实在是巧。

昨晚晚上下班,照例开车带着周四女郎回家,混了一串烤鱿鱼吃。看着她婷婷袅袅往小吃街里溜达,我不禁感慨万千,等她出来以后和她说:要不是因为认识,从后面看还真是一美女!

5/3/2009

Mac OS X 装机经历

Mac OS X 好归好,却不是只有一个操作系统就能让你开始新的工作和生活的。比如说,作为一个中国人,无论你在和别人说话的时候往中间夹带多少英语单词,你总归还是会要和汉字打交道,在 Mac OS X 上,中文输入就是需要过得头一关。在这个领域,恐怕你没有别的选择,只能使用 FIT,这个全名叫做 Fun Input Toy 的家伙想必造福了很多人。

网上冲浪也是必不可少的,如果你能忍受了 Safari 那种奇怪的窗口大小的变化艺术,我只能对你景仰,而我还是要继续安装我的 Firefox。至少可以最大化窗口。还有更重要的一点,Firefox 下的 DownThemAll 是我喜欢的下载管理器,在 Mac 上,其他的下载器我虽然还没有使用过,不过听起来要么是需要破解或者寻找序列号,要么是用起来感觉一般。

下载回来的东西,说实话,从体积上来讲,大概有 80% 是音频或者视频,QuickTime 仍然不是我的首选,所以我又使用上了 VLC,效果很棒。

即时通讯也是现在所离不开的工具了,Mac 上的翘楚当属 Adium,可以兼容好多的 IM 协议,甚至最近还有人出了支持飞信的插件。

接下来要访问你之前已有的外设了,下载回来的文件总是要给别人分想的吧?可是你有可能会很沮丧地发现,Leopard 不能往你之前的移动硬盘上写东西!通常这都是由于这些磁盘的分区格式是 NTFS 而引起的,所以,不要再犹豫了,下载安装个 NTFS-3G 试试!

免费餐告一段落,有的工作就必须使用收费的东东搞定了。套用一句何炸麻院士的话,既然咱不幸生在中国,那就只好行使一下可以使用盗版的权力吧,怎么也好过贪污受贿。

首当其冲的是光盘刻录,装了个 Toast Titanium 10,界面很漂亮,不过还没有刻过盘,呵呵。接下来就是虚拟机程序了,尽管 VirtualBox 也能用,不过我还是选择了 VMWare Fusion,比较放心。最后是一个还没有找到序列号的软件,用来代替 Finder 的,叫做 PathFinder,使用觉得确实比 Finder 要好。

现在还缺办公软件,正在犹豫,是安装 Microsoft Office 2008 呢,还是就在虚拟机里用原来的呢?这是个问题。顺边说一下,我是用 VMWare 的 vConverter 把我的台式机转换成虚拟机的,没想到一切顺利的不得了,很好。

 
Photo 1 of 1

Windows Media Player