忙啊,忙
最近一直都很忙,写书,写代码,看书,复习……一堆一堆的事,忙都忙不完啊~!
今天开始复习系统结构了,还跑到教室里上了一小会儿自习,结果还是忍不住睡着了……
哎,发现自己几乎是天天都待在电脑前,而且通常是一坐一天,非常缺乏锻炼,这样下去不行。哎,等写完那本书得好好休息一下,远离一下电脑这东西。
(要不再抽个时间谈个恋爱?拉倒吧,都快毕业的人了~~~)
写书没那么简单
今天基本上没干别的事,就一个人憋到宿舍里写书了。宿舍的其他人都去吃请去了,我因为实验室事件正好没赶上。不过也好,宿舍难得有这么清静的周末。
今天主要是清理书中的第7章,这一章内容比较杂,结构不太好组织,几乎每次看这一章的时候都需要清理一下。添加了对IOCCC的详细介绍,这个过程中又发现不少有趣的混乱C代码。^_^ 准备下次全部补充进去。
有些人经常说我写书太慢,我解释一下原因。一是因为我的事情太多,不可能每天都只做写书这一件事。二是,写书本来就是一个慢活,而且它绝对没有你想象中那么简单。
就拿我写书的过程来说。首先,我要考虑整本书的内容是否有价值?是否有新意(我非常讨厌写被别人写过N次的内容)?针对哪些读者?该介绍哪些内容?目录布局是否合理?难易程度如何?考虑好这些问题整体才算是基本设计好。然后,写每一章内容的时候,我除了关注内容是否符合整体要求外,还要关注它和前面或后面的哪个章节有联系?相关的内容放到这里好还是那里好?引用和参考了哪些资料(整理参考资料是个痛苦的过程)?有没有相关的链接?需不需要插入额外的说明?这还不算完,涉及到更细的问题时更应该小心,比如,代码是放表格里好还是放正文里?或者是放附录里?用多大的字体排版?需不需要行号?还有就是,对源代码或某些文字做详细解释时,经常需要画图。虽然Dia可以帮上很大的忙,可用它画图仍然非常慢,个人感觉就像是在绣花,这同样也是一个细活。
如果你认为写完就完了,那你又错了。写完还需要请别人帮忙审查,从文字到代码,从字体到标点,都不能放过。别人帮你了不能白让人家忙活,在“致谢”里得把人家的名字加上。就算书以后出版了,我也要做好接受读者批评的准备,还要做好出下一版的准备。既然要写书,就要保证它的质量,否则让读者白花钱不说,还白费时间(人家是看你书的内容呢,还是给你挑错别字呢?)。
写书就像开发软件,需要仔细,需要耐心,需要维护。
(鸣谢GFW,让我们访问wikipedia更加“方便” 。 <==这不是广告,真的。)
热天
最近西安这几天特别热,前两天晚上睡觉前都是先冲个凉水澡,可一躺到床上还是热。也难怪作息时间得调整,白天热得没法学习,虽然睡觉也很热,可睡着了也就感觉不到了。晚上比白天要好一些,而且等宿舍的人都睡着了也非常安静。
今天晚上似乎凉爽一些,现在坐到这里都明显感觉到窗外的凉风习习吹来,非常舒服。
这样舒适的环境不能浪费,继续工作,抓紧把书的第三章写完,呵呵~
又到6月7
一年一度的世界上规模最大的考试今天开始了。真不知道又有多少有才的年轻人会被扼杀掉。现在的高考是越来越搞笑了,整天吹这改革那改革,可改来改去还不是换汤不换药?
大舅家的表妹今天也参加考试,希望这个小鬼能考得比我当年好,长江后浪推前浪嘛!
对于我们家来说,今年是考试年,这个大点儿的表妹考大学,那个小点儿的考高中,还有一个姨家的弟弟考初中。全都赶一起了!不清楚那两个小鬼具体啥时间考,提前祝那两个小鬼考个好成绩,我回去时别让我失望就行。
这中国的教育啊,无话可说……
Quilt
Quilt是用来管理补丁的一个工具,非常好用,是由Andrew Morton自己写的一些脚本演变而来,现在由Andreas来维护。它解决了一些常见却又不太好处理的做补丁的问题,比如,两个补丁对同一个文件做了修改,怎么合并两个补丁?
小试了一下quilt,发现确实挺好用的, 也发现很多内核开发者也都在用(从输出的补丁信息可以看出)。而且我认为quilt的设计思想非常好,用了栈的原理。
命令行界面的quilt可以在这里下载,不过请注意,它对bash版本还有些挑剔,我在fc5上装的版本它警告说有bug,只能升级bash后再装。懒惰的人可以装一个图形界面的quilt来用一下。
关于quilt的教程似乎不多,中文更少,以后有时间的话我详细整理一下。这里先给出我搜到的两个:维护者写的“官方”教程和一个简单的quilt介绍。
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?;)
喜欢的一首老歌
窗外
李琛
今夜我又来到你窗外
窗帘上你的影子多么可爱
悄悄的爱过你这么多年
明天我就要离开
多少回我来到你的窗外
也曾想敲敲门叫你出来
想一想你的美丽
我的平凡
一次次默默走开
再见了心爱的梦中女孩
我将要去远方寻找未来
假如我有一天荣归故里
再到你窗外诉说情怀
再见了心爱的梦中女孩
对着你的影子说声珍重
假如我永远不再回来
就让月亮守在你窗外