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.
This commit is contained in:
1 parent
b84c27ce02
commit
a996f8d2b8
734 files changed
+16723
-16963
No files matched your search
@@ -1,14 +1,14 @@
|
||||
## To build:
|
||||
|
||||
```sh
|
||||
make
|
||||
make
|
||||
```
|
||||
|
||||
|
||||
## To use:
|
||||
|
||||
```sh
|
||||
./anonymous 'foo' > bar.pgm
|
||||
./anonymous 'foo' > bar.pgm
|
||||
```
|
||||
|
||||
Now open the output using your favourite
|
||||
@@ -22,7 +22,7 @@ images.
|
||||
## Try:
|
||||
|
||||
```sh
|
||||
./try.sh
|
||||
./try.sh
|
||||
```
|
||||
|
||||
NOTE: technically the text is supposed to be in all lower case but the script
|
||||
@@ -108,8 +108,8 @@ inscription](https://www.glyphweb.com/arda/r/ringinscription.html) to
|
||||
the file `ring.pgm`:
|
||||
|
||||
```sh
|
||||
./anonymous "ash nazg durhbatuluhk, ash nazg gimbatul, \
|
||||
ash nazg thrakatuluhk, agh burzhumh-ishi krimpatul." >ring.pgm
|
||||
./anonymous "ash nazg durhbatuluhk, ash nazg gimbatul, \
|
||||
ash nazg thrakatuluhk, agh burzhumh-ishi krimpatul." >ring.pgm
|
||||
```
|
||||
|
||||
The source code assumes the ASCII character set; also, due to space
|
||||
|
||||
@@ -132,8 +132,7 @@
|
||||
<h2 id="author"><a name="author"></a>Author:</h2>
|
||||
<ul>
|
||||
<li>Name: <a href="../../authors.html#Anonymous_2004">Anonymous 2004</a><br>
|
||||
Location: <a href="../../location.html#SG">SG</a> - <em>Republic of Singapore</em> (<em>Singapore</em>)
|
||||
<br><br></li>
|
||||
Location: <a href="../../location.html#SG">SG</a> - <em>Republic of Singapore</em> (<em>Singapore</em>)</li>
|
||||
</ul>
|
||||
|
||||
<!-- END: next line ends content generated by: bin/output-index-author.sh -->
|
||||
@@ -142,9 +141,9 @@ Location: <a href="../../location.html#SG">SG</a> - <em>Republic of Singapore</e
|
||||
<!-- START: this line starts content for HTML phase 21 by: bin/pandoc-wrapper.sh via bin/md2html.sh -->
|
||||
|
||||
<h2 id="to-build">To build:</h2>
|
||||
<div class="sourceCode" id="cb1"><pre class="sourceCode sh"><code class="sourceCode bash"><span id="cb1-1"><a href="#cb1-1" aria-hidden="true" tabindex="-1"></a><span class="fu">make</span></span></code></pre></div>
|
||||
<div class="sourceCode" id="cb1"><pre class="sourceCode sh"><code class="sourceCode bash"><span id="cb1-1"><a href="#cb1-1" aria-hidden="true" tabindex="-1"></a> <span class="fu">make</span></span></code></pre></div>
|
||||
<h2 id="to-use">To use:</h2>
|
||||
<div class="sourceCode" id="cb2"><pre class="sourceCode sh"><code class="sourceCode bash"><span id="cb2-1"><a href="#cb2-1" aria-hidden="true" tabindex="-1"></a><span class="ex">./anonymous</span> <span class="st">'foo'</span> <span class="op">></span> bar.pgm</span></code></pre></div>
|
||||
<div class="sourceCode" id="cb2"><pre class="sourceCode sh"><code class="sourceCode bash"><span id="cb2-1"><a href="#cb2-1" aria-hidden="true" tabindex="-1"></a> <span class="ex">./anonymous</span> <span class="st">'foo'</span> <span class="op">></span> bar.pgm</span></code></pre></div>
|
||||
<p>Now open the output using your favourite
|
||||
<a href="https://en.wikipedia.org/wiki/Netpbm#PGM_example">pgm</a> viewer. If you don’t
|
||||
have a <code>pgm</code> viewer then we suggest the <a href="https://netpbm.sourceforge.net">netpbm
|
||||
@@ -152,7 +151,7 @@ toolkit</a> to convert the image to a graphics
|
||||
format that you can view. Most graphical web browsers can display PNG or JPEG
|
||||
images.</p>
|
||||
<h2 id="try">Try:</h2>
|
||||
<div class="sourceCode" id="cb3"><pre class="sourceCode sh"><code class="sourceCode bash"><span id="cb3-1"><a href="#cb3-1" aria-hidden="true" tabindex="-1"></a><span class="ex">./try.sh</span></span></code></pre></div>
|
||||
<div class="sourceCode" id="cb3"><pre class="sourceCode sh"><code class="sourceCode bash"><span id="cb3-1"><a href="#cb3-1" aria-hidden="true" tabindex="-1"></a> <span class="ex">./try.sh</span></span></code></pre></div>
|
||||
<p>NOTE: technically the text is supposed to be in all lower case but the script
|
||||
does use some upper case letters for demonstration purposes.</p>
|
||||
<h2 id="judges-remarks">Judges’ remarks:</h2>
|
||||
@@ -221,8 +220,8 @@ in lower case.</p>
|
||||
<p>The following command thus writes a rendering of the <a href="https://www.glyphweb.com/arda/r/ringinscription.html">Ring
|
||||
inscription</a> to
|
||||
the file <code>ring.pgm</code>:</p>
|
||||
<div class="sourceCode" id="cb4"><pre class="sourceCode sh"><code class="sourceCode bash"><span id="cb4-1"><a href="#cb4-1" aria-hidden="true" tabindex="-1"></a><span class="ex">./anonymous</span> <span class="st">"ash nazg durhbatuluhk, ash nazg gimbatul, </span><span class="dt">\</span></span>
|
||||
<span id="cb4-2"><a href="#cb4-2" aria-hidden="true" tabindex="-1"></a><span class="st"> ash nazg thrakatuluhk, agh burzhumh-ishi krimpatul."</span> <span class="op">></span>ring.pgm</span></code></pre></div>
|
||||
<div class="sourceCode" id="cb4"><pre class="sourceCode sh"><code class="sourceCode bash"><span id="cb4-1"><a href="#cb4-1" aria-hidden="true" tabindex="-1"></a> <span class="ex">./anonymous</span> <span class="st">"ash nazg durhbatuluhk, ash nazg gimbatul, </span><span class="dt">\</span></span>
|
||||
<span id="cb4-2"><a href="#cb4-2" aria-hidden="true" tabindex="-1"></a><span class="st"> ash nazg thrakatuluhk, agh burzhumh-ishi krimpatul."</span> <span class="op">></span>ring.pgm</span></code></pre></div>
|
||||
<p>The source code assumes the ASCII character set; also, due to space
|
||||
constraints, the program uses rather inefficient algorithms, so it may
|
||||
waste a lot of time and space even when rendering moderately long
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
## To build:
|
||||
|
||||
```sh
|
||||
make
|
||||
make
|
||||
```
|
||||
|
||||
There is an alt version for rogue players, vi(m) users and Dvorak typist (i.e.
|
||||
@@ -12,20 +12,20 @@ code](#alternate-code) below.
|
||||
## To use:
|
||||
|
||||
```sh
|
||||
./arachnid [mazefile]
|
||||
./arachnid [mazefile]
|
||||
```
|
||||
|
||||
|
||||
## Try:
|
||||
|
||||
```sh
|
||||
./arachnid arachnid.txt
|
||||
./arachnid arachnid.txt
|
||||
```
|
||||
|
||||
and then try:
|
||||
|
||||
```sh
|
||||
./arachnid arachnid.c
|
||||
./arachnid arachnid.c
|
||||
```
|
||||
|
||||
Navigation is through the use of the `wasd` inverted-T formation on
|
||||
@@ -42,7 +42,7 @@ instead.
|
||||
### Alternate build:
|
||||
|
||||
```sh
|
||||
make alt
|
||||
make alt
|
||||
```
|
||||
|
||||
|
||||
@@ -81,7 +81,7 @@ explorers out there.
|
||||
### Usage
|
||||
|
||||
```sh
|
||||
./arachnid [mazefile]
|
||||
./arachnid [mazefile]
|
||||
```
|
||||
|
||||
You can explore the maze using the `w`,`a`,`s`, and `d` keys.
|
||||
|
||||
@@ -132,8 +132,7 @@
|
||||
<h2 id="author"><a name="author"></a>Author:</h2>
|
||||
<ul>
|
||||
<li>Name: <a href="../../authors.html#Nick_Johnson">Nick Johnson</a><br>
|
||||
Location: <a href="../../location.html#NZ">NZ</a> - <em>New Zealand</em>
|
||||
<br><br></li>
|
||||
Location: <a href="../../location.html#NZ">NZ</a> - <em>New Zealand</em></li>
|
||||
</ul>
|
||||
|
||||
<!-- END: next line ends content generated by: bin/output-index-author.sh -->
|
||||
@@ -142,16 +141,16 @@ Location: <a href="../../location.html#NZ">NZ</a> - <em>New Zealand</em>
|
||||
<!-- START: this line starts content for HTML phase 21 by: bin/pandoc-wrapper.sh via bin/md2html.sh -->
|
||||
|
||||
<h2 id="to-build">To build:</h2>
|
||||
<div class="sourceCode" id="cb1"><pre class="sourceCode sh"><code class="sourceCode bash"><span id="cb1-1"><a href="#cb1-1" aria-hidden="true" tabindex="-1"></a><span class="fu">make</span></span></code></pre></div>
|
||||
<div class="sourceCode" id="cb1"><pre class="sourceCode sh"><code class="sourceCode bash"><span id="cb1-1"><a href="#cb1-1" aria-hidden="true" tabindex="-1"></a> <span class="fu">make</span></span></code></pre></div>
|
||||
<p>There is an alt version for rogue players, vi(m) users and Dvorak typist (i.e.
|
||||
those who need <code>hljk</code> for moving left, right, down and up. See <a href="#alternate-code">alternate
|
||||
code</a> below.</p>
|
||||
<h2 id="to-use">To use:</h2>
|
||||
<div class="sourceCode" id="cb2"><pre class="sourceCode sh"><code class="sourceCode bash"><span id="cb2-1"><a href="#cb2-1" aria-hidden="true" tabindex="-1"></a><span class="ex">./arachnid</span> <span class="pp">[</span><span class="ss">mazefile</span><span class="pp">]</span></span></code></pre></div>
|
||||
<div class="sourceCode" id="cb2"><pre class="sourceCode sh"><code class="sourceCode bash"><span id="cb2-1"><a href="#cb2-1" aria-hidden="true" tabindex="-1"></a> <span class="ex">./arachnid</span> <span class="pp">[</span><span class="ss">mazefile</span><span class="pp">]</span></span></code></pre></div>
|
||||
<h2 id="try">Try:</h2>
|
||||
<div class="sourceCode" id="cb3"><pre class="sourceCode sh"><code class="sourceCode bash"><span id="cb3-1"><a href="#cb3-1" aria-hidden="true" tabindex="-1"></a><span class="ex">./arachnid</span> arachnid.txt</span></code></pre></div>
|
||||
<div class="sourceCode" id="cb3"><pre class="sourceCode sh"><code class="sourceCode bash"><span id="cb3-1"><a href="#cb3-1" aria-hidden="true" tabindex="-1"></a> <span class="ex">./arachnid</span> arachnid.txt</span></code></pre></div>
|
||||
<p>and then try:</p>
|
||||
<div class="sourceCode" id="cb4"><pre class="sourceCode sh"><code class="sourceCode bash"><span id="cb4-1"><a href="#cb4-1" aria-hidden="true" tabindex="-1"></a><span class="ex">./arachnid</span> arachnid.c</span></code></pre></div>
|
||||
<div class="sourceCode" id="cb4"><pre class="sourceCode sh"><code class="sourceCode bash"><span id="cb4-1"><a href="#cb4-1" aria-hidden="true" tabindex="-1"></a> <span class="ex">./arachnid</span> arachnid.c</span></code></pre></div>
|
||||
<p>Navigation is through the use of the <code>wasd</code> inverted-T formation on
|
||||
QWERTY keyboards. Rogue players, vi users, and Dvorak typists are
|
||||
invited to get lost (or use the alt version)!</p>
|
||||
@@ -159,7 +158,7 @@ invited to get lost (or use the alt version)!</p>
|
||||
<p>If you don’t like the <code>wasd</code> movement keys you can try the vi(m) movement keys
|
||||
instead.</p>
|
||||
<h3 id="alternate-build">Alternate build:</h3>
|
||||
<div class="sourceCode" id="cb5"><pre class="sourceCode sh"><code class="sourceCode bash"><span id="cb5-1"><a href="#cb5-1" aria-hidden="true" tabindex="-1"></a><span class="fu">make</span> alt</span></code></pre></div>
|
||||
<div class="sourceCode" id="cb5"><pre class="sourceCode sh"><code class="sourceCode bash"><span id="cb5-1"><a href="#cb5-1" aria-hidden="true" tabindex="-1"></a> <span class="fu">make</span> alt</span></code></pre></div>
|
||||
<h3 id="alternate-use">Alternate use:</h3>
|
||||
<p>Use <code>arachnid.alt</code> as you would <code>arachnid</code> above.</p>
|
||||
<h2 id="judges-remarks">Judges’ remarks:</h2>
|
||||
@@ -182,7 +181,7 @@ Another maze, <a href="arachnid.txt">arachnid.txt</a> has also been provided. Th
|
||||
255x255, about the largest maze supported, for the particularly insane maze
|
||||
explorers out there.</p>
|
||||
<h3 id="usage">Usage</h3>
|
||||
<div class="sourceCode" id="cb6"><pre class="sourceCode sh"><code class="sourceCode bash"><span id="cb6-1"><a href="#cb6-1" aria-hidden="true" tabindex="-1"></a><span class="ex">./arachnid</span> <span class="pp">[</span><span class="ss">mazefile</span><span class="pp">]</span></span></code></pre></div>
|
||||
<div class="sourceCode" id="cb6"><pre class="sourceCode sh"><code class="sourceCode bash"><span id="cb6-1"><a href="#cb6-1" aria-hidden="true" tabindex="-1"></a> <span class="ex">./arachnid</span> <span class="pp">[</span><span class="ss">mazefile</span><span class="pp">]</span></span></code></pre></div>
|
||||
<p>You can explore the maze using the <code>w</code>,<code>a</code>,<code>s</code>, and <code>d</code> keys.</p>
|
||||
<!--
|
||||
|
||||
|
||||
+17
-17
@@ -1,7 +1,7 @@
|
||||
## To build:
|
||||
|
||||
```sh
|
||||
make
|
||||
make
|
||||
```
|
||||
|
||||
NOTE: We FORCE the use of -O0 even if someone overrides it because this entry
|
||||
@@ -11,7 +11,7 @@ will not work with it enabled.
|
||||
## To use:
|
||||
|
||||
```sh
|
||||
./burley
|
||||
./burley
|
||||
```
|
||||
|
||||
NOTE: you need to input a number first. See judges' remarks below for
|
||||
@@ -25,28 +25,28 @@ start with $100. Input alternates between your bet and which cards to keep.
|
||||
Example:
|
||||
|
||||
```
|
||||
5 <== you enter a bet of $5 (defaults to $1)
|
||||
J Q J 9 5 <== your hand is Jack of Clubs, Queen of Hearts,
|
||||
C H D S C Jack of Diamonds, 9 of Spades, 5 of Clubs
|
||||
123 <== you enter which cards you want to keep
|
||||
5 <== you enter a bet of $5 (defaults to $1)
|
||||
J Q J 9 5 <== your hand is Jack of Clubs, Queen of Hearts,
|
||||
C H D S C Jack of Diamonds, 9 of Spades, 5 of Clubs
|
||||
123 <== you enter which cards you want to keep
|
||||
(enter 0 to 5 digits between 1 and 5)
|
||||
J Q J J Q <== your new hand is Jack of Clubs, Queen of Hearts,
|
||||
C H D S C Jack of Diamonds, Jack of Spaces, Queen of clubs
|
||||
$145 (45) <== Your new balance is now $145. You had a Full House
|
||||
J Q J J Q <== your new hand is Jack of Clubs, Queen of Hearts,
|
||||
C H D S C Jack of Diamonds, Jack of Spaces, Queen of clubs
|
||||
$145 (45) <== Your new balance is now $145. You had a Full House
|
||||
so your payoff is 9 times your bet == 45
|
||||
```
|
||||
|
||||
The payout is according to "Vegas rules":
|
||||
|
||||
```
|
||||
Straight Flush 50 times your bet
|
||||
Four of a Kind 25 times your bet
|
||||
Full House 9 times your bet
|
||||
Flush 6 times your bet
|
||||
Straight 4 times your bet
|
||||
3 of a Kind 3 times your bet
|
||||
2 Pair 2 times your bet
|
||||
Jacks or Better 1 times your bet
|
||||
Straight Flush 50 times your bet
|
||||
Four of a Kind 25 times your bet
|
||||
Full House 9 times your bet
|
||||
Flush 6 times your bet
|
||||
Straight 4 times your bet
|
||||
3 of a Kind 3 times your bet
|
||||
2 Pair 2 times your bet
|
||||
Jacks or Better 1 times your bet
|
||||
```
|
||||
|
||||
The program allows you to go into debt. However I'm sure you would never
|
||||
|
||||
+18
-19
@@ -132,8 +132,7 @@
|
||||
<h2 id="author"><a name="author"></a>Author:</h2>
|
||||
<ul>
|
||||
<li>Name: <a href="../../authors.html#Brent_Burley">Brent Burley</a><br>
|
||||
Location: <a href="../../location.html#US">US</a> - <em>United States of America</em> (<em>United States</em>)
|
||||
<br><br></li>
|
||||
Location: <a href="../../location.html#US">US</a> - <em>United States of America</em> (<em>United States</em>)</li>
|
||||
</ul>
|
||||
|
||||
<!-- END: next line ends content generated by: bin/output-index-author.sh -->
|
||||
@@ -142,35 +141,35 @@ Location: <a href="../../location.html#US">US</a> - <em>United States of America
|
||||
<!-- START: this line starts content for HTML phase 21 by: bin/pandoc-wrapper.sh via bin/md2html.sh -->
|
||||
|
||||
<h2 id="to-build">To build:</h2>
|
||||
<div class="sourceCode" id="cb1"><pre class="sourceCode sh"><code class="sourceCode bash"><span id="cb1-1"><a href="#cb1-1" aria-hidden="true" tabindex="-1"></a><span class="fu">make</span></span></code></pre></div>
|
||||
<div class="sourceCode" id="cb1"><pre class="sourceCode sh"><code class="sourceCode bash"><span id="cb1-1"><a href="#cb1-1" aria-hidden="true" tabindex="-1"></a> <span class="fu">make</span></span></code></pre></div>
|
||||
<p>NOTE: We FORCE the use of -O0 even if someone overrides it because this entry
|
||||
will not work with it enabled.</p>
|
||||
<h2 id="to-use">To use:</h2>
|
||||
<div class="sourceCode" id="cb2"><pre class="sourceCode sh"><code class="sourceCode bash"><span id="cb2-1"><a href="#cb2-1" aria-hidden="true" tabindex="-1"></a><span class="ex">./burley</span></span></code></pre></div>
|
||||
<div class="sourceCode" id="cb2"><pre class="sourceCode sh"><code class="sourceCode bash"><span id="cb2-1"><a href="#cb2-1" aria-hidden="true" tabindex="-1"></a> <span class="ex">./burley</span></span></code></pre></div>
|
||||
<p>NOTE: you need to input a number first. See judges’ remarks below for
|
||||
information on how to play.</p>
|
||||
<h2 id="judges-remarks">Judges’ remarks:</h2>
|
||||
<p>This is a <a href="https://en.wikipedia.org/wiki/Draw_poker">draw poker</a> program. You
|
||||
start with $100. Input alternates between your bet and which cards to keep.
|
||||
Example:</p>
|
||||
<pre><code>5 <== you enter a bet of $5 (defaults to $1)
|
||||
J Q J 9 5 <== your hand is Jack of Clubs, Queen of Hearts,
|
||||
C H D S C Jack of Diamonds, 9 of Spades, 5 of Clubs
|
||||
123 <== you enter which cards you want to keep
|
||||
<pre><code> 5 <== you enter a bet of $5 (defaults to $1)
|
||||
J Q J 9 5 <== your hand is Jack of Clubs, Queen of Hearts,
|
||||
C H D S C Jack of Diamonds, 9 of Spades, 5 of Clubs
|
||||
123 <== you enter which cards you want to keep
|
||||
(enter 0 to 5 digits between 1 and 5)
|
||||
J Q J J Q <== your new hand is Jack of Clubs, Queen of Hearts,
|
||||
C H D S C Jack of Diamonds, Jack of Spaces, Queen of clubs
|
||||
$145 (45) <== Your new balance is now $145. You had a Full House
|
||||
J Q J J Q <== your new hand is Jack of Clubs, Queen of Hearts,
|
||||
C H D S C Jack of Diamonds, Jack of Spaces, Queen of clubs
|
||||
$145 (45) <== Your new balance is now $145. You had a Full House
|
||||
so your payoff is 9 times your bet == 45</code></pre>
|
||||
<p>The payout is according to “Vegas rules”:</p>
|
||||
<pre><code>Straight Flush 50 times your bet
|
||||
Four of a Kind 25 times your bet
|
||||
Full House 9 times your bet
|
||||
Flush 6 times your bet
|
||||
Straight 4 times your bet
|
||||
3 of a Kind 3 times your bet
|
||||
2 Pair 2 times your bet
|
||||
Jacks or Better 1 times your bet</code></pre>
|
||||
<pre><code> Straight Flush 50 times your bet
|
||||
Four of a Kind 25 times your bet
|
||||
Full House 9 times your bet
|
||||
Flush 6 times your bet
|
||||
Straight 4 times your bet
|
||||
3 of a Kind 3 times your bet
|
||||
2 Pair 2 times your bet
|
||||
Jacks or Better 1 times your bet</code></pre>
|
||||
<p>The program allows you to go into debt. However I’m sure you would never
|
||||
control-C to kill the program just because you got behind, right? On the other
|
||||
hand the program never willingly exits, so you have to leave even when you are
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
## To build:
|
||||
|
||||
```sh
|
||||
make
|
||||
make
|
||||
```
|
||||
|
||||
There are three alternate versions; see [alternate code](#alternate-code) below
|
||||
@@ -11,14 +11,14 @@ for more details.
|
||||
## To use:
|
||||
|
||||
```sh
|
||||
./gavare > ioccc_ray.ppm
|
||||
./gavare > ioccc_ray.ppm
|
||||
```
|
||||
|
||||
Open `ioccc_ray.ppm` with a viewer capable of viewing PPM files. Alternatively,
|
||||
if you have ImageMagick installed, you can convert it to a jpeg:
|
||||
|
||||
```sh
|
||||
convert ioccc_ray.ppm ioccc_ray.jpg
|
||||
convert ioccc_ray.ppm ioccc_ray.jpg
|
||||
```
|
||||
|
||||
and then view `ioccc_ray.jpg` in a graphics viewer, editor or web browser.
|
||||
@@ -29,7 +29,7 @@ and then view `ioccc_ray.jpg` in a graphics viewer, editor or web browser.
|
||||
If you have `xv(1)` you can do:
|
||||
|
||||
```sh
|
||||
./gavare | xv -
|
||||
./gavare | xv -
|
||||
```
|
||||
|
||||
to not worry about writing it to a file and just viewing the image it creates.
|
||||
@@ -54,19 +54,19 @@ on `stdout` which theoretically should work in Windows.
|
||||
To build the configurable and unobfuscated versions:
|
||||
|
||||
```sh
|
||||
make alt
|
||||
make alt
|
||||
```
|
||||
|
||||
To change the default size from 1024x768 try:
|
||||
|
||||
```sh
|
||||
make clobber XX=640 YY=480 alt
|
||||
make clobber XX=640 YY=480 alt
|
||||
```
|
||||
|
||||
You might also wish to change the anti-alias setting:
|
||||
|
||||
```sh
|
||||
make clobber AA=2 alt
|
||||
make clobber AA=2 alt
|
||||
```
|
||||
|
||||
You may of course combine the above two commands and give any combination you
|
||||
@@ -79,7 +79,7 @@ As the Windows version will not compile on most viewers' systems we do not build
|
||||
it with `make alt`; instead try:
|
||||
|
||||
```sh
|
||||
make alt2
|
||||
make alt2
|
||||
```
|
||||
|
||||
|
||||
|
||||
+9
-10
@@ -132,8 +132,7 @@
|
||||
<h2 id="author"><a name="author"></a>Author:</h2>
|
||||
<ul>
|
||||
<li>Name: <a href="../../authors.html#Anders_Gavare">Anders Gavare</a><br>
|
||||
Location: <a href="../../location.html#SE">SE</a> - <em>Kingdom of Sweden</em> (<em>Sweden</em>)
|
||||
<br><br></li>
|
||||
Location: <a href="../../location.html#SE">SE</a> - <em>Kingdom of Sweden</em> (<em>Sweden</em>)</li>
|
||||
</ul>
|
||||
|
||||
<!-- END: next line ends content generated by: bin/output-index-author.sh -->
|
||||
@@ -142,18 +141,18 @@ Location: <a href="../../location.html#SE">SE</a> - <em>Kingdom of Sweden</em> (
|
||||
<!-- START: this line starts content for HTML phase 21 by: bin/pandoc-wrapper.sh via bin/md2html.sh -->
|
||||
|
||||
<h2 id="to-build">To build:</h2>
|
||||
<div class="sourceCode" id="cb1"><pre class="sourceCode sh"><code class="sourceCode bash"><span id="cb1-1"><a href="#cb1-1" aria-hidden="true" tabindex="-1"></a><span class="fu">make</span></span></code></pre></div>
|
||||
<div class="sourceCode" id="cb1"><pre class="sourceCode sh"><code class="sourceCode bash"><span id="cb1-1"><a href="#cb1-1" aria-hidden="true" tabindex="-1"></a> <span class="fu">make</span></span></code></pre></div>
|
||||
<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>
|
||||
<div class="sourceCode" id="cb2"><pre class="sourceCode sh"><code class="sourceCode bash"><span id="cb2-1"><a href="#cb2-1" aria-hidden="true" tabindex="-1"></a><span class="ex">./gavare</span> <span class="op">></span> ioccc_ray.ppm</span></code></pre></div>
|
||||
<div class="sourceCode" id="cb2"><pre class="sourceCode sh"><code class="sourceCode bash"><span id="cb2-1"><a href="#cb2-1" aria-hidden="true" tabindex="-1"></a> <span class="ex">./gavare</span> <span class="op">></span> ioccc_ray.ppm</span></code></pre></div>
|
||||
<p>Open <code>ioccc_ray.ppm</code> with a viewer capable of viewing PPM files. Alternatively,
|
||||
if you have ImageMagick installed, you can convert it to a jpeg:</p>
|
||||
<div class="sourceCode" id="cb3"><pre class="sourceCode sh"><code class="sourceCode bash"><span id="cb3-1"><a href="#cb3-1" aria-hidden="true" tabindex="-1"></a><span class="ex">convert</span> ioccc_ray.ppm ioccc_ray.jpg</span></code></pre></div>
|
||||
<div class="sourceCode" id="cb3"><pre class="sourceCode sh"><code class="sourceCode bash"><span id="cb3-1"><a href="#cb3-1" aria-hidden="true" tabindex="-1"></a> <span class="ex">convert</span> ioccc_ray.ppm ioccc_ray.jpg</span></code></pre></div>
|
||||
<p>and then view <code>ioccc_ray.jpg</code> in a graphics viewer, editor or web browser.</p>
|
||||
<h2 id="try">Try:</h2>
|
||||
<p>If you have <code>xv(1)</code> you can do:</p>
|
||||
<div class="sourceCode" id="cb4"><pre class="sourceCode sh"><code class="sourceCode bash"><span id="cb4-1"><a href="#cb4-1" aria-hidden="true" tabindex="-1"></a><span class="ex">./gavare</span> <span class="kw">|</span> <span class="ex">xv</span> <span class="at">-</span></span></code></pre></div>
|
||||
<div class="sourceCode" id="cb4"><pre class="sourceCode sh"><code class="sourceCode bash"><span id="cb4-1"><a href="#cb4-1" aria-hidden="true" tabindex="-1"></a> <span class="ex">./gavare</span> <span class="kw">|</span> <span class="ex">xv</span> <span class="at">-</span></span></code></pre></div>
|
||||
<p>to not worry about writing it to a file and just viewing the image it creates.</p>
|
||||
<h2 id="alternate-code">Alternate code:</h2>
|
||||
<p>The alt code <a href="gavare.alt.c">gavare.alt.c</a> allows you to change the size of the
|
||||
@@ -166,18 +165,18 @@ was used during development, which we have included in the file
|
||||
on <code>stdout</code> which theoretically should work in Windows.</p>
|
||||
<h3 id="alternate-build">Alternate build:</h3>
|
||||
<p>To build the configurable and unobfuscated versions:</p>
|
||||
<div class="sourceCode" id="cb5"><pre class="sourceCode sh"><code class="sourceCode bash"><span id="cb5-1"><a href="#cb5-1" aria-hidden="true" tabindex="-1"></a><span class="fu">make</span> alt</span></code></pre></div>
|
||||
<div class="sourceCode" id="cb5"><pre class="sourceCode sh"><code class="sourceCode bash"><span id="cb5-1"><a href="#cb5-1" aria-hidden="true" tabindex="-1"></a> <span class="fu">make</span> alt</span></code></pre></div>
|
||||
<p>To change the default size from 1024x768 try:</p>
|
||||
<div class="sourceCode" id="cb6"><pre class="sourceCode sh"><code class="sourceCode bash"><span id="cb6-1"><a href="#cb6-1" aria-hidden="true" tabindex="-1"></a><span class="fu">make</span> clobber XX=640 YY=480 alt</span></code></pre></div>
|
||||
<div class="sourceCode" id="cb6"><pre class="sourceCode sh"><code class="sourceCode bash"><span id="cb6-1"><a href="#cb6-1" aria-hidden="true" tabindex="-1"></a> <span class="fu">make</span> clobber XX=640 YY=480 alt</span></code></pre></div>
|
||||
<p>You might also wish to change the anti-alias setting:</p>
|
||||
<div class="sourceCode" id="cb7"><pre class="sourceCode sh"><code class="sourceCode bash"><span id="cb7-1"><a href="#cb7-1" aria-hidden="true" tabindex="-1"></a><span class="fu">make</span> clobber AA=2 alt</span></code></pre></div>
|
||||
<div class="sourceCode" id="cb7"><pre class="sourceCode sh"><code class="sourceCode bash"><span id="cb7-1"><a href="#cb7-1" aria-hidden="true" tabindex="-1"></a> <span class="fu">make</span> clobber AA=2 alt</span></code></pre></div>
|
||||
<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>
|
||||
<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>
|
||||
<div class="sourceCode" id="cb8"><pre class="sourceCode sh"><code class="sourceCode bash"><span id="cb8-1"><a href="#cb8-1" aria-hidden="true" tabindex="-1"></a><span class="fu">make</span> alt2</span></code></pre></div>
|
||||
<div class="sourceCode" id="cb8"><pre class="sourceCode sh"><code class="sourceCode bash"><span id="cb8-1"><a href="#cb8-1" aria-hidden="true" tabindex="-1"></a> <span class="fu">make</span> alt2</span></code></pre></div>
|
||||
<h3 id="alternate-use">Alternate use:</h3>
|
||||
<p>Use <code>gavare.alt</code>, <code>gavare.r3</code> or <code>gavare.alt2</code> as you would <code>gavare</code> above.</p>
|
||||
<h2 id="judges-remarks">Judges’ remarks:</h2>
|
||||
|
||||
+14
-14
@@ -1,7 +1,7 @@
|
||||
## To build:
|
||||
|
||||
```sh
|
||||
make
|
||||
make
|
||||
```
|
||||
|
||||
|
||||
@@ -15,9 +15,9 @@ to reboot and rely on having a floppy drive (if you even remember what those are
|
||||
The current status of this entry is:
|
||||
|
||||
```
|
||||
STATUS: compiled executable crashes - please help us fix
|
||||
STATUS: doesn't work with some platforms - please help us fix
|
||||
STATUS: INABIAF - please **DO NOT** fix
|
||||
STATUS: compiled executable crashes - please help us fix
|
||||
STATUS: doesn't work with some platforms - please help us fix
|
||||
STATUS: INABIAF - please **DO NOT** fix
|
||||
```
|
||||
|
||||
For more detailed information see [2004 gavin bugs](../../bugs.html#2004_gavin).
|
||||
@@ -26,7 +26,7 @@ For more detailed information see [2004 gavin bugs](../../bugs.html#2004_gavin).
|
||||
## To use:
|
||||
|
||||
```sh
|
||||
./gavin
|
||||
./gavin
|
||||
```
|
||||
|
||||
|
||||
@@ -37,14 +37,14 @@ those? We do!):
|
||||
|
||||
|
||||
```sh
|
||||
su
|
||||
su
|
||||
```
|
||||
|
||||
Make a floppy with an ext2 filesystem (`mke2fs /dev/fd0` replacing `fd0` with
|
||||
whatever the floppy device is!), mount it under `/mnt/floppy` and then:
|
||||
|
||||
```sh
|
||||
cp kernel fs.tar lilo.conf boot.b /mnt/floppy
|
||||
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.
|
||||
@@ -52,27 +52,27 @@ 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.
|
||||
|
||||
```sh
|
||||
lilo -C /mnt/floppy/lilo.conf
|
||||
lilo -C /mnt/floppy/lilo.conf
|
||||
```
|
||||
|
||||
Boot from the floppy on an x86 machine with a PS/2 keyboard and mouse.
|
||||
Move the window away from the corner.
|
||||
|
||||
```sh
|
||||
vi gavin.c
|
||||
vi gavin.c
|
||||
```
|
||||
|
||||
Scroll up and down the file with up-arrow and down-arrow.
|
||||
|
||||
```sh
|
||||
sh
|
||||
sh
|
||||
```
|
||||
|
||||
You can have several shell windows:
|
||||
|
||||
```sh
|
||||
vi README.md
|
||||
./prim
|
||||
vi README.md
|
||||
./prim
|
||||
```
|
||||
|
||||
Press and hold any key.
|
||||
@@ -87,7 +87,7 @@ you can use it with `QEMU`.
|
||||
### Alternate build:
|
||||
|
||||
```sh
|
||||
make alt
|
||||
make alt
|
||||
```
|
||||
|
||||
|
||||
@@ -198,7 +198,7 @@ so these may need updating as appropriate (`0x90200` is the address
|
||||
at which a Linux bootloader loads an x86 kernel image).
|
||||
|
||||
```
|
||||
\* ;-)
|
||||
\* ;-)
|
||||
```
|
||||
|
||||
|
||||
|
||||
+17
-13
@@ -136,24 +136,28 @@ 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>
|
||||
<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 & 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
|
||||
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 & 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).</code></pre>
|
||||
<ol start="3" type="1">
|
||||
<li>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.</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)/<PATH>/kernel</code> (substituting appropriate hard
|
||||
drive/partition numbers & path, or using <code>(fd0)</code> to load a kernel on the
|
||||
floppy), then <code>initrd=(hd0,0)/<PATH>/fs.tar</code>, and finally <code>boot</code>.</p></li>
|
||||
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)/<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`.</code></pre>
|
||||
<ol start="4" type="1">
|
||||
<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
|
||||
|
||||
@@ -15,12 +15,14 @@ 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
|
||||
@@ -30,10 +32,12 @@ 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
|
||||
|
||||
+15
-16
@@ -132,8 +132,7 @@
|
||||
<h2 id="author"><a name="author"></a>Author:</h2>
|
||||
<ul>
|
||||
<li>Name: <a href="../../authors.html#Gavin_Barraclough">Gavin Barraclough</a><br>
|
||||
Location: <a href="../../location.html#ZZ">ZZ</a> - <em>Unknown location</em>
|
||||
<br><br></li>
|
||||
Location: <a href="../../location.html#ZZ">ZZ</a> - <em>Unknown location</em></li>
|
||||
</ul>
|
||||
|
||||
<!-- END: next line ends content generated by: bin/output-index-author.sh -->
|
||||
@@ -142,42 +141,42 @@ Location: <a href="../../location.html#ZZ">ZZ</a> - <em>Unknown location</em>
|
||||
<!-- START: this line starts content for HTML phase 21 by: bin/pandoc-wrapper.sh via bin/md2html.sh -->
|
||||
|
||||
<h2 id="to-build">To build:</h2>
|
||||
<div class="sourceCode" id="cb1"><pre class="sourceCode sh"><code class="sourceCode bash"><span id="cb1-1"><a href="#cb1-1" aria-hidden="true" tabindex="-1"></a><span class="fu">make</span></span></code></pre></div>
|
||||
<div class="sourceCode" id="cb1"><pre class="sourceCode sh"><code class="sourceCode bash"><span id="cb1-1"><a href="#cb1-1" aria-hidden="true" tabindex="-1"></a> <span class="fu">make</span></span></code></pre></div>
|
||||
<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>
|
||||
<h3 id="bugs-and-misfeatures">Bugs and (Mis)features:</h3>
|
||||
<p>The current status of this entry is:</p>
|
||||
<pre><code>STATUS: compiled executable crashes - please help us fix
|
||||
STATUS: doesn't work with some platforms - please help us fix
|
||||
STATUS: INABIAF - please **DO NOT** fix</code></pre>
|
||||
<pre><code> STATUS: compiled executable crashes - please help us fix
|
||||
STATUS: doesn't work with some platforms - please help us fix
|
||||
STATUS: INABIAF - please **DO NOT** fix</code></pre>
|
||||
<p>For more detailed information see <a href="../../bugs.html#2004_gavin">2004 gavin bugs</a>.</p>
|
||||
<h2 id="to-use">To use:</h2>
|
||||
<div class="sourceCode" id="cb3"><pre class="sourceCode sh"><code class="sourceCode bash"><span id="cb3-1"><a href="#cb3-1" aria-hidden="true" tabindex="-1"></a><span class="ex">./gavin</span></span></code></pre></div>
|
||||
<div class="sourceCode" id="cb3"><pre class="sourceCode sh"><code class="sourceCode bash"><span id="cb3-1"><a href="#cb3-1" aria-hidden="true" tabindex="-1"></a> <span class="ex">./gavin</span></span></code></pre></div>
|
||||
<h2 id="try">Try:</h2>
|
||||
<p>To enjoy the results (on a Linux/x86 machine) with a floppy drive (remember
|
||||
those? We do!):</p>
|
||||
<div class="sourceCode" id="cb4"><pre class="sourceCode sh"><code class="sourceCode bash"><span id="cb4-1"><a href="#cb4-1" aria-hidden="true" tabindex="-1"></a><span class="fu">su</span></span></code></pre></div>
|
||||
<div class="sourceCode" id="cb4"><pre class="sourceCode sh"><code class="sourceCode bash"><span id="cb4-1"><a href="#cb4-1" aria-hidden="true" tabindex="-1"></a> <span class="fu">su</span></span></code></pre></div>
|
||||
<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>
|
||||
<div class="sourceCode" id="cb5"><pre class="sourceCode sh"><code class="sourceCode bash"><span id="cb5-1"><a href="#cb5-1" aria-hidden="true" tabindex="-1"></a><span class="fu">cp</span> kernel fs.tar lilo.conf boot.b /mnt/floppy</span></code></pre></div>
|
||||
<div class="sourceCode" id="cb5"><pre class="sourceCode sh"><code class="sourceCode bash"><span id="cb5-1"><a href="#cb5-1" aria-hidden="true" tabindex="-1"></a> <span class="fu">cp</span> kernel fs.tar lilo.conf boot.b /mnt/floppy</span></code></pre></div>
|
||||
<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>
|
||||
<div class="sourceCode" id="cb6"><pre class="sourceCode sh"><code class="sourceCode bash"><span id="cb6-1"><a href="#cb6-1" aria-hidden="true" tabindex="-1"></a><span class="ex">lilo</span> <span class="at">-C</span> /mnt/floppy/lilo.conf</span></code></pre></div>
|
||||
<div class="sourceCode" id="cb6"><pre class="sourceCode sh"><code class="sourceCode bash"><span id="cb6-1"><a href="#cb6-1" aria-hidden="true" tabindex="-1"></a> <span class="ex">lilo</span> <span class="at">-C</span> /mnt/floppy/lilo.conf</span></code></pre></div>
|
||||
<p>Boot from the floppy on an x86 machine with a PS/2 keyboard and mouse.
|
||||
Move the window away from the corner.</p>
|
||||
<div class="sourceCode" id="cb7"><pre class="sourceCode sh"><code class="sourceCode bash"><span id="cb7-1"><a href="#cb7-1" aria-hidden="true" tabindex="-1"></a><span class="fu">vi</span> gavin.c</span></code></pre></div>
|
||||
<div class="sourceCode" id="cb7"><pre class="sourceCode sh"><code class="sourceCode bash"><span id="cb7-1"><a href="#cb7-1" aria-hidden="true" tabindex="-1"></a> <span class="fu">vi</span> gavin.c</span></code></pre></div>
|
||||
<p>Scroll up and down the file with up-arrow and down-arrow.</p>
|
||||
<div class="sourceCode" id="cb8"><pre class="sourceCode sh"><code class="sourceCode bash"><span id="cb8-1"><a href="#cb8-1" aria-hidden="true" tabindex="-1"></a><span class="fu">sh</span></span></code></pre></div>
|
||||
<div class="sourceCode" id="cb8"><pre class="sourceCode sh"><code class="sourceCode bash"><span id="cb8-1"><a href="#cb8-1" aria-hidden="true" tabindex="-1"></a> <span class="fu">sh</span></span></code></pre></div>
|
||||
<p>You can have several shell windows:</p>
|
||||
<div class="sourceCode" id="cb9"><pre class="sourceCode sh"><code class="sourceCode bash"><span id="cb9-1"><a href="#cb9-1" aria-hidden="true" tabindex="-1"></a><span class="fu">vi</span> README.md</span>
|
||||
<span id="cb9-2"><a href="#cb9-2" aria-hidden="true" tabindex="-1"></a><span class="ex">./prim</span></span></code></pre></div>
|
||||
<div class="sourceCode" id="cb9"><pre class="sourceCode sh"><code class="sourceCode bash"><span id="cb9-1"><a href="#cb9-1" aria-hidden="true" tabindex="-1"></a> <span class="fu">vi</span> README.md</span>
|
||||
<span id="cb9-2"><a href="#cb9-2" aria-hidden="true" tabindex="-1"></a> <span class="ex">./prim</span></span></code></pre></div>
|
||||
<p>Press and hold any key.</p>
|
||||
<h2 id="alternate-code">Alternate code:</h2>
|
||||
<p>This version’s main difference is that the macro <code>K</code> is redefined to <code>1</code> so that
|
||||
you can use it with <code>QEMU</code>.</p>
|
||||
<h3 id="alternate-build">Alternate build:</h3>
|
||||
<div class="sourceCode" id="cb10"><pre class="sourceCode sh"><code class="sourceCode bash"><span id="cb10-1"><a href="#cb10-1" aria-hidden="true" tabindex="-1"></a><span class="fu">make</span> alt</span></code></pre></div>
|
||||
<div class="sourceCode" id="cb10"><pre class="sourceCode sh"><code class="sourceCode bash"><span id="cb10-1"><a href="#cb10-1" aria-hidden="true" tabindex="-1"></a> <span class="fu">make</span> alt</span></code></pre></div>
|
||||
<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
|
||||
@@ -257,7 +256,7 @@ data & 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>
|
||||
<pre><code> \* ;-)</code></pre>
|
||||
<!--
|
||||
|
||||
Copyright © 1984-2024 by Landon Curt Noll. All Rights Reserved.
|
||||
|
||||
+13
-13
@@ -1,14 +1,14 @@
|
||||
## To build:
|
||||
|
||||
```sh
|
||||
make
|
||||
make
|
||||
```
|
||||
|
||||
|
||||
## To use:
|
||||
|
||||
```sh
|
||||
cd build; ./hibachi-start.sh &
|
||||
cd build; ./hibachi-start.sh &
|
||||
```
|
||||
|
||||
Then use your web browser to visit `http://localhost:8008/`. When you're
|
||||
@@ -43,8 +43,8 @@ extraction) that unpacks several support files and a subdirectory tree
|
||||
containing the documentation and examples. It can be viewed by:
|
||||
|
||||
```sh
|
||||
tar -zxf hibachi.tgz
|
||||
lynx hibachi/localhost/index.html
|
||||
tar -zxf hibachi.tgz
|
||||
lynx hibachi/localhost/index.html
|
||||
```
|
||||
|
||||
Or once `Hibachi` is running, use a web browser (preferably one that
|
||||
@@ -59,19 +59,19 @@ To build just the executable:
|
||||
For Cygwin, FreeBSD, Linux (newer), Mac OS X:
|
||||
|
||||
```sh
|
||||
gcc -o hibachi hibachi.c
|
||||
gcc -o hibachi hibachi.c
|
||||
```
|
||||
|
||||
For Linux (older):
|
||||
|
||||
```sh
|
||||
gcc -DSHUT_WR=1 -o hibachi hibachi.c
|
||||
gcc -DSHUT_WR=1 -o hibachi hibachi.c
|
||||
```
|
||||
|
||||
For SunOS:
|
||||
|
||||
```sh
|
||||
gcc -o hibachi hibachi.c -lnsl -lsocket
|
||||
gcc -o hibachi hibachi.c -lnsl -lsocket
|
||||
```
|
||||
|
||||
Since some systems place socket and network functions into other libraries, a
|
||||
@@ -82,27 +82,27 @@ headers and functions are present, and setup the `#!` paths for the CGI
|
||||
examples. In which case the preferred build commands are:
|
||||
|
||||
```
|
||||
./configure [--enable-port=number]
|
||||
make
|
||||
./configure [--enable-port=number]
|
||||
make
|
||||
```
|
||||
|
||||
To start the server on the default port (8008):
|
||||
|
||||
```sh
|
||||
cd build;
|
||||
./hibachi-start.sh &
|
||||
cd build;
|
||||
./hibachi-start.sh &
|
||||
```
|
||||
|
||||
To test the server:
|
||||
|
||||
```sh
|
||||
lynx http://localhost:8008/
|
||||
lynx http://localhost:8008/
|
||||
```
|
||||
|
||||
To stop the server:
|
||||
|
||||
```sh
|
||||
kill %1
|
||||
kill %1
|
||||
```
|
||||
|
||||
### Features
|
||||
|
||||
+14
-15
@@ -132,8 +132,7 @@
|
||||
<h2 id="author"><a name="author"></a>Author:</h2>
|
||||
<ul>
|
||||
<li>Name: <a href="../../authors.html#Anthony_C_Howe">Anthony C. Howe</a><br>
|
||||
Location: <a href="../../location.html#CA">CA</a> - <em>Canada</em>
|
||||
<br><br></li>
|
||||
Location: <a href="../../location.html#CA">CA</a> - <em>Canada</em></li>
|
||||
</ul>
|
||||
|
||||
<!-- END: next line ends content generated by: bin/output-index-author.sh -->
|
||||
@@ -142,9 +141,9 @@ Location: <a href="../../location.html#CA">CA</a> - <em>Canada</em>
|
||||
<!-- START: this line starts content for HTML phase 21 by: bin/pandoc-wrapper.sh via bin/md2html.sh -->
|
||||
|
||||
<h2 id="to-build">To build:</h2>
|
||||
<div class="sourceCode" id="cb1"><pre class="sourceCode sh"><code class="sourceCode bash"><span id="cb1-1"><a href="#cb1-1" aria-hidden="true" tabindex="-1"></a><span class="fu">make</span></span></code></pre></div>
|
||||
<div class="sourceCode" id="cb1"><pre class="sourceCode sh"><code class="sourceCode bash"><span id="cb1-1"><a href="#cb1-1" aria-hidden="true" tabindex="-1"></a> <span class="fu">make</span></span></code></pre></div>
|
||||
<h2 id="to-use">To use:</h2>
|
||||
<div class="sourceCode" id="cb2"><pre class="sourceCode sh"><code class="sourceCode bash"><span id="cb2-1"><a href="#cb2-1" aria-hidden="true" tabindex="-1"></a><span class="bu">cd</span> build<span class="kw">;</span> <span class="ex">./hibachi-start.sh</span> <span class="kw">&</span></span></code></pre></div>
|
||||
<div class="sourceCode" id="cb2"><pre class="sourceCode sh"><code class="sourceCode bash"><span id="cb2-1"><a href="#cb2-1" aria-hidden="true" tabindex="-1"></a> <span class="bu">cd</span> build<span class="kw">;</span> <span class="ex">./hibachi-start.sh</span> <span class="kw">&</span></span></code></pre></div>
|
||||
<p>Then use your web browser to visit <code>http://localhost:8008/</code>. When you’re
|
||||
finished make sure to kill <code>hibachi</code>.</p>
|
||||
<p>NOTE: you must be in the <code>build</code> directory when running <code>hibachi-start.sh</code> for
|
||||
@@ -164,34 +163,34 @@ so the file does not exist here.</p>
|
||||
<p>There is a <code>hibachi.tgz</code> 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:</p>
|
||||
<div class="sourceCode" id="cb3"><pre class="sourceCode sh"><code class="sourceCode bash"><span id="cb3-1"><a href="#cb3-1" aria-hidden="true" tabindex="-1"></a><span class="fu">tar</span> <span class="at">-zxf</span> hibachi.tgz</span>
|
||||
<span id="cb3-2"><a href="#cb3-2" aria-hidden="true" tabindex="-1"></a><span class="fu">lynx</span> hibachi/localhost/index.html</span></code></pre></div>
|
||||
<div class="sourceCode" id="cb3"><pre class="sourceCode sh"><code class="sourceCode bash"><span id="cb3-1"><a href="#cb3-1" aria-hidden="true" tabindex="-1"></a> <span class="fu">tar</span> <span class="at">-zxf</span> hibachi.tgz</span>
|
||||
<span id="cb3-2"><a href="#cb3-2" aria-hidden="true" tabindex="-1"></a> <span class="fu">lynx</span> hibachi/localhost/index.html</span></code></pre></div>
|
||||
<p>Or once <code>Hibachi</code> is running, use a web browser (preferably one that
|
||||
supports images and JavaScript, to view the documentation and try
|
||||
some of the CGI examples) to visit: <code>http://localhost:8008/</code>.</p>
|
||||
<h3 id="building">Building</h3>
|
||||
<p>To build just the executable:</p>
|
||||
<p>For Cygwin, FreeBSD, Linux (newer), Mac OS X:</p>
|
||||
<div class="sourceCode" id="cb4"><pre class="sourceCode sh"><code class="sourceCode bash"><span id="cb4-1"><a href="#cb4-1" aria-hidden="true" tabindex="-1"></a><span class="fu">gcc</span> <span class="at">-o</span> hibachi hibachi.c</span></code></pre></div>
|
||||
<div class="sourceCode" id="cb4"><pre class="sourceCode sh"><code class="sourceCode bash"><span id="cb4-1"><a href="#cb4-1" aria-hidden="true" tabindex="-1"></a> <span class="fu">gcc</span> <span class="at">-o</span> hibachi hibachi.c</span></code></pre></div>
|
||||
<p>For Linux (older):</p>
|
||||
<div class="sourceCode" id="cb5"><pre class="sourceCode sh"><code class="sourceCode bash"><span id="cb5-1"><a href="#cb5-1" aria-hidden="true" tabindex="-1"></a><span class="fu">gcc</span> <span class="at">-DSHUT_WR</span><span class="op">=</span>1 <span class="at">-o</span> hibachi hibachi.c</span></code></pre></div>
|
||||
<div class="sourceCode" id="cb5"><pre class="sourceCode sh"><code class="sourceCode bash"><span id="cb5-1"><a href="#cb5-1" aria-hidden="true" tabindex="-1"></a> <span class="fu">gcc</span> <span class="at">-DSHUT_WR</span><span class="op">=</span>1 <span class="at">-o</span> hibachi hibachi.c</span></code></pre></div>
|
||||
<p>For SunOS:</p>
|
||||
<div class="sourceCode" id="cb6"><pre class="sourceCode sh"><code class="sourceCode bash"><span id="cb6-1"><a href="#cb6-1" aria-hidden="true" tabindex="-1"></a><span class="fu">gcc</span> <span class="at">-o</span> hibachi hibachi.c <span class="at">-lnsl</span> <span class="at">-lsocket</span></span></code></pre></div>
|
||||
<div class="sourceCode" id="cb6"><pre class="sourceCode sh"><code class="sourceCode bash"><span id="cb6-1"><a href="#cb6-1" aria-hidden="true" tabindex="-1"></a> <span class="fu">gcc</span> <span class="at">-o</span> hibachi hibachi.c <span class="at">-lnsl</span> <span class="at">-lsocket</span></span></code></pre></div>
|
||||
<p>Since some systems place socket and network functions into other libraries, a
|
||||
<a href="https://en.wikipedia.org/wiki/Autoconf">GNU autoconf</a>
|
||||
<a href="https://en.wikipedia.org/wiki/Configure_script">configure</a> script has been
|
||||
provided to figure out the necessary link libraries, to verify all the necessary
|
||||
headers and functions are present, and setup the <code>#!</code> paths for the CGI
|
||||
examples. In which case the preferred build commands are:</p>
|
||||
<pre><code>./configure [--enable-port=number]
|
||||
make</code></pre>
|
||||
<pre><code> ./configure [--enable-port=number]
|
||||
make</code></pre>
|
||||
<p>To start the server on the default port (8008):</p>
|
||||
<div class="sourceCode" id="cb8"><pre class="sourceCode sh"><code class="sourceCode bash"><span id="cb8-1"><a href="#cb8-1" aria-hidden="true" tabindex="-1"></a><span class="bu">cd</span> build<span class="kw">;</span></span>
|
||||
<span id="cb8-2"><a href="#cb8-2" aria-hidden="true" tabindex="-1"></a><span class="ex">./hibachi-start.sh</span> <span class="kw">&</span></span></code></pre></div>
|
||||
<div class="sourceCode" id="cb8"><pre class="sourceCode sh"><code class="sourceCode bash"><span id="cb8-1"><a href="#cb8-1" aria-hidden="true" tabindex="-1"></a> <span class="bu">cd</span> build<span class="kw">;</span></span>
|
||||
<span id="cb8-2"><a href="#cb8-2" aria-hidden="true" tabindex="-1"></a> <span class="ex">./hibachi-start.sh</span> <span class="kw">&</span></span></code></pre></div>
|
||||
<p>To test the server:</p>
|
||||
<div class="sourceCode" id="cb9"><pre class="sourceCode sh"><code class="sourceCode bash"><span id="cb9-1"><a href="#cb9-1" aria-hidden="true" tabindex="-1"></a><span class="fu">lynx</span> http://localhost:8008/</span></code></pre></div>
|
||||
<div class="sourceCode" id="cb9"><pre class="sourceCode sh"><code class="sourceCode bash"><span id="cb9-1"><a href="#cb9-1" aria-hidden="true" tabindex="-1"></a> <span class="fu">lynx</span> http://localhost:8008/</span></code></pre></div>
|
||||
<p>To stop the server:</p>
|
||||
<div class="sourceCode" id="cb10"><pre class="sourceCode sh"><code class="sourceCode bash"><span id="cb10-1"><a href="#cb10-1" aria-hidden="true" tabindex="-1"></a><span class="bu">kill</span> %1</span></code></pre></div>
|
||||
<div class="sourceCode" id="cb10"><pre class="sourceCode sh"><code class="sourceCode bash"><span id="cb10-1"><a href="#cb10-1" aria-hidden="true" tabindex="-1"></a> <span class="bu">kill</span> %1</span></code></pre></div>
|
||||
<h3 id="features">Features</h3>
|
||||
<ul>
|
||||
<li><p>Supports virtual hosts.</p></li>
|
||||
|
||||
@@ -1,21 +1,21 @@
|
||||
## To build:
|
||||
|
||||
```sh
|
||||
make
|
||||
make
|
||||
```
|
||||
|
||||
|
||||
## To use:
|
||||
|
||||
```sh
|
||||
./hoyle point ...
|
||||
./hoyle point ...
|
||||
```
|
||||
|
||||
|
||||
## Try:
|
||||
|
||||
```sh
|
||||
./try.sh
|
||||
./try.sh
|
||||
```
|
||||
|
||||
|
||||
@@ -48,13 +48,13 @@ passed in.
|
||||
For example, to graph `y = x^2`:
|
||||
|
||||
```sh
|
||||
./hoyle 0 0 1
|
||||
./hoyle 0 0 1
|
||||
```
|
||||
|
||||
Note that:
|
||||
|
||||
```sh
|
||||
./hoyle 0 0 2
|
||||
./hoyle 0 0 2
|
||||
```
|
||||
|
||||
will produce the same graph, since the `y-axis` is auto scaling.
|
||||
|
||||
@@ -132,8 +132,7 @@
|
||||
<h2 id="author"><a name="author"></a>Author:</h2>
|
||||
<ul>
|
||||
<li>Name: <a href="../../authors.html#Jonathan_Hoyle">Jonathan Hoyle</a><br>
|
||||
Location: <a href="../../location.html#US">US</a> - <em>United States of America</em> (<em>United States</em>)
|
||||
<br><br></li>
|
||||
Location: <a href="../../location.html#US">US</a> - <em>United States of America</em> (<em>United States</em>)</li>
|
||||
</ul>
|
||||
|
||||
<!-- END: next line ends content generated by: bin/output-index-author.sh -->
|
||||
@@ -142,11 +141,11 @@ Location: <a href="../../location.html#US">US</a> - <em>United States of America
|
||||
<!-- START: this line starts content for HTML phase 21 by: bin/pandoc-wrapper.sh via bin/md2html.sh -->
|
||||
|
||||
<h2 id="to-build">To build:</h2>
|
||||
<div class="sourceCode" id="cb1"><pre class="sourceCode sh"><code class="sourceCode bash"><span id="cb1-1"><a href="#cb1-1" aria-hidden="true" tabindex="-1"></a><span class="fu">make</span></span></code></pre></div>
|
||||
<div class="sourceCode" id="cb1"><pre class="sourceCode sh"><code class="sourceCode bash"><span id="cb1-1"><a href="#cb1-1" aria-hidden="true" tabindex="-1"></a> <span class="fu">make</span></span></code></pre></div>
|
||||
<h2 id="to-use">To use:</h2>
|
||||
<div class="sourceCode" id="cb2"><pre class="sourceCode sh"><code class="sourceCode bash"><span id="cb2-1"><a href="#cb2-1" aria-hidden="true" tabindex="-1"></a><span class="ex">./hoyle</span> point ...</span></code></pre></div>
|
||||
<div class="sourceCode" id="cb2"><pre class="sourceCode sh"><code class="sourceCode bash"><span id="cb2-1"><a href="#cb2-1" aria-hidden="true" tabindex="-1"></a> <span class="ex">./hoyle</span> point ...</span></code></pre></div>
|
||||
<h2 id="try">Try:</h2>
|
||||
<div class="sourceCode" id="cb3"><pre class="sourceCode sh"><code class="sourceCode bash"><span id="cb3-1"><a href="#cb3-1" aria-hidden="true" tabindex="-1"></a><span class="ex">./try.sh</span></span></code></pre></div>
|
||||
<div class="sourceCode" id="cb3"><pre class="sourceCode sh"><code class="sourceCode bash"><span id="cb3-1"><a href="#cb3-1" aria-hidden="true" tabindex="-1"></a> <span class="ex">./try.sh</span></span></code></pre></div>
|
||||
<h2 id="judges-remarks">Judges’ remarks:</h2>
|
||||
<p>The obfuscation functions at several levels. Note the clever
|
||||
use of use of <code>#define</code>s. The <code>#define do(if,else)</code>, for example,
|
||||
@@ -168,9 +167,9 @@ passed in.</li>
|
||||
dashes rather than a simple block of <code>X</code>s.</li>
|
||||
</ul>
|
||||
<p>For example, to graph <code>y = x^2</code>:</p>
|
||||
<div class="sourceCode" id="cb4"><pre class="sourceCode sh"><code class="sourceCode bash"><span id="cb4-1"><a href="#cb4-1" aria-hidden="true" tabindex="-1"></a><span class="ex">./hoyle</span> 0 0 1</span></code></pre></div>
|
||||
<div class="sourceCode" id="cb4"><pre class="sourceCode sh"><code class="sourceCode bash"><span id="cb4-1"><a href="#cb4-1" aria-hidden="true" tabindex="-1"></a> <span class="ex">./hoyle</span> 0 0 1</span></code></pre></div>
|
||||
<p>Note that:</p>
|
||||
<div class="sourceCode" id="cb5"><pre class="sourceCode sh"><code class="sourceCode bash"><span id="cb5-1"><a href="#cb5-1" aria-hidden="true" tabindex="-1"></a><span class="ex">./hoyle</span> 0 0 2</span></code></pre></div>
|
||||
<div class="sourceCode" id="cb5"><pre class="sourceCode sh"><code class="sourceCode bash"><span id="cb5-1"><a href="#cb5-1" aria-hidden="true" tabindex="-1"></a> <span class="ex">./hoyle</span> 0 0 2</span></code></pre></div>
|
||||
<p>will produce the same graph, since the <code>y-axis</code> is auto scaling.</p>
|
||||
<!--
|
||||
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
## To build:
|
||||
|
||||
```sh
|
||||
make
|
||||
make
|
||||
```
|
||||
|
||||
There is an alternate version that allows one to control the number of numbers
|
||||
@@ -13,7 +13,7 @@ to print on a line. See [alternate code](#alternate-code) below.
|
||||
The current status of this entry is:
|
||||
|
||||
```
|
||||
STATUS: INABIAF - please **DO NOT** fix
|
||||
STATUS: INABIAF - please **DO NOT** fix
|
||||
```
|
||||
|
||||
For more detailed information see [2004 jdalbec bugs](../../bugs.html#2004_jdalbec).
|
||||
@@ -22,14 +22,14 @@ For more detailed information see [2004 jdalbec bugs](../../bugs.html#2004_jdalb
|
||||
## To use:
|
||||
|
||||
```sh
|
||||
./jdalbec number ...
|
||||
./jdalbec number ...
|
||||
```
|
||||
|
||||
|
||||
## Try:
|
||||
|
||||
```sh
|
||||
./try.sh
|
||||
./try.sh
|
||||
```
|
||||
|
||||
|
||||
@@ -44,7 +44,7 @@ which line it is on.
|
||||
### Alternate build:
|
||||
|
||||
```sh
|
||||
make alt
|
||||
make alt
|
||||
```
|
||||
|
||||
The macro `Ag` ([silver](https://en.wikipedia.org/wiki/Silver)) controls how
|
||||
@@ -53,7 +53,7 @@ you wish to make it silver, 47 (a prime) protons, do:
|
||||
|
||||
|
||||
```sh
|
||||
make clobber Ag=47 alt
|
||||
make clobber Ag=47 alt
|
||||
```
|
||||
|
||||
though it might be odd to have 47 numbers on a line as it would defeat the
|
||||
@@ -61,7 +61,7 @@ purpose. :-) Or if you prefer some prime, golden irony:
|
||||
|
||||
|
||||
```sh
|
||||
make clobber Ag=79 alt
|
||||
make clobber Ag=79 alt
|
||||
```
|
||||
|
||||
|
||||
@@ -73,7 +73,7 @@ Use `jdalbec.alt` as you would `jdalbec` above.
|
||||
### Alternate try:
|
||||
|
||||
```sh
|
||||
./try.alt.sh
|
||||
./try.alt.sh
|
||||
```
|
||||
|
||||
|
||||
|
||||
+9
-10
@@ -132,8 +132,7 @@
|
||||
<h2 id="author"><a name="author"></a>Author:</h2>
|
||||
<ul>
|
||||
<li>Name: <a href="../../authors.html#John_Dalbec">John Dalbec</a><br>
|
||||
Location: <a href="../../location.html#US">US</a> - <em>United States of America</em> (<em>United States</em>)
|
||||
<br><br></li>
|
||||
Location: <a href="../../location.html#US">US</a> - <em>United States of America</em> (<em>United States</em>)</li>
|
||||
</ul>
|
||||
|
||||
<!-- END: next line ends content generated by: bin/output-index-author.sh -->
|
||||
@@ -142,35 +141,35 @@ Location: <a href="../../location.html#US">US</a> - <em>United States of America
|
||||
<!-- START: this line starts content for HTML phase 21 by: bin/pandoc-wrapper.sh via bin/md2html.sh -->
|
||||
|
||||
<h2 id="to-build">To build:</h2>
|
||||
<div class="sourceCode" id="cb1"><pre class="sourceCode sh"><code class="sourceCode bash"><span id="cb1-1"><a href="#cb1-1" aria-hidden="true" tabindex="-1"></a><span class="fu">make</span></span></code></pre></div>
|
||||
<div class="sourceCode" id="cb1"><pre class="sourceCode sh"><code class="sourceCode bash"><span id="cb1-1"><a href="#cb1-1" aria-hidden="true" tabindex="-1"></a> <span class="fu">make</span></span></code></pre></div>
|
||||
<p>There is an alternate version that allows one to control the number of numbers
|
||||
to print on a line. 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>
|
||||
<pre><code>STATUS: INABIAF - please **DO NOT** fix</code></pre>
|
||||
<pre><code> STATUS: INABIAF - please **DO NOT** fix</code></pre>
|
||||
<p>For more detailed information see <a href="../../bugs.html#2004_jdalbec">2004 jdalbec bugs</a>.</p>
|
||||
<h2 id="to-use">To use:</h2>
|
||||
<div class="sourceCode" id="cb3"><pre class="sourceCode sh"><code class="sourceCode bash"><span id="cb3-1"><a href="#cb3-1" aria-hidden="true" tabindex="-1"></a><span class="ex">./jdalbec</span> number ...</span></code></pre></div>
|
||||
<div class="sourceCode" id="cb3"><pre class="sourceCode sh"><code class="sourceCode bash"><span id="cb3-1"><a href="#cb3-1" aria-hidden="true" tabindex="-1"></a> <span class="ex">./jdalbec</span> number ...</span></code></pre></div>
|
||||
<h2 id="try">Try:</h2>
|
||||
<div class="sourceCode" id="cb4"><pre class="sourceCode sh"><code class="sourceCode bash"><span id="cb4-1"><a href="#cb4-1" aria-hidden="true" tabindex="-1"></a><span class="ex">./try.sh</span></span></code></pre></div>
|
||||
<div class="sourceCode" id="cb4"><pre class="sourceCode sh"><code class="sourceCode bash"><span id="cb4-1"><a href="#cb4-1" aria-hidden="true" tabindex="-1"></a> <span class="ex">./try.sh</span></span></code></pre></div>
|
||||
<h2 id="alternate-code">Alternate code:</h2>
|
||||
<p>This version lets you control how many numbers to show on a line before adding a
|
||||
newline as it can be harder to see when there are a lot of numbers. For lines
|
||||
that don’t end up having too many line breaks it also makes it easier to see
|
||||
which line it is on.</p>
|
||||
<h3 id="alternate-build">Alternate build:</h3>
|
||||
<div class="sourceCode" id="cb5"><pre class="sourceCode sh"><code class="sourceCode bash"><span id="cb5-1"><a href="#cb5-1" aria-hidden="true" tabindex="-1"></a><span class="fu">make</span> alt</span></code></pre></div>
|
||||
<div class="sourceCode" id="cb5"><pre class="sourceCode sh"><code class="sourceCode bash"><span id="cb5-1"><a href="#cb5-1" aria-hidden="true" tabindex="-1"></a> <span class="fu">make</span> alt</span></code></pre></div>
|
||||
<p>The macro <code>Ag</code> (<a href="https://en.wikipedia.org/wiki/Silver">silver</a>) controls how
|
||||
many number of lines to print on a line. Set at default to 11 protons, salt, if
|
||||
you wish to make it silver, 47 (a prime) protons, do:</p>
|
||||
<div class="sourceCode" id="cb6"><pre class="sourceCode sh"><code class="sourceCode bash"><span id="cb6-1"><a href="#cb6-1" aria-hidden="true" tabindex="-1"></a><span class="fu">make</span> clobber Ag=47 alt</span></code></pre></div>
|
||||
<div class="sourceCode" id="cb6"><pre class="sourceCode sh"><code class="sourceCode bash"><span id="cb6-1"><a href="#cb6-1" aria-hidden="true" tabindex="-1"></a> <span class="fu">make</span> clobber Ag=47 alt</span></code></pre></div>
|
||||
<p>though it might be odd to have 47 numbers on a line as it would defeat the
|
||||
purpose. :-) Or if you prefer some prime, golden irony:</p>
|
||||
<div class="sourceCode" id="cb7"><pre class="sourceCode sh"><code class="sourceCode bash"><span id="cb7-1"><a href="#cb7-1" aria-hidden="true" tabindex="-1"></a><span class="fu">make</span> clobber Ag=79 alt</span></code></pre></div>
|
||||
<div class="sourceCode" id="cb7"><pre class="sourceCode sh"><code class="sourceCode bash"><span id="cb7-1"><a href="#cb7-1" aria-hidden="true" tabindex="-1"></a> <span class="fu">make</span> clobber Ag=79 alt</span></code></pre></div>
|
||||
<h3 id="alternate-use">Alternate use:</h3>
|
||||
<p>Use <code>jdalbec.alt</code> as you would <code>jdalbec</code> above.</p>
|
||||
<h3 id="alternate-try">Alternate try:</h3>
|
||||
<div class="sourceCode" id="cb8"><pre class="sourceCode sh"><code class="sourceCode bash"><span id="cb8-1"><a href="#cb8-1" aria-hidden="true" tabindex="-1"></a><span class="ex">./try.alt.sh</span></span></code></pre></div>
|
||||
<div class="sourceCode" id="cb8"><pre class="sourceCode sh"><code class="sourceCode bash"><span id="cb8-1"><a href="#cb8-1" aria-hidden="true" tabindex="-1"></a> <span class="ex">./try.alt.sh</span></span></code></pre></div>
|
||||
<h2 id="judges-remarks">Judges’ remarks:</h2>
|
||||
<p>We still aren’t sure whether or not this is a useful program, but
|
||||
it’s the first atomic fission we’ve seen in the IOCCC.</p>
|
||||
|
||||
+12
-12
@@ -1,7 +1,7 @@
|
||||
## To build:
|
||||
|
||||
```sh
|
||||
make
|
||||
make
|
||||
```
|
||||
|
||||
NOTE: We FORCE the use of -O0 even if someone overrides it because this entry
|
||||
@@ -11,14 +11,14 @@ will not work with it enabled.
|
||||
## To use:
|
||||
|
||||
```sh
|
||||
./kopczynski < input_file
|
||||
./kopczynski < input_file
|
||||
```
|
||||
|
||||
|
||||
## Try:
|
||||
|
||||
```sh
|
||||
./try.sh
|
||||
./try.sh
|
||||
```
|
||||
|
||||
What happens if you feed the program source to the program? Can you figure out
|
||||
@@ -35,15 +35,15 @@ does.
|
||||
### Alternate build:
|
||||
|
||||
```sh
|
||||
make alt
|
||||
make alt
|
||||
```
|
||||
|
||||
|
||||
### Alternate try:
|
||||
|
||||
```sh
|
||||
./kopczynski.alt < kopczynski-10
|
||||
echo $?
|
||||
./kopczynski.alt < kopczynski-10
|
||||
echo $?
|
||||
```
|
||||
|
||||
|
||||
@@ -182,12 +182,12 @@ not the top left one.) The following messages will also work instead of `has
|
||||
dirtiest IF`:
|
||||
|
||||
```
|
||||
HighlandYachter
|
||||
TestDirtiestTen
|
||||
has lintiest IF
|
||||
TighterLaughter
|
||||
HustlerDaughter
|
||||
TighterDemoThen
|
||||
HighlandYachter
|
||||
TestDirtiestTen
|
||||
has lintiest IF
|
||||
TighterLaughter
|
||||
HustlerDaughter
|
||||
TighterDemoThen
|
||||
```
|
||||
|
||||
They can be mixed, of course!
|
||||
|
||||
+13
-14
@@ -132,8 +132,7 @@
|
||||
<h2 id="author"><a name="author"></a>Author:</h2>
|
||||
<ul>
|
||||
<li>Name: <a href="../../authors.html#Eryk_Kopczynski">Eryk Kopczynski</a><br>
|
||||
Location: <a href="../../location.html#PL">PL</a> - <em>Republic of Poland</em> (<em>Poland</em>)
|
||||
<br><br></li>
|
||||
Location: <a href="../../location.html#PL">PL</a> - <em>Republic of Poland</em> (<em>Poland</em>)</li>
|
||||
</ul>
|
||||
|
||||
<!-- END: next line ends content generated by: bin/output-index-author.sh -->
|
||||
@@ -142,13 +141,13 @@ Location: <a href="../../location.html#PL">PL</a> - <em>Republic of Poland</em>
|
||||
<!-- START: this line starts content for HTML phase 21 by: bin/pandoc-wrapper.sh via bin/md2html.sh -->
|
||||
|
||||
<h2 id="to-build">To build:</h2>
|
||||
<div class="sourceCode" id="cb1"><pre class="sourceCode sh"><code class="sourceCode bash"><span id="cb1-1"><a href="#cb1-1" aria-hidden="true" tabindex="-1"></a><span class="fu">make</span></span></code></pre></div>
|
||||
<div class="sourceCode" id="cb1"><pre class="sourceCode sh"><code class="sourceCode bash"><span id="cb1-1"><a href="#cb1-1" aria-hidden="true" tabindex="-1"></a> <span class="fu">make</span></span></code></pre></div>
|
||||
<p>NOTE: We FORCE the use of -O0 even if someone overrides it because this entry
|
||||
will not work with it enabled.</p>
|
||||
<h2 id="to-use">To use:</h2>
|
||||
<div class="sourceCode" id="cb2"><pre class="sourceCode sh"><code class="sourceCode bash"><span id="cb2-1"><a href="#cb2-1" aria-hidden="true" tabindex="-1"></a><span class="ex">./kopczynski</span> <span class="op"><</span> input_file</span></code></pre></div>
|
||||
<div class="sourceCode" id="cb2"><pre class="sourceCode sh"><code class="sourceCode bash"><span id="cb2-1"><a href="#cb2-1" aria-hidden="true" tabindex="-1"></a> <span class="ex">./kopczynski</span> <span class="op"><</span> input_file</span></code></pre></div>
|
||||
<h2 id="try">Try:</h2>
|
||||
<div class="sourceCode" id="cb3"><pre class="sourceCode sh"><code class="sourceCode bash"><span id="cb3-1"><a href="#cb3-1" aria-hidden="true" tabindex="-1"></a><span class="ex">./try.sh</span></span></code></pre></div>
|
||||
<div class="sourceCode" id="cb3"><pre class="sourceCode sh"><code class="sourceCode bash"><span id="cb3-1"><a href="#cb3-1" aria-hidden="true" tabindex="-1"></a> <span class="ex">./try.sh</span></span></code></pre></div>
|
||||
<p>What happens if you feed the program source to the program? Can you figure out
|
||||
why?</p>
|
||||
<h2 id="alternate-code">Alternate code:</h2>
|
||||
@@ -156,10 +155,10 @@ why?</p>
|
||||
program returned the result as an exit code which is what the alternate version
|
||||
does.</p>
|
||||
<h3 id="alternate-build">Alternate build:</h3>
|
||||
<div class="sourceCode" id="cb4"><pre class="sourceCode sh"><code class="sourceCode bash"><span id="cb4-1"><a href="#cb4-1" aria-hidden="true" tabindex="-1"></a><span class="fu">make</span> alt</span></code></pre></div>
|
||||
<div class="sourceCode" id="cb4"><pre class="sourceCode sh"><code class="sourceCode bash"><span id="cb4-1"><a href="#cb4-1" aria-hidden="true" tabindex="-1"></a> <span class="fu">make</span> alt</span></code></pre></div>
|
||||
<h3 id="alternate-try">Alternate try:</h3>
|
||||
<div class="sourceCode" id="cb5"><pre class="sourceCode sh"><code class="sourceCode bash"><span id="cb5-1"><a href="#cb5-1" aria-hidden="true" tabindex="-1"></a><span class="ex">./kopczynski.alt</span> <span class="op"><</span> kopczynski-10</span>
|
||||
<span id="cb5-2"><a href="#cb5-2" aria-hidden="true" tabindex="-1"></a><span class="bu">echo</span> <span class="va">$?</span></span></code></pre></div>
|
||||
<div class="sourceCode" id="cb5"><pre class="sourceCode sh"><code class="sourceCode bash"><span id="cb5-1"><a href="#cb5-1" aria-hidden="true" tabindex="-1"></a> <span class="ex">./kopczynski.alt</span> <span class="op"><</span> kopczynski-10</span>
|
||||
<span id="cb5-2"><a href="#cb5-2" aria-hidden="true" tabindex="-1"></a> <span class="bu">echo</span> <span class="va">$?</span></span></code></pre></div>
|
||||
<h2 id="judges-remarks">Judges’ remarks:</h2>
|
||||
<p>What is in a line? A lot when you obfuscate the way Eryk Kopczynski
|
||||
did it. This small one line program is an outstanding technical
|
||||
@@ -256,12 +255,12 @@ we use 15-character string.)</p></li>
|
||||
until it did. (The <code>#</code> character to find vertexes is in the top right corner,
|
||||
not the top left one.) The following messages will also work instead of <code>has dirtiest IF</code>:</p></li>
|
||||
</ol>
|
||||
<pre><code>HighlandYachter
|
||||
TestDirtiestTen
|
||||
has lintiest IF
|
||||
TighterLaughter
|
||||
HustlerDaughter
|
||||
TighterDemoThen</code></pre>
|
||||
<pre><code> HighlandYachter
|
||||
TestDirtiestTen
|
||||
has lintiest IF
|
||||
TighterLaughter
|
||||
HustlerDaughter
|
||||
TighterDemoThen</code></pre>
|
||||
<p>They can be mixed, of course!</p>
|
||||
<ol start="8" type="1">
|
||||
<li><p>NOTE: item 8 was removed by the judges so as to not spoil the challenge of
|
||||
|
||||
@@ -1,21 +1,21 @@
|
||||
## To build:
|
||||
|
||||
```sh
|
||||
make
|
||||
make
|
||||
```
|
||||
|
||||
|
||||
## To use:
|
||||
|
||||
```sh
|
||||
./newbern [file.dat arg]
|
||||
./newbern [file.dat arg]
|
||||
```
|
||||
|
||||
|
||||
## Try:
|
||||
|
||||
```sh
|
||||
./try.sh
|
||||
./try.sh
|
||||
```
|
||||
|
||||
|
||||
@@ -35,14 +35,14 @@ This is a configurable `banner(1)`-like program.
|
||||
- To convert a character glyph into a data file:
|
||||
|
||||
```sh
|
||||
./newbern char < some_nicely_shaped_text >> data_file
|
||||
./newbern char < some_nicely_shaped_text >> data_file
|
||||
```
|
||||
|
||||
|
||||
- To print a string using glyphs from a data file:
|
||||
|
||||
```sh
|
||||
./newbern data_file a_string
|
||||
./newbern data_file a_string
|
||||
```
|
||||
|
||||
|
||||
|
||||
@@ -132,8 +132,7 @@
|
||||
<h2 id="author"><a name="author"></a>Author:</h2>
|
||||
<ul>
|
||||
<li>Name: <a href="../../authors.html#Jeff_Newbern">Jeff Newbern</a><br>
|
||||
Location: <a href="../../location.html#ZZ">ZZ</a> - <em>Unknown location</em>
|
||||
<br><br></li>
|
||||
Location: <a href="../../location.html#ZZ">ZZ</a> - <em>Unknown location</em></li>
|
||||
</ul>
|
||||
|
||||
<!-- END: next line ends content generated by: bin/output-index-author.sh -->
|
||||
@@ -142,11 +141,11 @@ Location: <a href="../../location.html#ZZ">ZZ</a> - <em>Unknown location</em>
|
||||
<!-- START: this line starts content for HTML phase 21 by: bin/pandoc-wrapper.sh via bin/md2html.sh -->
|
||||
|
||||
<h2 id="to-build">To build:</h2>
|
||||
<div class="sourceCode" id="cb1"><pre class="sourceCode sh"><code class="sourceCode bash"><span id="cb1-1"><a href="#cb1-1" aria-hidden="true" tabindex="-1"></a><span class="fu">make</span></span></code></pre></div>
|
||||
<div class="sourceCode" id="cb1"><pre class="sourceCode sh"><code class="sourceCode bash"><span id="cb1-1"><a href="#cb1-1" aria-hidden="true" tabindex="-1"></a> <span class="fu">make</span></span></code></pre></div>
|
||||
<h2 id="to-use">To use:</h2>
|
||||
<div class="sourceCode" id="cb2"><pre class="sourceCode sh"><code class="sourceCode bash"><span id="cb2-1"><a href="#cb2-1" aria-hidden="true" tabindex="-1"></a><span class="ex">./newbern</span> [file.dat arg]</span></code></pre></div>
|
||||
<div class="sourceCode" id="cb2"><pre class="sourceCode sh"><code class="sourceCode bash"><span id="cb2-1"><a href="#cb2-1" aria-hidden="true" tabindex="-1"></a> <span class="ex">./newbern</span> [file.dat arg]</span></code></pre></div>
|
||||
<h2 id="try">Try:</h2>
|
||||
<div class="sourceCode" id="cb3"><pre class="sourceCode sh"><code class="sourceCode bash"><span id="cb3-1"><a href="#cb3-1" aria-hidden="true" tabindex="-1"></a><span class="ex">./try.sh</span></span></code></pre></div>
|
||||
<div class="sourceCode" id="cb3"><pre class="sourceCode sh"><code class="sourceCode bash"><span id="cb3-1"><a href="#cb3-1" aria-hidden="true" tabindex="-1"></a> <span class="ex">./try.sh</span></span></code></pre></div>
|
||||
<h2 id="judges-remarks">Judges’ remarks:</h2>
|
||||
<p>The program is formatted using the same font glyphs as the example
|
||||
data file.</p>
|
||||
@@ -156,11 +155,11 @@ data file.</p>
|
||||
<ul>
|
||||
<li>To convert a character glyph into a data file:</li>
|
||||
</ul>
|
||||
<div class="sourceCode" id="cb4"><pre class="sourceCode sh"><code class="sourceCode bash"><span id="cb4-1"><a href="#cb4-1" aria-hidden="true" tabindex="-1"></a><span class="ex">./newbern</span> char <span class="op"><</span> some_nicely_shaped_text <span class="op">>></span> data_file</span></code></pre></div>
|
||||
<div class="sourceCode" id="cb4"><pre class="sourceCode sh"><code class="sourceCode bash"><span id="cb4-1"><a href="#cb4-1" aria-hidden="true" tabindex="-1"></a> <span class="ex">./newbern</span> char <span class="op"><</span> some_nicely_shaped_text <span class="op">>></span> data_file</span></code></pre></div>
|
||||
<ul>
|
||||
<li>To print a string using glyphs from a data file:</li>
|
||||
</ul>
|
||||
<div class="sourceCode" id="cb5"><pre class="sourceCode sh"><code class="sourceCode bash"><span id="cb5-1"><a href="#cb5-1" aria-hidden="true" tabindex="-1"></a><span class="ex">./newbern</span> data_file a_string</span></code></pre></div>
|
||||
<div class="sourceCode" id="cb5"><pre class="sourceCode sh"><code class="sourceCode bash"><span id="cb5-1"><a href="#cb5-1" aria-hidden="true" tabindex="-1"></a> <span class="ex">./newbern</span> data_file a_string</span></code></pre></div>
|
||||
<h3 id="extra-functionality">Extra functionality</h3>
|
||||
<p>The program can also act as a Morse encoder, unarguably.</p>
|
||||
<p>It also has double-super-secret encryption capabilities.
|
||||
|
||||
+13
-14
@@ -1,21 +1,21 @@
|
||||
## To build:
|
||||
|
||||
```sh
|
||||
make
|
||||
make
|
||||
```
|
||||
|
||||
|
||||
## To use:
|
||||
|
||||
```sh
|
||||
./omoikane infile layout outfile
|
||||
./omoikane infile layout outfile
|
||||
```
|
||||
|
||||
|
||||
## Try:
|
||||
|
||||
```
|
||||
./try.sh
|
||||
./try.sh
|
||||
```
|
||||
|
||||
|
||||
@@ -44,7 +44,7 @@ insert a human-readable checksum string in the text itself! `^_^`
|
||||
### Usage
|
||||
|
||||
```sh
|
||||
./omoikane <infile> <layout> <outfile>
|
||||
./omoikane <infile> <layout> <outfile>
|
||||
```
|
||||
|
||||
All three arguments may reference the same file. All files is
|
||||
@@ -82,18 +82,18 @@ layout.
|
||||
Example file/layout:
|
||||
|
||||
```
|
||||
file: layout:
|
||||
crc = ######## ... . XXXXXXXX
|
||||
patch = ###### ..... . XXXXXX
|
||||
other text here ..... .... ....
|
||||
file: layout:
|
||||
crc = ######## ... . XXXXXXXX
|
||||
patch = ###### ..... . XXXXXX
|
||||
other text here ..... .... ....
|
||||
```
|
||||
|
||||
And `Rinia` may generate a file similar to this:
|
||||
|
||||
```
|
||||
crc = 1bad73cf
|
||||
patch = #FR-QQ
|
||||
other text here
|
||||
crc = 1bad73cf
|
||||
patch = #FR-QQ
|
||||
other text here
|
||||
```
|
||||
|
||||
Note that the original file by itself is a valid layout file, since
|
||||
@@ -116,9 +116,8 @@ runs faster if the checksum is placed before the other marker
|
||||
characters rather than after, e.g.:
|
||||
|
||||
```
|
||||
a: X X XXX b: XXXXXXXX c: XXXXXXXX
|
||||
XXXXXXXX X X XXX XXXXX
|
||||
|
||||
a: X X XXX b: XXXXXXXX c: XXXXXXXX
|
||||
XXXXXXXX X X XXX XXXXX
|
||||
```
|
||||
|
||||
`a` usually takes the longest time, while `c` usually is the
|
||||
|
||||
+14
-16
@@ -132,8 +132,7 @@
|
||||
<h2 id="author"><a name="author"></a>Author:</h2>
|
||||
<ul>
|
||||
<li>Name: <a href="../../authors.html#Don_Yang">Don Yang</a><br>
|
||||
Location: <a href="../../location.html#US">US</a> - <em>United States of America</em> (<em>United States</em>)
|
||||
<br><br></li>
|
||||
Location: <a href="../../location.html#US">US</a> - <em>United States of America</em> (<em>United States</em>)</li>
|
||||
</ul>
|
||||
|
||||
<!-- END: next line ends content generated by: bin/output-index-author.sh -->
|
||||
@@ -142,11 +141,11 @@ Location: <a href="../../location.html#US">US</a> - <em>United States of America
|
||||
<!-- START: this line starts content for HTML phase 21 by: bin/pandoc-wrapper.sh via bin/md2html.sh -->
|
||||
|
||||
<h2 id="to-build">To build:</h2>
|
||||
<div class="sourceCode" id="cb1"><pre class="sourceCode sh"><code class="sourceCode bash"><span id="cb1-1"><a href="#cb1-1" aria-hidden="true" tabindex="-1"></a><span class="fu">make</span></span></code></pre></div>
|
||||
<div class="sourceCode" id="cb1"><pre class="sourceCode sh"><code class="sourceCode bash"><span id="cb1-1"><a href="#cb1-1" aria-hidden="true" tabindex="-1"></a> <span class="fu">make</span></span></code></pre></div>
|
||||
<h2 id="to-use">To use:</h2>
|
||||
<div class="sourceCode" id="cb2"><pre class="sourceCode sh"><code class="sourceCode bash"><span id="cb2-1"><a href="#cb2-1" aria-hidden="true" tabindex="-1"></a><span class="ex">./omoikane</span> infile layout outfile</span></code></pre></div>
|
||||
<div class="sourceCode" id="cb2"><pre class="sourceCode sh"><code class="sourceCode bash"><span id="cb2-1"><a href="#cb2-1" aria-hidden="true" tabindex="-1"></a> <span class="ex">./omoikane</span> infile layout outfile</span></code></pre></div>
|
||||
<h2 id="try">Try:</h2>
|
||||
<pre><code>./try.sh</code></pre>
|
||||
<pre><code> ./try.sh</code></pre>
|
||||
<h2 id="judges-remarks">Judges’ remarks:</h2>
|
||||
<p>For extra credit, spot the checksum in the source file itself.
|
||||
What makes this one particularly interesting is that the checksum,
|
||||
@@ -162,7 +161,7 @@ Comments refer to it as such.</p>
|
||||
strange file names or package .SFVs with your files! <code>Rinia</code> will
|
||||
insert a human-readable checksum string in the text itself! <code>^_^</code></p>
|
||||
<h3 id="usage">Usage</h3>
|
||||
<div class="sourceCode" id="cb4"><pre class="sourceCode sh"><code class="sourceCode bash"><span id="cb4-1"><a href="#cb4-1" aria-hidden="true" tabindex="-1"></a><span class="ex">./omoikane</span> <span class="op"><</span>infile<span class="op">></span> <span class="op"><</span>layout<span class="op">></span> <span class="op"><</span>outfile<span class="op">></span></span></code></pre></div>
|
||||
<div class="sourceCode" id="cb4"><pre class="sourceCode sh"><code class="sourceCode bash"><span id="cb4-1"><a href="#cb4-1" aria-hidden="true" tabindex="-1"></a> <span class="ex">./omoikane</span> <span class="op"><</span>infile<span class="op">></span> <span class="op"><</span>layout<span class="op">></span> <span class="op"><</span>outfile<span class="op">></span></span></code></pre></div>
|
||||
<p>All three arguments may reference the same file. All files is
|
||||
assumed to be of ASCII character set.</p>
|
||||
<h3 id="input">Input</h3>
|
||||
@@ -188,14 +187,14 @@ then replace the remaining ones with space. Often it’s possible to
|
||||
write the original file in such a way that it can be used as a
|
||||
layout.</p>
|
||||
<p>Example file/layout:</p>
|
||||
<pre><code>file: layout:
|
||||
crc = ######## ... . XXXXXXXX
|
||||
patch = ###### ..... . XXXXXX
|
||||
other text here ..... .... ....</code></pre>
|
||||
<pre><code> file: layout:
|
||||
crc = ######## ... . XXXXXXXX
|
||||
patch = ###### ..... . XXXXXX
|
||||
other text here ..... .... ....</code></pre>
|
||||
<p>And <code>Rinia</code> may generate a file similar to this:</p>
|
||||
<pre><code>crc = 1bad73cf
|
||||
patch = #FR-QQ
|
||||
other text here</code></pre>
|
||||
<pre><code> crc = 1bad73cf
|
||||
patch = #FR-QQ
|
||||
other text here</code></pre>
|
||||
<p>Note that the original file by itself is a valid layout file, since
|
||||
<code>Rinia</code> will recognize that only <code>#</code> marks enough space to hold the
|
||||
checksum, and has the lowest frequency.</p>
|
||||
@@ -209,9 +208,8 @@ and nothing is written.</p>
|
||||
completely dominated by the layout file design. In general, <code>Rinia</code>
|
||||
runs faster if the checksum is placed before the other marker
|
||||
characters rather than after, e.g.:</p>
|
||||
<pre><code> a: X X XXX b: XXXXXXXX c: XXXXXXXX
|
||||
XXXXXXXX X X XXX XXXXX
|
||||
</code></pre>
|
||||
<pre><code> a: X X XXX b: XXXXXXXX c: XXXXXXXX
|
||||
XXXXXXXX X X XXX XXXXX</code></pre>
|
||||
<p><code>a</code> usually takes the longest time, while <code>c</code> usually is the
|
||||
fastest.</p>
|
||||
<p>That said, each run is randomized with respect to system time, so
|
||||
|
||||
@@ -1,21 +1,21 @@
|
||||
## To build:
|
||||
|
||||
```sh
|
||||
make
|
||||
make
|
||||
```
|
||||
|
||||
|
||||
## To use:
|
||||
|
||||
```sh
|
||||
./schnitzi <foo | vi -n
|
||||
./schnitzi <foo | vi -n
|
||||
```
|
||||
|
||||
|
||||
## Try:
|
||||
|
||||
```sh
|
||||
./try.sh
|
||||
./try.sh
|
||||
```
|
||||
|
||||
|
||||
@@ -76,7 +76,7 @@ description of the input file format.
|
||||
The first line is specified thusly:
|
||||
|
||||
```
|
||||
[duration] [timefactor]
|
||||
[duration] [timefactor]
|
||||
```
|
||||
|
||||
The first parameter, `duration`, defines how long the animation will run. The
|
||||
@@ -94,7 +94,7 @@ each successive frame. Each sprite begins with a line of parameters
|
||||
of the following form:
|
||||
|
||||
```
|
||||
[start] [end] [x] [y] [dx] [dy] [cols] [rows] [viewcount]
|
||||
[start] [end] [x] [y] [dx] [dy] [cols] [rows] [viewcount]
|
||||
```
|
||||
|
||||
where:
|
||||
@@ -133,13 +133,13 @@ Try one of these methods to get the animation to run:
|
||||
1. Redirect the output directly to vi, like this:
|
||||
|
||||
```sh
|
||||
./schnitzi < input.dat | vi
|
||||
./schnitzi < input.dat | vi
|
||||
```
|
||||
|
||||
2. Redirect the output to a file, like this:
|
||||
|
||||
```sh
|
||||
./schnitzi < input.dat > output.dat
|
||||
./schnitzi < input.dat > output.dat
|
||||
```
|
||||
|
||||
Then, open the output file, select the text, and copy it
|
||||
|
||||
@@ -132,8 +132,7 @@
|
||||
<h2 id="author"><a name="author"></a>Author:</h2>
|
||||
<ul>
|
||||
<li>Name: <a href="../../authors.html#Mark_Schnitzius">Mark Schnitzius</a><br>
|
||||
Location: <a href="../../location.html#ZZ">ZZ</a> - <em>Unknown location</em>
|
||||
<br><br></li>
|
||||
Location: <a href="../../location.html#ZZ">ZZ</a> - <em>Unknown location</em></li>
|
||||
</ul>
|
||||
|
||||
<!-- END: next line ends content generated by: bin/output-index-author.sh -->
|
||||
@@ -142,11 +141,11 @@ Location: <a href="../../location.html#ZZ">ZZ</a> - <em>Unknown location</em>
|
||||
<!-- START: this line starts content for HTML phase 21 by: bin/pandoc-wrapper.sh via bin/md2html.sh -->
|
||||
|
||||
<h2 id="to-build">To build:</h2>
|
||||
<div class="sourceCode" id="cb1"><pre class="sourceCode sh"><code class="sourceCode bash"><span id="cb1-1"><a href="#cb1-1" aria-hidden="true" tabindex="-1"></a><span class="fu">make</span></span></code></pre></div>
|
||||
<div class="sourceCode" id="cb1"><pre class="sourceCode sh"><code class="sourceCode bash"><span id="cb1-1"><a href="#cb1-1" aria-hidden="true" tabindex="-1"></a> <span class="fu">make</span></span></code></pre></div>
|
||||
<h2 id="to-use">To use:</h2>
|
||||
<div class="sourceCode" id="cb2"><pre class="sourceCode sh"><code class="sourceCode bash"><span id="cb2-1"><a href="#cb2-1" aria-hidden="true" tabindex="-1"></a><span class="ex">./schnitzi</span> <span class="op"><</span>foo <span class="kw">|</span> <span class="fu">vi</span> <span class="at">-n</span></span></code></pre></div>
|
||||
<div class="sourceCode" id="cb2"><pre class="sourceCode sh"><code class="sourceCode bash"><span id="cb2-1"><a href="#cb2-1" aria-hidden="true" tabindex="-1"></a> <span class="ex">./schnitzi</span> <span class="op"><</span>foo <span class="kw">|</span> <span class="fu">vi</span> <span class="at">-n</span></span></code></pre></div>
|
||||
<h2 id="try">Try:</h2>
|
||||
<div class="sourceCode" id="cb3"><pre class="sourceCode sh"><code class="sourceCode bash"><span id="cb3-1"><a href="#cb3-1" aria-hidden="true" tabindex="-1"></a><span class="ex">./try.sh</span></span></code></pre></div>
|
||||
<div class="sourceCode" id="cb3"><pre class="sourceCode sh"><code class="sourceCode bash"><span id="cb3-1"><a href="#cb3-1" aria-hidden="true" tabindex="-1"></a> <span class="ex">./try.sh</span></span></code></pre></div>
|
||||
<p>NOTE: if you’re one of those who don’t know how to exit <code>vi</code> :-) don’t worry as
|
||||
it will exit for you.</p>
|
||||
<h2 id="judges-remarks">Judges’ remarks:</h2>
|
||||
@@ -186,7 +185,7 @@ it.)</p>
|
||||
to <code>stdin</code> when running the program. What follows is a detailed
|
||||
description of the input file format.</p>
|
||||
<p>The first line is specified thusly:</p>
|
||||
<pre><code>[duration] [timefactor]</code></pre>
|
||||
<pre><code> [duration] [timefactor]</code></pre>
|
||||
<p>The first parameter, <code>duration</code>, defines how long the animation will run. The
|
||||
second, <code>timefactor</code>, is used as sort of a fudge factor for machines that run
|
||||
too fast to see the animation. A <code>timefactor</code> of 0 means, “run the animation as
|
||||
@@ -199,7 +198,7 @@ different sprites, each up 50 by 50 in size, and with up to four
|
||||
different ‘views’ of that object, which are cycled through with
|
||||
each successive frame. Each sprite begins with a line of parameters
|
||||
of the following form:</p>
|
||||
<pre><code>[start] [end] [x] [y] [dx] [dy] [cols] [rows] [viewcount]</code></pre>
|
||||
<pre><code> [start] [end] [x] [y] [dx] [dy] [cols] [rows] [viewcount]</code></pre>
|
||||
<p>where:</p>
|
||||
<ul>
|
||||
<li><p><code>start</code> is the time at which this sprite first appears.</p></li>
|
||||
@@ -222,11 +221,11 @@ scene, the other a bit of scrolling text.</p>
|
||||
<ol type="1">
|
||||
<li>Redirect the output directly to vi, like this:</li>
|
||||
</ol>
|
||||
<div class="sourceCode" id="cb6"><pre class="sourceCode sh"><code class="sourceCode bash"><span id="cb6-1"><a href="#cb6-1" aria-hidden="true" tabindex="-1"></a><span class="ex">./schnitzi</span> <span class="op"><</span> input.dat <span class="kw">|</span> <span class="fu">vi</span></span></code></pre></div>
|
||||
<div class="sourceCode" id="cb6"><pre class="sourceCode sh"><code class="sourceCode bash"><span id="cb6-1"><a href="#cb6-1" aria-hidden="true" tabindex="-1"></a> <span class="ex">./schnitzi</span> <span class="op"><</span> input.dat <span class="kw">|</span> <span class="fu">vi</span></span></code></pre></div>
|
||||
<ol start="2" type="1">
|
||||
<li>Redirect the output to a file, like this:</li>
|
||||
</ol>
|
||||
<div class="sourceCode" id="cb7"><pre class="sourceCode sh"><code class="sourceCode bash"><span id="cb7-1"><a href="#cb7-1" aria-hidden="true" tabindex="-1"></a><span class="ex">./schnitzi</span> <span class="op"><</span> input.dat <span class="op">></span> output.dat</span></code></pre></div>
|
||||
<div class="sourceCode" id="cb7"><pre class="sourceCode sh"><code class="sourceCode bash"><span id="cb7-1"><a href="#cb7-1" aria-hidden="true" tabindex="-1"></a> <span class="ex">./schnitzi</span> <span class="op"><</span> input.dat <span class="op">></span> output.dat</span></code></pre></div>
|
||||
<p>Then, open the output file, select the text, and copy it
|
||||
to your system pasteboard/cut/selection buffer and paste
|
||||
it into vi. The paste is NOT the vi paste command, but
|
||||
|
||||
+10
-10
@@ -1,7 +1,7 @@
|
||||
## To build:
|
||||
|
||||
```sh
|
||||
make
|
||||
make
|
||||
```
|
||||
|
||||
|
||||
@@ -10,7 +10,7 @@ make
|
||||
The current status of this entry is:
|
||||
|
||||
```
|
||||
STATUS: INABIAF - please **DO NOT** fix
|
||||
STATUS: INABIAF - please **DO NOT** fix
|
||||
```
|
||||
|
||||
For more detailed information see [2004 sds bugs](../../bugs.html#2004_sds).
|
||||
@@ -19,14 +19,14 @@ For more detailed information see [2004 sds bugs](../../bugs.html#2004_sds).
|
||||
## To use:
|
||||
|
||||
```sh
|
||||
./sds
|
||||
./sds
|
||||
```
|
||||
|
||||
|
||||
## Try:
|
||||
|
||||
```sh
|
||||
./try.sh
|
||||
./try.sh
|
||||
```
|
||||
|
||||
|
||||
@@ -64,13 +64,13 @@ decoder.
|
||||
Try it out. Compile the program, then type
|
||||
|
||||
```sh
|
||||
./sds < sds.c
|
||||
./sds < sds.c
|
||||
```
|
||||
|
||||
You should see the encoder program displayed. Now save it, like:
|
||||
|
||||
```sh
|
||||
./sds < sds.c > encoder.c
|
||||
./sds < sds.c > encoder.c
|
||||
```
|
||||
|
||||
Then compile `encoder.c`. You now have the complete system ready.
|
||||
@@ -83,15 +83,15 @@ standard input, and will output the results on the standard output.
|
||||
You can use it like this (assuming you have a file called remarks):
|
||||
|
||||
```sh
|
||||
echo 'Hello, World!' > message
|
||||
./encoder message < remarks > remarks_msg
|
||||
echo 'Hello, World!' > message
|
||||
./encoder message < remarks > remarks_msg
|
||||
```
|
||||
|
||||
Then to decode:
|
||||
|
||||
```sh
|
||||
./sds < remarks_msg
|
||||
Hello, World!
|
||||
./sds < remarks_msg
|
||||
Hello, World!
|
||||
```
|
||||
|
||||
C programs are mostly unaffected by adding steganographic content,
|
||||
|
||||
+11
-12
@@ -132,8 +132,7 @@
|
||||
<h2 id="author"><a name="author"></a>Author:</h2>
|
||||
<ul>
|
||||
<li>Name: <a href="../../authors.html#Stephen_Sykes">Stephen Sykes</a><br>
|
||||
Location: <a href="../../location.html#FI">FI</a> - <em>Republic of Finland </em> (<em>Finland</em>)
|
||||
<br><br></li>
|
||||
Location: <a href="../../location.html#FI">FI</a> - <em>Republic of Finland </em> (<em>Finland</em>)</li>
|
||||
</ul>
|
||||
|
||||
<!-- END: next line ends content generated by: bin/output-index-author.sh -->
|
||||
@@ -142,15 +141,15 @@ Location: <a href="../../location.html#FI">FI</a> - <em>Republic of Finland </em
|
||||
<!-- START: this line starts content for HTML phase 21 by: bin/pandoc-wrapper.sh via bin/md2html.sh -->
|
||||
|
||||
<h2 id="to-build">To build:</h2>
|
||||
<div class="sourceCode" id="cb1"><pre class="sourceCode sh"><code class="sourceCode bash"><span id="cb1-1"><a href="#cb1-1" aria-hidden="true" tabindex="-1"></a><span class="fu">make</span></span></code></pre></div>
|
||||
<div class="sourceCode" id="cb1"><pre class="sourceCode sh"><code class="sourceCode bash"><span id="cb1-1"><a href="#cb1-1" aria-hidden="true" tabindex="-1"></a> <span class="fu">make</span></span></code></pre></div>
|
||||
<h3 id="bugs-and-misfeatures">Bugs and (Mis)features:</h3>
|
||||
<p>The current status of this entry is:</p>
|
||||
<pre><code>STATUS: INABIAF - please **DO NOT** fix</code></pre>
|
||||
<pre><code> STATUS: INABIAF - please **DO NOT** fix</code></pre>
|
||||
<p>For more detailed information see <a href="../../bugs.html#2004_sds">2004 sds bugs</a>.</p>
|
||||
<h2 id="to-use">To use:</h2>
|
||||
<div class="sourceCode" id="cb3"><pre class="sourceCode sh"><code class="sourceCode bash"><span id="cb3-1"><a href="#cb3-1" aria-hidden="true" tabindex="-1"></a><span class="ex">./sds</span></span></code></pre></div>
|
||||
<div class="sourceCode" id="cb3"><pre class="sourceCode sh"><code class="sourceCode bash"><span id="cb3-1"><a href="#cb3-1" aria-hidden="true" tabindex="-1"></a> <span class="ex">./sds</span></span></code></pre></div>
|
||||
<h2 id="try">Try:</h2>
|
||||
<div class="sourceCode" id="cb4"><pre class="sourceCode sh"><code class="sourceCode bash"><span id="cb4-1"><a href="#cb4-1" aria-hidden="true" tabindex="-1"></a><span class="ex">./try.sh</span></span></code></pre></div>
|
||||
<div class="sourceCode" id="cb4"><pre class="sourceCode sh"><code class="sourceCode bash"><span id="cb4-1"><a href="#cb4-1" aria-hidden="true" tabindex="-1"></a> <span class="ex">./try.sh</span></span></code></pre></div>
|
||||
<h2 id="judges-remarks">Judges’ remarks:</h2>
|
||||
<p>Why not use the program to hide another program in the program? It
|
||||
must have seemed reasonable at the time.</p>
|
||||
@@ -175,20 +174,20 @@ provide a separate encoding program, you should not be surprised to
|
||||
learn that I opted to steganographically hide the encoder inside the
|
||||
decoder.</p>
|
||||
<p>Try it out. Compile the program, then type</p>
|
||||
<div class="sourceCode" id="cb5"><pre class="sourceCode sh"><code class="sourceCode bash"><span id="cb5-1"><a href="#cb5-1" aria-hidden="true" tabindex="-1"></a><span class="ex">./sds</span> <span class="op"><</span> sds.c</span></code></pre></div>
|
||||
<div class="sourceCode" id="cb5"><pre class="sourceCode sh"><code class="sourceCode bash"><span id="cb5-1"><a href="#cb5-1" aria-hidden="true" tabindex="-1"></a> <span class="ex">./sds</span> <span class="op"><</span> sds.c</span></code></pre></div>
|
||||
<p>You should see the encoder program displayed. Now save it, like:</p>
|
||||
<div class="sourceCode" id="cb6"><pre class="sourceCode sh"><code class="sourceCode bash"><span id="cb6-1"><a href="#cb6-1" aria-hidden="true" tabindex="-1"></a><span class="ex">./sds</span> <span class="op"><</span> sds.c <span class="op">></span> encoder.c</span></code></pre></div>
|
||||
<div class="sourceCode" id="cb6"><pre class="sourceCode sh"><code class="sourceCode bash"><span id="cb6-1"><a href="#cb6-1" aria-hidden="true" tabindex="-1"></a> <span class="ex">./sds</span> <span class="op"><</span> sds.c <span class="op">></span> encoder.c</span></code></pre></div>
|
||||
<p>Then compile <code>encoder.c</code>. You now have the complete system ready.</p>
|
||||
<p>The encoder expects to get a filename as an argument. This filename
|
||||
is the name of the file containing the information to be hidden. It
|
||||
expects the file in which to hide the information to be on the
|
||||
standard input, and will output the results on the standard output.</p>
|
||||
<p>You can use it like this (assuming you have a file called remarks):</p>
|
||||
<div class="sourceCode" id="cb7"><pre class="sourceCode sh"><code class="sourceCode bash"><span id="cb7-1"><a href="#cb7-1" aria-hidden="true" tabindex="-1"></a><span class="bu">echo</span> <span class="st">'Hello, World!'</span> <span class="op">></span> message</span>
|
||||
<span id="cb7-2"><a href="#cb7-2" aria-hidden="true" tabindex="-1"></a><span class="ex">./encoder</span> message <span class="op"><</span> remarks <span class="op">></span> remarks_msg</span></code></pre></div>
|
||||
<div class="sourceCode" id="cb7"><pre class="sourceCode sh"><code class="sourceCode bash"><span id="cb7-1"><a href="#cb7-1" aria-hidden="true" tabindex="-1"></a> <span class="bu">echo</span> <span class="st">'Hello, World!'</span> <span class="op">></span> message</span>
|
||||
<span id="cb7-2"><a href="#cb7-2" aria-hidden="true" tabindex="-1"></a> <span class="ex">./encoder</span> message <span class="op"><</span> remarks <span class="op">></span> remarks_msg</span></code></pre></div>
|
||||
<p>Then to decode:</p>
|
||||
<div class="sourceCode" id="cb8"><pre class="sourceCode sh"><code class="sourceCode bash"><span id="cb8-1"><a href="#cb8-1" aria-hidden="true" tabindex="-1"></a><span class="ex">./sds</span> <span class="op"><</span> remarks_msg</span>
|
||||
<span id="cb8-2"><a href="#cb8-2" aria-hidden="true" tabindex="-1"></a><span class="ex">Hello,</span> World!</span></code></pre></div>
|
||||
<div class="sourceCode" id="cb8"><pre class="sourceCode sh"><code class="sourceCode bash"><span id="cb8-1"><a href="#cb8-1" aria-hidden="true" tabindex="-1"></a> <span class="ex">./sds</span> <span class="op"><</span> remarks_msg</span>
|
||||
<span id="cb8-2"><a href="#cb8-2" aria-hidden="true" tabindex="-1"></a> <span class="ex">Hello,</span> World!</span></code></pre></div>
|
||||
<p>C programs are mostly unaffected by adding steganographic content,
|
||||
but it is possible in certain circumstances for whitespace to be
|
||||
changed inside strings where it should be left alone. Plain text
|
||||
|
||||
+16
-16
@@ -1,27 +1,27 @@
|
||||
## To build:
|
||||
|
||||
```sh
|
||||
make
|
||||
make
|
||||
```
|
||||
|
||||
|
||||
## To use:
|
||||
|
||||
```sh
|
||||
./vik1 [arg]
|
||||
./vik1 [arg]
|
||||
```
|
||||
|
||||
|
||||
## Try:
|
||||
|
||||
```sh
|
||||
./vik1
|
||||
./vik1
|
||||
|
||||
./vik1 a
|
||||
./vik1 a
|
||||
|
||||
./vik1 d2
|
||||
./vik1 d2
|
||||
|
||||
./vik1 ad3
|
||||
./vik1 ad3
|
||||
```
|
||||
|
||||
|
||||
@@ -83,24 +83,24 @@ The program takes three options which have to be typed in a specific
|
||||
order as described below.
|
||||
|
||||
```sh
|
||||
Usage: ./vik1 ['a']['d'][#]
|
||||
Usage: ./vik1 ['a']['d'][#]
|
||||
|
||||
a - Advanced racing in a winter landscape
|
||||
d - Racing in at night in the dark
|
||||
a - Advanced racing in a winter landscape
|
||||
d - Racing in at night in the dark
|
||||
# - Race track selection 1-3 are valid numbers
|
||||
```
|
||||
|
||||
Here are a few examples:
|
||||
|
||||
```
|
||||
Command line: Description:
|
||||
Command line: Description:
|
||||
|
||||
$ ./vik1 Run track 1 at daytime in the summer
|
||||
$ ./vik1 a Run track 1 at daytime in the winter
|
||||
$ ./vik1 d Run track 1 at night in the summer
|
||||
$ ./vik1 3 Run track 3 at daytime in the summer
|
||||
$ ./vik1 d3 Run track 3 at night in the summer
|
||||
$ ./vik1 ad2 Run track 2 at night in the winter
|
||||
$ ./vik1 Run track 1 at daytime in the summer
|
||||
$ ./vik1 a Run track 1 at daytime in the winter
|
||||
$ ./vik1 d Run track 1 at night in the summer
|
||||
$ ./vik1 3 Run track 3 at daytime in the summer
|
||||
$ ./vik1 d3 Run track 3 at night in the summer
|
||||
$ ./vik1 ad2 Run track 2 at night in the winter
|
||||
```
|
||||
|
||||
Note that the order in which the argument characters are entered is
|
||||
|
||||
+17
-18
@@ -132,8 +132,7 @@
|
||||
<h2 id="author"><a name="author"></a>Author:</h2>
|
||||
<ul>
|
||||
<li>Name: <a href="../../authors.html#Daniel_Vik">Daniel Vik</a><br>
|
||||
Location: <a href="../../location.html#US">US</a> - <em>United States of America</em> (<em>United States</em>)
|
||||
<br><br></li>
|
||||
Location: <a href="../../location.html#US">US</a> - <em>United States of America</em> (<em>United States</em>)</li>
|
||||
</ul>
|
||||
|
||||
<!-- END: next line ends content generated by: bin/output-index-author.sh -->
|
||||
@@ -142,17 +141,17 @@ Location: <a href="../../location.html#US">US</a> - <em>United States of America
|
||||
<!-- START: this line starts content for HTML phase 21 by: bin/pandoc-wrapper.sh via bin/md2html.sh -->
|
||||
|
||||
<h2 id="to-build">To build:</h2>
|
||||
<div class="sourceCode" id="cb1"><pre class="sourceCode sh"><code class="sourceCode bash"><span id="cb1-1"><a href="#cb1-1" aria-hidden="true" tabindex="-1"></a><span class="fu">make</span></span></code></pre></div>
|
||||
<div class="sourceCode" id="cb1"><pre class="sourceCode sh"><code class="sourceCode bash"><span id="cb1-1"><a href="#cb1-1" aria-hidden="true" tabindex="-1"></a> <span class="fu">make</span></span></code></pre></div>
|
||||
<h2 id="to-use">To use:</h2>
|
||||
<div class="sourceCode" id="cb2"><pre class="sourceCode sh"><code class="sourceCode bash"><span id="cb2-1"><a href="#cb2-1" aria-hidden="true" tabindex="-1"></a><span class="ex">./vik1</span> <span class="pp">[</span><span class="ss">arg</span><span class="pp">]</span></span></code></pre></div>
|
||||
<div class="sourceCode" id="cb2"><pre class="sourceCode sh"><code class="sourceCode bash"><span id="cb2-1"><a href="#cb2-1" aria-hidden="true" tabindex="-1"></a> <span class="ex">./vik1</span> <span class="pp">[</span><span class="ss">arg</span><span class="pp">]</span></span></code></pre></div>
|
||||
<h2 id="try">Try:</h2>
|
||||
<div class="sourceCode" id="cb3"><pre class="sourceCode sh"><code class="sourceCode bash"><span id="cb3-1"><a href="#cb3-1" aria-hidden="true" tabindex="-1"></a><span class="ex">./vik1</span></span>
|
||||
<div class="sourceCode" id="cb3"><pre class="sourceCode sh"><code class="sourceCode bash"><span id="cb3-1"><a href="#cb3-1" aria-hidden="true" tabindex="-1"></a> <span class="ex">./vik1</span></span>
|
||||
<span id="cb3-2"><a href="#cb3-2" aria-hidden="true" tabindex="-1"></a></span>
|
||||
<span id="cb3-3"><a href="#cb3-3" aria-hidden="true" tabindex="-1"></a><span class="ex">./vik1</span> a</span>
|
||||
<span id="cb3-3"><a href="#cb3-3" aria-hidden="true" tabindex="-1"></a> <span class="ex">./vik1</span> a</span>
|
||||
<span id="cb3-4"><a href="#cb3-4" aria-hidden="true" tabindex="-1"></a></span>
|
||||
<span id="cb3-5"><a href="#cb3-5" aria-hidden="true" tabindex="-1"></a><span class="ex">./vik1</span> d2</span>
|
||||
<span id="cb3-5"><a href="#cb3-5" aria-hidden="true" tabindex="-1"></a> <span class="ex">./vik1</span> d2</span>
|
||||
<span id="cb3-6"><a href="#cb3-6" aria-hidden="true" tabindex="-1"></a></span>
|
||||
<span id="cb3-7"><a href="#cb3-7" aria-hidden="true" tabindex="-1"></a><span class="ex">./vik1</span> ad3</span></code></pre></div>
|
||||
<span id="cb3-7"><a href="#cb3-7" aria-hidden="true" tabindex="-1"></a> <span class="ex">./vik1</span> ad3</span></code></pre></div>
|
||||
<p>Can you figure out how to cheat?</p>
|
||||
<p>Also see the author’s remarks below for more details on the different
|
||||
modes/options.</p>
|
||||
@@ -185,20 +184,20 @@ glance at the feature list he provided below. Amazing!</p>
|
||||
<p>Compile the source code and link X libraries if necessary.
|
||||
The program takes three options which have to be typed in a specific
|
||||
order as described below.</p>
|
||||
<div class="sourceCode" id="cb4"><pre class="sourceCode sh"><code class="sourceCode bash"><span id="cb4-1"><a href="#cb4-1" aria-hidden="true" tabindex="-1"></a><span class="ex">Usage:</span> ./vik1 <span class="pp">[</span><span class="st">'a'</span><span class="pp">][</span><span class="st">'d'</span><span class="pp">][</span><span class="ss">#</span><span class="pp">]</span></span>
|
||||
<div class="sourceCode" id="cb4"><pre class="sourceCode sh"><code class="sourceCode bash"><span id="cb4-1"><a href="#cb4-1" aria-hidden="true" tabindex="-1"></a> <span class="ex">Usage:</span> ./vik1 <span class="pp">[</span><span class="st">'a'</span><span class="pp">][</span><span class="st">'d'</span><span class="pp">][</span><span class="ss">#</span><span class="pp">]</span></span>
|
||||
<span id="cb4-2"><a href="#cb4-2" aria-hidden="true" tabindex="-1"></a></span>
|
||||
<span id="cb4-3"><a href="#cb4-3" aria-hidden="true" tabindex="-1"></a><span class="ex">a</span> <span class="at">-</span> Advanced racing in a winter landscape</span>
|
||||
<span id="cb4-4"><a href="#cb4-4" aria-hidden="true" tabindex="-1"></a><span class="ex">d</span> <span class="at">-</span> Racing in at night in the dark</span>
|
||||
<span id="cb4-3"><a href="#cb4-3" aria-hidden="true" tabindex="-1"></a> <span class="ex">a</span> <span class="at">-</span> Advanced racing in a winter landscape</span>
|
||||
<span id="cb4-4"><a href="#cb4-4" aria-hidden="true" tabindex="-1"></a> <span class="ex">d</span> <span class="at">-</span> Racing in at night in the dark</span>
|
||||
<span id="cb4-5"><a href="#cb4-5" aria-hidden="true" tabindex="-1"></a><span class="co"># - Race track selection 1-3 are valid numbers</span></span></code></pre></div>
|
||||
<p>Here are a few examples:</p>
|
||||
<pre><code>Command line: Description:
|
||||
<pre><code> Command line: Description:
|
||||
|
||||
$ ./vik1 Run track 1 at daytime in the summer
|
||||
$ ./vik1 a Run track 1 at daytime in the winter
|
||||
$ ./vik1 d Run track 1 at night in the summer
|
||||
$ ./vik1 3 Run track 3 at daytime in the summer
|
||||
$ ./vik1 d3 Run track 3 at night in the summer
|
||||
$ ./vik1 ad2 Run track 2 at night in the winter</code></pre>
|
||||
$ ./vik1 Run track 1 at daytime in the summer
|
||||
$ ./vik1 a Run track 1 at daytime in the winter
|
||||
$ ./vik1 d Run track 1 at night in the summer
|
||||
$ ./vik1 3 Run track 3 at daytime in the summer
|
||||
$ ./vik1 d3 Run track 3 at night in the summer
|
||||
$ ./vik1 ad2 Run track 2 at night in the winter</code></pre>
|
||||
<p>Note that the order in which the argument characters are entered is
|
||||
important. It is for example not possible to type <code>./vik1 da</code>. (Well it is
|
||||
possible, but the result will not be as expected.)</p>
|
||||
|
||||
+6
-6
@@ -1,14 +1,14 @@
|
||||
## To build:
|
||||
|
||||
```sh
|
||||
make
|
||||
make
|
||||
```
|
||||
|
||||
|
||||
## To use:
|
||||
|
||||
```sh
|
||||
./vik2
|
||||
./vik2
|
||||
```
|
||||
|
||||
|
||||
@@ -128,7 +128,7 @@ speed up the compilation, define the `STOP` symbol to anything from `_3` to
|
||||
time.) Prime numbers up to `2^STOP` will be calculated.
|
||||
|
||||
```sh
|
||||
cpp '-DSTOP=_5' '-DFNAME="tmp1.c"' prog.c tmp1.c
|
||||
cpp '-DSTOP=_5' '-DFNAME="tmp1.c"' prog.c tmp1.c
|
||||
```
|
||||
|
||||
Then use `cpp` or any other
|
||||
@@ -136,20 +136,20 @@ Then use `cpp` or any other
|
||||
work. This will take some time....
|
||||
|
||||
```sh
|
||||
cpp tmp1.c > tmp2.c
|
||||
cpp tmp1.c > tmp2.c
|
||||
```
|
||||
|
||||
Finally compile the pre-processed file
|
||||
|
||||
```sh
|
||||
cc -O tmp2.c -o prog
|
||||
cc -O tmp2.c -o prog
|
||||
```
|
||||
|
||||
Then run the program to reveal all prime numbers up to 32 (if you used
|
||||
`STOP=_5` as above):
|
||||
|
||||
```sh
|
||||
./vik2
|
||||
./vik2
|
||||
```
|
||||
|
||||
|
||||
|
||||
@@ -132,8 +132,7 @@
|
||||
<h2 id="author"><a name="author"></a>Author:</h2>
|
||||
<ul>
|
||||
<li>Name: <a href="../../authors.html#Daniel_Vik">Daniel Vik</a><br>
|
||||
Location: <a href="../../location.html#US">US</a> - <em>United States of America</em> (<em>United States</em>)
|
||||
<br><br></li>
|
||||
Location: <a href="../../location.html#US">US</a> - <em>United States of America</em> (<em>United States</em>)</li>
|
||||
</ul>
|
||||
|
||||
<!-- END: next line ends content generated by: bin/output-index-author.sh -->
|
||||
@@ -142,9 +141,9 @@ Location: <a href="../../location.html#US">US</a> - <em>United States of America
|
||||
<!-- START: this line starts content for HTML phase 21 by: bin/pandoc-wrapper.sh via bin/md2html.sh -->
|
||||
|
||||
<h2 id="to-build">To build:</h2>
|
||||
<div class="sourceCode" id="cb1"><pre class="sourceCode sh"><code class="sourceCode bash"><span id="cb1-1"><a href="#cb1-1" aria-hidden="true" tabindex="-1"></a><span class="fu">make</span></span></code></pre></div>
|
||||
<div class="sourceCode" id="cb1"><pre class="sourceCode sh"><code class="sourceCode bash"><span id="cb1-1"><a href="#cb1-1" aria-hidden="true" tabindex="-1"></a> <span class="fu">make</span></span></code></pre></div>
|
||||
<h2 id="to-use">To use:</h2>
|
||||
<div class="sourceCode" id="cb2"><pre class="sourceCode sh"><code class="sourceCode bash"><span id="cb2-1"><a href="#cb2-1" aria-hidden="true" tabindex="-1"></a><span class="ex">./vik2</span></span></code></pre></div>
|
||||
<div class="sourceCode" id="cb2"><pre class="sourceCode sh"><code class="sourceCode bash"><span id="cb2-1"><a href="#cb2-1" aria-hidden="true" tabindex="-1"></a> <span class="ex">./vik2</span></span></code></pre></div>
|
||||
<h2 id="judges-remarks">Judges’ remarks:</h2>
|
||||
<p>The fun thing about <a href="https://en.wikipedia.org/wiki/C_preprocessor">CPP</a> abuses
|
||||
is that, in most cases, running the
|
||||
@@ -235,16 +234,16 @@ symbol must be defined to the name of the output file. If you want to
|
||||
speed up the compilation, define the <code>STOP</code> symbol to anything from <code>_3</code> to
|
||||
<code>_10</code>. (The default value is <code>_10</code> which will make the compilation take some
|
||||
time.) Prime numbers up to <code>2^STOP</code> will be calculated.</p>
|
||||
<div class="sourceCode" id="cb3"><pre class="sourceCode sh"><code class="sourceCode bash"><span id="cb3-1"><a href="#cb3-1" aria-hidden="true" tabindex="-1"></a><span class="fu">cpp</span> <span class="st">'-DSTOP=_5'</span> <span class="st">'-DFNAME="tmp1.c"'</span> prog.c tmp1.c</span></code></pre></div>
|
||||
<div class="sourceCode" id="cb3"><pre class="sourceCode sh"><code class="sourceCode bash"><span id="cb3-1"><a href="#cb3-1" aria-hidden="true" tabindex="-1"></a> <span class="fu">cpp</span> <span class="st">'-DSTOP=_5'</span> <span class="st">'-DFNAME="tmp1.c"'</span> prog.c tmp1.c</span></code></pre></div>
|
||||
<p>Then use <code>cpp</code> or any other
|
||||
<a href="https://en.wikipedia.org/wiki/C_preprocessor">pre-processor</a> to do the actual
|
||||
work. This will take some time….</p>
|
||||
<div class="sourceCode" id="cb4"><pre class="sourceCode sh"><code class="sourceCode bash"><span id="cb4-1"><a href="#cb4-1" aria-hidden="true" tabindex="-1"></a><span class="fu">cpp</span> tmp1.c <span class="op">></span> tmp2.c</span></code></pre></div>
|
||||
<div class="sourceCode" id="cb4"><pre class="sourceCode sh"><code class="sourceCode bash"><span id="cb4-1"><a href="#cb4-1" aria-hidden="true" tabindex="-1"></a> <span class="fu">cpp</span> tmp1.c <span class="op">></span> tmp2.c</span></code></pre></div>
|
||||
<p>Finally compile the pre-processed file</p>
|
||||
<div class="sourceCode" id="cb5"><pre class="sourceCode sh"><code class="sourceCode bash"><span id="cb5-1"><a href="#cb5-1" aria-hidden="true" tabindex="-1"></a><span class="fu">cc</span> <span class="at">-O</span> tmp2.c <span class="at">-o</span> prog</span></code></pre></div>
|
||||
<div class="sourceCode" id="cb5"><pre class="sourceCode sh"><code class="sourceCode bash"><span id="cb5-1"><a href="#cb5-1" aria-hidden="true" tabindex="-1"></a> <span class="fu">cc</span> <span class="at">-O</span> tmp2.c <span class="at">-o</span> prog</span></code></pre></div>
|
||||
<p>Then run the program to reveal all prime numbers up to 32 (if you used
|
||||
<code>STOP=_5</code> as above):</p>
|
||||
<div class="sourceCode" id="cb6"><pre class="sourceCode sh"><code class="sourceCode bash"><span id="cb6-1"><a href="#cb6-1" aria-hidden="true" tabindex="-1"></a><span class="ex">./vik2</span></span></code></pre></div>
|
||||
<div class="sourceCode" id="cb6"><pre class="sourceCode sh"><code class="sourceCode bash"><span id="cb6-1"><a href="#cb6-1" aria-hidden="true" tabindex="-1"></a> <span class="ex">./vik2</span></span></code></pre></div>
|
||||
<h3 id="verification">Verification</h3>
|
||||
<p>I wasn’t able to compile the full program which calculates <a href="https://en.wikipedia.org/wiki/Prime_number">prime
|
||||
numbers</a> up to 1024 using GNU <code>cpp</code>
|
||||
|
||||
Reference in new issue
Block a user