Files
ioccc/2019
Landon Curt Noll 0833c3e4f0 fix how bin tools sort
We set LC_ALL=C when sorting in a bin tool.  This was done
to make the result of using `sort(1)` consistent.

Improved how the Primary files and Secondary files are
sorted by `bin/output-index-inventory.sh` to sort
with "-u -k 1n -k 3.2d".

The above will change `index.html` files for all entries.

Changed `bin/chk-entry.sh` VERSION from "1.1.2 2024-03-17"
to "1.1.3 2024-03-18".

Changed `bin/gen-authors.sh` VERSION from "1.3 2024-03-04"
to "1.3.1 2024-03-18".

Changed `bin/gen-location.sh` VERSION from "1.1 2024-03-04"
to "1.1.1 2024-03-18".

Changed `bin/gen-sitemap.sh` VERSION from "1.3 2024-03-16"
to "1.3.1 2024-03-18".

Changed `bin/output-index-inventory.sh` VERSION from "1.2 2024-02-27"
to "1.2.1 2024-03-18".

Changed `bin/pandoc-wrapper.sh` VERSION from "1.5 2024-03-18"
to "1.5.1 2024-03-18".

Changed `bin/sort.gitignore.sh` VERSION from "1.1.1 2024-02-23"
to "1.1.2 2024-03-18".

Changed `bin/tar-all.sh` VERSION from "1.1 2024-02-27"
to "1.1.1 2024-03-18".

Changed `bin/tar-year.sh` VERSION from "1.1 2024-02-27"
to "1.1.1 2024-03-18".

Performed `make www` to update all entry `index.html` files.
2024-03-18 02:43:03 -07:00
..
2024-03-18 02:43:03 -07:00
2024-03-18 02:43:03 -07:00
2024-03-18 02:43:03 -07:00
2024-03-18 02:43:03 -07:00
2024-03-18 02:43:03 -07:00
2024-03-18 02:43:03 -07:00
2024-03-18 02:43:03 -07:00
2024-03-18 02:43:03 -07:00
2024-03-18 02:43:03 -07:00
2024-03-18 02:43:03 -07:00
2024-03-18 02:43:03 -07:00
2024-03-18 02:43:03 -07:00
2024-03-18 02:43:03 -07:00
2024-03-18 02:43:03 -07:00
2024-03-12 12:56:55 -07:00
2024-02-01 14:35:49 -08:00
2024-02-27 23:21:32 -08:00
2020-12-30 16:57:03 -08:00
2020-12-30 16:57:03 -08:00
2023-10-07 04:35:47 -07:00

Twenty Sixth International Obfuscated C Code Contest

Standard IOCCC stuff

View the index.html web page for the given winning entry for information on how on how to compile it and how to run the winning program. Look at the winning source and try to figure how it does what it does! You may then wish to look at the Author's remarks for even more details.

The primary site can be found at www.ioccc.org.

Use make to compile entries. It is possible that on non-Unix / non-Linux systems the Makefile needs to be changed. See the Makefile for details.

Read over the Makefile and index.html files for compile/build issues. Your system may require certain changes (add or remove a library, add or remove a #define).

Some C compilers are not quite as good as they should be. If yours is lacking, you may need to compile using clang or gcc instead of your local compiler.

Remarks on some of the winning entries

This year's winning entries are impressive!

The "Most in need of debugging" (endoh) is very inventive in a way it produces its own text!

The "Most likely to be awarded" (ciura) has an amazing vocabulary!

There are again nods to entries of the years:

[1991/davidguy](../years.html#1991_davidguy)
[2011/blakely](../years.html#2011_blakely)

These nods to not run afoul of the guideline:

We tend to dislike programs that:
...
are rather similar to previous entries

because the entry 2019/dogon appropriately pays homage to past entries without blatantly reusing their code.

...We'll stop spouting spoilers now. Have fun exploring all the entries!

Remarks on some of submissions that did not win

Some entries tried to get around the size limit by submitting a data file that was really C code and then blindly including code in prog.c.

Quite a few entries suffered from undefined behavior like accessing uninitialized locals and/or reading-writing below the stack. We advise running your entry through valgrind to make sure those mistakes are avoided.

Using extra arguments to main, or arguments of wrong types as a quick and dirty way of declaring variables is now passé. Clang, for example, rejects them outright.

We hope the authors of some of those entries will fix and re-submit them for the next IOCCC.

Some entries seemed to have a good idea, but the implementation of the idea was limited in scope.

Final Comments

IMPORTANT NOTE: See contact.html for up to date contact details as well as details on how to provide fixes to any of the entries. See also the IOCCC FAQ for addition information on the IOCCC.

Copyright and License

Copyright (c) 2019,2023, Landon Curt Noll and Leonid A. Broukhis. All Rights Reserved. This work is licensed under a Creative Commons CC BY-SA 4.0 DEED Attribution-ShareAlike 4.0 International license. If you do use this work in some form, the IOCCC judges would appreciate (but does not require) if you were to send us a note about your use.