我们南理工的二月兰,原文在这里http://www.xici.net/d143176209.htm
听说二月兰开了
2011/03/28好人的一生(转载)
2011/03/13从 乐淘吧-淘快乐 作者:乐淘吧
好人们其实就在你我身边。
他们一般说来长相普通(长得太帅的通常当不了好人),个性温和且忠厚老实,往往有一项特殊的专长和技能,好比说是会修电脑,有设计专长,学问渊博爱读书…等等,但是在与陌生人交往时显得有点害羞。
有些好人热心助人,在同侪团体之间是大家都乐于来往的对象,不过只要一遇到漂亮的或自己喜欢的女生,好人马上就变成哑巴。他们的原则是,人与人之间本来就应该好来好去,特别是对他们有点友善的人,更是要加倍奉还。我们通常说的好好先生,就是他们。
好人和同性来往时,一点问题也没有;但是遇到自己喜欢的女生时,麻烦就来了。他们的交友范围不算广,所以能够认识的女生,可能就是同班同学,同事,或者是参加一些社团认识的朋友。他们喜欢的对象,也不至于要怎样地国色天香,但是基本的姿色是不可少的,通常都必须具备甜美的笑容,礼貌的态度,以及一开始时对好人的和善。好人搞不清楚这个和善是这个女生的天性(是的话加分,非追不可),还是对他有好感(那开玩笑,更要追了)。也许,她就是他那个命中注定的女孩也说不定……好人这样幻想着。
一开始的时候,好人觉得,那位女生对自己不错,所以他当然要对她的好给与适当的回报,甚至更多,因为大家好来好去是他的信念,更何况是一个自己欣赏,还很有可能进一步发展的人呢?于是,他和女生开始频繁地来往,一起走路进教室(进办公室),下课(下班)后有时一起喝个咖啡,除了业务往来外通个电话,诉说一天上课或上班的心得…。女生偶尔有什么事情需要他的帮忙,或需要他提供一些讯息甚至劳务等等,他都义不容辞地尽全力满足她。因为在他的心里,这除了是朋友之间的互相帮忙之外,更是他好好表现的机会;做多了,一定可以打动她的心,每一次的帮忙,对好人来说,就是一种付出,他似乎已经可以看到两人在不久的将来,手牵手,相互依偎,互诉情衷,亲亲我我的景象了。好人的幻想持续增温。
但是,事情不是这样的!
几个月后(有些只有几个礼拜后),随着他们两人的接触越来越频繁,他对她的渴望也越来越深,就在好人觉得跟她成为男女朋友的机会越来越高的时候,突然一切都不一样了。
好人不知道自己做错了什么,不过很明显地,这个女生突然开始“怪”了。以前她的电话,每打必接,现在却常常没有人接;以前聊天聊个半小时或一个小时都是家常便饭,现在讲个两分钟她就有事得挂断电话;以前传简讯给她的时候,写过去的简讯越温馨,她的回传简讯读起来也越温暖,现在传简讯过去,就像石沈大海,回应的比率趋近于零,顶多就是告诉他,他的邀请她无法赴约;以前聊MSN的时候都有聊不完的话,每次下线前都还难分难舍,现在她在msn上的回应语句越来越简短,不仅不会再主动打招呼,回应语句还大幅缩水,通常就是用“嗯”、“嘻”、“ㄏㄏ”、“呵”之类的语句来打发人,看起来的感觉就像是在说∶“我不想跟你多说话,麻烦你找其他人好吗?”
好人开始纳闷∶“到底怎么了”?“到底发生了什么事”?“我是不是做错了什么”?他很想打电话过去问个明白,但是对方好像老早就知道他想问什么一样,永远不让他有机会把那个问题提出来。其实,他根本也不敢问!因为他知道,如果真的追问下去,传说中的“好人卡”就要发到自己手上来了。他也不是没有接过卡,但是总不能从十六岁开始想交女朋友,就一直收卡收到现在吧?(二十岁,三十岁,四十岁…No!)
渐渐地,她甜美的声音,变成了他的梦魇,他再也不敢拨电话给她了。他也曾经安慰过自己,是不是自己太主动了点,吓到对方了?是不是她需要更多的时间,才能接受自己的感情?是不是她想考验他的热情和决心,现在放弃的话一切的努力就白费了……。替她想了那么多,但是一个冷冰冰的,从自己心底深处发出来的声音,不断地有如魔音穿脑般地告诉他自己∶我被发卡了!我被发卡了!!我被发卡了!!!他可以短暂地麻痹自己,但是他骗不了自己啊!
然后,几个月后,甚至几年以后,他又遇到了一个心仪的女孩子。他小心翼翼地,希望上次的情形不要再发生了。但是,他仿佛被诅咒了一般,一切情形就像鬼打墙一样,不断地重演。有时候,他都可以预测女生要开始不接电话,不回传简讯,不上MSN了。他变得越来越不敢打电话给女生,也越来越不敢对女生献殷勤,更不要说对女生进行邀约了。因为,一开始的交往越温馨,之后的回忆也越痛苦。
有些好人选择自暴自弃,让魔鬼占据他的心,开始对女生进行心里和行为上的报复。他决定不再对任何人付出真心,只要有女生的表现有点像他以前遇到的“发卡机”,他心中的警铃马上响起,要嘛选择立刻放弃,要嘛决心周旋到底,但是满脑想着就是仇恨,以及最后“把”到人家之后,要如何把她甩掉的计谋。他失去了爱别人的心,也放弃了享受爱的权利。
也有些好人决定默默地承受没有人爱,持续“收卡”的日子。因为他们相信,好人到最后一定是有好报的,总有一天,会有一个命中天女出现,和他相守一生。果不其然,那个人最后出现了,但是通常都是相亲认识的对象,两人一认识,就是看彼此合适不适合结婚而已。他感受不到那份对爱情的悸动,有时候还要忍受对自己老婆过去的猜忌。
什么猜忌呢?因为,他这个条件不错的结婚对象,有时在不经意的时候,会透露出她最后为什么选择他的原因。通常都是看他经济有基础,做人忠厚老实,是个可以结婚的对象等等;她说她不想再蹉跎光阴,也不想再遇到那些懂得甜言蜜语,风趣自信,但是自己无法掌控,会让自己痛苦不已的男人。
听到女人的抱怨,好人的感觉是五味杂陈的。难道他永远就是女人感情失败后的备胎吗?难道女人对他的青睐,一定只能发生在中年以后吗?他并不是想对这个彼此尽夫妻义务的婚姻生活抱怨,但是总有那么一丝丝的遗憾,为何他的爱情,没有在年轻的时候到来?如果可以选择的话,他宁可像自己的老婆一样,尝过爱情的酸甜苦辣,然后最后选择一个,自己觉得最适合的对象结婚,而不是像个爱情世界里的小学生,感情的世界一片空白…
留下两行热泪了吗?有没有觉得好像就是在说你自己的故事呢?
Fedora12上开机后自动运行某个命令
2011/03/10在Fedora12系统中,如果让一个命令在开机的时候就启动运行,可以编辑文件/etc/rc.local
把自己想要运行的命令写在里面。这个脚本在所有的初始化脚本运行完后才运行。
可以用此方法设置自己的程序,让他们开机自启动。
增加系统调用,编译linux内核
2011/03/07为了弄这个,参考了网上的很多东西。
编译的是linux-2.6.37.2,编译环境用的是ubuntu10.04LTS。下面就帖命令吧
首先要下载内核,可以去http://www.kernel.org/下载。
然后拷贝到/usr/src下面,解压。
# cp linux-2.6.37.2.tar.bz2 /usr/src
# tar xvf linux-2.6.37.2.tar.bz2
加一下系统调用:
# gedit /usr/src/linux-2.6.37.2/kernel/sys.c
asmlinkage int sys_mycall(int number)
{
printk(“hello, my new kernel, SEU”);
return number;
}
在系统调用表中,找到一行.long sys_ni_syscall,然后替换之:
比如第223号是没用的,所以,我就在第223的地方换了一行:
# gedit /usr/src/linux-2.6.37.2/arch/x86/kernel/syscall_table_32.S
.long sys_mycall
声名一下,223对应上面的223
# gedit /usr/src/linux-2.6.37.2/arch/x86/include/asm/unistd_32.h
在223处:
#define __NR_mycall 223
# cd /usr/src/linux-2.6.37.2
下面开始编译内核了,关于如何编译,可以参考的东西有很多,大同小异。若要裁剪Linux内核,
我觉得《鸟哥的Linux私房菜》第三版第26章Linux核心的编译与管理讲的很详细。
第一步:make mrproper 清 除内核中不稳定的目标文件,附属文件及内核配置文件
第二步:make clean 清 除以前生成的目标文件和其他文件
第三步:make oldconfig 采 用默认的内核配置
第四步:make bzImage 编 译内核
第五步:make modules 编 译模块
第六步:make modules_install 安 装模块
然后等待,大概二三个小时,视机器情况而定。机器好的,编译的快一些。
cp /usr/src/linux-2.6.37.2/arch/i386/boot/bzImage /boot/vmlinuz-2.6.37.2(注 意:2.6.37.2是刚刚编译过的版本。)
mkinitramfs -o initrd.img-linux-2.6.37.2 2.6.37.2
cp /usr/src/linux-2.6.37.2/initrd.img-linux-2.6.37.2 /boot/ initrd.img-linux-2.6.37.2
# gedit /boot/grub/grub.cfg
menuentry ‘Ubuntu, with Linux 2.6.37.2′ –class ubuntu –class gnu-linux –class gnu –class os {
recordfail
insmod ext2
set root=’(hd0,6)’
search –no-floppy –fs-uuid –set 6b0c4ab9-3ceb-4e66-aa8d-3b05c7def4d3
linux /boot/vmlinuz-2.6.37.2 root=UUID=6b0c4ab9-3ceb-4e66-aa8d-3b05c7def4d3 ro quiet splash
initrd /boot/initrd.img-2.6.37.2
}
然后把timeout也改一改,所有的timeout都改成10好了。这一点挺重要的,如果你新的内核挂了,还可以选其他内核。
# reboot
#
#include<stdio.h>
int main()
{
syscall(223,1);//223是 第五步中宏定义的入口参数,1为 函数的参数,整型变量number
return 0;
}
# gcc test.c
# ./a.out
# dmesg -c
hello, my new kernel, SEU
基本上都是root权限做的。
编译了几次才成功,呵呵,因为kernel panic了几次。
LY来南京工作了
2011/02/25大学宿舍四个人,有三个人回家了,GY回了常州,LY回了连云港,FB回了吉林,我继续在南京上学。
前几天LY来了一趟南京,也没告诉我他来干什么。吃饭的时候,听在南京华为工作的FBB同学讲,FBB可以内推别人进华为。
今天接到LY的电话,说要来南京工作了,我以为他被FBB内推进华为了,又问了一下,事实并非这样,而是LY进了另一家公司,前几天来南京就是面试的。
不错,南京的人又多了一个。大学同学中,在南京工作的,有四个了吧。
数1比特的小程序
2011/01/221 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 | #include <stdio.h> int count1(void *_str, int len) { static int one_bits[16] = {0, 1, 1, 2, 1, 2, 2, 3, 1, 2, 2, 3, 2, 3, 3, 4}; int i = 0; int index = 0; char *str = (char *)_str; while(index < len) { char c = str[index++]; i = i + one_bits[c&0x0F] + one_bits[(c>>4)&0x0F]; } return i; } int count2(void *_str, int len) { int i = 0; int index = 0; char *str = (char *)_str; for(index=0; index<len; index++) { char c = str[index]; while(c) { i -= (c>>7); c <<=1; } } return i; } int count3(void *_str, int len) { int i = 0; int index = 0; char *str = (char *)_str; for(index=0; index<len; index++) { char c = str[index]; while(c) { i++; c = c & (c-1); } } return i; } int main() { int i = 0x02020202; printf("%d\n", count1(&i, 4)); printf("%d\n", count2(&i, 4)); printf("%d\n", count3(&i, 4)); } |
一段内存,由起始地址和长度限定,数其中的1比特的个数(值为1的位的个数)。
count1是查表,没啥说的。
看看count2,当c的最高位为1时,c>>7的值为0xFFFFFFFF,为什么?不是0xFF吗?不是的,>>的结果是整型,c先右移,成了0xFF,然后再符号扩展成整型,即-1。看一看,当最高位为1时,i减去-1,相当于加1;当最高位为0时,i减去0,想当于加上0。下一个循环再次考查最高位。
count3,c&(c-1),就是把最低位的1清0.
重启大法
2011/01/16折腾啊折腾,折腾了很长时间,没用。
最后没耐心了,重启一下试试吧。重启了,就好了。什么原因造成的,我还是不知道。
重启大法挺好的。
2010总结
2011/01/03其实也不想总结什么,简单地记一下吧。
折腾开题报告,前前后后的时间,得花了两个月吧。我也不知道为什么要花那么长的时间那么多的精力在开题报告上。或许一开始没有人知道我应该做什么。大家都在摸索中。上半年花了一个月的时间在开题报告上,其它时间用在了摆弄XORP上。下半年又花了很长时间在开题报告上,其它的时间花在了找工作上。现在,定在1月7号开题。但愿会顺利。哎,其实很多同学都花很短的时间在开题上,我却花了那么长时间,没办法!以前我宿舍的同学开题,就是被他们老板叫过去,一人选一个题目,然后写开题报告,然后开题,就完了。我们实验室的情况和大多数实验室不一样。
再说说研究工作以外的事情吧,主要指学习方面的。我的研究工作,对于找工作来讲,几乎没啥用。这样的话,我只能靠自己平时积累一些,应对找工作。实验室不让出去实习(听说以前有师兄出去实习,被推迟半年毕业),所以,自己得做些事情弥补一下动手方面的不足。其实这一年就看了几本书,C++ Primer,精读了两遍吧,又翻了两三遍,算是有了C++基础(大学里也学过C++,不过没学好)。又读了Effective C++、More Effective C++、深度探索C++对象模型,读完这几本书后,感觉C++是一门很恶心的语言,它太复杂了。另外还读了一本C++标准程序库,了解了一下STL相关的东西。学了语言,总要学些系统编程方面的,读了Linux程序设计和UNIX环境高级编程,UNIX环境高级编程很详细,但Linux程序设计更易读懂。读了一本内核方面的书,Linux内核设计与实现,这本书读得不精,随便看看,感觉文件系统还是很有意思的。为了找工作,读了几本书,程序员面试宝典,编程珠玑,编程之美。还读了一部分的代码大全,这本书装订太水了,100万字,居然装订了900多页,人家C++ Primer中文版第四版,115万字,才750页,它居然900多页。读了大部分的深入理解计算机系统,收获不少,但也没觉得特别好,可能是因为看到的评论太好了,而实际上没那么好,心理上有落差,还有一部分没读,也许因为没兴趣吧,想读的时候再读吧。正在读一本程序员的自我修养,不知道什么时候能读完。2010年,比以前更会使用搜索引擎,或许因为研究工作需要,读了大量的英文资料的缘故,也更愿意读英文技术文章。我从2009年3月起,基本不用百度了,百度适合搜广告,Google适合搜索各种东西,而且我觉得Google明显比百度更懂中文和英文。但有时Google会被墙,不过有twinhorse同学帮助,翻过去不成问题。
下面再说说找工作的事,太折腾了,身心俱疲。由于铁了心做技术,所以考公务员、测试、销售什么的,都没考虑。由于没有实习经验,很吃亏。遇到的面试官大都很不错。面了大约十家企业。其中只有一家外企,感觉它比较重基础,而民企很在意你记住了什么。另有两家外企错过了,一家是IBM,让我去面试,没去,另一家是SAP,让我去上海笔试,没去。还有一点,可以称为经验吧:面试的时候,要穿得正式点儿。这么说,是有原因的。某一天,我理了发,又买了一件小西装,此前的面试成功率比较低,自从穿小西装面试后,成功率变高了。穿小西装一共参加了三次面试,都拿到了offer。所以我认为,面试结果很可能与形象有很大的关系。另外,还想说一点,就是C语言要学好,几乎每家企业都会考,比C++考得多。数据结构、操作系统、计算机网络要学好。特定的平台要懂一些,windows平台和/或*nix平台。
流水帐一样,各方面都说了。
新的一年,再次祝自己可以顺利毕业。
新年快乐
2010/12/312010年马上要过去了,2011年也要来了。
祝家人平静地生活。
祝老师们教学水平、科研水平更上一层楼!多多发牛paper。
祝上学的同学们学业有成!读硕的同学快快毕业,读博的同学快发牛paper。还有读本科的小孩们,打个扎实的基础。
祝工作的同学们加薪、升职!以后罩着我,哈哈!
祝自己可以顺利毕业!
祝所有的人身体健康,快快乐乐!
特别要祝小侄子和小侄女快乐成长!




