linkname:mqskit http://bit.ly/zww8Vh 是個 hg extension, 補強 linkname:mq http://bit.ly/wPtNjh 的功能。 最近因為工作,大量使用 mq,而且同時需使用多個 patch queue。 因為 queue 之間的相依性,必需常在不同的 queue 之間同步、更新 queue 裡面 的 patch。 例如: B queue 相依於 A queue,於是每次 A queue 有更動時,就必需在適當的時 侯把 A queue 裡面的 patch 更新到 B queue 裡。 經常如此更新,是一件浪費生命的事,於是做了這個 ...
在看到 fcamel 的 linkname:[文章] http://bit.ly/unIBmD 之後,有幾點想要 補充一下。 Reference counting 是不是半自動化? 我並不覺的。 在程式語言的支援之下,如 C++ 的 smart pointer, reference counting 是能達到自動化的。 reference counting 只是一種技術,能不能自動化得看工具。 至 mark and sweep 也不能完全為 CPython 解決 cyclic reference 的問題。 主要原因在於 CPython 有一部分 code 是使用 reference counting,特別是 ...
為 Mecurial 寫 extension 的快樂,是冬獼入溫泉,夏童跳冷澗,炎午熏風吹, 雪後暖陽會一般的舒暢。為什麼? 是 Python 的淋漓,智慧烘照之後發出的芬芳, 產生了體內芬多精,至於腦內瑪琲產生也! 雖然是很唬爛,但不中也不遠矣! hg extension 兮 Python module 兮,毋遠矣! 納 cmdtable 變數,是 hg subcommand 的列表也。如 hg commit 、 hg pull 皆是。hg extension 設 cmdtable,使 hg 知 subcommand。有例為證 {{{#!python cmdtable = { 'bzexport': ...
linkname:[Mozilla 台灣辨公室徵人啟事] http://www.104.com.tw/jobbank/custjob/index.php?r=cust&j=386043285e363e6856423c1d1d1d1d5f24437323189j56&jobsource=checkc 。Mozilla 剛在台灣設立辨公室,有興趣者可以在 104 投履歷,或投到 career-tw AT mozilla.com。
這兩天被討論的是 Apple 的兩項專利。有人說,所有手機廠都要遭怏了。 但,真的如此嗎? 先假設這兩項專利以後不會被推翻,那是否就無解了? 我有幾個想法,不知是否能破解、避開該專利。但大家可以參考看看。 == 專利一: 滑蓋解鎖 == 也就是,手機進入待機狀態時,需要從手機畫面的左或右邊,滑到另一側, 手機就會解鎖。 如果,我在手機上面是顯示一排像是公事箱的數字鎖,只要碰一下就會跳往下一個數字。 只要使用者排出正確數字,就會解鎖。 假設預設 password 是 1111,而一開始都是出現 0000 的排列。 那麼使用者只要從左到右,或者反過來滑,這樣所有的數字就會變成 1111, 成功解鎖。 ...
每一個 C/C++ 的 programmer,應該都有遇過程式 core dump 或 segmentation fault 之後,透過 GDB (debugger) 卻無法指出錯位址的窘境。 (應該沒有人例外吧!) 這通常是因為 process 或 thread 的 stack 已經被弄亂了,或者 frame pointer 已經被改亂了,指向無名之處。 而 debugger 需要正確的 stack 資訊,才能分析出正確的 call frame。 遇到這種問題,通常的做法是乖乖去看程式碼,憑感覺推斷一些可能出錯的點, 並在出錯之前做 break point,再一步步的 step 過去,看是否正確。 ...
有用 screen 的人應該都知道,當有個程式發出 beep 聲時,screen 就會顯該 terminal 的編號。但該怎麼方便的發出 beep 聲呢? 例如: 當你在進行 build Android 之類的工作時,會切到其它 terminal,做其它事。 如何在完成 build 工作時,發出 beep 通知你,而不用不斷的切回去檢查呢? beep 的 ASCII 碼為 07,所以你只要想辨法印出 beep 字元,就會發出 beep 聲。 如果你使用 bash,作法為 {{{ echo $'\07' }}} 如果你在編譯個什麼東西,請用下面指令 {{{ make ; echo $'\07' ...
剛才看到一篇新聞 linkname:[科技大老:人才問題最迫切] http://tw.news.yahoo.com/article/url/d/a/111001/4/2zpaa.html ,其中提到 {{{ 以人才供需問題最迫切。王振堂表示,前次就曾提議本勞與外勞薪資制度應脫鉤, 但現在的需求卻比4年前更強烈,企業找不到人,高級人才、工程師的需求更是迫 在眉睫,電子資訊人才缺口1萬人,其中研發軟體對應求職者不到1個人,人才供 給失衡將嚴重影響產業發展。 }}} 我不襟想到,你要找的是人才還是奴才? 本勞和外勞薪資脫鉤,說的應該是外勞 不受本勞的最低工資限制。但如果因為本國找不到足夠的高級人才、工程師等, ...
昨天看到 linkname:[fcamel] http://www.plurk.com/fcamel 分享的一篇linkname:[PTT 文章] http://www.ptt.cc/bbs/Soft_Job/M.1316191715.A.323.html ,主要是談該不該順手 clean code。 在發表一些linkname:[看法] http://www.plurk.com/p/e0o4g6 之後,fcamel 又在今早發表一篇文章說明他的看法。 大致上,我的個人的意見和 fcamel 的文章是一致的,原本昨晚想要寫一篇說明, 但因故作罷。 但今早看到 fcamel 的文章之後,覺的看法雖然一致,有些點我還有一些更細 ...
因為運氣不好,在試圖在 FreeBSD 上玩 B2G (Boot To Gecko) 時,遇到 core dump 的問題。 在細部分解之後,發現是 FreeBSD 的 TLS (Thread-Local Storage) 的實作有些 隱藏的問題。 使用 TLS ,你的程式能夠為每一個 thread 配置一塊專用的記憶體,每當程式向 thread library 要那一塊記憶體的位置時,就會傳回對應到目前 thread 的區塊。 因此,每一個 thread 都可以有自己一塊空間,而不會誤取其它 thread 的區塊。 TLS 最簡單的用法如下 {{{#!cpp __thread int count ...
為了幫某個系統問題除錯,在等不及重新編釋/make world 的情況下,我直接用一個 新版本的 libc.so,蓋掉 /lib/libc.so.7。結果,很不幸的, copy 的動作並未完成, 並留下損毀的 /lib/libc.so.7。於是乎,系統無法執行任何新指令了,也無法重新 進行 copy。就此,我展開了拯救 FreeBSD 小惡魔大作戰。 甲計劃,我開始做開機用的 USB storage。先從另一台 notebook 上,重新 build world 並製作開機用的 image。 但這太慢了,又試著從網路上 download 現有的 binary。 這也不是這麼順利, memory ...
Update 到 Firefox 5 以上的版本後,一直發現 Firefox 吃的 memory 不斷成長。每當我把 browser 開著不關,隔天一醒來,看到就是上 G 的 memory 被吃掉。後來我發覺是 error log 造成的。特別是像 Google plus 和 Yahoo,會不斷產生大量的 CSS error,造成 memory 使量持續上昇。在幾經測試之後,發現只要把 "layout.css.report_errors" 設為 false 就能避免這個問題。 請進 about:config 頁面裡,找到 "layout.css.report_errors",並設為 false。避免 ...
前一篇 linkname:[paraspace] http://www.codemud.net/~thinker/GinGin_CGI.py/show_id_doc/452 的介紹,沒有仔細說明 APK 的封裝方法。只附上linkname:[一篇文章] http://asantoso.wordpress.com/2009/09/15/how-to-build-android-application-package-apk-from-the-command-line-using-the-sdk-tools-continuously-integrated-using-cruisecontrol/ ...
Paraspace 是敝人新起一個 project,是一個能 parse Android DEX file,並 做 code injection 的 Python library。之前在 HIT2011 曾發表過,當時只能 勉強運作,所以遲遲沒在網站上正式的發表。經過不斷的延宕之後,終於有一個 較完整(穩定?)的版本。特此發佈,希望能有所幫助。 DEX 是 Android Java code 的存放格式,裡面存放著 Dalvik bytecode。而 Dalvik 則是 Android 的 VM。 一般我們看到的 Android 程式,是一個 *.apk 的 APK 檔案。 APK 其實是一個 ...
我的工作檯旁,準備幾本詩詞。意煩、無趣之間,信手翻幾頁解悶。 今日讀到幾道孟浩然的詩,數次提到「漁梁」這個詞。 本以為大概是古時侯對某種地形、設施的通稱。 但多次出現之後,開始懷疑是某個地名。 上網查了一下,果然是個地名,而且現存。 {{{#!raw 夜歸鹿門山歌 孟浩然 山寺鐘嗚晝已昏,漁梁渡頭爭渡喧。 人隨沙路向江村,餘亦乘舟歸鹿門。 鹿門月照開煙樹,忽到龐公棲隱處。 岸扉松徑長寂寞,惟有幽人夜來去。 }}} 知道是地名之後,神意全然不同。 開門一句就是「鐘嗚」接著渡頭大家趕著回家的「爭渡喧」,兩種聲音混一起, 畫面也就歷歷在目了。 這樣的詩詞,難怪能流傳千、百年。 「漁梁」是指現安徽黃山南的漁梁古鎮。希望有機會一遊。 ...
這是一份 linkname:[Dalvik 的 opcode 列表] http://pallergabor.uw.hu/androidblog/dalvik_opcodes.html ,如果仔細研究裡面的 opcode,可以分成下面幾個類型: * move 指令 (register 操作) * return 指令 * const/常數指令 (常字串、數字...常數指定給 register) * array 和 object 相關的操作 * method 的呼叫 * 整數和浮點數運算 * flow control (goto/if/switch) 從這裡能發現,Dalvik 除了能處理整數、浮點數和 ...
這是一份 linkname:[Dalvik 的 opcode 列表] http://pallergabor.uw.hu/androidblog/dalvik_opcodes.html ,如果仔細研究裡面的 opcode,可以分成下面幾個類型: * move 指令 (register 操作) * return 指令 * const/常數指令 (常字串、數字...常數指定給 register) * array 和 object 相關的操作 * method 的呼叫 * 整數和浮點數運算 * flow control (goto/if/switch) 從這裡能發現,Dalvik 除了能處理整數、浮點數和 ...
[http://wiki.python.org.tw/PycTW2011?action=AttachFile&do;=get⌖=pyctw2011.png] 久違了, PycTW2011 確定了時間和地點。目前在做講題的最後募集,請各位有意者,移駕到 * http://wiki.python.org.tw/PycTW2011 本著分享的精神,有意分享食物者,也請移駕到上面網址進行預告。 日期:2011 年 6 月 25 日,早上 9 點 30 分到最下午 4 點 40 分 地點:台北市敦南路一段 219 號, B1 (蘋果優仕敦南店,感謝 OpenFoundry ...
[http://wiki.python.org.tw/PycTW2011?action=AttachFile&do=get&target=pyctw2011.png] 久違了, PycTW2011 確定了時間和地點。目前在做講題的最後募集,請各位有意者,移駕到 * http://wiki.python.org.tw/PycTW2011 本著分享的精神,有意分享食物者,也請移駕到上面網址進行預告。 日期:2011 年 6 月 25 日,早上 9 點 30 分到最下午 4 點 40 分 地點:台北市敦南路一段 219 號, B1 (蘋果優仕敦南店,感謝 OpenFoundry ...
在兩年多的努力之後, MadButterfly 終於接近第一個里程杯了。 MadButterfly 的工具 Scribboo,終接近可以發佈第一個版本。 Scribboo 是一個以 Inkscape 為基礎,以 Python 為語言,擴充其功能的成果。 Inkscape 是一個非常好用的向量繪圖工具,是 Open Source 少見的高品質繪圖工具, 提供豐富的 2D 向量繪圖功能。 在我們開發 Scribboo 的過程,我們將 Python 嵌入至 Inkscape,並提供 Python 控制 Inkscape 的介面。 我們將這樣一個 Python 加上 Inkscape 的平台,稱之為 ...







