Files
ioccc/2006/birken
Landon Curt Noll f29b37e49a improve HTML menus, add social.html, prep for IOCCC28 winners
Prepare for the winners of **IOCCC28**.

> However these are not the 2024 droids you are looking for.  :-)

The HTML menu (both JavaScript and non-JavaScript) has been updated.

The `Status -> Rules and guidelines' have been replaced with two
separate menus `Status -> IOCCC rules` and `Status -> IOCCC guidelines`.

Added a new top level `social.html` page: built from a new `social.md`.

Sorted rules for building specific web pages in the top level `Makefile`.
Added `make social` to make the `social.html` page from `social.md`.

The `bin/gen-top-html.sh` now is able to process a argument of **social**
to process the new top level `social.html` page.

Changed `bin/gen-top-html.sh` VERSION from "2.0.0 2025-03-13"
to "2.0.1 2025-07-25".

Below `About -> Home page` a new `About -> IOCCC social media` menu item
as added.

Because the menu change touched every HTML file, we changed the general
copyright date range for HTML files from "1984-2024" to "1984-2025"
due to the extensive changes made for **IOCCC28**.

Those markdown files that were modified in 2025 had their copyright date
range also changed from "1984-2024" to "1984-2025".

Rebuilt tarballs and sitemap due to the extensive HTML rebuilding.

Ran `make update` to perform the above.
2025-07-26 13:06:29 -07:00
..
2020-12-30 16:57:03 -08:00
2023-07-06 21:49:38 -07:00
2020-12-30 16:57:03 -08:00
2020-12-30 16:57:03 -08:00
2020-12-30 16:57:03 -08:00
2020-12-30 16:57:03 -08:00
2020-12-30 16:57:03 -08:00
2020-12-30 16:57:03 -08:00
2020-12-30 16:57:03 -08:00
2020-12-30 16:57:03 -08:00
2020-12-30 16:57:03 -08:00
2020-12-30 16:57:03 -08:00
2020-12-30 16:57:03 -08:00
2020-12-30 16:57:03 -08:00
2020-12-30 16:57:03 -08:00

To build:

    make

Bugs and (Mis)features:

The current status of this entry is:

STATUS: uses gets() - change to fgets() if possible

For more detailed information see 2006/birken in bugs.html.

To use:

    ./birken < file.tofu

Try:

    ./try.sh

Judges' remarks:

Q: EDAMAME?

A: Electronic Design Automation - Mechanical Abstract Machine Emulator

What is TOFU? It's not a veggie friendly food, nor it is Verilog or VHDL It is not even Pascal!

NOTE: On some systems, file(1) claims one of the .tofu files is Pascal source. :-)

It may not be the most readable hardware description language, but it is one of the easiest 55 page long manuals to learn. :-)

For a small but non-trivial design, try implementing a Linear Feedback Shift Register

And for those who are still confused, see http://en.wikipedia.org/wiki/Edamame and http://en.wikipedia.org/wiki/Tofu.

Author's remarks:

If man is capable of creating tofu hot dogs (simulated meat), then why not tofu circuitry (simulated circuits)? This program is my tribute to the early computer pioneers like Konrad Zuse. It's an educational tool designed to introduce students to digital circuit theory using technology that was considered state of the art in the 1940s! To enable you to fully understand the capabilities of this circuit simulator, I have included a 55 page manual, info.pdf, in the info portion of the entry submission.

The primary obfuscation is the data structure chosen for parsing the input file and for executing the simulation. Oh man... coding that data structure gave me such a bad headache. But, I figure, who needs more than a pair anyway? Subtle obfuscations abound. Bonus points go out to the one who discovers the hidden program within the source.

Note that the shape of the source is a wave, not a waveform.