Files
ioccc/2000/dhyang
Cody Boone Ferguson 1d86daf19a Change LIBS to LDFLAGS in Makefiles
This is to make it more standard which further allows one to run make on
some other source code, say because they want to try and fix an entry
but forget to update the Makefile. Or if they're the author they can not
worry about it in some cases. But since LDFLAGS is the standard way it
seems better to have the LIBS variable in the Makefile be LDFLAGS.

Maybe there is a reason to not have this and I'm happy to close this in
that case but it does seem better this way so I'm doing this commit.
2023-07-10 03:33:53 -07:00
..
2023-05-13 11:45:33 +10:00
2022-09-18 23:37:49 -07:00
2023-07-06 21:49:38 -07:00
2023-07-10 03:33:53 -07:00
2023-04-22 04:21:38 -07:00

Best Layout

Don Yang
UCSD
259 E. Bellbrook St.
Covina, CA 91722
US
http://uguu.org

To build:

make

To run:

./dhyang

Try:

make saitou
./saitou > aku.c
cat aku.c

make soku
./soku > soku.c
cat soku.c

make zan
./zan > zan.c
cat zan.c

make aku
./aku | diff - aku.c

Judges' remarks:

A beautiful combination of solving several different problems, but mostly, the single most impressive layout we've ever seen. Many programs have one interesting layout; this one has four.

It may be informative to run the code through a "beautifier", to study it, but the layout itself is where most of the interest lies.

Author's remarks:

This one is dedicated to Saitou Hajime fans ^_^x

Instead of making one self reproducing program, what I made was a program that generates a set of mutually reproducing programs, all of them with cool layout!

For your enjoyment:

  1. Compile dhyang.c.
  2. Run ./dhyang and pipe output to another .c file
  3. Compile that file
  4. Repeat steps 2 and 3 until eventually the output cycles

To interpret the output: the dhyang.c is an image of Saitou Hajime, which eventually generates three sources files that are images of "aku soku zan" (sin swift slay), Saitou's motto ;)

For best viewing, set tab spaces to 8 characters, and set your terminal fonts to as close to square as possible. I hate to do this but you know, size...

dhyang.c and all its output compiles with gcc if your OS uses ASCII character set. No file is included and all functions assume default int return type (a source of compile warnings).

This file is Copyright (c) 2023 by Landon Curt Noll. All Rights Reserved. You are free to share and adapt this file under the terms of this license:

Creative Commons Attribution-ShareAlike 4.0 International (CC BY-SA 4.0)

For more information, see: https://creativecommons.org/licenses/by-sa/4.0/