Google Chrome OS 會改變世界嗎?

, , at November 21st, 2009 by 小影

昨晚 Google 正式公佈了 Chrome OS 的詳細資料:一個啟動速度極快的 OS 加 Browser 。 Google 認為人們使用電腦的主要任務已變成網路 / 瀏覽器應用,其他的軟件變得不再重要了。因此Google 希望開發一個快速的 OS ,開機時間由傳統的 30 秒以上減到數秒,讓用家可以立即開啟瀏覽器使用網路服務。同時所有系統更新、安全性問題也不存在了! 雖然 Chrome OS 暫時只提供 Source Code 給 Linux / Opensource 愛好者試玩,但已有不少人第一時間下載和安裝試用!可以看看以下 lazyfai 的示範: 這是新的創意嗎?不,一些廠機現在都附送一個能快速啟動的簡易系統,概念跟 Chrome OS 極其相似,而用戶還可以啟動回正常的 OS 。 這種方式會特別有好處嗎?看不出。畢竟正常使用電腦我不會時常重新啟動,開機的時間重要性有限。要是這真是一個問題,我會用休眠功能 -- 在休眠下電腦醒來電腦也只是花數秒而已!再說軟件的更新,雖然用了 Chrome OS 不用更新軟件,但仍是要更新 OS 和 Browser 啊!而這兩部份也是最需要更新和讓人頭痛的問題。軟件方面在 Chrome OS 上執行 Web App 沒有其他特別的優勢,那我為甚麼不用更強的電腦呢? 當然,Chrome ...

Twitto – 經 Twitter / OAuth 分享網頁

, , , , at June 21st, 2009 by 小影

之前都會使用 Twitthis 或 Twitthat 去把有趣的網站分享。不過自從 Twitter 開放了 OAuth 的 API 後,總覺得沒有甚麼理由要再交出自已的 Username / Password 吧? 所以我就寫了一個簡單的 Sinatra Web App Twitto。

Sinatra – 簡易 Web Framework

, , , , at June 21st, 2009 by 小影

Sinatra 是一個輕量級 Ruby Web Framework。 有了 Rails 為甚麼還要其他的 framework?因為這世上沒有 Golden Hammer ,使用適當的工具可以節省很多時間。

Fullfeed ,一個制作全文 Feed 的 Framework (1)

, , , at June 7th, 2009 by 小影

話說最近剛買了本電子書,其中一個目標是能在書上慢慢讀 RSS 。一路整理想讀的 feed 時,理所當然地,就遇上了想讀的 feed 不顯示全文的問題。 要是在 PC 上可以使用 greasemonkey script rssget ,但要讓不能執行 greasemonkey 的 client 上就必需要由伺服器方面解決了,於是就開始在 server side 作 fulltext feed 的計畫。 要寫這樣一個 script 也很簡單,基本上只有兩步:1) 把 RSS Feed 的 item 逐個找出來;2) 把每個 item 指向的頁面內容抽出來,放回原本的 Item 中。用 Hpricot 處理非常簡單: 抽取全文通常是用 XPath 或 CSS selector ,這也可以用 Hpricot 解決: 單是這樣本已可滿足需求,但是否可以更簡潔和易維護呢?於是我就造了 fullfeed 這個全文 Feed 的 framework,希望更快幫我做出全文 ...

使用 scrubyt 爬網頁

, , at June 1st, 2009 by 小影

看見 Findbook 和 Moosh (和類似的網站) 會覺得很高興,它們除了把各個商戶的網站資料結合之外,還有更快更好用的介面。究竟怎樣才能把不同的網站資料到手呢?其實也不一定很困難,比如使用今天介紹的 Ruby Library scrubyt。 首先我們設定今日的目標:找出某一場電影的座位表現在的狀態。 要達到這目標你需要準備 Firebug (用來尋找 XPath) 和 Ruby。 首先安裝 scrubyt,在 command line 輸入以下指令: gem install scrubyt 接著建立一個新檔案 show.rb: 執行這段程式碼,就會輸出以下資料: 哈,我想你大概已明白 scrubyt 怎樣使用了? 1. Scrubyt::Extractor.define 開始定義了一個 Extractor, extractor 是 scrubyt 用來分析網頁的程式。 2. fetch 命令叫 scrubyt 打開指定的網頁,你可以試著在 browser 打開這頁看看座位表是怎樣的樣子 (URL 裡的 id 過幾天可能會過時了... 請自行找適當的一頁) 3. 接著的就是魔法:在 scrubyt 裡只要沒有被定義的關鍵字都會自動變成一個 node 的 definition。也就是說 extractor 會試著依我們指定的 XPath ...