diff --git a/2006/birken/README.md b/2006/birken/README.md index 66282ed9e..98eac1116 100644 --- a/2006/birken/README.md +++ b/2006/birken/README.md @@ -27,8 +27,6 @@ For more detailed information see [2006/birken in bugs.html](../../bugs.html#200 ./try.sh ``` -etc. - ## Judges' remarks: @@ -41,7 +39,7 @@ What is TOFU? It's not a veggie friendly food, nor it is [VHDL](https://en.wikipedia.org/wiki/VHDL) It is not even [Pascal](https://en.wikipedia.org/wiki/Pascal_(programming_language))! -NOTE: On some systems, `file(1)` claims one of the `.tofu` files is 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 diff --git a/2006/birken/index.html b/2006/birken/index.html index e27f377c7..28bff27d5 100644 --- a/2006/birken/index.html +++ b/2006/birken/index.html @@ -419,7 +419,6 @@ Location: US - United States of America
    ./birken < file.tofu

Try:

    ./try.sh
-

etc.

Judges’ remarks:

Q: EDAMAME?

A: Electronic Design Automation - Mechanical Abstract Machine Emulator

@@ -427,7 +426,7 @@ Location: US - United States of America Verilog or VHDL It is not even Pascal!

-

NOTE: On some systems, file(1) claims one of the .tofu files is 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. :-)

diff --git a/2006/borsanyi/README.md b/2006/borsanyi/README.md index d4f2ffa5f..d1f973e1c 100644 --- a/2006/borsanyi/README.md +++ b/2006/borsanyi/README.md @@ -38,7 +38,7 @@ answer that you do not wish to make another. This entry uses a very user-friendly representation of the font it uses (with a few exceptions). Check out the source and see -yourself! :-) +for yourself! :-) The resulting GIF file is likely to puzzle optical character recognition tools. The amount of imagination necessary to diff --git a/2006/borsanyi/index.html b/2006/borsanyi/index.html index d63607ea7..dc7a3a952 100644 --- a/2006/borsanyi/index.html +++ b/2006/borsanyi/index.html @@ -427,7 +427,7 @@ answer that you do not wish to make another.

Judges’ remarks:

This entry uses a very user-friendly representation of the font it uses (with a few exceptions). Check out the source and see -yourself! :-)

+for yourself! :-)

The resulting GIF file is likely to puzzle optical character recognition tools. The amount of imagination necessary to recognise the @ character will certainly challenge a few diff --git a/2006/grothe/README.md b/2006/grothe/README.md index 535305a46..7236ea6c5 100644 --- a/2006/grothe/README.md +++ b/2006/grothe/README.md @@ -4,7 +4,7 @@ make ``` -NOTE: this entry requires the `X11/Xlib.h` header file and the X11 library to +**NOTE**: this entry requires the `X11/Xlib.h` header file and the X11 library to compile. For more information see the FAQ on "[X11](../../faq.html#X11)". @@ -45,11 +45,14 @@ by hitting `0-9`,`#`, and `*`. To be able to run the program you need to determine the following parameters: -``` - carrier_freq - base frequency used to host music - pixelclock - refresh rate of the monitor - horizontal_total - total scan along the horizontal axis -``` +* `carrier_freq` + - base frequency used to host music + +* `pixelclock` + - refresh rate of the monitor + +* `horizontal_total` + - total scan along the horizontal axis If you have `xvidtune` installed you can get the `pixelclock` and `horizontal_total` with the following command @@ -99,7 +102,8 @@ Others can be found by doing a search for "touch tone phone songs". ### Obfuscations - Some numbers expressed in Octal, some in hex and some in decimal: -"A foolish consistency is the hobgoblin of little minds" - Ralph Waldo + +> "A foolish consistency is the hobgoblin of little minds." - Ralph Waldo Emerson. - Funky scoping, looking at the nanosleep section and `XsetWindowAttributes` diff --git a/2006/grothe/index.html b/2006/grothe/index.html index e7160dbf3..b9228c973 100644 --- a/2006/grothe/index.html +++ b/2006/grothe/index.html @@ -409,7 +409,7 @@ Location: US - United States of America

To build:

    make
-

NOTE: this entry requires the X11/Xlib.h header file and the X11 library to +

NOTE: this entry requires the X11/Xlib.h header file and the X11 library to compile. For more information see the FAQ on “X11”.

To use:

@@ -430,9 +430,20 @@ the frequencies for an old fashion touch tone phone, so old songs can be played by hitting 0-9,#, and *.

To be able to run the program you need to determine the following parameters:

-
    carrier_freq     - base frequency used to host music
-    pixelclock       - refresh rate of the monitor
-    horizontal_total - total scan along the horizontal axis
+
    +
  • carrier_freq +
      +
    • base frequency used to host music
    • +
  • +
  • pixelclock +
      +
    • refresh rate of the monitor
    • +
  • +
  • horizontal_total +
      +
    • total scan along the horizontal axis
    • +
  • +

If you have xvidtune installed you can get the pixelclock and horizontal_total with the following command

    xvidtune -show | head -n 1 | awk '{ print "pixelclock " $2 * 1000000 " horizontal_total = " $6 }'
@@ -454,29 +465,33 @@ and Timex Sinclair ZX-81s.

Others can be found by doing a search for “touch tone phone songs”.

Obfuscations

    -
  • Some numbers expressed in Octal, some in hex and some in decimal: -“A foolish consistency is the hobgoblin of little minds” - Ralph Waldo -Emerson.

  • -
  • Funky scoping, looking at the nanosleep section and XsetWindowAttributes -declares local variables.

  • -
  • Algorithm is very weird, uses y dimension to draw carrier frequency +

  • Some numbers expressed in Octal, some in hex and some in decimal:
  • +
+
+

“A foolish consistency is the hobgoblin of little minds.” - Ralph Waldo +Emerson.

+
+
    +
  • Funky scoping, looking at the nanosleep section and XsetWindowAttributes +declares local variables.
  • +
  • Algorithm is very weird, uses y dimension to draw carrier frequency and x dimension to draw audio frequency, based on Erik Thiele’s -Tempest for Eliza.

  • -
  • lack of #defines confuses many people :-)

  • -
  • figuring out your pixelclock and horizontal_total and which carrier_freq -to use can be an exercise in obfuscation for the user.

  • -
  • use of commas in various places, confuses most C code beautifiers -sometimes making the beautified code harder to read

  • -
  • use of static to ensure initialization is EVIL and done in several -places

  • -
  • uses static declarations & void function returns we don’t care about -making the code harder to read.

  • -
  • does sound using only X11 libs, no other -libs required.

  • -
  • demonstrates tempest emissions in a fun/easy way.

  • -
  • follows good programming practices of actually setting exit codes and giving -usage when run with incorrect parameters.

  • +Tempest for Eliza. +
  • lack of #defines confuses many people :-)
  • +
  • figuring out your pixelclock and horizontal_total and which carrier_freq +to use can be an exercise in obfuscation for the user.
  • +
  • use of commas in various places, confuses most C code beautifiers +sometimes making the beautified code harder to read
  • +
  • use of static to ensure initialization is EVIL and done in several +places
  • +
  • uses static declarations & void function returns we don’t care about +making the code harder to read.
  • +
  • does sound using only X11 libs, no other +libs required.
  • +
  • demonstrates tempest emissions in a fun/easy way.
  • +
  • follows good programming practices of actually setting exit codes and giving +usage when run with incorrect parameters.

References

Tempest for Eliza - Basis for Algorithms.

diff --git a/2006/meyer/README.md b/2006/meyer/README.md index 8c12a0774..ac000312a 100644 --- a/2006/meyer/README.md +++ b/2006/meyer/README.md @@ -27,10 +27,10 @@ For your first input try: where `a` is the row (`a`-`i`), `0` is the column (`0`-`8`) and `1` is the number (`1`-`9`). -NOTE: if you do not input three different 'words' it will block. You can input +**NOTE**: if you do not input three different 'words' it will block. You can input more text to fulfil the program's requirements. -NOTE: if your move is invalid it will prompt you again but not show the board. +**NOTE**: if your move is invalid it will prompt you again but not show the board. ## Judges' remarks: @@ -43,7 +43,7 @@ code](%%REPO_URL%%/2006/meyer/meyer.c)! :-) ## Author's remarks: -I wanted submit a fully object-oriented entry to show that +I wanted to submit a fully object-oriented entry to show that object-orientated code: 1. is ridiculously bloated. @@ -62,8 +62,8 @@ _manually_ translated it from a generic object-oriented programming language to C, it didn't just end up unreadable, but awfully messed up, i.e. obfuscated. -As it is already (pre)translated to C, you could also call it an object- -disoriented program. +As it is already (pre)translated to C, you could also call it an +object-disoriented program. Comparing this program to a potential object-oriented implementation, it is obvious, that object-oriented code isn't '`WYWIWID`' ('what diff --git a/2006/meyer/index.html b/2006/meyer/index.html index 3c83d1e7c..cd4a62bdb 100644 --- a/2006/meyer/index.html +++ b/2006/meyer/index.html @@ -417,16 +417,16 @@ Location: US - United States of America
    a 0 1

where a is the row (a-i), 0 is the column (0-8) and 1 is the number (1-9).

-

NOTE: if you do not input three different ‘words’ it will block. You can input +

NOTE: if you do not input three different ‘words’ it will block. You can input more text to fulfil the program’s requirements.

-

NOTE: if your move is invalid it will prompt you again but not show the board.

+

NOTE: if your move is invalid it will prompt you again but not show the board.

Judges’ remarks:

This entry turns a newspaper solitaire puzzle into a competition with the computer to be the last one moving. The object of this source code is to determine the object of this source code! :-)

Author’s remarks:

-

I wanted submit a fully object-oriented entry to show that +

I wanted to submit a fully object-oriented entry to show that object-orientated code:

  1. is ridiculously bloated.
  2. @@ -443,8 +443,8 @@ you shouldn’t break in any case: Rule Nr 2, The size of …

    manually translated it from a generic object-oriented programming language to C, it didn’t just end up unreadable, but awfully messed up, i.e. obfuscated.

    -

    As it is already (pre)translated to C, you could also call it an object- -disoriented program.

    +

    As it is already (pre)translated to C, you could also call it an +object-disoriented program.

    Comparing this program to a potential object-oriented implementation, it is obvious, that object-oriented code isn’t ‘WYWIWID’ (‘what you write is what it does’). It may be tempting to think that