時常有些機會寫了需要存取單一檔案且耗時許久的 shell script, 為了避免重複執行相同的 script 而覆蓋單一檔案,為了避免 race condition,必須查看是否已經執行了另外一隻程式,這些確認過程其實相當繁雜。

若寫過 C 語言,便知道有個函數是 flock (2),這個函式可以幫你在檔案上做 “advisory lock” (意思是,其他程式可以忽略你所下達的 lock 指令,而逕行複寫),但若你只是需要讓自己的程式知道檔案已被鎖住使用中,這倒是非常好用的函數。

Debian 系統中在新一點的 util-linux-ng加入flock (1) 指令,於是可以在 shell script 中如此鎖定特定檔案,如此便可避免單一程式重複執行、或複寫到同一個檔案。

#!/bin/shLOCKFILE=/tmp/script.lock
(
flock -n -x 200
if [ $? -ne 0 ] ;then
echo "The script is running already. bye"
exit
fi
date -R
read
) 200> ${LOCKFILE}

這是一篇 Tips.

今日設定了一個新的 Trac host, 為了方便眾人使用,期待預設用單一帳號登入,但是由於該組織使用的 LDAP Server 必須接上 VPN 才能存取,頗為不便。

貪圖省事的前提下,打算讓所有使用者都透過 POP3 Server 認證,由於 POP3 Server 已經接上 LDAP Server 作單一認證,因此最終還是可以使用單一帳號、密碼存取服務。

Continue reading

昨天又在裝 Debian SID 的筆記型電腦上玩起 GoogleEarth,不之為什麼預設的字型非常的小,透過設定介面無法修改介面字型。

追了一下發現這版 (0.4.3) 的還是用 QT3,使用 qtconfig-qt3 修改也無效。經過搜尋一番,知道了原來是直接修改設定檔即可,設定檔如

echo 12 > ~/.googleearth/Registry/google/googleearthplus/User/render/guifontsize

原本的預設設定是 ‘8’.

據說 Windows 版本的預設字型在繁體中文界面下也是醜陋的,修改方式是改

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\FontSubstitutes]
“GuiFontFamily”=”微軟正黑體”
“GuiFontSize”=dword:0000000A”

微軟正黑體看來是比較適合的字型。也可以自己修成其他的字型囉。這是一篇 Tips.

Mobile barcode, especially QRCode is more and more popular in Taiwan in last couple years. There are more and more devices has QRCode reader built in, and we are seeing more and more 2d barcodes on print medias.

I mean it, every day I go to the office on MRTs. I always see some billboards have QRCode on it, and also many free MRT news papers.

Continue reading

每隔一段時間,我家的骰子機 (Philips MCM108/96) 就會因為電力暫停而失去時間設定,而且每次都會忘記鬧鐘的設定方式,而得翻箱倒櫃的找說明書。

基本上,我還蠻喜歡這台機器簡單乾淨的外觀跟操作介面,雖說功能稱不上出眾,但非常適合獨居的都市青年。

已經習慣早上讓它響起電台音樂,再痛苦的爬行幾公尺將它關掉,因此每次斷電,都會焦慮的擔心它早上不會響起音樂或電台叫醒我。

於是,這是線上手冊的中的鬧鐘設定方式,
Continue reading

之前在行動條碼一文中中提到數個可以產生 QRCode 的軟體函式庫,如

先前提到 www.omia.org.tw/">OMIA 2006/10/13 的會員大會暨推動成果發表會辦理了一次行動條碼捐贈典禮,其中工業技術研究院捐贈了製碼軟體開發工具 (Dll files),此檔案可以在 OMIA 行動條碼入口網下載
Continue reading