qyb的博客

Show my "go-bag"

Claire 送的 wenger 背包,现在每天骑车派上了用场。 :)

国米徽章一个
蓝色的雨披,前两周早上下雨,楼底超市临时买的
笔一支
优盘一个
两串钥匙
钱包
Nokai E61i
餐巾纸... 带小朋友出门必备
SOHU Badge, 俗称狗牌——错,应该说是狐牌
Thinkpad R51e
Dlink PCMCIA 无线网卡
雨伞 (用来避雨,也能遮阳;当武器用貌似攻击力和防御度都不低,据说在七种武器里排名仅次于折凳。虽然我这把杀伤性不如非折叠的,但胜在便于携带,实在是居家旅行杀人灭口的必备工具)

本来偶尔在骑车时把自行车锁也扔在包里的,但大多数情况下车锁还是和自行车在一起的,就不拍它了,hehe

Topic: 生活

没有垃圾语言,只有垃圾程序员

前不久在 python-cn 列表上有人讨论 D 语言,然后有哥们一句:垃圾语言

今早听老婆 fwd 某达人的话:没有垃圾食品,只有垃圾吃法

突然回想起前几天看的这个 thread,遂发此感

Topic: 技术

We Want to See Your System Tray

看到 Lifehacker 上最近的这个活动,正好现在有闲功夫,于是马上做个截图.

首先是 IBM Thinkpad 的电源管理程序。我的系统配置成只有

Maxthon
无线网络连接
Nokia 的连接管理程序
Openoffice quick start... 最近自从安装 Word View 后就好像很少用它了
MSN Messenger
Tor... 说实话,几乎不用
局域网现在没有连接
Gtalk
Privoxy, Tor 的搭档
XP 音量管理,以及 PnP 管理
AVG Free,杀毒软件
Picasa
Daemon Tools
360 安全卫士!!
XP 自带的蓝牙驱动

回想起 Lifehacker 以前的 "go bag" 活动,回头俺也 show 一下,虽然被老婆批评说这一招已经被时尚杂志做滥了

Topic: 生活

如何突破 kmalloc 的限制

周五有人通过某渠道知道俺曾经做过 Linux 内核模块,于是特意来请俺午饭,问了我这个问题。kmalloc 好像是总共只能使用 2M 内存的,如果用更多的就只能用 vmalloc,但其性能很糟糕;我所知道解决办法非常简单:启动系统的时候增加一个 mem=xxx 启动参数,让内核不去管理后面的那部分内存,然后在模块里面把后面的内存映射过来获得一大块连续的地址,以后根据自己的需要在那块空间上操作就可以了。

不过说到后来,映射地址的函数是什么记不得了,回到计算机前 google 了好几个关键词,最后终于确认是 ioremap 这个函数,赶快记在 blog 里,避免下次遗忘。

回想起来作为一个 C 程序员其实挺幸运的:这意味着在计算机上你可以做任何事情(前提是一个 Linux or BSD 操作系统);而且随着经验增长,去理解其他语言不是难事——由 C 入 script 易,由 script 入 C 难。

再转载一篇好玩的报导:某人做了个统计,2.6.22 内核代码中共有 151,809 的结尾空白字符;如果提交 patch 把它们全部去掉的话,那么大概需要一个 15M,共 455437 行 的 patch。然后有人指出,在 2001 的统计是有 224,654 个结尾空白,看来这几年黑客们确实是在卖力地去除空格。突然想到一个问题,vim 或 emacs 都应该能配置成自动去除尾空格吧?

Topic: 技术

这段时间和人闲聊的只字片语

问:为什么用 apr 而不是 glib

答:因为 glib 没有网络封装,倒是有一个 gnet,但 RH AS4 没有包括其 RPM.. 这是我选择 apr 的三个原因之一

zhb:给空中网的 J2ME 定制一个程序2个月就在几百款手机上测试通过;但给三星或中兴做项目,5个C++程序员半年都搞不定

qyb:这个世界上只有这么几种平台——Win32、Windows Mobile、J2ME、S60、J2EE、PHP(或者准确说是 AMP)、Linux...现在浏览器也可以算是一种平台了。只有针对平台做开发,才能以最小的代价获得尽可能高的收益

以前我总说“浏览器即桌面”,以后要更正成“浏览器即平台”了。这意味这 JavaScript 程序员是一个严肃的职业,正如十年前在 Win 3.1 上用 OWL 开发一样

平台意味着标准化,这就又意味着低成本和高质量

Joel 所言,Python 大概算是半个平台

今天 Facebook 发布了 FBJS... 谁会是中国第一个发布自己 js 库的互联网公司呢?

对 webmail 这样应用来说,服务器端选择怎么样的语言已经无所谓——因为重点是在前端的 AJAX 和强健的后端服务——即使是用 C++ 来输出 XML or JSON 也没有什么好奇怪的。

Topic: 商业 技术

发现 gmail 的线索功能并不是依赖 Message-ID, In-Reply-To, References 标准实现的

sohu.com 内部开发的 MUA 部分已经能支持这个标准了。

特意在邮件列表上试了一下,修改了缺省的标题后发出,邮件列表自己能正确的归档,见:http://python.cn/pipermail/python-chinese/2007-September/thread.html

但是在 gmail 里面把它和别的区分开了..

联想起这段时间用邮件向 google groups 发信,总是不能和回信正确的排在一起,看来 google 即使是自己的产品也没有完全打理好.

莫非 google 的实现方式是首先排序近似主题,然后再根据 Message-ID 等字段做进一步处理 ???

Topic: 技术

解决 apr.h:270: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘apr_off_t’

尝试 apr 开发,什么都没有做,就是 include 了一下 apr.h,就出了这个错误.

上网搜了一下,很多人都碰到该故障,包括 xjb 同学

质疑 apache 的代码而动手改之可不是我的风格,仔细在 google 里面查找结果,发现编译应该用 pkg-config 来自动配置编译参数

cc foo.c -o foo `pkg-config apr-1 --cflags` 

联想到另外一个很常见的库 glib 也是用 pkg-config 来自动的配置的,所以建议在引用别人的库之前(尤其是这种系统预编译好的),先检查一下 /usr/lib/pkgconfig/ 目录下,看看有没有对应的 .pc 存在

Update: 我系统上 pkg-config 的结果就是 -DLINUX=2 -D_REENTRANT -D_GNU_SOURCE -D_LARGEFILE64_SOURCE -I/usr/include/apr-1.0

Topic: 技术

宗教

看邮件列表,看博客,看新闻,满眼都是冲突,这世界不知道怎么了...
. GPL vs BSD
. C vs C++
. Sohu vs Sina

. 信基督的程序员 vs 信仰怀疑论者

唉...

今天老婆给女儿洗澡,手忙脚乱,加上她老公找东西还有些糊里糊涂,老婆怒极。

突然女儿说了句:妈妈,你高兴点。并努力挤出一些笑容

一瞬间,好感动啊

Topic: 生活 社会

2005年的赤霞珠

自从到搜狐上班,好像已经在成尔买了三瓶葡萄酒了(虽然qyb同学的是酒量很不怎么样的)。

对酒俺家只有一个标准,就是好喝不好喝。专家说的杂志上写的对我几乎无影响,:)

最近的这瓶开瓶后过了好几天才得到了老婆和我的一致称赞,体会了赤霞珠醒酒的重要性;但昨天还得到表扬的酒,到了今天就被一致批评——还好只剩下最后一杯,没有被糟蹋的太厉害

Topic: 生活
订阅 RSS - qyb的博客