Archive

Horde UTF-8 裡面處理 Big5 的問題

兩年多前,我還在維護計中 webmail 的時候,曾經評估了 Horde/IMP 跑 UTF-8 模式會碰到的問題。當時有一個很大的問題就是很中信的標題都是直接放沒編碼過的 Big5 字,導致顯示不正常。那時候在 Horde 的 MIME::decode 做了一個很噁心的事情:把所有沒編碼的東西都當 Big5 轉一次到 UTF-8,之後測試的時候,一直注意到中文的副檔名不太正確,後來就沒繼續維護後,也一直沒有機會去看為甚麼。

剛才,因為某些緣故,跑去看了另外一套 Horde 的安裝,花了不到十分鐘,發現問題是我自己製造出來的。因為 MIME::decode() 傳進來的字串有可能是以經處理過的,所以已經變成 UTF-8,而我又轉了一次… XD 現在的作法是先 UTF-8 到 UTF-8 轉一次,如果不一樣的話,才當 Big5 處理。目前看起來狀況還不錯,再觀察看看。

OpenBSD 的 sensor framework

剛剛 netchild 把今年 Summer of Code 的成果丟進 8.0-CURRENT 了,詳細的 log 可以看這邊。我的感覺是不會出現在 7.0-RELEASE,應該會有機會出現在 7.1 才對 :D

UPDATE: 在 phk@ 的要求下(整個架構設計), 這個被 back-out 了

sort 的 -S

剛剛無意中發現,sort 有一個參數叫做 -S 可以指定用多少記憶體當 sorting 時候的 buffer(單位是 KB)。現在記憶體這麼大,當然是多多益善囉 :D

net-snmp 在 FreeBSD 上的 free memory

根據這則 FAQ,被標記成 inactive 的應該也算是 cache memory 的一種。而 net-snmp 的 UCD-SNMP 這份 mib 裡面的 memory 實作上,只看被標記成 cache 的,於是配合 nagios 看的時候就會有些問題,剛剛生了一個簡單的 patch 暫時解決了這個情況。

UPDATE: 已經進了官方的收藏了: net-snmp-5.4.1_2 (2008/03/30)。

用 sdiff 來更新設定檔

之前更新設定檔的時候,都是用 vimdiff 慢慢按,每次都記得有 sdiff 可以用,可是每次都懶的看怎麼用。基本上就是:


sdiff -a -s -w 80 -o foo.conf.merged foo.conf.old foo.conf.new

介面就是 mergemaster 用的那樣子。

screen 跟 ssh

應該有些人知道 screen 有 shelltitle 這個功能可以跟 shell prompt 配合,讓 screen 的標題是跑的程式的名稱。今天碰到一個問題是我想要讓設成「如果是 ssh 的話,抓空白後的東西,也就是 hostname」,弄了一下沒有成功,後來跑去看別的東西就先暫時放著了。

想過一個可能的惡搞法,讓一個東西吃 ssh-hostname 開頭的指令,然後這個會展開成 ssh hostname 之類的,這樣子就可以配合原本的 shelltitle 弄出我想要的東西,不過也還沒時間仔細研究可不可行。

有人知道怎麼惡搞的話,跟我說一下吧 :D

換掉 FreeBSD iso 裡面的 loader

因為某些理由,我要把 FreeBSD iso 裡面的 loader 換掉,一兩個月前弄過一次,剛剛又要弄,又找了半天才弄好。避免以後我又要重花力氣找,決定寫下來。

首先要把 iso 抓下來,然後 mount 到某個目錄,接下來用 mkisofs 就可以了:

mkisofs -b boot/cdboot -no-emul-boot -r -J -V label -o cd.iso cd/

ULE 3.0 進 FreeBSD CURRENT

幾個小時前,ULE 3.0 進了 current 了,這是之前看到的 SCHED_SMP,改進了 locking 還有 cpu affinity 的東西 :D

FreeBSD 7.0 一些值得注意的東西

剛剛正在看 FreeBSD 2007Q2 的 Status Report,有人整理了一份 7.0 一些新東西的列表,有興趣的可以去看看。

blog 換網址

因為某些理由,我把 blog 的 URL 換到 http://blog.rafan.org/ 了,原本的 rafan.infor.org/blog 跟 www.rafan.org/blog 剛用 mod_rewrite 處理掉了,feed 也應該會自動轉到新的 URL。有訂 feed 的就換一下吧 :D