Oct 03

CSS3 中增添了对分栏排版的支持,这个我很早就知道了,但是今天才发现 Firefox 和 Safari 3 已经实现了这个东西,真是惊天地泣鬼神… 测试一下~~

中文的:

从那以后,他的预感就不太灵了。那一天,乌苏娜在狱里探望他的时候,他经过长久思考得出结论,这一次,死神很可能不会马上来临,因为死神的来临取决于刽子手的意志,他被自己的脓疮弄得很苦,整夜都没睡着。黎明前不久,走廊上响起了脚步声。“他们来啦,”奥雷连诺自言自语地说,他不知为什么突然想起了霍⋅阿⋅布恩蒂亚;就在这一片刻,在黎明前的晦暗里,霍⋅阿⋅布恩蒂亚蜷缩在粟树下面的板凳上,大概也想到了他。奥雷连诺上校心里既没有留恋,也没有恐惧,只有深沉的恼怒,因他想到,由于这种过早的死亡,他看不到自己来不及完成的一切事情如何完成了……牢门打开,一个士兵拿着一杯咖啡走了进来。第二天,也在这个时刻,奥雷连诺上校腋下照旧痛得难受的时候,同样的情况又重复了一遍。星期四,他把乌苏娜带来的蜜饯分给了卫兵们,穿上了他觉得太紧的干净衣服和漆皮鞋。到了星期五,他们仍然没有枪毙他。

英文的:

A small figure gallops across the windswept ice slope. The bundled rider is mounted on a large gray snow lizard, a Tauntaun. Curving plumes of snow rise from beneath the speeding paws of the two-legged beast. The rider gallops up a slope and reins his lizard to a stop. Pulling off his protective goggles, Luke Skywalker notices something in the sky. He takes a pair of electrobinoculars from his utility belt and through them sees smoke rising from where the probe robot has crashed. The wind whips at Luke’s fur-lined cap and he activates a comlink transmitter. His Tauntaun shifts and moans nervously beneath him.
Sep 26

可能是由于安在 x86 上的缘故,Safari 不太稳定,一打开某些中文网页就崩溃… 真不知道为啥在中国大家都不遵守 HTML 4 和 XHTML 1.0 呢~~~ 于是还是用 Firefox… 但是 Firefox 似乎对 OS X 的 Type1 字体有强烈的不满,不是显示一堆火星文就是显示成脚标/上标状… 搞得我看中文像看公式一样… 后来听说还有个 Camino,也是 Mozilla 的,会好一点,赶快安上,发现确实好一点,基本没有火星文,公式也比较少… 看截图:

Firefox 截图 Camino 截图
Firefox Camino

我想出现这种鸟事是因为 Mozilla 们为了跨平台,搞了自己的字体引擎,不肯使用各操作系统自带的 API,但是对 Type1 支持又不好,不能正确读取字体中的某些信息,于是就出现了火星文和公式…

Sep 13

今天在网上乱逛,不小心看到一个自动代理配置脚本(就是传说中的 pac 文件),发现语法怎么就和 Java 那么像呢~~?Google 一番之后发现其实 pac 就是一个 Javascript 函数,名叫 FindProxyForURL。它接收两个参数,urlhost,都是字符串。url 是浏览器将要进入的地址,host 就是地址中 :// 和第一个 / 之间的部分。返回值为一个字符串,有三种情况:

  1. 直接连接,不经过代理,返回 "DIRECT"
  2. 经过代理,返回 "PROXY host:port
  3. 经过 socks 服务器,返回 "SOCKS host:port

有了这些规则,我们就可以随意加入逻辑,一劳永逸地解决是否使用代理,何时使用代理,使用什么代理等一系列重大问题。比如,我要对 blogspot 使用72.14.219.190,其他某些倒霉的地址使用 Tor,剩下的碌碌无为的地址不使用代理,就可以用下面这个 pac。

function FindProxyForURL(url, host)
{
    url = url.toLowerCase();
    host = host.toLowerCase();

    if(dnsDomainIs(host, ".blogspot.com"))
        return "PROXY 72.14.219.190:80";

    if(dnsDomainIs(host, ".wikipedia.org") ||
       dnsDomainIs(host, ".technorati.com")
       )
        return "SOCKS 127.0.0.1:9050";

    return "DIRECT";
}

Reference: http://wp.netscape.com/eng/mozilla/2.0/relnotes/demo/proxy-live.html#dnsDomainIs。Netscape 真是有长者风范啊~~

Jul 28

看到了 Cheng Meng 的那个 Youtube downloader,由于对 Ruby 的无知,一点也看不懂,所以就参考 DownloadYoutube video with GAWK 用 python 自己写了一个。与 Cheng Meng 那个不同,我这个只负责把视频文件 url 打印出来。用法是 youtube-url.py video-id 所以要下载 id为 qNKtKm3SXvs 的视频,可以用这个命令

wget -O video.flv `youtube-url.py qNKtKm3SXvs`

youtube-url.py 的代码:

Continue reading »

Jul 23

一个在 Wordpress 中使代码加亮的办法,需要激活 MyCSS 插件,并且保证 WP Lightbox 2 插件是禁用的。

写一段程序代码(我是写的 C++),尽量包含最多的语法元素,然后把代码给 htmlize 了(可以用 Emacs 的 htmlize.el 或者 Vim),这里有一个要求,就是生成的 html 必须是 CSS 与 <pre> 分开的,CSS 在 <head> 里, <pre><body> 中,然后把 CSS copy 到 MyCSS 里。

以后贴代码的时候,只要用同样的方法生成 html,然后把那个 <pre> 贴到 post 里就行了。还有一点需要注意,MyCSS 会生成一个 my.css 放在 blog 的 <head> 里,位置是比较靠前的,在我这里比 Coolcode 和 SyntaxHighlighter 都要考前,所以 my.css 里的内容可能会被覆盖掉。

测试:

;; =============== Unfill-buffer ===============>
(defun unfill-buffer ()
  “Unfill current buffer.”
  (interactive “”)
  (setq m (point-marker))
  (beginning-of-buffer)
  (while (re-search-forward \\\\([^ ]+\\\\) *
 *\\\\([^ ]\\\\) nil t)
    (replace-match “\\\\1\\\\2″))
  (set-marker m 0 (current-buffer)))

Continue reading »

Close
E-mail It