用 BLAS/LAPACK 编写矩阵运算程序:http://blog.henix.info/blog/blas-lapack-do-matrix-operation.html
计算机科学名言警句:http://blog.henix.info/blog/cs-quotes.html
多终端管理器tmux使用详解:http://www.lampbo.org/others/opensource/tmux-multi-terminal-manager-usage-detail.html
是时候分享一下这些年来一直激励着我的名言警句了:) 。First make it run, then make it right, then make it fast.
先要让程序跑起来,然后求正确,然后求快。-- Unix 设计哲学
First make it run, then make it right, then make it fast.
先要让程序跑起来,然后求正确,然后求快。-- Unix 设计哲学
当我不知道该做什么、或者是掉进一味追求性能的陷阱的时候,我就想起这句话,它总能给我正确的指引。
当你试图解释一条命令、一个语言特性或是一种硬件的时候,请首先说明它要解决什么问题。-- David Martin
我看过很多让人一头雾水的文档,其原因就在于找遍整个文档,也不知道它到底想要解决什么问题。我认为一个好的文档 / presentation 的标准结构应该是这样的:
- 提出问题
- 这个问题现在有哪些解决方法123
- 现有的方法有哪些不足123
- 我的方法相比现有的方法有哪些优点123
这样的文档 / presentation 让人一目了然。
先把数据结构搞清楚,程序的其余部分自现。-- David Jones
要向别人说明一个程序,或者是自己理解一个程序的时候,最重要的就是数据结构,或者说接口的数据结构。只要把握了数据结构,算法自然而然就出来了。
Don't Repeat Yourself
凡是重复都是有害的。一件事情如果你要重复两遍,那么你很可能还要重复 100 遍。如果是重复的动作,想想怎么自动化。如果是重复的代码,想想利用什么机制或者抽象来消除重复。
任何问题都可以通过引入一个中间层来解决。
解决任何问题的终极大法。但实际上只有到最后黔驴技穷,实在没招了的时候才会想到这一招。原因如下:
如果你知道自己在做什么,3 层就足够了。如果你不知道自己在做什么,17 层也没用。
解决一个问题使用的“胶合层”越多,越让人感到恶心。这句话时刻提醒我们不要过度抽象。
Any application that can be written in JavaScript, will eventually be written in JavaScript.
凡是可以用 JavaScript 来写的应用,最终都会用 JavaScript 来写。-- Atwood's Law
看看 JavaScript 版本的 PC 虚拟机和文本编辑器,在这个 Web 的时代,如果说 JavaScript 都不重要,那还有什么重要的呢?
最后,C 语言、Unix 的联合作者丹尼斯·里奇于 2011 年 10 月 8 日逝世。我们痛失一位计算机科学领域伟大的先锋和创造者、一位真正的黑客(hacker)。他与 Brian Kernighan 合著的不朽经典《The C Programming Language》把 C 语言这样一门设计精妙的语言带到了这个世界。他教我们的第一个程序是“世界你好”,而现在他可以平静地说“世界再见”了。
以他的一句名言作结,以纪念这位学术大师。
UNIX is very simple, it just needs a genius to understand its simplicity.
-- Dennis Ritchie