All C++ coders have war stories of error messages that spawn dozens of
pages. But now the time has come to test who can conjure up the
grandest error message.
Write a piece of C++ code. Measure the amount of bytes of error
messages it produces when compiled. Divide the given value by the
number of bytes in the source file. Beat others by obtaining the
All tests will be run on an up to date 64 bit install of Ubuntu 13/10
(saucy). The compiler used is the default GCC provided by the
distro. The flag -std=c++11 is used when compiling entries.
There are three categories in the competition. The first is “anything
goes”, where contestants are allowed to include any header in the
system and use the preprocessor freely. The maximum source size is 256 bytes.
The second category is “plain”, where any standard library header may
be included. Including other headers is forbidden as is any other use
of the preprocessor. The maximum source size is 512 bytes.
The last category is “bare hands”. In this category all uses of the
preprocessor are forbidden, even includes. The maximum source size is
Are there other categories?
The judges reserve the right to give out honorary mentions for
exceptional achievements. They also reserve the right not to.
What about cheating?
We prefer to think of it as creative problem solving and encourage it.
The organizers reserve the right to change the rules of the
competition at any time in any way. The most probable reason being a
fun-ruining loop hole in the rules. All entries submitted will remain
in the competition but if they do not pass the new requirements they
are silently disqualified. Rule changes are posted on this web site.
How can I participate?
Simply go to https://github.com/jpakkane/tgceec and check out the
test harness. It contains a text file explaining how to format,
measure and submit your entry.
Can I participate multiple times?
Sure, you can participate as many times as you like. Just send your
new entry to the address given. The judges ask that in order to save
everyone’s time and effort contestants would minimize the number of
times they submit code.
Apart from fame(*) there are none.
(*) Fame not guaranteed.
The identity of the judges will be kept a secret as will the sordid
details of how they rank the contestants. However we can reveal that
the measured error to code ratio is the main tool in this ranking.
Any choices made by the judges are final and no correspondence will be
entered into. Also, no compensation is given to any participant or
non-participant for any reason whatsoever.
When is the deadline?
You must submit your entry by 2014/01/18 23:59EET. Any entries
received after that are silently rejected, even if the delay was
caused by unforeseen events such as server outages.
Will submissions be published?
Only those that win some sort of an award.
Can I remain anonymous?
Yes, you can submit your entry under an alias. See the competition git
repository for details.
Who are the organizers?
The competition was organized by Jussi Pakkanen with help from Jukka
Laurila and Juhani Simola.
What about copyright?
All submitters retain full copyright on their submissions. We only
need a permission to publish the source of winning entries. Submitters
are responsible for ensuring they have the necessary rights to their
submission (preferably by writing all of it themselves).
Can I include source from project X to my entry?
If the license of the project allows it. The submitter is responsible
for making sure that the entry fulfills any external license
requirements. Note that some licenses require you to keep a license
header in your source files, which is a big handicap (most license
headers are bigger than the maximum submission size, for example).
I found a bug in the rules or the validator script
Please send email to <firstname.lastname@example.org> and we’ll get it fixed.
Is that it?
Yes. Now go out there and have fun!