The truly complete part is a reference to commit
ad622a5354. This also means that prog.c
need never be updated again, which was the entire point of that commit
that fell just short of the mark.
Fixed links in obfuscation.html.
Added litmus test to explain how I actually tested the program with all
the jumps.
Fixed typo in data file that I discovered during the above litmus test.
Fixed other files as well.
The .entry.json had a minor mod too, to better reflect what a file
actually is.
Rebuilt obfuscation.html and index.html.
Added target to Makefile which was also used during testing (this might
be explained in the obfuscation.html).
The alt code was an old version that should not have even been there.
The extra event was something that was meant to be somewhere else (like
it is in the prog.c) and the event (even 23) is something else.
I put in the data files another joke with the intention of using that
for the event until I remembered the event was wrong.
The alt code has an improvement: it now is possible to specify your
hp/stamina and max number of turns.
In prog.c remove an unused variable.
Updated Judges' remarks to better reflect what happens (in particular
improve the commits from yesterday - correcting it but keeping the same
flow of the judges).
Updated deobfuscation.md (rebuilt deobfuscation.html).
Rebuilt index.html.
The file prog.gotos.c has the lines merged so one can use their syntax
highlighter (or grep, see below) to see all the gotos at once (depending
on screen size, perhaps).
For grep try:
grep -E 'goto|hell|heaven|666' prog.gotos.c
if you have colours enabled. The other patterns is because of alignment
that was maintained in the program (one could do this without 'goto' of
course).
A bug was discovered in prog.c (now prog.alt2.c, see below) that has
been fixed. It was not a critical bug but it came about when juggling
things during development, and fixing it means there should now only be
one place where an event might not trigger (or actually it's an event
within an event that does not trigger - polymorphism related).
The prog.c is the goto complete version - what was once prog.goto.max.c
(git status is confused however - it shows that that file is now
prog.alt2.c but actually prog.alt2.c is what prog.c was). For practical
reasons (and to make the judges not weep and curse me quite as much)
this was not the prog.c but since some others have made corrections to
their winning code I have decided to do the same thing here. It was a
hassle to juggle between the different versions and I ran out of the
number of files allowed - that is what I mean by practical reasons.
The prog.c has maintained its thematic 4666 bytes, after some formatting
updates.
Typo fixes were made in some of the supplementary C files.
Makefile updated so that one can compile prog.alt2.c.
.entry.json, index.html and obfuscation.html were all updated.
The judges' remarks were slightly corrected. It is not 134 (now 149)
jumps that occurs but rather gotos. The jumps can be over 1000, in fact
one test run was over 1400, although shorter games can be fewer (though
still a lot).
Other errors in documentation that were artefacts from earlier stages in
development were also corrected, although I'm sure there are more (the
ones that were discovered were ones near to stats that had to be
updated).
The navigation bar for a winning entry now has a "_Original C_" link
(between the ✅ and the Inventory on the right hand side) so that one
may easily view the original C code that was submitted for IOCCC judging.
Ran `make www timestamp` to perform the above.
Update news to announce YouTube links.
Update tarballs for all of 2024 as well as a recent 2012 update.
Update sitemap.
Ran `make update` to perform the above.
For practical reasons (and to make the judges weep and curse slightly
less) I only submitted code that only had 134 gotos. I'm a horrible
monster, I know, but I have decided to present this alt version I have
which takes the 134 gotos to 149 and which still fits in rule 2 limits.
If I am going to ruin goto I might as well do it properly, despite
Landon telling me that the 134 might be called near limitless. Now it is
limitless. Some of the very few remaining blocks of code that were where
they belong were moved away from their proper place but other changes
were made too.
Added gotos.c.txt - kind of like the judges' video where it shows all
the gotos only here it is just a text file of only the gotos (after
clang-format like they had). This is of prog.c, not prog.goto.max.c.
Renamed gotos.txt to jumps.txt as it's not just gotos (though most of it
is).
Updated .gitignore and Makefile.
Updated .entry.json and rebuilt index.html as well as obfuscation.html
(obfuscation.md was also updated).
Due to a manifest mix-up (which had some html files marked as markdown
and as display_via_github as true) the respective entries' index.html
linked to html files on GitHub which do not render right (and is the
wrong place in any case).
This means that the index.html files and the .entry.json files were
updated. This in particular goes for:
2024/burton
2024/ferguson1
2024/howe
Thanks to @SirWumpus for reporting this!
The gotos.txt file (manifest updated) shows the line changes in a single
run of the program.
Capitalised some text.
Changed width and height attributes in images - they were too hard to
see otherwise (for those of us with poor vision it's still hard on a
mobile device but it was almost impossible to see on the computer for
me - now it scales better, for some definitions of 'better').
Rebuilt html files.
This did involve updates to news.{md,html} and years.html. The prize in
diabolical logistics now reflects the title of the game and the prize in
yil-tas has a capitalisation fix (that was missed yesterday).
Also reworded some of the text of 2024/ferguson1/index.html.
For fun I put in how many line changes there were in an example run
through the entire program from start to finish ('hell'). With 85 lines
(with 14 blank, some functions, #includes, #defines, some lines only
having a brace and possibly other lines like that) there were a total of
985 line changes (an extremely tiny fraction had the same line number
repeated once but that hardly matters).
Fixed typo in Judges' remarks (inspired by Oregon Trail not inspired by
Oregon).
Added note about another version I submitted - helps prevent having to
update the files removing any reference to it.
Updated .gitignore (due to a file one of the scripts generates).
Rebuilt index.html and obfuscation.html.
'an successful' -> 'a successful'.
There is possibly another typo but I have to verify what the judges
meant.
Rebuilt index.html. I hope to make some reductions in text in the coming
days. I also have another fun update planned so people can see just how
wild the gotos are. I hope to do that sometime soon too.
Congratulations to:
* 2024/anders - Prize in sound coding - layered music generator
* 2024/burton - Prize in pentagrammatology - wordle hard mode solver
* 2024/cable1 - Prize in bot talk - LLM inference engine
* 2024/cable2 - Prize in murky waters - salmon recipe
* 2024/carlini - Prize in perfect timing - Intel 4004 emulation
* 2024/codemeow - Prize in tray planting - bonsai generator
* 2024/endoh1 - Prize in patient pointillism - slow ray tracer in CPP
* 2024/endoh2 - Prize in solid body physics - rotating rigid body simulation
* 2024/ferguson1 - Prize in diabolical logistics - Oregon trail pact with the devil
* 2024/ferguson2 - Prize in yil-tas - Navajo code talker translator
* 2024/howe - Nice accent eh-ward - mini vi
* 2024/kramer - Prize in linguistic arithmetic - natural language numerical calculator
* 2024/kurdyukov1 - Prize in phased periodicity - phase of the Moon
* 2024/kurdyukov2 - Prize in art restoration - JPEG artifact removal
* 2024/kurdyukov3 - Prize in virtual quietus - gaming VM and doom
* 2024/kurdyukov4 - Prize in embiggening - encode without literals
* 2024/maffiodo - Prize in creative interpretation - Jav\*script interpreter
* 2024/mills - Prize in ℤ₃ - Infocom v3 story interpreter
* 2024/stedolan - Best one liner - icon from MD5
* 2024/straadt - Prize in imitative rebooting - OpenRISC CPU and Linux
* 2024/tmarrec - Prize in cyclonic coding - 3D tornado simulation
* 2024/tompng - Prize in quasi bijection - vortex encryptor decryptor
* 2024/weaver - Sur prize - rickroll
Ran `make update` to perform the above.
new file: 2024/burton/.entry.json