Erlang:写作的历史

Erlang现在25岁了。我从最开始就接触了Erlang,看着它从一个想法成长为一个拥有大量用户的、完全成熟的编程语言。

我写了第一个Erlang编译器,教了第一门Erlang课程,和我的同事合写了第一本Erlang书。早期成功的Erlang公司之一是我创办的,涉及了该语言及其应用程序的各个开发阶段。

在2007年,我写了《Programming Erlang》(官网)——自从《Concurrent Programming in Erlang》(Prentice Hall, 1993)出版,已经过去14年了——我们的用户正迫切需要一本新书。因此在2007年,我咬紧牙关开始写作。我非常幸运,Dave Thomas做了我的编辑,他教我很多写作方面的东东。第一版是相当有野心的,我想描述该语言的每一个地方和主要类库,还有示例代码和实际运行着的、真实世界的例子。因此这本书包含有可运行的代码,比如SHOUTcast服务器,因此你能够向设备添加音乐,以及一个全文索引系统。

《Programming Erlang》第一版刺激了一批活动,这本书卖的很好。它是通过Pragmatic Press Beta出版过程发布的。这个beta出版过程很棒,作者可以从读者那里很快得到反馈。读者下载一个未完成的书的、PDF版,开始阅读并就文本进行评论。既然这本书本来就是未完成的,他们就可以影响到书的剩余部分。当书的完成度有70%的时候,就能以beta形式发布了。

第一天,超过800人买了这本书,第二天在书的勘误页多了大约1000个评论。怎么会有这么多错误呢?我的五百页的书,貌似每页就有4条。这让我大吃一惊。Dave和我像奴隶一样,辛苦地修复了错误。尽管我知道当这本书完成的时候,我要花费一个两周的假期。

在最初的PDF版发布数月之后,最终版准备好了,我们开始发布纸质版。

一个奇怪的现象发生了——Prags已经出版了一本Erlang书,有传言说它卖得很好。很快我开始听到谣言,O’Reilly正在寻找作者,我的很多朋友被联系到,询问他们是否对编写Erlang书有兴趣。

真是奇怪,当你想写书的时候,你找不到出版商。但是,当一个已证实的出版商想出版关于某个特定话题的一本书的时候,它却找不到作者。

...

求职信

警告:又一篇技术文章。

鸭子和兔子

我很多年前写了这封求职信,那时候我想被征召到以色列国防部的Matzov单位(在以色列,每个男性在18岁要入伍三年,我想学有所用。)

正如上面的图,它能够按两种方式解释。

对于下面的求职信,你能够看做用英语写的一封信,说明了我的技能为什么适合Matzov,或者你能够把它看做是用Brainfuck编程语言(你知道它是什么吗)写的程序。这是可能的,因为英语字母表的大部分字符在Brainfuck语言中被视作注释。还有,写的时候需要用到大量的技巧。

在右边,你看到的是一个大小优化的、手工编写的8086汇编语言Brainfuck解释器,还有如何执行的指令。写这封信花了几个小时,而写解释器用了三天,中间不睡觉。去掉最后一个字节几乎用了半天时间。

brainfuck语言写的求职信

可以看到句点在Brainfuck语言里是有意义的命令,因此有个疑问,右边的句点是或不是程序的一部分。实际上,这没有关系,因为如果它们是,它们将位于一个无限循环的后面,实际上是不会执行的。

修改:HN你好!满足你的请求,下面是我从.pdf中抽出的一份.txt

如果你没有时间,该如何写博客

如果你想让信息到达最多的人群,一个博客,无疑是我知道的最好的方式。但是谁有时间呢?

如果你没有时间,该如何写博客

不管我正在与刚刚开始写博客的人交谈,还是和建立平台数年的人交谈,人们面对的第一要务就是找到足够的时间去写博客。或许你能够找到。

确切地说我能。事实上有很多次我想知道我应该以什么样的节奏来保持某种连续性。但是我找到了七种策略帮助我腾出时间或最大化时间来写博客。

1.我拥有我的规划

这是基本的。没有人比其他人有更多的时间。我们只是对我们具备的时间有不同的承诺和需求。

要记住的重要事情是,当碰到那些承诺和需求时,我们有中介。我们找不到如此多的时间。这不是偶然。需要根据意向、决心和意愿来折衷。

那意味着我不得不对我的时间负责。如果我不能安排好生活,正如Greg McKeown在Essentialism中提到的,”其他人会安排好的。“

2.制定规划

有了这个决心的武装,我通过制定规划来负起责任。我腾出周末忙在博客上。

无论什么活动,原则是相同的:纳入规划的工作要做完。我尝试过不同的事情,但是目前我正处在忙于更多文章的全力以赴阶段。过去我做的东西不同,很可能再次尝试新东西。

关键是我专门制定时间来工作。如果我把适当的事情依靠在每周不确定的小时里,你从我这里能够阅读的东西每个月也就只有一次了。

...