Just So Stories

Talking Right—About Torture
An exercise in linguistics (2007 Jan 15)
Why gift cards expire
it's an accounting problem (2004 Aug 17)
The Game of 20 Questions
How do you slice your world? (2001 Aug 09)
How The Internet Will Make The Record Labels Evaporate
Like puddles in the sun... (2000 Aug 06)
The galaxy
How big is it? (1999 Aug 13)
Why we dream
The wake-sleep algorithm for training neural networks (1997 Nov 01)
How the Cosmo girl woke up
An experiment in newsstand magazine sales (1997 Oct 29)
A thing of beauty is a joy forever
Why the '70s station plays such bad music (1997 Sep 22)
How Disney made the gray market in multi-day passes evaporate
Like a puddle in the sun... (1997 Jun 7)
Flying to Orbit with an update for SpaceShipOne
Gravity—Why fight it? (2004 Jun 29)
Thermodynamic free energy
How could this be so complicated? (1997 Apr 4)
Why the moon looks bigger on the horizon
Because the horizon is farther than the sky
Why mirrors reverse left to right but not top to bottom
Actually, they reverse front to back

Rants

Have Republicans Gone Crazy, Or Were They Always Like That?
Politics and Economics. Long and rambling. Read at your own risk. (2013 Mar 14)
Is The Browser Part of the Operating System?
An exercise in misdirection (2005 Feb 26)
Critique of a bad physics text
Prentice Hall's Science Explorer: Motion, Forces and Energy (2004 Jan 01)
Why Bush is going to war
Bad reasons and scary reasons (2003 Mar 10)
The Economics of Conservation
and the importance of personal virtue (2002 May 24)
Why I gave up on Apple
A tale of unrequited love (2002 Mar 15)
The War on Drugs
The Child On-Line Protection Act
Protecting the government from on-line children (1999 May 09)
These are a few of my favorite (Microsoft) bugs
Just to show how cool I am (1999 Apr 02)
A New Calendar
30 days hath January, February, March, April, May, June... (1997 Dec 19)
Coke®
It's a picture of the Real Thing (1997 May 10)
Oregon vs. Schwartz
A case of elite panic (1995 Oct)
Limitations of the IBM PC Architecture
Of historical interest only (1992 Feb)

Politics

Downsize your bank (2011 Oct 27)
Direct action
The Trillion Dollar Fix (2011 Jul 14)
A parable of money

Letters

How congress broke daylight savings time
A letter to my congressional representatives (2007 Nov 02)
Why the police shouldn't be for sale
It's a question of sovereignty (2005 Nov 17)
Why I no longer support NPR
An open letter to Jane Christo, General Manager of WBUR Boston (2003 Nov 09)
Men In Black
Poster boys for critical thinking (1997 Nov 15)
Net Films, Take Two
Can Hollywood get the technology right? (1995 Oct)
Energy in, Energy out
Subtleties of pulse-width modulation amplifier operation (1993 May)

Pictorial Essays

Programming

Me Code Pretty Some Day
A voice in the wilderness (2013 Jun 08)
Long subroutines
are run-on sentences
A freeware heap
malloc() and free(), with integrity tests and diagnostics
Programming Paradigms
it's a state of mind...
The White Knight Explains Pointers
(2003 Nov 26)

Tech Notes

Perl

Module Mechanics
How to build a perl module (2005 Mar 18)
Object-oriented Programming
It's all done with mirrors (2009 Aug 12)
Module Anatomy
A skeleton for a Perl module (1999 Oct 17)
Module PODs
How to document a perl module (1997 Jun 2)
Program Anatomy
A skeleton for a Perl program (1999 Oct 17)
Program PODs
How to document a perl program (1997 Jun 2)
Idioms
There's more than one way to say it... (1999 Nov 15)
Perl & Linguistics
Larry Wall on linguistic aspects of Perl (1995 Jul 27)

PerlMonth Articles

Perl Programs

ColorWork
colorwork knitting pattern editor (2008 Nov 23)

Perl Modules

Config::Scoped
Config::Scoped - feature rich configuration file parser
Convert::yEnc
yEnc decoder, with database of file parts
Game::Stones
Play the game of Stones—an exercise in dynamic programming
News::Newsrc
Manage newsrc files
Pod::Tree
Parse a POD into a static tree. Includes Pod::Tree::HTML for translating PODs to HTML, and Pod::Tree::Perl* for translating the Perl PODs to HTML.
Set::IntSpan
Manage sets of integers, newsrc style: 1-7, 15, 23-28
Set::Window
Manages an interval on the integer line
String::Levenshtein
Computes the Levenshtein distance between two strings

Java Classes

Set.IntSpan
Manage sets of integers, newsrc style: 1-7, 15, 23-28

Stupid Web Tricks

These are a few of my favorite fortune cookies
also in cookie and bugzilla format (2004 Aug 24)
John Conway's Game of Life
implemented in JavaScript
The Mad Hatter's Watch
implemented in Scalable Vector Graphics (2006 Feb 03)

Travelogs

Iceland
Hell's parking lot (2001 Sep 05)
Greenwich, England
Telescopes and clocks (1999 Nov)
Los Vegas
Slot Machine Economics (1999 Apr)
Los Angeles
Myth and Reality (1987 Feb 16)

Tales From The Crypt

The Judgment of Clarence
roman à clef (2013 Apr 19)
Just Write Like Hemingway
I actually had this assignment (2010 Oct 20)
Worst-case scenarios for the United States
Africa, Russia, Mexico (2004 Dec 02)
On Dealing with Head Hunters
some cautionary tales(2003 Oct 02)
Far Away Eyes
Late-night Religious Talk Radio (2001 Jul 16)
Toys in the Attic
books, actually...
Six Images of Lenin on the Keyboard
and other surreal experiences

Music

Sicut Cervus (2011 Dec 13)
I sang this a few years ago

Sheet Music

In LilyPond format

Bach

Outside Links

Red Family, Blue Family—Making sense of the values issue
This explains a lot about the political situation in the United States today. See also Cracks in the Wall, parts I II III, and Tunnels and Bridges, parts I II III IV.
Is There Anything Good About Men?
Interesting take on the differences between men and women
The Programmers' Stone
"We should be willing to look at the source code we produce not as the end product of a more interesting process, but as an artifact in its own right. It should look good stuck up on the wall."
In The Beginning Was The Command Line
A long, incisive, and—in its own way—funny essay by sci-fi author Neal Stephenson. Nominally about the OS wars, it includes some interesting social commentary. You can get a taste of it from this cookie file.

in memory


Steven W. McDougall / resume / swmcd@world.std.com / 2013 April 29