Commit Graph
248 Commits
Author SHA1 Message Date
Cody Boone Ferguson 7236fee39b Add alt code to 2011/richards + format/typo checks
The alt code is a starting point for macOS should anyone be brave enough
to try solving the problem of running mmap()d code. This does appear to
be an arm64 thing so anyone trying it will have to have a Mac with the
silicon chips. The bugs.md and thanks file both link to it.

Format/typo check README.md.
2023-11-25 11:29:13 -08:00
Cody Boone Ferguson 3ae2ec9cad Update bugs.md for 2006/toledo2 2023-11-24 13:07:21 -08:00
Cody Boone Ferguson 8f41d4fd26 Format/typo check 2006/sykes1 + update bugs.md
The bugs.md file has some documented features, not bugs.

The README.md file has been typo/format checked.

This should complete the review of 2006/sykes1.
2023-11-24 11:54:27 -08:00
Cody Boone Ferguson b6ed00e3b4 Add 2006/monge/alt code + format/typo checks
The alt code allows one to reconfigure the dimensions and the number of
iterations, based on the author's remarks (three #defines at the top of
the file).

Format/typo check README.md file.

Update bugs.md about the entry. It not only requires rwx memory but also
x86/x86_64 machines (this was already noted). This was said to be worth
fixing if possible (though in some systems it's impossible) so I kept it
that way. I was going to suggest alt version instead but since it seemed
like a good idea to have an alt version I decided to make it so that it
might be good if they update both versions.
2023-11-24 10:40:05 -08:00
Cody Boone Ferguson 8231e28567 Add 2006/birken/try.sh, bugs.md, format/typo check
The try.sh runs the program on all the tofu input files, prompting the
user to press a key before running each one so they have time to look at
the output of the previous one.

The README.md file format and typo checked.

This should complete 2006/birken except that it uses gets(), not
fgets(), which has been added to the bugs.md file. I almost got it to
work but it crashes with computer.tofu so I did not change it. Will look
at this later, maybe, but the bugs.md has a diff of the single change
that almost works. I did not have the time to write where it fails but I
do happen to know at least the end result.
2023-11-24 08:13:04 -08:00
Cody Boone Ferguson b1a57fd2af Update bug status / format/typo 2006/borsanyi
The bug status is it's not a bug but a feature.
2023-11-24 04:57:19 -08:00
Cody Boone Ferguson ed383df280 Update 2006/monge bugs status
There was an inconsistency between the README.md and the bugs.md file
that has been fixed.

As well the program requires one be able to read, write and execute
memory. This is not allowed in macOS with the silicon chip so I have
added the status of it not working with some platforms.

A few minor formatting fixes were made in the README.md file but I
didn't go through the file so it can't be considered done.
2023-11-22 10:18:04 -08:00
Cody Boone Ferguson cdc75eecec Format/typo check 2005/mynx
The bugs.md file was updated slightly and so was the thanks file, namely
suggesting that it might be possible for further code to be added to the
alt code to make it set up https (they already stated that there might
be a command line that could get it to work).
2023-11-22 08:31:52 -08:00
Cody Boone Ferguson 6ad8c4cb54 Add 2005/mikeash/try.sh, update bugs, typo/format 2023-11-22 08:19:48 -08:00
Cody Boone Ferguson 81dda4e3a1 Complete 2005/sykes review
The bugs.md file has been updated with INABIAF section. The README.md
refers to this file.

The README.md has had a slight improvement in that references to lines
in the author's remarks have been turned into links.
2023-11-21 14:25:00 -08:00
Cody Boone Ferguson 7cbb11e1db Update bugs of 2004/gavin + format/typo checks
There are also documented features that are now in bugs.md as features,
not bugs, but just linking back to the section provided by the author.

The README.md file has been format and typo checked.

The gavin.md file has been format and typo checked.
2023-11-19 10:09:41 -08:00
Cody Boone Ferguson 05b41b922e Alt code/try scripts added to 2004/jdalbec
The alt code allows one to set how many numbers to print on a line
before adding a line break. This is done because the more numbers that
there are the harder it is to see where it 'belongs'. Defaults to 11
(protons, salt) but the macro name is Ag, silver (because silver is my
favourite precious metal, it wasn't used already and it allowed for some
irony in the alt build section).

The try.alt.sh script uses the alt code.

The try.sh script uses the fixed code (fixes I made quite a while back).

The bugs.md has had INAFIAB section added to this entry.

The README.md file has been format/typo checked.

This should complete the review of 2004/jdalbec.
2023-11-19 09:53:30 -08:00
Cody Boone Ferguson fa80f73859 Fix infinite loop in 1992/vern
If one entered input < 0 || > 077 (octal) the program would enter an
infinite loop that flooded the screen, forcing the user to terminate the
program.

The problem was that scanf(3) (with "%o %o" specifier string) was in a
loop checking for return value of 2 (this was not a problem because
scanf(3) does not return until all the specifiers are processed or I
suppose some error occurs) and not checking the values. Instead it just
checked a function on the numbers. This fix involves using scanf(3) with
the specifier "%4s %4s" and then using strtol(3) with base 8 and then
checking for < 0 || > 077 (using "%o %o" will not work).

The game now functions as expected without flooding the terminal if
invalid input is given. The judges' remarks about the range has been
kept in as it's still invalid it just won't flood the screen.
2023-11-19 04:36:49 -08:00
Cody Boone Ferguson db6bb7cee7 Updates to 2001/herrmann1
Update plus1.turing file I added a while back (based on author's
remarks).

One of the missing files was not actually missing; it was a misreading
of the author's remarks. It was suggesting that if one wanted to make
their own file by that name, not that the file was there. There still is
a missing file, however.

Format/typo check README.md.
2023-11-17 12:46:14 -08:00
Cody Boone Ferguson be1bc188a7 Add bug status of 2001/rosten + formatting/typos
There is a missing file.

Format/typo check README.md file.
2023-11-17 12:14:15 -08:00
Cody Boone Ferguson b917158c37 Fixes to 2001/westley
The Makefile now always regenerates the .sort.c and the .punch.c
versions if westley.c has been modified.

The try.sh script had a typo (not in a command that ends up being run
but rather showing what would be run).

Add bugs and (mis)features section with two statuses.

Format/typo check README.md file.

It is not clear to me just yet if this completes the review of the entry
but it might.
2023-11-16 12:21:23 -08:00
Cody Boone Ferguson d0b2db5220 Fix 2001/ollinger bug status in bugs.md
There was some inconsistency as far as whether or not the problem was a
bug or feature, where not enough args would result in a crash. At one
point it seems it was changed to a bug, not a feature, and it is then
that I must have fixed it. However the bugs.md file incorrectly labelled
another entry as ollinger and the README.md for ollinger referred to
something that did not exist or rather it existed but it was for another
entry.

A minor fix in bugs.md has been done as well: change the status name of
using fgets() to not refer to getline(3); rather the description does
that. This is because no other place has that function in the status
line. Doing this is how I found the problem this commit fixes as another
entry should have that status.
2023-11-16 11:53:54 -08:00
Cody Boone Ferguson c0a2eedb56 Update bug status of 2000/dlowe
This entry crashes in macOS. This MIGHT be related to the version of
perl, both with MacPorts and Homebrew. See the bugs.md for many more
details.

The author gave an example command and output (well several) and one I
tried (I did not try all) did not report correct output (some did).
Again the bugs.md file has many more details.

Format/typo fix README.md.

With the exception of possibly fixing the bugs noted in bugs.md this
should complete the review of 2000/dlowe.
2023-11-15 04:12:56 -08:00
Cody Boone Ferguson 62f00d39ea Minor update to 1993/lmfjyh in bugs.md wrt alt
The alt code in the bug section more clearly states that it will work
for modern systems. Probably already implied but it's now clearer.
2023-11-12 02:38:06 -08:00
Cody Boone Ferguson 5d45449a72 Update bug description of 1993/cmills
It has been confirmed that this issue, a blank screen, occurs in
multiple systems, not just macOS. A RHEL 9.3 system also has the
problem.
2023-11-12 02:36:53 -08:00
Cody Boone Ferguson 760e5ddd32 Updates to 1996/huffman - format + bugs + try.sh
The try.sh script runs the commands in the try section. It does not run
the spoiler command in the judges' remarks as that didn't feel like a
good idea.

The README.md has been typo and format checked.

Added to bugs.md to try and change to use fgets(3). In the meantime it
uses 2>/dev/null.
2023-11-11 09:20:28 -08:00
Cody Boone Ferguson d801a7d473 Fix infinite loop hang in 1996/august
In macOS, for example, one of the commands suggested by the author and
by the judges (which was put into try.sh by me a while back) would cause
it to hang. The author's remarks made me try something: a file has to
first have lines starting with '#' (^#) stripped. Thus in the author's
remarks and the try.sh script this command was added:

    sed -i'' '/^#/d' august.oc

and now it runs to completion.

The README.md file has been format and typo fixed and this should
complete 1996/august.
2023-11-11 06:47:33 -08:00
Cody Boone Ferguson 1181899ed9 Fix bug of 1994/dodsond2 wrt arrows stolen
The problem was that one could never get their arrows back from the
robber if they ended up shooting an arrow because that means the number
of arrows stolen could never be the right number of arrows. Now if the
number of arrows stolen (when you encounter the robber) is equal to the
number of arrows you found - the number of arrows you shot you get
arrows back: as long as the robber took some of course. At this point
the counters are reset so that the check does not fail the next time.
Previously it compared to just 3 as there are only three arrows. But in
the alt version (which was helpful to test this out more) this is
obviously a problem even if it wasn't in the original. It was however a
problem in the original because if you shot an arrow you could not get
them back even if you have zero and encounter the robber. Of course now
the check has to verify first (&&...) that the number of arrows stolen >
0 as otherwise the variables could get messed up.

This should actually complete 1994/dodsond2 unless of course I missed
something/made a mistake here.
2023-11-11 06:26:47 -08:00
Cody Boone Ferguson d2de7f49f2 Fixes in 1994/tvr
Format/typo fix README.md.

The entry now uses fgets(3); the alt code that the author included does
not (yet?).

Added entry to bugs.md for the fgets(3) for the alt code and a bug that
is noted by the judges, asking if [you] can fix it.
2023-11-10 10:48:30 -08:00
Cody Boone Ferguson eecc3146c4 Fixes in 1994/dodsond2 + add alt code
Fixed bug where in some cases the program would enter an infinite loop,
forcing one to kill the program.

Fixed bug where only if you had more than one arrow would shooting it
take you to the room you shoot into (it now will do it even if you're
using the last arrow). This fix is done the same way as the above fix
was made as they both have to do with shooting the final arrow.

The alt code allows one to cheat by configuring (at compile time) the
number of arrows to start out with. If one loses (as in stolen) all
their arrows it will be (of course) 0 but if one also gets to the robber
they'll get back the 3 + starting number of arrows (in the original this
is just 3) assuming they have had that many stolen. That is a
(mis)feature or maybe a bug that is carried over from the original entry
that might or might not want to be fixed. I described how it might be
done in the bugs.md but as I don't have time to do it now, focusing
instead on the README.md files of the remaining entries.  The alt
version might allow one to more easily test this.

Besides the above (mis)feature or bug added to the bugs.md some features
that should not be fixed were added to bugs.md. It is questionable
whether or not the above should be fixed but it seems like since there
is dead code, if one ends up shooting an arrow then they cannot get
back the arrows that were stolen even they have have lost all that they
did not shoot, that it should be fixed. But it might be argued that
you're not supposed to get any back if you shoot them since in that case
these were already spent/used. At the same time one could argue that you
should at least get back the ones that were stolen.
2023-11-10 08:19:09 -08:00
Cody Boone Ferguson 09b86ec674 Format/typo check 1993/ant
Format/typo check README.md.

Format/typo check ant.txt. I kept the terms the same like 'period' for
'.' as I believe that's the way it is in POSIX (even though I'd prefer
dot or full stop). I added in parentheses some symbols where they were
missing and there was a typo here and there. I was considering adding 's
round some characters to make things stand out a bit better but I did
not do that. If that's useful it can be done another time.

The bugs.md has been updated as well, both with INABIAF and missing file
statuses.

I believe that this completes 1993/ant the 's idea noted above
notwithstanding.
2023-11-09 11:47:24 -08:00
Cody Boone Ferguson dd4336d872 Updates to 1993/cmills - alt code + bugs + format
The README.md file has been format/typo checked.

The alt version uses usleep(3) with a configurable time (at compile
time). This version is suggested first as it apparently goes too fast in
modern systems. I say apparently as it doesn't appear to work with
macOS. I don't know if it works in other platforms but it is in bugs.md,
that there is a problem.
2023-11-09 11:23:50 -08:00
Cody Boone Ferguson 0cc4ba7313 Add another alt version to 1993/rince + formatting
The formatting of the README.md file has been completed. Typos were also
fixed.

The formatting of the design.md has been completed. Typos were also
fixed.

The second alt version makes movement for the default game (which is in
the source code itself) more familiar to vi users. It is an exercise for
others to change the somewhat awkward keys for other games. Looking at
design.md might be of help there.

The bugs.md has been updated with a set of features, not bugs, that
should no be fixed.
2023-11-09 09:44:48 -08:00
Cody Boone Ferguson 7f90bed520 Format/typo check 1993/schnitzi + update bugs.md 2023-11-09 08:59:41 -08:00
Cody Boone Ferguson 1364ac3e87 Format/typo check + update bugs.md for 1992/vern
The bugs.md has both a feature and a bug or maybe mis-feature that might
be good to fix. I gave a tip in the bugs.md that might help with parsing
the code a bit.

The README.md file has been typo and format checked/fixed.

This should complete 1992.
2023-11-09 08:18:09 -08:00
Cody Boone Ferguson 0e452a3813 Format/typo check 1992/albert + update bugs.md
There is a known bug in the code that is triggered by some inputs. I
have included some debugging information for those who wish to try and
solve it.

The README.md has been typo/format checked.

This should complete 1992/albert except for hopefully the bug being
resolved in the future.
2023-11-08 08:55:29 -08:00
Cody Boone Ferguson f700aea9e1 Various bug/format fixes in 1992/adrian
The default file to open in the code did not exist: it was submitted as
adgrep.c but the judges changed the entry to be adrian.c. The adgrep is
a link to adrian but adgrep.c does not exist. Instead of changing it to
be adrian.c, however, I changed it to __FILE__.

If the file cannot be opened it no longer will segfault. This is the
only crash that was fixed; two are explicitly noted by the author as
features though it could possibly be implied that the same goes for the
entry itself.

The bugs.md has had some bugs that seem to be genuine bugs that might
want to be fixed and it also has had features added, things that should
not be fixed (including adsleep and adbasename crashing if no arg
specified).

The README.md file was typo/format checked/fixed.

The Makefile had several fixes, most importantly that now running 'make'
will link adgrep as it's now a target.

The thanks file has been updated as well as various things have, as
noted above, changed.
2023-11-08 07:51:33 -08:00
Cody Boone Ferguson 8b893ddfde Add 1992/westley/try.sh + format fixes
The try.sh script runs the program for the world cities and the alt
version for the US cities, one at a time, that the author suggested, as
well as the approximate location that the entry was judged, noted from
the judges.

The README.md has been format fixed.

There is a possible bug in the alt version which is in the bugs.md file.
There is also a feature in the bugs.md which does introduce a strange
look in the README.md file:

    STATUS: INABIAF - please **DO NOT** fix
    STATUS: known bug - please help us fix

but they are for different things.
2023-11-07 08:12:10 -08:00
Cody Boone Ferguson d52d57fee9 Minor updates to thanks/bugs for 1992/westley
Another benefit of the removal of the 80 column wrapping restriction is
that if one resizes the terminal after running it the map still will
look the same - unless of course the terminal becomes too narrow.
2023-11-07 06:25:42 -08:00
Cody Boone Ferguson 6ac32f659e Remove 80 column limitation in 1992/westley
Because most people have much wider terminals nowadays and since not all
can be resized I have changed the code a bit so that every 80 iterations
(in the final loop) a newline is printed. This way as long as the
terminal is at least 80 columns the program will show the map correctly.
The alt version has been updated for this as well.

The Makefile now does not require one to run 'make whereami' to get the
link: one simply needs to run 'make' or 'make all' or 'make everything'.
For the alt program (the author provided one that I put into alt code
that is strictly for the US) running make alt or make everything will do
the same only it's whereami.alt.

The bugs.md has been updated noting that the terminal must be AT LEAST
80 columns. The README.md file has not been updated which means
referring to the bugs.md has not been done yet either. The Makefile note
about it requiring a terminal that wraps at 80 columns has been changed
to note that it needs a terminal that is at least 80 columns. The note
has been moved to after making the link (actually not a symlink but
perhaps it should be).
2023-11-07 06:13:46 -08:00
Cody Boone Ferguson 40c0a6a74a Fix 1991/buzzard and add alt code
There were two crashes that I noticed, both due to atoi(3) being called
on an arg without a type which ended up being an implicit int rather
than a 'char *'. This is for the x and y coordinates. I don't have an
example command line to test different configurations but now the
program shouldn't crash unless the file cannot be opened. See bugs.md
for details there (whether it should crash or not on not being able to
open the file is debatable I suppose but I left it in as a feature, not
a bug; the others made the program unusable which is why they were
fixed).

The alt version can be more at home for those familiar with vi(m) (it
certainly is for me): instead of 'f' for forwards, 'l' for left and 'r'
for right it is now 'k', 'h' and 'l' respectively. The program does not
allow one to go backwards so this was not touched but if it did it would
have been 'j': because we vi(m) users are strange :-)

The README.md has been format and typo fixed.
2023-11-06 04:39:16 -08:00
Cody Boone Ferguson d5d66d6541 Update bug status of 1996/jonth + format README.md
There are two issues to be aware of, both features, that have been added
to the bugs.md. The status has been added to the README.md as well.
These issues are that if X is not running the program is likely to crash
and also the two windows are likely to be on top of each other so
you'll have to move one off the other.

Since it's been requested and since I am editing the README.md file
anyway the award and author information has been removed from the file
so that the first line is '## How to build:'. Other README.md files are
also currently modified and this will happen that way before a mass
edit.
2023-11-05 02:41:21 -08:00
Cody Boone Ferguson b52c1fde23 Fix 1990/jaw/btoa script
This now lets the command in the judges' remarks:

    echo "Quartz glyph jocks vend, fix, BMW." | compress | ./btoa | ./jaw

not report just:

    oops
    oops

and instead it outputs data which suggests, I believe, that the program
is not buggy but instead the script had to have the 'xbtoa' changed to
'btoa'.

Updated bugs.md and thanks-for-fixes.md and README.md file too.

Other changes were made to thanks file as they are more appropriate than
in the README.md (of 1990/theorem) after the (once again sounding like
a broken record) vastly superior idea of the thanks file came up. This
addition here is unintentional; it was just already there but not ready
for committing as 1990/theorem/README.md was not yet ready. That file
will be committed today.
2023-11-04 04:23:20 -07:00
Cody Boone Ferguson 67fbffad9a Typo fixes in bugs.md
The new text saying that there are no known bugs or (mis)features in a
year is great but rather than say:

    There was no known bugs and (Mis)features for [0-9]{4}.

(which has a typo: was -> were)

it now says:

    There are no known bugs and (Mis)features for entries in [0-9]{4}.

as this is clearer and it's possible that bugs or (mis)features might be
discovered yet.
2023-11-03 03:23:16 -07:00
Cody Boone Ferguson 24fae024c3 Minor updates to 1984/mullender
Minor corrections in the README.md and bugs.md.

The README.md was not checked for other issues at this time. When that
happens 1984 should be complete in every way except that 1984/README.md
has to be checked again but that will happen after the other entries of
all the other years are done.
2023-11-02 10:13:40 -07:00
Cody Boone Ferguson 459fff8859 Improve fixes to 1998/schnitzi
The author stated that there was no 'if's and I have made it that way
now.

The author stated that the number should be > 0 && < 27 so I added the
range check (was previously != 0). Too high value could segfault and < 0
was problematic too. 27 itself was code that could not compile. Since
the program is so beautiful it had been decided to fix the problems
which is why these changes were added too.

The above was done like:

    ((V[1]&&((atoi(V[1])>0&&atoi(V[1])<27)||(exit(1),1))));

The try.sh script has been added to the entry to try out a lot of
commands instead of copy pasting it from the judges' remarks.

Removed duplicate INABIAF information from README.md (which is why the
other updates).

Updated bugs.md with more information to the features like how output
can end up being gigabytes in length depending on the number specified
to the program. Removed from the bugs.md details about warnings to
ignore as the compiler -Wno- options take care of that now. Extra
parentheses were added to the above to prevent another warning (I was
not sure if all compilers and versions had the -Wno- so I decided to fix
it in the code itself).

The try section has a question to ponder as well. The detail is also in
the bugs.md file.
2023-11-02 09:53:57 -07:00
Cody Boone Ferguson dc34871805 Add alt versions to 1994/schnitzi
The first version uses fgets(3). This version will compile (note that it
does not compile right away: one has to make other adjustments; it is
not a matter of just changing the code to use fgets()!) but when fed its
own source code it will not generate code that can be compiled let alone
use fgets(3).

The second version, schnitzi.alt2.c, has an increased buffer size but it
will not generate code with the same buffer size; rather the size will
be the original. I explain this in detail (did this quite some time
back) in the bugs.md file. I noticed today that the author gives quite
some details too which will be something I can look at later on. Right
now it's more important to get the website in order so that the next
contest can run! I will only look at this later on or else at a time
where I am unable to do the more important work but am able to do this
(though I don't know about that happening it is still something that
theoretically could happen).

The alt code already existed but it was changed to the second version as
the goal is to get it to use fgets(3) regardless of the buffer size.

Note that the other functionality of both alt versions is not affected.

More updates to bugs.md for this and the thanks file has had the entry
added to it (which should have been done earlier on but was neglected
due to the way it came about, the alt code).
2023-11-02 04:49:42 -07:00
Cody Boone Ferguson 6993bc99e6 Change back bug status of 2005/anon
The things that were changed to bug status the other day are features
and in fact they provide for some fun interaction too.
2023-11-01 12:50:35 -07:00
Cody Boone Ferguson 6b38f799f1 Minor update 2001/bellard in bugs.md
Fix a few things. Now it's in good state. There were some fixes made
already but it still only works for i386 linux (except the supplementary
program can compile and work in modern systems for fun after I fixed it)
and if anyone wants to provide a version for x86_64 linux, for example,
they can do so.
2023-11-01 12:47:55 -07:00
Cody Boone Ferguson 4fd9a1dbce Add 1992/gson to bugs - use fgets() if possible
A tip is already in thanks-for-fixes.md so I just referred to that file
instead to not duplicate information (the information in that file is
relevant to the change made already).
2023-11-01 08:47:29 -07:00
Cody Boone Ferguson 5ffcd2b731 Add alt code to 2006/toledo2
The alt code is based on the author's remarks that should allow users
with non-standard systems like DOS/Windows which have conio.h to use
this program, replacing read(2) and write(2) syscalls. It need hardly be
mentioned that I have no way of testing this so it's possible I did
something wrong but it seems not the case (whether anything has changed
since 2006 that might also break it is unknown).

The bug status has been updated both that one bug is not actually a bug
but appeared to be a typo and there also appears to be a missing file
(IMPORT.COM).
2023-11-01 07:30:55 -07:00
Cody Boone Ferguson d7118a1394 Update bugs.md for 1990/jaw fixes
There still remains another bug or at least it is thought it is a bug
and this has been added whereas the other one about scripts removed.
This was noted in commit 8741610110 but I
accidentally left it off in the commit.
2023-11-01 06:38:41 -07:00
Cody Boone Ferguson 59c14eadc7 Improve bug status in 2000/primenum
Add that one may certainly try fixing it if they want for entertainment
value / to challenge yourself (if you think a two second fix is
enjoyable or a challenge :-) ) but it should NOT be committed.
2023-11-01 03:24:27 -07:00
Landon Curt Noll 0abeb11530 improve bugs remarks for 2000/primenum 2023-10-31 18:32:42 -07:00
Cody Boone Ferguson 9389415d98 Remove bug status of -traditional-cpp from bugs.md
Since I fixed all the entries that required this it was only cluttering
up the already very long file which doesn't seem like a good idea.
2023-10-31 12:41:46 -07:00