2009年8月21日星期五

警句

一个经济高速增长的国家,对那些收入增长缓慢的人群而言,是非常残酷的。房价如此,物价如此,很多地方都是如此。很多东西因为整个宏观经济的快速增长而水涨船高,但很多人的收入增长却没有跟上。

Stay Hungry, Stay Foolish(乔布斯)

苹果公司CEO斯蒂夫·乔布斯在2005年6月12日斯坦福大学毕业典礼上的演讲
  我今天很荣幸能和你们一起参加毕业典礼,斯坦福大学是世界上最好的大学之一,而我至今尚未从大学中毕业。说实话,这也许是我生命中离大学毕业最近的一天了。今天,我想告诉你们我生命中的三段经历,并非什么了不得的大事件,只是三个小故事而已。
  生命充满因缘际会
   我在里德大学呆了6个月就退学了,但之后仍作为旁听生混了18个月后才最终离开。故事要从我出生之前说起。我的生母是一名年轻的未婚妈妈,我出生时她还在读研究生,于是决定把我送给其他人收养。她坚持我应该被一对念过大学的夫妇收养,所以在我出生的时候,她已经为我被一名律师和他的太太收养做好了万全的准备。但在最后一刻,这对夫妇改变了收养一名男孩的主意。这时候选名单上的另外一对夫妇,也就是我的养父母决定收养我。但事后,我的生母才发现养母根本就没有从大学毕业,而养父甚至连高中都没有毕业,所以她拒绝签署最后的收养文件,直到几个月后,我的养父母保证会把我送到大学,她的态度才有所转变。
   17岁那年,我愚蠢地选择了一所几乎和斯坦福大学一样贵的学校。我父母处于蓝领阶层,他们几乎把所有积蓄都花在了我的学费上面。6个月之后,我发现自己完全不知道这样念下去究竟有什么用,所以决定退学。当时做这个决定的时候我其实是非常害怕的,现在回头去看,这是我一生所作出的最正确的决定之一。从我退学的那一刻起,我就再也不用去上那些我毫无兴趣的必修课了,并且开始旁听那些看来比较有意思的科目。
  但是这并不是那么罗曼蒂克。 因为自己没有宿舍,我只能睡在朋友房间的地板上;我去捡5美分的可乐瓶子,仅仅为了填饱肚子;在星期天的晚上,我需要走7英里的路程,穿过整个城市,只是为了能吃上饭———这个星期惟一一顿好一点的饭。但是我喜欢这样。我跟着我的直觉和好奇心走,遇到了很多东西,此后被证明是无价之宝。
   由于已经退学,不用再去上那些常规的课程,于是我选择了一个书法班,想学学怎样才能写出一手漂亮字。在这个班上,我学习了各种衬线和无衬线字体,改变不同字体组合间距的方法,以及如何做出漂亮的版式。那是一种科学永远无法捕捉的充满美感、历史感和艺术感的微妙事物,这太有意思了。
   当时,我压根儿没想到这些知识在我的生命中会有什么实际运用价值。但是10年之后,当我们设计第一款Macintosh电脑的时候,这些东西全排上了用场。我把当时我学的那些东西全都设计进了Mac。那是第一台使用了漂亮印刷字体的电脑。如果我当时没有退学,就不会有机会去参加这个我感兴趣的美术字课 程,Mac也就不会有这么多丰富的字体,以及赏心悦目的字体间距。现在个人电脑就不会有现在这些美妙的字型了。当我10年后回望当初这一切因缘际会时,真觉得生命非常神奇。
  当然,人不可能充满预见地将生命的点滴串联起来;只有在回头看的时候,你才会发现这些点点滴滴之间的联系。所以,一定要坚信,你现在所经历的将在你未来的生命中串联起来。你必须相信某些东西:自己的直觉,命运,勇气,因缘际会……正是这些信仰,让我不会失去希望,也让我的人生变得与众不同。
  在挫折面前不要停下脚步
   我是幸运的,在年轻的时候就知道了自己爱做什么。20岁的时候,我同斯蒂夫·沃兹尼亚克在我父母的车库里开创了苹果电脑公司。我们非常勤奋地工作。只用了10年时间,由两个穷光蛋组成的公司就扩展成拥有4000名员工的“庞然大物”,价值也达到20亿美金。在公司成立的第9年,刚推出了我们最好的产品 ———Macintosh电脑,当时我刚过而立之年。
  然后,我就被炒了鱿鱼。
  一个人怎么可以被他所创立的公司解雇呢?随着苹果的成长,我们雇用了一个很有天分的人和我一起管理这家公司,在头一年,我们配合默契。但后来,我们对公司未来的前景出现了分歧,于是两人之间出现了矛盾。而公司的董事会站在他那一边,所以在30岁的时候,我被踢出了局。
  在头几个月,我真不知道要做些什么。我成了人人皆知的失败者,也让与我一同创业的人很沮丧,我甚至想过逃离硅谷。但曙光渐渐出现,我发现自己还是喜欢曾经做过的那些事情。虽然被抛弃了,但热忱不改。所以我决定,重新开始!虽然当时没有看出来,但事实证明,被苹果开掉是我这一生所经历过的最棒的事情。因为,一个成功者的极乐感觉被一个创业者的轻松感觉重新代替,我对任何事情都不那么特别看重。这让我觉得无比自由,我的生命进入了一个最有创造力的阶段。
  在接下来的5年里,我开创了NeXT公司和Pixar公司,并且结识了后来成为我妻子的曼妙女郎劳伦斯。Pixar制作了世界上第一部完全数码制作的电影——— 《玩具总动员2》,现在这家公司是世界上最成功的动画制作公司之一。后来经历一系列的事件,苹果买下了NeXT,于是我又回到了苹果,我们在NeXT研发出的技术成为推动苹果复兴的核心动力之一。我和劳伦斯也拥有了美满的家庭生活。
  我非常肯定,如果没有被苹果炒掉,这一切都不可能在我身上发生。生活有时候就像一块板砖拍向你的脑袋,但不要丧失信心。热爱所从事的工作,是一直支持我不断前进的惟一理由。你得找出你的最爱,工作如此,爱人亦是如此。如果你到现在还没有找到这样一份工作,那么就继续找。伟大的工作只会在岁月的酝酿中越陈越香。所以,在你终有所获之前,不要停下你寻觅的脚步。不要停下!
  把每一天当作生命的终点
  在17岁那年,我读过一句格言,大概内容是:“如果你把每一天都当成生命里的最后一天,你将在某一天发现原来一切皆在掌握之中。”这句话从读到之日起,就对我产生了深远的影响。在过去33年里,我每天早晨都对着镜子问自己:“如果今天是我生命中的最后一天,我还愿意做我今天原本应该做的事情吗?”当一连好多天答案都是否定的时候,我就知道做出改变的时刻到了。
  所有的事情在面对死亡的时候,都将烟消云散,只留下真正重要的东西。在我所知道的各种方法中,提醒自己即将死去也是避免掉入“畏惧失去”这个陷阱的最好办法。而且这个方法能让你直面自己的内心。人赤条条地来,赤条条地走,没有理由不听你内心的呼唤。
   大约一年前,我被诊断出癌症。在早晨7:30我做了一个检查,扫描结果清楚地显示我的胰脏出现了一个肿瘤。我当时甚至不知道胰脏究竟是什么。医生告诉我,几乎可以确定这是一种不治之症,顶多还能活3至6个月。大夫建议我回家,把诸事安排妥当,这是医生对临终病人的标准用语。这意味着我得把今后10年要 对子女说的话用几个月的时间说完;这还意味着向众人告别的时间到了。
  我整天和那个诊断书一起生活。直到有一天早上医生给我做了一个切片检查。我使用了镇静剂,太太在旁边陪着我。结果,大夫们从显微镜下观察了细胞组织之后,惊讶得集体尖叫了起来。因为那是一种非常罕见的,可以通过手术治疗的胰脏癌。
  这是我最接近死亡的一次,在经历了这次与死神擦肩而过的经验之后,死亡对于我来说只是一项有效的判断工具,并且只是一个纯粹的理性概念。虽然我能够更肯定地告诉你们:没人想死;即使想去天堂的人,也是希望能够活着进去。
   你们还是新生代,但不久的将来你们也将逐渐老去,被送出人生的舞台。很抱歉说得这么富有戏剧性,但生命就是如此。你们的时间有限,所以不要把时间浪费在重复其他人的生活上。不要让他人的观点所发出的噪音淹没自己内心的声音。最为重要的是,要有遵从自己内心和直觉的勇气,它们可能已经知道你其实想成为一个什么样的人。其他事物都是次要的。
  在我年轻的时候,有一本非常棒的杂志叫《全球目录》。这本杂志的创办人是一个叫斯图尔特·布兰 德的家伙,他把这本杂志办得充满诗意,但可惜寿命不长。那是在70年代中期,我当时正处在你们现在的年龄。在这本杂志最后一期的封底,有一张清晨乡间公路的照片,非常赏心悦目。如果你喜欢搭车冒险旅行的话,经常会碰到这种小路。在照片下面有一排字:“求知若饥,虚心若愚。”这是他们停刊的告别留言。我也总是以此自省。现在,在你们毕业开始新生活的时候,我把这句话也送给你们。

加速 Ubuntu 降低CPU使用率

来自这篇文章 Feisty Performance - "Fly Like A Butterfly" (
中文翻译),作者总结了很多关于优化和加速 Feisty
的方法。按照下面的方法来做,到底有没有实际效果,就得大家试了才知道,至少我使用后,发现启动速度有了很大的提高。
注意:以下部分步骤如果修改错误,会导致系统无法启动,所以需要认真一点。
1、禁用 IPv6
目前 IPv6 还没有到来,Ubuntu 这个超前的功能暂时可以屏蔽掉,以加快速度。
编辑 sudo gedit /etc/modprobe.d/aliases,把:
alias net-pf-10 ipv6
修改为
alias net-pf-10 off #ipv6
2、并行运行开机启动脚本
/etc/init.d/
下面的都是启动脚本,默认这些脚本是按顺序启动的,实际上,如果你使用的是
SATA 或 SCSI 接口,可以并行启动这些脚本程序,加速启动过程。
使用 vi 编辑 sudo vi /etc/init.d/rc,把:
CONCURRENCY=none
修改为
CONCURRENCY=shell
3、将 localhost 化名为主机名
据说这个方法可以改善使用 Ubuntu 一段后,在 GNOME 中启动应用程序变慢的问题。
编辑 sudo gedit /etc/hosts,把:
127.0.0.1 localhost
127.0.1.1 Ubuntu
在第一行末尾加上主机名,也就是第二行的那个名字。
127.0.0.1 localhost Ubuntu
127.0.1.1 Ubuntu
4、禁用 Pango
Pango 是一个着重于国际化的,用于输出和文本渲染的库,但是这个库可能导致
Firefox 等一些程序占用过高的
CPU,所以我们可以禁用它。这样可以很好的降低CPU的使用率。
编辑 sudo gedit /etc/environment,添加:
MOZ_DISABLE_PANGO="1"
5、禁用 gettys
打开 sudo gedit /etc/event.d/tty3,把所有以 start 开头的行,用 # 注释掉。
6、安装 preload
可以把一些常用到的 lib 库和应用程序预加载到内存,以提高程序的启动速度。
sudo apt-get install preload
7、设置 swappiness
减少系统对于 swap
频繁的写入,将加快应用程序之间的切换,有助于提升系统性能。
系统默认为 60,你可以修改为 10:
sudo sysctl vm.swappiness=10
如果要让它开机自动设定,编辑 sudo gedit /etc/sysctl.conf 文件,加入:
vm.swappiness=10
8、使用 grub 的 profile 选项
grub 有个叫做 profile
的选项,它是一种系统启动时所要读取的所有的文件的索引,这样使得随后系统查找并且读取这些文件的速度就会加快。
在开机进入 grub 画面时按 esc 键,然后找到需要启动的内核,按 e
键,编辑启动参数,在后面加入 profile 后再按 b
进行启动。设置后,第一次开机需要建立索引,所以开机速度会慢一点,以后每次更新内核都需要这么做。
9、使用 sysv-rc-conf 关闭不必要的服务.
具体方法,请参考这里。
#############################################3
将localhost化名为主机名,编辑hosts文件,把127.0.0.1等于localhost和本机名写到一行中,比如:
127.0.0.1 localhost
127.0.1.1 fwolf_pcname
==> 变成
127.0.0.1 localhost fwolf_pcname
禁用ipv6,编辑/etc/modprobe.d/aliases:
alias net-pf-10 ipv6
==>
alias net-pf-10 off #ipv6
并行运行开机启动脚本,编辑/etc/init.d/rc:
CONCURRENCY=none
==>
CONCURRENCY=shell
但据说这种方法可能会造成启动问题,慎用,建议多核cpu才使用。
禁用Pango的输出和文本渲染,主要针对mozilla和firefox,可能会导致cpu占用过高。编辑/etc/environment,添加一行:
MOZ_DISABLE_PANGO="1"
关闭之后明显感觉到firefox的显示速度变快了,但显示形式也有了一些变化,比如<th>、网页标题的黑体字现在能体现了,但也感觉字体渲染略微"模糊"了一点点。
安装preload,它可以把一些常用到的库文件预加载到内存,用部分内存空间换取应用程序启动速度的提升。另外注意,prelink从Feisty
7.04起就没用了:
sudo apt-get install preload
禁用多余的虚拟终端,编辑/etc/inittab,把getty部分只留一个就可以了:
1:2345:respawn:/sbin/getty 38400 tty1
#2:23:respawn:/sbin/getty 38400 tty2
#3:23:respawn:/sbin/getty 38400 tty3
#4:23:respawn:/sbin/getty 38400 tty4
#5:23:respawn:/sbin/getty 38400 tty5
#6:23:respawn:/sbin/getty 38400 tty6
Ctrl+Alt+F2-F6就没东西了,F1是我们保留的终端,用于应急处理,F7就是正常的图形环境啦。
注:有些情况下这样好像不行,还要编辑/etc/event.d/tty2,把start开头的两行都注释掉,3456都如法炮制,依然只保留1,再用热键切换过去就是空空的一个提示符了。
调整hdparm加速硬盘,编辑/etc/hdparm.conf,参考内容如下:
/dev/sda {
dma = on
io32_support = 1
mult_sect_io = 32
}
对于内存充足的机器减少对swap的使用,编辑/etc/sysctl.conf,添加:
vm.swappiness=10
这个数值的默认值为60,越小对swap的写入可能就越小,有网友说1G内存调整为5感觉最合适,建议至少512M内存以上再调整这个数值,设为0的话就几乎等于不实用swap了。
使用LVM,但暂时没有进一步的资料。
用bootchart协助,优化系统启动过程,对耗时较多的过程进行优化。
使用bum关闭掉不需要的服务,不推荐用sysv-rc-conf的原因是bum对服务、进程有比较详细的解释说明。
如果fstab中挂有外部磁盘,启动时不需要检测,可以把pass设置为0(fstab中最后一列)。如果在安装系统时就选用更合理的分区方案、分区类型(比如XFS)效果更佳。
现在应该都在用6.10
Edgy之后的发行版了,如果是486机器,请选用386内核;P4以后的机器,包括同期的AMD,请选用generic内核;服务器请选用linux-
server内核,会有一点点的性能提升,maybe。参考Difference between
linux-generic, linux-386。
用deborphan删除不用的库文件:
sudo deborphan | xargs sudo apt-get -y remove --purge