Jun
17
2010
8

人在栋力(5)

事实上, 写到现在基本已经没什么可写了, 我也即将离开这个令人生厌的地方. 想想两周后大家真的分布在这个星球的某个随机的角落, 而且不再能经常见面, 倒还是蛮伤感. 还是写完吧, 至少不会留下个太监文的骂名…

从大三下开始我基本都要集中精力忙公司的事, 各种事情很多, 虽然工作难度并不特别大但是很多杂事都是需要时间的. 于是在这差不多一年里我只写了个实验性的专辑墙, 或者叫Project Penang. 很简单的小东西, 就是那种random thought. 然后每当觉得无聊时就去更新一下代码加一点feature什么的, 或者听到什么不错的专辑就加进去, 然后就没怎么理会了.

那段时间栋力无限在清水河机房分到了一台服务器, 性能大体还行, 就是硬盘是SATA的RAID0, 比较悲剧, 也导致栋力影视的文件服务器在转移到这台服务器后有严重的性能问题. 在此之前电影站的文件服务器是在信息中心的光纤阵列上, 现在突然用SATA跑, 性能至少降了一个数量级. 一开始怀疑是RAID卡的驱动问题, 结果更新了驱动后性能也就那一点点提升, 最后也没办法了. 所以这台服务器在晚上有人看电影时负载都在10左右, wa一直在95%以上, 传输烂得一塌糊涂, 然后大家怨声载道, 而且锁住了电影上传功能, 所以电影站从此也就黯淡下去了. 倒是看到寝室同学还有偶尔上去看灌篮高手的习惯, 也就懒得把电影站关了. 曾经说不如重写个电影站算了, 最后这个想法当然也太监了.

大四上的时候大家开始找工作, 实际上也就killkeeper, sonic, sub040和我要找工作, 当然数下来这一届栋力无限也就我们三个写代码或者写过代码. sonic和我无心投了个BIDU, 原来还满心期望去企鹅来着, 结果最后也可以算是事与愿违. 所以说找工作就像谈恋爱, 双方得看对眼才行, 一切都是缘分嘛. 至于killkeeper, 面对着企鹅人事经理姐姐一次次娇羞的催促让他快点去报到, 你说这会是什么心情呢. sub040最后也留在了成都. 每当想起企鹅里为我们内推的鸡腿大神, 内推奖金一分钱都拿不到, 就觉得一阵愧疚.

下半年顺便招勒个新, 搞得声势很大的样子, 收了百来份简历, 最后筛出来两个. 同时在清水河弄到间办公室, 但是我在里面坐了没几个星期就果断退出栋力无限了, 到底我做不来所谓承上启下的工作, 我也不希望栋力无限变成一个给老师打工的团体. 做做小活当然可以, 但是强压周期差不多半年一个项目下来, 实在是无趣. 至于所谓的”有偿”, 一看就是幌子. 在栋力无限三年多, 最失败的莫过于这件事. 据说为了这个项目后来还拉进来两个星辰的程序员. 栋力无限已经不再.

回顾在栋力无限的三年半, 我有幸成为唯一一个从大一到大四经历了所有事件的成员. 栋力无限完完全全改变了我这四年的生活轨迹, 遇到了很多人并成为好友, 得到了一个非常广阔的舞台, 学到了非常多的知识. 想起sub040在果断退出教研室版的栋力无限时说, 在变革前退出至少让他保持了自由的栋力人的身份. 在栋力无限, 自由一直是支撑着这个组织的精神, 也只有在如此自由的氛围之中这三年才能冒出那么有趣好玩的应用, 并且一直是最好的技术团体之一. 有时候看看NBA站里遍布全国的ip分布, 有自豪有感伤. 自由的栋力无限已经过去, 只能希望以后的成员能继续撑起这个品牌, 总不能让以后的新生连栋力无限都不知道吧.

我自豪, 我是自由的栋力人!

EOF

Written by BlueF in: 人在栋力 |
May
16
2010
2

人在栋力(4)

距离这个系列的上一篇已经有两个星期了, 一方面是忙得没时间写, 另一方面也是发现从2008年开始栋力无限内部已经没有那么多的新鲜事没有那么多的血雨腥风, 大家都只是偶尔想到一个idea然后花一点时间写出来放上线了事. 而由于那年夏天的地震, 记忆也变得更加的模糊.

08年上半年我做了什么呢, 貌似基本什么都没做. 前段时间跟killkeeper聊起那个学期时也发现记忆完全模糊, 貌似就只是偶尔给栋力博客做一些改进, 包括关注页面和闲逛页面. 一如既往的, 我只是写一些讨巧又没什么技术含量的事情, 跟算法有关的部分全是killkeeper在做. 也许也是在那段时间加入了留言通知功能吧. 大概就没有了. 地震的那段时间大家都挂在平面格子上, 通宵的聊天, 渐渐的也形成了一个稳定的圈子, 大家性格迥异, 各有各的想法, 坚持己见的同时也在被别人影响, 不是这个学校最优秀的人, 但是能在接下来的两年多里一起成长, 对我们而言算是大学这四年很重要的事.

大二下结束, 来到大三上, 2008年的9月.

NBA站大约就是在大三上学期写的. 一开始当然是因为自己要看NBA的视频新闻, 无聊研究了下NBA官网的页面结构, 把视频下载地址抓出来并下载, 每20分钟检查更新. 记得最早是只下载每日十佳球, 然后扩大到每天的比赛, 最后把NBA官网每天发布的所有视频都下载了. 做完了之后扔到栋力无限首页, 跑到清水河畔发个贴, 然后就看着访问量一直往上窜. 后来再加上一个简单的实时比分, 每20秒从NBA官网同步一次比分, 用crontab跑起来, 也算是能用. 这个子站差不多能算得上栋力无限点击率最高的子站, 每天两万pageview, 三千的访问量, 使用者遍布全国各地, 大部分是各大院校的学生, 主要是教育网访问速度够快吧.

基本上之后所有栋力无限的服务都遵循着这样的模式, 自己觉得有趣/自己有需要, 就会把这个idea实现出来, 设计成自己用着最舒服的样子, 然后就看着访问量不断上升.

10月, 开始写NUT的Adobe AIR版本, 妄图重振NUT往日的辉煌. 但事实上那时候已经越来越少人上内网, NUT差不多已经过气了, 栋力无限内部也开始认为内网唯一的优势就是网络速度, 我们能依仗的也只有所谓的网速敏感型服务, 比如说视频服务如栋力影视和NBA站, Ubuntu源也还有人用, 栋力音乐也已经行将就木, 博客站看起来还有稳定的写手.

新的NUT取名Project Grassland. 在研究XMPP协议上花了很多时间, 参考了几个AS3的XMPP库, 还专门研究了一下MD5-digest. 似乎底层通信协议部分至少花了一个月. 之后是窗体部分的代码. 第一个可运行版本只有两个窗口, 好友列表和聊天窗口, 使用最简单的系统窗体框架, 不过能对话了, 第一次对话记得是跟killkeeper进行的, 双方无聊的发些垃圾话测试.写得很慢, 很累, 每天都在想着代码的设计. 那段时间看了<设计模式>, 开发模式也完全变成了设计模式驱动开发, 但是很有趣. 还记得测试通过的前一天晚上我完全睡不着觉, 早上六点半起床继续调试, 从来没有为一个项目如此激动过.

至今还在断断续续的给Grassland写代码, 剥离底层通讯部分成为Project Kuching, 再加上一些IM必须有的功能, 由于那年12月我开始给现在的公司打工, 于是Grassland依然处于半成品的状态. 不过作为自己第一个不那么微型的项目, 写了近一万行, 多少积攒了点经验, 更不用说它给我带来的快乐了.

而从大二下成为栋力无限主要开发者的killkeeper, 也是写了几个just for fun的项目, 包括出于嘲讽目的的stage2. 当时清水河畔出了几个ftp服务器, 还附带了一个资源搜索器什么的, 并且速度极慢, 似乎是每次搜索都要扫描一次硬盘什么的. 于是出于种种目的, killkeeper写了一个crawler, 再用xapian弄了个搜索引擎, 放上线, 当然要比清水河畔自己的实现好很多. 后来曾经想过把校内所有网站都索引了写个搜索引擎, 又或者索引所有教育网的ftp, 不过想想又觉得无趣, stage2也就放着没怎么管了. 曾经开玩笑说不如把stage2的代码贡献给清水河畔, 后来想想也有点不太好吧, 就算了.

同出自killkeeper之手的还有monobot和ioTATs, 前者是xmpp机器人, 后者是Nginx的一个流量统计插件, 性能还不错, 前期就是有点bug, 会把Nginx挂死… 配以简单的graph, 作为栋力博客的统计插件. 后来由于bug的问题不得不撤下. But, just for fun.

这一年过得很快, 代码似乎都是在不断的地震中写出来的. 幸运的是, 在那年的12月我在Linkedin上收到一封站内信, 进而为这个公司工作至今, 成为大学四年又一个重要的转折点.

Written by BlueF in: 人在栋力 |
May
02
2010
2

人在栋力(3)

结果又到大二了, 整个年级全搬到清水河. 一开始连网络都没有, 有电脑的用路由联网玩游戏. 偶尔有一天Sonic跟我说了能申请上网帐号的事, 最后我的帐号似乎是全清水河第三十几个. 然后就每周买一次上网卡, 一周上网要花50块钱吧. 一开始由于一直没能在Linux下上网, 不得已还买了个支持802.1x的路由器.

已经不记得是什么原因, 有一天我和Sonic打算把手上这一块主板一个CPU两条内存拼成一台机器送到信息中心去, 以后可以有服务器玩, 然后两个人就去电脑城买机箱和硬盘. 最后我们大概算了下, 整台机器一共花了两千块钱, 其中机箱就占了500, 于是这个全新的1U机箱就成了整台机器最贵的部件, 还是我们俩轮流从电脑城扛回寝室的, 还有一个小硬盘. 至今我还保存有在Sonic寝室装机器时的相片. 开机后第一感觉是很过瘾, 因为这机箱的风扇声巨响, 想想大概是不可能用来在半夜下载电影用的了. 过瘾之余我扛回我在六楼的寝室, 也不知道为什么, 最后好像有没有给这机器编内核我也忘了. 在两栋楼间搬了几次以后, 就再也没兴趣.

过了不久, 这台机器就被送进本部的信息中心. 由于分到的ip最后三位是207, 这台机器也就叫207了.

207被扔进机房以后, 我们也就一直在折腾机器而已, 然后架一下博客, 没了. 总该找点事做吧. 偶尔有一天, 大概是在逛麦香园前那条路时, 想到可以架一个内网聊天服务器, 于是跑回来在207上架了一个OpenFire, 用Pidgin一连, 通了, 很快成为网管会内部通行的交流工具. 大家估摸着可以把这个内网聊天服务推出去, 比较了几个客户端后就选了pandion, est改了下程序, 就推出去了, 当时取的名字叫DFC, DormForce Chat的意思, 跟KFC有点像, 嗯.

与此同时, Sonic发现了一个内网论坛, 看了下ip结果是我这栋楼的. 事实上当时有几个论坛同时在开放, 当然做不到24小时在线. 而这个叫淤泥的论坛似乎人气更旺一些. 论坛拉拢人气的作用是巨大的, 直到今天看看学校几大社区也能得出这个结论. 为了提高栋力无限在清水河的知名度, 当时我们俩的想法是, “兼并”淤泥论坛.

兼并这个词也许不太友好, 但作为当时校内第一大网站, 气势还是要有. 在和对方在网上勾兑多次以后, Sonic甚至拿出了网管会的聘书以明真身, 双方决定进行一次晚餐会议. 说到这个聘书, 当时以为拿到聘书以后就有工资领了, 实际上三年过去了, 我们还是没有从网管会领到过一分钱, 不过钱不是问题, 在这里得到的已经够多了.

参加那次晚餐会的人至今依然活跃在平面格子里, 又见爱德华(sub040), killkeeper, peter, awaw, 神婆, 也许还有别人, 但是都不记得了. 桌子的一边是我和Sonic, 另一边是淤泥的人, 情势很是尴尬. 摆了一桌的菜, 我负责吃饭, Sonic负责勾兑, 最后谈了个大概, 基本上是同意合作, 淤泥论坛成为栋力无限旗下的一个社区, 跑在207上.

事实上这次谈判的过程并没有那么顺利, 双方当然都想让自己的利益最大化, 其中的一个焦点是论坛的名字是否明确说明这是栋力无限旗下的网站. 本部的前辈们希望写明这是栋力无限的网站, 而淤泥论坛一方则希望是一个合作的关系, 而非我们所想的兼并. 当然最终的目的是达成这次合作, 还好对方最后也同意了我们的想法. 另一大焦点是论坛实名制. 作为淤泥论坛来说, 他们不太愿意和官方合作的一个原因就是实名制的问题. 这个问题好理解, 就像至今人人都很抵触各种实名制一样. 他们是运营方, 更关心网友们的想法, 而我们只是主机提供方, 或者称为基础平台提供方, 对实名制给用户造成的心理压力并不太关心. 当然, 最后这些问题也都解决了, 名字挂的栋力无限旗下网站, 同时要求实名注册. 双方的目的都是合作, 也有些不得已的牺牲.

现在回头看, 这次合作中栋力无限获得了更多的利益, 也是多谢淤泥论坛团队的合作, 而后来淤泥论坛团队中的数人也加入了栋力无限. 总的来说, 这次合作是栋力无限在这三年里最重要的一次动作, 基本上将栋力无限推向了一个新的时期, 即使最后这个论坛还是被关闭了.

论坛用的是IPB, 为什么不用国内的论坛程序, 最主要是因为国内的程序都太繁杂, 或者说太乱. 当然IPB也并不太好, killkeeper用了几个小时把实名注册相关的东西弄好, 论坛就上线了. 后来还做了DFC的整合, 就一个小人在用户头像旁边, 显示用户的在线情况. 论坛跑得不错, 用户数每天都有大幅增加, 一开始我们还能每个帖子都回复着玩, 结果没两天我们就得开始招募版主. 过了几天我们看到了刚开放的清水河畔, 算是直接竞争对手. 当时的清水河畔基本没人去, 大家都在淤泥论坛这边, 但是我们还是在清水河畔注册了ID, 第113号. 没有人把这个论坛放在心上, 以当时的情况来看, 根本没有别的论坛能比得过淤泥论坛.

而在栋力无限内部对这次合作的争论持续了一段时间. 一方认为大可把所有权限都交给淤泥论坛, 而另一方则认为淤泥论坛跑在栋力无限的服务器上, 那我们应该有足够的控制权, 淤泥论坛团队只负责论坛管理和运营. 这件事争了几天, 后来觉得在网上争论实在解决不了问题, 我和Sonic决定去本部, 把事情都说清楚, 寻找一个大家都认同的解决办法吧.

当时栋力无限内部由于这件事分了好几派, 我们几个意见一致的就先找了个地方先统一一下口径, 然后几个网管会高层的人物就一起开会了. 我, Sonic, happydog, est, 鸡腿, 五个人在会议室为这件事争了很久, 完全是针锋相对. 吵到一半, 鸡腿接到一个电话, 淤泥论坛被关了.

是保卫处的通知, 我们不能架设论坛, 到底清水河畔是不是一个理由我也记不清了. 我们一众人来到保卫处门外, 鸡腿作为网管会主席进去了, 我们站外面聊了半天, 还是没见他出来. 我们心想大概是出不来了, 4个人就默默的离开. 当然最后鸡腿同学还是出来了, 跟主管老师勾兑了很久, 依然没有解决办法, 淤泥论坛必须关掉.

在回清水河的路上, 我和Sonic两个人都不说话, 虚脱的感觉. 在这次合作中我们俩算是夹在淤泥和主席团之间, 觉得跟淤泥的团队说论坛必须被关闭, 实在说不出口. 双方都付出了很多努力, 眼看着论坛刚走上正轨, 一切就都结束了.

论坛关了, 用句老套的话说, 生活还是要继续. 在不久后的12月, 栋力博客在207上跑起来了. 第一版的栋力博客主页很难看, 或者说太小气了, 而作为我和sonic的作品, 被别人说难看是很难接受的. 同时我们也拒绝换上旧版栋力博客的首页样式. 巍峨这件事又争吵了很久, 直到后来我看到Qwilm!主题时才照着写了现在栋力博客的主页样式. 最后大家都很喜欢这个首页的设计, solved.

平面格子的早期版本也在207上运行. 当时之后最简单的小组讨论功能, 很多原来淤泥论坛的熟面孔在淤泥关闭之后也加入和平面格子. 当然格子在后来人气降低后差不多变成私人圈子的事情, 那是后话了.

内网聊天服务也有了个新名字, 也就是现在的NUT. est和killkeeper又改了下pandion, 加了点新表情什么的, 打了个包, NUT也就红红火火的跑起来了. 在外网包月资费推出以前, NUT一直是很热门的服务, 最高在线达到一千多人, 最后注册用户停留在一万多一点.

那年冬天很冷, 下雪了. 在那个学期栋力无限经历了很多事, 来了新成员, 比如killkeeper, sub040, awaw, 开了又关了的淤泥论坛, 还有一些新玩意. 然后, 那个学期就这么结束了.

Written by BlueF in: 人在栋力 |
May
01
2010
3

人在栋力(2)

很快进入大一下学期. 也不记得寒假是怎么过来的, 反正没什么技术上的积累. 开学後某一天同学塞给我一张传单, 也就是网管会的招新传单了, 同学说这加入协会每个月都能有工资领, 两百吧. 而那段时间刚申请的信用卡, 于是在疯狂消费之后已经负债累累, 能加入这样的协会, 即能免费上网, 每个月又有钱领, 简直就是晴天霹雳. 自己虽然说不是科班学生, 但是玩了一个学期的Javascript之后对大部分特性也稍微有了点认识, 于是第二天在正阳食堂门口找到了网管会招新的摊位, 报了名, 特长写的是Javascript. 同时领了一份笔试题, 开放式的, 自己领回去做, 当晚交.

事实上那份笔试题基本是为网络运行维护人员准备的, 比如网络有几层. 自己实在对这些东西不会, 没办法跑去网吧查, 填完了又跑回学校上课. 当时对着这份笔试题的心情是不言而喻的, 就像去年我组织招新时那些学弟学妹们一样, 激动不已. 记得最清楚的是一道关于排序的题, 题目让用自己熟悉语言写一个排序程序. 这个题目去年招新的时候我又想起来了, 于是也出了一份开放笔试题, 也出了一个排序题. 而在当时, 为了显示自己在Javascript上的造诣, 就只用了最简单的sort函数, 在写个几行的比较函数, 并且在空白处写说Javascript内建的比较函数是最快的, 比快排还快, 就算写完了. 晚上我拿到当时网管会所在办公室去交, 认识了当时的负责人wlp. wlp是标准的网工学生, 所以基本上只对网络比较了解, 但是看到我在这个排序题上的答案估计也是一头的黑线. 聊了一会, 就让我进网管会了. 第二天我还是去参加了晚上的笔试, 当然写成什么样也无所谓, 而且基本上都是网络方面的题目. 又过了一天, 新成员开会了.

那一届网管会的牛人不少, sonic, wlp, otouch, 徐昺, 周擎宇, Micheal, 都是很有能力的人. 和Sonic认识是在新成员见面会上, 因为我说我在做Javascript, 于是会后他就单独蛮兴奋的找到我聊JS. 而周擎宇当时的电脑是Dell的XPS, 瞬间就把大家秒杀, 所有人都去围观他那超级笔记本. 徐昺很安静, 实际上并没有太多的交流过, 但是隐隐觉得这人很厉害, 到了大三他也转去做嵌入式了.

马上, 借口网管会要求带电脑, 我跟家里要了钱买了自己的笔记本. 钱很少, 基本就买当时最便宜的机型. 买回来后直接往办公室扛, Sonic来纯围观, 不久他让家里把电脑寄了过来.

有了自己的电脑之后基本也是跟所有刚买电脑的人一样, 不断的折腾. 直到后来折腾厌了, 又没有写程序的意愿, 就开始折腾Linux, 用的Ubuntu. 在当时, Ubuntu在国内完全没现在那么大的影响, 所有的资源都集中在ubuntu.org.cn上. 成功装上Ubuntu之后, 又花了整整一周的时间把系统调的可用, 或者算是自己初步明白Ubuntu下如何完成一些Win下的任务. 那一周几乎天天都在办公室通宵, 也许就为了装一个输入法就耗掉一下午. Sonic当时也一起折腾Ubuntu, 遇到不懂的就一起解决, 当时办公室就我们俩在玩这个. Ubuntu很有趣, 当时装的是7.04吧, 每天第一件事就是update & upgrade, 遇到新版alpha版本也立刻跟进. 现在想想也就那段时间最充实, 没有工作的压力, 想做什么就做什么, 无比自在.

期间Sonic还揽了个前端外包的活, 我们俩一起写代码. 实际上当时我并没有多少前端经验, 大部分都是Sonic写完的. 四个页面, 一个页面五十元. 后来连这两百块钱也没拿到, 具体原因也忘了.

至于Micheal, 有一天我突然听到办公室里有人说粤语, 然后就跟他认识了. 到了大一下的后期, 每天晚上就我, Sonic还有Micheal在办公室通宵, 前半夜各干各的, 后半夜就搬办公室里的交换机来联网玩极品飞车, 极其无聊. 我当然是玩的最烂的. 有时也玩实况, 我还稍微占一点上风. wlp有时候也会在办公室里通宵, 不过下半夜他基本是在睡觉. 办公室里有一张单人床, 甚至还有wlp的一床被子, 白天把床立起来腾出过道, 晚上就放下来睡觉, 而在办公室睡觉的事后来也成为了传奇.

后来有人提议说办公室内要普及无线网络, 并且购置了一个三根天线的超级路由. 那个路由功率很大, 隔着两面墙信号都没有损耗多少. 而当时办公室有几个ip段可用, 其中的18网段最为出名, 半夜下载速度能飙到3MB. 大家基本从没见过这样的速度. 办公室的链路总是在改, 改到后来只能跟寝室网络用一个出口, 速度极慢, 每到有人抱怨网速时, 大家都会想起18网段. 直到今天, 当有人提起18网段时, 当初的成员依然兴奋不已.

后来有一天Sonic看到淘宝上有人卖二手主板和CPU, 算了算没多少钱, 我和Sonic各买了一个CPU一个主板一条1G的内存, 很是有趣. 货到后我们拆了办公室里别的机器的硬盘, 光驱和电源拼出一台机器来, 就放在一个主板盒里. 当时对Linux热情极高, 所以直接就装的Ubuntu Server. 我曾经还带回寝室给它编新内核用. 当时对内核也有痴狂症, 一看到有新的patch就往内核里打, 比如当时Igor刚出的CFS, 第一个版本的CFS还是有一些小问题, 打上之后感觉速度并没有太大的提升, 不久又转向ck patch, 只是ck那段时间已经退出Linux开发圈了. 后来又经常用mm tree里的补丁. 实际上无论什么改进在我们那上古机器上都不会有很明显的差别, 奔腾三1.2GHz, 2G内存. 但是用这些高级定制版本的内核让人有很强的成就感, 感觉自己比别人nb很多. 后来发觉装Linux实在没意思, 还是装Windows 2003吧, 于是这机器变成了电驴下载机, 默默的躲在一个抽屉里.

虽然一开始说过要一起做个什么东西出来, 实际上那一整个学期大家都是在各玩各的. 不过当时学技术的兴致都很高, 所以最后也出来也一批牛人. 我还跑到本部去了几次, 见到了至今还活跃在geek圈的est的活人.

我也忘了是怎么认识est和happydog的了. 估计是某次去本部见est吧, 顺便happydog也出现了. est和他在我心中的形象差距甚远, 后来也明白了这就是geek的形象, 很健谈, 知识面之广令人汗颜. 而happydog一直以来都很有气场, 口头很不错, 很多问题有自己深入的见解. 技术上也很厉害, 栋力影视的文件服务器就是他搭的. 当时觉得栋力影视站居然用上了光纤阵列, 甚是nb, 而且有500G大, 而在2007年基本上磁盘都是40G的层次. 面对这样的人我和Sonic都只有感到压力很大. 在之后两年光纤阵列这个科幻的术语一直被我们崇拜, 直到大三来到清水河机房, 才看到磁盘阵列的模样. 后来也认识了当时的网管会主席鸡腿, 而与其他在本部的成员就没有多少接触了. 以至后来当本部的这一群退下时, 大家都觉得网管会的精神没有能传下来的一大原因就是我们06届和他们05届住在两个校区以至成员间交流极少. 等于说我们这一届重新定义了一次网管会和栋力无限. 而后来栋力无限发生的一系列事情也多少跟这个有关.

Written by BlueF in: 人在栋力 |