Fixed code block. Run `bin/readme2index.sh -v 1 1984/laman` to perform the above.
370 lines
19 KiB
HTML
370 lines
19 KiB
HTML
<!DOCTYPE html>
|
||
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
|
||
<!-- START: two lines up starts content from: inc/top.default.html -->
|
||
|
||
<!-- END: this line ends content from: inc/top.default.html -->
|
||
<!-- START: this line starts content from: inc/head.default.html -->
|
||
|
||
<head>
|
||
<link rel="stylesheet" href="../../ioccc.css">
|
||
<link href="https://fonts.googleapis.com/css2?family=Outfit:wght@100..900&display=swap" rel="stylesheet">
|
||
<meta charset="utf-8">
|
||
<meta name="viewport" content="width=device-width, initial-scale=1.0, user-scalable=yes">
|
||
<title>1992/westley - Best Small Program</title>
|
||
<link rel="icon" type="image/x-icon" href="../../favicon.ico">
|
||
<meta name="description" content="1992 IOCCC entry westley - Best Small Program">
|
||
<meta name="keywords" content="IOCCC, 1992, IOCCC 1992, IOCCC entry, westley, Best Small Program">
|
||
</head>
|
||
|
||
<!-- !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! -->
|
||
<!-- !!! DO NOT MODIFY THIS FILE - This file is generated by a tool !!! -->
|
||
<!-- !!! DO NOT MODIFY THIS FILE - This file is generated by a tool !!! -->
|
||
<!-- !!! DO NOT MODIFY THIS FILE - This file is generated by a tool !!! -->
|
||
<!-- !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! -->
|
||
|
||
<!-- END: this line ends content from: inc/head.default.html -->
|
||
|
||
<!-- -->
|
||
<!-- This web page was formed via the tool: bin/readme2index.sh -->
|
||
<!-- The content of main section of this web page came from: 1992/westley/README.md -->
|
||
<!-- -->
|
||
|
||
<!-- !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! -->
|
||
<!-- !!! Do not modify this web page, instead modify the file: 1992/westley/README.md !!! -->
|
||
<!-- !!! Do not modify this web page, instead modify the file: 1992/westley/README.md !!! -->
|
||
<!-- !!! Do not modify this web page, instead modify the file: 1992/westley/README.md !!! -->
|
||
<!-- !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! -->
|
||
|
||
<!-- Markdown content was converted into HTML via the tool: bin/md2html.sh -->
|
||
|
||
<!-- START: this line starts content from: inc/body.default.html -->
|
||
|
||
<body>
|
||
|
||
<!-- END: this line ends content from: inc/body.default.html -->
|
||
<!-- START: this line starts content from: inc/topbar.default.html -->
|
||
|
||
<div class="theader">
|
||
<nav class="topbar">
|
||
<div class="container">
|
||
<div class="logo">
|
||
IOCCC
|
||
</div>
|
||
|
||
<div class="topbar-items">
|
||
<div class="item">
|
||
<span class="item-header">
|
||
Home
|
||
</span>
|
||
|
||
<div class="sub-item">
|
||
<div class="outfit-font"><a href="../../index.html">IOCCC Home</a></div>
|
||
<div class="outfit-font"><a href="../../years.html">Winning Entries</a></div>
|
||
<div class="outfit-font"><a href="../../authors.html">People who have won</a></div>
|
||
<div class="outfit-font"><a href="../../location.html">Location of authors</a></div>
|
||
</div>
|
||
</div>
|
||
|
||
<div class="item">
|
||
<span class="item-header">
|
||
News
|
||
</span>
|
||
|
||
<div class="sub-item">
|
||
<div class="outfit-font"><a href="../../news.html">IOCCC News</a></div>
|
||
<div class="outfit-font"><a href="../../status.html">Contest status</a></div>
|
||
<div class="outfit-font"><a href="../../next/index.html">Rules and Guidelines</a></div>
|
||
<div class="outfit-font"><a href="../../faq.html#submit">How to enter the IOCCC</a></div>
|
||
<div class="outfit-font"><a href="../../faq.html">FAQ</a></div>
|
||
</div>
|
||
</div>
|
||
|
||
<div class="item">
|
||
<span class="item-header">
|
||
Bugs
|
||
</span>
|
||
|
||
<div class="sub-item">
|
||
<div class="outfit-font"><a href="../../bugs.html">Bugs & (mis)features</a></div>
|
||
<div class="outfit-font"><a href="../../faq.html#fix_an_entry">Fixing IOCCC entries</a></div>
|
||
<div class="outfit-font"><a href="../../faq.html#fix_web_site">Fixing the web site</a></div>
|
||
<div class="outfit-font"><a href="../../faq.html#fix_author">Fixing author info</a></div>
|
||
<div class="outfit-font"><a href="../../thanks-for-help.html">Thanks for the help</a></div>
|
||
</div>
|
||
</div>
|
||
|
||
<div class="item">
|
||
<span class="item-header">
|
||
Judges
|
||
</span>
|
||
|
||
<div class="sub-item">
|
||
<div class="outfit-font"><a href="../../judges.html">The IOCCC Judges</a></div>
|
||
<div class="outfit-font"><a href="../../contact.html">Contacting the IOCCC</a></div>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
</nav>
|
||
</div>
|
||
|
||
<!-- END: this line ends content from: inc/topbar.default.html -->
|
||
<!-- START: this line starts content from: inc/header.default.html -->
|
||
|
||
<div class="header">
|
||
<img src="../../png/ioccc.png" alt="IOCCC image by Matt Zucker" width=300 height=110>
|
||
<h1>The International Obfuscated C Code Contest</h1>
|
||
<h2>1992/westley - Best Small Program</h2>
|
||
</div>
|
||
|
||
<!-- END: this line ends content from: inc/header.default.html -->
|
||
<!-- START: this line starts content from: inc/navbar.last.html -->
|
||
|
||
<div class="navbar">
|
||
<a class="Left" href="../vern/index.html">← vern</a>
|
||
<a class="Left" href="../index.html">↑ 1992 ↑</a>
|
||
<a class="Left Disabled" href="#">last entry</a>
|
||
<a class="Right" href="https://github.com/ioccc-src/temp-test-ioccc/blob/master/1992/westley/westley.c">C code</a>
|
||
<a class="Right" href="https://github.com/ioccc-src/temp-test-ioccc/blob/master/1992/westley/Makefile">Makefile</a>
|
||
<a class="Right" href="#inventory">Inventory</a>
|
||
<a class="Right" href="https://validator.w3.org/nu/?doc=https%3A%2F%2Fioccc-src.github.io%2Ftemp-test-ioccc%2F1992%2Fwestley%2Findex.html">✓</a>
|
||
</div>
|
||
|
||
<!-- END: this line ends content from: inc/navbar.last.html -->
|
||
<!-- START: this line starts content from: inc/before-content.default.html -->
|
||
|
||
<div class="content" id="content">
|
||
|
||
<!-- END: this line ends content from: inc/before-content.default.html -->
|
||
<!-- START: this line starts content for HTML phase 20 by: bin/output-index-author.sh via bin/md2html.sh -->
|
||
|
||
<!-- START: this line starts content generated by: bin/output-index-author.sh -->
|
||
|
||
<h2 id="author">Author:</h2>
|
||
<ul>
|
||
<li>Name: <a href="../../authors.html#Brian_Westley">Brian Westley</a><br>
|
||
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 -->
|
||
|
||
<!-- END: this line ends content for HTML phase 20 by: bin/output-index-author.sh via bin/md2html.sh -->
|
||
<!-- START: this line starts content for HTML phase 21 by: bin/pandoc-wrapper.sh via bin/md2html.sh -->
|
||
|
||
<!-- BEFORE: 1st line of markdown file: 1992/westley/README.md -->
|
||
<h2 id="to-build">To build:</h2>
|
||
<pre><code> make all</code></pre>
|
||
<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
|
||
STATUS: known bug - please help us fix</code></pre>
|
||
<p>For more detailed information see <a href="../../bugs.html#1992_westley">1992 westley bugs</a>.</p>
|
||
<h2 id="to-use">To use:</h2>
|
||
<p>If lost:</p>
|
||
<pre><code> ./whereami.sh lat long</code></pre>
|
||
<p>Where <code>lat</code> and <code>long</code> correspond to your latitude and longitude.</p>
|
||
<p>NOTE: you <strong>MUST</strong> have a terminal that is at least 80 columns for this to show
|
||
properly. The <code>whereami</code> and <code>whereami.alt</code> code checks this but it is not
|
||
prohibitive if it cannot be compiled and linked (it uses curses); instead one
|
||
should just use the <code>westley</code> and <code>westley.alt</code> programs directly.</p>
|
||
<h2 id="try">Try:</h2>
|
||
<pre><code> ./try.sh</code></pre>
|
||
<h2 id="alternate-code">Alternate code:</h2>
|
||
<p>The author provided a version for the US which we added. To build:</p>
|
||
<h3 id="alternate-build">Alternate build:</h3>
|
||
<pre><code> make alt</code></pre>
|
||
<h3 id="alternate-use">Alternate use:</h3>
|
||
<pre><code> ./whereami.alt.sh lat long</code></pre>
|
||
<p>NOTE: this alternative version also needs a terminal with at least 80 columns.</p>
|
||
<h3 id="alternate-try">Alternate try:</h3>
|
||
<p>The <a href="try.sh">try.sh</a> script uses both the original entry and the alternate code
|
||
so one can try the same script for both:</p>
|
||
<pre><code> ./try.sh</code></pre>
|
||
<h2 id="judges-remarks">Judges’ remarks:</h2>
|
||
<p>To find the approximate place where this entry was judged, type:</p>
|
||
<pre><code> ./whereami 37 -122 # NOTE: - means west of meridian
|
||
|
||
# or if you don't have curses installed:
|
||
./westley 37 -122 # NOTE: - means west of meridian</code></pre>
|
||
<h2 id="authors-remarks">Author’s remarks:</h2>
|
||
<p>Run the program with your latitude & longitude as integer
|
||
arguments; it will produce a map made up of <code>'!'</code> with the given
|
||
position marked with either a <code>'"'</code> (if the position is over a <code>'!'</code>)
|
||
or a <code>#</code> (if the position is over a space). Southern latitudes
|
||
and western longitudes are entered as negative numbers. For
|
||
example, to find San Francisco, run with <code>./whereami 38 -122</code>. The
|
||
resolution of the map is five degrees horizontally, ten degrees
|
||
vertically. The map is a Mercator projection with equal spacing
|
||
of the latitudes, so the areas near the poles are very distorted.
|
||
Latitudes near the poles and Antarctica are not shown.</p>
|
||
<p>The program requires the ASCII character set, <code>putchar()</code>, <code>atoi()</code>,
|
||
and a display that auto-wraps at 80 characters(!). If your display
|
||
does not work this way, you will have to massage the output;
|
||
for example, you can redirect it to a file and edit it with vi,
|
||
which will do auto-wrap for you.</p>
|
||
<p>Lint complains that <code>main()</code> returns a random value and I’m not
|
||
checking the value that <code>putchar()</code> returns. Scandalous!</p>
|
||
<p>If you run it with fewer than 2 arguments, it will likely
|
||
give you an exception, as it will access arguments that
|
||
don’t exist and characters before a string constant.</p>
|
||
<h3 id="how-it-works">How it works:</h3>
|
||
<p>The map is printed as one long string of <code>' '</code> and <code>'!'</code> characters,
|
||
with the auto-wrap used to stack up slices of 80. The map data is
|
||
a string; the first character is how many <code>!</code>s are printed
|
||
(<code>'A'</code>=1, <code>'B'</code>=2, etc), the second character is how many <code>' '</code>s, the
|
||
third is how many <code>!</code>s, etc. ASCII characters less than <code>'A'</code>
|
||
print no characters but still change the polarity, so any map
|
||
of <code>' '</code>s and <code>'!'</code>s is possible. This is done in the <code>putchar()</code>
|
||
argument as <code>33^l&1</code>, where <code>l</code> is the character <code>position+4</code>; if
|
||
<code>l</code> is odd, <code>' '</code> is printed, if <code>l</code> is even, <code>'!'</code> is printed.</p>
|
||
<p>The position of latitude & longitude is changed into a single
|
||
character position within the one long string via the first
|
||
expression <code>d = latitude/10*80 - longitude/5 - offset</code>. The
|
||
latitude is divided by ten because the vertical resolution is
|
||
ten degrees, then multiplied by 80 because of the 80 character
|
||
wrap (i.e. each ten degrees moves the position up or down one
|
||
entire row). The longitude is divided by five and added, because
|
||
five degrees of change moves the location one character. The signs
|
||
are opposite because latitude is decreasing and longitude is
|
||
increasing as you go from upper left to lower right. The offset
|
||
is where the origin (latitude=0, longitude=0) is found.</p>
|
||
<p>The position counting down to zero changes the <code>putchar()</code> from
|
||
printing (<code>'!'</code> or <code>' '</code>) to printing (<code>'"'</code> or <code>'#'</code>).</p>
|
||
<p>The <code>"H E L L O, W O R L D!"</code> string inside the data string
|
||
prints the line of blanks past <a href="https://en.wikipedia.org/wiki/Tierra_del_Fuego">Tierra del
|
||
Fuego</a> and the last
|
||
blank line. It’s just for show, really.</p>
|
||
<p>Since the resolution is coarse, a few coastal cities are shown to
|
||
be just off the map; this is an unavoidable artifact. The map
|
||
is reasonably accurate.</p>
|
||
<h3 id="here-are-some-cities-you-might-like-to-try">Here are some cities you might like to try:</h3>
|
||
<pre><code> New York 41 -74
|
||
London 52 0
|
||
Moscow 56 38
|
||
New Delhi 29 77
|
||
Sydney -34 151
|
||
Los Angeles 34 -118
|
||
Paris 45 2
|
||
Rio de Janeiro -23 -43
|
||
Beijing 40 116
|
||
Tokyo 36 140</code></pre>
|
||
<p>For a domestic (US) version with higher resolution, try:</p>
|
||
<pre><code> main(l,a,n,d)char**a;{for(d=atoi(a[1])/2*80-atoi(a[2])-2043;
|
||
n="bnaBCOCXdBBHGYdAP[A M E R I C A].AqandkmavX|ELC}BOCd"
|
||
[l++-3];)for(;n-->64;)putchar(!d+++33^l&1);}</code></pre>
|
||
<p>The code will test the 80-column wrap and document itself if it is
|
||
joined together as one 160-character line and listed. You should see:</p>
|
||
<pre><code> main(l,a,n,d)...
|
||
[A M E R I C A]...</code></pre>
|
||
<p>…going down the left edge if your terminal auto-wraps at 80 characters.</p>
|
||
<!--
|
||
|
||
Copyright © 1984-2024 by Landon Curt Noll. All Rights Reserved.
|
||
|
||
You are free to share and adapt this file under the terms of this license:
|
||
|
||
Creative Commons Attribution-ShareAlike 4.0 International (CC BY-SA 4.0)
|
||
|
||
For more information, see:
|
||
|
||
https://creativecommons.org/licenses/by-sa/4.0/
|
||
|
||
-->
|
||
<!-- AFTER: last line of markdown file: 1992/westley/README.md -->
|
||
|
||
<!-- END: this line ends content for HTML phase 21 by: bin/pandoc-wrapper.sh via bin/md2html.sh -->
|
||
<!-- START: this line starts content for HTML phase 22 by: bin/output-index-inventory.sh via bin/md2html.sh -->
|
||
|
||
<!-- START: this line starts content generated by: bin/output-index-inventory.sh -->
|
||
|
||
<div id="inventory">
|
||
<h1 id="inventory-for-1992westley">Inventory for 1992/westley</h1>
|
||
</div>
|
||
<h2 id="primary-files">Primary files</h2>
|
||
<ul>
|
||
<li><a href="https://github.com/ioccc-src/temp-test-ioccc/blob/master/1992/westley/westley.c">westley.c</a> - entry source</li>
|
||
<li><a href="https://github.com/ioccc-src/temp-test-ioccc/blob/master/1992/westley/Makefile">Makefile</a> - entry Makefile</li>
|
||
<li><a href="https://github.com/ioccc-src/temp-test-ioccc/blob/master/1992/westley/westley.alt.c">westley.alt.c</a> - alternative source</li>
|
||
<li><a href="https://github.com/ioccc-src/temp-test-ioccc/blob/master/1992/westley/westley.alt.orig.c">westley.alt.orig.c</a> - original source</li>
|
||
<li><a href="https://github.com/ioccc-src/temp-test-ioccc/blob/master/1992/westley/westley.orig.c">westley.orig.c</a> - original source</li>
|
||
<li><a href="https://github.com/ioccc-src/temp-test-ioccc/blob/master/1992/westley/try.sh">try.sh</a> - how to run</li>
|
||
<li><a href="https://github.com/ioccc-src/temp-test-ioccc/blob/master/1992/westley/whereami.alt.sh">whereami.alt.sh</a> - alternative whereami tool</li>
|
||
<li><a href="https://github.com/ioccc-src/temp-test-ioccc/blob/master/1992/westley/whereami.c">whereami.c</a> - tool to find your location on the map</li>
|
||
<li><a href="https://github.com/ioccc-src/temp-test-ioccc/blob/master/1992/westley/whereami.sh">whereami.sh</a> - whereami tool</li>
|
||
</ul>
|
||
<h2 id="secondary-files">Secondary files</h2>
|
||
<ul>
|
||
<li><a href="1992_westley.tar.bz2">1992_westley.tar.bz2</a> - download entry tarball</li>
|
||
<li><a href="https://github.com/ioccc-src/temp-test-ioccc/blob/master/1992/westley/README.md">README.md</a> - markdown source for this web page</li>
|
||
<li><a href="https://github.com/ioccc-src/temp-test-ioccc/blob/master/1992/westley/.entry.json">.entry.json</a> - description of entry in JSON</li>
|
||
<li><a href="https://github.com/ioccc-src/temp-test-ioccc/blob/master/1992/westley/.gitignore">.gitignore</a> - list of files that should not be committed under git</li>
|
||
<li><a href="https://github.com/ioccc-src/temp-test-ioccc/blob/master/1992/westley/.path">.path</a> - directory path from top directory</li>
|
||
<li><a href="index.html">index.html</a> - this web page</li>
|
||
</ul>
|
||
<hr style="width:10%;text-align:left;margin-left:0">
|
||
<h4>
|
||
Jump to: <a href="#">top</a>
|
||
</h4>
|
||
|
||
<!-- END: next line ends content generated by: bin/output-index-inventory.sh -->
|
||
|
||
<!-- END: this line ends content for HTML phase 22 by: bin/output-index-inventory.sh via bin/md2html.sh -->
|
||
<!-- START: this line starts content from: inc/after-content.default.html -->
|
||
|
||
</div>
|
||
|
||
<!-- END: this line ends content from: inc/after-content.default.html -->
|
||
<!-- START: this line starts content from: inc/footer.default.html -->
|
||
|
||
<!--
|
||
|
||
Copyright © 1984-2024 by Landon Curt Noll. All Rights Reserved.
|
||
|
||
You are free to share and adapt this file under the terms of this license:
|
||
|
||
Creative Commons Attribution-ShareAlike 4.0 International (CC BY-SA 4.0)
|
||
|
||
For more information, see:
|
||
|
||
https://creativecommons.org/licenses/by-sa/4.0/
|
||
|
||
-->
|
||
|
||
<div class="footer">
|
||
<div id="copyright"><h2>Copyright and CC BY-SA 4.0 License</h2></div>
|
||
<p>All IOCCC content including this file and web page are:</p>
|
||
<b> Copyright © 1984-2024 by Landon Curt Noll. <a href="https://creativecommons.org/faq/#what-does-some-rights-reserved-mean">Some Rights Reserved</a>.</b>
|
||
<p>This work is licensed by Landon Curt Noll under:</p>
|
||
<p><b><a href="https://creativecommons.org/licenses/by-sa/4.0/?ref=chooser-v1"
|
||
target="_blank" rel="license noopener noreferrer" style="display:inline-block;"> CC BY-SA 4.0
|
||
<img style="height:22px!important;margin-left:3px;vertical-align:text-bottom;"
|
||
src="../../png/cc.png"
|
||
alt="cc inside circle symbol">
|
||
<img style="height:22px!important;margin-left:3px;vertical-align:text-bottom;"
|
||
src="../../png/by.png"
|
||
alt="person inside circle symbol">
|
||
<img style="height:22px!important;margin-left:3px;vertical-align:text-bottom;"
|
||
src="../../png/sa.png"
|
||
alt="arrow looping back on itself inside circle symbol">
|
||
</a></b></p>
|
||
<p>The <b>CC BY-SA 4.0 LEGAL CODE</b> for this license is found under:</p>
|
||
<p> <b><a href="https://creativecommons.org/licenses/by-sa/4.0/legalcode.en">
|
||
https://creativecommons.org/licenses/by-sa/4.0/legalcode.en</a></b></p>
|
||
<p>You should <b>carefully review</b> all of the terms and conditions of the
|
||
<a href="https://creativecommons.org/licenses/by-sa/4.0/legalcode.en">actual license</a>
|
||
before using the licensed material.</p>
|
||
<p>You may wish to review the <b><a href="../../license.html">highlights of some of the key
|
||
features and terms</a></b> of the <a href="https://creativecommons.org/licenses/by-sa/4.0/legalcode.en">actual license</a>.</p>
|
||
<h2>Coda</h2>
|
||
<p><a href="https://validator.w3.org/nu/?doc=https%3A%2F%2Fioccc-src.github.io%2Ftemp-test-ioccc%2F1992%2Fwestley%2Findex.html">Nu HTML check this web page</a></p>
|
||
<p><a href="#top">Jump to top</a> <a href="#content">Jump to Content</a> <a href="#inventory">Jump to Inventory</a></p>
|
||
</div>
|
||
|
||
<!-- END: this line ends content from: inc/footer.default.html -->
|
||
<!-- START: this line starts content from: inc/bottom.default.html -->
|
||
|
||
</body>
|
||
</html>
|
||
|
||
<!-- END: this line ends content from: inc/bottom.default.html -->
|