Doom 的呐喊

Crying in the Day of Doom

关于 IBM developerWorks 里的文章

经常看 IBM developerWorks 里关于 Linux 和 UNIX 的文章,不过大部分都看不懂。我一直以为是因为我太搓了,对 Linux 还不够了解。但是今天看到这篇文章以后,我觉得作者们应该承担一部分责任。

对于 Screen 这个东西,我是比较了解的,也经常在 SSH 的远程 shell 里用,所以我完全没期望看这篇文章的时候会遇到任何困难。但是,我看到文章里的第二个图的时候就愣住了。当然后来我反应过来了,然后对这个图极端的无语。首先,一般的地球人在看这种图的时候大多会从上至下的看。于是先看到一个很诡异的 Window A。WTF is “Window A”?? 如果读者很乖的看了图上面的文字介绍的话,会知道 window A 是一个 shell,再往下看,这个 shell 和一个叫做 Screen session 的云“连着”。很好,再往下,Screen session 和 Remote login “连着”,然后 Remote login 通过 SSH 和 Local login “连着”(原来老子在最底下!)。所以这个图很简单,就是四个连成一条链的东西。鉴于地球人都知道 Remote login 和 Local login 是通过网络连接的,一般的逻辑会自然的推出 Screen session 是一片网络云,window A 在云的另一边的某台主机上,于是恍然大悟:screen 的作用就是通过 Remote login 来管理在更 remote 的主机上的 window(很乖的人前来补充:也就是 shell)。

看懂这个以后,下面的事就顺理成章了。图 3 这个垃圾图和上面的图一模一样,不知道什么意思。图 4 说明 Screen 还可以透过网络云连接多台主机!太强大了!图 5 说明连接多台主机以后可以把 remote login 断掉,而 screen session 和他的 window 们还连着!太和谐了!

如何改进?很简单,把图都删了!用文字说明。如果一个地方不需要图,就别随便画个小猫小狗来充数。如果硬要画小猫小狗的话,起码也应该把 screen session 画在 remote login 的里面吧??然后把 windows 画在 screen session 的里面。这才像话。

在 Emacs 里以 root 权限运行程序

囧阿,一直用 Emacs 的 dictionary.el 作字典,但是启动 dictd 的时候都要跑到终端里去,因为要 sudo。今天下决心解决这个问题。到 emacswiki 里看了一圈,到 IRC 里问了一圈,把 Tramp, shell-modeintcmd-mod 的 sudo 问题都解决了,但还是搞不定 shell-command 的 sudo。看来这个函数运行的时候完全没有办法接受用户的输入作为 stdin。最后翻到 Tramp 的手册,发现以 root 权限运行 shell-command 需要先 C-x C-f /sudo::,把当前目录变为 /sudo::/root,然后再 M-! 运行 shell-command… 太囧了…

TeXPNG GUI

这是以前写的 texpng 程序的图形界面版,我把以前的 texpng.py 改写了一下(这是好听的说法,其实是剪切粘贴了一下),把转换过程抽象了一下,方便在图形界面里调用。和 texpng.py 一样,这个东西需要一个正常的 LaTeX 系统、dvipng 和 Imagemagick,除此之外,图形库使用了 wxpython。用法就不废话了,GUI 啊同志们… 最后,那三个图标是 oslo 图标集中的,版权属于原作者。

对了,过几天大家可能会看到一个更牛逼的转换 TeX 的程序,不过不是在我这里~~ :-p

最后的最后,说点感想~~

  1. 在 Linux 下写程序太方便了,感觉 Linux 就是写程序用的~~。这两天狂用了 Mac OS X 之后,隆重宣布:宇宙里最好用的 PC 操作系统是配置好的 Linux~~
  2. 现在写个图形界面太方便了!这个小破程序是我三个小时攒的…
  3. 还没想好…

PS:这个程序在运行的的时候会覆盖当前目录下的 temp.png 文件(如果有的话),退出的时候把这个文件删除。

随机生成句子的程序和 Emacs 排名的降低

写了一个用来搞笑的 python 程序,可以随机地按照一定的语法生成句子。若干时间前写过一个功能差不多的程序,但是比较傻逼。

这个程序使用了 recursive transition networks 来表示一些简单的语法,目前可以递归地生成主语从句和宾语从句,并组合成完整的句子。看一些例子:

  • The fool which reluctantly rocks unwillingly eats a book.
  • The silly man that is silly unwillingly kicks a book which finally pisses.
  • A book reluctantly eats a bug that is red.
  • A man unwillingly sucks.
  • The piece of shit that happily runs reluctantly kicks a bug.

:-p 词表里本来还有一个 fucking 的,考虑到这里的都是文化人,删了。代码在最后。

另外,Vincent 在 The slow downfall of Emacs 里写道 Emacs 在编辑器中的 popularity 排名正在降低。在几年前,编辑器的 top two 永远是 Vi/Vim 和 Emacs,但是现在 Emacs 竟然落在了 GEdit 和 Kite 之后(这帮傻逼都是怎么想的?!),到底是为什么?Vincent 在最后写道:“Why is that? Not pretty enough? Too powerful for the simple needs of the new users that Ubuntu brought to the Linux world?”

[...]