Dec 6, 2012

“全是文件”的思路是错误的

很多年前,我被一本叫做The Art of UNIX Programming的书洗脑,加上我enjoy用文件配置系统的简单(当年在Linux上改X.conf可是地球人都干的事啊),我认为所有东西都要用文件存。

最近,我要处理多达2TB的核酸数据。今天,我终于无法再忍受频繁的文件读写——我已经退了一步用pickle把变量存出来了,我开始想用数据库了。

Eric Raymond 害人不浅。

古人云,尽信书不如无书。

Dec 2, 2012

AutoDesk就是CAD领域的Micro$oft级流氓



这几天偶然需要研究一下CAD文件的格式,然后看到很多流氓的事情。时间不多,从wikipedia抄几段。 
===========================
DWG 格式以及它的 ASCII格式变体 DXF,已经成为 CAD 制图数据交换中的事实文件标准,据估计全世界有超过十亿个 DWG 文件。有几家公司正在对 DWG 文件格式进行逆向工程以试图为其它的设计软件提供读写 DWG 文件的能力。歐特克公司也提供了一套需要授权的 DWG 读写技术开发包 “RealDWG”。
几乎所有的商用软件开发商,包括所有的 Autodesk 的竞争对手都选择 DWG 作为与 AutoCAD 进行数据交换的主要格式,他们使用的函数库是 Open Design Alliance 这个非营利性业界协会对 DWG 文件格式进行逆向工程得到的。 
新版的 AutoCAD 可以打开许多旧版的 DWG 文件,AutoCAD 2007 可以打开 2.0 版的 DWG 文件并且可以保存为 r14 版的格式。另外歐特克公司提供一个免费的 DWG 查看工具 “DWG TrueVi” 用于查看所有版本的 DWG 文件。另外一方面,該公司是 vendor lock-in 策略的强力支持者,尽力保护 DWG 文件格式并且禁止开发支持 DWG 格式的开放源代码库。
2006年11月22日,歐特克公司对 Open Design Alliance一款支持 DWG 格式的自由库 OpenDWG 提出了诉讼[1]
In 2008 the Free Software Foundation asserted the need for an open replacement for the DWG format by placing 'Replacement for OpenDWG libraries'[17] in 10th place on their High Priority Free Software Projects list. Created in late 2009, GNU LibreDWG[18] is a free software library released under the terms of theGNU GPLv3 license. Despite being currently under development, it can read most parts of DWG files from version R13 up to 2004. Neither RealDWG[10] nor DWGdirect are licensed on terms that are compatible with the GNU GPL, or similar free software license.
References:

书中自有颜如玉 (三)



今天came across一本我大学一年级看的书,Developing Bioinformatics Computer Skills.  http://shop.oreilly.com/product/9781565926646.do 
书中真tmd有颜如玉,这本书我今天读起来还觉得很有劲头。
然后我就查“书中自有颜如玉”这句话的意思,大呼上当,被一群人断章取义了。话原来是这样说的:

富家不用买良田,书中自有千锺粟;
安居不用架高堂,书中自有黄金屋;
出门莫恨无人随,书中车马多如簇;
娶妻莫恨无良媒,书中自有颜如玉;
男儿若遂平生志,六经勤向窗前读。
——《励学篇》宋真宗 赵恒

原来说的不是书里有比美女还好看的,而是找老婆不能靠上江苏卫视非诚勿扰,要靠发Science,拿NSF Career Award(http://www.nsf.gov/funding/pgm_summ.jsp?pims_id=503214), 或者membership of National Academy of Engineering.
原话说的真不错,你看,MIT老光棍Richard Stallman评上美国工程院院士(http://www.nae.edu/MembersSection/Directory20412/30606.aspx)以后就找了意大利美女做老婆.  
相反,Dennis Ritchie到死都没评上工程院院士,只从Clinton总统那里领了个National Medal of Technology,从IEEE领了个Richard Hamming Medal,还从ACM拿了个Alan Turing Award, 所以至死都是光棍。而同他一起发明C和UNIX的Ken Thompson早在1980年就评了院士(http://www.nae.edu/MembersSection/Directory20412/28454.aspx),所以早就有老婆(http://www.linfo.org/thompson.html),娃都会打酱油了.

Conclusion: 不要天天想找老婆,记住最后一句话:“男儿若遂平生志,六经勤向窗前读。”

Nov 24, 2012

永远莫入体制内

Texas是个好地方,所以Texas天天叫着要独立,Texas不想加入美国这个体制内。

Stony Brook University是个好地方,所以,虽然外面人称之SUNY Stony Brook (The State University of New York at Stony Brook), Stony Brook人自称SBU,他们不鸟State of New York 这个体制内。

加入体制内,就宣示了自己不行。要想证明自己ZB,一定不要加入体制内,要像德州牛仔一样,孤胆天涯。

这 就是我的生活,不买health insurance,不鸟什么Teachers Retirement System of Texas——new york state的那玩意儿我直接丢在长岛火车上了. 人生就像打星际,有矿时爆兵,没矿,就投降。65岁以后的事,我哪里管的了,现在玩还来不及呢。

从这个意义上,我非常讨厌终极的体制内——共产主义。共产主义最可怕之处是剥夺了我们每个人ZB的机会。

而天下大部分亚洲女人都喜欢有稳定生活的男人,想我这种梦想拿到tenure就去养猪的,她们是看不上的。

如果我死了,请把我葬在德州的高山上,我不想和一群人埋在一起(e.g., 公墓),那是我最后不想去的体制内。

Nov 17, 2012

突然意识到中文的构架很不好

天下很多人,都使用基于罗马帝国使用的拉丁字母发展出的一套语言,特别是没文化的日尔曼人,没有自己的文字,就“伟大的艺术家偷窃”了一把,发明了英语,德语,etc. 今天,这些蛮族的语言,居然成了世界科学和工程的语言。

今天我想,罗马帝国打遍天下的原因之一,可能是拉丁文简单——在那通讯落后的年代,复杂的语言体系必然降低效率,比如中国皇帝在乌龟壳上,一月才刻三个字,这怎么征服天下啊。当然,那些连在乌龟壳上刻字都不会的民族就更悲剧了,只能被罗马帝国征服。

用不同长度和组合的character string来表达信息确实是一种高效的方案。上帝创造生命时,就是用string来记录遗传信息的,以至于今天所有bioinformatists都不能离开text editor做研究。String的力量是非常强大的,National Instruments发明LabVIEW时,希望以一种graphic programming的办法快速原型化,但是从LabVIEW 8.0开始,他们也引入了Mathscript [1],使程序员可用Matlab-like syntax写code处理数据。

中文不幸像LabVIEW 8.0+一样,用了一种2-D和1-D混合的办法,用笔划在2D space的排列来造字(仅造字的办法就有6种,称为六书,造字单位亦居多,比如,中国字有大约300个部首[2]),为了表达更复杂的意思,再把字组成句子——用了拉丁文string的办法。以KISS的原则,这种混合的设计是不好的,比如这种办法使得活字印刷和电脑输入就复杂了。不要认为中文可以打字快就说明电脑输入简单,所有的中文输入法都使用了拉丁文的办法:基于一串key strokes来输入中文——丢失了中国字2-D的设计。

To be continued...Comments and critiques are welcome.

PS: 当然日尔曼语系的语言很多基本词汇和拉丁文没关系,因为虽然他们不会写字,但还是有自己乱喊的办法。 拉丁字母使得日尔曼人很容易抄袭另一个强大的文明古希腊——因为希腊文也是用字母的。今天英语中很多科学和技术词汇之所以看起来奇怪,因为都是抄袭了希腊文。连Kunth同学发明TeX这个名字时,都要ZB的使用希腊文,而不是英文Tech.

References:
[1] NI LabVIEW MathScript RT Module, http://www.ni.com/labview/mathscript/
[2] 部首,维基大典,http://zh.wikipedia.org/wiki/%E9%83%A8%E9%A6%96

Nov 14, 2012

如果没有Google,世界将会怎样?

汽车坏了,去dealer,要400刀。

我在google上转了一圈,买到配件30块钱。再到Google儿子Youtube那里看了一顿视频,会修了。

10分钟,全部搞定。

可是,天下13亿人民却没法访问Google的服务,因为有些人要开斯巴达。

我难以想像一个无法访问Google的国家可以是人类居住的——今天我还因为用朋友的iPhone被Apple糟糕的地图服务给耍了2 miles.

如果没有Google,地球人会因为信息失衡而浪费很多钱,比如,今天我可能就会浪费400刀,而且还要耗费时间去dealer那里几次。

"Google's mission is to organize the world's information and make it universally accessible and useful." ("谷歌的使命是整合全球的信息并使之为人类所用")

In contrast, 共产党人的使命是墙Google等网站,代表先进生产力的反方向,代表先进文化的反方向,代表人民利益的反方向。

神啊,愿你保佑Google,也愿你的愤怒早日降临共匪头上,愿你的利剑铲除这群不良葡萄种. 神啊,感谢你垂听我这不配的请求,奉主耶稣基督的名我祷告!

我的眼睛已經看見主降臨的大光榮,
祂在踏盡含忿怒的一切不良葡萄種;
祂而抽出祂的怒劍發出雷電聲隆隆,
祂的真理正進行! ——美国军歌《共和国战歌》

Nov 11, 2012

今天是老兵节

今天我和妹妹说,庆祝光棍节。然后我被她骂了一通,她说,你怎么能在rememberance day(加拿大人的英语很奇怪,他们把Veterans Day叫做Rememberance Day)庆祝呢。

于是我面壁思过。

今 天是老兵节,向在为合众国的独立,Texas共和国的独立,解放黑奴,铲除大英帝国和西班牙帝国在新世界的暴政(虽然今天加拿大人民还生活在英国女王 的残暴下),解放世界于纳粹和日本天皇的统治(特别是来到中国的飞虎队),阻止共产主义在全球的扩张,解救科索沃人民于巴尔干屠夫,解救伊拉克和阿富汗人民于傻大木和塔利班,的战斗中服役的老兵致敬。

一定要解放加拿大!