38 Commits
Author SHA1 Message Date
Cody Boone Ferguson b13b36b46a Fix html files for 2012 2024-10-13 17:56:59 -07:00
Cody Boone Ferguson 3deb7ae603 Improve markdown guidelines wording
Amongst the changes here is that we do not need to have the hex or html
code (numbers) for open and close parentheses (in links) as there are
names. '(' is & followed by lpar; and the ')' is the same but 'rpar;'
instead. This makes it easier to remember and type and it generates the
same html as well (they are all valid). Now the markdown files are
consistent in this (in some cases hex was used and in others the html
code).

Although many markdown files were updated no html files needed to be
updated as it generates the same html. Even so I ran the appropriate
rules to do so just to verify this.
2024-07-31 10:44:10 -07:00
Cody Boone Ferguson 41abeda97a Slight change in 'greater challenge' line
In the line in README.md and index.html files that said:

    ### NOTICE to those who wish for a greater challenge

I added a ':' at the end of the line.

There were some entries that had a link fix in the index.html file but I
only looked up through 1995/leo as those still have to have a 'look and
feel' check and it would just slow things down.
2024-07-09 11:06:20 -07:00
Landon Curt Noll 2e2ae5f132 add notices to those who wish for a greater challenge
We add the following level-3 header to help people identify text
they may wish to skip if they wish for a greater challenge:

```
```

After that notice we add:

```
**If you want a greater challenge, don't read any further**:
just try to understand the program via the source.

If you get stuck, come back and read below for additional hints and information.
```

And sometimes follow with:

```
```

Or sometimes follow with:

```
```

Where the alt code impacts a "greater challenge", we add instead:

```
**If you want a greater challenge, don't read any further**:
just try to understand the program without looking at the Alternate code.

If you get stuck, come back and look at the Alternate code.
```

And where a given command impacts a "greater challenge", we add instead:

```
**If you want a greater challenge, don't read any further**:
just try to understand the program without running the command below.

If you get stuck, come back and run the following command:
```

Perform `make www` to perform the above and test under macOS.
2024-07-07 00:25:20 -07:00
Cody Boone Ferguson 1ac055fa85 Reword the recent deobfuscation changes
In most cases the word was changed to 'obfuscation' as it was about
obfuscation, not deobfuscation. In some cases like 1995/leo since the
file was (in 1995/leo) about a secret switch it was changed to
'secret.md' (and 'secret.html') but there were others like that as well.

One entry had the words 'spoiling the size rule' but this had been
changed to 'deobfuscating the size rule' which was obviously wrong.

In the latter YYYY/README.md files the judges had written after some
entries (brief summaries) '...

    ...We'll stop spouting spoilers now. Have fun exploring all the
    entries!

but that was changed to:

    ...We'll stop spouting deobfuscation information now. Have fun
    exploring all the entries!

which wasn't really about deobfuscation but just a brief summary of what
the entries did.

And in the most problematic case (at least for me :-), 2018/ferguson) I
had put a joke in:

    ... but it's the only Easter egg I won't spoil

but it was changed to 'won't deobfuscate' which not only is not what it
is but it spoilt the joke.

In some cases the word was changed back to 'SPOILER' (or similar) but in
most cases not. I believe it should be better now. There are some
caveats, however, as below.

Although make find_missing_links is okay I do not remember if this will
catch links that refer to '%%REPO_URL%%' or other pandoc tokens. This
means I might have to go back to some earlier years to verify links are
okay. That should not take that much time I hope.

It might also be that some wording can still be improved some but it is
hoped this will be discovered when checking links and looking over the
manifest (which obviously changed).
2024-07-04 09:03:45 -07:00
Landon Curt Noll 4d6009b58f convert spoiler language and towards deobfuscation language 2024-06-30 23:07:18 -07:00
Landon Curt Noll 4ee4c731f7 convert markdown copyright TAB chars into SPACE chars
While not strictly necessary, replacing the two ASCII tab characters
in the markdown copyright comment makes it easier to detect problematic
TAB indentation within markdown files.

After this commit, only 90 markdown files have leading ASCII TAB
characters.  And again, while not strictly necessary, we can consider
running expand on those 90 markdown files to see what effect that
might have on the HTML files they produce.

Replace leading ASCII TAB characters with multiples of 8 ASCII SPACE
characters (the default action of the `expand(1)` tool) might have
an negative effect on some HTML formatting where **hack-a-round**
formatting was attempted to fix broken indentation caused by
problematic ASCII TAB characters.

Think of this as a baseline for evaluating leading
TAB characters within markdown files.

TODO: Consider either using `expand(1)` to replace leading ASCII
TAB characters with multiples of 8 ASCII SPACE characters AND/OR
modifying the appropriate `bin` tool to convert leading ASCII TAB
characters into multiples of 8 ASCII SPACE characters.
2024-06-22 22:15:25 -07:00
Landon Curt Noll 286a8a9b94 fix markdown links to .txt files that use a %%TOKEN%% 2024-05-04 17:10:52 -07:00
Landon Curt Noll 217836e33f fix even more broken markdown links
Added `bin/find-missing-links.sh` tool to check for
markdown links to missing local files.

Regarding the missing link tool:

```
    Here be extended regular expression magic dragons! :-)
```

Added `make find_missing_links` to the top level Makefile.

Added `make find_missing_links` to `make www` and `make quick_www`.

Ran `make www` to perform the above.

TODO: Fix markdown links to missing local files.
2024-04-28 01:08:21 -07:00
Landon Curt Noll 8bca099534 fix more broken markdown links
Fixed stuff we broke by mistake, previously.

Ran `make www` to perform the above.

TODO: Fix stuff we broke by mistake doing the above.

TODO: Fix more broken markdown links.
2024-04-26 16:25:17 -07:00
Landon Curt Noll 4f95e3f3d6 fix more broken markdown links
We fix more markdown links in markdown files that refer to files
internally to the web site.

Added tmp tools to find and print various markdown links:

* `tmp/md-links.sh` - print all markdown links
* `tmp/md-token-links.sh` - print all markdown links that start with a **%%TOKEN%%**
* `tmp/md-local-links.sh` - print all markdown links to a local file
* `tmp/md-link-paths.sh` - print local file paths referenced in markdown links

Fixed a number of markdown formatting problems with `thanks-for-help.md`.
Fixed markdown links to files in `thanks-for-help.md`.  Improved
heading levels in `thanks-for-help.md`, and made entry sections consistent.

Changed all markdown links that end in "))" to end in a better way.

Explained in `markdown.md` why we are avoiding markdown links that
end in "))".

Ran `make www` to perform the above.

TODO: Fix stuff we broke by mistake doing the above.

TODO: Fix more broken markdown links.
2024-04-26 04:17:20 -07:00
Landon Curt Noll 2f4393ebc4 fix internal links in 2012/endoh1/dorssel.html
Fixed internal links.

Ran `bin/readme2index.sh -v 1 2012/endoh1` to perform the above.
2024-04-22 01:27:34 -07:00
Landon Curt Noll 1c813a86ac change HTML strike to del 2024-04-19 01:40:01 -07:00
Landon Curt Noll 3ddbac9e6b improve how markdown code language is commented
We added a space between the markdown triple code mark
and language that was enclosed in HTML comments.

So a line of the form:

````
```<!---c--->
````

became:

````
``` <!---c--->
````

This was done to **help** some code see that the HTML comment
string was not a markdown code specifier.   Not all code
understands this after this changed.  For example, `pandoc(1)`
still forms HTML classes of the form "&lt;!---c--&gt;"
when it encounters the above mentioned change.

We also fixed a problem with `2019/dogon/README.md` regarding
a markdown code block.

We also fixed a problem with `2020/yang/README.md` regarding
a markdown code block.
2024-04-12 11:45:50 -07:00
Landon Curt Noll b66c79254a add hack-a-round for language specified markdown code blocks
When language is specified in a markdown code block such as:

````
```c
    printf("Hello, world!\n");
```
````

is used, the resulting HTML as produced by `pandoc(1)` combined
with our revised `ioccc.css` is not intent the code block well.

A temporary "_hack-a-round_" is to turn the "markdown code language
specifier" into an HTML comment.  For example:

````
```<!---c-->
    printf("Hello, world!\n");
```
````

This commits turns off existing markdown code language specifiers
for now, while preserving our ability to restore them in the future
when a better  "_hack-a-round_" to the "markdown code language
specifier" problem is found.

The HTML impact if this "_hack-a-round_" is to produce HTML that
looks like this:

```
<pre class="&lt;!---c--&gt;"><code> .. </code></pre>
```

We might be able to create a complex set of classes for each markdown
code language (there won't be very many) in `ioccc.css`, or we might
find a more general CSS (or maybe `pandoc(1)`?) solution.

For now, this hack-a-round will have to do.
2024-04-04 14:50:38 -07:00
Landon Curt Noll a996f8d2b8 improved indentation and whitespace for markdown code blocks
All code blocks in markdown have been intended by at least 4 spaces.

We add `--tab-stop=8` to all `pandoc(1)` executions in order to set
a better tab stop indentation, especially for tab intended code blocks.

Changed `bin/pandoc-wrapper.sh` VERSION from "1.5.3 2024-03-26"
to "1.6 2024-03-31".

Fixed `1991/brnstnd/sorta.README.md` so that the sorta code
is code blocks.

Removed unneeded paragraph group in copyright in `inc/footer.default.html`.

Fixed excess whitespace after list Author on entry `index.html` page.

Changed `bin/output-index-author.sh` VERSION from "1.5.2 2024-03-26"
to "1.6 2024-03-31".

Performed `make www` to perform the above and test under macOS.

TODO: Fix the problem of the initial line of code being extra intended.
TODO: Fix excess whitespace around code that is inline.
2024-04-01 04:48:48 -07:00
Landon Curt Noll cbc022d864 improve Copyright and CC
The inc/footer.default.html now has a common Copyright and CC BY-SA
4.0 License section for all generated HTML files.

All markdown files have a similar Copyright and CC
at the bottom in the form of an HTML comment.
2024-03-20 00:19:52 -07:00
Cody Boone Ferguson ad703d3188 Improve and add 2012/endoh1 try scripts
The new try.sh and try.bw.sh scripts run the program on one file (passed
to the script) in colour and without colour respectively. One file
because one has to terminate the program.

The new try.alt.bw.sh is like try.alt.sh but uses the black and white
(original submitted entry) version.

The scripts for the alt code allow one to set the different variables
that can be redefined. The use is the same variable names as in the
Makefile. For instance:

   TIMER=5 SLEEP=5000 GRAVITY=I VISCOSITY=4 PRESSURE=1 ./try.alt.sh
   TIMER=5 SLEEP=5000 GRAVITY=I VISCOSITY=4 PRESSURE=1 ./try.bw.alt.sh

for the gravity 'I' and:

   TIMER=5 SLEEP=5000 GRAVITY=N VISCOSITY=4 PRESSURE=1 ./try.alt.sh
   TIMER=5 SLEEP=5000 GRAVITY=N VISCOSITY=4 PRESSURE=1 ./try.bw.alt.sh

where 'N' is some number. Obviously the other values can have different
values than given above. Some of these values are protected against in
code (to an extent - if the user wants to set them to strings that's on
them) but not all are and the scripts do not try and check for the user
either.

The endoh1.alt.c file was changed in that one can now define SLEEP (S in
the code) to 0 like the original, should they want to see the original
but with other values specified. That will make it flash much more
quickly which can be a problem of course but that's up to each user.
2024-01-25 09:30:33 -08:00
Cody Boone Ferguson ba0f1ea721 Fix heading level of 'Try' section
It was agreed to be '## Try:' but there were many files where it was
'### Try:'. This has been corrected.
2024-01-15 04:29:39 -08:00
Cody Boone Ferguson cca76ebe93 Improve how to redefine macros in 2012/endoh1 alt
Now one can use variables SLEEP, TIMER, GRAVITY, PRESSURE and VISCOSITY,
rather than single letter variables. This is like other commits where
instead of having to redefine CDEFINE one can do something like

    make clobber SLEEP=50 GRAVITY=I TIMER=15 alt

Notice that some can be set to I rather than a number. See the author's
remarks for details.

The try.alt.sh script was updated for this improvement.
2023-12-12 05:35:51 -08:00
Cody Boone Ferguson c9503446e4 Improve 2012/endoh1 alt code, add try.alt.sh
The alt code now has an option to use alarm(3) so that one need not hit
ctrl-c/intr for each run (default 10 seconds, can be disabled or changed
at compilation just like the other macros). This is used in try.alt.sh
which shows the program (colour version) on the source code and then the
text files provided by the author. The script does two 'versions' for
each file: one with setting gravity factor to I (see author's remarks)
and one without that. These changes make a nice demonstration of the
entry.

This commit also fixed a problem that the previous commit caused to do
with the alt targets in the Makefile.

This should complete the review of 2012/endoh1, leaving two more to go
for 2012.
2023-12-02 09:09:44 -08:00
Cody Boone Ferguson af3b4f5166 Swap alt and alt2 of 2012/endoh1
The alt2 is the deobfuscated version; the alt one is the one with the
ability to slow down/speed up the fluid and control the gravity factor,
the pressure factor and/or the viscosity factor.

The alt version no longer imposes a lower limit on the factors because
doing so prevents the ability to define them to 'I' which the author
noted is a functional difference.
2023-12-02 05:09:25 -08:00
Cody Boone Ferguson 8bb837f5f8 Add alt versions to 2012/endoh1 + formatting
The alt versions let one control how long to sleep between writes as in
modern systems it goes pretty fast. There are two, one for the colour
version that was added by Yusuke at the request of the judges and one
for the original. But the one for the original is called endoh1.alt2.c
as Yusuke provided endoh1.alt.c as a deobfuscated version.

The new alt versions let one only redefine certain macros should they
choose but they can define them all or not define them all because of
the #ifndef..#endif guards. These macros include the sleep time (S) as
well as the others that Yusuke suggested one might want to change.

The README.md file has been format/typo checked.
2023-12-01 11:57:05 -08:00
Cody Boone Ferguson 249e865de2 Mass edit README.md: remove top award/author lines
As requested on GitHub: a tool that will be written, readme2index, will,
as explained:

    '... will take the converted HTML from the README.md markdown and
    inject it into an HTML template. Things such title, award one and
    author information will be injected into the HTML page ahead of the
    HTML that was converted from the README.md markdown. Without going
    into details of HOW at this time, the result will be a coherent HTML
    index.html page with the winner title / award, winning author
    information, and important file links come from other sources and
    NOT from the README.md file.

    The text from the 1st award line, thru the authorship information,
    and up to but not including the "## To build:" line in the README.md
    file will just get in the way. Moreover authors might be tempted to
    try and maintain that top of README.md text instead of working with
    the author/_author_handle_.json and winner .winner.json files.

This was done with my[0] sgit(1) (https://github.com/xexyl/sgit) tool like:

    sgit -o -n -e '/^## To build:/,$p' '[12][0-9][0-9][0-9]/*/README.md'

[0] Is that shameless self-promotion? I don't know but I don't care: it
is generally a very useful tool and has been used in other repos too.
Besides, I've done it many times before and it's a great example that I
will be adding to the README.md file of the tool, one I hadn't thought
of doing.
2023-11-05 03:39:46 -08:00
Landon Curt Noll d2188d1491 fix a few more standard header lines in winner README.md files 2023-11-02 16:01:23 -07:00
Landon Curt Noll fbd20cfdc2 fix standard headers and header spacing in winner README.md files 2023-11-02 15:45:36 -07:00
Cody Boone Ferguson 684ed89d7e Changing heading level of 'Alternate code'
Change level 3 (###) to level 2 (##):

    sgit -e 's/^### \(Alternate code\)/## \1/g' '*README.md'

which is the same as:

    sgit -e 's/^### Alternate code/## Alternate code/g' '*README.md'

This is per discussion in GitHub.
2023-10-26 04:36:57 -07:00
Cody Boone Ferguson b77347cc35 Change 'To run' to 'To use' in all README.md files
As in:

    sgit -e 's/# To run/# To use/g' '*README.md'

This makes consistent the message for how to use the program. 'How to
use' was chosen because one can run a program just by doing './foo' but
that doesn't imply that's how to use it but the purpose of the section
is how to use it.
2023-10-26 04:05:50 -07:00
Landon Curt Noll 6625034139 replace trailing whitespace with blackslash in README.md
As an alternative to the markdown trailing whitespace as a line
break, we use a trailing blackslash as a markdown line break.
2023-10-18 15:49:51 -07:00
Landon Curt Noll f9750f114a fix improper use of whitespace in README.md files
The use of the markdown trailing whitespace to indicate
line break should NOT be done when the following line is empty.

This removes such improper use of whitespace in README.md files.
2023-10-18 15:33:10 -07:00
Cody Boone Ferguson 5d41e20499 Format fix + update try in 2012/endoh1/README.md
The coloured version (endoh1_color.c) was not suggested in the try
section and I think that's a shame so I remedied that.

Updated .gitignore with a file referenced by the judges (that probably
will never exist but nonetheless is referenced).

Format fix README.md.
2023-05-03 11:15:33 -07:00
Cody Boone Ferguson 382cc698ec Add mastodon handle to all Yusuke Endoh entries
This was easy with my sgit tool which I didn't think about until shortly
after the previous commit (20edd11936).
2023-04-28 05:25:24 -07:00
Cody Boone Ferguson 4bf3f302cb 'comments' -> 'remarks' in all README.md files
As in

    sgit -e 's/\([Aa]uthor.*\)comments/\1remarks/g' -e 's/\([Jj]udge.*\)comments/\1remarks/g' '*README.md'
2023-04-10 11:01:39 -07:00
Cody Boone Ferguson e09f677b37 Mass typo fix (all README.md and Makefiles)
As in

    sgit -e 's/the terms this license/the terms of this license/g' '*/Makefile' '*/README.md'
2023-04-02 09:27:13 -07:00
Cody Boone Ferguson e805f41d34 Mass fixes to headers in README.md files
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.
2023-03-31 06:43:59 -07:00
Landon Curt Noll 1b1dd2f2e4 put all README.md files under CC BY-SA 4.0 License
This will make is easier for others to share README.md
files while requiring them to attribute the file
when using it.
2023-03-26 02:58:27 -07:00
Landon Curt Noll bafd5886e1 fix Makefile and README.md for 2012/endoh1 2023-03-23 22:13:27 -07:00
Cody Boone Ferguson 851e191519 Rename hint.txt and hint.text to README.md 2023-02-08 05:08:28 -08:00