Email me: jollen # jollen.org

more: Jollen 的 Embedded Linux 教育訓練

« December 2014 | (回到Blog入口) | May 2015 »

January 2015 歸檔

January 5, 2015

Life Hacking Startups

文/Jollen Chen(原文刊載於:CTimes 2015 年 1 月號)

Life hacking 是 1980 年代 Hacker 文化下的副產物。Hacker 的一個重要精神,就是製作能提高生產力(productivity)的工具,例如:命令列工具(command line tools)、快速鍵(shortcuts)或是一些程式設計的小技巧(programming skills)。

程式設計師有很多可以解決常見問題的巧妙方式(ingenious),比如說:利用 editorconfig 解決跨編輯器的問題。使用 editorconfig 也解決了不同人寫程式時的格式問題。Life hacking 文化同樣如此,利用一些方式或技巧,解決生活上的問題,或是提高自已的生產效率。其中一個知名的 life hacking 就是「2mm 法則」。

2mm 的差異,決定了足球射門得不得分,這就是 2mm 法則的一個例子。又如,知名演說家與名嘴,也是 2mm 的差異。2mm 法則是知名演說家 Tony Robbins 提出的 life hacking 觀念。Tony Robbins 在 2007 年被富比士(Forbes)選為「Celebrity 100」。2mm 法則可以延伸到商業、健康與財務等各方面,當然也能延伸到創業活動上。

Life hacking 與技術創業家又有何關係? 記得不久前,在 Mokoversity 舉辦的一場對談活動中,我提到了「成功,每個人都有不同的定義」。在 Medium 上的一位作者 Ali Mese 也提到:「How do you define success?」這或許應該是創業者的第一堂課。

當我們從上班族切換到創業者身份時,許多 Life 都要去 Hacking。如果你不知道如何幫自己或團隊定義「成功」,那創業又要如何成功呢?每個人對自己事業的成功,都有不同定義,所以必須先建立遵重與信任。例如,有人認為賺到錢,成為億萬富翁叫做成功。有人認為,能滿足自已的生活需要,然後創造出新奇有趣的產品,並從中獲得成就感,就叫成功。

如何定義成功,當然是很重要的 life hacking。Ali Mese 的文章提到,成功的創業者,不一定是輪了幾輪投資,然後拿到幾百萬資金的人。在台灣,有一個現象,就是拿到投資人的資金,或是有了 A 輪融資,或是被併購,就叫創業成功。在媒體的推波助瀾下,這也變成常規了。這是一個有 life hacking 文化的創業環境嗎?

在矽谷,擁有很成功的失敗經驗者,也被視為成功的創業者。所以,life hacking 看重的是創業的過程,一個 journey。在這個 journey 中,是否交到新朋友,找到可以互許終生的對象,是否得到家人的全面支持等等;以及,自己是否很享受這樣的過程。Life hacking 的另外一個層面就是,「從生活中思考」。

Life Hacking Startups 被認為是 2015 年的創業趨之一。比如說,你是創造一個讓生活更便利的產品,或是創造一個能解決大問題的服務;還是,只是 Coding 出一個功能強大的 App 呢?Life hacking 讓創業者思考解決生活問題的妙招,life hacking 也讓創業者更享受創業的 journey。

另一個 life hacking 的例子,就是筆者的 Mokoversity 農場計畫。這個計畫要利用大家的「黃金四小時」來創業。從 life hacking 的哲學告訴我們,「上班當然可以創業」。上班當然也能為創業預做準備,前提是,要有能力 hack 自己的生活。Life hacking startups 另一個層面的哲學,就是如此。

想創業,可是還不想放下全職工作,而且也有老婆跟小孩,還能創業嗎?這當然可以。最有名的例子就是 Ted Roden。Ted Roden 是 FancyHands 的創辦人,他在 New York Times 工作時負責 News.me 項目,就是利用這段時間,他建立了 FancyHands。Ted Roden 在 New York Times 期間,有老婆跟小孩要照顧,但還是成功發佈了 FancyHands,而且還募得資金。

Life hacking 是重要的 hacker 文化,當然也發展出像是 Hack College 這個的組織。成立於 2006 年的 Hack College 就是知名的 life hacking 學校;Hack College 提供大學生 life hacking 方面的知識。Hacker 擅於製作巧妙的工具來解決問題,創業旅途中所遇到的各種問題,例如:老闆、家人或時間等問題,都可以發揮 Hacker 精神,找到 shortcuts 來巧妙解決。Hacker 精神不只用在程式設計上,今年,Hack Your Life,創業去。

January 25, 2015

ARM mbed 學習紀錄, #1:IoT、WoT 與 Physical

在 IoT 的技發發展藍圖裡,描述了 IoT 的 4 個發展階段,其中第 4 個階段就是 WoT。而目前正好處於第 4 個 IoT 發展階段。去年 Google 發起的 Physical Web 計畫,是一個非常先期的研究計畫,就是為了 IoT 的新階段預做準備。

IoT 的第 4 個階段,將聚焦在 Advanced Sensor Fusion 與 Physical-World Web 層面,這二個層面簡單來說,就是 WoT。根據維期百科上的定義,WoT 是 IoT 的 Application Layer,並且是使用 Web 技術來打造 application。也就是說,IoT + Web-enabled technologies 就是 WoT。

對 WoT 來說,最重要的觀念,就是以 URL 來表示 IoT 裝置;為 IoT 加入 URL 的觀念,就是 Google 提出的 Physical Web 計畫。所以說,WoT 與 Physical Web 是一體兩面的觀念,都是 IoT 正進入的新發展階段。

雖然 WoT 都是使用目前已經存在的軟體技術,但許多觀念都要重新思考,例如:

* Architecture 與 Framework
* Composition Layer 的重新設計

一個重新定義的 application 框架,或是 frontend 的 Composition layer 設計,可能會是 WoT 的關鍵技術。因此,利用這次帶領 Mokoversity 農場計畫團隊,到深圳與 Seeed Studio 交流的機會,開始了相關的研究工作。目前已經完成的實驗性質開發,就是利用 virtual DOM 技術,來進行 UI 的 boundary composition。

目前的實驗計畫,選用的 IoT 平臺是 ARM mbed 系統,主要原因有:

* ARM mbed 是 full stack OS
* 更易於實作 REST API(mbed device driver)
* Apache 2 license 更易於商業發展

目前有許多 ARM mbed 的開發板,這些開發板並不是「另一個 Arduino」硬體,而是更能符合 WoT 理念的 RESTful device。同樣的硬體,不同的觀念、技術框架與商業思維,能帶來不同的產品思維與商業模式。所以,ARM mbed 與 WoT 帶來的,將是一場新的革命與機會。

January 26, 2015

ARM mbed 學習紀錄, #2:IoT Objects 與 Websocket

Websocket 是 HTML5 標準的一項技術,Websocket 讓 client 與 server 能建立永續性的 TCP 連線。簡單來說,有了 Websocket,就能實作出 real-time data streaming 機制。

以下將說明 IoT 第 4 階段,也就是 WoT 最重要的一個觀念:使用 Websocket channel server 來封裝 IoT objects,讓 IoT devices 成為抽象化的 Websocket server。

關於 IoT 與 Websocket

一般來說,Websocket 的使用案例(use case)是 server push(data push)機制,也就是說,ARM mbed 物件本身,應該是扮演 Websocket server 的角色。但現實層面,讓 IoT 分演 Websocket server 的話,會有幾個技術問題:

1. ARM mbed 要管理 client 端的 connections
2. 需要更多的內存來維護 client connections
3. 需要實作 Data push 的演算法,例如:round-roubin
4. 要考量 error handling 與 exception handling

因此,最簡單的 scenario 設計如下:

1. 佈署專用的 Websocket channel server
2. ARM mbed 將 data 即時推送(push)到 Websocket channel server
3. 用戶(user)與 Websocket channel server 建立 Websocket connection
4. 用戶接收 Websocket channel server 的即時資料(經由 server push)

抽像上來看,ARM mbed 仍然是 server 端,而不是 client 端;真正的 client 端是用戶。

Websocket Channel Server

Websocket channel server 扮演封裝 IoT 物件的角色,對 Websocket server 來說,只要能定義好「channel」的結構,就能封裝數以萬計、千萬計的 IoT 物件。「抽像上來看,ARM mbed 仍然是 server 端」,就是這樣的觀念。

ARM mbed 官方就提供了 Websocket channel server 的服務:

http://sockets.mbed.org

ARM mbed 與 Websocket Client

了解上述觀念後,技術的實作就能區隔為二個部份:

1. Websocket channel server 服務,可使用 sockets.mbed.org
2. ARM mbed 的 Websocket client 實作

關於 January 2015

此頁面包含了在January 2015發表於Jollen's Blog的所有日記,它們從老到新列出。

前一個存檔 December 2014

後一個存檔 May 2015

更多信息可在 主索引 頁和 歸檔 頁看到。

Top | 授權條款 | Jollen's Forum: Blog 評論、討論與搜尋
Copyright(c) 2006 www.jollen.org