Thursday, December 13, 2012

Running python in 32-bit mode for wxPython


在 Mac OS X 上面寫 wxpython 時,必須打開 32bit mode 不然他不會動 ...

解法:

加入以下環境變數

export VERSIONER_PYTHON_PREFER_32_BIT=yes


參考

http://stackoverflow.com/questions/2088569/how-do-i-force-python-to-be-32-bit-on-snow-leopard-and-other-32-bit-64-bit-quest

http://stackoverflow.com/questions/4665818/running-python-in-32-bit-more-for-wxpython

emacs beginer's notes


http://www.linux.org.tw/CLDP/OLD/Emacs-Beginner-HOWTO-2.html
http://linux.chinaitlab.com/man/newsoft/Emac/book.html



上下左右
C-p previous line
C-n next line
C-f forward
C-b backward



PageUp/Dn
C-v scroll-up

M-v scroll-down


以字移動
M-f forward-word
M-b backward-word



行首行尾

C-a move-beginning-of-line
C-e move-end-of-line



句首句尾

M-a backward-sentence
M-e forward-sentence



檔頭檔尾

M-< beginning-of-buffer
M-> end-of-buffer



search
M-q C-s forward search
M-q C-r backward search


delete
C-d delete-char
M-d kill-word
C-k kill-line
M-k kill-sentence



yank
C-y yank
M-y yank-pop



buffer
C-x C-b list-buffers

C-x b switch-to-buffer
C-x k kill buffer
C-x C-c save-buffers-kill-emacs
M-x rename-buffer



files
C-x C-f open a file

C-x C-s save
C-x C-w save as 

windows
C-x 0 delete-window
C-x 1 delete-other-windows
C-x 2 split window vertically
C-x 3 split window horizontally
C-x o other-window



misc
C-x u undo
C-x l count-lines-page
M-x execute-extended-command
M-x shell 開啟 shell
C-g keyboard-quit
C-u M-x calendar



help
C-h k describe-key

C-h i info  # 神奇說明書
C-h F Emacs FAQ
C-h b shortcut keys enabled in current buffer

Monday, December 10, 2012

geek calendar

http://technet.tw/ 是一個有趣的宅宅農民曆,於是寫出了一個 one liner 去抓他




date "+%F, %A" && w3m -dump "http://technet.tw"  | head -n 26 | sed -e '/^$/d' -e '1,3d'| sed -e '1,4{N; s/\n/ /}'




btw, 背景是君君 >///<

Thursday, December 6, 2012

我們都活在太舒服的年代







跟 jserv 信件往來的一小段節錄... 反思我們對於電腦環境的認識與了解




我們都活在太舒適的年代










jserv:


話說回來,二十年前當我剛開始接觸電腦時,那時沒有太多科技術語,而且人們探討的議題也相當局限,不外乎 BIOS、文書編輯器、繪圖程式 (你想過AutoCAD 跑在受限於 640 KB 的 DOS 環境是怎麼樣呢?)、幕後排版 (比 TeX 陽春許多)、程序導向的程式語言 (還記得 OOP/4GL 慰為風氣的年代嗎?還要再早一點) 等等。


而現在就非常可怕,我想要是把科技術語整理起來,或許都比當年的 BIOS 原始程式碼列表 (可在圖書館找到這樣的專書,全書都是程式碼,在 301 條款生效之前,把有版權保護的程式碼印列出來的盜版行為,在台灣不追究) 還長。









me:


這些更早的年代在我深入接觸電腦早已過去,但是閱讀前輩們的書籍時還是能從中體驗到那種氛圍,那個處處受現的年代,所有資源都要透過整個系統去思考,做最佳、最有效率的利用;反觀現在太多 "外殼" 將計算機內部的行為包裝起來,一般接觸電腦的人也不容易產生興趣、去明白 how it works ,太多商業化 (或是說物質)的包裝混淆了焦點。



但是值得反思的是,就拿機械工業技術來對比吧,工業革命時代下也是許多 "hackers" 想要改進蒸氣機、齒輪和傳動軸等動力機械的發展,而商業化和大量的規模生產後的現代,想要去了解各式機械的運作原理的人們也漸漸變少了。像是我們並不會想去深入探討一輛汽車或是機車如何工作、不必了解引擎運轉的種種原理等,大眾化後的結果是大家享受某項工具的的 "商品",而技術本身可能除了技術人員外就愈來愈少人想要去理解這些。



回到電腦科學的角度不也如此?我認為電腦科學中很大的概念是 abstraction ,透過更上一層的抽象角度來思考整個系統的運作,而不去鑽底層技術的牛角尖,這種學習方式未嘗不好,只是當我們在上層進行抽象、全局的思考模式時,不能因而模糊了焦點。這個時代太多過多的包裝讓電腦系統變得漂漂亮亮的商品,而想去了解他背後工作原理的人很容易被這些外部的包裝所迷惑、混淆,相較之下當年一群 geek 跟 hacker 的時代要接觸底層工作知識的途徑就顯的容易許多。我想,這是現在學生不容易對於系統產生興趣的其中一個原因吧!

Tuesday, December 4, 2012

gnutls_anon_server_credentials is deprecated

compile qemu 遇到

error: ‘gnutls_anon_server_credentials’ is deprecated 解法

基本上就是把 type 換掉即可

ref

好奇這 bug 應該很久以前就解掉了,但是我去 fetch 目前最新的 qemu 1.3 還是在 @@"


Index: qemu-kvm-1.1.rc2/ui/vnc-tls.c
===================================================================
--- qemu-kvm-1.1.rc2.orig/ui/vnc-tls.c
+++ qemu-kvm-1.1.rc2/ui/vnc-tls.c
@@ -99,9 +99,9 @@ static ssize_t vnc_tls_pull(gnutls_trans
 }
 
 
-static gnutls_anon_server_credentials vnc_tls_initialize_anon_cred(void)
+static gnutls_anon_server_credentials_t vnc_tls_initialize_anon_cred(void)
 {
-    gnutls_anon_server_credentials anon_cred;
+    gnutls_anon_server_credentials_t anon_cred;
     int ret;
 
     if ((ret = gnutls_anon_allocate_server_credentials(&anon_cred)) < 0) {
@@ -382,7 +382,7 @@ int vnc_tls_client_setup(struct VncState
             }
 
         } else {
-            gnutls_anon_server_credentials anon_cred = vnc_tls_initialize_anon_cred();
+            gnutls_anon_server_credentials_t anon_cred = vnc_tls_initialize_anon_cred();
             if (!anon_cred) {
                 gnutls_deinit(vs->tls.session);
                 vs->tls.session = NULL;