Quote: Knuth on writing software versus writing books
Writing a book is a little more difficult than writing a technical paper, but writing software is a lot more difficult than writing a book. – Donald Knuth
Writing a book is a little more difficult than writing a technical paper, but writing software is a lot more difficult than writing a book. – Donald Knuth
MyTop is a top tool for MySQL. It’s a text application for Linux systems that shows you what’s happening on your DB server.
Gizmodo reviews the new Wacom Cintiq 12WX LCD tablet, and it looks slick.
A complete set of Logo trends for 2007, useful for the designer in all of us. Personally, I like the Urban Vinyl look. (via)
A ‘Bah, humbug’ to Apple if this one is true. Apple is wishing a Merry Christmas to the Fake Steve Jobs with the threat of legal action a few days before Christmas. Sadly, great design does not imply goodness of any sort: business is business, slime, greed and all. Fake Steve Jobs could be faking us all, but somehow I kind of doubt it.1 Sucks to be him as he did nothing wrong other than pen some wicked parody.
Some advice from an older photographer to the young’uns. The advice is oddly applicable to software developers. Mostly, learn at every possible opportunity.
We are all shaped by the tools we use, in particular: the formalisms we use shape our thinking habits, for better or for worse, and that means that we have to be very careful in the choice of what we learn and teach, for unlearning is not really possible. –E.W. Dijkstra
This isn’t one of those shitty b-list top10 lists, it’s Jorn Barger’s tips for new bloggers, street smarts for crafting better link posts. Jorn Barger is the alpha twitch blogger, logging links since 19971 in his brief, thoughtful style. 23
I finally got around to adding syntax highlighting to the site today, a feature I’ve been meaning to add for several months now. I decided to use the Google code prettify script, via a handy-dandy Wordpress plugin.1
To make it easier to post prettified things, I also hacked the Markdown plugin so it automatically adds a prettyprint class to indented pre/code and backtick2 blocks:
function _doCodeBlocks_callback($matches) {
$codeblock = $matches[1];
$codeblock = $this->encodeCode($this->outdent($codeblock));
$codeblock = $this->detab($codeblock);
# trim leading newlines and trailing whitespace
$codeblock = preg_replace(array('/\A\n+/', '/\n+\z/'), '', $codeblock);
$result = "\n\n".$this->hashBlock("<pre><code class='prettyprint'>"
. $codeblock . "\n</code></pre>")."\n\n";
return $result;
}
While I was at it, I fixed an old bug in my SimpleLink plugin too, as it was munging array syntax like $a[9] in pre blocks. Some day I’ll rewrite the plugin as a full parser, merging it with Markdown (and RestructuredText).3 But not today.
History is fun. Where does the variable naming convention of using i, j, k, l, m, and n for loop variables come from?
In Fortran, all variables starting with the letters I, J, K, L, M and N are integers by default. Fortran refers to this as “implicit typing”. (This may be the source of the long tradition of using “i”, “j”, “k” etc as the loop indexes of “for loops” in many programming languages—few of which have implicit typing). However, it is questionable as the root source. Why were I, J, K, L, M, and N integers in Fortran as opposed to A, B, C or X, Y, Z? One posed explanation is that I and N are the first two letters of Integer. Fortran’s source of inspiration is very likely that mathematicians have been using use i, j, k, … to denote integers for hundreds of years — for example as the Index Variable in Summation and Product. – Wikipedia on Sigils