From 017230874f26804a73058ce7549eb843aa5dd391 Mon Sep 17 00:00:00 2001 From: Cody Boone Ferguson <53008573+xexyl@users.noreply.github.com> Date: Thu, 16 Feb 2023 04:54:55 -0800 Subject: [PATCH] Fix dead links in winning entries in years.html Some of the links had to be manually updated (including by downloading from the IOCCC website some missing files which I'm not even sure how they were missing from the repo) and others were fixed via sgit. To demonstrate its usage the following command removes from years.html the patterns 'hint.html' and '\.hint' with tracing enabled and verbosity of level 2. Notice how in this case the patterns are just deleted but one could substitute it for something else or run other sed commands as well. There was no need to specify sed options or the -I option (which means don't use the -i option to sed). If this change needed to be done in the entire repo 'years.html' could have been instead just '.' (if at the root directory of the repo). One can specify more than one glob just as one can specify more than one command (as of the bug fix in commit 05e83b60ff95279ef652a45f24d9d6eede5bfd69). $ bin/sgit -x -v 2 -e '/hint.html/d' -e '/\.hint/d' years.html + getopts :hVv:xIo:s:e: flag + case "$flag" in + VERBOSITY=2 + getopts :hVv:xIo:s:e: flag + case "$flag" in + SED_COMMANDS+=(-e "$OPTARG") + getopts :hVv:xIo:s:e: flag + case "$flag" in + SED_COMMANDS+=(-e "$OPTARG") + getopts :hVv:xIo:s:e: flag + shift 7 + [[ -z -e /hint.html/d -e /\.hint/d ]] + [[ -z /opt/local/bin/sed ]] + [[ ! -f /opt/local/bin/sed ]] + [[ ! -x /opt/local/bin/sed ]] + [[ 2 -eq 0 ]] + git status + status=0 + [[ 0 -ne 0 ]] + [[ 2 -gt 1 ]] + echo 'debug[2]: sed commands: -e /hint.html/d -e /\.hint/d' debug[2]: sed commands: -e /hint.html/d -e /\.hint/d + [[ 2 -gt 1 ]] + echo 'debug[2]: looping through all globs' debug[2]: looping through all globs + i=0 + [[ 0 -le 2 ]] + [[ 2 -gt 1 ]] + echo 'debug[2]: found glob: README.md' debug[2]: found glob: README.md + [[ 2 -ge 1 ]] + [[ -z '' ]] + [[ -n '' ]] + echo 'debug[1]: about to run: git ls-files README.md | xargs /opt/local/bin/sed -i"" -e /hint.html/d -e /\.hint/d' debug[1]: about to run: git ls-files README.md | xargs /opt/local/bin/sed -i"" -e /hint.html/d -e /\.hint/d + [[ -z '' ]] + [[ -n '' ]] + git ls-files README.md + xargs /opt/local/bin/sed -i -e /hint.html/d -e '/\.hint/d' + (( i++ )) + shift 1 + [[ 1 -le 1 ]] + [[ 2 -gt 1 ]] + echo 'debug[2]: found glob: years.html' debug[2]: found glob: years.html + [[ 2 -ge 1 ]] + [[ -z '' ]] + [[ -n '' ]] + echo 'debug[1]: about to run: git ls-files years.html | xargs /opt/local/bin/sed -i"" -e /hint.html/d -e /\.hint/d' debug[1]: about to run: git ls-files years.html | xargs /opt/local/bin/sed -i"" -e /hint.html/d -e /\.hint/d + [[ -z '' ]] + [[ -n '' ]] + git ls-files years.html + xargs /opt/local/bin/sed -i -e /hint.html/d -e '/\.hint/d' + (( i++ )) + shift 1 + [[ 2 -le 0 ]] --- years.html | 269 ++--------------------------------------------------- 1 file changed, 8 insertions(+), 261 deletions(-) diff --git a/years.html b/years.html index 02d442e6f..a53168074 100644 --- a/years.html +++ b/years.html @@ -273,7 +273,6 @@ Contest
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.
- Makefile
- westley.c -
- westley.hint
- Misha Dynin suggests a fix that works for both traditional K&R and ANSI C preprocessors.