406 Commits
Author SHA1 Message Date
Cody Boone Ferguson 17b581640a Another typo fix in bugs.md
Had wrong year in 2011/vik - referred to 2012/vik. Ironically I
discovered it as I am going to be adding 2012/vik itself to the file
next.
2023-05-04 10:00:14 -07:00
Cody Boone Ferguson e54effbb2c Typo fix bugs.md 2023-05-04 09:59:11 -07:00
Cody Boone Ferguson ba108e1f65 Format fix README.md + add alt code to 2011/vik
The alternate code is based on the author's statements on how to get it
to work for Windows. I then looked at MS docs to find out what header
files are needed. The only reason I did this is because the purpose of
the issue #1 is to get the entries to compile under as many systems as
possible and since the author gave instructions ... Obviously I didn't
test this as I have no way to do so. It's 'as is'. In the famous words
of Douglas Adams: 'Don't share and don't enjoy! :-)'

Updated bugs.md with INABIAF noted by the author.

Format fix README.md.
2023-05-03 09:26:23 -07:00
Cody Boone Ferguson 42ef81fece Add some notes to several statuses in bugs.md
Specifically some statuses are not yet ready for help from others. Not
all entries have even been checked. Others I am aware of and am off and
on working on. When everything has been found and I've decided I've done
enough (which might be because we want to move forwards with the
website, assuming I don't get it all done before that time) the notices
will be removed.

There are some statuses that don't apply here like missing files,
missing make rules and dead links. Some of these I have fixed but some
I've not had as much luck (at least not yet?).
2023-05-03 07:27:54 -07:00
Cody Boone Ferguson aaaa74a44c Slight format fix in bugs.md 2023-05-02 11:15:18 -07:00
Cody Boone Ferguson ca05d2cdb2 Format fix 2011/dlowe/README.md + update bugs.md 2023-05-02 11:09:54 -07:00
Cody Boone Ferguson d9d3c2af20 More progress with 2011/richards in macOS
I have found a problem that shows itself in both linux and macOS. In
linux it happens with both 32-bit and 64-bit but the sizes are naturally
different. It does not crash in linux however where it does in macOS.

I changed some variable types a bit as well but this still does not fix
it with macOS though they types changed are more consistent with what
they are used as.

The bugs.md has more information on what I discovered (noted above) - an
overflow.

More will have to be done on this another time in order to get it to
work with macOS.
2023-05-02 09:45:30 -07:00
Cody Boone Ferguson 9990fe2abd Track down required changes in 2001/anonymous
In order to know what had to change exactly I tested this out (though
it's possible I forgot to initially document changes and so I did not
test everything) and I have documented it in the README.md. The required
changes:

- remove infinite recursion from main(): move the body of main() to
another function.

- add #include <sys/mman.h> for mmap().

Without either this did not work. I also changed (in case of
non-standardised constants) '3' in the call to mmap() to be
PROT_READ|PROT_WRITE but this appears to not be strictly required.

I added the script try.me.sh which has more commands than the previous
try section to show how it works and what changes etc.

Updated .gitignore as the above script creates some.

Make make all attempt to compile anonymous.ten.c: it's an important part
of the program though it can work on other 32-bit ELF binaries.

Update bugs.md explaining why this won't work with macOS.
2023-05-02 03:11:18 -07:00
Cody Boone Ferguson d0ac8c8213 Try fixing 2011/richards + update README.md
This does not work with macOS but I'm not sure if this has to do with
macOS or the fact it's the Apple silicon chip. The fact it works in
linux makes it harder to figure out what the problem is. Still I tried
to change the protection of the mmap() call. Different values can
actually make it crash in linux as well but this does work. Of course
the fact it works with linux doesn't mean much since it already did work
with linux. This is a work in progress. Doing

    make CC=clang CSILENCE= CWARN="-Wall -Wextra -Weverything" clobber all

can give a lot of interesting warnings that might or might not be
relevant including one about alignment. In bugs.md I cited where it
appears to crash.

Format fixed the README.md.
2023-05-01 09:10:07 -07:00
Cody Boone Ferguson 46d9504d1f Proper fix 2006/toledo2 and format README.md
I've coined a new abbreviation: IABINAF - it's a bug it's not a feature! :-)
Specifically the use of the CP/M emulator does not appear to work right.
Updated bugs.md.

As for the proper fix: it appears that not all the variables that I
changed to a FILE * can be a FILE * or else the wrong combination was
used. It turns out that using longs (like Yusuke Endoh did) will work
but in some cases FILE * is still used as technically the variables are
used as FILE *. I will very possibly look at finding the right
combination (or confirming that this is correct as is - though it seems
not to be at least not technically) another time.

Format fix README.md.
2023-05-01 05:09:16 -07:00
Cody Boone Ferguson 385570c5b7 Fix crash in 2006/toledo2 + partial format README
The problem is that 'int's were being used instead of 'FILE *'s. It did
not seem to crash in linux (at least fedora) but it did in macOS which
prevented it from working. Now it works in both. I got the feeling that
it did crash in some linux distros as well as apparently Yusuke Endoh
fixed it as well though he did it by changing the ints to longs. I'm not
sure if that would work for macOS; I fixed it prior to seeing this fix.
Some -includes were added to the Makefile too that might or might not be
relevant to the fix in macOS. It very well could be relevant though.

I did a partial format fix in README.md but I will have to finish this
tomorrow as I have to leave for the rest of the day.
2023-04-30 12:55:58 -07:00
Cody Boone Ferguson 2330bee2b2 Format fix 2006/stewart/README.md + update bugs.md 2023-04-30 10:26:09 -07:00
Cody Boone Ferguson 69d530e978 Format fix 2006/monge/README.md + update bugs.md 2023-04-30 09:14:30 -07:00
Cody Boone Ferguson d0b357e4c5 Format fix 2006/hamre/README.md + update bugs.md
There are a few 'issues' that are INABIAF so these were noted in the
README.md and the bugs.md. You might find some punning there.
2023-04-30 08:45:29 -07:00
Cody Boone Ferguson 7ccf7c75ec Add alt code to 2005/mynx and format fix README.md
Instead of the original code scanning for https (which it did not) I
made the version that does an alt code. This should have been done
originally but I did not think about it at the time quite unfortunately.
Still it would be nice to be able to use https with it.

I noted a way that one might be able to get it to work - stunnel, though
it's been years since I've used it so it might not be a solution to the
problem.

Updated .gitignore with files in source/ subdirectory in case configure
is run.

To make sure that make from source/ works I copied the mynx.c to the
source/ directory. I guess I could have updated the configure script but
that seems like it would take more effort than it would be worth.

Format fix README.md.
2023-04-28 12:01:52 -07:00
Cody Boone Ferguson 21ca906738 Add INABIAF to 2001/ollinger
If the program is not provided with an arg it will very likely crash or
do something different.
2023-04-28 10:44:11 -07:00
Cody Boone Ferguson f7f0ca7500 Fix 2005/giljade to work with 64 and 32-bit
The problem was due to sizes so the long * is now an int *. I have no
idea what made me think of it other than on a hunch (and based on my
previous suspicions).

Format fix README.md as well.

Update bugs.md. Added an INABIAF as well as change the status of the
program not working on some platforms to a known bug. This is to due
with clang's deficiency in not allowing the args of main() to be
different. Believe it or not some of the problem appears to be more than
two spaces in the program (other than where it originally was).

Added alt code - the original that will not compile with clang but with
the 64-bit fix. This is because the fix for clang breaks the self-test
feature of the program. Maybe the clang fix should be the alt code. I
don't know.

Updated .gitignore.

Of course the above fix to the code and the adding of the alt code means
that the Makefile was also updated.
2023-04-28 10:24:50 -07:00
Cody Boone Ferguson c55a9e395e Format fix 2005/anon/README.md + add alt version
The alt version uses the same code but the make rule is different. It
disables the stty command. This is in case a shell does not support it.
It also allows to demonstrate a funny feature that the author documented
where after too many moves the program deliberately destroys its runtime
stack. This is because the program sometimes deliberately generates
unsolvable puzzles to hook you :-) and also to prevent you spending too
much time or from getting too frustrated (see also the part about
unsolvable puzzles being deliberately generated).
2023-04-28 02:29:39 -07:00
Cody Boone Ferguson 0c12a6e6a1 Fix 1985/applin under macOS
The solution is a curious one that I should have known. It wasn't even a
change in the code itself; rather in macOS one needs to include unistd.h
as with macOS without a proper prototype at least some functions do not
work right. This showed itself in 1984/anonymous as well though I had to
do a bit more to fix that one - provide a prototype in the code
(including the header file did not work - this was documented at one
point in the README.md and possibly bugs.md) and change the code
slightly as well. Ironically this was figured out through linux! See
bugs.md as I updated the on warnings section - this was an example entry
where some warnings are worth fixing.
2023-04-27 05:54:50 -07:00
Cody Boone Ferguson 09b8244f2f Fix 2004/gavin/Makefile and bugs.md (stray item)
When renaming the gavin_install.txt to gavin.md I forgot to update the
Makefile.

In bugs.md there was a stray item for 2004/gavin in the wrong year (yank
paste error almost certainly).
2023-04-26 04:43:27 -07:00
Cody Boone Ferguson e44a1ec7a5 2001/herrmann2 requires 32-bit to work completely
By instinct I suspected that the reason it did not work fully (some
invocations do work) is that it's being compiled as 64-bit. This proved
to be the case: 32-bit works in full. Thus make alt now compiles it as
64-bit and the default compiles it as 32-bit.

To prevent making the Makefile more complicated for the default (not the
alt) target we add -m32 and the alt does not do anything special.

Updated bugs.md as the bug status and other information about it has
obviously changed. Same with README.md.

Updated .gitignore.
2023-04-26 03:46:52 -07:00
Cody Boone Ferguson 56e7dc3e88 Updates and improvements to 2001/westley
There are a number of improvements in this commit but first: added
missing file status to bugs.md and also note on gets() being used (but
see below).

Format fixes in README.md.

As for improvements the following things were done.

Move the 'try' commands to new script westley.sh. It includes
additional commands and shows what each one is before executing it.

Added westley.sort.c which is based on the author's suggestion of sort
-b which always sorts the input. This was actually westley3.c in the try
section but this has been removed or replaced.

Added westley.punch.c which is also based on the author's comments - it
shows the punch card always. This was also added to westley.sh. Why did
I name it westley.punch.c ? Besides the fact it shows punch cards
there's a silly remark/joke in the README.md about it that answers it. :-)

These updates seem worthy of Brian Westley's final entry and a most
wondrous entry at that!
2023-04-24 06:44:49 -07:00
Cody Boone Ferguson b894b0abc9 Removed 2001/anonymous from bugs.md
It seems I forgot to do this when I fixed it in commit
efdee208a2.
2023-04-24 05:52:11 -07:00
Cody Boone Ferguson a1acee4de4 Update and fixes to 2001/schweikh
Format fix README.md.

Add INABIAF section to bugs.md and README.md.
2023-04-24 05:24:54 -07:00
Cody Boone Ferguson 31a4242f8c Update 2001/kev
Format fix README.md.

The author noted some known issues. Marked them as INABIAF.

In this case (first one) I found the author's mastodon handle. Added to
winners.csv and the README.md.

I was unable to test that the program still works. I might test it
another time.
2023-04-23 10:58:02 -07:00
Cody Boone Ferguson 2d7d85b040 Updates in 2001/herrmann2 w/unsequenced point fix
In one case I was able to fix an unsequenced modification but there are
other variables this was not possible to do this time round (it might or
might not be possible at all).

Format fix README.md.

Update bugs.md talking about the fact that this program crashes in some
cases.

Instead of main() calling main() main() calls pain() and pain() calls
itself. This was an attempt to deal with the variable types though might
not be necessary. It can possibly help find the right value however.

Note that there is more dead code added. This is due to the author's
statement (unfortunately not enough information) that one has to fill a
line with doing mostly nothing when calling a function.

Note that this entry is meant to show different output on each
invocation and that still happens. However each line has a pattern that
repeats.

These above points are in the bugs.md as well.
2023-04-23 09:52:05 -07:00
Cody Boone Ferguson 49d4f7e69b Updates to 2001/herrmann1
Format fix README.md.

There are some missing files - added to bugs.md. Unfortunately they're
not in the archive.

I'm aware of an issue in the entry to do with more recent compilers. I
will be investigating it in the coming days very likely but it might be
said that this entry does not work at least in part or maybe in whole. I
wrote in the bugs.md that it's in part but now I think on it I think it
doesn't work at all and I'll be looking at it soon.

Updated .gitignore.

Added file that the author referred to and actually gave the contents
of. Unfortunately the missing files were not given.
2023-04-22 12:50:52 -07:00
Cody Boone Ferguson 0d0c2c4250 Note that 2001/bellard only works for i386 linux
The author stated this directly. It is noted in the bugs.md file and the
README.

I also included a suggested change by Yusuke Endoh. This is not
necessary for compilers that support -Wl,-z,execstack but not all
compilers do (though the only one I've found that has this problem is
macOS which it won't work under anyway just like -m32 won't which we
also now use).

Added the 'more portable' version by the author. This does not compile
at least under 64-bit linux (not macOS either though of course it
wouldn't work in macOS as if you look at the code you see hardcoded
paths for linux ld-linux.so).

I note that there's a de-obfuscated version on the author's page for the
entry which might give some clues. I might look at it in the future but
it appears that unless someone can provide a 64-bit linux version this
will be one of the entries (now far fewer with many fixes made) that
simply no longer work.

This thus completes for now 2001/bellard even with disappointing
circumstances.
2023-04-22 09:11:15 -07:00
Cody Boone Ferguson fd5788f81c Add alt code to 2001/dgbeards + format README.md
The alt code is based on the author's notes. It makes it faster. I
discovered a fun flaw in the change and I challenge (in the alternate
code section) others to find it!

Format fix README.md.

Update bugs.md - this program deliberately crashes if it loses (which it
is tries to do). The author provided a way to fix it. It was uuencoded
but as per discussion on GitHub spoilers are not supposed to be here any
more so I uudecoded it. This feature was also added to the INABIAF
section in the README.md.

BTW: if you're trying to lose and you lose did win or did you lose? :-)
2023-04-21 12:05:59 -07:00
Cody Boone Ferguson 8ae3f6b6c6 Update bugs.md and 2001/bellard/README.md
I don't believe I actually need a 32-bit system to test it out so I
might end up trying to fix (more than I already did). I've updated the
bugs.md as the 32-bit requirement seems like it might not be necessary
(if my fix to 2001/anonymous is any indication as with gcc I can use
-m32).
2023-04-21 12:01:51 -07:00
Cody Boone Ferguson efdee208a2 Fix 2001/anonymous - it now works!
This was a fun one to figure out. There were a few steps. Amongst them
was adding the include for mmap(). Another part that might or might not
be relevant was having main() call a new function rather than main()
itself. This seemingly solved an infinite recursion call to main()
(according to gcc).

I changed the third arg in the call to mmap() to be
PROT_READ|PROT_WRITE. This might not have been necessary as it might
evaluate to 3 which is what it was.

I regret that some macros were removed and some formatting was changed.
This was not intentional but I want to get the fix in and then I can fix
the formatting and macros (or try to - some of it might or might not
cause a problem).

Note that it will crash on any binary that's not 32-bit/x86. In other
words this won't work in macOS unless you have an old enough Mac that
supports 32-bit binaries. With gcc (which is clang in macOS so that
won't work either) one can do -m32 and that's what is done for
anonymous.ten. It probably should be built by default but it's currently
not.
2023-04-21 08:36:21 -07:00
Cody Boone Ferguson 56a0711630 2001/anonymous updates
Format fix in README.md.

Add cpp.c which is the C pre-processed version cleaned up and somewhat
commented as it heavily (ab)uses the ternary operator and recursion.
Probably futile but it gave me something to do even if it was a waste of
time (could have worked on other README.md files or a host of other
things). This did indeed take a long time and a lot of effort!

Updated bugs.md with more hints about this entry. I explained here how I
came up with the C pre-processed version as it involves something of a
hack because of the complicated build instructions.

Updated anonymous.ten.c: #include <stdio.h>

Added anonymous.ten rule to Makefile.

Also disabled optimising level as the author stated that this makes it
slower.

I observed that the author is anonymous and yet the author information
shows the country. I'm not sure if this is intended or not.
2023-04-21 05:46:10 -07:00
Cody Boone Ferguson de0ad77672 Fixes in 2001/cheong (URL, format, other things)
Format fix 2001/cheong/README.md.

Roll back one of the fixes. INABIAF :-) The only fix necessary is
letting it work with clang. The feature is in bugs.md (will likely crash
without an arg).

Update dead link in README.md, winners.html and winners.csv. He has his
own domain now (was at university). I was able to verify it's his
website even though he didn't mention the IOCCC because he also referred
to the university he went to which we knew.

No longer refer to the university in the README.md file either.
2023-04-21 03:11:19 -07:00
Cody Boone Ferguson 4d19b7a11c Fix 2000/rince/README.md + update bugs.md
There is a known crash in the program if DISPLAY is unset.

Typo fixed and format fixed.
2023-04-20 09:24:39 -07:00
Cody Boone Ferguson 132518a399 Typo check 2000/primenum/README.md
Added INABIAF section as well. This has been added to bugs.md as well
(some were already there but one was not - the known crash that's a
feature).
2023-04-20 08:50:52 -07:00
Cody Boone Ferguson 400d71925a Format fix 1998/dloweneil + typo fix bugs.md
The bugs.md file has been updated in this pull request because the
previous one is also about 'poot' and one of the authors of this entry
is the same. The typo has to do with the path to the C file.

I also added this entry (missing URL) to bugs.md - but referring to the
1998/dlowe entry as it's the same information.
2023-04-19 10:15:44 -07:00
Cody Boone Ferguson c434c69c39 Format and typo fix 1998/dlowe/README.md
Unfortunately the domain no longer exists as it once did (if it exists
it no longer has the script set up). Added this to bugs.md and noted
that there is a script (not checked for any security problems modernly)
if they have the bandwidth and wish to set it up.

Updated .gitignore as I added a try section.

Moved the dlowe.alt related text to new 'Alternate code' section.
2023-04-19 09:59:54 -07:00
Cody Boone Ferguson 738393c695 Fix segfault in 1996/august (but clang is broken)
The program segfaulted which prevented it from being used. This was due
to addressing far out of bounds of the m array. This was discovered with
a debugger. But a strange problem is that one cannot use -ggdb3 - -g
works however. This is because it hangs.

Now this entry will not work (at least a part or one of the invocations)
with clang and that means that it won't work with macOS. Is it because
of some debug symbols that are being generated or something else? I
really do not know but the judges noted back then that some compilers
compile it into an infinite loop (though the command they suggested did
not have the problem - a later one did). I updated the bugs.md with
details under the status of it does not work with some compilers.

I also added the try.sh script as a convenience as there are a lot of
commands to do.
2023-04-19 06:55:10 -07:00
Cody Boone Ferguson 65db8ce38d Update 1996/gandalf
The URL was dead or to be more correct it required a login and password.
The Internet Wayback Machine was of no help.

Format fixes.

Removed URL from winners.html and winners.csv; updated bugs.md asking
for a current URL.

At the same time I fixed some entries in winners.csv which had too many
fields including some with a ',,'. I'm certain more are there but I
didn't want to go through the entire file now. It might be easier (since
it's temporary) to just wait for the generation of the json files and
then update those files since the CSV file is temporary anyway. The
winners.html file should probably be updated even though I believe that
will also be generated by a tool.

I'm sure there are other dead links too that need to be found and I will
do that in time.
2023-04-19 05:03:50 -07:00
Cody Boone Ferguson 2cd9f57a46 Add a bit more to 1996/jonth in bugs.md 2023-04-18 05:51:35 -07:00
Cody Boone Ferguson c88811c1bf Update and fixes in 1996/jonth
I note that this entry does not work in macOS even with XQuartz. The
invocation recommended caused a crash but I came up with an invocation
that made it go further along - but still also crash. I wrote in bugs.md
details about it as well as giving a workaround in macOS (involves
another system with X11 forwarding - no not xhost). There is some C
pre-processed code in bugs.md in case this helps.

The URL of the author is dead and the Internet Wayback Machine was of no
help so it was removed from winners.csv and winners.html as well. It was
added as a missing link in bugs.md. It was not in the earlier entry from
1993 (they won twice) so I did not put it there.

Format fixes in README.md.
2023-04-18 05:08:22 -07:00
Cody Boone Ferguson 4cbf5a7bbe Typo fix in bugs.md for 2001/anonymous (in tips)
I had accidentally typed 'anonymous.cp' instead of 'anonymous.c' which
as a command would obviously not work.
2023-04-18 02:50:14 -07:00
Cody Boone Ferguson a4bcedf6c3 Update 2004/sds
Updated try section (updated .gitignore for this).

Updated Makefile to let encoder.c compile (that's the generated file)
via make.

Format fixes and typo fixes.

Add INABIAF to bugs.md and the README.md file about this entry (the
generated code).
2023-04-17 09:56:58 -07:00
Cody Boone Ferguson afff0496aa Update 2011/dlowe + including colectomy on README
Remove extraneous colons.

Format fixes in README.md.

Add links to README.md.

Fix file paths in README.md.

Add try.me.sh as there are a number of commands to run in the try
section.

Add to README.md note that the URL is dead and the Internet Wayback
Machine archived it but it did not archive the scripts. This was also
added to the bugs.md file.
2023-04-15 05:20:47 -07:00
Cody Boone Ferguson 9a516dbcbe 2001/bellard updates
README.md format fixes.

Update bugs.md with a note that the author used gcc 2.95.2 with a link
to the download of that version at the GNU gcc website. This was also
added to the top of the README.md file.
2023-04-15 03:51:41 -07:00
Cody Boone Ferguson 6fac09e989 Update bugs.md
New statuses (an example being dead link).

Reword some things.

Formatting changes and possibly fixes.

More shameless (or almost shameless, maybe :-) ) self promotion! :-)
2023-04-15 03:38:44 -07:00
Cody Boone Ferguson 704f7224c0 Update bugs.md
Added two entries - one is a missing file and the other's status is
INABIAF.

Unfortunately this comes with two different README.md files that are not
part of the commit but are relevant here but will be part of two
additional pull requests.
2023-04-14 05:44:41 -07:00
Cody Boone Ferguson b5dc413e57 Undo two segfault fixes in 1991/dds - INABIAF
I noticed that I unfortunately fixed two segfaults that should not have
been fixed: if the input file cannot be opened for reading or the output
file cannot be opened for writing this program will crash. Changed both
dds.c and dds.alt.c (which I added to work with clang). The original fix
that allows this entry to work at all (segfaulted always) remains in
both versions.

Updated README.md and bugs.md. In bugs.md I also added a note that the
compiled code uses gets() not fgets() - whatever it might be worth.
2023-04-13 05:01:38 -07:00
Cody Boone Ferguson a67913f221 1991/westley cheating not a bug but a feature
Yes it's very easy to cheat at the game but as my late grandmother told
me when I was a kid: 'it's not cheating if you're not caught' and since
the computer does not catch you any more than her siblings did at the
card table with her hidden drawer with more cards it's not cheating! :-)
But on a more serious note it was documented as a possibility so it's
not a bug it's a feature so I added it to the README.md and bugs.md.
2023-04-12 14:21:21 -07:00
Cody Boone Ferguson 07f3f924b6 Typo fix in bugs.md 2023-04-11 06:29:02 -07:00