近兩個月參加了四次黑客馬拉松,頻率還算很高吧。不過其中三次來自同一個黑客馬拉松系列活動。html
這四次黑客馬拉松活動是:實驗樓的項目課競賽,BearyChat的羣聊助手機器人競賽,魔豆路由器的APP競賽,以及AmazeUI的前端競賽。後三者都來自於GitCafe的黑客鬆之春系列比賽,其實就是由GitCafe牽頭的並行式的黑客鬆比賽。由於今天一大早被日語老師放鴿子的緣由,致使我忽然有了時間爲這些比賽分別寫上兩句。前端
先來說講實驗樓的項目課競賽吧。實驗樓提供一個IT實驗平臺,亮點是能夠經過瀏覽器鏈接到一臺虛擬機:你何時須要作實驗,何時建立,用完了就銷燬。這個概念並不那麼地新穎,由於虛擬機技術其實很早就有了,而臨時沙盒,就我所知好比Drupal就有相似的應用:選擇你須要的drupal版本以及對應的模塊,就能夠在一分鐘內創建一個在沙盒內的drupal網站,該網站通常會在1小時後銷燬。git
實驗樓的亮點在於,將二者結合起來之後,體驗上特別好:從瀏覽器打開,無需安裝插件;虛擬機鏈接十分迅速、穩定,以我所應用而言,從無心外斷網,速度上也很是好;幾乎沒有任何限制,能夠直接root,能夠安裝任何你想要的軟件,能夠在沙盒內作你任何想作的事,這對於沙盒安全性有很大的要求。在必定程度上,Docker很適合這類應用。github
說回項目課競賽。某天看到實驗樓發佈項目課競賽的消息,也就是說,邀請參賽人員以某種技術的某種具體應用爲例子,寫一個文檔,要求文檔詳實到按照其步驟就可以重現這個應用。這其實跟實驗樓大多數的課的要求沒有多大差異,好比其餘的課是「一步一步學會Python語言」,那麼項目課就是「一步一步使用Python語言搭建一個XXX」。最終交付的是這份文檔。當時也沒什麼事作,就欣然加入了,後來得了個三等獎。spring
對於此次項目課的感覺是,整體來講實驗樓擁有一個比較高效的團隊。中間碰到了一點趣事,就是用着用着發現實驗樓網站有兩個安全漏洞,就跟工做人員說了。我以爲這兩個安全漏洞沒有那麼高危,也沒有那麼容易修復,可是沒兩天就修復了,說明實驗樓和大多數初創團隊同樣,反饋效率仍是很是高的。編程
另一件事,個人項目課文檔通過幾回改進之後,發現寫不下去了,就徵求了一下工做人員的意見,把一個項目課拆分紅了三個相關的實驗,算是把個人權限提得高了一點點吧,比較靈活。瀏覽器
還有一件事也比較有意思,就是如同大多數競賽同樣,此次競賽也有入圍獎,一等獎,等等等等,以獎金計,所謂的入圍,就是參與獎,一旦文檔質量達到了及格線,被承認了,就能夠收穫入圍獎,有100元獎金。比較好玩的是,入圍獎是實時發佈的,就是一旦你的參賽做品走進及格線了,一二三等獎還沒評呢,你的支付寶就直接收到了100元獎金。並且入圍獎是按項目計的,每一個人能夠提交任意多項目,好像其餘參賽選手也有數個項目入圍,而後一會兒拿了好多100元的例子。公佈最後名次,我得三等獎之後,也是第一時間就收到了獎金,能夠說實驗樓是我見過的打獎金最快的公司了。安全
若是說缺點的話,我以爲實驗樓主要缺點就是,全部的課程的不一樣徹底只落實於文檔的不一樣。誠然,不一樣的實驗可使用不一樣的鏡像,但只是操做系統和預裝的某些軟件的有限不一樣,課程沒有訂製啓動鏡像,環境的預設也徹底來自於文檔描述,包括運行示例代碼什麼的,都是經過文檔描述手動下載,或者經由特殊的步驟複製粘貼代碼。bash
進一步說的話就是其實形式很單一。學生打開文檔,按照文檔描述一步一步作下去。完成的標識,只有對虛擬機的截圖。全部的課程都是這樣,沒有意外的驚喜。前端框架
對於此次項目課的話,我以爲遺憾就是,評選結果徹底是按照該課程的總在線時長計的。我不是說本身的課程曲高和寡什麼的,並且我以爲按照用戶的活躍度來計也十分公平,只是你知道,用戶的活躍度是按照鍵盤活躍分鐘數計的,鍵盤活躍度是瀏覽器前端統計的,而瀏覽器前端的統計結果是很容易僞造的。主要是我以爲光靠用戶使用率是沒法徹底反映質量的,有評審的比例會比較好。
第二個是BearyChat的機器人助手競賽。大體上就是提供一個爲項目管理而設的羣聊環境,機器人能夠由於各類事件而觸發消息,例如git或者trello的更新提醒,把這些提醒都發送到羣聊裏,就達到了消息聚合的目的。觸發也不必定是個外部事件,也能夠經過羣聊的關鍵字觸發,這樣就方便實時記錄和查詢一些消息。此次的黑客馬拉松競賽,就是寫一個這樣的機器人。
針對不一樣觸發類型的機器人:經過外部事件觸發和經過羣聊關鍵字觸發的機器人,我分別寫了一個例子。其中一個例子對於BearyChat不擁有的某個特性(就是羣聊關鍵字觸發時附帶觸發者信息)有了要求,因而就跟工做人員說了,後來就給機器人加了這個特性。
BearyChat給個人第一個印象就是,開發很正式,有迭代週期和上線日程表。一個特性一般不能隨隨便便就修了而後就上線,而是一般要等到下一個迭代週期的到來。對於一款項目管理平臺而言,這顯然是靠譜的特性。中間有過一件事,就是有一位用戶反映上傳功能的改進很差,要求回滾到上一個改進。因而通過考慮後BearyChat就回滾了這個功能,取消了新的改進。這個例子向我透露出一種開發正式的感受——代碼是能夠回滾的,項目是有節奏的。這對於一個項目的長久發展顯然是良性的,若是要比長跑,就要掌握節奏,腳踏實地。
BearyChat給個人另外一個印象就是界面很好看,很是整潔。在UI上的設計看得出來花了不少功夫,而不像一些項目那樣顏色花裏胡哨殊不知重點,我的很是喜歡這種整潔的風格。
另外,因爲其機器人的形式定義,BearyChat的開發也很是方便。沒有複雜的信息驗證,而僅經過向某個祕密WebHook發送POST請求便可推送消息。一開始的顧慮是,這個祕密的WebHook若是使用明文HTTP的話就會有泄露風險,不過在黑客馬拉松期間BearyChat給整站加上了HTTPS,彌補了這裏的不足。
總體而言BearyChat是玩得最開心的。一開始作了一個RSS文章定時發佈器,以爲不夠酷炫,又作了一個隨機數生成器,用戶輸入roll,機器人就會返回一個1~100的數字。我寫得很開心,看到別人玩得也很開心。
後來roll機器人得了一個三等獎,獎品是一個藍牙音箱。
中間比較難過的只有一點,就是寫好隨機數生成器,而且給BearyChat官方看過以後,過了幾天官方微博就用了相似的骰子機器人來進行微博抽獎活動,給我一種剽竊了個人想法的感受。其實roll的想法來自於Dota的一個彩蛋功能,並非我創造的,而老實說也沒有太大的創新的成分,技術上也不難,純粹是爲了好玩。可是本身寫的應用,開放了源代碼,幾天後看到官方本身發佈了一個相似的應用,又徹底沒有通知你,徹底沒有向你解釋一句,到底心裏仍是有一些芥蒂。
更新:不事後來Bearychat的創始人有跟我親自解釋,很有誠意。
對於BearyChat總體,我以爲問題全在於一個方面,就是它是否可信。既然定義爲一個項目開發的團隊溝通工具,客戶就必須確保本身在上面的討論是保密的,不會被泄露。如何確保我能夠安全地在一個第三方平臺上討論商業機密呢?我以爲這除了是個技術問題,仍是個商業信用問題。若是我是項目負責人的話,同樣是項目溝通工具,我更傾向於選擇微軟或者蘋果這樣有信譽的大公司的產品,騰訊神馬的次之,小公司就更次之了。
個人項目可能總值就比那整個小公司大,我又怎麼放心讓他們爲所欲爲地看團隊的聊天記錄呢?這根本不是一個只要對方拍胸脯,或者相信人與人之間的誠信就可以決策的問題。我相信對於BearyChat及其客戶而言,安全性問題遠遠超越了產品穩定性以及功能之類的問題。
第三個是AmazeUI。AmazeUI其實關注了好久了,能夠說是國內目前最靠譜的前端框架之一。我對其印象比較深的一點其實不在於它好很差用——固然它挺好用的。我對其印象比較深的一點就是,它是徹底訂製給中國人用的。全部的文檔都是中文版,不提供英文版,以致於github有歪果仁來抗議。UI組件的默認提示(像「請選擇」之類的placeholder)也是中文的,很是霸氣。對於這種風格刮目相看倒不是由於「揚我國威」之類的緣由,而是一款產品可以清楚給本身劃一個定位,這也是一款良性產品應有的品質。
這個黑客馬拉松的題目是給AmazeUI寫一個UI組件或者使用AmazeUI寫一個示例頁面。我卻是有點打醬油,由於最近比較多地在用socket.io調試,就順手用AmazeUI寫了個Socket.IO調試工具,其實本質上跟AmazeUI沒太大關係。不過工具這個東西就是讓你專一產品自己,不要專一於工具,從這個出發點來看,我也不算是走偏了吧。
後來它得了一個二等獎,獎品是一個機械鍵盤。AmazeUI果真是個靠譜的團隊,寄獎品很快,扔過來一個京東連接,是這個嗎?咔,下單了……
順手貼一下我寫的那個調試器 http://siyuanhu.org/socket-io-client.html
對於AmazeUI也沒什麼評價,由於也不是一款剛出來的東西了,跟工做人員也沒有什麼交流,反正就是由於用了AmazeUI因此打個醬油吧。
第四個是魔豆路由器,是一款智能路由器,亮點是路由器上有一個觸屏,能夠從觸屏直接設置路由器看wifi密碼什麼的。
我以爲這個創意很是好,是對於普通路由器顛覆性地改變。不過對它也是意見最多的。
首先是屏幕的問題。屏幕過小了,整個屏幕大概只佔了平面的四分之一不到。我以爲徹底能夠作成一個電子相框的樣子,樣子也能夠再潮一點,今後路由器能夠大大方方地放上桌面。另外就是屏幕是之前諾基亞時代的電阻屏,而不是比較靈敏的電容屏,須要用指甲、觸控筆之類的硬物點擊。我以爲以上兩點大概都是出於成本和對新興事物的不肯定,因此腿邁得比較小吧。因此我會以爲這家公司的膽子不夠大,沒有從一開始就打算把這款路由器設計成一款能夠稱霸行業的顛覆性產品的魄力。
其實主要就是嫌屏幕又小又難用吧,另外也對於它的極慢的開機速度有意見。我以爲它對於材料的使用上,根本上對於消費人羣的購買力估計太保守了。
競賽方面,就是爲這款路由器寫一個應用,要麼運行於路由器配套的手機APP內,要麼運行於那一方小屏幕中。我選擇了後者,在上面作了一款聊天應用。好多人持負面意見,誰要在那麼小的屏幕上聊天?嗯,是啊,因此個人想法是反過來的,屏幕過小了。
這款路由器的APP邏輯是用bash寫的,或者lua也能夠我不會,比較蛋疼……而後界面是使用已有的專用於那一方小屏幕的UI控件,支持的功能比較少,例如實時刷新什麼的……總之感受還有很長的路要走。
對於這款路由器其餘的意見在於其社區,看起來是個用了開源CMS搭建的論壇。雖然上面也有活動,卻給人一種十分山寨的感受,結合前面的意見,就以爲創業公司應該有不少難處吧,人手不足,資金不足,技術不足。出來混你們也不容易。
爲了比賽,買了兩個路由器,卻是對路由器附送的尺子比較感興趣,是使用沉金工藝製做的一塊狹長的電路板,刻上刻度,以及一些經常使用的測量功能,很是有特點。
我本身參加黑客馬拉松的心情跟參加真正的馬拉松的心情大概差很少,就是一時的喜歡。我記得去年這個時候我不斷地參加各類城市長跑,最後還參加了上馬,回想起那個時候,是出於真心的喜歡。然而如今忽然興趣轉向了,不那麼喜歡跑步了,也不勉強本身,就隨遇而安了。
黑客馬拉松和長跑馬拉松在這點都是同樣的。看起來名字裏都有「長」的意思,但放在人的一輩子,或者人的一個階段而言,是很短的東西。黑客馬拉松只不過持續幾天,而長跑馬拉松可能只須要一個上午的事件。對我來講,這都是興之所至能夠作的事——若是我喜歡,就能夠花一上午或是幾天去作作看,哪怕沒有結果。若是我不喜歡,就不要作。
黑客馬拉松中的項目,大多數並非真正成熟的產品,而只是一個想法,一個創意,能夠說倉促地落在紙上,欠周全的思考,欠辭藻與推敲,但它畢竟落在了紙上。你不須要對一個黑客馬拉松作出的東西負責,花48個小時作出來的東西,盡是bug,盡是跳線也沒有關係,沒法維護也沒有關係,離開這48個小時,你能夠忘記它。
我以爲參加黑客馬拉松的人真正能夠學到的是,一個想法從0到落在紙上,距離並無那麼遠。想作的事情就去作就能夠了。
而後我以爲對於我參加的此次gitcafe的三個馬拉松而言,應該主辦方預期的人氣會比如今的高一點吧。坦白說,除了AmazeUI,這幾個項目的人氣都不怎麼高。我以爲不是由於技術門檻,而是有兩個緣由。第一是進行時間故意放在了寒假以吸引有空閒的學生朋友的參與,熟料學生就是趁寒假休息和玩,以及作本身的事的羣體。第二就是時間太長了。有的應用我花費的構想與編程的時間甚至都沒有寫這篇文章那麼長,而一場黑客馬拉松竟然要持續一個多月————你在任意的時間均可以提交本身的做品,每每意味着我不知道何時下定決心去作合適,特別對於拖延症患者而言。
我注意到這幾回黑客馬拉松的獎金都不怎麼高,大多數一等獎也就是一千元或者一千多。對於線上競賽而言,獎金就是主要的化肥,算是低成本的黑客馬拉松。這從一方面下降了人氣,可是在另外一方面,我卻很讚揚這種活動。由於我以爲低獎金卻屢次的黑客馬拉松很適合學生朋友,由於能夠拉低准入門檻。這就像是如今國內技術書的翻譯現狀同樣,由於待遇與工做量徹底不對等,因此反而給了像我同樣名不見經傳的無名之輩一個嘗試的機會。
我以爲黑客馬拉松這種東西就應該走校企合做的路線。學校鼓勵學生創新,落實於IT,就應該讓他們按照本身的想法作一些東西,失敗沒關係,但請失敗得快一些,我以爲這種精神就很是適合黑客馬拉松,也不像真正的創業那樣會耽誤學業。對於企業而言,能夠提升知名度,能夠蒐集創意,能夠檢討產品,能夠挖掘人才,又花不了多少錢。
於我而言,黑客馬拉松可能就只是一時的興趣吧,興趣過了,就去作其餘有興趣的事情吧。