force use of pandoc version >= 3.1.12.2
The `bin/pandoc-wrapper.sh` tool will verify that the ssytem has a recent enough version of `pandoc(1)`. We explain why we insist on `pandoc(1)`. version >= 3.1.12.2 in comments where the $PANDOC_MIN_VERSION is set. Added `--wrap=preserve` as a default argument to `pandoc(1)`. While this change will impact every HTML file generated, we believe this will improve the ability of someone to look at the generated HTML and correlate with the original markdown. Changed `bin/pandoc-wrapper.sh` VERSION from "1.4.2 2024-03-17" to "1.4.3 2024-03-18". Performed `make www` to achieve all of the above and to generate HTML using the new `--wrap=preserve` `pandoc(1)` mode.
This commit is contained in:
1 parent
9eb7a54e9f
commit
b0b212acb1
402 files changed
+37061
-55132
No files matched your search
+52
-76
@@ -129,9 +129,9 @@
|
||||
|
||||
<h2 id="author"><a name="author"></a>Author:</h2>
|
||||
<ul>
|
||||
<li>Name: <a href="../../authors.html#Tsukasa_Hamano">Tsukasa
|
||||
Hamano</a><br> Location: <a href="../../location.html#JP">JP</a> -
|
||||
<em>Japan</em> <br><br></li>
|
||||
<li>Name: <a href="../../authors.html#Tsukasa_Hamano">Tsukasa Hamano</a><br>
|
||||
Location: <a href="../../location.html#JP">JP</a> - <em>Japan</em>
|
||||
<br><br></li>
|
||||
</ul>
|
||||
|
||||
<!-- END: next line ends content generated by: bin/output-index-author.sh -->
|
||||
@@ -145,61 +145,56 @@ Hamano</a><br> Location: <a href="../../location.html#JP">JP</a> -
|
||||
<div class="sourceCode" id="cb2"><pre class="sourceCode sh"><code class="sourceCode bash"><span id="cb2-1"><a href="#cb2-1" aria-hidden="true" tabindex="-1"></a><span class="ex">./hamano</span> <span class="op"><</span> textfile <span class="op">></span> output.pdf</span></code></pre></div>
|
||||
<h2 id="try">Try:</h2>
|
||||
<div class="sourceCode" id="cb3"><pre class="sourceCode sh"><code class="sourceCode bash"><span id="cb3-1"><a href="#cb3-1" aria-hidden="true" tabindex="-1"></a><span class="ex">./try.sh</span></span></code></pre></div>
|
||||
<p>The script will generate a number of PDF files and it will suggest
|
||||
you look at them as well. You can read <code>hint.pdf</code> with a PDF
|
||||
reader like <code>acroread hint.pdf</code> or
|
||||
<code>evince hint.pdf</code>. With macOS you can do
|
||||
<code>open hint.pdf</code> which by default will open
|
||||
<code>Preview.app</code>. You may of course use your pdf viewer to open
|
||||
the file directly instead.</p>
|
||||
<p>One of the PDF files generated the README.md file as a PDF,
|
||||
obfuscated, and the PDF file will then be compiled as C (itself!) and
|
||||
executed so that it shows README.md!</p>
|
||||
<p>The script will generate a number of PDF files and it will suggest you look at
|
||||
them as well. You can read <code>hint.pdf</code> with a PDF reader like <code>acroread hint.pdf</code>
|
||||
or <code>evince hint.pdf</code>. With macOS you can do <code>open hint.pdf</code> which by default
|
||||
will open <code>Preview.app</code>. You may of course use your pdf viewer to open the file
|
||||
directly instead.</p>
|
||||
<p>One of the PDF files generated the README.md file as a PDF, obfuscated, and
|
||||
the PDF file will then be compiled as C (itself!) and executed so that it shows
|
||||
README.md!</p>
|
||||
<p>That procedure looks like:</p>
|
||||
<div class="sourceCode" id="cb4"><pre class="sourceCode sh"><code class="sourceCode bash"><span id="cb4-1"><a href="#cb4-1" aria-hidden="true" tabindex="-1"></a><span class="ex">./hamano</span> <span class="op"><</span> README.md <span class="op">></span> hint.pdf</span>
|
||||
<span id="cb4-2"><a href="#cb4-2" aria-hidden="true" tabindex="-1"></a><span class="fu">cc</span> <span class="at">-xc</span> hint.pdf <span class="at">-o</span> hint</span>
|
||||
<span id="cb4-3"><a href="#cb4-3" aria-hidden="true" tabindex="-1"></a><span class="ex">./hint</span></span></code></pre></div>
|
||||
<p>Another PDF generated is an obfuscated <code>Hello World!</code>
|
||||
program (obfuscated inside the PDF). Once this is done it will compile
|
||||
the PDF as if it was C (itself!). It will look like:</p>
|
||||
<p>Another PDF generated is an obfuscated <code>Hello World!</code> program (obfuscated inside
|
||||
the PDF). Once this is done it will compile the PDF as if it was C (itself!). It
|
||||
will look like:</p>
|
||||
<div class="sourceCode" id="cb5"><pre class="sourceCode sh"><code class="sourceCode bash"><span id="cb5-1"><a href="#cb5-1" aria-hidden="true" tabindex="-1"></a><span class="bu">echo</span> <span class="st">'int main(){puts("Hello World!");}'</span> <span class="kw">|</span> <span class="ex">./hamano</span> <span class="op">></span> hello.pdf</span>
|
||||
<span id="cb5-2"><a href="#cb5-2" aria-hidden="true" tabindex="-1"></a><span class="fu">cc</span> <span class="at">-xc</span> hello.pdf <span class="at">-o</span> hello</span>
|
||||
<span id="cb5-3"><a href="#cb5-3" aria-hidden="true" tabindex="-1"></a><span class="ex">./hello</span> <span class="kw">|</span> <span class="fu">cc</span> <span class="at">-Wno-implicit-function-declaration</span> <span class="at">-xc</span> <span class="at">-</span> <span class="at">-o</span> ./hello2</span>
|
||||
<span id="cb5-4"><a href="#cb5-4" aria-hidden="true" tabindex="-1"></a></span>
|
||||
<span id="cb5-5"><a href="#cb5-5" aria-hidden="true" tabindex="-1"></a><span class="ex">./hello2</span></span></code></pre></div>
|
||||
<p>although the <code>CFLAGS</code> will be what is in the Makefile as
|
||||
it uses the helper rules <code>hint.pdf</code>, <code>hint</code>,
|
||||
<code>hello.pdf</code> and <code>hello</code> to do this.</p>
|
||||
<p>although the <code>CFLAGS</code> will be what is in the Makefile as it uses the helper
|
||||
rules <code>hint.pdf</code>, <code>hint</code>, <code>hello.pdf</code> and <code>hello</code> to do this.</p>
|
||||
<h2 id="judges-remarks">Judges’ remarks:</h2>
|
||||
<p>This entry treads into a new territory for IOCCC - generating PDF
|
||||
files.</p>
|
||||
<p>The originally submitted entry could have been thought of as a “Best
|
||||
abuse of Ghostscript” entry. :-)</p>
|
||||
<p>This entry treads into a new territory for IOCCC - generating PDF files.</p>
|
||||
<p>The originally submitted entry could have been thought of as a “Best abuse of
|
||||
Ghostscript” entry. :-)</p>
|
||||
<p>The source code and rendered pages are obfuscated for humans (where
|
||||
is the font?), and the submitted entry created PDF files that left
|
||||
Ghostscript confused.</p>
|
||||
<p>The results can be viewed with Acrobat Reader, <a
|
||||
href="http://en.wikipedia.org/wiki/Evince">evince</a> and Apple’s <a
|
||||
href="https://en.wikipedia.org/wiki/Preview_(macOS)">Preview</a>.</p>
|
||||
is the font?), and the submitted entry created PDF files that left Ghostscript
|
||||
confused.</p>
|
||||
<p>The results can be viewed with Acrobat Reader,
|
||||
<a href="http://en.wikipedia.org/wiki/Evince">evince</a> and Apple’s
|
||||
<a href="https://en.wikipedia.org/wiki/Preview_(macOS)">Preview</a>.</p>
|
||||
<p>The updated version can also be viewed using Ghostscript.</p>
|
||||
<p>There is something strange about the little flags in the output. A
|
||||
search of English literature will provide a hint. The conclusion you
|
||||
might draw is too elementary. :-)</p>
|
||||
<p>There is something strange about the little flags in the output.
|
||||
A search of English literature will provide a hint. The conclusion
|
||||
you might draw is too elementary. :-)</p>
|
||||
<p>So what do those flags really mean?</p>
|
||||
<p>The <a
|
||||
href="http://en.wikipedia.org/wiki/The_Adventure_of_the_Dancing_Men">Dancing
|
||||
men algorithm</a> might be useful.</p>
|
||||
<p>Don’t forget to take a look at the generated PDF. Perhaps you might
|
||||
even want to compile the output with a C compiler. When you run it, what
|
||||
does it output?</p>
|
||||
<p>The <a href="http://en.wikipedia.org/wiki/The_Adventure_of_the_Dancing_Men">Dancing men
|
||||
algorithm</a> might
|
||||
be useful.</p>
|
||||
<p>Don’t forget to take a look at the generated PDF. Perhaps you might even want
|
||||
to compile the output with a C compiler. When you run it, what does it
|
||||
output?</p>
|
||||
<h2 id="authors-remarks">Author’s remarks:</h2>
|
||||
<p>This program obfuscate text file into PDF file with <a
|
||||
href="http://en.wikipedia.org/wiki/The_Adventure_of_the_Dancing_Men">Dancing
|
||||
men algorithm</a>.</p>
|
||||
<p>This program obfuscate text file into PDF file with <a href="http://en.wikipedia.org/wiki/The_Adventure_of_the_Dancing_Men">Dancing men
|
||||
algorithm</a>.</p>
|
||||
<p>Probably, the output PDF file is compliant with PDF 1.3 and it’s also
|
||||
available to compile as C code.</p>
|
||||
<p>I’ve tested it with GCC 4.7 and Clang 3.0 with Linux, and the
|
||||
following PDF Readers:</p>
|
||||
<p>I’ve tested it with GCC 4.7 and Clang 3.0 with Linux, and the following
|
||||
PDF Readers:</p>
|
||||
<ul>
|
||||
<li>Adobe Acrobat Reader</li>
|
||||
<li>Evince</li>
|
||||
@@ -207,55 +202,36 @@ following PDF Readers:</p>
|
||||
<li>Xpdf</li>
|
||||
</ul>
|
||||
<h3 id="obfuscations">Obfuscations</h3>
|
||||
<p>This program is obfuscated by using classical methods. But can you
|
||||
find the embedded font in the fragmented glyph?</p>
|
||||
<h2 id="copyright-and-cc-by-sa-4.0-license">Copyright and CC BY-SA 4.0
|
||||
License:</h2>
|
||||
<p>This file is Copyright (c) 2023 by Landon Curt Noll. All Rights
|
||||
Reserved. You are free to share and adapt this file under the terms of
|
||||
this license:</p>
|
||||
<p>This program is obfuscated by using classical methods. But can you find the
|
||||
embedded font in the fragmented glyph?</p>
|
||||
<h2 id="copyright-and-cc-by-sa-4.0-license">Copyright and CC BY-SA 4.0 License:</h2>
|
||||
<p>This file is Copyright (c) 2023 by Landon Curt Noll. All Rights Reserved.
|
||||
You are free to share and adapt this file under the terms of this license:</p>
|
||||
<pre><code>Creative Commons Attribution-ShareAlike 4.0 International (CC BY-SA 4.0)</code></pre>
|
||||
<p>For more information, see:
|
||||
https://creativecommons.org/licenses/by-sa/4.0/</p>
|
||||
<p>For more information, see: https://creativecommons.org/licenses/by-sa/4.0/</p>
|
||||
|
||||
<!-- END: this line ends content for HTML phase 21 by: bin/pandoc-wrapper.sh via bin/md2html.sh -->
|
||||
<!-- START: this line starts content for HTML phase 22 by: bin/output-index-inventory.sh via bin/md2html.sh -->
|
||||
|
||||
<!-- START: this line starts content generated by: bin/output-index-inventory.sh -->
|
||||
|
||||
<h1 id="inventory-for-2012hamano"><a name="inventory"></a>Inventory for
|
||||
2012/hamano</h1>
|
||||
<h1 id="inventory-for-2012hamano"><a name="inventory"></a>Inventory for 2012/hamano</h1>
|
||||
<p><a href="#top">Jump to top</a></p>
|
||||
<h2 id="primary-files">Primary files</h2>
|
||||
<ul>
|
||||
<li><a
|
||||
href="https://github.com/ioccc-src/temp-test-ioccc/blob/master/2012/hamano/hamano.c">hamano.c</a>
|
||||
- entry source</li>
|
||||
<li><a
|
||||
href="https://github.com/ioccc-src/temp-test-ioccc/blob/master/2012/hamano/Makefile">Makefile</a>
|
||||
- entry Makefile</li>
|
||||
<li><a
|
||||
href="https://github.com/ioccc-src/temp-test-ioccc/blob/master/2012/hamano/hamano.orig.c">hamano.orig.c</a>
|
||||
- original source</li>
|
||||
<li><a
|
||||
href="https://github.com/ioccc-src/temp-test-ioccc/blob/master/2012/hamano/try.sh">try.sh</a>
|
||||
- how to run</li>
|
||||
<li><a href="2012_hamano.tar.bz2">2012_hamano.tar.bz2</a> - download
|
||||
entry source</li>
|
||||
<li><a href="https://github.com/ioccc-src/temp-test-ioccc/blob/master/2012/hamano/hamano.c">hamano.c</a> - entry source</li>
|
||||
<li><a href="https://github.com/ioccc-src/temp-test-ioccc/blob/master/2012/hamano/Makefile">Makefile</a> - entry Makefile</li>
|
||||
<li><a href="https://github.com/ioccc-src/temp-test-ioccc/blob/master/2012/hamano/hamano.orig.c">hamano.orig.c</a> - original source</li>
|
||||
<li><a href="https://github.com/ioccc-src/temp-test-ioccc/blob/master/2012/hamano/try.sh">try.sh</a> - how to run</li>
|
||||
<li><a href="2012_hamano.tar.bz2">2012_hamano.tar.bz2</a> - download entry source</li>
|
||||
</ul>
|
||||
<h2 id="secondary-files">Secondary files</h2>
|
||||
<ul>
|
||||
<li><a href="index.html">index.html</a> - entry home page</li>
|
||||
<li><a
|
||||
href="https://github.com/ioccc-src/temp-test-ioccc/blob/master/2012/hamano/.entry.json">.entry.json</a>
|
||||
- description of entry in JSON</li>
|
||||
<li><a
|
||||
href="https://github.com/ioccc-src/temp-test-ioccc/blob/master/2012/hamano/.gitignore">.gitignore</a>
|
||||
- list of files that should not be committed under git</li>
|
||||
<li><a href="https://github.com/ioccc-src/temp-test-ioccc/blob/master/2012/hamano/.entry.json">.entry.json</a> - description of entry in JSON</li>
|
||||
<li><a href="https://github.com/ioccc-src/temp-test-ioccc/blob/master/2012/hamano/.gitignore">.gitignore</a> - list of files that should not be committed under git</li>
|
||||
<li><a href=".path">.path</a> - directory path from top directory</li>
|
||||
<li><a
|
||||
href="https://github.com/ioccc-src/temp-test-ioccc/blob/master/2012/hamano/README.md">README.md</a>
|
||||
- markdown source for index.html</li>
|
||||
<li><a href="https://github.com/ioccc-src/temp-test-ioccc/blob/master/2012/hamano/README.md">README.md</a> - markdown source for index.html</li>
|
||||
</ul>
|
||||
|
||||
<!-- END: next line ends content generated by: bin/output-index-inventory.sh -->
|
||||
|
||||
Reference in new issue
Block a user