顯示具有 ajax 標籤的文章。 顯示所有文章
顯示具有 ajax 標籤的文章。 顯示所有文章

2007年5月21日 星期一

Cheapest ttl2usb converter for la fonera

本來是想一起參加台灣黑客鬆的聚會,因為Jserv跟幾位朋友想在La Fonera上動動手腳,試著在La Fonera上玩玩AJAX/Web Server for embedded system。然而因為會議太忙,兩天都沒辦法出席,真是對不住。cclien寫了一篇相當不錯的文章,紀錄了黑客鬆的過程。最後他們是將Wt移植到La Foera 上,Jserv於OSDC中也針對此議題給了一個 lighting talk

2007年5月2日 星期三

iThome電子報對於黑客鬆的報導

之前提過「OrzLab::黑客鬆紀錄」,以輕鬆的口吻介紹了我們在「台灣黑客鬆」進行的Hacking,本週則收到iThome所寄來的刊物,裡面有對此活動作詳盡的報導,當然也包含OrzLab。台灣黑客鬆有篇紀錄「iThome 電腦報 292 期的報導」可作為參考,取得同意轉載如下:


謝謝iThome及其所屬記者王宏仁先生。有趣的是,原先我們並未邀請任何媒體。:)

另外,「首次」這樣的帽子有些沉重,頂多只能說是小小地在「跨社群」(也未必啦)上拋磚引玉罷了。最重要的是謝謝所有與會者的付出。m(_ _)m

Taiwan Hackathon - iThome News, No. 292

跑新聞出雜誌總是很辛苦的,還請有興趣看內文的人花點小錢到書店買一本囉!



週二下午跟iThome的編輯小談片刻,看來他們的報導很用心,雖然版面不大,但基本意思都點到了,或許待日後OrzLab有更多成果時,也來分享一些經驗與想法。

2007年4月20日 星期五

OrzLab::黑客鬆紀錄

以下轉錄自cclien的紀錄「台北行: 台灣黑客鬆」,以輕鬆的口吻介紹OrzLab成員4/12-4/13兩日於黑客鬆的參與活動內容:

亂入

hackathon 舉辦的前兩天,意外知道 Jserv 將在這次 hackathon 活動中以 La Fonera 當作 ajax/embedded 的平台。由於之前拆 La Fonera 拆到有興趣,於是狗膽請 Jserv 邀請我一起參加 Hackathon。就在這樣的臨時決定下,趕緊把行李打包上台北。


迷路

搭上十一點從台中出發往台北的巴士,如預期的一點整到達台北市。坐上捷運,到了會場附近,肚子咕嚕咕嚕的叫,只好先隨便找了一間 Mos 坐進去,填飽肚子先。剛好我忘記把地圖存檔,靠著漢堡店附近的好鄰居無線網路上了網查地圖,吃飽後直接往南海藝廊移動。


南海藝廊

到了活動網頁所示的地址-南海藝廊,是一間看起來像古早平房的建築物,一度還以為是走錯地方。後來看到二樓陽台上有穿著白色短T的阿宅(?!),才確定我沒走錯路阿。到了會場,已經有很多長輩到了,擺滿貼滿貼紙 laptop 的桌子充滿了 hacker 的味道。


認親

因為不太熟悉與會的長輩,所以在放下行李之後,就在活動地點亂晃。晃來晃去,終於等到了四元大大 (雖然也是素未謀面,但至少有在網路上聊過天),聽完 mikimoto 爆料 talk 之後, ajax/embedded team 的成員: Jserv 大牛、Mat 紛紛到齊。

Orzlab


開工

在成員到期之後,變馬上開始動工,先把 La Fonera 大卸八塊準備連接 serial console,結果馬上中招。我帶了一條傳輸線,但是只有 RS232 接頭,大家的 laptop 都太新了,沒有人的機器上面有 rs232 的接頭,後來 fourdollar 大大終於生了一條 USB to RS232 出來。打開了 sshd 之後,便把 Fonera 接到一台 hub 上,此 Lan 就當作 hacking Fonera 專用的 Lan 啦。

Orzlab 的桌子


又中招

Jserv 事前準備了一份 toolchain,編了一隻小程式之後馬上丟到 Fonera 試試看,怎麼跑都跑不起來,突然想到這個招我之前也中過。利用 file 工具看一下生出來的 binary,啊哈!果然是 LSB 的問題。大部分 openwrt 的硬體都是 mipsel (MIPS, Little Endian) 的架構,使用 Atheros chip 的 Fonera 就是跟人家不太一樣,是使用 MSB。再來就是 build 程式 build 到死,不過等待時也不會閒著,因為旁邊有 opcafe 提供的美味餐點。

Working hard orz


氣氛

正當我還在跟 toolchain 奮鬥時,隔壁桌 RoR 組的劉燈突然興奮的大喊了一聲 "works!",哈,突然回憶起以前跟砲王、朱立三個人關在一起趕專題的時光阿,原來數年前我們就進行過一個小小 Hackathon 了!Working hard 的時間總是過的特別快,不知不覺就到了七點多,一行人到建中附近吃了還蠻實惠的晚餐後,繼續回南海藝廊奮戰。

RoR 組的討論非常熱烈


效率

光 build 一個 lighttpd 到 mips 平台上就花了我不少時間,lighttpd 雖然對 server 來說是 light,但是在 embedded 系統上仍屬於大噸位的程式,後來大家討論之後的結論是把 lighttpd 把整個 ajax/embedded 中抽離,推翻舊架構只在幾小時之中,Hackathon 的效率果然驚人!原本預定九點半就結束的活動,一直拖到十點大家才心甘情願的離開。

結束活動之後,馬上搭上捷運往小強的宿舍奔去,原來政大有單人房的宿舍耶,真高級。

Day2: working working working

我真的忘了第二天我在幹嘛,就是一直改 code、bulild、查資料、中招.. blahblah,表示真的有融入,所以啥都忘了?所幸有帶了相機,所以我還記得我中午吃了牛排 XD;背包裡的 google 紀念品,提醒我我留了 E-mail address 給 google 的 HR 大嬸。

午餐: 百里香牛排

就這樣,不知不覺就到了活動結束的時間,移往師大附近的 morelax 吃晚餐,由於一次湧入的鄉民太多,對吧台造成了 DOS ,所以在我吃完了我覺得等很久的晚餐之後,四元大大還在那邊餓肚子,哈。吃飯時跟 Ingy 聊了一下天,原來他也喜歡騎機車,在美國有一台 Ducati Monster。

Ingy and meDay 2 結束後續攤


總結

感謝辛苦主辦 Hackathon 的大大們,讓我有這次機會跟高手們一起窩在一個小房間,為了同一個目標一起 hacking,好久沒有這麼熱血了,真爽。希望之後還能有這種活動,如果時間更長就最好了(希望到時候我還有空參加)。

Link: 活動時拍的照片

2007年3月13日 星期二

lwkhttpd : Lightweight kHTTPd for Linux Kernel

昨天在SourceForge.net註冊了新專案Ajax/Embedded,做了必要的設定後,開始將之前Proof-of-Concept的程式碼check-in到SVN中。今天開放的項目是子計畫:lwkhttpd,也就是 "Lightweight kHTTPd for Linux Kernel" 之意,以下是該子計畫簡介:

lwkhttpd : Lightweight kHTTPd for Linux Kernel 2.6 series

Copyright (c) 2007 Open RazzmatazZ Laboratory (OrzLab).
Maintained by Jim Huang
Development page: http://sourceforge.net/projects/ajaxembed

[-] Overview

Ajax/Embedded is an experimental design dedicated to perform Ajax applications on embedded systems, such as Wirelss routers. To fit the web traffic on these devices, lwkhttpd is developed as the full kernel-mode HTTP daemon for Linux kernel 2.6 series. Besides handling static requests, lwkhttpd redirects dynamic requests to the user-mode webserver (used for Ajax engine) for extensibility.
儘管Web 2.0並未帶來相當革命性的技術移轉,但我們可以看到Web engine卻有調整與最佳化的空間。在lighttpd開發者的blog有一篇名為 "Faster Web 2.0" 的文章,提出三個方向對Web 2.0應用程式提供更好的效能:
  • Large Response content
  • Pre-generating content
  • Read Ahead
簡單來說,FastCGI的執行模型雖然對OpenWebMail一類的Perl-based Web application有相當程度的效能提昇,但對於Ajax導向的模式來說,還是沒有切中問題核心。Ajax/Embedded底層提供如此一個kernel-mode HTTP daemon,以處理大量的static data,同時也提供 redirect to user-space的機制,讓動態網頁資料 (主要是XMLHttpRequest) 得以「轉包」到我們的Ajax engine,在這之上有豐富的C/C++ Web UI widget set可用。整體效益就如之前blog「Ajax/Embedded」所提,得以建構兼具效能、功能,以及安全性的native Web framework。

對了,Ajax/Embedded計畫項目會參加今年的Coding Jam 2007活動,已提交簡要的ProposalTaiwanCodeJam的wiki page中。希望能快點拿到我們的參考硬體,ARM-based的硬體已開始運作,現在要試試Wifi相關的部份,開發的過程中讓我發現很有趣的現象:現在的computing model逐漸「M化」,不僅是mobile化,也是朝向兩個極端的演化,就Ajax/Embedded專案的適用範疇來看,事實上就是「client比server快上許多」的模式,同時server-side產生相對少量的資料,讓client-side盡情去描繪多采多姿的內容,也對使用者互動方面有了更多的需求。

2007年3月2日 星期五

Ajax/Embedded

之前花了一些時間作個 lightweight kHTTPd for Linux Kernel 2.6,也可用作於 HTTP accelerator / redirect server,在kernel mode處理static web data與redirection。這幾天正在實做一個user mode應用程式集,規範一個 Framework,能用 C/C++ 開發 AJAX Web Application,如此可確保footprint 與 performance都有不錯的表現。可應用於Router / Wireless AP / Embedded controller,參考硬體平台為ARM與MIPS,此專案暫定命名為Ajax/Embedded,中期的計畫就是能整合進FON (La Fonera),以及銜接kHTTPd。

今天做了一個Preview / Proof-of-Concept的版本,展示一個GMail-like郵件撰寫與拼字檢查的Web application,連同Web server、Application Framework,以及Ajax engine,大約佔了2Mb的空間,雖然比其他Ajax解決方案來得省,不過很明顯有頗大的進步空間。

對於Ajax/Embedded來說,不僅效能與空間可獲得最佳化,事實上還可避免常見的XSS (Cross-Site-Scripting) 安全性議題,更可沒有負擔地與底層整合,比方說Wireless router查詢硬體狀態的設計就能直接呼叫ioctl。為了避免程式開發者耗費過多時間在調整UI,Web UI Framework本身必須提供夠高階的event-driven model,目前已經有類似Gtk+/Qt的Signals-Slots機制。