有人不辭辛勞地找了這些連結:
雖然我覺得今年的アキバ王沒有以前聽說的オタク電視比賽冠軍厲害,不過對他們那種收集和專注的意念仍然覺得很可怕。
狂熱到那種程度的話,大概也沒有什麼事情是作不下去的了。
有人不辭辛勞地找了這些連結:
雖然我覺得今年的アキバ王沒有以前聽說的オタク電視比賽冠軍厲害,不過對他們那種收集和專注的意念仍然覺得很可怕。
狂熱到那種程度的話,大概也沒有什麼事情是作不下去的了。
寫了一個 PyGTK 程式,用來看圖片的。
自從八月換用 Linux 之後,一直沒有找到合適的圖片瀏覽程式。要看圖片的時候,只好回到 Windows 去,很不方便。因此花了一點時間寫出這個程式,順便入門一下 GUI 程式設計和 PyGTK。
PyGTK 真是蠻好用的,用不著多少時間就可以兜出個樣子來。
又可以訂巨大細菌了!這次我可以跟到。
什麼時候可以和我可愛的 flesh eating 相見呢。
dictionary.goo.co.jp 字典的 firefox search box plugin。請用 "goo" 往下找。
從 jserv 那邊看來的消息,令人尊敬的 Tiberius 昨天發表了他的 screen 補完計畫。
因為我是懶人,所以直接用 jserv 打包的 deb 來試用了一下,結果測試連線的 BBS 的字寬反而變奇怪了。看來 screen-4.0.2-uao.patch 雖然只動了十幾行,對 Big5<->UTF8 轉碼的效用卻很明顯。實在沒有勤奮到自己打包,所以我就
cp 18 /usr/share/screen/utf8encodings/
之後,便能看見那些原本亂七八糟的 Big5 日文假名 (我只試了幾個剛好有出現的假名,一時找不到滿滿假名的文章)。
tBoard 看來也是很讚的東西,期待 Tiberius 未來的豐碩成果。
「东拉西扯:数据放到哪里才放心」一文說出了我心裡的問題。我很同意 keso 「gmail 比家裡的硬碟還要安全」的觀點,畢竟我今年到現在已經壞了兩顆硬碟,但去年四月到現在,我很少不能登入 gmail 的。
然而想到中東、非洲、巴爾幹半島等等軍事情勢緊張的地方時,不由得感覺我今天能在家裡擔心資料安不安全的問題,實在是一件幸福得過了頭的事情。身處於戰區的人民連生命安全都無法保障,當然也不可能有我的煩惱。展開來想,如果先進國家的情勢不是像現在這麼和平,任何一個主要工業國受到軍事影響,或是恐怖攻擊問題再嚴重點,我們可能根本也沒有機會去考慮資料是放在網路上還是家裡比較安全。
現在我很願意支持網際網路資料儲存服務,然而似乎更應該努力,讓世界變得更和平一點;愈和平愈好。
PyGTK 中的 pixbuf 和 Python 的 garbage collector 有一些互動上的問題;我的運氣不錯,就在今天下定決心進入 PyGTK 的世界之後,馬上就遇到了。
情況是這樣的:Python 的 gc 不能自動處理 pixbuf 使用的記憶體,所以不斷配置新 pixbuf 的結果,會把所有的記憶體吃光;我們要手動呼叫 gc 來收集用不到的記憶體。這已經是個 FAQ。另外有種 workaround,因為我剛好也要用到 PIL,所以看起來還蠻誘人的。
當 Google 推出 maps.google.com 之後,線上地圖變成不能不用 ajax。然而,才過沒多久的時間日本的 mapion 就急起直追,超英趕美,現在新的 mapionbb 已經比 google maps 更厲害了。
現在的 mapionbb 可以滑鼠拖拉、雙擊定點,而且比 google maps 多了滾輪縮放。好方便,而且 Linux OK。雖然沒有衛星空照圖,但右邊有當地的天氣狀況報告,對都市來講更為實用。
如果能在日本直接用 3G 連上 mapion,行前幾乎就不必準備地圖了呢。
md5sum 好像作不到這件事,所以寫了一個 Python script:
#!/usr/bin/env python # $Id: hashdir.py 24 2005-11-08 09:17:44Z yungyuc $ import sys import os def getDigestPython( fn ): import md5 chunklen = 1024*4 m = md5.new() f = open( fn, 'rb' ) while True: data = f.read( chunklen ) m.update( data ) if len(data) != chunklen: f.close() break digest = "" for val in m.digest(): digest += "%02x" % ord(val) return digest def getDigestMd5sum( fn ): import popen2 stdout, stdin = popen2.popen4( "md5sum -b \"%s\"" % fn ) digest = stdout.read().split()[0] return digest def main(): try: findpath = sys.argv[1] logfn = sys.argv[2] except: sys.stdout.write( "Usage: %s <path to hash> <log file>\n" % \ os.path.basename(sys.argv[0]) ) sys.exit(0) try: f = open( logfn, 'w' ) f.close() except: sys.stdout.write( "Unable to open logfile: %s\n" % \ logfn ) sys.exit(1) if not os.path.isdir( findpath ): sys.stdout.write( "Is not a directory: %s\n" % \ findpath ) sys.exit(2) for root, dirs, files in os.walk( findpath ): for file in files: thisfn = os.path.join( root, file ) try: digest = getDigestPython( thisfn ) except: digest = " "*16 logmsg = "%s %s" % (digest, thisfn) f = open( logfn, 'a' ) f.write( "%s\n" % logmsg ) f.close() sys.stdout.write( "%s\n" % logmsg ) if __name__ == '__main__': main() # vim: cino=>4 et nu ts=4 sw=4:
給兩個參數:第一個是要 digest 的目錄,第二個是 digest 結果要存的紀錄檔。這個 script 跑過一遍以後,將來就可以用 md5sum -b -c logfile 來核對檔案的 md5 checksum。
Python 裡的 md5 模組跑得和 md5sum 差不多快。然而一次從檔案讀取的區塊不要太多,4kB 差不多是 optimum。