Here are my notes from the first time I've judged a hacking
contest. I went in not having any idea how to judge a
hacking contest, and it turned out there was quite a lot to
judge.
Use of Community
I was impressed that all of the groups made good use of their
outside communities for testing during the contest.
Typo3 was the only one to have a developer on the net - rather
than in the box - complete one of the features during Hackontest.
To be fair, the feature, an RSS implementation, was one new
80-line file in one commit - one has to trust, I guess, that this
was actually written during the contest.
Delivery
OpenLireox did an excellent job of delivering on the features
they were assigned. Martin actually had to assign them additional
features, as they finished their original list early during the
afternoon of the first day. They stayed through the night to do
the additional ones and to test and debug the ones they'd
already finished, and were the only team to pull an all-nighter.
They checked in each new feature at relatively regular intervals.
sk1 delivered one important feature, although a bug showed up
during their demo. Their global search and replace feature
wasn't as practical, as it was only global, and had a pretty
bad bug too during the demo. They demonstrated a good
understanding of the complex colorspace problem they were
solving. The actual rocket science was done by someone else's
library, their achievement in this change was gluing that library
into the proper space in their application.
Typo3 delivered an important feature (or two, since they did it
on both server and client interfaces), and started on a really
big feature that obviously could never have been completed during
the 24 hours allocated to their work.
Code
OpenLireox made a lot of check-ins to add hungarian notation to a
few variables (or maybe just to put "m_" before their
names for some reason). This obscured the real logical code
changes and made the judges job harder. Also, they mixed this
with the same commit as logical changes. The rest of the code
wasn't hungarian, so it wasn't obvious why they felt that
was necessary anyway. They inserted a lot of "To-Do"
comments indicating that the code they were working on would
further evolve, and that they knew what direction they were
heading in - good work.
Source code control
OpenLireox didn't do the branch according to the
instructions. All groups showed less discipline in their use of
source code control than we would have liked. There were poor
explanations of some of the check-ins, things like "fix
bug". We saw formatting fixes and logical fixes mixed in the
same commit.
sk1 brought someone else's colorspace library into their
source code control system, and that accounted for the majority
of changed lines. Fortunately it was easy enough for the judges
to find the real changes.
Demonstration
OpenLireox did the best demonstration by far. They had a lot of
changes to demonstrate and they demonstrated them concisely,
using lots of graphics, and it looked as if they'd practiced.
The other two teams were unfortunately somewhat more challenged
with doing a demo in English, and of course we don't demirit
them for that. But the other two teams were also more challenged
to do good demos. sk1 had some inter-team communication problems
just getting their demo done - one developer felt that he had to
interrupt the other repeatedly and then finish the whole
discussion for him.
Time
OpenLireox was the only group to pull an all-nighter - and they
would not have had to even work past dinner time except that they
took on extra work not in their original contest assignment.
Should I credit them for spending more time, or demerit them for
physical self-abuse? :-)
Enthusiasm
OpenLireox showed the best enthusiasm.
Overall Competence
OpenLireox showed the best overall competence, and in my opinion
were the team most appropriately called "hackers",
although they should be dinged for their somewhat loose style of
checking in their own code. OpenLireox and sk1 had most or all of
their core developers on the team. Typo3 is a big project with a
huge user community and the folks represented were not
necessarily the core team - and should be credited for doing good
work despite that.
Scores
Out of a total of 10 possible points per team:
sk1: 4
Typo3: 6
OpenLireox: 8
So, I'm giving it to OpenLireox. I felt they did a much
better job than the other two groups and there is no doubt in my
mind - they are the ones that deserve to win the competition.
There are no links in the article so I assume this is the site:
Hackontest
More information on the projects can be found below:
TYPO3 is a free Open Source content management system for
enterprise purposes on the web and in intranets. It offers full
flexibility and extendability while featuring an accomplished set
of ready-made interfaces, functions and modules.
OpenLieroX is an extremely addictive realtime Worms clone. It
features online play, fully customizable weapons, levels and
characters. Liero's 10+ years history formed a huge community
around Liero/LieroX/OpenLieroX.
sK1 is a powerful opensource illustration program for the
Linux platform that can substitute professional proprietary
software like CorelDRAW or Adobe Illustrator. Unique project
features are CorelDRAW formats importers, tabbed multidocument
interface, Cairo-based engine, color managment etc.
Hackontest Judging
Here are my notes from the first time I've judged a hacking contest. I went in not having any idea how to judge a hacking contest, and it turned out there was quite a lot to judge.
Use of Community
I was impressed that all of the groups made good use of their outside communities for testing during the contest.
Typo3 was the only one to have a developer on the net - rather than in the box - complete one of the features during Hackontest. To be fair, the feature, an RSS implementation, was one new 80-line file in one commit - one has to trust, I guess, that this was actually written during the contest.
Delivery
OpenLireox did an excellent job of delivering on the features they were assigned. Martin actually had to assign them additional features, as they finished their original list early during the afternoon of the first day. They stayed through the night to do the additional ones and to test and debug the ones they'd already finished, and were the only team to pull an all-nighter. They checked in each new feature at relatively regular intervals.
sk1 delivered one important feature, although a bug showed up during their demo. Their global search and replace feature wasn't as practical, as it was only global, and had a pretty bad bug too during the demo. They demonstrated a good understanding of the complex colorspace problem they were solving. The actual rocket science was done by someone else's library, their achievement in this change was gluing that library into the proper space in their application.
Typo3 delivered an important feature (or two, since they did it on both server and client interfaces), and started on a really big feature that obviously could never have been completed during the 24 hours allocated to their work.
Code
OpenLireox made a lot of check-ins to add hungarian notation to a few variables (or maybe just to put "m_" before their names for some reason). This obscured the real logical code changes and made the judges job harder. Also, they mixed this with the same commit as logical changes. The rest of the code wasn't hungarian, so it wasn't obvious why they felt that was necessary anyway. They inserted a lot of "To-Do" comments indicating that the code they were working on would further evolve, and that they knew what direction they were heading in - good work.
Source code control
OpenLireox didn't do the branch according to the instructions. All groups showed less discipline in their use of source code control than we would have liked. There were poor explanations of some of the check-ins, things like "fix bug". We saw formatting fixes and logical fixes mixed in the same commit.
sk1 brought someone else's colorspace library into their source code control system, and that accounted for the majority of changed lines. Fortunately it was easy enough for the judges to find the real changes.
Demonstration
OpenLireox did the best demonstration by far. They had a lot of changes to demonstrate and they demonstrated them concisely, using lots of graphics, and it looked as if they'd practiced. The other two teams were unfortunately somewhat more challenged with doing a demo in English, and of course we don't demirit them for that. But the other two teams were also more challenged to do good demos. sk1 had some inter-team communication problems just getting their demo done - one developer felt that he had to interrupt the other repeatedly and then finish the whole discussion for him.
Time
OpenLireox was the only group to pull an all-nighter - and they would not have had to even work past dinner time except that they took on extra work not in their original contest assignment. Should I credit them for spending more time, or demerit them for physical self-abuse? :-)
Enthusiasm
OpenLireox showed the best enthusiasm.
Overall Competence
OpenLireox showed the best overall competence, and in my opinion were the team most appropriately called "hackers", although they should be dinged for their somewhat loose style of checking in their own code. OpenLireox and sk1 had most or all of their core developers on the team. Typo3 is a big project with a huge user community and the folks represented were not necessarily the core team - and should be credited for doing good work despite that.
Scores
Out of a total of 10 possible points per team:
sk1: 4
Typo3: 6
OpenLireox: 8
So, I'm giving it to OpenLireox. I felt they did a much better job than the other two groups and there is no doubt in my mind - they are the ones that deserve to win the competition.
Respectfully Submitted
Bruce Perens