It still doesn't beat plain old com files in DOS/Windows. Take a look at site <a href="http://www.256b.com" rel="nofollow">http://www.256b.com</a>. There are a bunch of 256 bytes programs that do (visually) amazing stuff. My favourite is called lattice: <a href="http://www.256b.com/download/256" rel="nofollow">http://www.256b.com/download/256</a><p>
My problem with the article is that it's not really theoretically useful, it's just a case for one particular program.<p>Writing large programs in C, I rarely see the need to optimise program size - I'm more interested in execution time. Even so, with thousands of lines of code, the executable is typically < 200kb, which would run on an Amiga, never mind a PC.<p>I think this article is slightly outdated as we don't run 64kb 8-bit machines anymore.<p>My last comment is that you could use an executable 'packer' which uncompresses at runtime, and that's far easier than his methods.
Neat! Optimization is fun. But you can also shrink code by going to higher-level languages... (yes, I know, it won't run as fast and will take a lot more memory when it runs, but still...)<p><pre><code> mbp:~/test doug$ cat tiny.pl
return 42;
mbp:~/test doug$ ls -la tiny.pl
-rw-r--r-- 1 doug doug 12 Oct 15 11:31 tiny.pl
</code></pre>
Off the subject but on this site: A list of Martin Gardner Puzzle Books: Martin Gardner's Collections of "Mathematical Games" Columns <a href="http://www.muppetlabs.com/~breadbox/books/gardner.html" rel="nofollow">http://www.muppetlabs.com/~breadbox/books/gardner.html</a>