More html files of 2004 fixed

Some bug statuses have been changed so the bugs file was also updated
(some removed, some added).

The manifest of 2004/hibachi was fixed some.

The alt_url of 2004/gavare was fixed which required a rebuild of
authors.html.

For 2004/gavin a proper link to QEMU was added. It strikes me as it
possibly being a good idea to have an FAQ about QEMU (as it is not just
2004/gavin that might benefit from it) but I don't know and in any case
I have zero experience with it.

The entries 2004/gavare, 2004/gavin and 2004/hibachi have been checked
for format / display issues. This would suggest that the next entry to
look at is 2004/hoyle.
This commit is contained in:
Cody Boone Ferguson committed 2024-08-14 09:25:39 -07:00
1 parent 13e6d26a6e
commit 453ed3d75b
13 files changed
+233 -192

No files matched your search

+12 -5
View File
@@ -4,7 +4,7 @@
make
```
There are three alternate versions; see [alternate code](#alternate-code) below
There are three alternate versions; see [Alternate code](#alternate-code) below
for more details.
@@ -23,6 +23,10 @@ if you have ImageMagick installed, you can convert it to a jpeg:
and then view `ioccc_ray.jpg` in a graphics viewer, editor or web browser.
**NOTE**: if you do not have ImageMagick installed, see the
FAQ on "[ImageMagick](../../faq.html#imagemagick)"
for help.
## Try:
@@ -43,10 +47,12 @@ image as well as the anti-alias setting, when compiling.
The author also provided [on their web page for the
entry](https://gavare.se/ioccc/ioccc_gavare.c.html) an unobfuscated version that
was used during development, which we have included in the file
[gavare.r3.c](%%REPO_URL%%/2004/gavare/gavare.r3.c).
[gavare.r3.c](%%REPO_URL%%/2004/gavare/gavare.r3.c) (named such because that is
what they called it).
Finally, the file [gavare.alt2.c](%%REPO_URL%%/2004/gavare/gavare.alt2.c) sets binary mode
on `stdout` which theoretically should work in Windows.
on `stdout` which theoretically should work in Windows (if anything works in
Windows :-) ).
### Alternate build:
@@ -73,7 +79,7 @@ You may of course combine the above two commands and give any combination you
wish.
This is not possible with the author's version but it is with the alt versions
(Windows - see below - and otherwise).
(Windows - see below).
As the Windows version will not compile on most viewers' systems we do not build
it with `make alt`; instead try:
@@ -93,7 +99,8 @@ Use `gavare.alt`, `gavare.r3` or `gavare.alt2` as you would `gavare` above.
For users of systems that distinguish between text and binary mode
(you know who you are), add a library call that specifies binary mode
for `stdout` as the first statement of `main()`,
or use `freopen("ioccc_ray.ppm", "wb", stdout);` and do not use redirection.
or use `freopen("ioccc_ray.ppm", "wb", stdout);` and do not use redirection (or
see [Alternate code](#alternate-code) above).
A freely distributable command-line version of Microsoft Visual C
exhibits an optimizer bug when compiling this entry. Disable `/Og` for
+11 -5
View File
@@ -409,7 +409,7 @@ Location: <a href="../../location.html#SE">SE</a> - <em>Kingdom of Sweden</em> (
<!-- BEFORE: 1st line of markdown file: 2004/gavare/README.md -->
<h2 id="to-build">To build:</h2>
<pre><code> make</code></pre>
<p>There are three alternate versions; see <a href="#alternate-code">alternate code</a> below
<p>There are three alternate versions; see <a href="#alternate-code">Alternate code</a> below
for more details.</p>
<h2 id="to-use">To use:</h2>
<pre><code> ./gavare &gt; ioccc_ray.ppm</code></pre>
@@ -417,6 +417,9 @@ for more details.</p>
if you have ImageMagick installed, you can convert it to a jpeg:</p>
<pre><code> convert ioccc_ray.ppm ioccc_ray.jpg</code></pre>
<p>and then view <code>ioccc_ray.jpg</code> in a graphics viewer, editor or web browser.</p>
<p><strong>NOTE</strong>: if you do not have ImageMagick installed, see the
FAQ on “<a href="../../faq.html#imagemagick">ImageMagick</a>”
for help.</p>
<h2 id="try">Try:</h2>
<p>If you have <code>xv(1)</code> you can do:</p>
<pre><code> ./gavare | xv -</code></pre>
@@ -427,9 +430,11 @@ image as well as the anti-alias setting, when compiling.</p>
<p>The author also provided <a href="https://gavare.se/ioccc/ioccc_gavare.c.html">on their web page for the
entry</a> an unobfuscated version that
was used during development, which we have included in the file
<a href="https://github.com/ioccc-src/temp-test-ioccc/blob/master/2004/gavare/gavare.r3.c">gavare.r3.c</a>.</p>
<a href="https://github.com/ioccc-src/temp-test-ioccc/blob/master/2004/gavare/gavare.r3.c">gavare.r3.c</a> (named such because that is
what they called it).</p>
<p>Finally, the file <a href="https://github.com/ioccc-src/temp-test-ioccc/blob/master/2004/gavare/gavare.alt2.c">gavare.alt2.c</a> sets binary mode
on <code>stdout</code> which theoretically should work in Windows.</p>
on <code>stdout</code> which theoretically should work in Windows (if anything works in
Windows :-) ).</p>
<h3 id="alternate-build">Alternate build:</h3>
<p>To build the configurable and unobfuscated versions:</p>
<pre><code> make alt</code></pre>
@@ -440,7 +445,7 @@ on <code>stdout</code> which theoretically should work in Windows.</p>
<p>You may of course combine the above two commands and give any combination you
wish.</p>
<p>This is not possible with the author’s version but it is with the alt versions
(Windows - see below - and otherwise).</p>
(Windows - see below).</p>
<p>As the Windows version will not compile on most viewers’ systems we do not build
it with <code>make alt</code>; instead try:</p>
<pre><code> make alt2</code></pre>
@@ -450,7 +455,8 @@ it with <code>make alt</code>; instead try:</p>
<p>For users of systems that distinguish between text and binary mode
(you know who you are), add a library call that specifies binary mode
for <code>stdout</code> as the first statement of <code>main()</code>,
or use <code>freopen("ioccc_ray.ppm", "wb", stdout);</code> and do not use redirection.</p>
or use <code>freopen("ioccc_ray.ppm", "wb", stdout);</code> and do not use redirection (or
see <a href="#alternate-code">Alternate code</a> above).</p>
<p>A freely distributable command-line version of Microsoft Visual C
exhibits an optimizer bug when compiling this entry. Disable <code>/Og</code> for
best results.</p>
+17 -18
View File
@@ -5,17 +5,18 @@
```
There is an alternate version for those who wish to use QEMU rather than having
to reboot and rely on having a floppy drive (if you even remember what those are
:-) ) etc. See [alternate code](#alternate-code) below.
There is an alternate version for those who wish to use
[QEMU](https://www.qemu.org) rather than having
to reboot and rely on having a [floppy
drive](https://en.wikipedia.org/wiki/Floppy_disk) ([if you even
remember](https://en.wikipedia.org/wiki/History_of_the_floppy_disk) what those are
:-) ) etc. See [Alternate code](#alternate-code) below.
### Bugs and (Mis)features:
The current status of this entry is:
> **STATUS: compiled executable crashes - please help us fix**<br>
> **STATUS: doesn't work with some platforms - please help us fix it**<br>
> **STATUS: INABIAF - please DO NOT fix**
For more detailed information see [2004/gavin in bugs.html](../../bugs.html#2004_gavin).
@@ -30,8 +31,8 @@ For more detailed information see [2004/gavin in bugs.html](../../bugs.html#2004
## Try:
To enjoy the results (on a Linux/x86 machine) with a floppy drive (remember
those? We do!):
To enjoy the results (on a Linux/x86 machine) with a floppy drive
([remember](https://en.wikipedia.org/wiki/Old_age) those? We do!):
``` <!---sh-->
@@ -45,9 +46,9 @@ whatever the floppy device is!), mount it under `/mnt/floppy` and then:
cp kernel fs.tar lilo.conf boot.b /mnt/floppy
```
NOTE: If the version of your lilo is not 21.4, use the appropriate boot.b file.
**NOTE**: If the version of your lilo is not 21.4, use the appropriate `boot.b` file.
NOTE: If your floppy drive is not `/dev/fd0`, edit lilo.conf appropriately.
**NOTE**: If your floppy drive is not `/dev/fd0`, edit `lilo.conf` appropriately.
``` <!---sh-->
lilo -C /mnt/floppy/lilo.conf
@@ -92,7 +93,7 @@ you can use it with `QEMU`.
### Alternate use:
The use is mostly the same as `gavin` except that one initially executes `gavin.alt`
(which `make alt` will do) and one will have to use `QEMU` instead. The files
and one will have to use `QEMU` instead. The files
generated are the same names. See [to use](#to-use) and [try](#try) above as
well as the judges' remarks below plus [gavin.html](gavin.html).
@@ -113,9 +114,9 @@ If you do not want to mess with a floppy and you use GRUB, see
You can put additional text files in `fs.tar` for browsing with vi.
If you do not want to bother rebooting your computer at all, see
<http://bellard.org> for QEMU ([Fabrice Bellard](../../authors.html#Fabrice_Bellard)
is an IOCCC 2001 winning entry), but your experience will be limited; use the
[alternate code](#alternate-code) instead. You'll have to move the mouse to
<https://www.qemu.org> for QEMU (by [Fabrice
Bellard](../../authors.html#Fabrice_Bellard), an IOCCC winning author) and use
the [Alternate code](#alternate-code) instead. You'll have to move the mouse to
trigger the initial screen update.
The judges were able to write a few more programs to run in this OS.
@@ -154,7 +155,7 @@ For further usage information see [gavin.html](gavin.html).
The filenames `vi` and `sh` are significant, and should not be changed.
### Known 'features'
### Known 'features':
Known issues are really too plentiful to list.
@@ -188,16 +189,14 @@ keyboard maps, etc. (I should also mention that it contains mini functions to
perform an x86 `in` and `out` instruction - to allow the keyboard & mouse to be
driven from C code).
Porting to another architecture should be relatively easy\* -
Porting to another architecture should be relatively easy[^1] -
the string simply needs be replaced with one containing
data & code suitable for the new target platform.
Accesses to data in the string are made relative to the define `V`,
so these may need updating as appropriate (`0x90200` is the address
at which a Linux bootloader loads an x86 kernel image).
```
\* ;-)
```
[^1]: \* ;-)
<!--
+13 -17
View File
@@ -403,28 +403,24 @@ should do no damage to your existing setup, BUT I ACCEPT NO LIABILITY FOR ANY
DAMAGE DONE BY THIS PROGRAM. Run it at your own risk. The OS has been tested
on half a dozen machines or so, and worked on all but one. The failure came in
the form of the machine rebooting itself midway through loading the OS, with no
nasty side-effects.</p></li>
</ol>
<pre><code> Hardware requirements - i386 or better processor, but the GUI is
surprisingly power-hungry, so I would recommend a fast P3 or P4 processor
(has been tested on P3/P4/Athlon machines). Minimum RAM is something like
32MB. PS/2 mouse &amp; keyboard required - no USB I&#39;m afraid, and the keyboard
map is for a UK keyboard. Uses VESA VBE 3.0, so should work on any modern
graphics card (has been tested on NVIDIA, Matrox, and SiS cards).</code></pre>
<ol start="3" type="1">
<li>Now you need to setup a bootloader to load the OS. If you have a system
nasty side-effects.</p>
<p>Hardware requirements - i386 or better processor, but the GUI is
surprisingly power-hungry, so I would recommend a fast P3 or P4 processor
(has been tested on P3/P4/Athlon machines). Minimum RAM is something like
32MB. PS/2 mouse &amp; keyboard required - no USB I’m afraid, and the keyboard
map is for a UK keyboard. Uses VESA VBE 3.0, so should work on any modern
graphics card (has been tested on NVIDIA, Matrox, and SiS cards).</p></li>
<li><p>Now you need to setup a bootloader to load the OS. If you have a system
using a lilo bootloader you can simply add the OS to your boot menu. Just add
appropriate <code>image=</code> and <code>initrd=</code> lines to your <code>/etc/lilo.conf</code>, pointing at
<code>kernel</code> and <code>fs.tar</code> respectively (as built by make earlier), then run <code>lilo</code>.
If you do not wish modify your lilo setup, one easy option is to get yourself a
GRUB boot disk image, and follow the instructions for GRUB below - Debian users
can simply run<code>apt-get install grub-disk</code> to get themselves a GRUB boot disk.</li>
</ol>
<pre><code> If you run GRUB, then at the boot menu simply hit `c` to get a console, then
type `kernel=(hd0,0)/&lt;PATH&gt;/kernel` (substituting appropriate hard
drive/partition numbers &amp; path, or using `(fd0)` to load a kernel on the
floppy), then `initrd=(hd0,0)/&lt;PATH&gt;/fs.tar`, and finally `boot`.</code></pre>
<ol start="4" type="1">
can simply run<code>apt-get install grub-disk</code> to get themselves a GRUB boot disk.</p>
<p>If you run GRUB, then at the boot menu simply hit <code>c</code> to get a console, then
type <code>kernel=(hd0,0)/&lt;PATH&gt;/kernel</code> (substituting appropriate hard
drive/partition numbers &amp; path, or using <code>(fd0)</code> to load a kernel on the
floppy), then <code>initrd=(hd0,0)/&lt;PATH&gt;/fs.tar</code>, and finally <code>boot</code>.</p></li>
<li><p>Assuming the OS has booted, what can you do now? Well, start by trying <code>sh</code>,
to open another shell. Then, try <code>vi gavin.c</code> to open up the OS source in a
text file viewer (up/down or PgUp/PgDn to scroll). Note that the provided
-4
View File
@@ -15,14 +15,12 @@ on half a dozen machines or so, and worked on all but one. The failure came in
the form of the machine rebooting itself midway through loading the OS, with no
nasty side-effects.
```
Hardware requirements - i386 or better processor, but the GUI is
surprisingly power-hungry, so I would recommend a fast P3 or P4 processor
(has been tested on P3/P4/Athlon machines). Minimum RAM is something like
32MB. PS/2 mouse & keyboard required - no USB I'm afraid, and the keyboard
map is for a UK keyboard. Uses VESA VBE 3.0, so should work on any modern
graphics card (has been tested on NVIDIA, Matrox, and SiS cards).
```
3. Now you need to setup a bootloader to load the OS. If you have a system
using a lilo bootloader you can simply add the OS to your boot menu. Just add
@@ -32,12 +30,10 @@ If you do not wish modify your lilo setup, one easy option is to get yourself a
GRUB boot disk image, and follow the instructions for GRUB below - Debian users
can simply run`apt-get install grub-disk` to get themselves a GRUB boot disk.
```
If you run GRUB, then at the boot menu simply hit `c` to get a console, then
type `kernel=(hd0,0)/<PATH>/kernel` (substituting appropriate hard
drive/partition numbers & path, or using `(fd0)` to load a kernel on the
floppy), then `initrd=(hd0,0)/<PATH>/fs.tar`, and finally `boot`.
```
4. Assuming the OS has booted, what can you do now? Well, start by trying `sh`,
to open another shell. Then, try `vi gavin.c` to open up the OS source in a
+24 -17
View File
@@ -409,28 +409,29 @@ Location: <a href="../../location.html#UK">UK</a> - <em>United Kingdom of Great
<!-- BEFORE: 1st line of markdown file: 2004/gavin/README.md -->
<h2 id="to-build">To build:</h2>
<pre><code> make</code></pre>
<p>There is an alternate version for those who wish to use QEMU rather than having
to reboot and rely on having a floppy drive (if you even remember what those are
:-) ) etc. See <a href="#alternate-code">alternate code</a> below.</p>
<p>There is an alternate version for those who wish to use
<a href="https://www.qemu.org">QEMU</a> rather than having
to reboot and rely on having a <a href="https://en.wikipedia.org/wiki/Floppy_disk">floppy
drive</a> (<a href="https://en.wikipedia.org/wiki/History_of_the_floppy_disk">if you even
remember</a> what those are
:-) ) etc. See <a href="#alternate-code">Alternate code</a> below.</p>
<h3 id="bugs-and-misfeatures">Bugs and (Mis)features:</h3>
<p>The current status of this entry is:</p>
<blockquote>
<p><strong>STATUS: compiled executable crashes - please help us fix</strong><br>
<strong>STATUS: doesn’t work with some platforms - please help us fix it</strong><br>
<strong>STATUS: INABIAF - please DO NOT fix</strong></p>
<p><strong>STATUS: INABIAF - please DO NOT fix</strong></p>
</blockquote>
<p>For more detailed information see <a href="../../bugs.html#2004_gavin">2004/gavin in bugs.html</a>.</p>
<h2 id="to-use">To use:</h2>
<pre><code> ./gavin</code></pre>
<h2 id="try">Try:</h2>
<p>To enjoy the results (on a Linux/x86 machine) with a floppy drive (remember
those? We do!):</p>
<p>To enjoy the results (on a Linux/x86 machine) with a floppy drive
(<a href="https://en.wikipedia.org/wiki/Old_age">remember</a> those? We do!):</p>
<pre><code> su</code></pre>
<p>Make a floppy with an ext2 filesystem (<code>mke2fs /dev/fd0</code> replacing <code>fd0</code> with
whatever the floppy device is!), mount it under <code>/mnt/floppy</code> and then:</p>
<pre><code> cp kernel fs.tar lilo.conf boot.b /mnt/floppy</code></pre>
<p>NOTE: If the version of your lilo is not 21.4, use the appropriate boot.b file.</p>
<p>NOTE: If your floppy drive is not <code>/dev/fd0</code>, edit lilo.conf appropriately.</p>
<p><strong>NOTE</strong>: If the version of your lilo is not 21.4, use the appropriate <code>boot.b</code> file.</p>
<p><strong>NOTE</strong>: If your floppy drive is not <code>/dev/fd0</code>, edit <code>lilo.conf</code> appropriately.</p>
<pre><code> lilo -C /mnt/floppy/lilo.conf</code></pre>
<p>Boot from the floppy on an x86 machine with a PS/2 keyboard and mouse.
Move the window away from the corner.</p>
@@ -448,7 +449,7 @@ you can use it with <code>QEMU</code>.</p>
<pre><code> make alt</code></pre>
<h3 id="alternate-use">Alternate use:</h3>
<p>The use is mostly the same as <code>gavin</code> except that one initially executes <code>gavin.alt</code>
(which <code>make alt</code> will do) and one will have to use <code>QEMU</code> instead. The files
and one will have to use <code>QEMU</code> instead. The files
generated are the same names. See <a href="#to-use">to use</a> and <a href="#try">try</a> above as
well as the judges’ remarks below plus <a href="gavin.html">gavin.html</a>.</p>
<h2 id="judges-remarks">Judges’ remarks:</h2>
@@ -463,9 +464,9 @@ future contests.</p>
<a href="gavin.html">gavin.html</a>.</p>
<p>You can put additional text files in <code>fs.tar</code> for browsing with vi.</p>
<p>If you do not want to bother rebooting your computer at all, see
<a href="http://bellard.org" class="uri">http://bellard.org</a> for QEMU (<a href="../../authors.html#Fabrice_Bellard">Fabrice Bellard</a>
is an IOCCC 2001 winning entry), but your experience will be limited; use the
<a href="#alternate-code">alternate code</a> instead. You’ll have to move the mouse to
<a href="https://www.qemu.org" class="uri">https://www.qemu.org</a> for QEMU (by <a href="../../authors.html#Fabrice_Bellard">Fabrice
Bellard</a>, an IOCCC winning author) and use
the <a href="#alternate-code">Alternate code</a> instead. You’ll have to move the mouse to
trigger the initial screen update.</p>
<p>The judges were able to write a few more programs to run in this OS.
What are the limitations for such programs?</p>
@@ -493,7 +494,7 @@ then building a tarball containing the resulting programs
(the filesystem format supported by the OS is the tarball format).</p>
<p>For further usage information see <a href="gavin.html">gavin.html</a>.</p>
<p>The filenames <code>vi</code> and <code>sh</code> are significant, and should not be changed.</p>
<h3 id="known-features">Known ‘features’</h3>
<h3 id="known-features">Known ‘features’:</h3>
<p>Known issues are really too plentiful to list.</p>
<p>If the mouse pointer goes off the left hand side of the screen
it will reappear on the right, and vice-versa.
@@ -519,13 +520,12 @@ Linux-esque kernel header for the bootloader, protected mode descriptor tables,
keyboard maps, etc. (I should also mention that it contains mini functions to
perform an x86 <code>in</code> and <code>out</code> instruction - to allow the keyboard &amp; mouse to be
driven from C code).</p>
<p>Porting to another architecture should be relatively easy* -
<p>Porting to another architecture should be relatively easy<a href="#fn1" class="footnote-ref" id="fnref1" role="doc-noteref"><sup>1</sup></a> -
the string simply needs be replaced with one containing
data &amp; code suitable for the new target platform.
Accesses to data in the string are made relative to the define <code>V</code>,
so these may need updating as appropriate (<code>0x90200</code> is the address
at which a Linux bootloader loads an x86 kernel image).</p>
<pre><code> \* ;-)</code></pre>
<!--
Copyright © 1984-2024 by Landon Curt Noll. All Rights Reserved.
@@ -540,6 +540,13 @@ at which a Linux bootloader loads an x86 kernel image).</p>
-->
<!-- AFTER: last line of markdown file: 2004/gavin/README.md -->
<hr style="width:10%;text-align:left;margin-left:0">
<section id="footnotes" class="footnotes footnotes-end-of-document" role="doc-endnotes">
<h5>Footnotes</h5>
<ol>
<li id="fn1"><p>* ;-)<a href="#fnref1" class="footnote-back" role="doc-backlink">↩︎</a></p></li>
</ol>
</section>
<!-- END: this line ends content for HTML phase 21 by: bin/pandoc-wrapper.sh via bin/md2html.sh -->
<!-- START: this line starts content for HTML phase 22 by: bin/output-index-inventory.sh via bin/md2html.sh -->
+7 -7
View File
@@ -55,7 +55,7 @@
"OK_to_edit" : true,
"display_as" : "html",
"display_via_github" : false,
"entry_text" : "home page of alt HIBACHI web server"
"entry_text" : "home page of alt hibachi alt web server"
},
{
"file_path" : "src/configure",
@@ -71,7 +71,7 @@
"OK_to_edit" : true,
"display_as" : "html",
"display_via_github" : false,
"entry_text" : "home page of alt HIBACHI web server"
"entry_text" : "home page of alt hibachi web server"
},
{
"file_path" : "src-alt/IOCCC-2004/mkentry.c",
@@ -103,7 +103,7 @@
"OK_to_edit" : true,
"display_as" : "html",
"display_via_github" : false,
"entry_text" : "perl test page of alt HIBACHI server"
"entry_text" : "perl test page of alt hibachi server"
},
{
"file_path" : "src-alt/localhost/test/php/index.php",
@@ -135,7 +135,7 @@
"OK_to_edit" : true,
"display_as" : "text",
"display_via_github" : false,
"entry_text" : "obfuscated changelog for code"
"entry_text" : "obfuscated changelog for hibachi"
},
{
"file_path" : "src/localhost/reference/rfc2616.html",
@@ -151,7 +151,7 @@
"OK_to_edit" : true,
"display_as" : "html",
"display_via_github" : false,
"entry_text" : "perl test page of HIBACHI server"
"entry_text" : "perl test page of hibachi server"
},
{
"file_path" : "src/localhost/test/php/index.php",
@@ -239,7 +239,7 @@
"OK_to_edit" : true,
"display_as" : "text",
"display_via_github" : false,
"entry_text" : "obfuscation change log for alt server"
"entry_text" : "changelog for hibachi alt code"
},
{
"file_path" : "src/configure.in",
@@ -263,7 +263,7 @@
"OK_to_edit" : true,
"display_as" : "text",
"display_via_github" : false,
"entry_text" : "obfuscation change log"
"entry_text" : "changelog for hibachi"
},
{
"file_path" : "2004_hibachi.tar.bz2",
+17 -14
View File
@@ -7,6 +7,16 @@
There is an alternate version that is unobfuscated, provided by the author in
2024\. See [Alternate code](#alternate-code) below.
### Bugs and (Mis)features:
The current status of this entry is:
> **STATUS: INABIAF - please DO NOT fix**
For more detailed information see [2004/hibachi in bugs.html](../../bugs.html#2004_hibachi).
## To use:
@@ -56,7 +66,7 @@ of Mr Howe.
This entry also has the dubious honour of being the only one to have been
submitted with its own `configure` script.
NOTE: the author states there is a tarball `hibachi.tgz` but this was extracted
**NOTE**: the author states there is a tarball `hibachi.tgz` but this was extracted
so the file does not exist here.
@@ -66,7 +76,7 @@ so the file does not exist here.
`Hibachi` is a simple, small, and (probably) very secure web server.
There is a `hibachi.tgz` file (NOTE: this file was removed by the judges after
There is a `hibachi.tgz` file (**NOTE**: this file was removed by the judges after
extraction) that unpacks several support files and a subdirectory tree
containing the documentation and examples. It can be viewed by:
@@ -189,9 +199,9 @@ style](https://wiki.c2.com/?OneTrueBraceStyle).
* Commented obfuscation change log information available.
### Known Issues
### Known Issue
* The [links][1] text browser does not support RFC 2616 section 7.2.1
* The [links][1] (text) web browser does not support RFC 2616 section 7.2.1
paragraph 3 sentence 2, and so fails to display responses from
`hibachi`.
@@ -207,17 +217,10 @@ style](https://wiki.c2.com/?OneTrueBraceStyle).
* Winner of The Far Too Much Free Time Award
### NOTICE to those who wish for a greater challenge:
### Changelog
**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.
### Obfuscation change log
For additional hints about how the source was obfuscated, read [src/localhost/CHANGELOG.TXT](src/localhost/CHANGELOG.TXT).
For a list of significant changes made during development, see
[src/localhost/CHANGELOG.TXT](src/localhost/CHANGELOG.TXT).
<!--
+20 -17
View File
@@ -411,6 +411,12 @@ Location: <a href="../../location.html#CA">CA</a> - <em>Canada</em></li>
<pre><code> make</code></pre>
<p>There is an alternate version that is unobfuscated, provided by the author in
2024. See <a href="#alternate-code">Alternate code</a> below.</p>
<h3 id="bugs-and-misfeatures">Bugs and (Mis)features:</h3>
<p>The current status of this entry is:</p>
<blockquote>
<p><strong>STATUS: INABIAF - please DO NOT fix</strong></p>
</blockquote>
<p>For more detailed information see <a href="../../bugs.html#2004_hibachi">2004/hibachi in bugs.html</a>.</p>
<h2 id="to-use">To use:</h2>
<pre><code> cd build; ./hibachi-start.sh &amp;</code></pre>
<p>Then use your web browser to visit <code>http://localhost:8008/</code>. When you’re
@@ -434,12 +440,12 @@ we are considering starting an IOCCC standards body just to reign in the likes
of Mr Howe.</p>
<p>This entry also has the dubious honour of being the only one to have been
submitted with its own <code>configure</code> script.</p>
<p>NOTE: the author states there is a tarball <code>hibachi.tgz</code> but this was extracted
<p><strong>NOTE</strong>: the author states there is a tarball <code>hibachi.tgz</code> but this was extracted
so the file does not exist here.</p>
<h2 id="authors-remarks">Author’s remarks:</h2>
<h3 id="readme.txt-feb-2004">README.TXT (Feb 2004)</h3>
<p><code>Hibachi</code> is a simple, small, and (probably) very secure web server.</p>
<p>There is a <code>hibachi.tgz</code> file (NOTE: this file was removed by the judges after
<p>There is a <code>hibachi.tgz</code> file (<strong>NOTE</strong>: this file was removed by the judges after
extraction) that unpacks several support files and a subdirectory tree
containing the documentation and examples. It can be viewed by:</p>
<pre><code> tar -zxf hibachi.tgz
@@ -506,9 +512,9 @@ style</a>.</p></li>
<li><p><code>Hibachi</code> can serve <a href="https://www.ioccc.org">www.ioccc.org</a>.</p></li>
<li><p>Commented obfuscation change log information available.</p></li>
</ul>
<h3 id="known-issues">Known Issues</h3>
<h3 id="known-issue">Known Issue</h3>
<ul>
<li>The <a href="https://en.wikipedia.org/wiki/Links_(web_browser)">links</a> text browser does not support RFC 2616 section 7.2.1
<li>The <a href="https://en.wikipedia.org/wiki/Links_(web_browser)">links</a> (text) web browser does not support RFC 2616 section 7.2.1
paragraph 3 sentence 2, and so fails to display responses from
<code>hibachi</code>.</li>
</ul>
@@ -521,12 +527,9 @@ paragraph 3 sentence 2, and so fails to display responses from
<li>Best Interpretation of RFC 2616</li>
<li>Winner of The Far Too Much Free Time Award</li>
</ul>
<h3 id="notice-to-those-who-wish-for-a-greater-challenge">NOTICE to those who wish for a greater challenge:</h3>
<p><strong>If you want a greater challenge, don’t read any further</strong>:
just try to understand the program via the source.</p>
<p>If you get stuck, come back and read below for additional hints and information.</p>
<h3 id="obfuscation-change-log">Obfuscation change log</h3>
<p>For additional hints about how the source was obfuscated, read <a href="src/localhost/CHANGELOG.TXT">src/localhost/CHANGELOG.TXT</a>.</p>
<h3 id="changelog">Changelog</h3>
<p>For a list of significant changes made during development, see
<a href="src/localhost/CHANGELOG.TXT">src/localhost/CHANGELOG.TXT</a>.</p>
<!--
Copyright © 1984-2024 by Landon Curt Noll. All Rights Reserved.
@@ -557,19 +560,19 @@ just try to understand the program via the source.</p>
<li><a href="https://github.com/ioccc-src/temp-test-ioccc/blob/master/2004/hibachi/Makefile">Makefile</a> - entry Makefile</li>
<li><a href="https://github.com/ioccc-src/temp-test-ioccc/blob/master/2004/hibachi/hibachi.orig.c">hibachi.orig.c</a> - original source code</li>
<li><a href="https://github.com/ioccc-src/temp-test-ioccc/blob/master/2004/hibachi/src-alt/configure">src-alt/configure</a> - GNU Autoconf script for alt server</li>
<li><a href="src-alt/localhost/index.html">src-alt/localhost/index.html</a> - home page of alt HIBACHI web server</li>
<li><a href="src-alt/localhost/index.html">src-alt/localhost/index.html</a> - home page of alt hibachi alt web server</li>
<li><a href="https://github.com/ioccc-src/temp-test-ioccc/blob/master/2004/hibachi/src/configure">src/configure</a> - GNU Autoconf script</li>
<li><a href="src/localhost/index.html">src/localhost/index.html</a> - home page of alt HIBACHI web server</li>
<li><a href="src/localhost/index.html">src/localhost/index.html</a> - home page of alt hibachi web server</li>
<li><a href="https://github.com/ioccc-src/temp-test-ioccc/blob/master/2004/hibachi/src-alt/IOCCC-2004/mkentry.c">src-alt/IOCCC-2004/mkentry.c</a> - IOCCC tool of 2004 to package entries</li>
<li><a href="https://github.com/ioccc-src/temp-test-ioccc/blob/master/2004/hibachi/src-alt/ioccc.c">src-alt/ioccc.c</a> - IOCCC size tool</li>
<li><a href="src-alt/localhost/reference/rfc2616.html">src-alt/localhost/reference/rfc2616.html</a> - RFC 2616 - Hypertext Transfer Protocol - alt server</li>
<li><a href="src-alt/localhost/test/perl/index.html">src-alt/localhost/test/perl/index.html</a> - perl test page of alt HIBACHI server</li>
<li><a href="src-alt/localhost/test/perl/index.html">src-alt/localhost/test/perl/index.html</a> - perl test page of alt hibachi server</li>
<li><a href="https://github.com/ioccc-src/temp-test-ioccc/blob/master/2004/hibachi/src-alt/localhost/test/php/index.php">src-alt/localhost/test/php/index.php</a> - PHP making an ISO 8601:2000 calendar for alt server</li>
<li><a href="https://github.com/ioccc-src/temp-test-ioccc/blob/master/2004/hibachi/src-alt/localhost/test/ruby/index.rb">src-alt/localhost/test/ruby/index.rb</a> - ruby home page for alt server</li>
<li><a href="https://github.com/ioccc-src/temp-test-ioccc/blob/master/2004/hibachi/src-alt/localhost/test/shell/test0.sh">src-alt/localhost/test/shell/test0.sh</a> - POSIX shell CGI home page for alt server</li>
<li><a href="src/localhost/CHANGES-OBFUSCATED.TXT">src/localhost/CHANGES-OBFUSCATED.TXT</a> - obfuscated changelog for code</li>
<li><a href="src/localhost/CHANGES-OBFUSCATED.TXT">src/localhost/CHANGES-OBFUSCATED.TXT</a> - obfuscated changelog for hibachi</li>
<li><a href="src/localhost/reference/rfc2616.html">src/localhost/reference/rfc2616.html</a> - RFC 2616 - Hypertext Transfer Protocol</li>
<li><a href="src/localhost/test/perl/index.html">src/localhost/test/perl/index.html</a> - perl test page of HIBACHI server</li>
<li><a href="src/localhost/test/perl/index.html">src/localhost/test/perl/index.html</a> - perl test page of hibachi server</li>
<li><a href="https://github.com/ioccc-src/temp-test-ioccc/blob/master/2004/hibachi/src/localhost/test/php/index.php">src/localhost/test/php/index.php</a> - PHP making an ISO 8601:2000 calendar</li>
<li><a href="https://github.com/ioccc-src/temp-test-ioccc/blob/master/2004/hibachi/src/localhost/test/ruby/index.rb">src/localhost/test/ruby/index.rb</a> - ruby home page</li>
<li><a href="https://github.com/ioccc-src/temp-test-ioccc/blob/master/2004/hibachi/src/localhost/test/shell/test0.sh">src/localhost/test/shell/test0.sh</a> - POSIX shell CGI home page</li>
@@ -580,10 +583,10 @@ just try to understand the program via the source.</p>
<li><a href="https://github.com/ioccc-src/temp-test-ioccc/blob/master/2004/hibachi/src/localhost/test/perl/yahoo-ticker.pl">src/localhost/test/perl/yahoo-ticker.pl</a> - stock price fetch example in Perl</li>
<li><a href="https://github.com/ioccc-src/temp-test-ioccc/blob/master/2004/hibachi/src-alt/configure.in">src-alt/configure.in</a> - GNU Autoconf script for alt server</li>
<li><a href="https://github.com/ioccc-src/temp-test-ioccc/blob/master/2004/hibachi/src-alt/hibachi-start.sh.in">src-alt/hibachi-start.sh.in</a> - hibachi-start.sh declarations for alt server</li>
<li><a href="src-alt/localhost/CHANGELOG.TXT">src-alt/localhost/CHANGELOG.TXT</a> - obfuscation change log for alt server</li>
<li><a href="src-alt/localhost/CHANGELOG.TXT">src-alt/localhost/CHANGELOG.TXT</a> - changelog for hibachi alt code</li>
<li><a href="https://github.com/ioccc-src/temp-test-ioccc/blob/master/2004/hibachi/src/configure.in">src/configure.in</a> - GNU Autoconf script</li>
<li><a href="https://github.com/ioccc-src/temp-test-ioccc/blob/master/2004/hibachi/src/hibachi-start.sh.in">src/hibachi-start.sh.in</a> - hibachi-start.sh declarations</li>
<li><a href="src/localhost/CHANGELOG.TXT">src/localhost/CHANGELOG.TXT</a> - obfuscation change log</li>
<li><a href="src/localhost/CHANGELOG.TXT">src/localhost/CHANGELOG.TXT</a> - changelog for hibachi</li>
</ul>
<h2 id="secondary-files">Secondary files</h2>
<ul>