the5fire的技术博客

关注python、vim、linux、web开发和互联网--life is short, we need python.


[记录]TechCrunchHackathon编程冲刺

作者:the5fire | 标签:       | 发布:2011-11-02 9:54 p.m. | 阅读量: 2370, 2369
上周末和公司的同事们一块去参加了TechCrunch的Hackathon大赛,这个比赛被成为:“编程冲刺竞赛”,要求24小时内,开发出一个产品来,官方说大家不要拿已经做好的产品来充数。不过在我看来,这个东西不好界定,因为最后很难看出是不是当场做的。不过我想大家都是秉着hack精神去的,应该没人会拿一个已经做好的或者快做好的东西来参赛吧。

周五老T说有这么一个比赛,建议我们参加一下,看了看时间,发现原来第二天就要开始,想到没有准备,也不了解规则,也知道报名截止了没有,于是大家就给忽略了,直到第二天早上我到公司,大家说昨天晚上都报名了,就差我,于是悲催的我跑到报名网站上赶紧报名(忘了,是让roy赶紧帮我报上)。

中午带着快餐乘taxi火速赶到cncc,最后发现名单上没有我的名字,很郁闷的说。不过好在并没有查人。

进入会场,找张桌子坐下来,闲聊着,等着比赛开始。(其实比赛是从1:30开始,第二天9:30结束,一共20个小时)

四处张望,发现很多国际友人,大家都有说有笑,有打有闹,貌似大家都很兴奋。

从门口往大厅里依次望去,首先是一排排的桌子,大概有四五排,零零散散的坐着一些人,有的是独自一人,有的是结伴而坐,都是个人或者小团队。在往里走就是四竖排的大圆桌了,有的圆桌围着坐满了人,有的围坐四五个。在看看这些团队的配置,各种的macbook,放眼望去,眼神不好的可能会觉得这里是苹果展厅。另外有很对团队显然是有备而来,带着新买的白板,看架势显然很正规。

当然我不能忽略另外两侧,两侧都是一些过来友情支持的国内着名互联网公司,像douban了,腾讯了,sina了,在两侧都是有台子的。

一点半过后将近两点(可能已经两点多了),举办方,终于讲话,讲的是英文,语速很快,最后的Thank you我听懂了。然后大家就开始讨论,并不知道要做一个什么东西,但是因为雪涛同学有文本分析(或者说数据挖掘)方面的经验,也有类似的研究,于是大方向就是sns上的内容分析,具体做什么还要讨论。因为我前一段时间一直在研究新浪微薄的sns的API,对接口和认证已经很熟悉了。因此,我们的程序就要依赖于微薄中的内容来进行。

于是分工下来:雪涛来实现数据挖掘和分析部分的程序,我来完成微薄sns上用户数据的获取,salo来做页面,高宇和roy则进行头脑风暴,快速的给我们找一个够准确的方向。于是大家忙活起来。

这里还要抱怨一下,cncc里面的wifi实在是太那个了,导致开发测试不能如期进行。虽然这么说,还是要对网络的提供方表示感谢的。

经过那两个guy的讨论之后,我们确定了最终要达到的目标:从你的粉丝的粉丝中提取数据,找到和你兴趣相投、关注点相似并且仍然是单身的人。其实也可以说成是帮你找朋友的应用。

这里还要在介绍一下雪涛的工作,这个是我们开发应用的核心。他做的内容就是通过对某个人发表过的所有的文章进行分析,通过那个什么理论(不清楚他说的那个理论的名字是啥,很深奥)分析出这个人的性格特征,以及单身程度(这个很可怕吧)。然后在用这个人的性格特征和其他人的进行对比,分析出来两个人的相似度。

事实又一次的想人们证明,计划永远是美好的,现实永远的会拖后腿的。吃完晚饭,我们觉得大家做的都不错。估计晚上十点前就可以搞定,然后还和高宇商量着做完的话要干点啥呢,要不要看电影,打游戏之类的。

不过等到十点过后,我们发现依然有很多的工作要做。只是希望能尽快完成。

这个期间不得不说的是,关于sina微薄提供API的服务器,当然也可能是有网络的因素,无论如何也无法获取到正确的数据,比较郁闷。由郁闷引发了心慌,又由心慌引发了着急,于是在将近午夜时分,我的心情可谓是如焚,如焚。

找新浪的技术支持问一下关于微薄API的问题,他说文档上写的很详细了,就用那个user_timeline就行了,你去自己看吧。于是郁闷的走回去,继续看文档。不过在被人冷漠的拒绝之后心情还是安静下来了,仔细查看代码和文档,发现他说的不对,用user_timeline不行,应该用repost_by_me,只不过是我用错了字段。

紧接着还解决另外一个bug,这个是新浪提供的sdk中的,util.py包里面关于时间的部分,没有进行空值处理。导致有些用户的数据获取不到。

午夜过后,大家负责的内容都搞的差不多了,开始整合,从我的经验来说,每一次整合都需要花费比你想想的多的多的时间。

对个人而言,你做的东西有bug,你只需要跟一下就找到问题所在了,但是对整合而言,出现bug之后,无法定位是哪里的问题,不知道这个问题是你的,是你的,还是你的。

因此,整合一次,发现bug或者需要改善的地方,再各自进行修改。其实每次修改的需要的时间很少,大部分的时间都花在整合测试,加上网络不给力,sina不给力,真的花费了很多时间。

好在大家都很有精力干通宵,在大的问题,遇到有足够精力的程序员也会化解的。

第二天早上,终于一个像模像样的东西出来了,看着大家一晚上搞出来的东西,大家表示很欣慰。

稍作休息(其实,你知道,这个时候大家都兴奋的睡不着),然后到隔壁会场进行展示。不得不说这个一段很悲惨的展示。

不知道是不是sina知道我对他的服务器不满,故意整我们(各位sina人表喷我),台下自己演示一遍没有问题,在台上一到我们展示,网络立马就会坏掉,还出现什么服务器内部错误,要不然就连接超时,总之两次展示都不痛快。

总结一下的说,这次比赛,我表示我们参与的很成功。在这二十小时里面,我们经历了一个完整的产品开发周期,有了更深切的团队合作体会,让我们也认识到了团队合作中容易出现的错误,我想这些东西对我们今后的产品开发都是很有帮助的。
----EOF-----

扫码关注,或者搜索微信公众号:码农悟凡


其他分类: