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.
I also removed the information on how to install SDL and referred
(linked) to the faq which has the information instead. It seems better
to just have a note about it being needed and then referring to the faq
rather than lengthening each README.md file by explaining how to do it.
Perhaps this is not the right way to go about it but that can be decided
later.
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.
Format fixes.
Several links fixed (plus add links).
Fix command to use/try as it resulted in invalid output. Thanks to
Yusuke Endoh for providing the correct output! Well it's understandable
he would given it uses Ruby. :-)
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).
Added link to Sudoku. I also learnt that at one point in some places it
was called Number Place so I might've been wrong there. However if
that's indeed true it's not called it now so the statement as it was is
no longer valid nonetheless.
The alt code is in the README.md. It felt like it should be alt code
based on what the author stated.
Fixed the perl test suite. The script hardcoded the name of the binary
but this was not 'aidan' as the author submitted it as 'sudoku-sf'. This
broke the script (though I did not test it before, only after).
Added to the list of files noted by the author those which were in the
tarball and changed the names of any incorrectly named files to be
correct.
The author stated that in the US sudoku is known not as sudoku but
rather Number Place. This however is not true so I removed it as it most
likely isn't confusing but still not right (I didn't believe the name,
hadn't seen it and did a search and found nothing of the sort).
Since the author is from the UK and since they used British English
spelling I changed 'period' to 'full stop' as it should be (the author
put a '.' in parentheses so it's not confusing to anyone who doesn't
know the term anyway).
Format fix README.md.
Typo fixes.
Update .gitignore due to alt code.
This to make the country code consistent with mkiocccentry (and I guess
international standard country codes).
This affects many README.md files and (for one line) winners.csv.
Sound crazy? That's because it is! The URL is no longer owned by Stephen
and instead it's a marijuana dispensary in Canada. That's right. The
IOCCC has been endorsing drugs for some years now! :-) (or maybe it's
:-( ? :-) ).
Used Internet Wayback Machine link instead.
Updated the CSV files, the winners.html files and all the relevant
README.md files.
The configure script which was in the directory overwrote (naturally)
the Makefile. I moved the configure to source/. I also moved
configure.in to source/ and makefile.in to source/.
Updated Makefile so that running make will work. Probably no need for
configure but since it's part of the entry I kept it.
There were many many README.md files with the wrong heading level for
different sections. These have been changed.
To help go through the changes it should be noted I used sgit and also
here is what is changed:
The 'Try', 'To build' and 'To run' lines have two '#'s. Some had one and
others had three.
An exception is that in 1984/anonymous/README.md for the alternative
code that had three '#'s. This is not consistent yet and it might be
that only two are desired. But for now that one at least has three.
Add instructions on how to install SDL or SDL2 for macOS, Linux and
Debian for:
2005/jetro
2014/maffiodo1
2018/giles
Put variables and instructions into the top level `var.mk` file.
Simply the Makefile header.
Refer to the //www.ioccc.org/bugs.md URL (that will eventually exist).
Now using CC BY-SA 4.0 License to how you may share and adapt the
Makefile.
Formatting and other notes. Many more need to be checked for this but I
wanted these changes out of the way of git status to try and clean my
working changes.
Though this will not work as is I have changed the code to scan for
https as well (it exited before). This is so if someone comes up with a
clever command line to make it work it can. A secure connection has to
be established before http commands can be given but now it at least can
connect (though it's been a while since I've played with sockets so
maybe I'm forgetting some detail - one does have to specify the port but
I gave an example in the README.md file for that).
In the README.md I pointed out that one has to specify http:// (or else
https though with the caveat noted above). I also explained how to
specify an alternative port.
I also noted the https issue in the bugs.md file in the INABIAF section
('it's not a bug it's a feature').
As well I changed the try command in the entry README.md file to refer
to a page that does not use https as trying it on the ioccc website
(what it used to) will just return a 301 error.
I've discovered that this entry has to have the optimiser disabled and
it also requires 32 bit. I believe the 32-bit is to do with the many
bitwise operations but the size of the ints are different. This is just
a hunch though from what I saw earlier when debugging it. The fact it's
32-bit only (at this time?) means it won't easily compile under macOS as
Apple has made it hard to compile 32-bit programs.
It might be possible to change the size of the ints to fix this problem
but it of course could also be entirely true that I'm wrong here. I've
not added this to the bugs file but perhaps it should be added.
Typo fixes in 2005/sykes/README.md.
In chia/chia.c I changed uber to über to be correct (ueber also would
have been okay). It's in a comment so I don't see it as a problem but
let's just say that if it is I'm above it! :-)