JeffHung.Blog

(My smile insists of having nose. :-)

OSDC.tw 2008 餐點太好吃了,崩掉了我一顆牙

這個週末,參加了 OSDC.tw 2008 的活動,提供的餐點實在是太好吃了,讓我醜態畢現,後來還吃崩了一顆牙。XD

Wordpress 備份與恢復記錄

很久以前就想要好好地重整一下我的 blog 了,剛好趁著搬家重灌系統的機會,好好地整理一番。那時的目標有

真正的版本控制
資料庫瘦身
升級後台編輯用的 FCKeditor
與 Sidebar Widget 相容
IE 下的畫面極為慘烈

其中,「升級後台編輯用的 FCKeditor」已經在《Wordpress 編輯器升級到 FCKeditor 2.5.x》時搞定,theme 的問題暫時先不解決,所以剩下「真正的版本控制」與「資料庫瘦身」兩個目標。
真正的版本控制
以前的作法是,用 Subversion 管理我的 Wordpress 目錄,不過只是簡單的直接 checkout 出 Wordpress 程式。雖然升級或更換版本很方便,svn update 或 svn switch 一下即可,不過自己在 local 端,因應自己的喜好而做的更改,就沒辦法有好的版本控制機制,加以管理了。
也就是說,我希望在能夠隨時將 Wordpress 主網站的更新同步回來之外,還能夠保有自己因喜好而產生的一些小改變。如果 Wordpress 主程式和我自己的改變,是存放在同一個 subversion repository 裡,那這一切就可以做到。

簡單講就是,如上圖,我希望能夠隨時 incrementally 從 Wordpress 主 subversion repository 將最新的修正,mirror 到自己電腦上的 subversion repository 裡,成為一條 mirror branch。然後,又能夠有自己的一條 local branch,儲存自己的喜好,同時又能夠隨時視需要,將 mirror branch 裡的東西,merge 進我的 local [...]

(還不是真的) Android 中文注音輸入法

Android 甫推出,就受到極大的矚目,尤其是 Google 還辦了一個 Android Developer Challenge 的計畫,拿出一千萬美元的獎金,獎勵在 Android 平台上的好 idea。
我簡單地瀏覽了一下 Android 的 API,發現在上面寫 AP 實在是簡單到不行。可能學過 java 幾個月的大學生,都有辦法寫出不錯的 application。好用的 API 實在是平台興盛的要素之一啊。
然後我就不小心寫出了個(還不是真的) Android 中文注音輸入法來。這實在是因為 Android 已經準備好了一個 TextInputMethod 的 class,只要繼承之,實作出自己的 keys to input 的轉換規則,然後要用的地方再 setInputMethod() 或於其 layout xml 裡設定一下 android:inputMethod,一切就搞定了。
不過,由於我還找不到,怎樣讓這個輸入法,能夠在任何不是自己寫的程式裡開啟。在不能夠 globally activable 的情況下,還只能算是個「還不是真的」輸入法。這個問題,是目前最需要被解決的問題。
除了不能 globally activable 之外,我本來想要把輸入法表格先匯入 SQLite 資料庫裡,然後於輸入時查詢對應。一來能夠享用 SQLite 的快速查詢能力,二來 SQLite 也是 Android 官方的資料儲存方式。不過,資料庫都建好了,也用 adb push 放在文件說的標準位置,也直接用 [...]

能產生 trac wiki 語法的 WYSIWYG editor plugin

今天看到的,讚:TracWiki WYSIWYG Editor Plugin。

能夠真正產生 Trac 的 wiki 語法存在資料庫裡,故能完美地與 Trac 協同合作。不像 TinyMce Wiki Plugin 會存入 html,造成相容問題。
經測試,能夠直接從 word 把內容複製貼上,樣式會盡可能地保留[1]。

雖然不甚完美,但毋須苛求了。 ↩

同一目錄下檔案數目對效率的影響

看到這篇《Tree-structured FSFS repositories》真的必須記錄一下。不過還是先前情提要一番,再來記錄重點,與自己的想法好了。
Subversion 的 FSFS 原本是把每個 revision 存成一個檔案,放在同一個目錄下。所以,如文中舉例的 Apache Software Foundation (ASF) 的 repository clone,如果總共有 500k 個 revisions,就會有 500k 個檔案,塞在同一個目錄裡。而即將推出的 Subversion 1.5,會改進 FSFS,將檔案以 1000 為單位,分散在不同的子目錄下。
本篇文章值得記錄的有以下幾點:

"Macro-benchmarks using a clone of the ASF repository (about 500k revisions) showed that the new scheme might be slightly (<1%) slower than the old scheme for reads"
"VFAT exhibits roughly O(N) behaviour, and [...]

加裝 google-code-prettify

看到這篇《網頁程式碼美化程式 Google Code Prettify》的介紹,我也試裝了一下。果然所有程式碼的列表,自動有了 syntax highlighting。
Google Code Prettify 的特色是,用的時候不需要指定語言,會自動偵測。我們「唯三」需要做的,就是:

在 <header> 引入 google-code-prettify 的 css 與 javascript 檔。
將你要做 syntax highlighting 的程式碼,寫在 <pre> 裡,並賦予 prettyprint 的 CSS class。
在文件全部載入之後,呼叫 prettyPrint() 函式。

由於我有一堆文章,已經把程式碼放在 <pre>,使用 code 這個 CSS class 標示,因此,我需要做一些額外的處理,把這些 <pre class="code"> 找出來,再多加上 prettyprint 的 CSS class。
將 google-code-prettify 抓下來解開後[1],會有兩個檔:prettify.css 與 prettify.js,一起放到 theme 目錄下即可。因為 Y!UI 很好用,所以我就偷懶直接依靠 Y!UI。修改 wordpress 佈景主題的 header.php 檔[2],在 </head> [...]

GNU make is unmaintained?

在做 cdrtools 時,看到這個 message:

===> Building for cjk-cdrtools-2.01.20041227_2
W A R N I N G Messages like:

gmake[2]: Entering directory `/tmp/cdrtools-2.01/libschily'
../RULES/r-gmake.dep:76: OBJ/<arch-dir>/cvmod.d: No such file or directory
../RULES/r-gmake.dep:76: OBJ/<arch-dir>/dat.d: No such file or directory
../RULES/r-gmake.dep:76: OBJ/<arch-dir>/fcons.d: No such file or directory
../RULES/r-gmake.dep:76: [...]

pkginfo2dot.pl - draw freebsd installed package dependencies

承襲上篇《dsw2dot.pl - extract and draw project dependencies》,又手癢寫了 pkginfo2dot.pl,將 freebsd 裡已安裝的 packages,彼此之間的 dependencies 畫出來。這個 script 的 usage 如下:
Usage: pkginfo2dot.pl [ <option> ... ] <dot-file> <pkg-glob> ...

Generate graphviz digraph script <dot-file> according to pkg_info(1) outputfor package <pkg-glob>s..  If path of digraph script <dot-file> is a singledash, will output to standard output.

Options:

  -h,--help               Show this help message.  -n,--name <graph-name>  Set [...]

Auto-switching utf8/big5 mode when installing ~/.screenrc

目前算是都會碰到 big5/utf8 的時代,我原本有在 ~/.screenrc 底下,使用下面的技術,以便在 big5 的 terminal 裡看 utf8,或在 utf8 的 terminal 裡看 big5:
如果 terminal 使用 big5:

# C-a b --(switch to)--> view big5 data
bind b encoding big5 big5
# C-a u --(switch to)--> view utf8 data
bind u encoding utf8 big5 # convert utf8 to big5
如果 terminal 使用 utf8:

# Same as the encoding command except that [...]

OSDC.tw 2007 開始報名了~

籌備已久的 OSDC.tw 2007 開始報名了,今年一樣有人數限制,要搶要快。
OSDC.tw 2007 的議程公佈在這篇《議程公佈》,test driven python、Jifty、pushmi、Yahoo UI! API、Maven 等議題都蠻有趣的,其他的有些看不太懂。XD
看樣子我好像有搶到最前面幾號,可是...

17:17 <@h*> http://register.osdc.tw/   # 開放囉~~17:24 <@h*> wow, 動作真快17:25  * h* 到處去 spam.....17:25 <@jeffhung> h*: 看不出來搶到第幾號。:-p17:26 <@h*> 我們也沒編號.....

沒編號,那搶那麼快幹麼? orz

 1 2 3 4 Next