Jayuh Blog

史蒂夫·乔布斯在斯坦福大学2005年毕业典礼上的演讲

我今天很荣幸能和你们一起参加毕业典礼,斯坦福大学是世界上最好的大学之一。我从来没有从大学中毕业,说实话,今天也许是我有生以来离大学毕业典礼最近的一天了。今天我想向你们讲述我生活中的三个故事。不是什么大不了的,只是三个故事而已。

第一个故事是关于如何串起生命中的点点滴滴。

我在Reed大学读了六个月之后就退学了,但之后作为旁听生又混了十八个月以后才真正离开。我为什么要退学呢?

故事从我出生的时候讲起。我的亲生母亲是一个年轻的、没有结婚的大学毕业生。她决定让别人收养我, 但她觉得我一定要被大学毕业生收养。所以她安排好了我出生时将被一个律师和他的妻子所收养。但是她没有料到,当我出生之后, 律师夫妇突然决定他们想要一个女孩。所以我的生养父母(他们在待选名单上)突然在半夜接到了一个电话:”我们现在这儿有一个不小心生出来的男婴,你们想要他吗?”他们回答道: “当然!”但是我亲生母亲随后发现,我的养母从来没有上过大学,我的养父甚至从没有读过高中。她拒绝签署收养合同。只是在几个月以后,我的父母答应她一定要让我上大学,那个时候她才软化同意。

在十七岁那年,我真的上了大学。但是我很愚蠢的选择了一个几乎和你们斯坦福大学一样贵的学校, 我父母是蓝领阶层,他们几乎把所有积蓄都花在了我的学费上面。在六个月后, 我已经看不到其中的价值所在。我不知道我真正想要做什么,我也不知道大学能怎样帮助我找到答案。但是在这里,我几乎花光了我父母这一辈子的 全部积蓄。所以我决定要退学,我觉得这是个正确的决定。不能否认,我当时确实非常的害怕, 但是现在回头看看,那的确是我这一生中最棒的一个决定。在我做出退学决定的那一刻, 我终于可以不必去读那些令我提不起丝毫兴趣的课,并可以开始去修那些看起来有点意思的课程。

但是这并不是那么罗曼蒂克。我失去了我的宿舍,所以我只能在朋友房间的地板上睡觉,我去捡可以换5美分的可乐罐,仅仅为了填饱肚子, 在星期天的晚上,我需要走七英里的路程,穿过城市到Hare Krishna神庙,只是为了能吃上好饭——这个星期唯一一顿好一点的饭,我喜欢那里的饭菜。

我跟着我的直觉和好奇心走, 遇到的很多东西, 此后被证明是无价之宝。让我给你们举一个例子吧:

Reed大学在那时提供也许是全美最好的美术字课程。在这个大学里面的每个海报, 每个抽屉的标签上面全都是漂亮的美术字。因为我退学了, 不必去上正规的课程, 所以我决定去参加这个课程,去学学怎样写出漂亮的美术字。我学到了san serif 和serif字体, 我学会了怎么样在不同的字母组合之中改变空白间距, 还有怎么样才能作出最棒的印刷式样。那种美好、历史感和艺术精妙,是科学永远不能捕捉到的, 我发现那实在是太迷人了。

当时看起来这些东西在我的生命中好像都没有什么实际应用的可能。但是十年之后,当我们在设计第一台Macintosh电脑的时候,就不是那样了。我把当时我学的那些东西全都设计进了Mac。那是第一台使用了漂亮的印刷字体的电脑。如果我当时没有退学, 就不会有机会去参加这个我感兴趣的美术字课程, Mac就不会有这么多丰富的字体以及赏心悦目的字体间距。因为Windows只是抄袭了Mac,所以现在个人电脑就不会有现在这么美妙的字型了。

当然我在大学的时候,还不可能把从前的点点滴滴串连起来,但是当我十年后回顾这一切的时候,真的豁然开朗了。

再次说明的是,你在向未来展望的时候不可能将这些片断串连起来,你只能在回顾的时候串起他们。所以你必须相信这些片断会在你未来的某一天串连起来,你必须要相信某些东西:你的勇气、目的、生命、因缘……这个过程从来没有令我失望,只是让我的生命更加地与众不同。

我的第二个故事是关于爱和失去。

我非常幸运, 因为我在很早的时候就找到了我钟爱的东西。Woz和我在二十岁的时候就在父母的车库里面开创了苹果公司。我们工作得很努力, 十年之后, 这个公司从那两个车库中的穷小子发展到了超过四千名的雇员、价值超过二十亿的大公司。在公司成立的第九年,我们刚刚发布了最好的产品,那就是Macintosh。我也快要到三十岁了。在那一年, 我被炒了鱿鱼。你怎么可能被你自己创立的公司炒了鱿鱼呢? 嗯,在苹果快速成长的时候,我们雇用了一个很有天分的家伙和我一起管理这个公司, 在最初的几年,公司运转的很好。但是后来我们对未来的看法发生了分歧, 最终我们吵了起来。当争吵得不可开交的时候, 董事会站在了他的那一边。所以在三十岁的时候, 我被炒了。在这么多人目光下我被炒了。在而立之年,我生命的全部支柱离自己远去, 这真是毁灭性的打击。

在最初的几个月里,我真是不知道该做些什么。我觉得我令上一代的创业家们很失望,我把他们交给我的接力棒弄丢了。我和创办惠普的David Pack、创办Intel的Bob Noyce见面,并试图向他们道歉。我把事情弄得糟糕透顶了。但是我渐渐发现了曙光, 我仍然热爱我从事的这些东西。苹果公司发生的这些事情丝毫的没有改变这些, 一点也没有。我被驱逐了,但是我仍然钟爱我所做的事情。所以我决定从头再来。

我当时没有觉察, 但是事后证明, 从苹果公司被炒是我这辈子发生的最棒的事情。因为,作为一个成功者的负重感被作为一个创业者的轻松感觉所重新代替, 没有比这更确定的事情了。这让我觉得如此自由, 进入了我生命中最有创造力的一个阶段。

在接下来的五年里, 我创立了一个名叫NeXT的公司, 还有一个叫Pixar的公司, 然后和一个后来成为我妻子的优雅女人相识。Pixar 制作了世界上第一个电脑动画电影——”玩具总动员”,Pixar现在也是世界上最成功的电脑制作工作室。在后来的一系列运作中,Apple收购了NeXT, 然后我又回到了Apple公司。我们在NeXT发展的技术在Apple的今天的复兴之中发挥了关键的作用。而且,我还和Laurence 一起建立了一个幸福完美的家庭。

我可以非常肯定,如果我不被Apple开除的话, 这其中一件事情也不会发生的。这个良药的味道实在是很苦,但是我想病人需要这个药。有些时候, 生活会拿起一块砖头向你的脑袋上猛拍一下,不要失去信仰。我很清楚唯一使我一直走下去的,就是我做的事情令我无比钟爱。你需要去找到你所爱的东西。对于工作是如此, 对于你的爱人也是如此。你的工作将会占据生活中很大的一部分。你只有相信自己所做的是伟大的工作, 你才能怡然自得。如果你现在还没有找到, 那么继续找、不要停下来,只要全心全意的去找, 在你找到的时候,你的心会告诉你的。就像任何真诚的关系, 随着岁月的流逝只会越来越紧密。所以继续找,直到你找到它,不要停下来!

我的第三个故事是关于死亡的。

当我十七岁的时候, 我读到了一句话:”如果你把每一天都当作生命中最后一天去生活的话,那么有一天你会发现你是正确的。”这句话给我留下了一个印象。从那时开始,过了33 年,我在每天早晨都会对着镜子问自己:”如果今天是我生命中的最后一天, 你会不会完成你今天想做的事情呢?”当答案连续多天是”No”的时候, 我知道自己需要改变某些事情了。

“记住你即将死去”是我一生中遇到的最重要箴言。它帮我指明了生命中重要的选择。因为几乎所有的事情, 包括所有的荣誉、所有的骄傲、所有对难堪和失败的恐惧,这些在死亡面前都会微不足道。我看到的是留下的真正重要的东西。你有时候会思考你将会失去某些东西, “记住你即将死去”是我知道的避免这些想法的最好办法。如果你清空一切, 你没有理由不去跟随自己内心的声音。

大概一年以前, 我被诊断出癌症。我在早晨七点半做了一个检查, 检查清楚的显示在我的胰腺有一个肿瘤。我当时都不知道胰腺是什么东西。医生告诉我那很可能是一种无法治愈的癌症, 我至多还能活三到六个月的时间。我的医生叫我回家, 然后整理好我的一切, 那是医生对临终病人的标准程序。那意味着你将要把未来十年对你小孩说的话在几个月里面说完.;那意味着把每件事情都安排好, 让你的家人会尽可能轻松的生活;那意味着你要说”再见了”。

我拿着那个诊断书过了一整天,那天晚上我作了一个活切片检查,医生将一个内窥镜从我的喉咙伸进去,通过我的胃, 然后进入我的肠子, 用一根针在我的胰腺上的肿瘤上取了几个细胞。我当时是被麻醉的,但是我的妻子在那里, 后来她告诉我,当医生在显微镜下观察这些细胞的时候他们开始尖叫, 因为这些细胞最后竟然是一种非常罕见的可以用手术治愈的胰腺癌症细胞。我做了这个手术, 现在我痊愈了。

那是我最接近死亡的时候, 我希望这也是以后的几十年最接近的一次。从死亡线上又活了过来,相对于以前只把死亡只当成一 种想象中的概念,我现在可以更肯定一点地对你们说:

没有人愿意死, 即使人们想上天堂, 也不会为了去那里而死。但是死亡是我们每个人共同的终点。从来没有人能够逃脱它。也应该如此。因为死亡就是生命中最好的一个发明。它将旧的清除以便给新的让路。你们现在是新的, 但是从现在开始不久以后, 你们将会逐渐的变成旧的然后被送离人生舞台。我很抱歉这很戏剧性, 但是这十分的真实。

你们的时间很有限, 所以不要将他们浪费在重复其他人的生活上。不要被教条束缚,那意味着你和其他人思考的结果一起生活。不要被其他人喧嚣的观点掩盖你真正的内心的声音。还有最重要的是, 你要有勇气去听从你直觉和心灵的指示——它们在某种程度上知道你想要成为什么样子,所有其他的事情都是次要的。

当我年轻的时候, 有一本叫做”整个地球的目录”振聋发聩的杂志,它是我们那一代人的圣经之一。它是一个叫Stewart Brand的家伙在离这里不远的Menlo Park编辑的, 他象诗一般神奇地将这本书带到了这个世界。那是六十年代后期, 在个人电脑出现之前, 所以这本书全部是用打字机,剪刀还有拍立得照相机编辑的。有点像用软皮包装的google, 在google出现三十五年之前:这是理想主义的,其中有许多灵巧的工具和伟大的想法。

Stewart和他的伙伴出版了几期的”整个地球的目录”,当它完成了自己使命的时候, 他们做出了最后一期的目录。那是在七十年代的中期, 我正是你们的年纪。在最后一期的封底上是清晨乡村公路的照片(如果你有足够冒险精神的话,你就可以自己找到这条路。),在照片之下有这样一段话:”求知若饥,虚心若愚。”这是他们的告别语。”求知若饥,虚心若愚。”我总是希望自己能够那样,现在, 在你们即将毕业,开始新的旅程的时候, 我也希望你们能这样:

求知若饥,虚心若愚。

非常感谢你们

使用n(Node版本管理)切换版本后,node并没有更新

使用n(Node版本管理)切换版本后,node并没有更新:

网上查了好长时间,大部分讲的是Node安装目录没有安装到默认的目录/usr/local,导致n将文件复制到目录时找不到对应的目录,所以没有生效。可我本地的Node是安装在/usr/local下的呀。

手动删除n下面的文件时,提示需要输入密码。
最终灵机一动,想到了:可能是权限的问题,于是执行命令:sudo n,再次执行node -v命令,OK。

> node -v
  v4.2.2
> sudo n
    4.4.2
  o 6.2.2
> node -v
  v6.2.2

 

NodeJS中获取时间戳的方法及其性能对比

一共有5中方法(执行效率依次降低)

Date.now();
new Date().getTime();
+new Date();
process.uptime();
process.hrtime();

解释

Date.now()、new Date().getTime() 和 +new Date() 是浏览器环境下一直都有的,自然不必多说。

process.uptime() 返回的是Node程序已运行的时间,单位秒。

process.hrtime() 返回的是当前的高分辨率时间,格式为[秒, 纳秒]。它是相对于在过去的任意时间,该值与日期无关。优点是:可以获得一个非常精准的时间差,不会受到时钟飘逸的影响;缺点是:速度慢。

结论

要获取一个非常精确地时间间隔,用 process.hrtime();大量循环获取时间戳的时候,要考虑性能,用 Date.now()。

监测性能的代码

function getTimeDifference(method, time) {
	var count = time || '100000';
	console.time(method);
	while (count) {
		eval(method);
		count--;
	}
	console.timeEnd(method);
}
getTimeDifference('Date.now()');
getTimeDifference('process.uptime()');
getTimeDifference('new Date().getTime()');
getTimeDifference('+ new Date()');
getTimeDifference('process.hrtime()');

 

Mac下Chrome浏览器设置跨域

前端开发经常会遇到跨域的问题,尤其是本地开发,经常需要调后端同事电脑或测试环境的地址,这就对本地开发阶段造成了一些困扰。好在一些浏览器对开发者提供了“禁用安全模式”,前端ER们在本地开发的时候就不用考虑跨域的问题了,各终端的命令如下:

Mac下的Chrome:

# 49以前的版本
open -a "Google Chrome" --args --disable-web-security

# 49以后的版本
open -a /Applications/Google\ Chrome.app --args --disable-web-security --user-data-dir

Windows下的Chrome:

chrome.exe --disable-web-security

Mac下的Safari:

open -a '/Applications/Safari.app' --args --disable-web-security

Windows下的Safari:

C:\Program Files\Safari\Safari.exe --disable-web-security

 

当前主题各浏览器首屏效果

由于之前租用的虚拟空间有诸多限制,且经常出现当机现象,于是在还未用完一年的时候(即今天),果断换空间商!

晚上无聊,看一下自己博客在各浏览器的兼容性。每天在工作中兼容各浏览器的我,在给自己做这个主题的时候,完全就没考虑什么兼容性,哈哈哈哈。

首先是IE5.5,跟没有加载样式似的!哈哈,不了解它。
IE5.5
(更多…)

↑回顶部