2007年12月 存档

C vs. C++ vs. Java vs. PHP

2007年12月21号,星期五

其实,我不懂Java,这篇文章只是随便侃侃。

这个学期选了Craig Chase教授的C++课程,主要是关于template, generic programming, garbage collection, template meta programming 和一点C++内存管理的知识。学期有三个projects,第二个比较有趣,是实现一个生命游戏的模拟器,模拟一个pool中的各种生命类型的class,有些类似联网游戏中的server/client。

Chase教授提到了好程序的判断标准,有几个选择

1. The program is correct (程序是正确的)
2. The program is efficient (程序是有效率的)
3. The program is easy to read (程序易于修改)
4. The program is easy to understand (程序易于阅读)

(全文…)

家域网中建立无盘工作站 (3)

2007年12月16号,星期天

上篇

启动并配置无盘t23工作站

t23开机后f1进入bios setup,选择从网络启动。保存配置然后重启,t23会首先查询router的dhcpd中是否有pxe的指示,然后从192.168.1.103(ubuntu台式机)的/tftproot中读取 pxelinux.0,因为在pxelinux.cfg/default中指定了kernel, initrd和nfsroot, t23首先通过dhcp得到自己的ip,然后从tftpd上得到kernel和initrd并把nfs目录作为根目录,并把系统的控制权从pxelinux.0交给kernel,下面的事情就和启动一般的debian没有区别了,不过使用的“硬盘”不是本地硬盘而是nfs的目录而已。

启动之后,配置t23和配置单工作站没两样,如果你先前的debian是最小安装,那么apt-get install xfce4 x-window-system就可以把xwindow和xfce装上。
(全文…)

家域网中建立无盘工作站 (2)

2007年12月16号,星期天

上篇

配置tftpd和nfs server

配置好router的dhcpd后,接下来配置台式机上的tftpd和nfs服务。tftp服务的目的是当t23通过router的dhcpd得知需要从台式机(192.168.1.103)抓取pxelinux.0后,从台式机的tftp服务器上抓取这个文件和相应的启动用的linux kernel;nfs服务的目的是为了linux kernel启动后被mount成根目录(/)以便使用台式机的硬盘以实现“无盘”的目的。

我的台式机上的操作系统是windows XP,ubuntu 7.10跑在vmware里。在ubuntu中开启tftp和nfs服务的方法:

sudo apt-get install tftpd-hpa nfs-kernel-server

(全文…)

家域网中建立无盘工作站 (1)

2007年12月16号,星期天

家里有台02年的t23小黑,这几年反反复复安装过多次linux/windows操作系统,被我蹂躏得机器的工程塑料黑皮已经有多处裂开并脱落,电池充满电也只能用个10分钟就没电了,即便如此,还是要感叹一下IBM时代Thinkpad质量的强悍,LCD依然明亮且没有出现任何边角发暗,显示器盖子开合依然很紧,键盘触感弹性依然很好,尤其喜欢钛合金骨架表面那性感的喷涂,摸起来真是爽啊 :) 。不过机器最大的问题在于原装的硬盘老化,虽然还没有出现过丢失数据的情况,但读写速度狂慢,成为系统瓶颈,开机一般要被windows、病毒和各种后门程序折磨15分钟以上才能打开浏览器窗口。

家里另外还有几台电脑:一台攒的台式机是日常主要使用的机器,E6600/4G mem/GF8600/22+19寸双LCD;另外一台04年的Dell台式机因为没地方放所以扔在储物间了;还有一台mac book小白,因为mac用起来不习惯,安装了windows系统,兼容性不好,老婆和我都不愿意用。为了把资源充分利用起来,我想到更新t23,这样老婆用t23上网的时候我可以台式机写程序,老婆用台式机看电影的时候我可以用t23连到办公室的机器上写程序。但这台笔记本硬盘是eide接口的,买块新硬盘大概要$70+,不划算。于是又想到了用t23建立一个无盘工作站,使用t23的cpu和内存,同时使用台式机的硬盘,根本不使用t23的硬盘,这样就解决了问题。
(全文…)

25项男人应该掌握的技能

2007年12月14号,星期五

从冯衍的blog上看到的25项男人应该掌握的技能,英文原文在这里。这25项技能是

1. Patch a radiator hose(修汽车散热器软管)
2. Protect your computer(保护你的电脑)
3. Rescue a boater who has capsized(营救翻船者)
4. Frame a wall(搭墙)
5. Retouch digital photos(润饰数码相片)
6. Back up a trailer(倒拖车)
7. Build a campfire(生篝火)
8. Fix a dead outlet(修插座)
9. Navigate with a map and compass(用地图和指南针找路)
10. Use a torque wrench(使用转矩扳手)
11. Sharpen a knife(磨刀)
12. Perform CPR(做心肺复苏急救)
13. Fillet a fish(剔鱼)
14. Maneuver a car out of a skid(操控打滑的汽车)
15. Get a car unstuck(把陷在泥里的汽车弄出来)
16. Back up data(备份数据)
17. Paint a room(刷房子)
18. Mix concrete(混水泥)
19. Clean a bolt-action rifle(清理闩锁式鸟枪)
20. Change oil and filter(更换汽车机油和滤清器)
21. Hook up an HDTV(接数字电视 HDTV)
22. Bleed brakes(换刹车油)
23. Paddle a canoe(划小船)
24. Fix a bike flat(修自行车胎)
25. Extend your wireless network(延伸你的无线网)

(全文…)