2015 HackNTU 實錄與心得
我從沒參加過hackathon,報到當天的心情是既疑惑、又期待,心想:「中午會有什麼好料的呢?」仔細看識別證,主辦單位用的是「與會者」,而非「參賽者」,提醒大家hackathon活動的方向。
正餐之餘,提供的零食都太甜、不然就太肥(又濕又冷的夜晚,不是應該要有薑母茶?),而且一個熬夜coding的大型活動,居然沒有提供無糖熱咖啡,這太令人難過了。也不是我吝嗇花錢買,而是外面一直在下雨,便利商店要走好一段路才會到。
新起的科技業人力仲介公司sudo,很貼心地在半夜提供很邪惡的派克雞排,只要出示已註冊他們的會員就可以得到。sudo網站看起來蠻用心的。可是我填履歷資料時,發現預設欄位的內容,忽略了做韌體和工控軟體的人。
活動中場的點心是一之軒,最後一天的餐盒也是一之軒,囧rz......一之軒點心超難吃der,我在師大吃了這麼多年都一樣。一之軒店裡零售的東西還不錯,但是辦活動用的點心、餐盒,品質都很差。我知道請一之軒弄這些會很省事,但如果不是成本考量的話,希望可以別再找一之軒來弄。
「會不會大家都做純軟的東西?」
「懂硬體的會不會是少數?」
「該不會我只能自己一組,單打獨鬥做三天?」
活動開始後,發現我多慮了。靠著arduino帶起來的風潮,軟體圈跨足硬體的人變得非常多,雖然跨過來的人技術面多停留在一知半解,但在功能上,已經實現更深的互動。
還沒等主辦單位的媒合活動開始,我已經在JANDI開討論區,徵求有需要我加入的團隊。討論區標題:「有人需要懂hardware、MCU、C#/WPF、OOP、OpenCV的落單組員嗎?」
加入的人多,但是開口的人少。原本希望大家在討論區內直接對我公開提問,以便確認我能幫得上忙。不過大家或許怕創意外流吧?沒人公開提問,都私下來找我聊。找我聊的總共有三組,有兩組想法天馬行空,並未有具體構想,但另一組已經有明確方向,且萬事俱備只欠東風,他們要一個能實作RFID,並且把資料往資料庫丟的人,於是我就加入這組。其實是剛好,RFID我只是try過模組而已,並未實際做出過什麼;把資料往socket送,去年也是參加盛群盃,為了要用網路模組控制馬達才剛好學會的。
這組想做自動管理的路邊停車系統,先前台北市有做過,但失敗了。他們想在這個基礎上改進。來找我談的是一個交大資工的同學,他主要專長是web和資安、另外2位是台大國企的同學,雖然她們想了很多創意,但我們的codinig能力實在無法在40小時內(含吃飯睡覺)做出那些華麗功能,不過她們做出來的簡報和影片很棒,我覺得超過作品本身水準。
那是什麼動機讓我這樣做?
由於Intel有提供他們的Edison開發版,高度整合無線網路功能,拿來作路邊停車自動管理的IoT Gateway非常適合,為了快速建構+整合無線網路+著眼Intel企業獎項,所以決定放下堅持,利用這個機會好好體驗Arduino。剛開始花了一點時間搞懂,原來Intel Edison開發版預設是跑Linux,所謂的Arduino只是上面的一個application,並不像在一般8bit MCU上就直接是底層軟體,所以開機是要等一段時間的。
結果Intel Edison開發版本身bug百出,Serial1根本無法讀取UART的周邊,去Intel攤位問他們的技術人員,居然都是一問三不知。那我開始找一些Arduino的解決方式:
以MCU來說,Arduino本身就已經是高度限制的framework,Intel Edison上的Arduino不但有bug,還搞得這個不支援、那個也不支援、不支援也不寫在官方文件裡,要等人上論壇找才會知道,讓我想繞過bug都沒辦法,又浪費時間,真的是弄得蠻糟糕,這板子砸了Intel的招牌,整場超過一半的時間花在這上面。最後,只好用一台PC當作IoT Gateway,才成功將RFID接上無線網路,但這種作法對我自己的標準來說,是不及格的。
假如事情可以重來,我會這樣做:
那認真的用過Arduino之後,我對這個framework的感想是什麼?
用Arduino學firmware到精進時,反而需要砍掉重練的示意圖。
最後一天清晨,我想說到處走走、去找其他Intel Edison開發版的user聊聊,發現大家都有相同問題,途中還幫一個用Arduino UNO的人debug。後來expo我一直想去看他做了啥? 但實在沒時間來不及。
我一度想把紫色的Visual Studio貼紙貼在自己筆電上,但怕看起來變宅,所以就....算了。
隔壁強大團隊的一角
最後完成的部分,就是RFID一刷,透過網路,傳卡號給遠端伺服器,將停車位使用狀況即時顯示在網頁,如此而已。雖然功能不多,但該有的容錯都有,demo不會出錯。可惜大家累到忘記拍照,所以手上沒有作品照片,我還在等主辦單位將活動照片釋出。
我的團隊
評選,你可以說是問題、也可以說不是。但只要能滿足大家的口腹之慾,系統瓶頸就會瞬間被解放。因為要嫌食物又少又差的話,會顯得自己么鬼,某部分未被滿足的期待,只好就轉移到活動尾聲的評選上去發洩。我不是說評選沒問題,正是因為有問題,又剛好在最後一關,於是這一關就承擔了從頭到尾所有的壓力(這是一個應力集中的概念)。
很多年前,大家瘋狂追逐CPU和RAM的效能。殊不知在更久以前,CPU並不是買電腦的主要考量,那是被Intel用機殼小貼紙行銷起來的。多年以後,大家才發現硬碟才是系統瓶頸。2015 HackNTU的尾聲評選因為太受矚目,所以被大肆批評,但這真的是系統瓶頸嗎?
學生辦活動的出發點都很崇高、單純,我喜歡,也喜歡這次活動。但若能對人性有更深刻了解的話,可以事半功倍。這很難,若有當過兵或其他社會經驗的人參與決策,比較容易做到。
另外有一種聲音是:因為企業贊助所以才必須這樣妥協。我了解辦這樣的活動需要大筆經費做基礎,大家都懂「天下沒有白吃的午餐」,難以接受的不是付出代價,而是代價不明確。若能明列出各企業贊助金額與活動要求,可以讓與會者了解,這個免費活動的背後,其實有哪些代價?我在活動官方網站並未看到這些資訊,可能是主辦單位不知道怎麼做,所以我下面列了一個假表格示範:
表1 虛擬企業贊助項目與相對代價表
企業名稱 |
贊助項目 |
相對要求 |
鍋董企業 |
台幣100萬經費、健康食品 |
獲得血尿與會者履歷 |
素肚公司 |
半夜提供脆皮炸素肚100份,可不切 |
設攤招募人才 |
種花電信 |
5G與2.4G網路服務 |
發廣告信給與會者 |
外星科技 |
開發版50片、企業獎 |
獲得不正常與會者履歷 |
發哥科技 |
開發版50片無償借用 |
獲得正妹與會者履歷 |
比爾蓋飯 |
專業版IDE免費50套、企業獎 |
技術推廣攤位 |
銀車食品 |
咖啡1000罐 |
IT技術轉移 |
這裡又要提到學生普遍存在的另一個缺點:對赤裸裸的利益交換難以接受。
在我修過經濟學之後,發現這些利益交換其實是一種正向的互利共生,是社會進步的動力。不論是理想多崇高的活動,一旦需要他人幫忙,不管這個他人是工讀生、大老闆、學校的行政人員等,都應該從每個他人角度出發,考量利益交換是否划算,這樣才能把活動阻力降到最低。
在科技業景氣看壞、整體就業環境沒有提升的時機上,我不期望下一次hackathon會吃更好(也過了很會吃的年紀),只求能有一群熱血又願意認真的夥伴共襄盛舉下一次的中元普渡。