今天在 IRC 裡跟 Qing 聊到怎麼爬 HemiDemi,提到五年前我自己也有寫過(個人用)的書籤模組。剛剛興起,就跑去 Internet Archive 把我以前的個人(用)網站挖出來回味。
我以前用的網址是 www.jeffhung.idv.tw,因為最便宜。以前的網站,基本上只是一個大雜燴式的首頁。從 archive 可以看出,這個大雜燴式的首頁,我從 2002 年六月,一直用到了 2005 年四月,差不多用了 3 年,然後才換成現在用的 wordpress 系統。
基本的構想是,幾乎所有事情都可以在首頁裡解決。每樣功能,被作成一個一個的區塊,我稱之為 weblet。約略在同一時期,Java 也有套類似的 framework,稱之為 portlet。我不清楚 portlet 的定義其實為何,因為我沒有研究過。但我對 weblet 的定義,約略等同於一個 desktop application 的視窗。
那時候沒有 AJAX 這種東西[1],所以沒有所謂「直接在 client 端執行的程式實體」這種概念。因此,weblet 後端有個 WebOS 引擎,貫穿 HTTP 的 stateless 天性,負責 weblet 的 persistency across HTTP requests。也就是說,WebOS 會負責在每次頁面切換時,將各個 weblet 喚醒,給予對應的 event,最後呼叫如 OnPaint() 之類的函式,讓每個 weblet [...]
好像太簡單了:備份一下 database,下個 svn switch 就完工,成功升級到 Wordpress 2.2。XD
SHELL> svn info
路徑: .
URL: http://svn.automattic.com/wordpress/branches/2.1
檔案庫根目錄: http://svn.automattic.com/wordpress
檔案庫 UUID: 1a063a9b-81f0-0310-95a4-ce76da25c4cd
修訂版: 5173
節點種類: 目錄
排程: 正常
最後更新作者: ryan
最後修改修訂版: 5172
最後修改日期: 2007-04-03 08:33:57 +0800 (二, 03 4 2007)
SHELL> svn switch http://svn.automattic.com/wordpress/branches/2.2
U wp-rss.php
U wp-login.php
U wp-comments-post.php
U wp-blog-header.php
U wp-rdf.php
A wp-includes/feed-rss2.php
G [...]
承襲上篇《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 [...]
剛剛在寫 blog,寫了一大串之後,不小心按到我這台 Thinkpad X60 方向鍵上面的「回上一頁」鍵,於是寫了一大半的內容,就不見了。這不曉得是誰發明的鳥設計,毀滅文字於無形。
還好,thinkpad 有個工具程式,叫做 Keyboard Customizer,可以用來管理 thinkpad 的鍵盤按鈕。叫出 Software Installer,更新程式後,選取 Keyboard Customer 安裝,重開機後,就安裝完畢。
叫出 Keyboard Customer,發現那兩個鈕的設定放在 Key Sensitivity 這一個 tab,叫做 browser keys,關閉之即可避免再重蹈覆轍。
可惜這兩個 keys 不能重新定義成別的功能。雖然我一時還沒想到,定義成什麼功能會比較方便就是了。
目前算是都會碰到 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 [...]
一時性起,註冊了 twitter 來玩,然後裝了 twitter tools 整合進我的 blog 邊欄[1]。剛開始用,一切還好。不過今天就出現怪問題了。
直接在編欄上要加新的 status,結果跟我說 invalid。本來以為是 twitter tools 的問題,好比說某個選項我沒有打開之類的。結果直接到 twitter 網站上寫 status,也是不行。所以,看來問題是出在 twitter 的 bug 了。
說老實話,我覺得 twitter 網站做的蠻醜的,為了這麼一個小小的功能,還要大老遠跟這個網站結上關係,個人覺得很蠢。Mash-up 的問題就在於,常會製造出無法控制的耦合問題。例如假使某天 Google Map API 改版了,然後全世界有跟 Google Map 做 mash-up 的網站就統統爆炸了。個人網站還好,自認倒楣就是了,商業網站就麻煩些,不過也可以一皮天下無難事,但若是有牽涉到金錢賠償的問題的話,那麻煩就大了。
所以我決定還是放棄 twitter 好了,其社群功能其實沒有吸引我的地方。
即 sidebar。 ↩
我要搬新家了,所以預定於 2007-03-24~25 將本站移機至新家,改用中華電信 ADSL 固定制 4M/1M,將可以提昇上傳速度,讓造訪本站的朋友,更加快速。
是故:
本站將於 2007-03-23 星期五凌晨 00:00 進行備份。也就是說,備份的時間點設於 2007-03-23 00:00。從這個時間點開始,至移機完成前,所新增的任何內容、留言,不一定能夠保留。
DNS 的轉移可能需要一點時間,如果您連不上本站,請再多等一、兩天再試試。
視移機狀況,有可能進行系統更新。但因為人生大事將屆,所以很忙,故也許不會升級系統,將另尋時間進行。
希望一切平安順利,要不然就麻煩了,因為我將有好一大段時間,沒辦法待在機器附近。
從 clsung 那邊看到,WordPress 2.1 “Ella” 出了,想想也蠻久沒升級了,再加上是應該要處理一下 WordPress 2.0.7 解掉的 security hole,所以就來升級我的 blog 版本。
照往例一樣是採 svn update 的方法升級[1]:
先備份資料庫。
然後到主目錄下 svn update,升級到最新 trunk 版。這次我是從 r4497 升級到 r4784,差距蠻大的,
用 svn diff 檢查了一下 local modification 沒有爛掉。
用瀏覽器進管理介面,畫面顯示訊息說要 upgrade database,執行後就一切正常了。
這次的升級,應該是成功的,至少到目前為止,看起來沒什麼異狀發生。整個過程不到 5 min,簡單快速,爽。
見《Wordpress 升級到 1.5.1.3》與《升級到 wordpress 2.0.1》兩篇。 ↩
由於某些技術上的原因,TortoiseSVN 的效率,其實不是很好。我在處理一些大 project 的時候,常常會有整台機器 hang 住的情況,直到把 TSVNCache.exe 砍掉後才能恢復。所以 TortoiseSVN 的主要開發者 Stefan Kueng 最近就發表了一篇文章叫《Optimize performance》,教大家如何調校,以增進 TortoiseSVN 的運作效率。
不過,原文標題是「增進效率」,但我實在是要換個方法來講,因為這些調校,其實是在「避免系統效率被 TortoiseSVN 拖累」啊!
以下用我自己的話,簡單介紹怎樣不被 TortoiseSVN 拖累:
不要把你的 working copy,放在網路磁碟機裡。TortoiseSVN 常要作一些複雜的事,好比說 recursive 進去每個子目錄,檢查是否有檔案被更動過,以便顯示 icon overlay。網路磁碟機的運作速度本來就很慢了,如果這些複雜的事,必須在網路磁碟機上做,當然效率就更差了。這第一條建議,就把我打死在路邊,因為我總是為了貪圖 unix tool 的方便,而使用 samba 分享 working copy 到 windows 上使用,也因此,所以常會碰到這些效率的問題。解決之道當然就是不要這麼作,幸好最近發現 GnuWin32 比起以前的 UnxTools 要來的齊全很多,現在大部分的 unix style 操作,也都可以在 Windows 上進行了。
減少 working copy 的量。TortoiseSVN 會監控「所有」被 checkout 出來的 working copy,偵測其是否有所更動,以便存於 cache [...]
自從裝了 Google 搜尋後,就想要弄這樣一個功能。剛剛從黑米看到 ijliao 的這篇《DupPrevent》,啊哈,這正是我要的。
DupPrevent 可以幫您在非單筆文章的頁面裡,加上 NOINDEX 標籤,讓搜尋引擎不要去搜尋那些頁面。可以「避免因為重複內容而被 search engine 處罰。」
不過,我想要這個功能的原因,跟提昇 page rank 與否無關,而是這樣自己搜尋自己的 blog 才方便,不會有一堆重複內容出現啊。