讀了 ES operating system from Google Code
Posted by Hiroshi Yui in General on March 2nd, 2010
花了一點時間,讀完岡坂史紀さん (Shiki Okasaka) 的這篇 [ES operating system from Google Code] 講稿。主要內容是敘述 Nintendo ES 作業系統的設計。(您沒看錯,這真的是任天堂公司釋出的一個開放原始碼作業系統)
摘錄幾個自己覺得有趣的地方:
- Component operating system
- It is not a goal building a simplified, decoupled UNIX implementation on top of the microkernel in the ES operating system. The primary goal has been making it possible for developers to easily create rich applications, like 3D games, using ECMAScript.
- In ES, we want to provide more meaningful programming interfaces to the programmers from the kernel level, and we want to make the interfaces dynamically extensible.
- Any component written for ES in C++ are simply accessible from the ECMAScript in ES.
- If you have a great idea, please implement the most interesting part first, and demonstrate it, demonstrate your concept to the people.
把 HTML5 直接拿到 OS 這層來做應用程式,這真的是我近期看過最有趣的作業系統設計。
不曉得有沒有辦法推 XMLTV 讓電視台廣為採用
Posted by Hiroshi Yui in General on March 2nd, 2010
把 Apache Cassandra 在 Ubuntu 9.10 & Ruby 1.9.2(-dev) 上跑起來
Posted by Hiroshi Yui in General on February 24th, 2010
因為 Ubuntu & Debian GNU/Linux 內的 /usr/include/string.h 不似 *BSD,沒有 strlcpy() 函數可用,但是 Ruby 1.9.2 又會自以為系統有這個函數,造成 gem install cassandra 時踩到雷(參考這裡),所以我用了很 dirty 的解法:
(我的 Ruby 1.9.2dev 是裝在 $HOME 裡,以下提到的路徑請替換成您自己安裝 Ruby 的實際所在)
- 先安裝 libbsd-dev (sudo apt-get install libbsd-dev)
- 修改 lib/ruby/gems/1.9.1/gems/thrift-0.2.0/ext/struct.c,自己加上 #include <bsd/string.h>
- 改好之後直接 make 測試編譯,在此 compiler 應該已經不會抱怨 implicit declaration of function ‘strlcpy’
- 到上一層去 ruby ./setup.rb 手動安裝,之後 lib/ruby/site_ruby/1.9.1/thrift 應該要有相關檔案
- gem spec ../../cache/thrift-0.2.0.gem –ruby > ../../specifications/thrift-0.2.0.gemspec,做好這步後 gem list 應該會看到已安裝的 gems 裡頭有 thrift (0.2.0)
- 回頭再跑一次 gem install cassandra ,安裝過程應該會順利完成
- 接著跑 cassandra_helper cassandra,ant 編譯過程順利的話就會把 Cassandra 跑起來
See also: up and running with cassandra :: snax
人生頭一次在網路買過鹹水的書
Posted by Hiroshi Yui in General on February 9th, 2010
為了買這本 Designing Object-Oriented User Interfaces,一開始還在 Amazon 上碰壁、覺得見到鬼,繞好一陣子才知道上頭的二手書是不送國外的。之後在〈樂多欽城: 美國網站買二手書經驗談〉看到 Alibris 這個二手書仲介網站,終於在 Icapsa Used Books 找到一本書況還不錯的,而且還不到一個月就寄到了。
豈能盡如人意,但求無愧於心
Posted by Hiroshi Yui in General on January 12th, 2010
以下簡單聲明我的立場:
我贊成將論文即時開放(∴ 與我指導教授意旨相違,所以我並不是所謂的「打手」),但是我反對這種教授說了算的文化。尤以這次影響到在學學生的權益之所務會議決策過程,在學學生毫無參與、只能被動接受的惡例一開,往後在學學生的權益是否亦說變就變、說改就改?我相當擔憂,故提出質疑,此外別無其他用心。
我反對這種粗糙的決策方式,並對少數人加諸我的抹黑,深表遺憾。
謝謝。
這學期回世新去講 Drupal
Posted by Hiroshi Yui in General on December 29th, 2009
承蒙大學老師看得起,這學期有幸回學校用兩次、共四小時的時間跟系上學弟妹講 Drupal。課堂上講了架設、基本自訂,以及 Book, Menu, Taxonomy 基本的資訊組織工具,還有 CCK。可是,時間還是不夠用,另外花了不少時間在寫線上補充講義,以及用 email 向學弟妹們解答問題。
我覺得要跟人推銷、介紹 Drupal,如果沒講到 Views 以及搭配的 Panels,配合一個具體的題目實際 run 過一遍,在他們眼前做個成品出來,是很難讓人覺得有「Wow! 感」的。以學生展示的實作作品看來,大多數仍然不能掌握 Drupal「過於彈性」(這是讚美)的特質,反而覺得左右支絀,我想我也需要反省自己的教學方法。
不過,時間是真的不夠。若是我住得近,也許就會另外找個時間再揪個 LAB 教學團。以我估計,大約需要花到共八小時。
Tokyo Cabinet 作者新作:Kyoto Cabinet
Posted by Hiroshi Yui in General on December 29th, 2009
Kyoto Cabinet,從〈開発メモ: KCのデータフォーマット再考〉以及平林幹雄(Mikio Hirabayashi)先生本人的 tweet 得知的消息。
話說我拿 “Kyoto Cabinet” 去 Google 找,目前第一筆結果是一具京都風格櫥櫃的傢俱購物網頁…。
D-Link DIR-300 rev.B1 韌體更新失敗,怎麼辦?
Posted by Hiroshi Yui in General on December 24th, 2009
昨天創下了自己的最速手賤紀錄,把一台開箱約半小時的 DIR-300 給弄成半磚 (semi-bricked),寫錯 DD-WRT 韌體版本。
找了資料後,發現 DIR-300 rev.B1 其實骨子裡幾乎與 DIR-600 rev.B1 無異,而電源燈(Power LED)一直在閃動(blinking, flashing)的意義是它正處於急救模式 (emergency room),代表還有救。文件裡頭表示,以這台的設計來說,要把它弄到完全變磚,還真有點難。看到這句話我都快哭了。
然後,修復辦法就是,把電腦用網路線接上 DIR-300 任一 LAN port,並設定電腦的 IP address 為 192.168.0.2/24,之後就可以在急救模式下進 http://192.168.0.1,把正確的韌體檔透過這個上傳介面燒錄回去。
原本還想去做一條 serial port 傳輸線來救援的,慶幸省了這道工。
強制 ActiveRecord 不要 cache
Posted by Hiroshi Yui in General on December 21st, 2009
Module: ActiveRecord::QueryCache::ClassMethods
今天處理一個程式片段時,為了抓到正確、最新的資料,從 [Rail Spikes: Disabling ActiveRecord query caching when needed] 學到的東西。
Facebook 連結分享速貼 bookmarklet
Posted by Hiroshi Yui in General on December 19th, 2009

