互联网之子 – Aaron Swartz
1986年11月8日,有个叫Aaron Swartz的人在美国芝加哥伊利诺伊州出生。因为他父母创办了一个软件公司,所以,Aaron在3岁的时候就接触到了电脑,然后就着迷了。
我们先通过Aaron Swartz 的青少年时期来看一下他是怎么样的一个天才:
12岁的时候Aaron就创建了一个类似于Wikipedia式的网站(那时还没有Wikipedia),13岁的时候,Aaron赢得为年轻人而设,创作教育及协同非商业网站的ArsDigita Prize比赛首名。 奖品包括参观麻省理工学院及与网际网路界的知名人士见会。
14岁的时候,他就成为了RSS1.0的开发组的一员。(后来,他和 John Gruber一起开发了Markdown)
15岁的时候,进入W3C的 RDF 核心工作组,并写了RFC3870——这个文档描述了一个新的media type – “RDF/XML“,用于定义互联网上的“语义网络”
17岁进入斯坦福大学,1年半后,18岁的时候因为受不了教条式的教育缀学,并通过Y Combinator公司的夏季创办人计划成立Infogami软件公司,在那 ...
“作环保的程序员,从不用百度开始”
酷壳对来自百度搜索引擎的访问会弹窗,但是我的这个行为发酵出了一些事情,这里把这个事情说明如下,我会更新相关的东西。内行看门道,外行看热闹。
事由
2月6日 看到梁斌同学的微博(起因可能是因为梁斌同学在微博上对帮助百度的一些工程师们说话导致他的“微博寻人”全站被百度屏蔽)
我看到后,觉得梁斌同学有点太看重被百度收录了,没有站长应该有的气质,所以,我回了一个微博——
“我的酷壳倒反而因为被百度收录而感到掉价!”
2月6日当天,我给coolshell做了个弹窗,并发布微博—— (该微博目前已被新浪管理员删除,后面有说明)
“搞定收工!从百度访问过来的访问弹出对话框。(CoolShell上的网页有缓存,要过些时间才有效)”
2月21日:百度的法律顾问发来邮件。
From: [email protected]
To: [email protected]
CC: [email protected]
Subject: 答复: 网站coolshell.cn弹窗事宜
Date: Thu, 21 Feb 2013 07:05: ...
xkcd 神图“Click and Drag”
xkcd对于经常浏览国外网站的朋友一定不会陌生。不过,还是先让我来介绍一下xkcd(维基百科词条)。这是一个漫画网站,它主要是发布一些很简单的随手画的漫画,它主要有四种体裁——浪漫、讽刺、数学 和 语言。也会经常出现一些和IT有关的漫画,比如下面这个漫画—— (懂Unix的人一眼就看懂了,不懂的怎么看也看不懂)
本质上来说,xkcd是一种Geek文化,里面的东西都非常的Geek和晦涩,讽刺很辛辣,但很多只有特定人群可以看得懂。而且表达的形式自由到天马行空,飘忽不定。
xkcd.com的网站创建者、所有的漫画的作者叫Randall Munroe,他以前在 NASA工作,是那里的Roboticist——机器人专家,80后,同样,也是一个程序员。他还会画漫画。
xkcd是他于2005年创建的,他本来只是想把他大学里在记事本里画的漫画放到他的个人主页上,但结果却搞成了一个独立的以漫画为主的网站,他用他画的这些漫画做成T恤卖。为什么要取名叫xkcd,据Munroe说,这四个字母,没有任何意义,就是为了让人不能把他们通过拼成一个单词读出来。现在他全职在搞xkcd.com。他现在一周会更新三次 ...
对九个超级程序员的采访
原文:《Q&A With Nine Great Programmers》时间有限,我只能粗译,难免错误。
这篇访谈源自2006年,最先发布在波兰程序员 Jaroslaw “sztywny” Rzeszótko (AKA “Stiff”) 的博客上。但是这篇博文现在找不到了。非常感谢他能授权我重新发布这个博文。
在一个炎热无聊的下午,我突发奇想。我想通过电子邮件的方式对那些我非常感兴趣和非常敬重的程序员问10个问题。准备这10个问题我只花了5分钟,这些都是我个人想问他们的问题,所以,我基本上没想太多要问他们什么。最后两个问题和编程没有什么关系,我就是想问题这些人的一些兴趣爱好。另外,不是每一个人都想回答我的,这是我第一次做“访谈”,所以,我犯了一些错误,一些问题没有得到回答。不管怎么样,我得到了很多很有意思的内容,所以,这对我绝对是一次很有意义的经历。
并不是每一个人都回了我的邮件,也并不是每一个人都同意回答我的这些问题,也许在我发布这篇文章后我会得到那些回答,但是我已经迫不及待想把这些东西发布了,所以,我可能会更新这篇文章(更新:2006年3月8日,我收到了Bjarne St ...
游戏:VIM大冒险
不知道大家是否还记得“Vim简明攻略”呢?你是不是对Vim的那一大堆热键很头痛呢?现在好好,下面这个游戏是一个使用VIM热键玩的游戏。你可以在玩游戏的过程中熟悉Vim的热键。
你可以点击图片,或是图片下的网址打开这个游戏
http://vim-adventures.com/
我试玩了一下这个游戏,真的很不错,下面是一些我给的游戏攻略。
第一关,场景一,首先是使用vim的h, j, k, l四个键来控制方向。(如果你妄图使用光标键的话,系统会出现黄色警告的)你需要使用h, j, k, l 四个方向走到图的右边,找到一把钥匙。(注意:迷宫墙上有些斜面,你可以通过斜面),找到钥匙后,钥匙会出现在你的右上角的位置,示意着你的光标要向那个方向移动,当你到达一个门的时候,会自动开门,进入第二关。
第二关,每一关的小人都会给你一些英文提示,教你怎么玩。关于第二关,你会看到你过不去,小会提示你,那些绿草地就向我们文件中的行,你在行上按上下键,光标会在这一列上移动,如果这一下面的一行没有这么长,光标会到行尾。这个vim的特性会告诉我们如何过这一关——移到最上面的行尾(因为是最长的可以越过 ...
SteveY对Amazon和Google平台的吐槽
Steve Yegge, Amazon的前员工,现任Google员工,其本来想在Google+上和Google的员工讨论一些关于平台的东西,结果不小心把圈子设成了Public,结果这篇文章就公开给了全世界,引起了剧烈的反应。发布后很快他就马上把这篇文章删了,不过,互联网上早备份了下来——SteveY’s Google Platforms Rant。后来,Steve在其Google+上作了一些解释,大体是说他喝多了,而且又是在凌晨,所以大脑不清,文章中的观点很主观,极端且不完整,还有Google的PR对他很好,等等,等等 。
几个星期前看到时就一直都想翻译一下这篇文章,不过因为最近事情太多,文章又很长,所以现在才翻译完成,翻译的不好,还请大家指正。
导读
在你阅读正文以前,我想说明几点,希望你注意一下:
Steve这个人非常喜欢写长篇大论的东西。而且比较喜欢辛辣调侃和恶搞的文风,这点大家要注意!
文中先“骂”Amazon公司,再通过“骂”Amazon的创始人贝索斯Bezos并烘托出他的的悟性和雄心,最后教育了一下Google。
我把文章分成了三个部分,这样方便大家阅读和 ...
Stay Hungry, Stay Foolish !!
在整个社会都在关注乔帮主的时候,我想在这里和大家分享一个真实的就在我们程序员身边的故事。和我在《如果你看不见你还能编吗?》一文里介绍的那些盲人程序员一样,同样是Stay Hungry, Stay Foolish。但我个人更认为我今天想要给大家讲述的这个故事对于我们这些普通人更有意义一些。我真心的希望大家认真看完这个“从刷厕所到程序员”故事后,我们能从中感悟到点什么。
因为朋友的原因,我和一个创业团队经常有些往来,通过这个团队,我认识了这个故事的主人翁——王平(@wpingsuper)。其实,很早前他在Google Reader和Buzz里follow了我,但我从没和他交流过。而他的经历我却是在上周末去看望这个创业团队的时候才听说。我问他们要了王平的电话,联系了王平,详细地了解了王平的经历,并征得他的同意,在这里给大家分享他的故事。
王平是一个贵州人,03年大学毕业,体育专业,没有任何家庭背景,只能在贵州的山区里的一个中学里当体育老师,月薪150元。可能和大多数心怀梦想的年轻人一样,他并不甘心,从03年到05年间,他有好多次到北京,他觉得在大城市里有他的梦想。于是,他在04年底,05年 ...
10大经典错误
下面是10、11个经典的错误,升序排名。希望大家补充!
目录
10、DOS的Abort,Retry, Fail?错误
9、Windows Vista 的红屏错误
8、PC机的开机报警
7、Twitter的大鲸鱼
6、Kernel Panic
5、Windows的非法操作
4、Windows RPC Error
3、Xbox 360 三红错误
2、Web上的404错误
1、Windows 蓝屏错误
0、该页无法显示错误
10、DOS的Abort,Retry, Fail?错误
85年以后出生的人可能不知道DOS是什么了,只有那老家伙还知道这是什么。我还记得当时的我对于Abort和Fail这两个选择还是比较清楚的,不过,今天完全忘记了Abort和Fail的差别是什么?这个出是DOS下的经常出现,也相当的经典,以至于在Wikepedia上都有专门的业面 Abort, Retry, Fail?。简称为ARF。当然,ARI – Abort, Retry, Ignore?
9、Wind ...
你确信你了解时间吗?
你还记得“软件真的好难做”中的那个有意思的例子吗?那个例子告诉我们软件开发中假设可能会是致命的事。今天,我又在StackOverflow上看到一个关于时间的问题——为什么1927年12月31日的午夜时间这么奇怪?提问题的这个人给了下面的一段java代码(我做一些修改,保证让你可以copy过去就可以编译运行)
我在其中高亮了几行,这个程序就是想比较一下“1927-12-31 23:54:07” 和 “1927-12-31 23:54:08” 差几秒,很明显,是差一秒。但是程序的输出却不是这样的。
import java.text.SimpleDateFormat;
import java.text.ParseException;
import java.util.Date;
import java.util.TimeZone;
class time{
public static void main(String[] args) throws ParseException {
SimpleDateFormat sf = new Simple ...
我有一个Hello World的C++程序编译不过
在StackOverflow上有这样一个贴子,楼主说,我有下面这样的一个C++程序,为什么编译不通过啊。其让我想起了以前的这两个帖子《编程真难啊》和《给我一个序列号》。仅以此篇文章祝大家假期快乐吧。
hello world 程序
楼主还给出了相关的编译出错的信息(相信你一看就明白问题在哪里了,你应该还会发出一声“靠”!!!)
先是用Visual C++ 2010编译
c:\dev>cl /nologo helloworld.png
cl : Command line warning D9024 : unrecognized source file type 'helloworld.png', object file assumed
helloworld.png : fatal error LNK1107: invalid or corrupt file: cannot read at 0x5172
再用G++ 4.5.2编译
c:\dev>g++ helloworld.png
helloworld.png: file not recognized: ...
计算机专业学生的大学生活
下面看到某国外的同学描述的自己的大学生活,呵呵。做一下解释,
正常的生活是,10点到17点上课,17点到22点是放松和work(chill相当于relax),22点到凌晨1点是社交活动,然后睡8小时。
计算机专业的学生的生活是,只要你脑子还在转就work,脑子不转了,就睡2小时。(
原来,国外的计算机大学的同学们在大学时就已在疯狂工作了,课都不上)(work是在校的学术作业项目(谢谢网友rho指正))
计算机专业学生的大学生活
不过,看了一下上面的代码,我发现了两个问题:
sleep(2),在posix下是秒,在windows下是毫秒。
(hour >= 22 && hour < 1) 这个表达式永假。正确的是(hour >= 22 || hour < 1)
当然,我们并不能下结论——该同学的在学校里并没有学好编程。因为,你不知道Sleep 和 && 有没有被重载了。(你要把&&在某些情况下重载成||的行为也不是不可能 。注:在c++中,你无法重载 ...
WordPress是怎么赢的?
一个以前在Six Apart工作4年的产品经理Byrne Reese发布了一篇文章阐述为什么WordPress成为了赢家。其在文章中比较了WordPress和其主要竞争对手产品Movable Type。我觉得其中有可取之处,本想全文翻译的,后来觉得文章太长,翻译太花时间,所以,我把文章中的观点总结如下。
作者例举了如下为什么WordPress会赢的理由:
一、Movable Type许可证,而WordPress是开源的
2004年,Movable Type修改了其许可证,这一举动激怒了所有Movable Type的用户,于是大家纷纷转投Wordpress,这是WordPress最终成为赢家最大的原因。就算是Movable Type有着优越的设计,优越的功能,还有优越的技术支持,但是面对的是一个完全免费的产品也没有办法。因为WordPress是开源的,开源就意味着完全免费,而Movable Type一开始也是免费的,但是其许可证策略有着很不确定的因素。(注:2007年Movable Type发布了开源版本)
二、WordPress很容易安装
WordPress的安装过程很简单,只需要不 ...
为啥搞电脑的会有这么多空闲时间?
解释一下:
Web程序员—— “正在上传中……”
系统管理员——“正在启动中……”
黑客——“黑客脚本放出去了……”
3D动画制作——“正在渲染中……”
咨询顾问——“现在是你的问题了……”
程序员——“正在编译中……”
Error handling in Egypt
以前发布过《C语言的错误处理》一文,不过今天想说的是Egypt的“错误处理”。埃及的事闹得挺大的,国外和中文twitter上更是炸了锅。不要以为程序员就只会写程序——看看程序员举出来的标语吧。呵呵。
Error handling in Egypt
当然,作为程序员来说,这段代码显然还需要重构:
try{
elections(free,fare);
} catch(DemocracyNotFoundException){
System.err.println("Time for Mubarak to leave");
}
也有的程序员说,System.err.println不是处理错误的最好方法,正确的方法应该是:
try {
elections(free,fair);
} catch (DemocracyNotFoundException e) {
throw new MubarakDepartureParty(e);
}
最后,我们希望Egypt不要出现:
...
finally {
Security.shootProte ...
Linux的cycle日历(你懂的)
这是一个开源项目:http://cycle.sourceforge.net/,其是用python写的。在项目的主页上说,这是一个给妇女用的日历程序,叫cycle,周期,给妇女的,我不多说了,你懂的。下面是一些介绍(请大家注意学习相关的英文单词)
当然,这个小程序不单单只是查看妇女的“周期”(menstruation),其还提供了以下的功能:
第一次的周期 – 在日历上显示为粉色。menstruation周期长度由用户输入的六次周期取平均值确定。
排卵期(Ovulation day)- 在日历上显示为亮绿色,
受精期 (Fertile period)- 在日历上显示为绿色
安全期(Safe Sex)
预产期(Date of birth)
还允许你记一些notes – 医生建议你服用一些荷尔蒙避孕药(hormonal contraceptive)
下面是屏幕截图 ——
注意以下的免责条款:
本程序并不能成为一种避孕的方法。
本程序也不能阻止各种性传染病,如:AIDS
本程序更不能取代你的妇科医生。
流体力学的演示
某人用Java搞了一个流体力学的演示。
http://grantkot.com/MPM/Liquid.html
不过,这仅仅是个开始。某同学将其发布上了reddit.com,于是,全世界的同学们开始给力了——
Flash的开发者首先不服,搞了个 flash版(带源码):
http://wonderfl.net/c/yxe9
看到了Flash版,Javascript+HTML5的同学们也不干了,于是出现HTML5版(带源码):
http://www.music.mcgill.ca/~sinclair/content/blog/liquid_simulator_ported_to_canvas
不过性能慢了很多,所以,又有人优化了一下HTML5版的程序:
http://jsbin.com/unovo4
SVG的同学们也不甘寂寞,不过,那真叫一个慢啊。
http://ulo.pe/js-liquid-svg/
这个时候,C/C++同学出来了,使用SDL库也搞了一个:
http://q3k.org/fluidsim.zip
——————
短短几天里,被人重写成各种语言。这个程序写起来真的 ...
用Google Translate玩转beat box
在Reddit上有人发布了怎么使用Google的翻译来玩beat box,很有趣,转过来。
下面是相关步骤:
1) Go to Google Translate
2) 把翻译语言设置成从 German 翻译到 German。(德语)
3) 拷贝粘贴这个字符串到translate中:
pv zk pv pv zk pv zk kz zk pv pv pv zk pv zk zk pzk pzk pvzkpkzvpvzk kkkkkk bsch
4) 把声音开大,点击“朗读”,
另,如果你在Google里以 “Google beatbox” 作为关键词搜索,你会看到 Google Translate出现在最前面的搜索结果中。
你和你的工作
源文:http://youtheuser.com/2010/10/04/you-and-your-job/,有人说下面的这个文章太过Crazy,有人说下面的这个文章是猎头的软文,你换工作换得越多,他们才能越挣钱。我的观点的,先别否定他的观点,试着去理解一下为什么他要这么说,你会发现还有一些道理的。然后,想一想,自己需要的是什么?一份工作?还是一份经历?还是不断的自我挑战?相信你会有知道该怎么去做的。当然,“离职”是最后一步棋,在此前,我更希望你能尝试地在你现在工作环境下去改变去影响。
“The role of a manager should be to ensure that those that work for him/her eventually leave and go onto bigger and better things” — Mark Plant
如果你对你的工作不高兴——离开,如果每天早上你对你的工作没有激情——无论你在干什么你都要停下来。
因为这就是我们赖以生存的东西。
如果你的工作没有挑战性 – leave.
如果你在混你的工作 – ...
主流文本编辑器学习曲线
下图是几个经典的文本编辑器的学习曲线,不排除其中有调侃和幽默的味道。
主流编辑器学习曲线图
注1:Pico(PIne COmposer)是Unix操作系统中最常见的三种文字处理软件之一,具有文字编辑、搜索、拼写检查、文件浏览和段对齐功能,适合高效地编辑短小的文件。Pico是由华盛顿大学开发的免费软件,随着pine电子邮件处理软件发布。它是在Emacs的基础上以pine的邮件编辑为目标而开发的,所以其指令集是Emacs的子集,但是由于在界面上有提示快捷键,相对于vi和Emacs来说更加容易使用。由于Pico虽然是免费软件,但是它并不是开源软件,所以很多Linux版本并不包含Pico。这些版本通常提供一个界面类似的开源软件nano——Pico的克隆版。
注2:图中的纵横坐标没有标明。我所理解的是——X轴是熟练程度,Y轴是技能。于是对于notepad 来说,技能和熟练程度呈正比。对于VS来说,熟练程度越大,所需要技能先是越来越多,而随着熟练程度的增长,你需要的技能也越少。而对于VI来说,一开始就需要相当大的技能,但一旦掌握这些技能,则你将会越来越熟练。而对于e ...
Kick Ass小游戏
还记得以前那个在IE的已打开的网页上的网址里输入一段javascript的代码后,你会发现这个页面里所有的图片元素都动了起来:(只能在IE浏览器里,Chrome和Firefox无效)
javascript:R=0; x1=.1; y1=.05; x2=.25; y2=.24; x3=1.6; y3=.24; x4=300; y4=200; x5=300; y5=200; DI=document.images; DIL=DI.length; function A(){for(i=0; i-DIL; i++){DIS=DI[ i ].style; DIS.position=’absolute’; DIS.left=Math.sin(R*x1+i*x2+x3)*x4+x5; DIS.top=Math.cos(R*y1+i*y2+y3)*y4+y5}R++}setInterval(‘A()’,5); void(0);
很类似一个叫Erik Rothoff Andersson的人又搞了Kick Ass的游戏,代码如下:(用了一个js文件,所以就显得没有那么复杂了,但只能在Chrome和F ...