我与HUSTOJ

九月 14th, 2011 | Posted by diaorui in Online Judge | 故事杂谈
欢迎转载,转载请注明出处。




hustoj是一个出色的开源项目,国内外多个OJ都是hustoj的受益者。但是背后的故事较少有人知道,也引起了部分ACMer的好奇,本站http://acmicpc.info管理员特别向hustoj开源项目管理员zhblue(newsclan@gmail.com)约稿,邀请他讲述他所知的一些hustoj的故事。希望每个曾经受益的ACMer都能更多的了解hustoj的贡献者,对他们有所感激。

HUSTOJ是由华中科技大学前ACM队员Sempr等同学开发的一套OJ系统,同时也是他们的毕业设计。该系统首先在华中科技大学的acm.hust.edu.cn上线,Sempr和freefcw随即将这套系统开源在GoogleCode上,并采用了GPL v2的协议。
然后,一个从未接触过ACM/ICPC的人受领导指派,负责某学校的ACM竞赛工作。没错,这个菜鸟级的人就是我。说起来大家别笑,我是到现在动态规划都不敢写的人。不过我对做应用系统集成和开发比较有兴趣,弄明白了这个比赛的基本规则是什么以后,一个明显的任务摆在面前:必须有自己的OJ。
POJ免费版,是我的第一个实验系统,其他都还好,就是对没有源码感到不爽(反编译的不够人性,阅读困难还侵权),而且Windows的稳定性让我不放心,所以用了大概半年,就决定一定要换,换个好的。什么样算好的?必须满足如下几点:

1、要能运行在Linux上,只有Linux的稳定性能让我放心,也只有Linux的服务器能够消费的起。
2、必须有源码,这样系统才有生命,需要什么功能都可以自己动手。
3、要能挂到虚拟主机上去运行,因为在学校里要个对外端口那可是比要台服务器难得多。
4、必须采用开源技术,不能绑定在什么商业软件上,费了半天力还要买SQLServer什么的就傻眼了。
5、必须能在低配置的机器上运行,我手头只有一台128M内存的赛扬2-600+15G的淘汰主机,还是借来的……

综合以上情况,asp不开源,jsp配置高,就只能php,最后的答案就是:LAMP下的OJ。

然后就是长达1周的google和百度……

最后,终于被我发现了acm.hust.edu.cn!(有没有搞错?人家大名鼎鼎,ACMer都知道好不好。你忘了我是门外汉了吧……)

当时还不知道HUSTOJ是开源的,于是在acm.hust.edu.cn找了Sempr的email,发信给他,小心的问“能不能给个源码?”。事实证明,牛人说话都简洁,Sempr说:”开源的,http://code.google.com/p/hustoj“。

一看是开源,立刻上去Down,当时还是cvs粉,为了hustoj转向svn了。这里还有个小插曲,我可以很肯定的说我是第一个华中以外安装成功hustoj的。为什么呢?因为当时svn里没有建表语句db.sql。Sempr现从系统里导出来给的我(咔咔,拍断板凳n+1条)。

接下来大概有1个月的时间里,我就看着hustoj的代码傻笑,”哦,原来是这样……嗯,设计很巧妙……靠,这也行?”。经过一段时间的使用,我发现这个系统几乎接近完美,就这么埋没在GoogleCode里太浪费了,于是开始三天两头骚扰Sempr,加点这个,加点那个。最后Sempr工作也忙,鼠标一挥,喏~管理员你当吧……

再后来的事情大家挖Svn的提交就可以了,不知不觉中我把几乎两年的业余开发都放在了hustoj项目里。除了开发,还把hustoj的宣传当做一个市场营销案例来实践(浙江省的带队老师应该都知道我说的是什么了),这些看大家有没有兴趣看,想看的话我再试着写写吧。

HUSTOJ的市场营销

HUSTOJ的市场营销

这大约就是HUSTOJ开源后的所谓”八卦”消息吧,至于开源之前的部分,还是请Sempr出正传与前传比较好。

相关信息

You can follow any responses to this entry through the RSS 2.0 You can leave a response, or trackback.

6 Responses



留言给 keroro 取消留言

电子邮件地址不会被公开。 必填项已用*标注