转到XHTML1.1
Tuesday, April 29th, 2008XHTML 1.1更为严格。要求input外面都要有p包着才行。vim自带的正则不会。还是用perl的吧。
:perldo s/<input(.*)\/>/<p><input\/><\/p>/g
一下就转好了。
XHTML 1.1更为严格。要求input外面都要有p包着才行。vim自带的正则不会。还是用perl的吧。
:perldo s/<input(.*)\/>/<p><input\/><\/p>/g
一下就转好了。
http://www.oswd.org 是一个提供开源网页模板的站点。还是不错的。看到不少站点用这个。搜了一下,基于XHTML 1.1的模板不过区区16款。大部分都不太好,我轻而易举就可以写出比它们好的。当然有几个还是相当棒的。看样子,XHTML 1.1还是不受欢迎的说。
躺在床上,怎么也睡不着,忧心忡忡的。翻了个身,终于。。。醒了。原来睡不着只是一个梦。
Oddmuse不支持。其理念是所有的页面应该是一个平面的。MoinMoin支持页面名称包含/。但是存储的时候,并不是以父页面的子文件夹的形式来存储的。而是独立的文件夹,类似page(2f)subpage。ikiwiki是完全支持的,存储就是以目录/子目录的形式。而且ikiwiki是鼓励subpage的。比如在page/subpage页面写上一个链接[[foo]],ikiwiki将首先寻找/page/subpage下有没有foo页面,有则链接之,没有,再到/page下找,最后才到/下找。
Knuth都用些什么工具呢?
窗口管理器,是FVWM。(王垠早已报料了。王垠的主页上还有Knuth的FVWM截屏。清华大学网络中心已经关掉王垠的主页了。不过你可以在这个镜像站点找到这张screenshot: http://docs.huihoo.com/homepage/shredderyin/knuth-fvwm.jpg )Knuth说喜欢FVWM的原因是键盘流。
操作系统?是Ubuntu。
数学工具是Mathematica。
终端,rxvt。
编程,自然是CWEB。调试用GDB debugger。
图像,大部分是MetaPost。(偶而到在一台苹果电脑上用Photoshop或Illustra×。苹果电脑除此之外的主要用途是上网冲浪。)
备份,则用backupfs。这个东西以增量的方式备份每天的镜像。
文字处理?还用说吗?当然是TeX。预览则用用dvips和gv。
编辑器是Emacs。Knuth搞了不少花样。他有自己的兼容TeX和CWEB的Emacs拼写检查工具。归整自己笔记的Emacs mode。特制的键绑定。甚至设计了自己的Emacs字体。
还有,Knuth的写作方式是先用铅笔在纸上写,写好了,再录入到电脑(用Emacs和TeX)。
Knuth坚持文学编程是比传统方式好的多的编程方式。不用文学编程,他不可能搞出很多软件,包括MMIX虚拟机。
至于文学编程不流行的原因,Knuth认为一个是用非文学编程的方法写出的程序的平均水平也有C(也许是C++),而不是F。既然及格了,所以程序员们也就不愿去尝试一种新的方式。还有一个是Jon Bentley指出的,精通编程的是少数人,精通文档撰写的也是少数人,文学编程需要的程序员得同时属于这两个少数群体。
当然Knuth强调他不同意强制推销观点。如果你觉得文学编程不是你的风格,那就忘了它,走自己的路,Knuth不会说你。
对于多核,Knuth也颇有微辞。他认为顺序执行并没有变得无关紧要。而并行技术的寿命却比较短,因为新机器的推出将需要更新的解决问题的角度。所以,很久以前,Knuth就决定将坚守他所熟知的领域。Knuth建议程序员听取其他并行编程的专家的意见。
对于多核架构,Knuth认为是做硬件的黔驴技穷的产物。他写过一千多个程序,都找不出5个能通过多核架构大大获益的程序。Knuth认为没有多少做软件的会对未来的多核许诺充满激情,相反,他听到的是声声叹息。
Knuth承认诸如图像渲染、物理生物计算等领域需要多核,但他认为这些领域需要的是专门的代码,专门的方法,并且这些都需要几年一大变。
Knuth只在浏览网页时才感受到多核的好处。但Knuth花在这上面的时间很少。
不过Knuth也承认,既然顺序计算之路已经撞墙,他自己也不知道除了多核以外还有什么选择。(尽管在MMIX设计中,包含了一些这方面的主意。)
单元测试很少吸引Knuth。Knuth只会在一个完全陌生的环境中摸索的时候才会考虑单元测试。其他时间,Knuth认为单元测试是多此一举,浪费了很多时间在不需要进行甚至考虑的活动上。
Knuth认为敏捷开发就是歧途。但有一点除外,团队合作和阅读队友的代码,这是敏捷开发“一俊遮百丑”的那“一俊”。
关于代码的重用,Knuth认为re-editable的代码比一个碰不得的黑箱(reusable的代码)要好上千百倍。
TeX是开源的。当时开源的概念还不流行。RMS还没开始运动。
Knuth看好开源,认为随着产品向服务的转型和越来越多的志愿者,开源将不断壮大。他举例说,开源软件可以编译出多样的二进制文件,更好地符合各个用户的需求。但他也承认有些专有软件更好,比如photoshop和Gimp,并表示自己愿意为好的专有软件开出一个好价钱。
Andrew Binstock对Donald E. Knuth做了个访谈。关于he success of open source, the problem with multicore architecture, the disappointing lack of interest in literate programming, the menace of reusable code。 http://www.informit.com/articles/article.aspx?p=1193856 一些内容将在后续的blog中介绍。