Files
ioccc/2018/hou
Cody Boone Ferguson 009e1b7522 Link in SECURITY.html to all web pages
The location of the link is in the About menu under the 'Contacting the
IOCCC' and above 'Thanks for the help'. At first I had it at the very
bottom, under 'IOCCC markdown guidelines', but it seemed better to have
it closer to contacting the IOCCC. This is the same location in the no
JavaScript menu (which, for those who do not know or forget, is not a
requirement except for some screen sizes).

The top level Makefile has a new 'security' rule. Updated make help.

Typo fixes in make help.

SECURITY.html has had a few updates as well: change the wording of entry
code is unsupported (it now says 'ALL CODE IN ALL IOCCC ENTRIES IS
UNSUPPORTED!!') and it now links to the mkiocccentry repo and how to
report a possible security vulnerability in that repo; as that IS
supported - and since there was reference to discussing security
concerns is in SECURITY.html - even though the entries will not receive
security updates - it seemed a good idea to have a link to report such
security issues in the mkiocccentry repo. Perhaps the FAQ needs to be
updated for this too.
2024-07-15 08:55:54 -07:00
..
2020-12-30 16:57:03 -08:00
2020-12-30 16:57:03 -08:00
2023-07-06 21:49:38 -07:00

To build:

    make

Bugs and (Mis)features:

The current status of this entry is:

    STATUS: INABIAF - please DO NOT fix

For more detailed information see 2018/hou in bugs.html.

To use:

    ./prog < input.json > output.html

View output.html in a browser.

Try:

    ./try.sh

The script will generate a JSON file called ioccc.json, showing it via tee(1) and then run the program on that. Can you find any problem with the JSON file? What happens if you try and fix it?

As the script says, open ioccc.html in a browser.

Is anything wrong with the output? How can you fix it if so?

Judges' remarks:

This entry exhibits a way of obfuscation we haven't seen before, we think. The rulez of programming in an imperative language are violated, aren't they?

Try figuring out how to increase the number of different colors, if you can.

Author's remarks:

Nowadays almost every programmer needs to do some Web chore. With all the open source stuff readily available, often we just need to call a bunch of libraries to generate an HTML page from a JSON feed.

This entry takes such decadence to an extreme. It just calls a bunch of libraries to generate an HTML page from a JSON feed, literally. There is no variable (function parameters included), no operator, no flow control statements except a few decorative returns. In compliance to production coding standards, the code is littered with fashionable jargon, doxygen comment, and license text.

As one would expect from such an approach, this program is much more resource intensive than it should be. And one needs a C99-compatible libc (with the common UNIX stuff) to build this and an HTML5-compatible browser to open the result. And it terminates with an assertion failure, but who cares if the web page is already generated?