MENU

隔壁仙大黑客马拉松滚粗记

April 27, 2017 • 生活阅读设置

入坑

上个月微信收到一篇推送,说4月14号隔壁一流大学微软学生俱乐部要举办Hackathon了。有了上次去爱范儿玩的经历,大家对于这种骗吃骗喝的好事自然是非常支持,一会儿我们便组好了一个五人的队伍(姓名字典序):我、sticnarf找不到链接的mimic、谢神delbertbeta

为了避免比赛当天头脑风暴失败陷入僵局,我们甚至还在清明假期的时候霸占了创业基地的一个会议室,开了一个下午的会。当天确实是讨论出了一些结果,然而并没有什么用……原因马上就知道了。

突如其来的变故

在Hackathon开始前两天的晚上,主办方给队长们转发了一封原定的赞助商Canonical发来的邮件:

Hi Gavin & Sarah,

Sorry to tell you the bad news, even though we want to do a big event with 创客上海 and Sun Yat-sen University union. But there's a big change from Canonical as you can read the news from social media that the boss of Canonical funder Mark Shuttleworth has announced end the investment for Ubuntu phone, tablet, Unity 8.

And we have finished the layoff process, there're 60% employees affected but i can't tell you the details. The main reason why we can't join this event is there's not enough tech support for it.
Related links.
https://insights.ubuntu.com/2017/04/05/growing-ubuntu-for-cloud-and-iot-rather-than-phone-and-convergence/
http://www.omgubuntu.co.uk/2017/04/canonical-ubuntu-job-losses-outside-investors

B.R

-- Liam Zheng 郑祖云 Marketing Assistant | Ubuntu by Canonical

事情是这样的:之前的宣传口径中,Ubuntu是本次活动的赞助商之一,将提供树莓派、技术支持和额外的Ubuntu大奖。然而活动开始前大概一周左右,先是爆出Ubuntu将放弃Unity桌面环境转投GNOME(说实话那时我甚至有些支持),再是放出Canonical大规模裁员的消息。从Canonical的邮件上来看,正是因为这次裁员导致他们放弃参与这次活动。

这件事情确实是影响到了我们——当初开会讨论出来的结果是有前提的:我们手上有树莓派。这下倒好,Canonical一弃坑我们又要重新想主意了。

开幕当晚

我们是骑着4辆ofo和1辆摩拜去的。来到赛场,每人领到了一件衣服和一张贴纸,至于参赛证——因数量有限只发放4张。说实话,比起财大气粗的爱范儿,这次领的纪念品确实是有点少了。我们随便找了个地方坐下,对面的队伍即是研究图像识别的师姐带队、部长也在其中的错与 (da lao) 队。

开幕式

真正开幕时我们转移到了另一间机房,比较小,人挤人。普华永道的人当然是先要宣传一下自己了,然后宣布了主题。然后仙大的一位本科生做了自己前前后后参加7次Hackathon的一个总结。

开幕式

头脑风暴

比较无趣的开幕式结束后我们回到原来的驻地,开始针对刚刚公布的主题思考方案。这次的主题,是广州。说实话用地名当做主题确实是令我挺意外的,大家好像也一筹莫展。这时不知谁说:“我们可以继续‘产品经理’那个坑掉的游戏啊。”这里指的游戏是去年开学不久的一次技术部会议上提出来的项目,基于地理信息的卡牌收集游戏。大家见Brain F**kStorm有了效果,开始兴致勃勃地讨论起来。

机房的电脑

我们讨论的东西还是挺丰富挺全面的,但是能不能在一天半之内实现确实是一个问题。于是开题报告只得草草了事:

项目名称:途羊
项目内容:途羊,是“旅途”与象征着广州的“羊”的组合。它是一个基于LBS的城市探索应用,推荐、分享广州有趣的地点。用户通过游览广州,收集拼图碎片,通过碎片合成拼图,获得一定奖励。同时途羊能够提供一些帮助游览的小工具,使用户更加轻松地探索广州。

此时时间已接近实验楼关闭的界限,我们就骑车回去了。

通宵立项与验证

回到了窝工,我们对于这次要做的东西其实还是比较迷茫的。于是约定好先洗个澡然后去创新创业基地集合,晚通宵不如早通宵,能够搞出来一些东西自然是最好的。

我们还比较顺利地来到了基地,于是开始考虑分工的问题。由于我之前看了一些iOS方面的书,在技术选型的时候发生了本次Hackathon最严重的偏差:我们要开发iOS平台的app,而这个事情就交给我了,这也点燃了之后出大事的导火索。后端方面,由sticnarf负责,当然是用RoR了。delbertbeta开始绘制图标、按钮等等图像资源,而谢神的工作是人工搜集一些地理资料并整理导入。

我拿着从图书馆借来的一些Swift 2描述的垃圾iOS书,开始现学现用。这非常坑爹,为了达到目的我不得不使用一些非常不优雅的曲线救国的方法。例如要实现Left Side Menu(QQ、ofo的那种左侧菜单)这个东西,我Google了一个东西抄了一下,用倒是能用,就是问题不少,而且最严重的是整个菜单是一个独立的View Controller,在过渡的时候主界面就会被挡住了。我在这里采用的曲线救国方法是截一张图然后叠在下面……为了达到这个目的还现场学习了一下CocoaPods的用法。这一切,充分地说明了我确实不应该螳臂当车地搞iOS,而且后来的事实证明问题真的很多。

不管怎么样,一个晚上过去,整个项目的雏形是有了。

衣食住行

之前也提到了,这次是可以拿衣服的。衣服是一件白色的T恤,质量还可以。

大概是学校组织举办的缘故,一日三餐均是向仙大东校区第一饭堂订购的。老实说早饭还不错,中饭晚饭真不太好吃,尽管餐餐都是三菜一汤。由于有不少队伍报了餐不吃,所以管饱是肯定的,可以尽情地吃好几份。上几张图吧,分别是第一天的早餐、第二天的午餐和第二天的晚餐。

第一天的早餐
第二天的午餐
第二天的晚餐

零食方面呢,主办方还算是做了努力吧(当然还是比不上财大气粗的爱范儿):有限供应的酸奶,几乎无限供应的饮用水、水果沙拉和香蕉。

住宿?没有,给我滚。所以我们第一天是在基地通宵,第二天则是回到宿舍睡觉的。

ofo和摩拜。

还有一件有趣的事情:第二天下午某人骑了一辆摩拜,停车时却没有锁车,开锁者delbertbeta在四个多小时后才发现。这还是挺可怕的,从网上案例上来看,如果不能成功锁上,摩拜大概会给你开好定位然后让你自己找到那辆车并锁上……这时已经是晚上10点了,谢神苟了一发,回到仙大行政楼抢救这个错误。还好运气不错,那辆车在那。

一天半的开发

陷入僵局的我

不得不说开发真的是一件很坑的事情,基本上开发任务的大头是在我身上的。而以下几个问题导致我的开发效率非常低,我的开发感受也非常痛苦:

  1. 我并不了解iOS这套理论,要现场学习;
  2. 我手上的垃圾书用的Swift 2中的API在Swift 3中已经改了一大半了;
  3. 我之前也没有多少UI开发的经验,进度很慢;
  4. Swift语言的一些特性使得编码冗杂且麻烦,尤其是JSON处理方面;
  5. 基地通宵的那一晚我睡得最少,白天开发时很困倦。

这些问题造成了更加不利的局面,原定功能大幅缩减,基本砍得只剩一两个。delbertbeta看到我这边已经完全陷入僵局,开始通过Web技术制作另外一个功能。我觉得这是个好主意,而且之前曲线救国的方法已经用得够多了,这次就嵌个WebView,完全不是问题。

当然了,也正是因为开发迟缓以及功能缩减,我对此次Hackathon的评比完全持不乐观态度,甚至怀疑能否把手头的东西完成。

清闲的其他队员

其他人不像我一样搞出了这样一个难以收拾的烂摊子,所以还是可以娱乐的。

主办方提供了一批Leap Motion,所以他们也去领了一个。我们当然不会用这个东西来开发我们的作品,仅仅只是作为一个玩具而已。

Leap Motion

两轮展示

到了4月16号下午展示和评审的时候,我才慢慢地从僵局中出来,基本等同于弃坑。开幕之后就消失的部长也回来了。由于我们的东西本来就做得很烂,抱着死马当活马医的心态我们也没准备幻灯片,简单地商量了一下每个人该说点什么就上了。还好delbertbeta有MiniDP转VGA的线,iPhone插上Mac然后用QuickTime Player就能上屏了,所以我还可以负责真机演示。

第一轮展示其实还是挺有趣的,有一些队伍直接放弃、跑路了;有一些上场的队伍根本没有做出东西来,或者仅仅只是念了个幻灯片而已。所以结果还是挺令人惊讶的,我们竟然过了第一轮,作为前10名进入第二轮的展示。部长那边,大概是幻灯片没做好的缘故遗憾地没能进入决赛。

一款LBS的运动app的展示

决赛中的十个队伍确实有一些做得不错的,当然,实话实说也有一些我们看来不怎么样的——完成度低、意义不明、幻灯片项目等。某些队伍在展示的时候甚至把他们使用了SHA1、MD5这些已经出现问题的散列算法拿出来当做安全性的亮点说,甚至还获得了普华永道的支持,这不禁让人生疑啊。不过几乎所有其他队伍都用上了机器学习相关的技术,这点我们确实是不足,一年级本科生,不会。

我们这次仍然没有做幻灯片完全重复第一次展示的内容,这确实有些问题;再加上本身我们确实做得比较烂,评委们的兴致并不高。在答辩环节也只有普华永道的一个主任重新问了一些功能性的问题,仿佛侧面显示出我真机演示时没有说清楚。这次展示大概决定了我们在评奖时会要扑街的吧。

闭幕式

闭幕式

闭幕式在行政楼的一个报告厅进行,来到现场的嘉宾有仙大的领导们、普华永道的成员、一些媒体还有一些业界的大拿。而几十个队伍的选手自然不会都来,只有进入决赛的十支队伍到场。宣布比赛结果前计院党委书记、普华永道方面、欢聚时代的姚冬、China League Hacking的Johnson H. Huang等嘉宾都进行了致辞。

姚冬

马上就要揭晓最后的结果了,本次会评出三等奖5队(1000元)、二等奖2队(3000元)、一等奖(10000元)和普华永道特别大奖(3000元)各一队。80%的赢率,我们本来还是有一丝希望的。然而部长在群里说到:

讲道理你们稳啊。10支队8个奖,有钱拿了。

这一口毒奶,卒。果然没拿到钱。最终抱得一等奖、普华永道特别大奖的队伍是带来作品“早查”的电竞陈纪庚队。对于这个结果我们还是有一些猜想的:一等奖归他们没问题,产品是还不错。可是普华永道奖呢?作为针对应用安全方面而特设的奖项颁给一个没有特别安全需求,也没有提到安全方面考虑的队伍,理由是什么?当然,普华永道作为奖金赞助商愿意这么做我们不能去说什么。

既然来了,还是要留下自己的痕迹的。图中正在签名的帅哥即是Johnson H. Huang。

签名墙

经验教训

  • 思维不能局限,要能够突破大家都能想到的东西;
  • 不要在Hackathon上乱尝试自己不会的技术领域;
  • 分工要合理,每个人要有自己的工作,使得效率最大化;
  • Hackathon上的展示很重要,幻灯片要漂亮,介绍要生动;
  • 单纯的app还没有突出的亮点是不行的,可以去引入热门技术;
  • 加强自身专业方面的学习,别的队伍可都上了机器学习、训练了神经网络了。

打铁回家

不,并没有铁。我们只有塑料牌。
参赛证

开放源代码

Archives Tip
QR Code for this page
Tipping QR Code