终于下雨了

西安这鬼天气,总是琢磨不准。

这几天一直阴天,总感觉要下雨,而且天气预报也说有雨,可就是不下。经过几天的酝酿之后,今天晚上总算是下下来了,而且还下得不小。刚开始下时我和 刘洋兄还在老校区上陈老师的课,下课之后匆忙往回赶,还好一出校门就打上了的。

在车上,小金又正好打来电话,主动关心我们是否需要一把伞。真是雪中送炭啊,其精神是多么地可贵!总之,多亏了小金的帮助,没怎么淋着就回到宿舍了。

下雨了凉快是凉快,不过貌似这预示着几天以后大热的开始。我有不详的预感……(咋感觉这结尾像恐怖小说?)

忙啊,忙

最近一直都很忙,写书,写代码,看书,复习……一堆一堆的事,忙都忙不完啊~!

今天开始复习系统结构了,还跑到教室里上了一小会儿自习,结果还是忍不住睡着了……

哎,发现自己几乎是天天都待在电脑前,而且通常是一坐一天,非常缺乏锻炼,这样下去不行。哎,等写完那本书得好好休息一下,远离一下电脑这东西。

(要不再抽个时间谈个恋爱?拉倒吧,都快毕业的人了~~~)

写书没那么简单

今天基本上没干别的事,就一个人憋到宿舍里写书了。宿舍的其他人都去吃请去了,我因为实验室事件正好没赶上。不过也好,宿舍难得有这么清静的周末。

今天主要是清理书中的第7章,这一章内容比较杂,结构不太好组织,几乎每次看这一章的时候都需要清理一下。添加了对IOCCC的详细介绍,这个过程中又发现不少有趣的混乱C代码。^_^ 准备下次全部补充进去。

有些人经常说我写书太慢,我解释一下原因。一是因为我的事情太多,不可能每天都只做写书这一件事。二是,写书本来就是一个慢活,而且它绝对没有你想象中那么简单。

就拿我写书的过程来说。首先,我要考虑整本书的内容是否有价值?是否有新意(我非常讨厌写被别人写过N次的内容)?针对哪些读者?该介绍哪些内容?目录布局是否合理?难易程度如何?考虑好这些问题整体才算是基本设计好。然后,写每一章内容的时候,我除了关注内容是否符合整体要求外,还要关注它和前面或后面的哪个章节有联系?相关的内容放到这里好还是那里好?引用和参考了哪些资料(整理参考资料是个痛苦的过程)?有没有相关的链接?需不需要插入额外的说明?这还不算完,涉及到更细的问题时更应该小心,比如,代码是放表格里好还是放正文里?或者是放附录里?用多大的字体排版?需不需要行号?还有就是,对源代码或某些文字做详细解释时,经常需要画图。虽然Dia可以帮上很大的忙,可用它画图仍然非常慢,个人感觉就像是在绣花,这同样也是一个细活。

如果你认为写完就完了,那你又错了。写完还需要请别人帮忙审查,从文字到代码,从字体到标点,都不能放过。别人帮你了不能白让人家忙活,在“致谢”里得把人家的名字加上。就算书以后出版了,我也要做好接受读者批评的准备,还要做好出下一版的准备。既然要写书,就要保证它的质量,否则让读者白花钱不说,还白费时间(人家是看你书的内容呢,还是给你挑错别字呢?)。

写书就像开发软件,需要仔细,需要耐心,需要维护。

(鸣谢GFW,让我们访问wikipedia更加“方便” 。 <==这不是广告,真的。)

客户端终于发布

想起来也算不容易啊。从需求分析到概要设计,从画类图到写代码,修复bug……我们客户端的程序终于迎来了正式发布

虽然发布比预期要迟,但我们实现了比预期要多的功能,而且进行了更多的测试。希望我们的程序对大家有用!

下一步要做的工作还不少,主要是完成图形界面的设计, 希望能给各位展示一个稳定实用的图形界面的XylFTP客户端。

热天

最近西安这几天特别热,前两天晚上睡觉前都是先冲个凉水澡,可一躺到床上还是热。也难怪作息时间得调整,白天热得没法学习,虽然睡觉也很热,可睡着了也就感觉不到了。晚上比白天要好一些,而且等宿舍的人都睡着了也非常安静。

今天晚上似乎凉爽一些,现在坐到这里都明显感觉到窗外的凉风习习吹来,非常舒服。

这样舒适的环境不能浪费,继续工作,抓紧把书的第三章写完,呵呵~

又到6月7

一年一度的世界上规模最大的考试今天开始了。真不知道又有多少有才的年轻人会被扼杀掉。现在的高考是越来越搞笑了,整天吹这改革那改革,可改来改去还不是换汤不换药?

大舅家的表妹今天也参加考试,希望这个小鬼能考得比我当年好,长江后浪推前浪嘛!

对于我们家来说,今年是考试年,这个大点儿的表妹考大学,那个小点儿的考高中,还有一个姨家的弟弟考初中。全都赶一起了!不清楚那两个小鬼具体啥时间考,提前祝那两个小鬼考个好成绩,我回去时别让我失望就行。

这中国的教育啊,无话可说……

Quilt

Quilt是用来管理补丁的一个工具,非常好用,是由Andrew Morton自己写的一些脚本演变而来,现在由Andreas来维护。它解决了一些常见却又不太好处理的做补丁的问题,比如,两个补丁对同一个文件做了修改,怎么合并两个补丁?

小试了一下quilt,发现确实挺好用的, 也发现很多内核开发者也都在用(从输出的补丁信息可以看出)。而且我认为quilt的设计思想非常好,用了栈的原理。

命令行界面的quilt可以在这里下载,不过请注意,它对bash版本还有些挑剔,我在fc5上装的版本它警告说有bug,只能升级bash后再装。懒惰的人可以装一个图形界面的quilt来用一下。

关于quilt的教程似乎不多,中文更少,以后有时间的话我详细整理一下。这里先给出我搜到的两个:维护者写的“官方”教程和一个简单的quilt介绍

我想去的几个地方

今天实在不知道博客该写什么了,还好小公子在其博客上写了一篇同名文章,我也就捡这个话题写写吧。

我想去的几个地方(排名不分先后) :

1. 香格里拉。向往了很久,心目中很美很美的地方。

2. 西部山区。帮一下那里的孩子。

3. 南极。地球上少有的未被污染的地方。

4. 澳大利亚/新西兰。在南半球,还有绿绿的草原,广袤的牧场。

goto惹了谁?

最近我是和goto卯上了,先是向内核邮件列表提交了关于goto标签排版的补丁,现在又准备在自己的书里详细论述一下goto的坏处和好处。

发现这真不是一个聪明的决定,几个简单的搜索就已经把自己拉下goto的泥潭中了。 历史上,关于goto的争论似乎就没怎么停过。众所周知,最早论述goto的还是大牛Edsger Dijkstra,他早在1968年(那时候还没C语言呢)写了一篇流传颇广的paper——Go To Statement Considered Harmful,正是这篇短小的文章,向人们第一次揭示了goto的坏处,于是goto的名声就不怎么好了。直至今天,在我们的大学里,教授们也忠告我们不要使用goto,它会让你的程序变得很难读,云云~

这当然还没完,自从有了Go To Statement Considered Harmful,XX Considered Harmful似乎就成了计算机界很流行的用语了,于是乎也就有了“GOTO Considered Harmful” Considered Harmful“‘GOTO Considered Harmful’ Considered Harmful” Considered Harmful?。再到后来(1974年),Knuth老大爷看不惯了,他觉得该为goto平平反了,于是出手写了一篇Structured Programming with go to Statements ,牛人不愧是牛人,从来不盲从别人不说,端的还是理论和实践两把手。

另一个时髦的而且Considered Harmful的话题是Threads Considered Harmful

BTW:这篇文章也Considered Harmful?;)

喜欢的一首老歌

窗外
李琛

今夜我又来到你窗外
窗帘上你的影子多么可爱
悄悄的爱过你这么多年
明天我就要离开
多少回我来到你的窗外
也曾想敲敲门叫你出来
想一想你的美丽
我的平凡
一次次默默走开
再见了心爱的梦中女孩
我将要去远方寻找未来
假如我有一天荣归故里
再到你窗外诉说情怀
再见了心爱的梦中女孩
对着你的影子说声珍重
假如我永远不再回来
就让月亮守在你窗外