November 18, 2007

演講:當 Linux 走入電信通訊領域 -- OpenMoko 帶來的新革命

下個月 (Dec 15, Sat) 將應 [酷!學園] (SA) 之邀,於 2007 群英會給予一場演講,標題為「當 Linux 走入電信通訊領域 -- OpenMoko 帶來的新革命」,議程簡介如下:
    2006 年底現身的 openmoko 開放通訊平台試圖讓裝置的擁有者,也就是身處於資訊社會的你我,得以擺脫電信業者的束縛,以更直接、有效,且多元的 open source 精神,共同創造新價值。回應 Web 2.0 的影響力,openmoko 稱此為 Mobile 2.0 的新紀元。預定提綱有:
    • 隱藏的電腦:踏入通訊領域
    • 檢討現有的通訊體系
    • Linux 的新契機:移動式裝置與電信通訊
    • OpenMoko 概況:思維與架構
    • 展望 OpenMoko
稍早的演講主題如[通訊自由與通訊設備的自由化 - 淺談自由軟體與行動運算]、[普及運算與電信通訊],與 [電信通訊的自由與安全議題] 主要強調 open source mobile phone 概念與為何我們該掙脫種種束縛。而此次議程則在 [Talk: OpenMoko - 解放你的手機] 的半年後,具體來看 [openmoko] 的專案進展、軟硬體整合的途徑、所面臨的技術與非技術議題等等,歡迎指教,謝謝!

[酷!學園] (SA) 的活動討論請參考 [活動/聚會區]。
由 jserv 發表於 11:20 AM | 迴響 (0)

November 17, 2007

「LINUX 驅動程式架構入門」簡報上線

週六下午應 OpenMoko OpenLab 之邀,給予簡要的教育訓練課程「LINUX 驅動程式架構入門」,作為「OpenMoko 官方的「開放源碼手機技術實驗室」- OpenLab 開幕式] 的活動之一。沒有很深入探索 Linux Device Driver,相反地,我只是從 UNIX 設計哲學 "Everything is file" 去介紹 device driver 的系統設計與原則,希望對與會的朋友能建立基本的概念,簡報檔案請見 [linux_device_driver_openlab.pdf],請多指教,謝謝!

最近在趕一個案子,而且生理與心理有點失調,所以中午才開始準備簡報,接近尾聲的時候,看到若干關鍵字,比較「激動」地快速提及 device driver 開發的考量,語焉不詳處還請多包涵,未來有機會的話,我會再行準備這方面的題材。
由 jserv 發表於 11:51 PM | 迴響 (0)

November 13, 2007

[jserv's lab] 概況與合作機會


每隔一段時間,就會有人詢問 [jserv's lab] 的性質與洽詢合作機會,特別是公開露面後。為了解惑,這裡略作些概況簡介,順便分享這幾年的心得。

在 [我的 LinkedIn 頁面] 中,有個 "Chief Designer/Consultant at Jserv's Lab (Self-employed)" 的工作項目,轉眼間就快要三年了,初次揭露於 blog [最近的研究方向]。取名「實驗室」即是著眼於一些高風險、不確定性的概念,比方說「如何讓他人資助自由軟體創作?」與「如何以自由軟體增進商業產品的價值?」,於是,我歸納了以下工作重點:
    Develop commercial-grade electronic solutions / consulting services based on Free Software and Open Source Software. Including embedded web browser, internalizations/localizations for information system, Java VM porting and customizations, multimedia platforms, advanced graphics integration.
台灣的大環境對我個人來說相當有意思,很容易遇到多種系統整合的案件,而且不少指定要用 Linux 為基礎的解決方案,而以上項目就是具體讓我的客戶得以快速、安全、有效率地切入。雖然案件數量不少,但需求也驚人,時間底限更是令人喘不過氣,往往來函或來電詢問時,客戶剛簡介需求後,就問說能否在一個月內、一週內、甚至當晚解決?!也難怪,很多案子到我手上都已經轉包 N 手,也不乏「回鍋案」,這種爛帳實在惱人,不過還好大部分都有結案。

經過一段時間的「磨練」,目前 [jserv's lab] 的技術合作或顧問方式會傾向平台導向,也就是提供預先整合好的參考軟硬體設計,然後依據需求去作客製化與效能調整。進行過的專案型態如下:
  • 數位電視系統:提供 Linux kernel + Runtime + UI kit + Java VM + HW/SW codec + web browser
  • Kiosk:提供 Linux + fast booting + UI kit + Configurator
  • 多國語文資訊化處理:提供阿拉伯文、中日韓、希伯來文、泰文、藏文等基礎資訊建設 (含 bidi 與 Complex Text Layout)
  • Java VM porting:提供 ARM 與 MIPS 硬體平台輕量級 Java 解決方案移植
  • 即時多工系統:提供 Realtime Linux 諮詢與規劃服務
  • 自由軟體授權:提供一般性科技法律諮詢、迴避 GNU GPL 授權的技術處理等
  • 圖形與多媒體:從 Embedded GUI 到 MPEG/AVS 多媒體平台不等
沒有一定的收費方式,通常是憑感覺再加上浮動底價。比方說,某大公司為了要迴避 GNU GPL 授權對其重要產品的影響,資助我研究 gcc 內部設計,並提出新機制以降低 GPL 造成的損失 (見 [資訊人的角度看自由軟體法律問題:GPLv2 面臨的挑戰] 一文),顯然難度就高許多,所費不貲,當然,願意這麼做的金主,自然不是省油的燈。多國語文資訊化處理也是個高難度的挑戰,得在很短的時間學會特定語文,至少是輸出與輸入法,而且通常我遇到的案子以中東居多,自然服務費用也有一定的水準。喔,當然,幫軍火商寫 RTOS 或資訊系統就更不用說了,根本就是販賣靈魂。

高難度的案子一年遇到一次,就夠讓我忙碌好一段時間,至於其他大部分還是搞系統整合,絕大部分我會試著用既有 open source projects 來「組裝」,只是說往往直接把客戶公司的軟體環境也一併翻修,順便幫該公司員工做了幾次教育訓練,以投資報酬率來說不高,但結識新朋友也是不錯的收穫。行有餘力的話,我會試著整理心得與背景知識,透過 blog / wiki / 演講作分享,如 [jserv's Documents / Slides]。

儘管作過一些系統與成功的案例,不過 [jserv's lab] 對我個人來說,主要還是實驗與驗證想法,所以營收其實不是特別重要,在 [也談工作] 一文中,我曾提過對於此特別「工作」的態度。最近,我會希望能慢慢將一些項目移轉到 [OrzLab],並且成為開放的自由軟體系統,顯然,這需要花點時間,大多數的時間都得用來重寫以前的設計。

至於合作機會,這裡不能給明確的保證,畢竟現在的技術挑戰越來越高,不過仍是相當歡迎交流,可與 [敝人聯繫] 討論。對我來說,這些工作都在讓我體驗 [工程師心聲:不當工程師要做什麼?] 一文的觀點:
    我是個工程師,喜歡冒險和解決各種創造性問題的挑戰,喜歡尋找使事情能順利運作的方法、並說服他人讓我這麼做。如果我不是工程師,我想我會是一個建築師,又可能是個律師、精神科醫師、企業家、小說家或演員。
    ...
    我想我注定當一個工程師…或者說,選擇成為一名工程師使我獲得了更多。而當我已經成為工程師並且獲得了許多樂趣,我還可能選擇其他任何的職業嗎?
That's all! 我就在不斷的挑戰中獲得成長。

延伸閱讀:
由 jserv 發表於 06:22 AM | 迴響 (3)

November 09, 2007

「快快樂樂設計嵌入式即時作業系統」簡報上線


稍早提過的「即將到來的 COSCUP 2007 與快快樂樂系列演講] 提及於 [COSCUP 2007] 的「快快樂樂設計嵌入式即時作業系統」議程,日前順利落幕,簡報可參考 [HappyRTOS.pdf] (license: CC-by-SA)。

當然,要在短短數十分鐘介紹既有的 RTOS 概念已非易事,更別說設計細節,但個人認為這仍有其價值,畢竟,就我個人的觀察,發現台灣許多程式設計人員 (不限於從事自由軟體者) 往往自我設限,好似只能寫些中文化軟體或 Web 應用,其他需要深入耕耘的項目,總認為沾不上邊,這種觀念很詭異,難道我們有手有腳,連最小最簡單的系統都做不出來嗎?所以在「快快樂樂」系列演講,我希望能作些改變,最起碼以一個明確動機去證明一些事情,從而希望能有更多朋友參與系統程式設計。

基於這個想法,在 [COSCUP 2007] 的「快快樂樂設計嵌入式即時作業系統」議程中,我發表了一個自行撰寫設計的新 RTOS,取名為 Jamei,是 "Just Another Microprocessor Embedded Infrastructure" 的縮寫。好吧,光看名稱就知道是硬拗, 因為要響亮又要避免重複的名稱不易找,乾脆用認識的女生來命名,我與 Jamei 有一面之緣,她是我北上工作的這幾年,少數願意陪我騎淑女車的淑女。[Yuren Ju] 貢獻了一個 [清晰可愛的 logo],如下:

在會場中,我展示了自己設計的機器人,並在其上運作 Jamei RTOS,網友 [chitsaou] 拍了照片留念:

此外,Jamei RTOS 也能運作 robot simulation,完全是「吃自己的狗食」(Eat Own Dog Food),快照如下:

Jamei RTOS 將於近日釋出,當然這會是自由軟體,比較有意思的是,連同開發、偵錯、系統模擬工具,也全部使用自由軟體。

的確,從事嵌入式系統設計開發並非易事,光是「建立自信」就得花上很大的功夫。以往,我們總能以既有的資源去解決軟硬體問題,但今日我們面對五花八門的技術、日新月異的技術,許多人都亂了方寸,一味作 follow up,卻忘了科技技術的提出,就是要解決既有的問題。

我一直認為,唯有親身體驗一個完整系統的設計,才得以獲得成長,也才可創造更廣泛且深入的應用,無論是奠基於既有的架構抑或是重起爐灶。以上,包含 [OrzLab] 相關的 Realtime system 項目,請多指教,謝謝!
由 jserv 發表於 02:43 AM | 迴響 (5)