paul - print fibonacci base 2 by simulating turing machine
+paul - print Fibonacci base 2 by simulating Turing machine
arachnid - Curses maze displayer/navigator with only line-of-sight visibility
@@ -1909,7 +1811,6 @@ Contest @@ -1919,7 +1820,6 @@ Contest @@ -1928,7 +1828,6 @@ Contestgavin - Mini-OS
@@ -1936,7 +1835,6 @@ Contesthoyle - Curses based polynomial graphing with auto-scale
@@ -1956,7 +1853,6 @@ Contest @@ -1965,7 +1861,6 @@ Contestkopczynski - OCR of 8, 9, 10 and 11
@@ -1973,7 +1868,6 @@ Contestvik1 - X Windows car racing game
@@ -2025,7 +1915,6 @@ Contestvik2 - Calculates prime numbers using only CPP
@@ -2033,7 +1922,6 @@ Contestcoupard - Outputs current time as a sound file
@@ -2077,7 +1962,6 @@ Contestctk - A driver game
@@ -2085,7 +1969,6 @@ Contestdgbeards - Plays suicide chess
@@ -2093,7 +1976,6 @@ Contestherrmann1 - A Turing machine using preprocessor
@@ -2102,7 +1984,6 @@ Contestkev - A Pong game across network
@@ -2130,7 +2009,6 @@ Contestollinger - Prints primes with a sieve graph
@@ -2138,7 +2016,6 @@ Contestrosten - Makes X mouse pointer have inertia or anti-inertia
@@ -2146,7 +2023,6 @@ Contestschweikh - Shell glob matcher
@@ -2154,7 +2030,6 @@ Contestwestley - Sorts/scrambles, outputs as text/punch-cards
@@ -2162,7 +2037,6 @@ Contest @@ -2171,7 +2045,6 @@ Contestbellard - Prints M6972593 (2^6972593-1) by Modular Fast Fourier Transform
@@ -2197,7 +2069,6 @@ Contestbmeyer - An image compressor
@@ -2205,7 +2076,6 @@ Contestdhyang - Saitou Hajime image that prints a prog that prints a prog ...
@@ -2225,7 +2094,6 @@ Contestdlowe - A dc-style calculator that uses embedded Perl
@@ -2233,7 +2101,6 @@ Contestjarijyrki - An X-based spreadsheet program with graphing features!
@@ -2241,7 +2108,6 @@ Contest @@ -2250,7 +2116,6 @@ Contestprimenum - Source with English words that looks like a prime tester
@@ -2258,7 +2123,6 @@ Contestrince - Plots the positions of the four Galilean moons of Jupiter
@@ -2266,7 +2130,6 @@ Contest @@ -2275,7 +2138,6 @@ Contestschneiderwent - Prints the aproximate time in words
@@ -2283,7 +2145,6 @@ Contest @@ -2294,7 +2155,6 @@ Contesttomx - C source, shell program and Makefile
@@ -2302,7 +2162,6 @@ Contestbas2 - determines the size of stdin under IOCCC sizing rules
@@ -2343,7 +2200,6 @@ Contestchaos - Rotates and zooms an object using ASCII graphics
@@ -2351,7 +2207,6 @@ Contestdlowe - Pootifies stdin (useful to view Microsoft html files)
@@ -2372,7 +2226,6 @@ Contest @@ -2381,7 +2234,6 @@ Contestdorssel - ASCII / Morse code translator
@@ -2389,8 +2241,6 @@ Contestfanf - Translates Lambda expressions into combinator expressions
@@ -2398,7 +2248,6 @@ Contest @@ -2407,7 +2256,6 @@ Contestschweikh1 - Tests to see if your compiler and headers are standard
@@ -2415,9 +2263,8 @@ Contestschweikh2 - Prints random 0's and 1's; causes some gcc's as passes to choke
@@ -2425,7 +2272,6 @@ Contest @@ -2434,7 +2280,6 @@ Contest @@ -2443,7 +2288,6 @@ Contesteldby - Flying 3D spheres in an ASCII display
@@ -2481,7 +2323,6 @@ Contestgandalf - Displays the ASCII and 8 bit character tables
@@ -2489,7 +2330,6 @@ Contesthuffman - Braille to ASCII and vice versa
@@ -2497,7 +2337,6 @@ Contestjonth - X based dual player tic-tac-toe game
@@ -2505,7 +2344,6 @@ Contestrcm - Gunzip equivalent
@@ -2513,7 +2351,6 @@ Contest @@ -2523,7 +2360,6 @@ Contest @@ -2534,7 +2370,6 @@ Contestschweikh3 - Determins the memory allocation honesty of the OS
@@ -2542,7 +2377,6 @@ Contest @@ -2551,7 +2385,6 @@ Contestdodsond1 - Text to "Pig Latin" translator
@@ -2580,7 +2412,6 @@ Contestdodsond2 - Interactive 3D Maze
@@ -2588,7 +2419,6 @@ Contestesde - Searches for words in a file which have the same Soundex code
@@ -2596,7 +2426,6 @@ Contest @@ -2606,7 +2435,6 @@ Contestleo - Output interesting patterns and cycles in PostScript
@@ -2626,7 +2453,6 @@ Contest @@ -2635,7 +2461,6 @@ Contestsavastio - Infinite-precision factorial calculator
@@ -2643,7 +2468,6 @@ Contestschnitzi - Find divisors: where a core dump is a feature, not a bug
@@ -2651,7 +2475,6 @@ Contestspinellis - Abusing the rules
@@ -2659,7 +2482,6 @@ Contestvanschnitz - Towers of Hanoi via the C pre-processor
@@ -2667,7 +2489,6 @@ Contestdodsond2 - Hunt the Wumpus (gziped source)
@@ -2693,7 +2513,6 @@ Contest @@ -2702,7 +2521,6 @@ Contestldb - print a random line from stdin
@@ -2721,7 +2538,6 @@ Contestschnitzi - flips stdin along a diagonal (source mirrored along diagonal)
@@ -2729,7 +2545,6 @@ Contestshapiro - print time of day on an tty
@@ -2737,7 +2552,6 @@ Contest @@ -2746,7 +2560,6 @@ Contesttvr - interactive fractals for the X Window System
@@ -2755,7 +2568,6 @@ Contestwestley - Adventure/Dungeon like game played via the C pre-processor
@@ -2773,7 +2584,6 @@ Contestdgibson - plays the game of like using cpp
@@ -2809,7 +2617,6 @@ Contestleo - game of mastermind (cows & bulls)
@@ -2841,7 +2646,6 @@ Contestlmfjyh - source is the filename, prints value of __FILE__
@@ -2849,7 +2653,6 @@ Contestplummer - prints numbers up to a given value
@@ -2857,7 +2660,6 @@ Contestrince - game state machine language, comes with a number of games
@@ -2865,7 +2667,6 @@ Contestalbert - factors multi-precision numbers with factors < MAX_LONG
@@ -2922,7 +2719,6 @@ Contestant - make utility
@@ -2941,7 +2736,6 @@ For more details see Leo's EMail messa @@ -2951,7 +2745,6 @@ For more details see Leo's EMail messabuzzard.2 - forth-like stack machine
@@ -2961,7 +2754,6 @@ For more details see Leo's EMail messaimc - Mandelbrot/Julia drawer
@@ -2987,7 +2778,6 @@ For more details see Leo's EMail messa @@ -2996,7 +2786,6 @@ For more details see Leo's EMail messa @@ -3005,7 +2794,6 @@ For more details see Leo's EMail messa @@ -3014,7 +2802,6 @@ For more details see Leo's EMail messa @@ -3023,7 +2810,6 @@ For more details see Leo's EMail messaBrian Westley decided to just make the real source available. @@ -3046,7 +2832,6 @@ archive with a copy of the source ported by @@ -3055,7 +2840,6 @@ archive with a copy of the source ported by
8th International Obfuscated C Code Contest (1991)
@@ -3073,7 +2857,6 @@ archive with a copy of the source ported bybrnstnd - sorta stack language
@@ -3081,7 +2864,6 @@ archive with a copy of the source ported by
- Makefile
- brnstnd.c -
- brnstnd.hint
- brnstnd_ansi.c
- sorta.README
- sorta.i2+2 @@ -3104,7 +2886,6 @@ archive with a copy of the source ported by
cdupont - prints a message without vowels
@@ -3112,7 +2893,6 @@ archive with a copy of the source ported by @@ -3121,12 +2901,13 @@ archive with a copy of the source ported by
- Makefile
- davidguy.c -
- davidguy.hint
- davidguy.orig.c
- The "doesn't need Xlib or include files" part resulted in significant bit rot of this entry. Prof. David Applegate took his time to fix it to search for proper socket type, and to allow the entry to run on displays with 16-bit color. -
The fix is applied to the original entry; merging it with the presented code is left +
The fix is applied to the +original +entry; merging it with the presented code is left as an exercise for the reader.
As before, you need to turn off access control of the X11 server, and to use a window manager that does not obscure the root window. @@ -3137,7 +2918,6 @@ a window manager that does not obscure the root window.
@@ -3147,7 +2927,6 @@ a window manager that does not obscure the root window.rince - game with sprites, boulders, dimonds, and keys
@@ -3155,7 +2934,6 @@ a window manager that does not obscure the root window. @@ -3165,7 +2943,6 @@ a window manager that does not obscure the root window.
@@ -3184,7 +2961,6 @@ a window manager that does not obscure the root window.cmills - squished blackjack game
@@ -3192,7 +2968,6 @@ a window manager that does not obscure the root window.dds - basic interpreter, heavily compressed
@@ -3200,7 +2975,6 @@ a window manager that does not obscure the root window. @@ -3209,7 +2983,6 @@ a window manager that does not obscure the root window.jaw - compress & atob standins
@@ -3217,7 +2990,6 @@ a window manager that does not obscure the root window. @@ -3226,7 +2998,6 @@ a window manager that does not obscure the root window.scjones - trigraph-abusing self-reproducing program
@@ -3234,7 +3005,6 @@ a window manager that does not obscure the root window.stig - nested-comment tester (all on command line)
@@ -3242,8 +3012,7 @@ a window manager that does not obscure the root window.tbr - simple compressed shell, silly layout
@@ -3251,7 +3020,6 @@ a window manager that does not obscure the root window.theorem - numerically solves the equation y'=f(x,y)
@@ -3259,7 +3027,6 @@ a window manager that does not obscure the root window.westley - poetic exchange between lovers, prints "luvs me, luvs not"
@@ -3267,13 +3034,12 @@ a window manager that does not obscure the root window.
6th International Obfuscated C Code Contest (1989)
@@ -3283,7 +3049,6 @@ a window manager that does not obscure the root window. @@ -3293,7 +3058,6 @@ a window manager that does not obscure the root window.
- README -
- rulesMakefile +
- Makefile
- rules
- 1989.tar.bz2 - all of the data for 1989 (19.8 KiB)
- Makefile
- jar.1.c -
- jar.1.hint
- jar.1.orig.c
- jar.1.sh
- jar.1.orig.sh @@ -3304,7 +3068,6 @@ a window manager that does not obscure the root window.
ovdluhe - monkey-typer following template, 'APE' identifiers
@@ -3312,7 +3075,6 @@ a window manager that does not obscure the root window.paul - print Fibonacci base 2 by simulating Turing machine
@@ -3320,7 +3082,6 @@ a window manager that does not obscure the root window.robison - apl-expression interpreter (binary), written in C--
@@ -3328,7 +3089,6 @@ a window manager that does not obscure the root window.roemer - prints e, script-pi shaped layout, _31415 identifiers
@@ -3336,14 +3096,12 @@ a window manager that does not obscure the root window.tromp - squished tetris
@@ -3353,7 +3111,6 @@ a window manager that does not obscure the root window.westley - reversible, rot13able program that reverses and/or rot13s.
@@ -3361,7 +3118,6 @@ a window manager that does not obscure the root window.
5th International Obfuscated C Code Contest (1988)
@@ -3377,7 +3133,6 @@ a window manager that does not obscure the root window. @@ -3386,7 +3141,6 @@ a window manager that does not obscure the root window.isaak - table driven table of the elements; cpp, self-inclusion
@@ -3395,7 +3149,6 @@ a window manager that does not obscure the root window.- Makefile
- isaak.c
- isaak.ansi.c -
- isaak.hint
- isaak.encode
- The original code expects K&R-style preprocessor and BSD-style sprintf; use isaak.ansi.c instead. @@ -3406,7 +3159,6 @@ a window manager that does not obscure the root window.
phillipps - 'first day of christmas', tables, heavily main() calling
@@ -3414,7 +3166,6 @@ a window manager that does not obscure the root window.reddy - prints name of 'char *(*(foo[16])();', compressed
@@ -3422,7 +3173,6 @@ a window manager that does not obscure the root window.robison - print e in any base, uses only --, >=, and while()
@@ -3430,7 +3180,6 @@ a window manager that does not obscure the root window.spinellis - #include "/dev/tty"
@@ -3438,7 +3187,6 @@ a window manager that does not obscure the root window. @@ -3447,7 +3195,6 @@ a window manager that does not obscure the root window.From 2d8f2ce0b2e4e119a750bb032ff0cabad7208fa4 Mon Sep 17 00:00:00 2001 From: Cody Boone Ferguson <53008573+xexyl@users.noreply.github.com> Date: Thu, 16 Feb 2023 05:05:34 -0800 Subject: [PATCH 13/14] Add missing file in commit 017230 The file 2018/burton2/README.txt was added to the repo (it was the file missing from the repo but I forgot to include it in the git commit command). --- 2018/burton2/README.txt | 71 +++++++++++++++++++++++++++++++++++++++++ 1 file changed, 71 insertions(+) create mode 100644 2018/burton2/README.txt diff --git a/2018/burton2/README.txt b/2018/burton2/README.txt new file mode 100644 index 000000000..37a9c8c71 --- /dev/null +++ b/2018/burton2/README.txt @@ -0,0 +1,71 @@ +tac comes with a small suite of support programs to test and validate against. +Untar tests and variations in the same dir as the sources, +or change runtest and unob.sh to look elsewhere for the keyword and test files. + +keywords is a critical file, created from ioccc.kw.freq by mkkeywords. +Only ioccc.kw.freq produces results compatible with iocccsize.c; +however, any of the variations can be used instead: + + mkkeywords c11 > keywords + +unob.sh uses the same input file as mkkeywords to control spaces after keywords. +The script allows an environment variable, KW, to override this. +Use it simply: + + unob.sh prog.c | less + unob.sh -p prog.c | less + KW=c11 unob.sh prog.c | less + +To handle obscure command line defines, use the environment variable DEF: + + DEF="-D'g(o)'='goto o;'" KW=c11 unob.sh -p prog.c | less + +It does an amazingly good job for such a simple script. + +Manifest + +prog.c the reason for this README +keywords the file #included in prog.c, output of mkkeywords +mkkeywords reads one of the files from variations, produces string for prog.c +ioccc.kw.freq keywords used by iocccsize, sorted by frequency in 201x ioccc winners +unob.sh a more robust unobfuscation script; requires variations/c11 in cur dir +tokenfix patches up prog -t output for ::, >>>, ... +src.doc.rot13 the answers, or at least significant help +tac.c more clearly written code, offered as a replacement of iocccsize.c +patch fixes single quotes in iocccsize.c, adds #ifndef, removes "I" +fixed_iocccsize.c iocccsize with patch applied, and nop -c argument added + +tests/* +runtest script to run the tests; ./runtest | diff results - +results results without -k +results.k results with -k; opt=kcrs ./runtest | diff results.k - +test*.c various test cases looking for compatability +iocccbug*.c various test cases demonstrating problems with iocccsize +spotcheck script to test a lot of files vs iocccsize +spotdiff summarize the results of spotcheck, showing only differences +discrepancies text file of the differences found using all the ioccc winning entries + +to test prog: + + runtest | diff - results + opt=kcrs runtest | diff - results.k + find ~/src/obc -type f -a -name "*.c" | xargs spotcheck prog + [ | spotdiff | diff -bw - discrepancies ] + +to test tac: + + prog=tac runtest | diff - results + prog=tac opt=krs runtest | diff - results.k + find ~/src/obc -type f -a -name "*.c" | xargs spotcheck tac + +variations/* as described in the remarks, and in each file below +ansi +c++11 +c++14 +c++98 +c11 +c99 +java8 +kandr +kandr2 +v7unix From a41636a0ed34c125082458010af60576f9081e84 Mon Sep 17 00:00:00 2001 From: Cody Boone Ferguson <53008573+xexyl@users.noreply.github.com> Date: Thu, 16 Feb 2023 12:10:23 -0800 Subject: [PATCH 14/14] Comment fixes in sgit --- bin/sgit | 19 +++++++++---------- 1 file changed, 9 insertions(+), 10 deletions(-) diff --git a/bin/sgit b/bin/sgit index bb7e6fe9d..cf8b12c1f 100755 --- a/bin/sgit +++ b/bin/sgit @@ -1,12 +1,12 @@ #!/usr/bin/env bash # -# sgit - sed -i on all files under git control +# sgit - run sed (by default with -i) on all files under git control # -# usage: sgit -e 'sed command'...
- Makefile
- westley.c -
- westley.hint
- Misha Dynin suggests a fix that works for both traditional K&R and ANSI C preprocessors.
-# -# This script will allow one to update files under git control without having to -# come up with a list of files and then passing those to the command. It allows -# for multiple sed commands (all with in-place editing) and multiple globs. +# This script allows one to run sed under git control without having to come up +# with a list of files first and then passing those to the command. +# It allows for multiple sed commands and multiple globs. By default it uses -i +# to edit the file in place (without backup extension) but this can be +# overridden with the -I option. See -h option for all the options. # # DISCLAIMER AND WARNING: this is something of a hack and might be error prone. # It works for what is needed but possibly could be improved. Even so I like it @@ -27,7 +27,7 @@ USAGE="usage: $(basename "$0") [-h] [-V] [-v level] [-x] [-I] [-o sed_options] [ -I disable in place editing -o sed options (don't pass '-') -s sed set path to sed - -e command append sed command to execute on globs + -e command append sed command to to list to execute on globs sgit version: $SGIT_VERSION" @@ -88,7 +88,6 @@ if [[ -z "${SED_COMMANDS[*]}" ]]; then fi # check that sed is executable - if [[ -z "$SED" ]]; then echo "$(basename "$0"): ERROR: sed cannot be empty" 1>&2 echo 1>&2 @@ -137,8 +136,8 @@ fi # how to do it) so we do it on all files in the repo. # # But these would possibly require additional args to the command and -# unnecessarily complicate matters. Anyway it's a hack so it doesn't have to be -# perfect (not that there even is such a thing as perfect). +# unnecessarily complicate matters. Anyway it's something of a hack so it +# doesn't have to be perfect (not that there even is such a thing as perfect). # if [[ "$VERBOSITY" -gt 1 ]]; then echo "debug[2]: looping through all globs" 1>&2