Note to Self: 下個月換走 3HK

, , , at August 4th, 2010 by 小影

當年為了 iPhone 3G 在 3HK 出了電話,悔不當初。特此一文提醒自己約滿夠期要換~~

延申閱讀

WebPad for iPad 上架了!

at July 23rd, 2010 by 小影

幾經波折,WebPad 終於上架了!WebPad 是個簡易的繪圖板,你在 WebPad 上畫的東西會逐筆逐筆即時傳送上網站,全世界的人都可以即時看見!

詳情請到 WebPad 網站iTunes 的連結

Updates

有示範看:

軟件更新:執筆忘字 for Android v1.1.1

, at July 14th, 2010 by 小影

只要記得詞語或成語的一部份,「執筆忘字」就可以幫你搜尋你想要的詞語或成語!

v1.1 更新:

  • 支援 X10 mini/mini pro 等小型手機
  • 加入橫向畫面支援,橫向時可以輸入六字詞語
  • 加入「複製」和「搜尋Google 」選項

軟件可在 Android Market 免費下載!

WebSnap – 在 ruby 程式中製作網頁 screenshot

, , , at June 27th, 2010 by 小影

今天發現一個有趣的工具:wkhtmltopdf。它利用 QT4 的 WebKit widget 去把網頁轉換成 PDF 。接著Jared Pace 為它寫了一個 ruby 的 wrapper – PDFKit ,使用它就可以在 ruby 下把網頁轉成 PDF。

wkhtmltopdf 專案下還有另一個產品 — wkhtmltoimage ,當然它的功能就是把網站轉為圖片檔。我就想如果可以跟 PDFKit 一樣在 Ruby 下應用就好了!於是就照著 PDFKit 做了 WebSnap

安裝

  1. 安裝 wkhtmltoimage : 在 Linux 下不用安裝,gem 已內置了一個 static 的 i386 build 。在 Mac 或 Windows 下請自行到它們網站研究怎樣 build (花了兩小時還未能 build 好 mac 版,我決定等作者的 static binary…)
  2. 安裝 WebSnap: gem install websnap

使用

前面說過這是 wkhtmltoimage 的 wrapper ,如果要仔細控制它的輸出要先學習它的 options (用wkhtmltoimage -H )。如果不需仔細的控制,它的使用很簡單:


require 'rubygems'
require 'websnap'
s = WebSnap.new 'http://www.google.com'
s.to_file('google.png')

這樣會產生 google.png ,它是一個 120×90 的 PNG 檔。

需要的話也可以直接輸出 bytes :


s = WebSnap.new 'http://www.google.com'
s.to_bytes

也可以用 wkhtmltoimage 的 options :


s = WebSnap.new 'http://www.google.com' , :'scale-w' => 240, :'scale-h' => 180, :zoom => 1.5
s.to_file('google.240.png')

開放源碼

這個程式使用 GPL v3 授權開放源碼。源碼可到 github websnap 下載。

embed_html – 制作可獨立使用的 HTML

, , , , at June 26th, 2010 by 小影

有天想把有圖有 Stylesheet 有程式的 HTML 封裝到程式中。當然了 HTML 只是一個文字檔案,要加進程式是很簡單。但要同時把所有有關的圖片檔都掛上在管理上有點麻煩 — 通常解決方法有三:

  1. 先把所有東西壓縮,在需要顯示前解壓到適當地方再讀取
  2. 把所有連結的圖片、Javascript 和 CSS 都轉用 Absolute Address,或在 HTML 檔中用 base 標記,讓程式懂得在顯示時即時在網路讀取
  3. Data URI Scheme 的方法直接用 BASE64 在連結裡封裝附件內容

第一點的難處是它假設有文件系統,在手機上有時這十分困難、麻煩、或者不穩定。
第二點的難處是它假設有網路,然而有些人的手機是沒有網路的,就算有,每次顯示文件時也要讀取網路不是十分好的做法。
第三點是個解決方法,很多公司的電郵通訊早已用這方法直接把圖片加進電郵當中,這樣用戶就不用在開電郵時看見一個個大交叉了。當然要這樣做就要把圖片和附件用 BASE64 編碼加在 HTML 中 — 我們當然不會用手做這種笨工作 — 有這樣的工具嗎?

一時之間找不到,於是就動手把它寫出來了。

embed_html 是一個 ruby gems ,首先假設你已安裝 ruby 和 rubygems,那它的安裝很簡單:gem install embed_html

在 Mac/Linux,使用方法如下:

  eurl <input-url> <output-file>

例如想下載 wikipedia 首頁:

    eurl "http://en.wikipedia.org/wiki/Wiki" wiki.html

它也支援本機的檔案:

    eurl index.html index-embed.html

產生的檔案會包裝所有連結的圖片、CSS 和 Javascript 檔案。

在 Windows 下要這樣用:

ruby -S eurl <input-url> <output-file>

軟件用 BSD License 開放源碼,可以到 github embed_html 找到。

P.S. 請將本軟件用在正義的地方,不要用在邪惡的地方,謝謝。

P.S.2. 忘了 push 最新的 code 到 github 上… 在 gem 裡的 code 才是最新的