About me

我的相片
I'm a web and software developer from Kaohsiung, Taiwan.
I design and implement user interfaces, also contribute to open source projects.
http://penkia.net/portfolio

2008年3月30日 星期日

本日書籤 03/30/2008

水果專利之健健康康的生活

http://0rz.tw/5b3QU

iPhone PWNED 小工具現身!

http://0rz.tw/763Q7

浪潮之巔第八章 沒落的貴族—摩托羅拉(二)

http://googlechinablog.com/2008/03/blog-post_24.html

Opera 與 Webkit 相繼達成 Acid3 100% Pass 目標

http://blog.gslin.org/archives/2008/03/27/1458/

HappyDesigner第三次聚會結束,大感謝!

http://hlb.yichi.org/blog/2008/03/30/199

「100% 開源手機與法律議題」簡報上線

http://blog.linux.org.tw/~jserv/archives/001997.html

Bug Labs:創造個人專屬的移動裝置

http://blog.linux.org.tw/~jserv/archives/001999.html

Eee PC 改造計畫:活潑化的桌面

http://blog.linux.org.tw/~jserv/archives/002000.html

[教育訓練紀錄] 交叉編譯(cross compile)thttpd

http://www.jollen.org/blog/2008/03/cross_compile_thttpd.html

Park: Kage no Sekai

http://mmdays.com/2008/03/27/kage-no-sekei/

O'lafur Arnalds - Eulogy For Evolution

http://pulp.bluecircus.net/archives/011152.html

1977年,陳達「稻草人」演唱實況

http://blog.roodo.com/honeypie/archives/5768273.html

台灣沒有亞太迪士尼中心?原來如此

http://fred.ipod.to/blog/?post;1450

Firefox往何處去?

http://fred.ipod.to/blog/?post;1451

iPhone Optimization Script

http://ajaxian.com/archives/iphone-optimization-script

DistroWatch Weekly, Issue 245, 24 March 2008

http://distrowatch.com/weekly.php?issue=20080324

Zenwalk Live 5.0 is ready

http://support.zenwalk.org/viewtopic.php?f=2&t=15282

KNOPPIX 5.3.1 Release

http://knopper.net/knoppix/knoppix53-en.html

ASUS releases Eee SDK, open source continues to be open

http://0rz.tw/703Qk

Become an Xcoder, Leopard Edition

http://pmougin.wordpress.com/2008/03/26/become-an-xcoder-leopard-edition/

Still waiting for Flash

http://lwn.net/Articles/272615/

Hidden Linux : Doing the splits

http://0rz.tw/1b3Rk

Linspire's CNR Beta: A Quick Review

http://www.madpenguin.org/cms/?m=show&id=8119

Best Way To Create Your Own Ubuntu

http://www.osweekly.com/index.php?option=com_content&task=view&id=2758

Firefox 3's better performance and memory improvements

http://www.builderau.com.au/blogs/syslog/viewblogpost.htm?p=339270943

Plans for the Linux-next Tree

http://kerneltrap.org/Linux/Plans_for_the_Linux-next_Tree

UBI File System

http://kerneltrap.org/Linux/UBI_File_System

2008年3月28日 星期五

今天突然有想寫遊戲的衝動

想在 iPod Touch 上寫螞蟻農場的遊戲,
大概就取名叫 iAntFarm 好了.

飼養工作只要 1) 保持土壤溼潤
2) 丟各式食物
3) 整土, 清理環境

重點是凌辱, 例如 1) "長按" 可以把螞蟻壓死
2) "拖曳" 可以把螞蟻從地道裡搬到任一處
3) "搖動" 會造成土壤鬆動
4) 可以丟進各種活生生的小生物或敵人...

簡單說就是觸控螞蟻版的地城守護者嘛!

大概又是一個無法完成的美妙想法.

2008年3月27日 星期四

Cleanup of initrd.gz

因為 LiveUSB 開機還是不夠快 (總共 34 秒左右), 昨晚一氣之下就跳進 initrd.gz 看有沒有可以動刀的地方.

原本我的假設是 1) squashfs 要掛載很慢 2) aufs 掛載也很慢.

因此我採取了以下步驟, 製作一隻不用解壓縮的 LiveUSB:

1) 全部格式化成 ext3
2) 安裝 extlinux 當作 boot loader
3) 將 syslinux.cfg 轉成 extlinux.conf
4) 將原本未壓縮的目錄 cp -av 至 casper/filesystem.dir

結果... 讀取時間有稍微變短, 總共大約差了兩秒. 並沒有出現想像中的奇效.

於是我又做了這些事來找出瓶頸 (總算想到要 profiling 了):

1) 將 /usr/share/initramfs-tools/scripts/casper 更新
2) 因為 busybox 好像有點問題, 把 /bin/date 塞進 initrd.gz
3) 修改 scripts/functions 讓 log_begin_msg() 順便紀錄時間

有了驚人的發現!!

1) 指定 union 的參數改叫做... union 了 (嚇到了吧!)
我把預設值修改為 aufs
2) 原先的假設根本不成立, 掛載超快的!
3) 瓶頸主要出現在四個地方

a. find_livefs() - 10 秒
b. scripts/casper-bottom/10adduser - 5 秒
c. scripts/casper-bottom/20xconfig - 3 秒
d. scripts/casper-bottom/23networking - 3 秒

其中 a 應該可以透過 bootfrom= 參數來解決, 但我還沒有試成功, 看來它會等待核心將裝置初始化. 而剩下的三個都透過 "背景執行" 這招簡單又骯髒的步驟成功減少時間.
再把不用的 script 清掉, 最後, initrd.gz 所需要的時間就降到 15 秒了.

雖不滿意, 但還可以接受. 這故事也再度驗證了不先找出瓶頸就亂動手的人是白痴.

2008年3月25日 星期二

摩爾的逆襲 -- 淺談介面革命與輕量化迷思

雖然標題好像很帥, 但其實只是最近"看" paper 的過程中, (不求甚解, 故謂之看) 發現其中一些研究的脈絡與我的想法不謀而合, 因為再度驗證了長年藏在心裡的懷疑而感到開心不已, 所以才有這篇心得文. XD

這裡提到的迷思大概可以拆成三個部份來談, 不過因為只是心得所以不用期待有完整論述, 延伸閱讀倒是不會少的.

一、膨脹迷思 -- 哭哭, 程式很佔硬碟空間

抱怨新版本的某程式爆肥似乎已經成為一種流行 (當然女星爆肥還是比較有話題啦), 例如蔡學鏞這篇 [1] 就是很典型的例子.

不可諱言的確有些問題肇因於疊床架屋的架構, 但追根究底其實是 "底層工具/開發者對於程式碼 size 最佳化的速度" 比不上 "我們對於軟體新功能的需求" 所致.

而對於新功能的 "需求", 又是由行銷人員和市場來推動, 很多根本是創造出來的; 不用考慮程式大小的話, 程式可以更早完成, 這部份 Joel 寫得 [2] 比我完整很多.

[1]http://jerrylovesrebol.blogspot.com/2008/03/blog-post_13.html
[2]http://www.joelonsoftware.com/articles/fog0000000020.html

二、輕量迷思 -- 科科, 程式不佔記憶體空間

另一種很典型的迷思就是追求那種最不佔記憶體空間/耗用資源最少的程式.

大家一定都用過 Windows 底下的一種小程式, (大抵是從 toget 或史萊姆抓到的) 號稱可以釋放記憶體, 還有一個很酷炫的百分比條顯示你的記憶體被萬惡窗戶霸佔了 "87%", 於是你按下 "釋放" 按鈕, 咻, 記憶體回來了 -- 但其實, 你的程式現在起會跑的更慢, 因為這些釋放記憶體的程式不懂甚麼叫做 Cache [3].

作業系統的存在就是為了分配資源 -- 無論是硬碟空間, 記憶體或是電量. 越能善用所擁有的資源, 程式就會表現得越好.

有很多硬碟空間, 為什麼不用? [4] 有很多記憶體, 為什麼不用? [5] 反正放著也是浪費嘛! 把資源留給其他程式? 又不是真的有多工到這種程度.

於是我們知道, 說一個程式很輕巧, 通常應該修正為 1) 功能很少 或 2) 在低資源分配的情況下也能有不錯的表現. 而後者才應該是我們要追求的.

[3]http://en.wikipedia.org/wiki/Cache
[4]http://portal.acm.org/citation.cfm?id=1095809.1095836
[5]http://sourceforge.net/projects/preload

三、3D 桌面迷思 -- 呵呵, 我的旋轉方塊好炫喔

這點迷思其實和以上兩點都沒有關系, 純粹只是碰巧提到湊在一起而已.

攤開電腦發展史 (也沒幾年就是了), 其實就是一連串的妥協與折衷, 為什麼呢? 一句話: Old habits die hard. 積習難改是也!

這可不是在看完 Alfie 大嘆 Jude Law 怎麼可以這麼帥以後騎車要哼的主題曲, 這點破了一個現象 -- 是人都不喜歡改變. 就算轉移目標比起現在要好一百倍也不行!

想想 QWERTY 對上 Dvorak 鍵盤, Windiws XP 對上 Ubuntu, 雙腳對上 Segway.

這也是為什麼我們仍然停留在 WIMP 介面 [6] 的原因, 即便我們已經能處理彷彿聞到硝煙味的爆破碎片, 栩栩如真的毛髮光影, 以及想都沒想過的各種輸入介面.

空間記憶 (spatial memory) [7] 問題使兩大桌面系統停留在耍弄特效眼糖騙取觀眾, 拿掉那些花俏的視覺效果來看, 我們所擁有的東西和二十年前 PARC 產品沒什麼兩樣.

3D/特效真的會讓生活更簡單容易嗎? (某些情況下會, 例如小尺寸螢幕的縮放), 使用者習慣能夠被教育嗎? (一定可以, 但是要漸進, 例如 iPod -> iPod Touch).

我想這才是我輩黑客該面對的問題. XD

[6]http://en.wikipedia.org/wiki/WIMP_(computing)
[7]http://osnews.com/story/18829/Common_Usability_Terms_pt._I:_Spatial_Memory

敬請指教, 謝謝!

2008年3月24日 星期一

本日書籤 03/24/2008

喜出望外,Xbox 360被洗,玩家��比������名主�

http://0rz.tw/103Q0

整合Firefox延伸功能:Prism未�新的����基�

http://chinese.engadget.com/2008/03/23/firefox-prism/

Siftables:��料�起�

http://0rz.tw/973Nh

Adobe:iPhone 上的 Flash 外�好像�咱�想像的��容易

http://0rz.tw/1c3Lx

Adobe AIR :跨平台富媒��用��工具

http://chinese.engadget.com/2008/03/22/adobe-air-announce/

Consistent Hashing

http://blog.gslin.org/archives/2008/03/21/1452/

MyISAM 在 FreeBSD 上效率不好的原因?

http://blog.gslin.org/archives/2008/03/24/1453/

浪潮之�第八章 �落的�族―摩托�拉(一)

http://googlechinablog.com/2008/03/blog-post_21.html

2008~2012 �� - �英九

http://blog.dragon2.net/2008/03/24/521.php

投票,是公民的��和�利

http://blog.ijliao.info/archives/2008/03/20/3521/

�英九��之後…

http://blog.ijliao.info/archives/2008/03/23/3524/

�籍也免�下�的�候到了�?

http://fred.ipod.to/blog/?post;1443

�大��果的一�看法

http://fred.ipod.to/blog/?post;1447

�典�果 Mac ��者影片

http://www.macgrass.com/permalink/2098

「�『看不�的��』到『看不�的自由��』」��上�

http://blog.linux.org.tw/~jserv/archives/001993.html

Xenomai/SOLO:提供 Linux 使用者��的 RTOS 模�

http://blog.linux.org.tw/~jserv/archives/001994.html

解放你的桌面:LxDE 重�上�

http://blog.linux.org.tw/~jserv/archives/001995.html

�放手�:Linux Mobile Phone

http://www.jollen.org/blog/2008/03/open_mobile_phone_linux.html

Imagine

http://pulp.bluecircus.net/archives/011149.html

(�在��候重� Imagine 是有甚�期��... :-)

Live CD : �展中版本�出: PUD GNU/Linux Version 0.4.8.5

http://knoppix.tnc.edu.tw/modules/news/article.php?storyid=260

Development Release: Ubuntu 8.04 Beta

http://distrowatch.com/?newsid=04806

Development Release: PUD GNU/Linux 0.4.8.5

http://distrowatch.com/?newsid=04807

Development Release: NimbleX 2008 RC

http://distrowatch.com/?newsid=04809

GCC 4.3.0 exposes a kernel bug

http://lwn.net/Articles/272048/

Android, Schmandroid: Linux on the iPhone

http://www.linuxinsider.com/story/62209.html

Turn your launch bar into eye candy with wbar

http://www.linux.com/feature/128982

Android tunes into OSGi

http://www.regdeveloper.co.uk/2008/03/21/osgi_android/

GoblinX packs a lot into compact Slackware-based distro

http://www.linux.com/feature/129214

From GNOME to KDE and back again: old computing habits are hard to break

http://www.linux.com/feature/129757

An Eye On The Prize: A Detailed Look At Foresight Linux 2.0

http://0rz.tw/7a3Nr

Mozilla CEO: Apple wrong in pushing Safari to Windows users

http://0rz.tw/b93NW

Evidence mounting: Windows 7 going modular, subscription

http://0rz.tw/253NU

9 Improvements Needed in GNOME

http://itmanagement.earthweb.com/osrc/article.php/3736091

Hack Attack : Run Linux Apps Natively On Windows, OSX

http://0rz.tw/4a3Nw

Linux Directory Structure Overview

http://www.debianadmin.com/linux-directory-structure-overview.html

MacBook Air reviewed... as a Windows machine

http://www.engadget.com/2008/03/20/macbook-air-reviewed-as-a-windows-machine/

OLPC security chief resigns, cites ethical concerns as final straw

http://0rz.tw/1f3QH

MacBook Air hack unearths more relatively inaccessible USB connectors

http://0rz.tw/143LA

Mozilla Says Firefox 3 Ready for Prime-Time

http://osnews.com/story/19509/Mozilla-Says-Firefox-3-Ready-for-Prime-Time

Why Apple Fans Hate Tech Reporters

http://osnews.com/story/19511/Why-Apple-Fans-Hate-Tech-Reporters

Awesome 2.2 Released

http://osnews.com/story/19514/Awesome-2.2-Released

2008年3月22日 星期六

iPod Touch 完美破解版 (續)

釋出了 PUD v0.4.8.5 後收到不少回應, 真是讓人開心. 同時間 Ubuntu 也釋出 8.04 的 beta 版, 看來得再努力一下! :-)

這幾天除了嘗試編譯 toolchain 之外, 也順便試了一堆程式, 這兩個是特別好玩的:

VNsea


iPod Touch 上的 VNC client, 這是 Windows XP + TightVNC 的搭配使用, 酷吧! 之所以選擇 TightVNC 是因為它可以很容易的變成 Portable 版軟體. (關於 Portable 版軟體改天可以補一篇心得分享)

PDFViewer


雖然它跟 Preview 這個程式用同一個圖示 (到底誰學誰阿 XD), 但是功能滿完整的. 記得要從本機將 PDF 檔案傳到 /var/root/Media/PDF 底下.

這種 "impossible is nothing" 的感覺正是全天下玩具所能提供的最大滿足感. (所以理論上我已經可以不帶 NB 到處看 paper 寫投影片並趕在 group meeting 之前完成了嗎? XD)

2008年3月21日 星期五

發展中版本釋出:PUD GNU/Linux Version 0.4.8.5



這是個開發中的 PUD,但因為包含太多實驗性的新功能,所以我們決定釋出一個公開測試版。更新包括了安裝程式、新的套件選擇、加強版的 LiveCD 懶人包、核心補綴、開機速度最佳化,以及更好的筆記型電腦與移動裝置支援。系統使用 Ubuntu 8.04 的套件,所以可能還會有些許錯誤。
詳細情形請參考完整的釋出公告

敬請指教,謝謝!
Pin-Shiun Chen (penkia) <penkia@gmail.com>