All Stories

木马机,电子书

木马机,电子书

  有个同事,平时看我在公司里用手机连公司的WIFI,很是眼热,一直问我怎么用。我就告诉他,要装个ProxyDroid,而且手机得root先。这样持续了将近1个月,今天他突然跑过来对我说,都怪你都怪你,现在我的手机刷得只剩下闹钟了。原来他的HTC G12昨天被他用什么一键root软件强行root,结果不能启动WIFI了。于是今天中午和另一个同事一直在OF外面折腾这手机,希望能恢复WIFI。结果还是没有什么进展,而且最后从网上看到,似乎他的G12是所谓的木马机,笑死了。   今天看到,豆瓣推出阅读器了,除了Web版和iPad版,毫不意外地有Kindle递送服务。说起Kindle,之前有一段时间我非常想买一个电子书,当时只考虑了1000出头的Kindle3和500左右的Bambook,不过好在每当一有这种强烈的购买欲望时,都有一股理性的声音说,你不是个爱看书的人!然后就拖到现在也没有买。自从上次去上海图书馆,亲自把玩了一会儿Bambook,非常庆幸自己没有一时冲动买了这么个设备,这页面切换的速度太慢了,效果太难看了,版式也很丑,啧啧!不知道Kindle到底怎么样,得找个地方也亲身去体验一下,才能决定到底能不能符合我的要求啊。

打印设置bug几乎搞定

打印设置bug几乎搞定

  把Charles Petzold的关于打印的那章代码拿来都试了一遍,发现PopPad工程里的过程就是我想要看的。对比了一下代码,沮丧地发现貌似两者只有获取到DC的方法不同,PopPad里是PrintDlg返回的,而bug里的代码是通过CreateDC创建的。但之后也发现了,这个代码很奇怪啊,不但有CreateDC,还有CreateIC,经过调试发现,大部分时候都是在调用CreateIC的,这让我纠结了好一会儿,想不明白为什么要调用CreateIC,MSDN上明明说的CreateIC返回的DC是不能用来画东西上去的,只能用来查询信息的。又经过几次调试,发现CreateDC是在打印前在调用了n次CreateIC后最终会被调用一次的,这时候才发现,传给CreateDC的DEVMODE*居然里面的dmCopies值一直是1,而我明明需要的是2啊!于是我就猜,是不是application层把明明是2个copies合并成1个了,然后相当于只打印1个copy,于是打印机的设置只对第1份copy起作用。因为这个猜想,又小小地郁闷了一把,该不会要去调试application层的X++代码吧。不过马上,在kernel层的call stack乱翻,翻到其中一个地方,硬是把所有dmCopies值都改成1了!把这行代码注释掉试了下,果然如愿可以把设置应用到第2份copy上了。我猜,当时这代码的作者大概是考虑到不是所有的打印机都支持multi copies的,所以干脆把这个字段都改成1了。然后就是写邮件啦啦啦啦啦!   这事一了,人突然就松懈下来了。

继续bug fixing

继续bug fixing

  又回到以前那种每次写blog都是写工作内容的流水帐的状态了么,这是不是意味着离我辞职又不远了。   好吧,上午还是在继续折腾SQL Server版本兼容性的bug。主要的代码昨天就修改完了,今天要提交code review,就再仔细检查了一遍,然后发现,因为多加了一个.cs文件,于是在enlistment的根目录下build所有工程的时候,某一个工程会出错。之前加了这文件,是直接在某个目录的sources文件,嗯,类似于makefile的一种文件里,添加了新增加的那个.cs文件路径就好了。于是在整个enlistment里搜遍了所有sources文件里的内容,愣是没在其他sources文件里找到有引用这些文件的。后来看了一下error log,发现它是在进入某个目录build时报的错,到该目录下又不死心地看了下sources文件,没找到要添加文件路径的地方。后来看到一个.csproj文件,打开看了一下,死马当活马医,把新文件路径加进去再build,居然通过了。艹,这个build system太贱了吧,不同的工程用不同的描述方式。   下午继续折腾打印设置不生效的问题。好吧,一点头绪都没有,一点进展都没有,跟几个同事讨论了下,几乎也没有有价值的提示。现在还剩下两件事可以做,一是试试其他report的打印有没有这个问题,这可以基本上确定root cause是在application层还是kernel层,大体上我现在是比较倾向于认为是kernel层的问题,大概就是打印API使用的问题。二是自己写个打印demo,仔细观察一下打印API的工作方式,也就是通过这个demo来模拟bug的运行流程。   好吧,我又无聊了,又写工作上的事了。

bug fixing, team building

bug fixing, team building

  今天可是过得很纠结,两个bug开始全都一愁莫展。一个是打印设置的bug,搜索了一下以前的相关bug,看现象跟我现在的这个很类似,结果人家只是改了一下DOCINFO中的datatype字段的取值就搞定了,到我这里就不知道该怎么进行下去了。下午就在折腾另一个bug,安装程序在安装extension时只检测了SQL Server 2005和SQL Server 2008,于是在只有SQL Server 2012的机器上进行不下去了。需要修改的代码还是有好几处地方,照样画葫芦地改了一下,结果拿给人家测试时因为强命名的问题折腾了近一个下午。这里顺带提一下,如果把assembly拿到64位的Windows上去测试,用sn添加验证入口时不光要用32位的sn添加一遍,还要用64位的sn添加一遍。而且要注意的是,这个sn运行是在测试机器上运行的,不是开发机上。后来才知道,原来tester们有一个job跑一下,一台测试机就可以彻底屏蔽掉强命名的验证的,叹气。不过还好后来在在下班前终于编译了个private build让tester去测试一下,晚上回住处后看了一下公司的邮件,tester说在32位和64位机器上都测试通过了,稍稍心安了一点。   晚上team building,在蜀香村吃饭,算是农历年年前的散伙饭。Fiona也来了,她在元旦前辞职后就没见过了,估计这次也是最后一次见她了吧。她比我稍微晚一些日子进的team,实际上她是build team的,接触并不多,只有过两三次因为build上的问题打过点交道,但感觉是个很nice的人。很瘦,说话轻声轻气的。

去了趟上海图书馆

去了趟上海图书馆

  自从两年多前从老东家辞职以来,这是第一次进图书馆吧。   交了100元押金,办了张普通的借书证。用RFID技术的整个图书馆流程上基本可以做到无人值守也能很方便地运作。   去一楼的中文图书外借馆里看了看,书并不很多,甚至感觉跟以前我读的那大学,以及以前那那东家的图书馆里的藏书差不多多。可能这里的特色是古籍,珍本,孤本什么的收藏多吧。另外,几个阅览室里的座位也并不多,而且无一例外的是没有空位的。   总之,比较失望。

迟了一周的总结和计划

迟了一周的总结和计划

  好久没来更新了,本来照往年的习惯,跨年时总会写点过去一年的回顾和对新一年的展望的,不过这次12月31日晚上就回浙江去了,然后没有宽带,于是也就没写。后来每天都有每天要做的事,于是一直拖到现在。   2011年是很折腾的一年,7月底又跑到上海来了,然后生活上,发生了一些很狗血的事件。本来到上海,主要是为追寻爱情而来的,可是仍然没有收获。至于事业,也是毫无进展。意外的收入是靠着Ninayan这个小程序,上半年Nokia送了一个C7,下半年CSDN主办的Qt应用开发大赛匆匆提交后,得了个二等奖,奖品是N8。从4月份开始找工作以来,就没怎么写过代码了,看到之前自己写的那些代码竟感到特别陌生。   2012年,可能会是有很多事发生的一年。想去旅行,说了好多年的北京,以及突然这两个月突然冒出来的新加坡。要努力写程序,赚钱。现在计划中有三个项目。一个是烂摊子,要改。另两个还没开始。   然后,可能是消失。

组装了个台式机

组装了个台式机

  已经有好长一段时间了,在自己组装个台式机还是买个MBP之间难以抉择。昨天突然想,我就去徐家汇看看行情,我不买。果然还是没忍住,只是问了第一家,就决定买了。我对机器的需求非常简单,CPU要4核的,主频低一点没关系,内存要大,至少4G,最好8G,硬盘也要大,最好1T。其他的就比较随意了,能用就行。   只是没想到的是,现在组装机,还是比我想象的要贵一点。不过最后调整了各部分的预算,总算在3880块拿下来了。硬盘是500G的,现在就是贵了。内存倒是2*4G的,结果拿回来发现只能认出4G来,在网上找了一堆的解决方案,有硬件问题的,有软件设置问题的,最后我的情况发现是有一根是坏掉的。于是今天下午又跑了一趟徐家汇换了。那个上游卖家态度真他妈的想揍他,说什么他是专业换这个的,我懂么不懂云云。   昨天让我特别想要买个电脑,是因为这两天跑Eclipse把我伤到了。在那双核CPU,2G内存的Mac mini上卡得要死,笔记本上也很悲剧。唉,即使买来了,就认真写程序吧。

入了个Nexus S

入了个Nexus S

  一直想弄个Android机玩玩,虽然说很多厂商都在做,但一直只想过HTC或Nexus系列,现在看Nexus S不到2000块,还有4寸屏就很心动,纠结了几个星期了。周一的时候自以为搞定了那个bug,心情很好,打算好好犒劳一下自己,晚上回来就上淘宝拍了一个。直到周四才收到快递,昨天晚上回来把它root了,然后装了GAEProxy,装上了几个Twitter客户端。   只用了一天,给我的感觉不是很好。周四晚上突然就有点后悔,我哪有那么多时间来折腾这个玩意。在屋里联通的信号很差,对WIFI的接收能力也不怎么样,默认还没有设置Proxy的功能,需要root后装第三方软件才行,屋里那个无线路由器的信号时断时续。流量跑得飞快,昨天晚上到现在10个小时左右,WIFI流量跑了30MB左右,3G流量跑了20MB,这好像是因为用一GAEProxy的缘故,昨天白天10来个小时没用GAEProxy也差不多走了20MB流量。很多app运行了就不能退出了,即使强行杀进程,它也会自动再启动,囧了。   好吧,其实各有各的优点的,比如这样后台Gmail、Google Reader、Twitter等的推送就感觉不错。

木耳手机被偷了

木耳手机被偷了

  今天木耳手机被偷了,中午吃饭时还看她在4sq上check in酸奶店,吃完饭回到办公位上看了一下timeline,就看她在说手机被偷了,现在的小偷真是无所不偷啊,那么小屏幕的,成色也不新的手机也偷,真是穷怕了。据说还是在她学校门口,买酸奶,刚刚还在GT聊天的,一秒种就没了。   然后木耳回家了,貌似没带电脑,于是突然好像人间蒸发了。   下午突然想暂时不移植Ninayan到Android上去了,深入研究下LaTeX吧,对自己无语了。