2007/4

重新投入工作

前些天状态有些差,一是因为过度劳累,休息太少,二是因为压力太大,没有调整好心态,三是因为私人问题,……(省略N+1一个字)。这两天感觉终于恢复过来了,心情也好一些了,希望能马上投入到原来的工作中去。感谢在这几天安慰帮助我的朋友。

不过,这几天似乎敲键盘极其不顺,在写英文时总是多敲一两个英文字母 ,总结如下,以示警告:

1. proud敲成了pround,而且好几天都没看出来……

2. useful敲成了usefule,这么明显居然没看到……

3. local敲成了locale,代码中的,给自己找个借口──这个不太好发现~

4. engineering敲成了engeering,这次是少敲的,很丢人的一个错误……貌似很久以前就搞错了~

5. familiar敲成了familar,也很无语……

感谢为我指出这些错误的同学,老师,朋友!

相信未来(食指)

当蜘蛛网无情地查封了我的炉台
当灰烬的余烟叹息着贫困的悲哀
我依然固执地铺平失望的灰烬
用美丽的雪花写下:相信未来

当我的紫葡萄化为深秋的露水
当我的鲜花依偎在别人的情怀
我依然固执地用凝霜的枯藤
在凄凉的大地上写下:相信未来

我要用手指那涌向天边的排浪
我要用手掌那托住太阳的大海
摇曳着曙光那枝温暖漂亮的笔杆
用孩子的笔体写下:相信未来

我之所以坚定地相信未来
是我相信未来人们的眼睛
她有拨开历史风尘的睫毛
她有看透岁月篇章的瞳孔

不管人们对于我们腐烂的皮肉
那些迷途的惆怅、失败的苦痛
是寄予感动的热泪、深切的同情
还是给以轻蔑的微笑、辛辣的嘲讽

我坚信人们对于我们的脊骨
那无数次的探索、迷途、失败和成功
一定会给予热情、客观、公正的评定
是的,我焦急地等待着他们的评定

朋友,坚定地相信未来吧
相信不屈不挠的努力
相信战胜死亡的年轻
相信未来、热爱生命

这两天不想写博客

这几天感觉比较累,估计是最近太忙了。等忙过这段时间一定得好好休息一下。不过这忙起来何时是个头啊,手头上的活一堆一堆的,看着忙也忙不完。

啥都不说了,抓紧时间写我那书啊,内容越写越多……

我的补丁第一次被正式接受

很高兴宣布我的补丁第一次被Linux kernel -mm tree接受,在此之前提交过三四个补丁,似乎都没有被正式接受。;-(

感谢Andrew Morton和德国IBM的Cornelia Huck,没有他们的帮助不可能有这个补丁,尤其是Cornelia Huck,他非常耐心地辅导我三次修改这个补丁。

Andrew已经把这个补丁归入-mm树,可惜我找不到mm-commit邮件列表的www链接,在这里只给出一个lkml上的相关链接:

http://lkml.org/lkml/2007/4/10/335

同时给那些对Linux内核感兴趣的人一个建议:坚持下去!这是任何一个内核开发者能给你的最好的建议了!2.6现在仍有不少东西需要去做,赶快动手吧!

呵呵,非常开心啊! ;-D

学习C++的一些心得

最近在看《Essential C++》 ,发现自己的C++学得很不及格!下面是学习的一些心得:

1. 重载<<或>>操作符时千万注意,它不能是成员函数,如果不不幸把它声明成了类foo的成员函数,那你得这样用它了:
foo<<cout<<’n’;
没有人阻止你这么做,但这几乎肯定不会是你想要的!

2. 函数对象是一个好东西,它有点像是C中的函数指针。它其实就是重载了()的类,没什么奇特的。

3. static类型的数据成员表示单一的实例,它被所有类的对象共享。static类型的函数和Java中一样,也是可以不通过实例就直接调用。

4. 虚函数要么在声明它的类中定义,要么就被定义成纯虚函数。带有纯虚函数的类是不能有实例的。

5. 基类的析构函数必须是虚函数。

6. 使用dynamic_cast而不是static_cast。

7. 模板中不是只能带类型,而且还能带变量,它能按照你指定的值去创建“带有”这些值的类,它的作用有点儿类似于“默认”。

总结

总结一下周末这两天做的事:

1. 把转换注释风格的Python脚本 写完了,越来越喜欢Python了。

2. 清理完了blog,进行了备案。

3. 把kerneltravel 的内容基本全部上传到新的服务器,但还缺一些东西。

4. 写了4页书,这基本上符合了我自己定的一天至少两页的要求。

未来几天要做的一些事:

1. 给自己这里制作网页。

  1. 继续学习Python和C++。

3. 继续写书,这是长期的活。

4. 完成xylftp客户端的设计。 ;-)

一道挺有意思的编程题

函数原形已经给出:int p(int i, int N);
功能:调用该函数,打印如下格式的输出,例p(1, 7);
1
2
3
4
5
6
7
6
5
4
3
2
1
即每行一个数字。(注意:N只打印一次)
要求:

1. 函数中唯一能够调用的函数就是printf
2.
不准使用如下的关键字:typedef, enum, do, while, for, switch, case, break, continue, goto, if
3.
不能使用逗号表达式和?:表达式。

4. 函数中只能有一条语句。

你会怎么做呢?请仔细想想,这道题不太容易想,但思考的过程非常有意思。我写的程序如下:

source code

这服务……

先说申通快递。前几天从网上买了本书,过了两天就接到申通的电话,说有我的包裹,看来书到了。不过得让我去骨科医院那边去取,因为不往我们这边送了!去就去吧,忍了。第二天去之前给那人打电话说好,但去了之后那人的电话死活都打不通了!!害我白白在那里等了半个多小时。下午的时候又打电话,他解释说他的小灵通有问题,让我再去一次,打另一个号码。最后经过电话那头那人的“指点”,终于在一个偏僻的小区找到了他们,这才把包裹拿到!

再说网通。最近网通网络很不稳定,前几天是掉线,或者干脆上不去。这几天有所好转,不过这网速嘛,慢得像马一样,发一封邮件发二十多分钟愣是还没发出去!无语……

咱国内的服务能不能也和国际接轨?

发布SPyFTP

今天终于把以前用Python写的程序发布到Google Code上了,起了个自我感觉不错的名字SPyFTP,它是Smart Python FTP的缩写。打算把它的功能一点一点完善,以后还准备添加图形界面,而且也准备用Python写一下服务器端。项目链接如下:

http://code.google.com/p/spyftp/

希望各位朋友能帮忙测试,编写文档,或者进行改进。

引用Google Code上的一句话作为结束:

Release early, release often.