4G Spaces

一周杂记

A. 荐书

向大家推荐4本我读了之后觉得非常非常好的书

1. Smart and Gets Things Done (Joel Spolsky)

从一开始就读Joel 大叔博客的同学就不需要看了, 因为文章都是从他博客上选下来的. 书中讲了技术公司怎样找 “聪明并且能把事情完成” 的人. 别被标题误导了, 这不是一本讲如何 GTD 的书, 但是这本书对于”准备过冬” 的技术人员, 绝对是好书一本. 另外听说[阮一峰要翻译](http://www.ruanyifeng.com/blog/2008/10/i_will_translate_more_joel_on_software.html), 还是很佩服的. 同时很惊讶: 为啥这么好的书到现在才翻译, 要知道 JoS 04年就出来了. 

2. Bell Labs: Life in the Crown Jewel (Narain Gehani)

这是一本既不出名, 封面也不好的书. 可是这个书好在两个地方: A. 作者见证了Bell 实验室的从 80 年到 01 年的荣辱兴衰. 书中关于各种各样的八卦都有涉及, 而且作者作为做技术出身的, 对UNIX系统的前世今生, 对几位大佬的八卦生平, 都让我们这些后来的研究者向往. 

3. Advices for a Young Investigator (Santiago Ramon y Cajal)

也是一本不为众人所知的小众书. 最近被大家分享很多次的 “非常牛逼、相当见血” 就是其中的一段. 我觉得对于我这样从事科学研究的年轻人来说, 这本书讲的的确的相当见血, 非常受用.

4. The Rest is Noise (Alex Ross)

Alex Ross 是今年 McArthur 奖的获得者之一. 我博客上以前提到的贴乐谱的音乐博客就是这哥们. 他是纽约时报的专栏作家. 这本书等于是20世纪音乐指南. 而且差点拿今年的普利策. 我只读了几章, 爱不释手. 

B. 编程

根据 TopLanguage 论坛上讨论的结果和我自己的研究和几周的思考, 我觉得对于我来说, 以下几门语言值得学:

  • AppleScript

AppleScript 最大的好处在于可以控制苹果下的应用程序. 当然这个不是AppleScript 独有的, 因为Ruby/Python 也能很好的完成任务. AppleScript 酷的地方在于, 它非常贴近自然语言. Java 已经算得上很贴近了, 可是还是受限于关键词和类库. 比如 public static void main 就完全不是合法的英语. Python 稍微好一点, 函数名都比较自然语言, 但是还是不够. 比如 pos = string.find(s,’^’) 这一个简单的语句就蕴含了对象方法赋值这两个操作. 对于不懂编程的人, 这些都是需要学习成本的. 而 AppleScript 的思路就比较新颖: 放弃 BNF 的约束, 规定一个更加松散的贴合英语的语法. 然后告诉用户, 哪些词是可以用的动词, 哪些是可以用的名词. 比如以下是 Adium 编程文档里面的两行:

application n : Adium’s application class

close v : Close a document.

close specifier : the document(s) or window(s) to close.

这样, 用户就可以用松散的语法规则, 用英语编程. 在 AppleScript 里面, 可以用 a of B, 而不需要 B.a. 种种这些, 让我觉得, 未来的编程语言未必就是一种发展方向, AppleScript 可能是向自然语言编程过渡的一种语言, 值得一学. (Ubiquity 也有动词和名词的说法)

随着多核和云计算成了下一代的架构选择, 语言也要变化一下. 这两个语言都是函数式的, 支持分布式的(类似 Erlang), 跑在 JVM 上的. 我一直喜欢 JVM 平台上的语言, 因为 JVM 设计干净, 跨平台, 分布和并发解决的都很好, 也有很多现代特性. 而 x86/IA32 原生的环境, 不见得未来能够被多核环境容纳. 我觉得编程语言也到了 Paradigm Shift 的时候了, 把宝押在 JVM 平台的函数式编程语言上. 

  • Ruby

这个原因很简单, 觉得学一个和 Python 竞争的语言对于用 Python 也有启发. 而且的确发现Ruby 的长处, 特别是比较了 Django 框架和 RoR 框架后, 觉得 Ruby 值得一用. 

C. GTD

 最近因为写书稿, 事情多, 更加注意事情的组织, 因此总结了几条GTD和时间管理的如下 (我最近一直在注意实践 GTD, 不过我从来没订阅 LifeHacker 和 43 Folders, 因此以下的经验大家或许早就看到或者体会到了)

  • 不要迷信 Moleskines (以及任何工具) 

我以前也没听说过这个笔记本. 最近写书稿, 觉得计算机打字效率低(而且要画图, 涂改, 纸笔最好). 因此到书店买了一本看上去很顺手很结实的软面笔记本, 回来以后才发现是 Moleskines, (据说还是众多大牛用过的, 国内还有专门的博客介绍这个, 顿时感觉自己太他妈的小资了). 用了一段时间 Moleskines, 大体感觉如下:

  1. 结实, 边角圆的, 不容易皱, 对于我这样整天把乱七八糟东西塞包里面的人很实用.
  2. 那个小绳书签其实没用, 因为可以夹一张纸. 小绳老是挂我钥匙圈上
  3. 如果要用它排日程, 最好用专门的日程表. 软面的用来排日程要自己画表格, 画标签, 浪费时间. 
  4. 最有用的是那圈松紧带. 能合上笔记本, 还能夹上很多小便签. 我已经很变态的给我的苹果加上了一圈很难看的绿色的松紧带, 这样我可以夹一些纸. 这个是 Moleskines 最有用的设计了. 
  5. 艺术家其实都是用这个笔记本画图的, 和我们今天的用法千差万别….
  • 用好现有工具的基础上试用其他工具, 不要着急换工具

为了写书提纲, 我用了很多工具. Freemind 等等. 到头来发现, 还是文本编辑器最好. 同时, 因为我发现思维比打字快, 而且不习惯在计算机前面书写, 所以我都先用纸笔写, 但是最终必须电子化, 为此我尝试了很多办法, 比如买了一个电子笔记本在上面写, 在 Tablet 上写等等, 结果这些越用越不顺手;  原来我用一个优盘+ rsync 就可以带着所有的书稿到处走, 后来我用 SVN 管理, 又发现每次同步解决冲突麻烦死了 (我的掌上电脑上没有 SVN).  因此, 到最后, 还是采用外带一个优盘到处走的方式. 书写的时候还是用纸笔, 也不搞什么手写笔之类的炫的, 直接等有空的时候敲进电脑. 经过这些折腾, 我的经验就是: 什么顺手, 就坚持用什么. 时髦的新工具不见得最适合. 况且这些旧工具我用得比大多数人都熟悉, 就算用文本组织, 用机械的同步, 效率也不比用其他时髦工具差. 领会了这条, 我就不是太急切的幻想明天出来一个新工具把我的效率提高100%, 因为显然不可能. 

(完)