set pandoc 8 character tab stops for HTML conversion
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 "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`. Performed `make www` to perform the above and test under macOS.
This commit is contained in:
1 parent
7141a1b808
commit
b84c27ce02
402 files changed
+2414
-2396
No files matched your search
@@ -241,7 +241,7 @@ git rebase</p></li>
|
||||
<li><p>Make the mkiocccentry toolkit</p>
|
||||
<p>make clobber all</p></li>
|
||||
<li><p>Run the mkiocccentry tool to form your entry tarball</p>
|
||||
<pre><code> ./mkiocccentry work_dir prog.c Makefile remarks.md [file ...]</code></pre>
|
||||
<p>./mkiocccentry work_dir prog.c Makefile remarks.md [file …]</p>
|
||||
<p>where:</p>
|
||||
<p>work_dir directory where the entry directory and tarball are formed
|
||||
prog.c path to the C source for your entry</p>
|
||||
@@ -382,21 +382,21 @@ may copy <code>prog.c</code> to a different filename as part of the compiling/bu
|
||||
<pre class="make"><code>all: desired_name
|
||||
|
||||
desired_name: desired_name.c
|
||||
cc desired_name.c -o $@
|
||||
cc desired_name.c -o $@
|
||||
|
||||
desired_name.c: prog.c
|
||||
rm -f $@
|
||||
cp -f prog.c $@
|
||||
rm -f $@
|
||||
cp -f prog.c $@
|
||||
|
||||
clobber:
|
||||
rm -f desired_name.c desired_name</code></pre>
|
||||
rm -f desired_name.c desired_name</code></pre>
|
||||
<p>We recommend that the <code>make clobber</code> rule remove files that your entry
|
||||
creates as part of the compiling/building process.</p>
|
||||
<p>You may also copy the compiled <code>prog</code> into a different file as part of compiling process.
|
||||
For example:</p>
|
||||
<pre class="make"><code>different_name: prog
|
||||
rm -f $@
|
||||
cp -f prog $@</code></pre>
|
||||
rm -f $@
|
||||
cp -f prog $@</code></pre>
|
||||
<h3 id="faq-0.4-what-platform-should-i-assume-for-my-entry"><a name="faq0_4"></a>FAQ 0.4: What platform should I assume for my entry?</h3>
|
||||
<p>Your entry must compile with GCC and run under at least one flavor of UNIX (e.g.
|
||||
Linux or Solaris). To improve chances to win, it should work under both BSD and
|
||||
@@ -779,7 +779,7 @@ winning entries page</a>.</p></li>
|
||||
<h2 id="section-3-compiling-and-running-ioccc-entries"><a name="faq3"></a>Section 3: Compiling and running IOCCC entries</h2>
|
||||
<h3 id="faq-3.0-what-makefile-rules-are-available-to-build-or-clean-up-ioccc-entries"><a name="faq3_0"></a>FAQ 3.0: What Makefile rules are available to build or clean up IOCCC entries?</h3>
|
||||
<p>In general the best way to compile everything in an entry directory is to run:</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">make</span> clobber all</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">make</span> clobber all</span></code></pre></div>
|
||||
<p>If you wish to compile every entry for every year you should go to the top level
|
||||
directory and run the same command as above, <code>make clobber all</code>.</p>
|
||||
<p>The <code>all</code> rule will build everything necessary except for the alternate
|
||||
@@ -788,10 +788,10 @@ alternate version exists. To build all the entries along with any alternate code
|
||||
you can do from the top level directory:</p>
|
||||
<pre><code>make clobber everything</code></pre>
|
||||
<p>If you wish to only build alternate code you can 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 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> clobber alt</span></code></pre></div>
|
||||
<p>If you wish to not remove the entry binaries and only compile the additional alt
|
||||
versions:</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> 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> alt</span></code></pre></div>
|
||||
<p>The following Makefile rules should be in all Makefiles:</p>
|
||||
<ul>
|
||||
<li>all: build the entry programs (main program and any supplementary program)</li>
|
||||
@@ -948,7 +948,7 @@ the <a href="thanks-for-help.html">thanks-for-help.html</a> file.</p>
|
||||
<h4 id="red-hat-based-linux">Red Hat based Linux</h4>
|
||||
<p>First, see the above note on <a href="#X11_general">installing and starting Xorg</a>.</p>
|
||||
<p>Install Xorg and related packages:</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">sudo</span> dnf install <span class="at">--skip-broken</span> <span class="at">--best</span> <span class="at">--exclude</span> xorgxrdp <span class="at">--exclude</span> xorgxrdp-glamor <span class="st">'*xorg*'</span> <span class="st">'libx*'</span> <span class="st">'libX*'</span> <span class="st">'fontconfig*'</span></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">sudo</span> dnf install <span class="at">--skip-broken</span> <span class="at">--best</span> <span class="at">--exclude</span> xorgxrdp <span class="at">--exclude</span> xorgxrdp-glamor <span class="st">'*xorg*'</span> <span class="st">'libx*'</span> <span class="st">'libX*'</span> <span class="st">'fontconfig*'</span></span></code></pre></div>
|
||||
<p>See also:</p>
|
||||
<ul>
|
||||
<li><a href="https://www.wikihow.com/Configure-X11-in-Linux">How to Configure X11 in Linux</a></li>
|
||||
@@ -968,7 +968,7 @@ XQuartz</a>, preferably on an <a href="https://support.apple.com/macos">Apple su
|
||||
macOS, preferably the most recent version</a>.
|
||||
After it is installed, open the “XQuartz” application (usually located in
|
||||
<code>/Applications/Utilities/XQuartz.app</code>) by typing at the command line:</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="ex">open</span> /Applications/Utilities/XQuartz.app</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">open</span> /Applications/Utilities/XQuartz.app</span></code></pre></div>
|
||||
<p>With the “XQuartz” application open you will get an <a href="https://www.x.org/wiki/">X Window System
|
||||
Manager</a> launched with an <a href="https://en.wikipedia.org/wiki/Xterm">Xterm window
|
||||
shell</a> started:</p>
|
||||
@@ -987,7 +987,7 @@ See the above note for details.</p>
|
||||
<p>First, see the above note on <a href="#X11_general">installing and starting Xorg</a>.</p>
|
||||
<p>According to the <a href="https://wiki.debian.org/Xorg">Debian Xorg wiki</a>, installing
|
||||
X11 requires:</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="fu">sudo</span> apt install xorg</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">sudo</span> apt install xorg</span></code></pre></div>
|
||||
<p><strong>IMPORTANT NOTE</strong>: The <a href="#Xorg_deprecated">X.org server has been deprecated</a>.
|
||||
See the above note for details.</p>
|
||||
<h4 id="other-linux-distributions">Other Linux distributions</h4>
|
||||
@@ -1005,9 +1005,9 @@ may be helpful:</p>
|
||||
<li><a href="https://www.wikihow.com/Configure-X11-in-Linux">How to Configure X11 in Linux</a></li>
|
||||
</ul>
|
||||
<p>For systems that have the <code>dnf(1)</code> command:</p>
|
||||
<div class="sourceCode" id="cb11"><pre class="sourceCode sh"><code class="sourceCode bash"><span id="cb11-1"><a href="#cb11-1" aria-hidden="true" tabindex="-1"></a><span class="fu">sudo</span> dnf install <span class="at">--skip-broken</span> <span class="at">--best</span> <span class="at">--exclude</span> xorgxrdp <span class="at">--exclude</span> xorgxrdp-glamor <span class="st">'*xorg*'</span> <span class="st">'libx*'</span> <span class="st">'libX*'</span> <span class="st">'fontconfig*'</span></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">sudo</span> dnf install <span class="at">--skip-broken</span> <span class="at">--best</span> <span class="at">--exclude</span> xorgxrdp <span class="at">--exclude</span> xorgxrdp-glamor <span class="st">'*xorg*'</span> <span class="st">'libx*'</span> <span class="st">'libX*'</span> <span class="st">'fontconfig*'</span></span></code></pre></div>
|
||||
<p>For systems that have the <code>yum(1)</code> command:</p>
|
||||
<div class="sourceCode" id="cb12"><pre class="sourceCode sh"><code class="sourceCode bash"><span id="cb12-1"><a href="#cb12-1" aria-hidden="true" tabindex="-1"></a><span class="fu">sudo</span> yum install <span class="at">--skip-broken</span> <span class="at">--best</span> <span class="at">--exclude</span> xorgxrdp <span class="at">--exclude</span> xorgxrdp-glamor <span class="st">'*xorg*'</span> <span class="st">'libx*'</span> <span class="st">'libX*'</span> <span class="st">'fontconfig*'</span></span></code></pre></div>
|
||||
<div class="sourceCode" id="cb11"><pre class="sourceCode sh"><code class="sourceCode bash"><span id="cb11-1"><a href="#cb11-1" aria-hidden="true" tabindex="-1"></a><span class="fu">sudo</span> yum install <span class="at">--skip-broken</span> <span class="at">--best</span> <span class="at">--exclude</span> xorgxrdp <span class="at">--exclude</span> xorgxrdp-glamor <span class="st">'*xorg*'</span> <span class="st">'libx*'</span> <span class="st">'libX*'</span> <span class="st">'fontconfig*'</span></span></code></pre></div>
|
||||
<p><strong>IMPORTANT NOTE</strong>: The <a href="#Xorg_deprecated">X.org server has been deprecated</a>.
|
||||
See the above note for details.</p>
|
||||
<h4 id="package-website">package website</h4>
|
||||
@@ -1020,13 +1020,13 @@ See the above note for details.</p>
|
||||
macOS with alternative methods for macOS and different package managers with Linux.</p>
|
||||
<h4 id="red-hat-based-linux-1">Red Hat based Linux</h4>
|
||||
<p>Execute the following as root or via sudo:</p>
|
||||
<div class="sourceCode" id="cb13"><pre class="sourceCode sh"><code class="sourceCode bash"><span id="cb13-1"><a href="#cb13-1" aria-hidden="true" tabindex="-1"></a><span class="ex">dnf</span> install SDL2 SDL2-devel sdl12-compat sdl12-compat-devel</span></code></pre></div>
|
||||
<div class="sourceCode" id="cb12"><pre class="sourceCode sh"><code class="sourceCode bash"><span id="cb12-1"><a href="#cb12-1" aria-hidden="true" tabindex="-1"></a><span class="ex">dnf</span> install SDL2 SDL2-devel sdl12-compat sdl12-compat-devel</span></code></pre></div>
|
||||
<p>Older RHEL distributions might have to use “yum” instead of “dnf”
|
||||
in the above command.</p>
|
||||
<p>In the past it was said that one might need to run <code>make</code> like:</p>
|
||||
<div class="sourceCode" id="cb14"><pre class="sourceCode sh"><code class="sourceCode bash"><span id="cb14-1"><a href="#cb14-1" aria-hidden="true" tabindex="-1"></a><span class="fu">make</span> ... SDL2_INCLUDE_ROOT=/usr</span></code></pre></div>
|
||||
<div class="sourceCode" id="cb13"><pre class="sourceCode sh"><code class="sourceCode bash"><span id="cb13-1"><a href="#cb13-1" aria-hidden="true" tabindex="-1"></a><span class="fu">make</span> ... SDL2_INCLUDE_ROOT=/usr</span></code></pre></div>
|
||||
<p>or set the following environment variable:</p>
|
||||
<div class="sourceCode" id="cb15"><pre class="sourceCode sh"><code class="sourceCode bash"><span id="cb15-1"><a href="#cb15-1" aria-hidden="true" tabindex="-1"></a><span class="bu">export</span> <span class="va">SDL2_INCLUDE_ROOT</span><span class="op">=</span>/usr</span></code></pre></div>
|
||||
<div class="sourceCode" id="cb14"><pre class="sourceCode sh"><code class="sourceCode bash"><span id="cb14-1"><a href="#cb14-1" aria-hidden="true" tabindex="-1"></a><span class="bu">export</span> <span class="va">SDL2_INCLUDE_ROOT</span><span class="op">=</span>/usr</span></code></pre></div>
|
||||
<p>but this might not be necessary in more modern days especially as we use
|
||||
<code>sdl-config</code> and <code>sdl2-config</code> which should find the proper paths.</p>
|
||||
<h4 id="macos-1">macOS</h4>
|
||||
@@ -1038,20 +1038,20 @@ the package website.</p>
|
||||
<h5 id="macos-via-homebrew">macOS via Homebrew</h5>
|
||||
<p>If you have not already done so, install <a href="https://brew.sh">Homebrew</a>.</p>
|
||||
<p>Then to install SDL and SDL2, execute the following command:</p>
|
||||
<div class="sourceCode" id="cb16"><pre class="sourceCode sh"><code class="sourceCode bash"><span id="cb16-1"><a href="#cb16-1" aria-hidden="true" tabindex="-1"></a><span class="ex">brew</span> install sdl2 sdl12-compat</span>
|
||||
<span id="cb16-2"><a href="#cb16-2" aria-hidden="true" tabindex="-1"></a><span class="bu">eval</span> <span class="st">"</span><span class="va">$(</span><span class="ex">opt/homebrew/bin/brew</span> shellenv<span class="va">)</span><span class="st">"</span></span></code></pre></div>
|
||||
<div class="sourceCode" id="cb15"><pre class="sourceCode sh"><code class="sourceCode bash"><span id="cb15-1"><a href="#cb15-1" aria-hidden="true" tabindex="-1"></a><span class="ex">brew</span> install sdl2 sdl12-compat</span>
|
||||
<span id="cb15-2"><a href="#cb15-2" aria-hidden="true" tabindex="-1"></a><span class="bu">eval</span> <span class="st">"</span><span class="va">$(</span><span class="ex">opt/homebrew/bin/brew</span> shellenv<span class="va">)</span><span class="st">"</span></span></code></pre></div>
|
||||
<h5 id="macos-via-macports">macos via MacPorts</h5>
|
||||
<p>If you haven’t already, install
|
||||
<a href="https://www.macports.org/install.php">MacPorts</a>. Then run:</p>
|
||||
<div class="sourceCode" id="cb17"><pre class="sourceCode sh"><code class="sourceCode bash"><span id="cb17-1"><a href="#cb17-1" aria-hidden="true" tabindex="-1"></a><span class="fu">sudo</span> port install libsdl libsdl2</span></code></pre></div>
|
||||
<div class="sourceCode" id="cb16"><pre class="sourceCode sh"><code class="sourceCode bash"><span id="cb16-1"><a href="#cb16-1" aria-hidden="true" tabindex="-1"></a><span class="fu">sudo</span> port install libsdl libsdl2</span></code></pre></div>
|
||||
<h4 id="debian-based-linux-1">Debian based Linux</h4>
|
||||
<p>Execute the following as root or via sudo:</p>
|
||||
<div class="sourceCode" id="cb18"><pre class="sourceCode sh"><code class="sourceCode bash"><span id="cb18-1"><a href="#cb18-1" aria-hidden="true" tabindex="-1"></a><span class="ex">apt</span> install libsdl1.2debian libsdl1.2-dev libsdl2-dev</span></code></pre></div>
|
||||
<div class="sourceCode" id="cb17"><pre class="sourceCode sh"><code class="sourceCode bash"><span id="cb17-1"><a href="#cb17-1" aria-hidden="true" tabindex="-1"></a><span class="ex">apt</span> install libsdl1.2debian libsdl1.2-dev libsdl2-dev</span></code></pre></div>
|
||||
<p>and then try <code>make all</code> again.</p>
|
||||
<p>In the past it was said that one might need to run <code>make</code> like:</p>
|
||||
<div class="sourceCode" id="cb19"><pre class="sourceCode sh"><code class="sourceCode bash"><span id="cb19-1"><a href="#cb19-1" aria-hidden="true" tabindex="-1"></a><span class="fu">make</span> ... SDL2_INCLUDE_ROOT=/usr</span></code></pre></div>
|
||||
<div class="sourceCode" id="cb18"><pre class="sourceCode sh"><code class="sourceCode bash"><span id="cb18-1"><a href="#cb18-1" aria-hidden="true" tabindex="-1"></a><span class="fu">make</span> ... SDL2_INCLUDE_ROOT=/usr</span></code></pre></div>
|
||||
<p>or set the following environment variable:</p>
|
||||
<div class="sourceCode" id="cb20"><pre class="sourceCode sh"><code class="sourceCode bash"><span id="cb20-1"><a href="#cb20-1" aria-hidden="true" tabindex="-1"></a><span class="bu">export</span> <span class="va">SDL2_INCLUDE_ROOT</span><span class="op">=</span>/usr</span></code></pre></div>
|
||||
<div class="sourceCode" id="cb19"><pre class="sourceCode sh"><code class="sourceCode bash"><span id="cb19-1"><a href="#cb19-1" aria-hidden="true" tabindex="-1"></a><span class="bu">export</span> <span class="va">SDL2_INCLUDE_ROOT</span><span class="op">=</span>/usr</span></code></pre></div>
|
||||
<p>but this might not be necessary in more modern days especially as we use
|
||||
<code>sdl-config</code> and <code>sdl2-config</code> which should find the proper paths.</p>
|
||||
<h4 id="other-linux-distributions-1">Other Linux distributions</h4>
|
||||
@@ -1075,10 +1075,10 @@ as a GitHub pull request</a> for more information about pull requests.</p>
|
||||
macOS with alternative methods for macOS and different package managers with Linux.</p>
|
||||
<h4 id="red-hat-based-linux-2">Red Hat based Linux</h4>
|
||||
<p>Execute the following as root or via sudo:</p>
|
||||
<div class="sourceCode" id="cb21"><pre class="sourceCode sh"><code class="sourceCode bash"><span id="cb21-1"><a href="#cb21-1" aria-hidden="true" tabindex="-1"></a><span class="ex">dnf</span> install ncurses ncurses-devel</span></code></pre></div>
|
||||
<div class="sourceCode" id="cb20"><pre class="sourceCode sh"><code class="sourceCode bash"><span id="cb20-1"><a href="#cb20-1" aria-hidden="true" tabindex="-1"></a><span class="ex">dnf</span> install ncurses ncurses-devel</span></code></pre></div>
|
||||
<h4 id="macos-2">macOS</h4>
|
||||
<p>With macOS it should already be installed. If it is not you might have to do:</p>
|
||||
<div class="sourceCode" id="cb22"><pre class="sourceCode sh"><code class="sourceCode bash"><span id="cb22-1"><a href="#cb22-1" aria-hidden="true" tabindex="-1"></a><span class="ex">xcode-select</span> <span class="at">--install</span></span></code></pre></div>
|
||||
<div class="sourceCode" id="cb21"><pre class="sourceCode sh"><code class="sourceCode bash"><span id="cb21-1"><a href="#cb21-1" aria-hidden="true" tabindex="-1"></a><span class="ex">xcode-select</span> <span class="at">--install</span></span></code></pre></div>
|
||||
<p>and agree to the terms and conditions and proceed with the install.</p>
|
||||
<h5 id="macos-via-homebrew-1">macOS via Homebrew</h5>
|
||||
<p>Not applicable, see above.</p>
|
||||
@@ -1086,7 +1086,7 @@ macOS with alternative methods for macOS and different package managers with Lin
|
||||
<p>Not applicable, see above.</p>
|
||||
<h4 id="debian-based-linux-2">Debian based Linux</h4>
|
||||
<p>Execute the following as root or via sudo:</p>
|
||||
<div class="sourceCode" id="cb23"><pre class="sourceCode sh"><code class="sourceCode bash"><span id="cb23-1"><a href="#cb23-1" aria-hidden="true" tabindex="-1"></a><span class="ex">apt</span> install libncurses6</span></code></pre></div>
|
||||
<div class="sourceCode" id="cb22"><pre class="sourceCode sh"><code class="sourceCode bash"><span id="cb22-1"><a href="#cb22-1" aria-hidden="true" tabindex="-1"></a><span class="ex">apt</span> install libncurses6</span></code></pre></div>
|
||||
<p>and then try <code>make all</code> again.</p>
|
||||
<h4 id="other-linux-distributions-2">Other Linux distributions</h4>
|
||||
<p>Use your package manager to install the appropriate packages. Try the search
|
||||
@@ -1103,18 +1103,18 @@ processing programs, <a href="https://sox.sourceforge.net">SoX</a>, will work. H
|
||||
install depends on your OS.</p>
|
||||
<h4 id="red-hat-based-linux-3">Red Hat based Linux</h4>
|
||||
<p>As root or via sudo:</p>
|
||||
<div class="sourceCode" id="cb24"><pre class="sourceCode sh"><code class="sourceCode bash"><span id="cb24-1"><a href="#cb24-1" aria-hidden="true" tabindex="-1"></a><span class="ex">dnf</span> install <span class="at">-y</span> sox sox-devel</span></code></pre></div>
|
||||
<div class="sourceCode" id="cb23"><pre class="sourceCode sh"><code class="sourceCode bash"><span id="cb23-1"><a href="#cb23-1" aria-hidden="true" tabindex="-1"></a><span class="ex">dnf</span> install <span class="at">-y</span> sox sox-devel</span></code></pre></div>
|
||||
<h4 id="macos-3">macOS</h4>
|
||||
<p>For macOS there are two well known options.</p>
|
||||
<h5 id="macos-via-homebrew-2">macOS via Homebrew</h5>
|
||||
<p>If you have not already done so, install <a href="https://brew.sh">Homebrew</a>.</p>
|
||||
<p>Then to install SoX, execute the following command:</p>
|
||||
<div class="sourceCode" id="cb25"><pre class="sourceCode sh"><code class="sourceCode bash"><span id="cb25-1"><a href="#cb25-1" aria-hidden="true" tabindex="-1"></a><span class="ex">brew</span> install sox</span>
|
||||
<span id="cb25-2"><a href="#cb25-2" aria-hidden="true" tabindex="-1"></a><span class="bu">eval</span> <span class="st">"</span><span class="va">$(</span><span class="ex">opt/homebrew/bin/brew</span> shellenv<span class="va">)</span><span class="st">"</span></span></code></pre></div>
|
||||
<div class="sourceCode" id="cb24"><pre class="sourceCode sh"><code class="sourceCode bash"><span id="cb24-1"><a href="#cb24-1" aria-hidden="true" tabindex="-1"></a><span class="ex">brew</span> install sox</span>
|
||||
<span id="cb24-2"><a href="#cb24-2" aria-hidden="true" tabindex="-1"></a><span class="bu">eval</span> <span class="st">"</span><span class="va">$(</span><span class="ex">opt/homebrew/bin/brew</span> shellenv<span class="va">)</span><span class="st">"</span></span></code></pre></div>
|
||||
<h5 id="macos-via-macports-2">macOS via MacPorts</h5>
|
||||
<p>If you haven’t already, install
|
||||
<a href="https://www.macports.org/install.php">MacPorts</a>. Then run:</p>
|
||||
<div class="sourceCode" id="cb26"><pre class="sourceCode sh"><code class="sourceCode bash"><span id="cb26-1"><a href="#cb26-1" aria-hidden="true" tabindex="-1"></a><span class="fu">sudo</span> port install sox</span></code></pre></div>
|
||||
<div class="sourceCode" id="cb25"><pre class="sourceCode sh"><code class="sourceCode bash"><span id="cb25-1"><a href="#cb25-1" aria-hidden="true" tabindex="-1"></a><span class="fu">sudo</span> port install sox</span></code></pre></div>
|
||||
<h4 id="debian-based-linux-3">Debian based Linux</h4>
|
||||
<p>Usually the index.html file will explain how to use it under Debian so we do not
|
||||
include this here, at least for now.</p>
|
||||
@@ -1135,13 +1135,13 @@ when they do, <code>-Weverything</code> is enabled with all of its challenges, p
|
||||
warnings, and sometimes warnings about things that do not matter, some of which
|
||||
are frankly frivolous and often downright dubious.</p>
|
||||
<p>To enable this feature:</p>
|
||||
<div class="sourceCode" id="cb27"><pre class="sourceCode sh"><code class="sourceCode bash"><span id="cb27-1"><a href="#cb27-1" aria-hidden="true" tabindex="-1"></a><span class="fu">make</span> clobber all CC=clang</span></code></pre></div>
|
||||
<div class="sourceCode" id="cb26"><pre class="sourceCode sh"><code class="sourceCode bash"><span id="cb26-1"><a href="#cb26-1" aria-hidden="true" tabindex="-1"></a><span class="fu">make</span> clobber all CC=clang</span></code></pre></div>
|
||||
<p>or:</p>
|
||||
<div class="sourceCode" id="cb28"><pre class="sourceCode sh"><code class="sourceCode bash"><span id="cb28-1"><a href="#cb28-1" aria-hidden="true" tabindex="-1"></a><span class="fu">make</span> clobber all <span class="st">'CWARN+= -Weverything'</span></span></code></pre></div>
|
||||
<div class="sourceCode" id="cb27"><pre class="sourceCode sh"><code class="sourceCode bash"><span id="cb27-1"><a href="#cb27-1" aria-hidden="true" tabindex="-1"></a><span class="fu">make</span> clobber all <span class="st">'CWARN+= -Weverything'</span></span></code></pre></div>
|
||||
<p>though it should be noted that if one tries <code>-Weverything</code> with compilers that
|
||||
are not <code>clang</code> they <em>might</em> see something like:</p>
|
||||
<div class="sourceCode" id="cb29"><pre class="sourceCode sh"><code class="sourceCode bash"><span id="cb29-1"><a href="#cb29-1" aria-hidden="true" tabindex="-1"></a><span class="bu">echo</span> <span class="st">'int main(void) {}'</span> <span class="op">></span> foo.c <span class="kw">;</span> <span class="fu">cc</span> <span class="at">-Weverything</span> foo.c <span class="at">-o</span> foo</span>
|
||||
<span id="cb29-2"><a href="#cb29-2" aria-hidden="true" tabindex="-1"></a><span class="ex">cc:</span> error: unrecognized command-line option <span class="st">'-Weverything'</span></span></code></pre></div>
|
||||
<div class="sourceCode" id="cb28"><pre class="sourceCode sh"><code class="sourceCode bash"><span id="cb28-1"><a href="#cb28-1" aria-hidden="true" tabindex="-1"></a><span class="bu">echo</span> <span class="st">'int main(void) {}'</span> <span class="op">></span> foo.c <span class="kw">;</span> <span class="fu">cc</span> <span class="at">-Weverything</span> foo.c <span class="at">-o</span> foo</span>
|
||||
<span id="cb28-2"><a href="#cb28-2" aria-hidden="true" tabindex="-1"></a><span class="ex">cc:</span> error: unrecognized command-line option <span class="st">'-Weverything'</span></span></code></pre></div>
|
||||
<p>which means that it can’t even be compiled. Thus the proper way to do it is the
|
||||
first way, <code>make clobber all CC=clang</code>.</p>
|
||||
<p>IOCCC authors who have access to <code>clang</code> might wish to try their
|
||||
@@ -1184,11 +1184,11 @@ Ferguson</a> was able to
|
||||
get much of it to work and looking at that entry might be of value to your
|
||||
submissions, at least if you can figure the code out :-). To see the
|
||||
differences, try from <code>1989/westley</code>:</p>
|
||||
<div class="sourceCode" id="cb30"><pre class="sourceCode sh"><code class="sourceCode bash"><span id="cb30-1"><a href="#cb30-1" aria-hidden="true" tabindex="-1"></a><span class="fu">make</span> diff_orig_prog</span></code></pre></div>
|
||||
<div class="sourceCode" id="cb29"><pre class="sourceCode sh"><code class="sourceCode bash"><span id="cb29-1"><a href="#cb29-1" aria-hidden="true" tabindex="-1"></a><span class="fu">make</span> diff_orig_prog</span></code></pre></div>
|
||||
<p>If you have <code>colordiff</code> try:</p>
|
||||
<div class="sourceCode" id="cb31"><pre class="sourceCode sh"><code class="sourceCode bash"><span id="cb31-1"><a href="#cb31-1" aria-hidden="true" tabindex="-1"></a><span class="fu">make</span> DIFF=colordiff diff_orig_prog</span></code></pre></div>
|
||||
<div class="sourceCode" id="cb30"><pre class="sourceCode sh"><code class="sourceCode bash"><span id="cb30-1"><a href="#cb30-1" aria-hidden="true" tabindex="-1"></a><span class="fu">make</span> DIFF=colordiff diff_orig_prog</span></code></pre></div>
|
||||
<p>Alternatively you can try:</p>
|
||||
<div class="sourceCode" id="cb32"><pre class="sourceCode sh"><code class="sourceCode bash"><span id="cb32-1"><a href="#cb32-1" aria-hidden="true" tabindex="-1"></a><span class="fu">git</span> diff d2a42f42e8f477f29e9d5ed09ce2bb349eaf7397..eb9e69fde657acc8c85a618a8a99af4c2f93b21d westley.c</span></code></pre></div>
|
||||
<div class="sourceCode" id="cb31"><pre class="sourceCode sh"><code class="sourceCode bash"><span id="cb31-1"><a href="#cb31-1" aria-hidden="true" tabindex="-1"></a><span class="fu">git</span> diff d2a42f42e8f477f29e9d5ed09ce2bb349eaf7397..eb9e69fde657acc8c85a618a8a99af4c2f93b21d westley.c</span></code></pre></div>
|
||||
<p>As you can see, using <code>clang</code> has some additional problems to work out but if
|
||||
you can get your entry to work well in <code>clang</code> it might very well be considered
|
||||
better than other entries.</p>
|
||||
@@ -1202,14 +1202,14 @@ special characters. There are typical defaults like (where <code>^</code> = ctrl
|
||||
</ul>
|
||||
<p>and various others. But if you don’t know this you can find out through the
|
||||
<code>stty(1)</code> command with the <code>-a</code> option. For instance with macOS you might see:</p>
|
||||
<div class="sourceCode" id="cb33"><pre class="sourceCode sh"><code class="sourceCode bash"><span id="cb33-1"><a href="#cb33-1" aria-hidden="true" tabindex="-1"></a><span class="ex">$</span> stty <span class="at">-a</span></span>
|
||||
<span id="cb33-2"><a href="#cb33-2" aria-hidden="true" tabindex="-1"></a><span class="ex">speed</span> 9600 baud<span class="kw">;</span> <span class="ex">rows</span> 40<span class="kw">;</span> <span class="ex">columns</span> 155<span class="kw">;</span></span>
|
||||
<span id="cb33-3"><a href="#cb33-3" aria-hidden="true" tabindex="-1"></a><span class="ex">intr</span> = ^C<span class="kw">;</span> <span class="ex">quit</span> = ^<span class="dt">\;</span> erase = ^<span class="pp">?</span><span class="kw">;</span> <span class="bu">kill</span> = ^U<span class="kw">;</span> <span class="ex">eof</span> = ^D<span class="kw">;</span> <span class="ex">[..snip..]</span></span></code></pre></div>
|
||||
<div class="sourceCode" id="cb32"><pre class="sourceCode sh"><code class="sourceCode bash"><span id="cb32-1"><a href="#cb32-1" aria-hidden="true" tabindex="-1"></a><span class="ex">$</span> stty <span class="at">-a</span></span>
|
||||
<span id="cb32-2"><a href="#cb32-2" aria-hidden="true" tabindex="-1"></a><span class="ex">speed</span> 9600 baud<span class="kw">;</span> <span class="ex">rows</span> 40<span class="kw">;</span> <span class="ex">columns</span> 155<span class="kw">;</span></span>
|
||||
<span id="cb32-3"><a href="#cb32-3" aria-hidden="true" tabindex="-1"></a><span class="ex">intr</span> = ^C<span class="kw">;</span> <span class="ex">quit</span> = ^<span class="dt">\;</span> erase = ^<span class="pp">?</span><span class="kw">;</span> <span class="bu">kill</span> = ^U<span class="kw">;</span> <span class="ex">eof</span> = ^D<span class="kw">;</span> <span class="ex">[..snip..]</span></span></code></pre></div>
|
||||
<p>If you know the name you can use <code>grep</code> to find the correct line and if your
|
||||
implementation of <code>grep(1)</code> has the <code>-o</code> option you can filter it. For instance
|
||||
to find what the <code>intr</code> is set to:</p>
|
||||
<div class="sourceCode" id="cb34"><pre class="sourceCode sh"><code class="sourceCode bash"><span id="cb34-1"><a href="#cb34-1" aria-hidden="true" tabindex="-1"></a><span class="ex">$</span> stty <span class="at">-a</span> <span class="kw">|</span><span class="fu">grep</span> <span class="at">-o</span> <span class="st">'intr = ^[[:alpha:]]'</span></span>
|
||||
<span id="cb34-2"><a href="#cb34-2" aria-hidden="true" tabindex="-1"></a><span class="ex">intr</span> = ^C</span></code></pre></div>
|
||||
<div class="sourceCode" id="cb33"><pre class="sourceCode sh"><code class="sourceCode bash"><span id="cb33-1"><a href="#cb33-1" aria-hidden="true" tabindex="-1"></a><span class="ex">$</span> stty <span class="at">-a</span> <span class="kw">|</span><span class="fu">grep</span> <span class="at">-o</span> <span class="st">'intr = ^[[:alpha:]]'</span></span>
|
||||
<span id="cb33-2"><a href="#cb33-2" aria-hidden="true" tabindex="-1"></a><span class="ex">intr</span> = ^C</span></code></pre></div>
|
||||
<p>… assuming of course that it’s a ctrl combination :-) If for some strange
|
||||
reason it’s not you might have to do something else including just piping it to
|
||||
just <code>grep intr</code> or whatever.</p>
|
||||
@@ -1246,19 +1246,19 @@ Please see <a href="#fix_an_entry">FAQ 5.2</a> for how to submit a fix to an IOC
|
||||
<p>If your OS package manager does not have the package <code>tcpserver</code> you can
|
||||
download, making sure you’re in a temporary directory, and compile the source
|
||||
like:</p>
|
||||
<div class="sourceCode" id="cb35"><pre class="sourceCode sh"><code class="sourceCode bash"><span id="cb35-1"><a href="#cb35-1" aria-hidden="true" tabindex="-1"></a><span class="fu">wget</span> http://cr.yp.to/ucspi-tcp/ucspi-tcp-0.88.tar.gz</span>
|
||||
<span id="cb35-2"><a href="#cb35-2" aria-hidden="true" tabindex="-1"></a><span class="fu">tar</span> ucspi-tcp-0.88.tar.gz</span>
|
||||
<span id="cb35-3"><a href="#cb35-3" aria-hidden="true" tabindex="-1"></a><span class="bu">cd</span> ucspi-tcp-0.88</span>
|
||||
<span id="cb35-4"><a href="#cb35-4" aria-hidden="true" tabindex="-1"></a><span class="fu">make</span></span></code></pre></div>
|
||||
<div class="sourceCode" id="cb34"><pre class="sourceCode sh"><code class="sourceCode bash"><span id="cb34-1"><a href="#cb34-1" aria-hidden="true" tabindex="-1"></a><span class="fu">wget</span> http://cr.yp.to/ucspi-tcp/ucspi-tcp-0.88.tar.gz</span>
|
||||
<span id="cb34-2"><a href="#cb34-2" aria-hidden="true" tabindex="-1"></a><span class="fu">tar</span> ucspi-tcp-0.88.tar.gz</span>
|
||||
<span id="cb34-3"><a href="#cb34-3" aria-hidden="true" tabindex="-1"></a><span class="bu">cd</span> ucspi-tcp-0.88</span>
|
||||
<span id="cb34-4"><a href="#cb34-4" aria-hidden="true" tabindex="-1"></a><span class="fu">make</span></span></code></pre></div>
|
||||
<p>Then as root or via <code>sudo(1)</code> enter:</p>
|
||||
<div class="sourceCode" id="cb36"><pre class="sourceCode sh"><code class="sourceCode bash"><span id="cb36-1"><a href="#cb36-1" aria-hidden="true" tabindex="-1"></a><span class="fu">make</span> setup check</span></code></pre></div>
|
||||
<div class="sourceCode" id="cb35"><pre class="sourceCode sh"><code class="sourceCode bash"><span id="cb35-1"><a href="#cb35-1" aria-hidden="true" tabindex="-1"></a><span class="fu">make</span> setup check</span></code></pre></div>
|
||||
<p>That will install it to <code>/usr/local/bin</code>. Now you should be able to use the
|
||||
entry in question.</p>
|
||||
<h3 id="how-do-i-compile-and-install-netpbm-for-entries-that-require-it"><a name="faq3_15"></a><a name="netpbm"></a>3.15 - How do I compile and install netpbm for entries that require it?</h3>
|
||||
<p>This depends on your operating system for which we describe a couple below.</p>
|
||||
<h4 id="red-hat-based-linux-4">Red Hat based Linux</h4>
|
||||
<p>Execute the following as root or via sudo:</p>
|
||||
<div class="sourceCode" id="cb37"><pre class="sourceCode sh"><code class="sourceCode bash"><span id="cb37-1"><a href="#cb37-1" aria-hidden="true" tabindex="-1"></a><span class="ex">dnf</span> install netpbm-progs netpbm</span></code></pre></div>
|
||||
<div class="sourceCode" id="cb36"><pre class="sourceCode sh"><code class="sourceCode bash"><span id="cb36-1"><a href="#cb36-1" aria-hidden="true" tabindex="-1"></a><span class="ex">dnf</span> install netpbm-progs netpbm</span></code></pre></div>
|
||||
<p>Older RHEL distributions might have to use “yum” instead of “dnf”
|
||||
in the above command.</p>
|
||||
<h4 id="macos-4">macOS</h4>
|
||||
@@ -1270,14 +1270,14 @@ the package website.</p>
|
||||
<h5 id="macos-via-homebrew-3">macOS via Homebrew</h5>
|
||||
<p>If you have not already done so, install <a href="https://brew.sh">Homebrew</a>.</p>
|
||||
<p>Then to install netpbm, execute the following command:</p>
|
||||
<div class="sourceCode" id="cb38"><pre class="sourceCode sh"><code class="sourceCode bash"><span id="cb38-1"><a href="#cb38-1" aria-hidden="true" tabindex="-1"></a><span class="ex">brew</span> install netpbm</span></code></pre></div>
|
||||
<div class="sourceCode" id="cb37"><pre class="sourceCode sh"><code class="sourceCode bash"><span id="cb37-1"><a href="#cb37-1" aria-hidden="true" tabindex="-1"></a><span class="ex">brew</span> install netpbm</span></code></pre></div>
|
||||
<h5 id="macos-via-macports-3">macos via MacPorts</h5>
|
||||
<p>If you haven’t already, install
|
||||
<a href="https://www.macports.org/install.php">MacPorts</a>. Then run:</p>
|
||||
<div class="sourceCode" id="cb39"><pre class="sourceCode sh"><code class="sourceCode bash"><span id="cb39-1"><a href="#cb39-1" aria-hidden="true" tabindex="-1"></a><span class="fu">sudo</span> port install libnetpbm netpbm</span></code></pre></div>
|
||||
<div class="sourceCode" id="cb38"><pre class="sourceCode sh"><code class="sourceCode bash"><span id="cb38-1"><a href="#cb38-1" aria-hidden="true" tabindex="-1"></a><span class="fu">sudo</span> port install libnetpbm netpbm</span></code></pre></div>
|
||||
<h4 id="debian-based-linux-4">Debian based Linux</h4>
|
||||
<p>Execute the following as root or via sudo:</p>
|
||||
<div class="sourceCode" id="cb40"><pre class="sourceCode sh"><code class="sourceCode bash"><span id="cb40-1"><a href="#cb40-1" aria-hidden="true" tabindex="-1"></a><span class="ex">apt</span> install netpbm</span></code></pre></div>
|
||||
<div class="sourceCode" id="cb39"><pre class="sourceCode sh"><code class="sourceCode bash"><span id="cb39-1"><a href="#cb39-1" aria-hidden="true" tabindex="-1"></a><span class="ex">apt</span> install netpbm</span></code></pre></div>
|
||||
<p>and then try <code>make all</code> again.</p>
|
||||
<h4 id="other-linux-distributions-4">Other Linux distributions</h4>
|
||||
<p>Use your package manager to install the appropriate packages. Try the search
|
||||
@@ -1292,7 +1292,7 @@ for downloading, installing and using netpbm.</p>
|
||||
<p>This depends on your operating system for which we describe a couple below.</p>
|
||||
<h4 id="red-hat-based-linux-5">Red Hat based Linux</h4>
|
||||
<p>Execute the following as root or via sudo:</p>
|
||||
<div class="sourceCode" id="cb41"><pre class="sourceCode sh"><code class="sourceCode bash"><span id="cb41-1"><a href="#cb41-1" aria-hidden="true" tabindex="-1"></a><span class="ex">dnf</span> install libjpeg-turbo-utils libjpeg-turbo-devel libjpeg-turbo</span></code></pre></div>
|
||||
<div class="sourceCode" id="cb40"><pre class="sourceCode sh"><code class="sourceCode bash"><span id="cb40-1"><a href="#cb40-1" aria-hidden="true" tabindex="-1"></a><span class="ex">dnf</span> install libjpeg-turbo-utils libjpeg-turbo-devel libjpeg-turbo</span></code></pre></div>
|
||||
<p>Older RHEL distributions might have to use “yum” instead of “dnf”
|
||||
in the above command.</p>
|
||||
<h4 id="macos-5">macOS</h4>
|
||||
@@ -1304,14 +1304,14 @@ the package website.</p>
|
||||
<h5 id="macos-via-homebrew-4">macOS via Homebrew</h5>
|
||||
<p>If you have not already done so, install <a href="https://brew.sh">Homebrew</a>.</p>
|
||||
<p>Then to install libjpeg-turbo, execute the following command:</p>
|
||||
<div class="sourceCode" id="cb42"><pre class="sourceCode sh"><code class="sourceCode bash"><span id="cb42-1"><a href="#cb42-1" aria-hidden="true" tabindex="-1"></a><span class="ex">brew</span> install libjpeg-turbo</span></code></pre></div>
|
||||
<div class="sourceCode" id="cb41"><pre class="sourceCode sh"><code class="sourceCode bash"><span id="cb41-1"><a href="#cb41-1" aria-hidden="true" tabindex="-1"></a><span class="ex">brew</span> install libjpeg-turbo</span></code></pre></div>
|
||||
<h5 id="macos-via-macports-4">macos via MacPorts</h5>
|
||||
<p>If you haven’t already, install
|
||||
<a href="https://www.macports.org/install.php">MacPorts</a>. Then run:</p>
|
||||
<div class="sourceCode" id="cb43"><pre class="sourceCode sh"><code class="sourceCode bash"><span id="cb43-1"><a href="#cb43-1" aria-hidden="true" tabindex="-1"></a><span class="fu">sudo</span> port install libjpeg-turbo libjpeg-turbo-devel</span></code></pre></div>
|
||||
<div class="sourceCode" id="cb42"><pre class="sourceCode sh"><code class="sourceCode bash"><span id="cb42-1"><a href="#cb42-1" aria-hidden="true" tabindex="-1"></a><span class="fu">sudo</span> port install libjpeg-turbo libjpeg-turbo-devel</span></code></pre></div>
|
||||
<h4 id="debian-based-linux-5">Debian based Linux</h4>
|
||||
<p>Execute the following as root or via sudo:</p>
|
||||
<div class="sourceCode" id="cb44"><pre class="sourceCode sh"><code class="sourceCode bash"><span id="cb44-1"><a href="#cb44-1" aria-hidden="true" tabindex="-1"></a><span class="ex">apt</span> install libturbojpeg0 libturbojpeg0-dev</span></code></pre></div>
|
||||
<div class="sourceCode" id="cb43"><pre class="sourceCode sh"><code class="sourceCode bash"><span id="cb43-1"><a href="#cb43-1" aria-hidden="true" tabindex="-1"></a><span class="ex">apt</span> install libturbojpeg0 libturbojpeg0-dev</span></code></pre></div>
|
||||
<p>and then try <code>make all</code> again.</p>
|
||||
<h4 id="other-linux-distributions-5">Other Linux distributions</h4>
|
||||
<p>Use your package manager to install the appropriate packages. Try the search
|
||||
@@ -1326,7 +1326,7 @@ for downloading, installing and using libjpeg-turbo.</p>
|
||||
<p>This depends on your operating system for which we describe a couple below.</p>
|
||||
<h4 id="red-hat-based-linux-6">Red Hat based Linux</h4>
|
||||
<p>Execute the following as root or via sudo:</p>
|
||||
<div class="sourceCode" id="cb45"><pre class="sourceCode sh"><code class="sourceCode bash"><span id="cb45-1"><a href="#cb45-1" aria-hidden="true" tabindex="-1"></a><span class="ex">dnf</span> install ImageMagick</span></code></pre></div>
|
||||
<div class="sourceCode" id="cb44"><pre class="sourceCode sh"><code class="sourceCode bash"><span id="cb44-1"><a href="#cb44-1" aria-hidden="true" tabindex="-1"></a><span class="ex">dnf</span> install ImageMagick</span></code></pre></div>
|
||||
<p>Older RHEL distributions might have to use “yum” instead of “dnf”
|
||||
in the above command.</p>
|
||||
<h4 id="macos-6">macOS</h4>
|
||||
@@ -1338,14 +1338,14 @@ the package website.</p>
|
||||
<h5 id="macos-via-homebrew-5">macOS via Homebrew</h5>
|
||||
<p>If you have not already done so, install <a href="https://brew.sh">Homebrew</a>.</p>
|
||||
<p>Then to install ImageMagick, execute the following command:</p>
|
||||
<div class="sourceCode" id="cb46"><pre class="sourceCode sh"><code class="sourceCode bash"><span id="cb46-1"><a href="#cb46-1" aria-hidden="true" tabindex="-1"></a><span class="ex">brew</span> install ImageMagick</span></code></pre></div>
|
||||
<div class="sourceCode" id="cb45"><pre class="sourceCode sh"><code class="sourceCode bash"><span id="cb45-1"><a href="#cb45-1" aria-hidden="true" tabindex="-1"></a><span class="ex">brew</span> install ImageMagick</span></code></pre></div>
|
||||
<h5 id="macos-via-macports-5">macos via MacPorts</h5>
|
||||
<p>If you haven’t already, install
|
||||
<a href="https://www.macports.org/install.php">MacPorts</a>. Then run:</p>
|
||||
<div class="sourceCode" id="cb47"><pre class="sourceCode sh"><code class="sourceCode bash"><span id="cb47-1"><a href="#cb47-1" aria-hidden="true" tabindex="-1"></a><span class="fu">sudo</span> port install ImageMagick</span></code></pre></div>
|
||||
<div class="sourceCode" id="cb46"><pre class="sourceCode sh"><code class="sourceCode bash"><span id="cb46-1"><a href="#cb46-1" aria-hidden="true" tabindex="-1"></a><span class="fu">sudo</span> port install ImageMagick</span></code></pre></div>
|
||||
<h4 id="debian-based-linux-6">Debian based Linux</h4>
|
||||
<p>Execute the following as root or via sudo:</p>
|
||||
<div class="sourceCode" id="cb48"><pre class="sourceCode sh"><code class="sourceCode bash"><span id="cb48-1"><a href="#cb48-1" aria-hidden="true" tabindex="-1"></a><span class="ex">apt</span> install imagemagick</span></code></pre></div>
|
||||
<div class="sourceCode" id="cb47"><pre class="sourceCode sh"><code class="sourceCode bash"><span id="cb47-1"><a href="#cb47-1" aria-hidden="true" tabindex="-1"></a><span class="ex">apt</span> install imagemagick</span></code></pre></div>
|
||||
<p>and then try <code>make all</code> again.</p>
|
||||
<h4 id="other-linux-distributions-6">Other Linux distributions</h4>
|
||||
<p>Use your package manager to install the appropriate packages. Try the search
|
||||
@@ -1363,19 +1363,19 @@ See <a href="#X11_general">FAQ 3.7: How do I run an IOCCC entry that requires X1
|
||||
general information about X11.</p>
|
||||
<p>Once X11 is install and the X Window Server is running, one needs to compile
|
||||
and link with the two libraries, <em>GL</em> and <em>GLU</em>:</p>
|
||||
<div class="sourceCode" id="cb49"><pre class="sourceCode sh"><code class="sourceCode bash"><span id="cb49-1"><a href="#cb49-1" aria-hidden="true" tabindex="-1"></a><span class="fu">cc</span> ... <span class="at">-lGL</span> <span class="at">-lGLU</span> <span class="at">-L</span> _location-where-X11-libs-are-installed_ <span class="at">-lX11</span></span>
|
||||
<span id="cb49-2"><a href="#cb49-2" aria-hidden="true" tabindex="-1"></a><span class="kw">``</span></span>
|
||||
<span id="cb49-3"><a href="#cb49-3" aria-hidden="true" tabindex="-1"></a></span>
|
||||
<span id="cb49-4"><a href="#cb49-4" aria-hidden="true" tabindex="-1"></a><span class="ex">NOTE:</span> The OpenGL development effort is being manageed by <span class="pp">[</span><span class="ss">vulkan.org</span><span class="pp">]</span><span class="er">(</span><span class="ex">https://vulkan.org</span><span class="kw">)</span><span class="bu">.</span></span>
|
||||
<span id="cb49-5"><a href="#cb49-5" aria-hidden="true" tabindex="-1"></a><span class="ex">We</span> suggest you check out their resource for further information on OpenGL.</span>
|
||||
<span id="cb49-6"><a href="#cb49-6" aria-hidden="true" tabindex="-1"></a></span>
|
||||
<span id="cb49-7"><a href="#cb49-7" aria-hidden="true" tabindex="-1"></a></span>
|
||||
<span id="cb49-8"><a href="#cb49-8" aria-hidden="true" tabindex="-1"></a><span class="co">#### Red Hat based Linux</span></span>
|
||||
<span id="cb49-9"><a href="#cb49-9" aria-hidden="true" tabindex="-1"></a></span>
|
||||
<span id="cb49-10"><a href="#cb49-10" aria-hidden="true" tabindex="-1"></a><span class="ex">Execute</span> the following as root or via sudo:</span>
|
||||
<span id="cb49-11"><a href="#cb49-11" aria-hidden="true" tabindex="-1"></a></span>
|
||||
<span id="cb49-12"><a href="#cb49-12" aria-hidden="true" tabindex="-1"></a><span class="kw">```</span><span class="fu">sh</span></span>
|
||||
<span id="cb49-13"><a href="#cb49-13" aria-hidden="true" tabindex="-1"></a><span class="fu">sudo</span> dnf install glew-devel SDL2-devel SDL2_image-devel glm-devel freetype-devel</span></code></pre></div>
|
||||
<div class="sourceCode" id="cb48"><pre class="sourceCode sh"><code class="sourceCode bash"><span id="cb48-1"><a href="#cb48-1" aria-hidden="true" tabindex="-1"></a><span class="fu">cc</span> ... <span class="at">-lGL</span> <span class="at">-lGLU</span> <span class="at">-L</span> _location-where-X11-libs-are-installed_ <span class="at">-lX11</span></span>
|
||||
<span id="cb48-2"><a href="#cb48-2" aria-hidden="true" tabindex="-1"></a><span class="kw">``</span></span>
|
||||
<span id="cb48-3"><a href="#cb48-3" aria-hidden="true" tabindex="-1"></a></span>
|
||||
<span id="cb48-4"><a href="#cb48-4" aria-hidden="true" tabindex="-1"></a><span class="ex">NOTE:</span> The OpenGL development effort is being manageed by <span class="pp">[</span><span class="ss">vulkan.org</span><span class="pp">]</span><span class="er">(</span><span class="ex">https://vulkan.org</span><span class="kw">)</span><span class="bu">.</span></span>
|
||||
<span id="cb48-5"><a href="#cb48-5" aria-hidden="true" tabindex="-1"></a><span class="ex">We</span> suggest you check out their resource for further information on OpenGL.</span>
|
||||
<span id="cb48-6"><a href="#cb48-6" aria-hidden="true" tabindex="-1"></a></span>
|
||||
<span id="cb48-7"><a href="#cb48-7" aria-hidden="true" tabindex="-1"></a></span>
|
||||
<span id="cb48-8"><a href="#cb48-8" aria-hidden="true" tabindex="-1"></a><span class="co">#### Red Hat based Linux</span></span>
|
||||
<span id="cb48-9"><a href="#cb48-9" aria-hidden="true" tabindex="-1"></a></span>
|
||||
<span id="cb48-10"><a href="#cb48-10" aria-hidden="true" tabindex="-1"></a><span class="ex">Execute</span> the following as root or via sudo:</span>
|
||||
<span id="cb48-11"><a href="#cb48-11" aria-hidden="true" tabindex="-1"></a></span>
|
||||
<span id="cb48-12"><a href="#cb48-12" aria-hidden="true" tabindex="-1"></a><span class="kw">```</span><span class="fu">sh</span></span>
|
||||
<span id="cb48-13"><a href="#cb48-13" aria-hidden="true" tabindex="-1"></a><span class="fu">sudo</span> dnf install glew-devel SDL2-devel SDL2_image-devel glm-devel freetype-devel</span></code></pre></div>
|
||||
<p>See <a href="https://en.wikibooks.org/wiki/OpenGL_Programming/Installation/Linux">OpenGL Programming/Installation/Linux</a> for details.</p>
|
||||
<p>Older RHEL distributions might have to use “yum” instead of “dnf”
|
||||
in the above command.</p>
|
||||
@@ -1387,7 +1387,7 @@ should be able to go. However in Apple drops support for OpenGL later on,
|
||||
you might look to install OpenGL via Homebrew or MacPorts.</p>
|
||||
<h4 id="debian-based-linux-7">Debian based Linux</h4>
|
||||
<p>Execute the following as root or via sudo:</p>
|
||||
<div class="sourceCode" id="cb50"><pre class="sourceCode sh"><code class="sourceCode bash"><span id="cb50-1"><a href="#cb50-1" aria-hidden="true" tabindex="-1"></a><span class="fu">sudo</span> apt-get install libglew-dev libsdl2-dev libsdl2-image-dev libglm-dev libfreetype6-dev</span></code></pre></div>
|
||||
<div class="sourceCode" id="cb49"><pre class="sourceCode sh"><code class="sourceCode bash"><span id="cb49-1"><a href="#cb49-1" aria-hidden="true" tabindex="-1"></a><span class="fu">sudo</span> apt-get install libglew-dev libsdl2-dev libsdl2-image-dev libglm-dev libfreetype6-dev</span></code></pre></div>
|
||||
<p>and then try <code>make all</code> again.</p>
|
||||
<p>See <a href="https://en.wikibooks.org/wiki/OpenGL_Programming/Installation/Linux">OpenGL Programming/Installation/Linux</a> for details.</p>
|
||||
<h4 id="other-linux-distributions-7">Other Linux distributions</h4>
|
||||
@@ -1416,9 +1416,9 @@ because of alarming warnings that can be displayed, in some systems at runtime
|
||||
interspersed with the output of the program.</p>
|
||||
<p>For instance in macOS the entry <a href="1990/tbr/index.html">1990/tbr</a> would output the
|
||||
warning in such a way that caused confusing output for the entry, looking like:</p>
|
||||
<div class="sourceCode" id="cb51"><pre class="sourceCode sh"><code class="sourceCode bash"><span id="cb51-1"><a href="#cb51-1" aria-hidden="true" tabindex="-1"></a><span class="ex">$</span> ./tbr</span>
|
||||
<span id="cb51-2"><a href="#cb51-2" aria-hidden="true" tabindex="-1"></a><span class="ex">$</span> warning: this program uses gets<span class="er">(</span><span class="kw">)</span><span class="ex">,</span> which is unsafe.</span>
|
||||
<span id="cb51-3"><a href="#cb51-3" aria-hidden="true" tabindex="-1"></a><span class="co"># nothing here, what to do?</span></span></code></pre></div>
|
||||
<div class="sourceCode" id="cb50"><pre class="sourceCode sh"><code class="sourceCode bash"><span id="cb50-1"><a href="#cb50-1" aria-hidden="true" tabindex="-1"></a><span class="ex">$</span> ./tbr</span>
|
||||
<span id="cb50-2"><a href="#cb50-2" aria-hidden="true" tabindex="-1"></a><span class="ex">$</span> warning: this program uses gets<span class="er">(</span><span class="kw">)</span><span class="ex">,</span> which is unsafe.</span>
|
||||
<span id="cb50-3"><a href="#cb50-3" aria-hidden="true" tabindex="-1"></a><span class="co"># nothing here, what to do?</span></span></code></pre></div>
|
||||
<p>In some cases changing the code to use <code>fgets()</code> is not so easy to fix and in
|
||||
one case at least there is an alternate version that has the fix instead due to
|
||||
a problem it creates (correct output but segfaults after the output in one of
|
||||
@@ -1493,7 +1493,7 @@ allows for easily seeing the diffs.</p>
|
||||
<p>As some examples we’ll first look at one that has really long lines which
|
||||
will make it harder to see what is different,
|
||||
<a href="2001/anonymous/index.html">2001/anonymous</a>. What you would do is <code>cd 2001/anonymous</code> and then do:</p>
|
||||
<div class="sourceCode" id="cb54"><pre class="sourceCode sh"><code class="sourceCode bash"><span id="cb54-1"><a href="#cb54-1" aria-hidden="true" tabindex="-1"></a><span class="fu">make</span> diff_orig_prog</span></code></pre></div>
|
||||
<div class="sourceCode" id="cb53"><pre class="sourceCode sh"><code class="sourceCode bash"><span id="cb53-1"><a href="#cb53-1" aria-hidden="true" tabindex="-1"></a><span class="fu">make</span> diff_orig_prog</span></code></pre></div>
|
||||
<p>and then be really confused! :-)</p>
|
||||
<p>But for an entry like <a href="1991/dds/index.html">1991/dds</a>, you can see the
|
||||
differences much more easily. <code>1991/dds</code> is a good example where it’s very
|
||||
@@ -1510,13 +1510,13 @@ when you have compiler errors :-) (though there are, as noted, some examples
|
||||
where it’s quite easy to see the differences).</p>
|
||||
<p><a href="1991/dds/index.html">1991/dds</a> is also a good example to see the alt difference
|
||||
very easily. To do that <code>cd 1991/dds</code> and then do:</p>
|
||||
<div class="sourceCode" id="cb55"><pre class="sourceCode sh"><code class="sourceCode bash"><span id="cb55-1"><a href="#cb55-1" aria-hidden="true" tabindex="-1"></a><span class="fu">make</span> diff_alt_prog</span></code></pre></div>
|
||||
<div class="sourceCode" id="cb54"><pre class="sourceCode sh"><code class="sourceCode bash"><span id="cb54-1"><a href="#cb54-1" aria-hidden="true" tabindex="-1"></a><span class="fu">make</span> diff_alt_prog</span></code></pre></div>
|
||||
<p>and you’ll see a single line changed and very simply.</p>
|
||||
<h4 id="tip-if-you-have-colordiff-installed-its-a-lot-easier-to-see-the-differences">Tip: if you have <code>colordiff</code> installed it’s a lot easier to see the differences</h4>
|
||||
<p>To use these rules but provide a different <code>diff</code>, for instance <code>colordiff</code>,
|
||||
just do:</p>
|
||||
<div class="sourceCode" id="cb56"><pre class="sourceCode sh"><code class="sourceCode bash"><span id="cb56-1"><a href="#cb56-1" aria-hidden="true" tabindex="-1"></a><span class="fu">make</span> DIFF=colordiff diff_orig_prog <span class="co"># for orig to prog diff</span></span>
|
||||
<span id="cb56-2"><a href="#cb56-2" aria-hidden="true" tabindex="-1"></a><span class="fu">make</span> DIFF=colordiff diff_alt_prog <span class="co"># for alt to prog diff</span></span></code></pre></div>
|
||||
<div class="sourceCode" id="cb55"><pre class="sourceCode sh"><code class="sourceCode bash"><span id="cb55-1"><a href="#cb55-1" aria-hidden="true" tabindex="-1"></a><span class="fu">make</span> DIFF=colordiff diff_orig_prog <span class="co"># for orig to prog diff</span></span>
|
||||
<span id="cb55-2"><a href="#cb55-2" aria-hidden="true" tabindex="-1"></a><span class="fu">make</span> DIFF=colordiff diff_alt_prog <span class="co"># for alt to prog diff</span></span></code></pre></div>
|
||||
<p>Obviously if you want to view the alt code or the orig code you can just open
|
||||
the files as described above.</p>
|
||||
<h3 id="faq-4.3---why-do-author-remarks-sometimes-not-match-the-source-andor-why-are-there-other-inconsistencies-with-the-original-entry"><a name="faq4_3"></a> FAQ 4.3 - Why do author remarks sometimes not match the source and/or why are there other inconsistencies with the original entry?</h3>
|
||||
@@ -1835,52 +1835,52 @@ for information on the <em>So-called JSON spec</em>.</p>
|
||||
is to look at an example, the <code>author_handle.json</code> file for Yusuke Endoh:</p>
|
||||
<pre><code>author/Yusuke_Endoh.json</code></pre>
|
||||
<p>As of <em>Thu Nov 30 23:51:12 UTC 2023</em>, the contents was as follows:</p>
|
||||
<div class="sourceCode" id="cb70"><pre class="sourceCode json"><code class="sourceCode json"><span id="cb70-1"><a href="#cb70-1" aria-hidden="true" tabindex="-1"></a><span class="fu">{</span></span>
|
||||
<span id="cb70-2"><a href="#cb70-2" aria-hidden="true" tabindex="-1"></a> <span class="dt">"no_comment"</span> <span class="fu">:</span> <span class="st">"mandatory comment: because comments were removed from the original JSON spec"</span><span class="fu">,</span></span>
|
||||
<span id="cb70-3"><a href="#cb70-3" aria-hidden="true" tabindex="-1"></a> <span class="dt">"author_JSON_format_version"</span> <span class="fu">:</span> <span class="st">"1.0 2023-06-10"</span><span class="fu">,</span></span>
|
||||
<span id="cb70-4"><a href="#cb70-4" aria-hidden="true" tabindex="-1"></a> <span class="dt">"author_handle"</span> <span class="fu">:</span> <span class="st">"Yusuke_Endoh"</span><span class="fu">,</span></span>
|
||||
<span id="cb70-5"><a href="#cb70-5" aria-hidden="true" tabindex="-1"></a> <span class="dt">"full_name"</span> <span class="fu">:</span> <span class="st">"Yusuke Endoh"</span><span class="fu">,</span></span>
|
||||
<span id="cb70-6"><a href="#cb70-6" aria-hidden="true" tabindex="-1"></a> <span class="dt">"sort_word"</span> <span class="fu">:</span> <span class="st">"endoh"</span><span class="fu">,</span></span>
|
||||
<span id="cb70-7"><a href="#cb70-7" aria-hidden="true" tabindex="-1"></a> <span class="dt">"location_code"</span> <span class="fu">:</span> <span class="st">"JP"</span><span class="fu">,</span></span>
|
||||
<span id="cb70-8"><a href="#cb70-8" aria-hidden="true" tabindex="-1"></a> <span class="dt">"email"</span> <span class="fu">:</span> <span class="st">"mame@ruby-lang.org"</span><span class="fu">,</span></span>
|
||||
<span id="cb70-9"><a href="#cb70-9" aria-hidden="true" tabindex="-1"></a> <span class="dt">"url"</span> <span class="fu">:</span> <span class="st">"https://mametter.hatenablog.com"</span><span class="fu">,</span></span>
|
||||
<span id="cb70-10"><a href="#cb70-10" aria-hidden="true" tabindex="-1"></a> <span class="dt">"alt_url"</span> <span class="fu">:</span> <span class="kw">null</span><span class="fu">,</span></span>
|
||||
<span id="cb70-11"><a href="#cb70-11" aria-hidden="true" tabindex="-1"></a> <span class="dt">"deprecated_twitter_handle"</span> <span class="fu">:</span> <span class="kw">null</span><span class="fu">,</span></span>
|
||||
<span id="cb70-12"><a href="#cb70-12" aria-hidden="true" tabindex="-1"></a> <span class="dt">"mastodon"</span> <span class="fu">:</span> <span class="st">"@mame@ruby.social"</span><span class="fu">,</span></span>
|
||||
<span id="cb70-13"><a href="#cb70-13" aria-hidden="true" tabindex="-1"></a> <span class="dt">"mastodon_url"</span> <span class="fu">:</span> <span class="st">"https://ruby.social/@mame"</span><span class="fu">,</span></span>
|
||||
<span id="cb70-14"><a href="#cb70-14" aria-hidden="true" tabindex="-1"></a> <span class="dt">"github"</span> <span class="fu">:</span> <span class="st">"@mame"</span><span class="fu">,</span></span>
|
||||
<span id="cb70-15"><a href="#cb70-15" aria-hidden="true" tabindex="-1"></a> <span class="dt">"affiliation"</span> <span class="fu">:</span> <span class="kw">null</span><span class="fu">,</span></span>
|
||||
<span id="cb70-16"><a href="#cb70-16" aria-hidden="true" tabindex="-1"></a> <span class="dt">"winning_entry_set"</span> <span class="fu">:</span> <span class="ot">[</span></span>
|
||||
<span id="cb70-17"><a href="#cb70-17" aria-hidden="true" tabindex="-1"></a> <span class="fu">{</span> <span class="dt">"entry_id"</span> <span class="fu">:</span> <span class="st">"2012_endoh1"</span> <span class="fu">}</span><span class="ot">,</span></span>
|
||||
<span id="cb70-18"><a href="#cb70-18" aria-hidden="true" tabindex="-1"></a> <span class="fu">{</span> <span class="dt">"entry_id"</span> <span class="fu">:</span> <span class="st">"2012_endoh2"</span> <span class="fu">}</span><span class="ot">,</span></span>
|
||||
<span id="cb70-19"><a href="#cb70-19" aria-hidden="true" tabindex="-1"></a> <span class="fu">{</span> <span class="dt">"entry_id"</span> <span class="fu">:</span> <span class="st">"2013_endoh1"</span> <span class="fu">}</span><span class="ot">,</span></span>
|
||||
<span id="cb70-20"><a href="#cb70-20" aria-hidden="true" tabindex="-1"></a> <span class="fu">{</span> <span class="dt">"entry_id"</span> <span class="fu">:</span> <span class="st">"2013_endoh2"</span> <span class="fu">}</span><span class="ot">,</span></span>
|
||||
<span id="cb70-21"><a href="#cb70-21" aria-hidden="true" tabindex="-1"></a> <span class="fu">{</span> <span class="dt">"entry_id"</span> <span class="fu">:</span> <span class="st">"2013_endoh3"</span> <span class="fu">}</span><span class="ot">,</span></span>
|
||||
<span id="cb70-22"><a href="#cb70-22" aria-hidden="true" tabindex="-1"></a> <span class="fu">{</span> <span class="dt">"entry_id"</span> <span class="fu">:</span> <span class="st">"2013_endoh4"</span> <span class="fu">}</span><span class="ot">,</span></span>
|
||||
<span id="cb70-23"><a href="#cb70-23" aria-hidden="true" tabindex="-1"></a> <span class="fu">{</span> <span class="dt">"entry_id"</span> <span class="fu">:</span> <span class="st">"2014_endoh1"</span> <span class="fu">}</span><span class="ot">,</span></span>
|
||||
<span id="cb70-24"><a href="#cb70-24" aria-hidden="true" tabindex="-1"></a> <span class="fu">{</span> <span class="dt">"entry_id"</span> <span class="fu">:</span> <span class="st">"2014_endoh2"</span> <span class="fu">}</span><span class="ot">,</span></span>
|
||||
<span id="cb70-25"><a href="#cb70-25" aria-hidden="true" tabindex="-1"></a> <span class="fu">{</span> <span class="dt">"entry_id"</span> <span class="fu">:</span> <span class="st">"2015_endoh1"</span> <span class="fu">}</span><span class="ot">,</span></span>
|
||||
<span id="cb70-26"><a href="#cb70-26" aria-hidden="true" tabindex="-1"></a> <span class="fu">{</span> <span class="dt">"entry_id"</span> <span class="fu">:</span> <span class="st">"2015_endoh2"</span> <span class="fu">}</span><span class="ot">,</span></span>
|
||||
<span id="cb70-27"><a href="#cb70-27" aria-hidden="true" tabindex="-1"></a> <span class="fu">{</span> <span class="dt">"entry_id"</span> <span class="fu">:</span> <span class="st">"2015_endoh3"</span> <span class="fu">}</span><span class="ot">,</span></span>
|
||||
<span id="cb70-28"><a href="#cb70-28" aria-hidden="true" tabindex="-1"></a> <span class="fu">{</span> <span class="dt">"entry_id"</span> <span class="fu">:</span> <span class="st">"2015_endoh4"</span> <span class="fu">}</span><span class="ot">,</span></span>
|
||||
<span id="cb70-29"><a href="#cb70-29" aria-hidden="true" tabindex="-1"></a> <span class="fu">{</span> <span class="dt">"entry_id"</span> <span class="fu">:</span> <span class="st">"2018_endoh1"</span> <span class="fu">}</span><span class="ot">,</span></span>
|
||||
<span id="cb70-30"><a href="#cb70-30" aria-hidden="true" tabindex="-1"></a> <span class="fu">{</span> <span class="dt">"entry_id"</span> <span class="fu">:</span> <span class="st">"2018_endoh2"</span> <span class="fu">}</span><span class="ot">,</span></span>
|
||||
<span id="cb70-31"><a href="#cb70-31" aria-hidden="true" tabindex="-1"></a> <span class="fu">{</span> <span class="dt">"entry_id"</span> <span class="fu">:</span> <span class="st">"2019_endoh"</span> <span class="fu">}</span><span class="ot">,</span></span>
|
||||
<span id="cb70-32"><a href="#cb70-32" aria-hidden="true" tabindex="-1"></a> <span class="fu">{</span> <span class="dt">"entry_id"</span> <span class="fu">:</span> <span class="st">"2020_endoh1"</span> <span class="fu">}</span><span class="ot">,</span></span>
|
||||
<span id="cb70-33"><a href="#cb70-33" aria-hidden="true" tabindex="-1"></a> <span class="fu">{</span> <span class="dt">"entry_id"</span> <span class="fu">:</span> <span class="st">"2020_endoh2"</span> <span class="fu">}</span><span class="ot">,</span></span>
|
||||
<span id="cb70-34"><a href="#cb70-34" aria-hidden="true" tabindex="-1"></a> <span class="fu">{</span> <span class="dt">"entry_id"</span> <span class="fu">:</span> <span class="st">"2020_endoh3"</span> <span class="fu">}</span></span>
|
||||
<span id="cb70-35"><a href="#cb70-35" aria-hidden="true" tabindex="-1"></a> <span class="ot">]</span></span>
|
||||
<span id="cb70-36"><a href="#cb70-36" aria-hidden="true" tabindex="-1"></a><span class="fu">}</span></span></code></pre></div>
|
||||
<div class="sourceCode" id="cb69"><pre class="sourceCode json"><code class="sourceCode json"><span id="cb69-1"><a href="#cb69-1" aria-hidden="true" tabindex="-1"></a><span class="fu">{</span></span>
|
||||
<span id="cb69-2"><a href="#cb69-2" aria-hidden="true" tabindex="-1"></a> <span class="dt">"no_comment"</span> <span class="fu">:</span> <span class="st">"mandatory comment: because comments were removed from the original JSON spec"</span><span class="fu">,</span></span>
|
||||
<span id="cb69-3"><a href="#cb69-3" aria-hidden="true" tabindex="-1"></a> <span class="dt">"author_JSON_format_version"</span> <span class="fu">:</span> <span class="st">"1.0 2023-06-10"</span><span class="fu">,</span></span>
|
||||
<span id="cb69-4"><a href="#cb69-4" aria-hidden="true" tabindex="-1"></a> <span class="dt">"author_handle"</span> <span class="fu">:</span> <span class="st">"Yusuke_Endoh"</span><span class="fu">,</span></span>
|
||||
<span id="cb69-5"><a href="#cb69-5" aria-hidden="true" tabindex="-1"></a> <span class="dt">"full_name"</span> <span class="fu">:</span> <span class="st">"Yusuke Endoh"</span><span class="fu">,</span></span>
|
||||
<span id="cb69-6"><a href="#cb69-6" aria-hidden="true" tabindex="-1"></a> <span class="dt">"sort_word"</span> <span class="fu">:</span> <span class="st">"endoh"</span><span class="fu">,</span></span>
|
||||
<span id="cb69-7"><a href="#cb69-7" aria-hidden="true" tabindex="-1"></a> <span class="dt">"location_code"</span> <span class="fu">:</span> <span class="st">"JP"</span><span class="fu">,</span></span>
|
||||
<span id="cb69-8"><a href="#cb69-8" aria-hidden="true" tabindex="-1"></a> <span class="dt">"email"</span> <span class="fu">:</span> <span class="st">"mame@ruby-lang.org"</span><span class="fu">,</span></span>
|
||||
<span id="cb69-9"><a href="#cb69-9" aria-hidden="true" tabindex="-1"></a> <span class="dt">"url"</span> <span class="fu">:</span> <span class="st">"https://mametter.hatenablog.com"</span><span class="fu">,</span></span>
|
||||
<span id="cb69-10"><a href="#cb69-10" aria-hidden="true" tabindex="-1"></a> <span class="dt">"alt_url"</span> <span class="fu">:</span> <span class="kw">null</span><span class="fu">,</span></span>
|
||||
<span id="cb69-11"><a href="#cb69-11" aria-hidden="true" tabindex="-1"></a> <span class="dt">"deprecated_twitter_handle"</span> <span class="fu">:</span> <span class="kw">null</span><span class="fu">,</span></span>
|
||||
<span id="cb69-12"><a href="#cb69-12" aria-hidden="true" tabindex="-1"></a> <span class="dt">"mastodon"</span> <span class="fu">:</span> <span class="st">"@mame@ruby.social"</span><span class="fu">,</span></span>
|
||||
<span id="cb69-13"><a href="#cb69-13" aria-hidden="true" tabindex="-1"></a> <span class="dt">"mastodon_url"</span> <span class="fu">:</span> <span class="st">"https://ruby.social/@mame"</span><span class="fu">,</span></span>
|
||||
<span id="cb69-14"><a href="#cb69-14" aria-hidden="true" tabindex="-1"></a> <span class="dt">"github"</span> <span class="fu">:</span> <span class="st">"@mame"</span><span class="fu">,</span></span>
|
||||
<span id="cb69-15"><a href="#cb69-15" aria-hidden="true" tabindex="-1"></a> <span class="dt">"affiliation"</span> <span class="fu">:</span> <span class="kw">null</span><span class="fu">,</span></span>
|
||||
<span id="cb69-16"><a href="#cb69-16" aria-hidden="true" tabindex="-1"></a> <span class="dt">"winning_entry_set"</span> <span class="fu">:</span> <span class="ot">[</span></span>
|
||||
<span id="cb69-17"><a href="#cb69-17" aria-hidden="true" tabindex="-1"></a> <span class="fu">{</span> <span class="dt">"entry_id"</span> <span class="fu">:</span> <span class="st">"2012_endoh1"</span> <span class="fu">}</span><span class="ot">,</span></span>
|
||||
<span id="cb69-18"><a href="#cb69-18" aria-hidden="true" tabindex="-1"></a> <span class="fu">{</span> <span class="dt">"entry_id"</span> <span class="fu">:</span> <span class="st">"2012_endoh2"</span> <span class="fu">}</span><span class="ot">,</span></span>
|
||||
<span id="cb69-19"><a href="#cb69-19" aria-hidden="true" tabindex="-1"></a> <span class="fu">{</span> <span class="dt">"entry_id"</span> <span class="fu">:</span> <span class="st">"2013_endoh1"</span> <span class="fu">}</span><span class="ot">,</span></span>
|
||||
<span id="cb69-20"><a href="#cb69-20" aria-hidden="true" tabindex="-1"></a> <span class="fu">{</span> <span class="dt">"entry_id"</span> <span class="fu">:</span> <span class="st">"2013_endoh2"</span> <span class="fu">}</span><span class="ot">,</span></span>
|
||||
<span id="cb69-21"><a href="#cb69-21" aria-hidden="true" tabindex="-1"></a> <span class="fu">{</span> <span class="dt">"entry_id"</span> <span class="fu">:</span> <span class="st">"2013_endoh3"</span> <span class="fu">}</span><span class="ot">,</span></span>
|
||||
<span id="cb69-22"><a href="#cb69-22" aria-hidden="true" tabindex="-1"></a> <span class="fu">{</span> <span class="dt">"entry_id"</span> <span class="fu">:</span> <span class="st">"2013_endoh4"</span> <span class="fu">}</span><span class="ot">,</span></span>
|
||||
<span id="cb69-23"><a href="#cb69-23" aria-hidden="true" tabindex="-1"></a> <span class="fu">{</span> <span class="dt">"entry_id"</span> <span class="fu">:</span> <span class="st">"2014_endoh1"</span> <span class="fu">}</span><span class="ot">,</span></span>
|
||||
<span id="cb69-24"><a href="#cb69-24" aria-hidden="true" tabindex="-1"></a> <span class="fu">{</span> <span class="dt">"entry_id"</span> <span class="fu">:</span> <span class="st">"2014_endoh2"</span> <span class="fu">}</span><span class="ot">,</span></span>
|
||||
<span id="cb69-25"><a href="#cb69-25" aria-hidden="true" tabindex="-1"></a> <span class="fu">{</span> <span class="dt">"entry_id"</span> <span class="fu">:</span> <span class="st">"2015_endoh1"</span> <span class="fu">}</span><span class="ot">,</span></span>
|
||||
<span id="cb69-26"><a href="#cb69-26" aria-hidden="true" tabindex="-1"></a> <span class="fu">{</span> <span class="dt">"entry_id"</span> <span class="fu">:</span> <span class="st">"2015_endoh2"</span> <span class="fu">}</span><span class="ot">,</span></span>
|
||||
<span id="cb69-27"><a href="#cb69-27" aria-hidden="true" tabindex="-1"></a> <span class="fu">{</span> <span class="dt">"entry_id"</span> <span class="fu">:</span> <span class="st">"2015_endoh3"</span> <span class="fu">}</span><span class="ot">,</span></span>
|
||||
<span id="cb69-28"><a href="#cb69-28" aria-hidden="true" tabindex="-1"></a> <span class="fu">{</span> <span class="dt">"entry_id"</span> <span class="fu">:</span> <span class="st">"2015_endoh4"</span> <span class="fu">}</span><span class="ot">,</span></span>
|
||||
<span id="cb69-29"><a href="#cb69-29" aria-hidden="true" tabindex="-1"></a> <span class="fu">{</span> <span class="dt">"entry_id"</span> <span class="fu">:</span> <span class="st">"2018_endoh1"</span> <span class="fu">}</span><span class="ot">,</span></span>
|
||||
<span id="cb69-30"><a href="#cb69-30" aria-hidden="true" tabindex="-1"></a> <span class="fu">{</span> <span class="dt">"entry_id"</span> <span class="fu">:</span> <span class="st">"2018_endoh2"</span> <span class="fu">}</span><span class="ot">,</span></span>
|
||||
<span id="cb69-31"><a href="#cb69-31" aria-hidden="true" tabindex="-1"></a> <span class="fu">{</span> <span class="dt">"entry_id"</span> <span class="fu">:</span> <span class="st">"2019_endoh"</span> <span class="fu">}</span><span class="ot">,</span></span>
|
||||
<span id="cb69-32"><a href="#cb69-32" aria-hidden="true" tabindex="-1"></a> <span class="fu">{</span> <span class="dt">"entry_id"</span> <span class="fu">:</span> <span class="st">"2020_endoh1"</span> <span class="fu">}</span><span class="ot">,</span></span>
|
||||
<span id="cb69-33"><a href="#cb69-33" aria-hidden="true" tabindex="-1"></a> <span class="fu">{</span> <span class="dt">"entry_id"</span> <span class="fu">:</span> <span class="st">"2020_endoh2"</span> <span class="fu">}</span><span class="ot">,</span></span>
|
||||
<span id="cb69-34"><a href="#cb69-34" aria-hidden="true" tabindex="-1"></a> <span class="fu">{</span> <span class="dt">"entry_id"</span> <span class="fu">:</span> <span class="st">"2020_endoh3"</span> <span class="fu">}</span></span>
|
||||
<span id="cb69-35"><a href="#cb69-35" aria-hidden="true" tabindex="-1"></a> <span class="ot">]</span></span>
|
||||
<span id="cb69-36"><a href="#cb69-36" aria-hidden="true" tabindex="-1"></a><span class="fu">}</span></span></code></pre></div>
|
||||
<p>We now will walk thru the above JSON document looking at various JSON members:</p>
|
||||
<h5 id="no_comment">no_comment</h5>
|
||||
<div class="sourceCode" id="cb71"><pre class="sourceCode json"><code class="sourceCode json"><span id="cb71-1"><a href="#cb71-1" aria-hidden="true" tabindex="-1"></a> <span class="er">"no_comment"</span> <span class="er">:</span> <span class="er">"mandatory</span> <span class="er">comment:</span> <span class="er">because</span> <span class="er">comments</span> <span class="er">were</span> <span class="er">removed</span> <span class="er">from</span> <span class="er">the</span> <span class="er">original</span> <span class="er">JSON</span> <span class="er">spec",</span></span></code></pre></div>
|
||||
<div class="sourceCode" id="cb70"><pre class="sourceCode json"><code class="sourceCode json"><span id="cb70-1"><a href="#cb70-1" aria-hidden="true" tabindex="-1"></a> <span class="er">"no_comment"</span> <span class="er">:</span> <span class="er">"mandatory</span> <span class="er">comment:</span> <span class="er">because</span> <span class="er">comments</span> <span class="er">were</span> <span class="er">removed</span> <span class="er">from</span> <span class="er">the</span> <span class="er">original</span> <span class="er">JSON</span> <span class="er">spec",</span></span></code></pre></div>
|
||||
<p>Because the authors of the so-called JSON spec removed the ability to use comments in JSON
|
||||
(for reason(s) that seem to be less than credible), the IOCCC mandates this <em>JSON member</em>
|
||||
be present in all IOCCC related JSON files.</p>
|
||||
<p>There <strong>MUST</strong> be one and only one <code>no_comment</code> <em>JSON member</em> and the <em>JSON value</em> <strong>MUST</strong>
|
||||
be the exact <em>JSON string</em> as shown above.</p>
|
||||
<h5 id="author_json_format_version">author_JSON_format_version</h5>
|
||||
<div class="sourceCode" id="cb72"><pre class="sourceCode json"><code class="sourceCode json"><span id="cb72-1"><a href="#cb72-1" aria-hidden="true" tabindex="-1"></a> <span class="er">"author_JSON_format_version"</span> <span class="er">:</span> <span class="er">"1.0</span> <span class="er">2023-06-10",</span></span></code></pre></div>
|
||||
<div class="sourceCode" id="cb71"><pre class="sourceCode json"><code class="sourceCode json"><span id="cb71-1"><a href="#cb71-1" aria-hidden="true" tabindex="-1"></a> <span class="er">"author_JSON_format_version"</span> <span class="er">:</span> <span class="er">"1.0</span> <span class="er">2023-06-10",</span></span></code></pre></div>
|
||||
<p>This <em>JSON member</em> holds the format version of the <code>author_handle.json</code> JSON file.</p>
|
||||
<p>There <strong>MUST</strong> be one and only one <code>author_JSON_format_version</code>
|
||||
<em>JSON member</em> and the <em>JSON value</em> <strong>MUST</strong> be a <em>JSON string</em>.</p>
|
||||
@@ -1892,7 +1892,7 @@ of the these files is modified: and then only those who maintain the
|
||||
<a href="https://www.ioccc.org">official IOCCC web site</a> would be the one to do this
|
||||
in conjunction with changes to <a href="bin/index.html">bin directory tools</a>.</p>
|
||||
<h5 id="author_handle">author_handle</h5>
|
||||
<div class="sourceCode" id="cb73"><pre class="sourceCode json"><code class="sourceCode json"><span id="cb73-1"><a href="#cb73-1" aria-hidden="true" tabindex="-1"></a> <span class="er">"author_handle"</span> <span class="er">:</span> <span class="er">"Yusuke_Endoh",</span></span></code></pre></div>
|
||||
<div class="sourceCode" id="cb72"><pre class="sourceCode json"><code class="sourceCode json"><span id="cb72-1"><a href="#cb72-1" aria-hidden="true" tabindex="-1"></a> <span class="er">"author_handle"</span> <span class="er">:</span> <span class="er">"Yusuke_Endoh",</span></span></code></pre></div>
|
||||
<p>This <em>JSON member</em> holds the author handle of the author.</p>
|
||||
<p>There <strong>MUST</strong> be one and only one <code>author_handle</code> <em>JSON member</em>
|
||||
and the <em>JSON value</em> <strong>MUST</strong> be a <em>JSON string</em> that is also a value author handle.</p>
|
||||
@@ -1906,14 +1906,14 @@ without the trailing <code>.json</code>) of the <code>author_handle.json</code>
|
||||
a change of <em>author_handle</em> <em>JSON value</em> would also require the
|
||||
<code>author_handle.json</code> file to also be renamed.</p>
|
||||
<h5 id="full_name">full_name</h5>
|
||||
<div class="sourceCode" id="cb74"><pre class="sourceCode json"><code class="sourceCode json"><span id="cb74-1"><a href="#cb74-1" aria-hidden="true" tabindex="-1"></a> <span class="er">"full_name"</span> <span class="er">:</span> <span class="er">"Yusuke</span> <span class="er">Endoh",</span></span></code></pre></div>
|
||||
<div class="sourceCode" id="cb73"><pre class="sourceCode json"><code class="sourceCode json"><span id="cb73-1"><a href="#cb73-1" aria-hidden="true" tabindex="-1"></a> <span class="er">"full_name"</span> <span class="er">:</span> <span class="er">"Yusuke</span> <span class="er">Endoh",</span></span></code></pre></div>
|
||||
<p>This <em>JSON member</em> holds the full name of the author.</p>
|
||||
<p>There <strong>MUST</strong> be one and only one <code>full_name</code> <em>JSON member</em> and the <em>JSON value</em> <strong>MUST</strong>
|
||||
be a <em>JSON string</em>.</p>
|
||||
<p>The full name of an author may use non-ASCII characters so long as the
|
||||
full name is properly encoded as a <em>JSON string</em>.</p>
|
||||
<h5 id="sort_word">sort_word</h5>
|
||||
<div class="sourceCode" id="cb75"><pre class="sourceCode json"><code class="sourceCode json"><span id="cb75-1"><a href="#cb75-1" aria-hidden="true" tabindex="-1"></a> <span class="er">"sort_word"</span> <span class="er">:</span> <span class="er">"endoh",</span></span></code></pre></div>
|
||||
<div class="sourceCode" id="cb74"><pre class="sourceCode json"><code class="sourceCode json"><span id="cb74-1"><a href="#cb74-1" aria-hidden="true" tabindex="-1"></a> <span class="er">"sort_word"</span> <span class="er">:</span> <span class="er">"endoh",</span></span></code></pre></div>
|
||||
<p>This <em>JSON member</em> holds the string that will be used to sort the author.</p>
|
||||
<p>There <strong>MUST</strong> be one and only one <code>sort_word</code> <em>JSON member</em> and the <em>JSON value</em> <strong>MUST</strong>
|
||||
be a <em>JSON string</em>. Moreover the string <strong>MUST</strong> be a lower case ASCII
|
||||
@@ -1927,7 +1927,7 @@ wishes to be found in the <code>/authors.html</code> file under a different
|
||||
string, such as if they wish to be listed under their first name
|
||||
or their username, then they may change this accordingly.</p>
|
||||
<h5 id="location_code">location_code</h5>
|
||||
<div class="sourceCode" id="cb76"><pre class="sourceCode json"><code class="sourceCode json"><span id="cb76-1"><a href="#cb76-1" aria-hidden="true" tabindex="-1"></a> <span class="er">"location_code"</span> <span class="er">:</span> <span class="er">"JP",</span></span></code></pre></div>
|
||||
<div class="sourceCode" id="cb75"><pre class="sourceCode json"><code class="sourceCode json"><span id="cb75-1"><a href="#cb75-1" aria-hidden="true" tabindex="-1"></a> <span class="er">"location_code"</span> <span class="er">:</span> <span class="er">"JP",</span></span></code></pre></div>
|
||||
<p>This <em>JSON member</em> holds the string that is the
|
||||
<a href="https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2#Decoding_table">ISO 3166-1 alpha-2 code</a>
|
||||
of the author’s location or country.</p>
|
||||
@@ -1944,38 +1944,38 @@ ISO 3166-1 alpha-2 codes belong to locations that are not technically
|
||||
a country, such as “Antarctica” or a User-assigned code.</p>
|
||||
<p>If the author wishes to not specify a location, they should select <strong>XX</strong>.</p>
|
||||
<h5 id="email">email</h5>
|
||||
<div class="sourceCode" id="cb77"><pre class="sourceCode json"><code class="sourceCode json"><span id="cb77-1"><a href="#cb77-1" aria-hidden="true" tabindex="-1"></a> <span class="er">"email"</span> <span class="er">:</span> <span class="er">"mame@ruby-lang.org",</span></span></code></pre></div>
|
||||
<div class="sourceCode" id="cb76"><pre class="sourceCode json"><code class="sourceCode json"><span id="cb76-1"><a href="#cb76-1" aria-hidden="true" tabindex="-1"></a> <span class="er">"email"</span> <span class="er">:</span> <span class="er">"mame@ruby-lang.org",</span></span></code></pre></div>
|
||||
<p>This <em>JSON member</em> holds the email address of the author, or is the value null.</p>
|
||||
<p>There <strong>MUST</strong> be one and only one <code>email</code> <em>JSON member</em> and the <em>JSON value</em> <strong>MUST</strong>
|
||||
be a <em>JSON string</em> or it <strong>MUST</strong> be a <em>JSON null</em>.</p>
|
||||
<p>If the author wishes to not specify an email address, or if the email address is
|
||||
unknown, they should use the <em>JSON null</em> as the <em>JSON value</em> of this <em>JSON member</em>.
|
||||
For example:</p>
|
||||
<div class="sourceCode" id="cb78"><pre class="sourceCode json"><code class="sourceCode json"><span id="cb78-1"><a href="#cb78-1" aria-hidden="true" tabindex="-1"></a> <span class="er">"email"</span> <span class="er">:</span> <span class="er">null,</span></span></code></pre></div>
|
||||
<div class="sourceCode" id="cb77"><pre class="sourceCode json"><code class="sourceCode json"><span id="cb77-1"><a href="#cb77-1" aria-hidden="true" tabindex="-1"></a> <span class="er">"email"</span> <span class="er">:</span> <span class="er">null,</span></span></code></pre></div>
|
||||
<p>NOTE: The <em>JSON null</em> is <strong>NOT</strong> enclosed in quotes!</p>
|
||||
<h5 id="url">url</h5>
|
||||
<div class="sourceCode" id="cb79"><pre class="sourceCode json"><code class="sourceCode json"><span id="cb79-1"><a href="#cb79-1" aria-hidden="true" tabindex="-1"></a> <span class="er">"url"</span> <span class="er">:</span> <span class="er">"https://mametter.hatenablog.com",</span></span></code></pre></div>
|
||||
<div class="sourceCode" id="cb78"><pre class="sourceCode json"><code class="sourceCode json"><span id="cb78-1"><a href="#cb78-1" aria-hidden="true" tabindex="-1"></a> <span class="er">"url"</span> <span class="er">:</span> <span class="er">"https://mametter.hatenablog.com",</span></span></code></pre></div>
|
||||
<p>This <em>JSON member</em> holds the URL of the author’s home page.</p>
|
||||
<p>There <strong>MUST</strong> be one and only one <code>url</code> <em>JSON member</em> and the <em>JSON value</em> <strong>MUST</strong>
|
||||
be a <em>JSON string</em> or it <strong>MUST</strong> be a <em>JSON null</em>.</p>
|
||||
<p>If the author wishes to not specify an email address, or if the URL is
|
||||
unknown, they should use the <em>JSON null</em> as the <em>JSON value</em> of this <em>JSON member</em>.
|
||||
For example:</p>
|
||||
<div class="sourceCode" id="cb80"><pre class="sourceCode json"><code class="sourceCode json"><span id="cb80-1"><a href="#cb80-1" aria-hidden="true" tabindex="-1"></a> <span class="er">"url"</span> <span class="er">:</span> <span class="er">null,</span></span></code></pre></div>
|
||||
<div class="sourceCode" id="cb79"><pre class="sourceCode json"><code class="sourceCode json"><span id="cb79-1"><a href="#cb79-1" aria-hidden="true" tabindex="-1"></a> <span class="er">"url"</span> <span class="er">:</span> <span class="er">null,</span></span></code></pre></div>
|
||||
<p>NOTE: The <em>JSON null</em> is <strong>NOT</strong> enclosed in quotes!</p>
|
||||
<h5 id="alt_url">alt_url</h5>
|
||||
<div class="sourceCode" id="cb81"><pre class="sourceCode json"><code class="sourceCode json"><span id="cb81-1"><a href="#cb81-1" aria-hidden="true" tabindex="-1"></a> <span class="er">"alt_url"</span> <span class="er">:</span> <span class="er">null,</span></span></code></pre></div>
|
||||
<div class="sourceCode" id="cb80"><pre class="sourceCode json"><code class="sourceCode json"><span id="cb80-1"><a href="#cb80-1" aria-hidden="true" tabindex="-1"></a> <span class="er">"alt_url"</span> <span class="er">:</span> <span class="er">null,</span></span></code></pre></div>
|
||||
<p>This <em>JSON member</em> holds an alternate or 2nd URL a home page for the author.</p>
|
||||
<p>There <strong>MUST</strong> be one and only one <code>url</code> <em>JSON member</em> and the <em>JSON value</em> <strong>MUST</strong>
|
||||
be a <em>JSON string</em> or it <strong>MUST</strong> be a <em>JSON null</em>.</p>
|
||||
<p>In some cases the author may wish to record a special URL for their IOCCC entry,
|
||||
or a 2nd URL such as a work or school or personal home page. For example,
|
||||
Cody as of <em>Thu Nov 30 23:51:12 UTC 2023</em> used:</p>
|
||||
<div class="sourceCode" id="cb82"><pre class="sourceCode json"><code class="sourceCode json"><span id="cb82-1"><a href="#cb82-1" aria-hidden="true" tabindex="-1"></a> <span class="er">"alt_url"</span> <span class="er">:</span> <span class="er">"https://ioccc.xexyl.net",</span></span></code></pre></div>
|
||||
<div class="sourceCode" id="cb81"><pre class="sourceCode json"><code class="sourceCode json"><span id="cb81-1"><a href="#cb81-1" aria-hidden="true" tabindex="-1"></a> <span class="er">"alt_url"</span> <span class="er">:</span> <span class="er">"https://ioccc.xexyl.net",</span></span></code></pre></div>
|
||||
<p>If the author wishes to not specify an email address, or if the alternate URL is
|
||||
unknown, they should use the <em>JSON null</em> as the <em>JSON value</em> of this <em>JSON member</em>.
|
||||
For example:</p>
|
||||
<div class="sourceCode" id="cb83"><pre class="sourceCode json"><code class="sourceCode json"><span id="cb83-1"><a href="#cb83-1" aria-hidden="true" tabindex="-1"></a> <span class="er">"url"</span> <span class="er">:</span> <span class="er">null,</span></span></code></pre></div>
|
||||
<div class="sourceCode" id="cb82"><pre class="sourceCode json"><code class="sourceCode json"><span id="cb82-1"><a href="#cb82-1" aria-hidden="true" tabindex="-1"></a> <span class="er">"url"</span> <span class="er">:</span> <span class="er">null,</span></span></code></pre></div>
|
||||
<p>NOTE: The <em>JSON null</em> is <strong>NOT</strong> enclosed in quotes!</p>
|
||||
<h5 id="deprecated_twitter_handle">deprecated_twitter_handle</h5>
|
||||
<p>This <em>JSON member</em> used to hold the twitter handle of the author.</p>
|
||||
@@ -1985,14 +1985,14 @@ be a <em>JSON string</em> or it <strong>MUST</strong> be a <em>JSON null</em>.</
|
||||
and so the <code>deprecated_twitter_handle</code> is <strong>no longer used</strong>. A <em>JSON value</em> that is
|
||||
not a <em>JSON null</em> is kept for only historic reasons. For example, Anthony C. Howe
|
||||
once used:</p>
|
||||
<div class="sourceCode" id="cb84"><pre class="sourceCode json"><code class="sourceCode json"><span id="cb84-1"><a href="#cb84-1" aria-hidden="true" tabindex="-1"></a> <span class="er">"deprecated_twitter_handle"</span> <span class="er">:</span> <span class="er">"@SirWumpus",</span></span></code></pre></div>
|
||||
<div class="sourceCode" id="cb83"><pre class="sourceCode json"><code class="sourceCode json"><span id="cb83-1"><a href="#cb83-1" aria-hidden="true" tabindex="-1"></a> <span class="er">"deprecated_twitter_handle"</span> <span class="er">:</span> <span class="er">"@SirWumpus",</span></span></code></pre></div>
|
||||
<p>If the author wishes to not specify an twitter handle, or if the twitter handle is
|
||||
unknown, they should use the <em>JSON null</em> as the <em>JSON value</em> of this <em>JSON member</em>.
|
||||
For example:</p>
|
||||
<div class="sourceCode" id="cb85"><pre class="sourceCode json"><code class="sourceCode json"><span id="cb85-1"><a href="#cb85-1" aria-hidden="true" tabindex="-1"></a> <span class="er">"deprecated_twitter_handle"</span> <span class="er">:</span> <span class="er">null,</span></span></code></pre></div>
|
||||
<div class="sourceCode" id="cb84"><pre class="sourceCode json"><code class="sourceCode json"><span id="cb84-1"><a href="#cb84-1" aria-hidden="true" tabindex="-1"></a> <span class="er">"deprecated_twitter_handle"</span> <span class="er">:</span> <span class="er">null,</span></span></code></pre></div>
|
||||
<p>NOTE: The <em>JSON null</em> is <strong>NOT</strong> enclosed in quotes!</p>
|
||||
<h5 id="mastodon">mastodon</h5>
|
||||
<div class="sourceCode" id="cb86"><pre class="sourceCode json"><code class="sourceCode json"><span id="cb86-1"><a href="#cb86-1" aria-hidden="true" tabindex="-1"></a> <span class="er">"mastodon"</span> <span class="er">:</span> <span class="er">"@mame@ruby.social",</span></span></code></pre></div>
|
||||
<div class="sourceCode" id="cb85"><pre class="sourceCode json"><code class="sourceCode json"><span id="cb85-1"><a href="#cb85-1" aria-hidden="true" tabindex="-1"></a> <span class="er">"mastodon"</span> <span class="er">:</span> <span class="er">"@mame@ruby.social",</span></span></code></pre></div>
|
||||
<p>This <em>JSON member</em> holds the
|
||||
<a href="https://en.wikipedia.org/wiki/Mastodon_(social_network)">Mastodon social network</a>
|
||||
handle of the author.</p>
|
||||
@@ -2004,7 +2004,7 @@ used by the author.</p>
|
||||
<p>For more information in Mastodon, see the <a href="https://mastodon.help">Mastodon help</a> guide.
|
||||
See the “Mastodon Address” section of that page in particular.</p>
|
||||
<p>The IOCCC Mastodon handle is:</p>
|
||||
<div class="sourceCode" id="cb87"><pre class="sourceCode json"><code class="sourceCode json"><span id="cb87-1"><a href="#cb87-1" aria-hidden="true" tabindex="-1"></a><span class="er">@ioccc@fosstodon.org</span></span></code></pre></div>
|
||||
<div class="sourceCode" id="cb86"><pre class="sourceCode json"><code class="sourceCode json"><span id="cb86-1"><a href="#cb86-1" aria-hidden="true" tabindex="-1"></a><span class="er">@ioccc@fosstodon.org</span></span></code></pre></div>
|
||||
<p>The IOCCC uses the Mastodon social network for announcements such
|
||||
as the opening and closing of a new IOCCC, changes to the IOCCC web
|
||||
site, updates during the judging process, and when new IOCCC entries
|
||||
@@ -2012,10 +2012,10 @@ are selected. We recommend you follow us on Mastodon.</p>
|
||||
<p>If the author wishes to not specify an Mastodon handle, or if the Mastodon handle is
|
||||
unknown, they should use the <em>JSON null</em> as the <em>JSON value</em> of this <em>JSON member</em>.
|
||||
For example:</p>
|
||||
<div class="sourceCode" id="cb88"><pre class="sourceCode json"><code class="sourceCode json"><span id="cb88-1"><a href="#cb88-1" aria-hidden="true" tabindex="-1"></a> <span class="er">"mastodon"</span> <span class="er">:</span> <span class="er">null,</span></span></code></pre></div>
|
||||
<div class="sourceCode" id="cb87"><pre class="sourceCode json"><code class="sourceCode json"><span id="cb87-1"><a href="#cb87-1" aria-hidden="true" tabindex="-1"></a> <span class="er">"mastodon"</span> <span class="er">:</span> <span class="er">null,</span></span></code></pre></div>
|
||||
<p>NOTE: The <em>JSON null</em> is <strong>NOT</strong> enclosed in quotes!</p>
|
||||
<h5 id="mastodon_url">mastodon_url</h5>
|
||||
<div class="sourceCode" id="cb89"><pre class="sourceCode json"><code class="sourceCode json"><span id="cb89-1"><a href="#cb89-1" aria-hidden="true" tabindex="-1"></a> <span class="er">"mastodon_url"</span> <span class="er">:</span> <span class="er">"https://ruby.social/@mame",</span></span></code></pre></div>
|
||||
<div class="sourceCode" id="cb88"><pre class="sourceCode json"><code class="sourceCode json"><span id="cb88-1"><a href="#cb88-1" aria-hidden="true" tabindex="-1"></a> <span class="er">"mastodon_url"</span> <span class="er">:</span> <span class="er">"https://ruby.social/@mame",</span></span></code></pre></div>
|
||||
<p>This <em>JSON member</em> holds the URL of the author’s Mastodon page.</p>
|
||||
<p>There <strong>MUST</strong> be one and only one <code>mastodon_url</code> <em>JSON member</em> and the <em>JSON value</em> <strong>MUST</strong>
|
||||
be a <em>JSON string</em> or it <strong>MUST</strong> be a <em>JSON null</em>. The <em>JSON string</em> just be a valid URL.
|
||||
@@ -2029,10 +2029,10 @@ For example, if the Mastodon handle is:</p>
|
||||
<p>If the author wishes to not specify an Mastodon URL, or if the Mastodon URL is
|
||||
unknown, they should use the <em>JSON null</em> as the <em>JSON value</em> of this <em>JSON member</em>.
|
||||
For example:</p>
|
||||
<div class="sourceCode" id="cb92"><pre class="sourceCode json"><code class="sourceCode json"><span id="cb92-1"><a href="#cb92-1" aria-hidden="true" tabindex="-1"></a> <span class="er">"mastodon_url"</span> <span class="er">:</span> <span class="er">null,</span></span></code></pre></div>
|
||||
<div class="sourceCode" id="cb91"><pre class="sourceCode json"><code class="sourceCode json"><span id="cb91-1"><a href="#cb91-1" aria-hidden="true" tabindex="-1"></a> <span class="er">"mastodon_url"</span> <span class="er">:</span> <span class="er">null,</span></span></code></pre></div>
|
||||
<p>NOTE: The <em>JSON null</em> is <strong>NOT</strong> enclosed in quotes!</p>
|
||||
<h5 id="github">github</h5>
|
||||
<div class="sourceCode" id="cb93"><pre class="sourceCode json"><code class="sourceCode json"><span id="cb93-1"><a href="#cb93-1" aria-hidden="true" tabindex="-1"></a> <span class="er">"github"</span> <span class="er">:</span> <span class="er">"@mame",</span></span></code></pre></div>
|
||||
<div class="sourceCode" id="cb92"><pre class="sourceCode json"><code class="sourceCode json"><span id="cb92-1"><a href="#cb92-1" aria-hidden="true" tabindex="-1"></a> <span class="er">"github"</span> <span class="er">:</span> <span class="er">"@mame",</span></span></code></pre></div>
|
||||
<p>This <em>JSON member</em> holds the <a href="https://github.com">GitHub</a> handle of the author.</p>
|
||||
<p>There <strong>MUST</strong> be one and only one <code>github</code> <em>JSON member</em> and the <em>JSON value</em> <strong>MUST</strong>
|
||||
be a <em>JSON string</em> or it <strong>MUST</strong> be a <em>JSON null</em>. The <code>github</code> <em>JSON string</em> <strong>MUST</strong>
|
||||
@@ -2044,10 +2044,10 @@ and hosts <a href="https://www.ioccc.org">official IOCCC web site</a> on GitHub
|
||||
<p>If the author wishes to not specify an GitHub handle, or if the GitHub handle is
|
||||
unknown, they should use the <em>JSON null</em> as the <em>JSON value</em> of this <em>JSON member</em>.
|
||||
For example:</p>
|
||||
<div class="sourceCode" id="cb95"><pre class="sourceCode json"><code class="sourceCode json"><span id="cb95-1"><a href="#cb95-1" aria-hidden="true" tabindex="-1"></a> <span class="er">"github"</span> <span class="er">:</span> <span class="er">null,</span></span></code></pre></div>
|
||||
<div class="sourceCode" id="cb94"><pre class="sourceCode json"><code class="sourceCode json"><span id="cb94-1"><a href="#cb94-1" aria-hidden="true" tabindex="-1"></a> <span class="er">"github"</span> <span class="er">:</span> <span class="er">null,</span></span></code></pre></div>
|
||||
<p>NOTE: The <em>JSON null</em> is <strong>NOT</strong> enclosed in quotes!</p>
|
||||
<h5 id="affiliation">affiliation</h5>
|
||||
<div class="sourceCode" id="cb96"><pre class="sourceCode json"><code class="sourceCode json"><span id="cb96-1"><a href="#cb96-1" aria-hidden="true" tabindex="-1"></a> <span class="er">"affiliation"</span> <span class="er">:</span> <span class="er">null,</span></span></code></pre></div>
|
||||
<div class="sourceCode" id="cb95"><pre class="sourceCode json"><code class="sourceCode json"><span id="cb95-1"><a href="#cb95-1" aria-hidden="true" tabindex="-1"></a> <span class="er">"affiliation"</span> <span class="er">:</span> <span class="er">null,</span></span></code></pre></div>
|
||||
<p>This <em>JSON member</em> holds the affiliation of the author.</p>
|
||||
<p>There <strong>MUST</strong> be one and only one <code>affiliation</code> <em>JSON member</em> and the <em>JSON value</em> <strong>MUST</strong>
|
||||
be a <em>JSON string</em> or it <strong>MUST</strong> be a <em>JSON null</em>.</p>
|
||||
@@ -2058,19 +2058,19 @@ For example, the affiliation for the IOCCC would be:</p>
|
||||
<p>If the author wishes to not specify an affiliation, or if the affiliation is
|
||||
unknown, they should use the <em>JSON null</em> as the <em>JSON value</em> of this <em>JSON member</em>.
|
||||
For example:</p>
|
||||
<div class="sourceCode" id="cb98"><pre class="sourceCode json"><code class="sourceCode json"><span id="cb98-1"><a href="#cb98-1" aria-hidden="true" tabindex="-1"></a> <span class="er">"affiliation"</span> <span class="er">:</span> <span class="er">null,</span></span></code></pre></div>
|
||||
<div class="sourceCode" id="cb97"><pre class="sourceCode json"><code class="sourceCode json"><span id="cb97-1"><a href="#cb97-1" aria-hidden="true" tabindex="-1"></a> <span class="er">"affiliation"</span> <span class="er">:</span> <span class="er">null,</span></span></code></pre></div>
|
||||
<p>NOTE: The <em>JSON null</em> is <strong>NOT</strong> enclosed in quotes!</p>
|
||||
<h5 id="winning_entry_set">winning_entry_set</h5>
|
||||
<h5 id="entry_id">entry_id</h5>
|
||||
<div class="sourceCode" id="cb99"><pre class="sourceCode json"><code class="sourceCode json"><span id="cb99-1"><a href="#cb99-1" aria-hidden="true" tabindex="-1"></a> <span class="er">"winning_entry_set"</span> <span class="er">:</span> <span class="ot">[</span></span>
|
||||
<span id="cb99-2"><a href="#cb99-2" aria-hidden="true" tabindex="-1"></a> <span class="fu">{</span> <span class="dt">"entry_id"</span> <span class="fu">:</span> <span class="st">"2012_endoh1"</span> <span class="fu">}</span><span class="ot">,</span></span>
|
||||
<span id="cb99-3"><a href="#cb99-3" aria-hidden="true" tabindex="-1"></a> <span class="fu">{</span> <span class="dt">"entry_id"</span> <span class="fu">:</span> <span class="st">"2012_endoh2"</span> <span class="fu">}</span><span class="ot">,</span></span>
|
||||
<span id="cb99-4"><a href="#cb99-4" aria-hidden="true" tabindex="-1"></a> <span class="fu">{</span> <span class="dt">"entry_id"</span> <span class="fu">:</span> <span class="st">"2013_endoh1"</span> <span class="fu">}</span><span class="ot">,</span></span>
|
||||
<span id="cb99-5"><a href="#cb99-5" aria-hidden="true" tabindex="-1"></a><span class="er">...</span></span>
|
||||
<span id="cb99-6"><a href="#cb99-6" aria-hidden="true" tabindex="-1"></a> <span class="fu">{</span> <span class="dt">"entry_id"</span> <span class="fu">:</span> <span class="st">"2020_endoh1"</span> <span class="fu">}</span><span class="ot">,</span></span>
|
||||
<span id="cb99-7"><a href="#cb99-7" aria-hidden="true" tabindex="-1"></a> <span class="fu">{</span> <span class="dt">"entry_id"</span> <span class="fu">:</span> <span class="st">"2020_endoh2"</span> <span class="fu">}</span><span class="ot">,</span></span>
|
||||
<span id="cb99-8"><a href="#cb99-8" aria-hidden="true" tabindex="-1"></a> <span class="fu">{</span> <span class="dt">"entry_id"</span> <span class="fu">:</span> <span class="st">"2020_endoh3"</span> <span class="fu">}</span></span>
|
||||
<span id="cb99-9"><a href="#cb99-9" aria-hidden="true" tabindex="-1"></a> <span class="ot">]</span></span></code></pre></div>
|
||||
<div class="sourceCode" id="cb98"><pre class="sourceCode json"><code class="sourceCode json"><span id="cb98-1"><a href="#cb98-1" aria-hidden="true" tabindex="-1"></a> <span class="er">"winning_entry_set"</span> <span class="er">:</span> <span class="ot">[</span></span>
|
||||
<span id="cb98-2"><a href="#cb98-2" aria-hidden="true" tabindex="-1"></a> <span class="fu">{</span> <span class="dt">"entry_id"</span> <span class="fu">:</span> <span class="st">"2012_endoh1"</span> <span class="fu">}</span><span class="ot">,</span></span>
|
||||
<span id="cb98-3"><a href="#cb98-3" aria-hidden="true" tabindex="-1"></a> <span class="fu">{</span> <span class="dt">"entry_id"</span> <span class="fu">:</span> <span class="st">"2012_endoh2"</span> <span class="fu">}</span><span class="ot">,</span></span>
|
||||
<span id="cb98-4"><a href="#cb98-4" aria-hidden="true" tabindex="-1"></a> <span class="fu">{</span> <span class="dt">"entry_id"</span> <span class="fu">:</span> <span class="st">"2013_endoh1"</span> <span class="fu">}</span><span class="ot">,</span></span>
|
||||
<span id="cb98-5"><a href="#cb98-5" aria-hidden="true" tabindex="-1"></a><span class="er">...</span></span>
|
||||
<span id="cb98-6"><a href="#cb98-6" aria-hidden="true" tabindex="-1"></a> <span class="fu">{</span> <span class="dt">"entry_id"</span> <span class="fu">:</span> <span class="st">"2020_endoh1"</span> <span class="fu">}</span><span class="ot">,</span></span>
|
||||
<span id="cb98-7"><a href="#cb98-7" aria-hidden="true" tabindex="-1"></a> <span class="fu">{</span> <span class="dt">"entry_id"</span> <span class="fu">:</span> <span class="st">"2020_endoh2"</span> <span class="fu">}</span><span class="ot">,</span></span>
|
||||
<span id="cb98-8"><a href="#cb98-8" aria-hidden="true" tabindex="-1"></a> <span class="fu">{</span> <span class="dt">"entry_id"</span> <span class="fu">:</span> <span class="st">"2020_endoh3"</span> <span class="fu">}</span></span>
|
||||
<span id="cb98-9"><a href="#cb98-9" aria-hidden="true" tabindex="-1"></a> <span class="ot">]</span></span></code></pre></div>
|
||||
<p>The <code>winning_entry_set</code> <em>JSON member</em> holds <em>JSON array</em> containing one or more <code>entry_id</code> _JSON member_s.</p>
|
||||
<p>There <strong>MUST</strong> be one and only one <code>winning_entry_set</code> and the <em>JSON value</em> <strong>MUST</strong>
|
||||
be a non-empty <em>JSON array</em>. Each value in that <em>JSON array</em> <strong>MUST</strong> must contain
|
||||
@@ -2098,7 +2098,7 @@ of the IOCCC entry directories for a given year. For example, see the <a href=".
|
||||
These files contain the directory path from the top directory.
|
||||
For example see <a href="1984/anonymous/.path">1984/anonymous/.path</a>.</p>
|
||||
<p>The .top, .year and .path files are generated from the top level Makefile, by:</p>
|
||||
<div class="sourceCode" id="cb102"><pre class="sourceCode sh"><code class="sourceCode bash"><span id="cb102-1"><a href="#cb102-1" aria-hidden="true" tabindex="-1"></a><span class="fu">make</span> genpath</span></code></pre></div>
|
||||
<div class="sourceCode" id="cb101"><pre class="sourceCode sh"><code class="sourceCode bash"><span id="cb101-1"><a href="#cb101-1" aria-hidden="true" tabindex="-1"></a><span class="fu">make</span> genpath</span></code></pre></div>
|
||||
<h3 id="a-nametermsfaq-6.9-what-is-the-current-meaning-of-the-ioccc-terms-author-entry-and-submission"><a name="faq6_9"></a><a name”terms”></a>FAQ 6.9: What is the current meaning of the IOCCC terms Author, Entry, and Submission?</h3>
|
||||
<p>The IOCCC is now attempting to use the following terms:</p>
|
||||
<ul>
|
||||
@@ -2170,7 +2170,7 @@ instructions. Once you’ve completed this task make sure you log in to GitHub.<
|
||||
<p>Assuming you do not have an ssh key you should go to the command prompt and
|
||||
type (if you already have one and are okay using it for GitHub you can use that
|
||||
one):</p>
|
||||
<div class="sourceCode" id="cb103"><pre class="sourceCode sh"><code class="sourceCode bash"><span id="cb103-1"><a href="#cb103-1" aria-hidden="true" tabindex="-1"></a><span class="fu">ssh-keygen</span> <span class="at">-t</span> rsa <span class="at">-b</span> 4096 <span class="at">-C</span> <span class="st">"luser@example.com"</span></span></code></pre></div>
|
||||
<div class="sourceCode" id="cb102"><pre class="sourceCode sh"><code class="sourceCode bash"><span id="cb102-1"><a href="#cb102-1" aria-hidden="true" tabindex="-1"></a><span class="fu">ssh-keygen</span> <span class="at">-t</span> rsa <span class="at">-b</span> 4096 <span class="at">-C</span> <span class="st">"luser@example.com"</span></span></code></pre></div>
|
||||
<p>where <code>luser@example.com</code> is the email you want associated with your key.
|
||||
Follow the instructions. It will tell you the key files.</p>
|
||||
<p>Once you have an ssh key you need to go to your <a href="https://github.com/settings/profile">account
|
||||
@@ -2195,11 +2195,11 @@ instructions in forking the repo.</p>
|
||||
<h4 id="cloning-the-temp-test-ioccc-repo">Cloning the temp-test-ioccc repo</h4>
|
||||
<p>Once you have forked the repo you are ready to clone it to your system. For
|
||||
instance Cody Boone Ferguson has the GitHub handle <em>xexyl</em> so he would type in:</p>
|
||||
<div class="sourceCode" id="cb104"><pre class="sourceCode sh"><code class="sourceCode bash"><span id="cb104-1"><a href="#cb104-1" aria-hidden="true" tabindex="-1"></a><span class="fu">git</span> clone https://github.com/xexyl/temp-test-ioccc <span class="pp">[</span><span class="ss">target_dir</span><span class="pp">]</span></span></code></pre></div>
|
||||
<div class="sourceCode" id="cb103"><pre class="sourceCode sh"><code class="sourceCode bash"><span id="cb103-1"><a href="#cb103-1" aria-hidden="true" tabindex="-1"></a><span class="fu">git</span> clone https://github.com/xexyl/temp-test-ioccc <span class="pp">[</span><span class="ss">target_dir</span><span class="pp">]</span></span></code></pre></div>
|
||||
<p>Once that is completed you will need to change to that directory. The default
|
||||
directory would be the name of the repo but if you specified a target directory
|
||||
it will be that. For instance using the above example you might do:</p>
|
||||
<div class="sourceCode" id="cb105"><pre class="sourceCode sh"><code class="sourceCode bash"><span id="cb105-1"><a href="#cb105-1" aria-hidden="true" tabindex="-1"></a><span class="bu">cd</span> temp-test-ioccc</span></code></pre></div>
|
||||
<div class="sourceCode" id="cb104"><pre class="sourceCode sh"><code class="sourceCode bash"><span id="cb104-1"><a href="#cb104-1" aria-hidden="true" tabindex="-1"></a><span class="bu">cd</span> temp-test-ioccc</span></code></pre></div>
|
||||
<p>You’re ready to make your changes now!</p>
|
||||
<h4 id="making-changes-fixes-etc.">Making changes, fixes etc.</h4>
|
||||
<p>Here you must use your wits, knowledge, creativity and whatever else you have.
|
||||
@@ -2217,7 +2217,7 @@ or an exercise in sibilance!</p>
|
||||
starts with <code># Last updated:</code> to refer to <code>01 March 2024</code> rather than what it
|
||||
is now (at the time of writing this), <code>15 April 2023</code>.</p>
|
||||
<p>But what if he wanted to add a file? He’d create the file and then type:</p>
|
||||
<div class="sourceCode" id="cb106"><pre class="sourceCode sh"><code class="sourceCode bash"><span id="cb106-1"><a href="#cb106-1" aria-hidden="true" tabindex="-1"></a><span class="fu">git</span> add foo</span></code></pre></div>
|
||||
<div class="sourceCode" id="cb105"><pre class="sourceCode sh"><code class="sourceCode bash"><span id="cb105-1"><a href="#cb105-1" aria-hidden="true" tabindex="-1"></a><span class="fu">git</span> add foo</span></code></pre></div>
|
||||
<p>where <em>foo</em> is the file to add.</p>
|
||||
<p>When he’s ready to make a commit he would need to create a new branch for the
|
||||
pull request.</p>
|
||||
@@ -2225,26 +2225,26 @@ pull request.</p>
|
||||
<p>First, as an aside, if this is your first pull request (which we assume is if you’re
|
||||
reading this :-) ) you need to make sure that you can push changes to GitHub
|
||||
with your ssh key. To do this you need to do:</p>
|
||||
<div class="sourceCode" id="cb107"><pre class="sourceCode sh"><code class="sourceCode bash"><span id="cb107-1"><a href="#cb107-1" aria-hidden="true" tabindex="-1"></a><span class="fu">ssh</span> <span class="at">-T</span> git@github.com</span></code></pre></div>
|
||||
<div class="sourceCode" id="cb106"><pre class="sourceCode sh"><code class="sourceCode bash"><span id="cb106-1"><a href="#cb106-1" aria-hidden="true" tabindex="-1"></a><span class="fu">ssh</span> <span class="at">-T</span> git@github.com</span></code></pre></div>
|
||||
<p>Cody would see:</p>
|
||||
<blockquote>
|
||||
<p>Hi xexyl! You’ve successfully authenticated, but GitHub does not provide shell access.</p>
|
||||
</blockquote>
|
||||
<p>Now, assuming that the forked repo is
|
||||
<a href="https://github.com/xexyl/temp-test-ioccc" class="uri">https://github.com/xexyl/temp-test-ioccc</a>, you’d type:</p>
|
||||
<div class="sourceCode" id="cb108"><pre class="sourceCode sh"><code class="sourceCode bash"><span id="cb108-1"><a href="#cb108-1" aria-hidden="true" tabindex="-1"></a><span class="fu">git</span> remote set-url origin git@github.com:xexyl/temp-test-ioccc.git</span></code></pre></div>
|
||||
<div class="sourceCode" id="cb107"><pre class="sourceCode sh"><code class="sourceCode bash"><span id="cb107-1"><a href="#cb107-1" aria-hidden="true" tabindex="-1"></a><span class="fu">git</span> remote set-url origin git@github.com:xexyl/temp-test-ioccc.git</span></code></pre></div>
|
||||
<p>Now you’d be ready to make your commits.</p>
|
||||
<p>Before doing anything else, however, a new branch needs to be created.
|
||||
Continuing the example above for
|
||||
<a href="2020/ferguson1/play.sh">2020/ferguson1/play.sh</a>, it might be that:</p>
|
||||
<div class="sourceCode" id="cb109"><pre class="sourceCode sh"><code class="sourceCode bash"><span id="cb109-1"><a href="#cb109-1" aria-hidden="true" tabindex="-1"></a><span class="fu">git</span> checkout <span class="at">-B</span> human-snakes</span></code></pre></div>
|
||||
<div class="sourceCode" id="cb108"><pre class="sourceCode sh"><code class="sourceCode bash"><span id="cb108-1"><a href="#cb108-1" aria-hidden="true" tabindex="-1"></a><span class="fu">git</span> checkout <span class="at">-B</span> human-snakes</span></code></pre></div>
|
||||
<p>This would change the branch to the newly created branch <code>human-snakes</code> branch.
|
||||
Now Cody could commit the changes:</p>
|
||||
<div class="sourceCode" id="cb110"><pre class="sourceCode sh"><code class="sourceCode bash"><span id="cb110-1"><a href="#cb110-1" aria-hidden="true" tabindex="-1"></a><span class="fu">git</span> commit play.sh <span class="co"># if specifying specific files</span></span>
|
||||
<span id="cb110-2"><a href="#cb110-2" aria-hidden="true" tabindex="-1"></a><span class="fu">git</span> commit <span class="at">-a</span> <span class="co"># if committing everything</span></span></code></pre></div>
|
||||
<div class="sourceCode" id="cb109"><pre class="sourceCode sh"><code class="sourceCode bash"><span id="cb109-1"><a href="#cb109-1" aria-hidden="true" tabindex="-1"></a><span class="fu">git</span> commit play.sh <span class="co"># if specifying specific files</span></span>
|
||||
<span id="cb109-2"><a href="#cb109-2" aria-hidden="true" tabindex="-1"></a><span class="fu">git</span> commit <span class="at">-a</span> <span class="co"># if committing everything</span></span></code></pre></div>
|
||||
<p>He could also have done:</p>
|
||||
<div class="sourceCode" id="cb111"><pre class="sourceCode sh"><code class="sourceCode bash"><span id="cb111-1"><a href="#cb111-1" aria-hidden="true" tabindex="-1"></a><span class="fu">git</span> add play.sh</span>
|
||||
<span id="cb111-2"><a href="#cb111-2" aria-hidden="true" tabindex="-1"></a><span class="fu">git</span> commit</span></code></pre></div>
|
||||
<div class="sourceCode" id="cb110"><pre class="sourceCode sh"><code class="sourceCode bash"><span id="cb110-1"><a href="#cb110-1" aria-hidden="true" tabindex="-1"></a><span class="fu">git</span> add play.sh</span>
|
||||
<span id="cb110-2"><a href="#cb110-2" aria-hidden="true" tabindex="-1"></a><span class="fu">git</span> commit</span></code></pre></div>
|
||||
<p>In any case this would open an editor (in his case vim) to write a commit log.
|
||||
It is recommended that the first line is <=51 chars and the next line is blank.
|
||||
Then if necessary add a description for the log. For instance the above might
|
||||
@@ -2257,7 +2257,7 @@ script that discusses this and gives supposed examples.</code></pre>
|
||||
<h4 id="opening-a-pull-request">Opening a pull request</h4>
|
||||
<p>To do this depends on the branch name. Assuming the branch from above,
|
||||
<code>human-snakes</code>, you would type:</p>
|
||||
<div class="sourceCode" id="cb113"><pre class="sourceCode sh"><code class="sourceCode bash"><span id="cb113-1"><a href="#cb113-1" aria-hidden="true" tabindex="-1"></a><span class="fu">git</span> push <span class="at">--set-upstream</span> origin human-snakes</span></code></pre></div>
|
||||
<div class="sourceCode" id="cb112"><pre class="sourceCode sh"><code class="sourceCode bash"><span id="cb112-1"><a href="#cb112-1" aria-hidden="true" tabindex="-1"></a><span class="fu">git</span> push <span class="at">--set-upstream</span> origin human-snakes</span></code></pre></div>
|
||||
<p>This might show:</p>
|
||||
<pre><code>Enumerating objects: 9, done.
|
||||
Counting objects: 100% (9/9), done.
|
||||
@@ -2303,7 +2303,7 @@ in the matter.</p>
|
||||
<p>When the judges have merged the pull request you now need to make sure your fork
|
||||
has the merge. To do this from the command line, assuming the fork in the above
|
||||
example, you would type:</p>
|
||||
<div class="sourceCode" id="cb116"><pre class="sourceCode sh"><code class="sourceCode bash"><span id="cb116-1"><a href="#cb116-1" aria-hidden="true" tabindex="-1"></a><span class="fu">git</span> checkout master <span class="kw">&&</span> <span class="fu">git</span> pull https://github.com/ioccc-src/temp-test-ioccc.git master <span class="kw">&&</span> <span class="fu">git</span> push origin master</span></code></pre></div>
|
||||
<div class="sourceCode" id="cb115"><pre class="sourceCode sh"><code class="sourceCode bash"><span id="cb115-1"><a href="#cb115-1" aria-hidden="true" tabindex="-1"></a><span class="fu">git</span> checkout master <span class="kw">&&</span> <span class="fu">git</span> pull https://github.com/ioccc-src/temp-test-ioccc.git master <span class="kw">&&</span> <span class="fu">git</span> push origin master</span></code></pre></div>
|
||||
<p>This will merge your pull request to your fork.</p>
|
||||
<!--
|
||||
|
||||
@@ -2311,11 +2311,11 @@ example, you would type:</p>
|
||||
|
||||
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)
|
||||
Creative Commons Attribution-ShareAlike 4.0 International (CC BY-SA 4.0)
|
||||
|
||||
For more information, see:
|
||||
|
||||
https://creativecommons.org/licenses/by-sa/4.0/
|
||||
https://creativecommons.org/licenses/by-sa/4.0/
|
||||
|
||||
-->
|
||||
|
||||
@@ -2352,7 +2352,7 @@ example, you would type:</p>
|
||||
<div class="footer">
|
||||
<h2>Copyright and CC BY-SA 4.0 License</h2>
|
||||
<p>This file and web page is:</p>
|
||||
<blockquote><p><b>Copyright © 1984-2024 by Landon Curt Noll. All Rights Reserved.</b></p></blockquote>
|
||||
<blockquote><b>Copyright © 1984-2024 by Landon Curt Noll. All Rights Reserved.</b></blockquote>
|
||||
<p>You are free to share and adapt this file under the terms of this license:</p>
|
||||
<blockquote><b>Creative Commons Attribution-ShareAlike 4.0 International (CC BY-SA 4.0)</b></blockquote>
|
||||
<p>For more information, see:</p>
|
||||
|
||||
Reference in new issue
Block a user