Blog: 2003

These are the 441 blog posts for 2003. There is also a complete archive.

December 2003

Wed 31:

Windows XP box

Robot origami


Tue 30:

Browser as desktop ui

Mon 29:

The man behind the motion

Newspapers US and worldwide

Sun 28:


Sat 27:

Joke: WASP orgies

Quick links: dreems, holograms, hypercomic, tinygrow, moovl

Bob books

Livio De Marchi

Fri 26:

Nancy Bea Miller

How to fold paper in half twelve times

Tue 23:

Ben Folds: The Bens

Quick links: Characters

Quick links: Letters

Quick links: Seasonal Fun

Sun 21:

Newspaper terminology

Complex scripts

Fri 19:

Coffee stirrer stars

Thu 18:

Poll on homosexual marriage

MIT Wright flight hack

Java musings

Orac3 case mod

National film registry 2003

Wed 17:


Tue 16:

PostScript control structures

Sun 14:


Sat 13:


Snow sculptures

Fri 12:

Top ten databases

Wed 10:

Link dumps

Tue 9: Geeks in Love

Perforce merge sucks

Mon 8:

Search highlighting

Sat 6:


Thu 4:

Dates on articles



Wed 3:

Behind the typeface: Cooper Black

The museum of HP calculators

Tue 2:

Perl advent calendar

Black ice

Schema primer

Styling XML files

Why pretend to care

Mon 1:

Low-tech game systems


November 2003

Sun 30:

Brooklyn bridge

Sat 29:


Wed 26:


Tue 25:


Mon 24:

The curious incident of the dog in the night-time

Sun 23:

LKG and Gauntlet


The money map

Switching sides

My autistic child in the balance

Sat 22:

Pragmatic starter kit


Thu 20:

Bill Cutler puzzles

Cargo cult engineering

Wed 19:

Take Control electronic books

Quick links: Applets, eggs, economists, tetragrams, colors, numbers

Oracle fighting WMD

Tue 18:

Storing hierarchical data in a database


MaxDB by MySQL

Words and expressions commonly misused

IE difficulties: font size rounding

IE difficulties: link targets

A sufficiently large program

Sat 15:

Reading: Ray, REST and fallacies

Fri 14:

Innovation principles

Thu 13:



Paul Otlet

Wed 12:

Internet Explorer as an application

Tue 11:

Semantic web difficulties

Creatures in my head

.int domains

Sun 9:

Making a LEGO brick

Do/fix vs prepare/commit/abort

XPointer IE plugin

We’ve got the sun in the morning and the moon at night

Smash the windows?

Sat 8:

Trends in logo design


Shirky: The Semantic Web, Syllogism and Worldview

Thu 6:

Matrix Revolutions abridged script

Styled RSS

Wed 5:

Kabalarian philosophy

M3u files in a tree

30 search tips in 40 minutes

Political compass

Tue 4:


Linking into documents

Stencil revolution

Sun 2:

Quick links: Relativity; sky; balancing; large; enormous


Horton Hears A Who!

Reading mp3 metadata

Sat 1:

Pac-Man implemented in Excel

October 2003

Fri 31:

Thu 30:

Abuse of XML

Fun with circles

Wed 29:

Impossible CSS gripe #2

Impossible CSS gripe #1

Mon 27:

Halloween pumpkins

Sun 26:

Guidelines for focusing on learning


Women weren’t designed for homemaking

Sat 25:

Japanese emoticons

MC Hawking

Women were designed for homemaking

Fri 24:

The sound an eye makes

Thu 23:

Amazon full text search


Wed 22:

PHP and magic quotes

Tue 21:

Terror profiles by computers are ineffective

Wooden mirror

Ned Gully: autism and the Red Sox

Mon 20:

Google definitions

Sun 19:

Jonathan Coulton’s Mandelbrot Set

The rite stuff

Sat 18:

Fisheye menus

Chain of trust

Fri 17:

Unicode test strings

Space cadet keyboard

Thu 16:

More on exceptions and status returns

Tue 14:

Wooly-thinker’s guide to rhetoric

Mon 13:

Joel on exceptions

Objects have failed?

Time for space wiggle

Computer science history

Sun 12:

Fall of 5?

How should I backup data?

Sat 11:

I don’t really get CSS

XSLT behind the scenes

Fri 10:

Henry Ford and the RIAA

Thu 9:

Free hosting

PDF printing with Ghostscript

Acrobat 6

Wed 8:

William Steig

Kernighan on debugging clever code

Tue 7:

Juggling with packets

Sat 4:

Resign patterns

Fri 3:

How exceptions really work

Thu 2:

A client crash hunted down

Wed 1:

Five best and worst things to say to your kids

SF paper craft gallery

September 2003

Sun 28:

Metadata is nothing new

Lego inventor game

Sat 27:

Chandler 0.2

A server crash hunted down

Child on shoulders game

Fri 26:

How to improve a day

Thu 25:

Helpful PHP articles

Smicbnalrg lrttees

Joel’s bionic offices

Maven Networks

Wed 24:

Rant against web technology

Tue 23:

Two-column resume


Network address translation

I have to buy a computer

Sun 21:

Standards misconceptions

Proggy fonts

Sat 20:

Eric Lippert

Streamlined XSLT

Fri 19:

Windows startups

Thu 18:

Technical debt

Wed 17:

Real autism tests

From the Geometry Junkyard


Tue 16:

Reversing regular expressions

Exceptions vs status returns

Mon 15:

Rubik’s fanatics 2

Autism quotient test

Sun 14:

Shop Amazon with Treemaps

Toyota POD

Sat 13:

New optical illusions

Spybot search & destroy

Fri 12:

Rubik’s fanatics

Thu 11:

Bookmarks with referrers

Simple virtual hosts with PHP

Purr programming

Wed 10:

Power users tools list

Tue 9:


Mon 8:

Lines of code per month

Sun 7:

Bitflux editor

Sat 6:

Software apprenticeship

Retail alphabet game

3D laptop display with cellophane

Fri 5:

Ye olde thorn and eth

Flying Pig paper models

Thu 4:

Political graveyard

Abortion doctor’s killer executed

Monotone distributed version control


Mon 1:

Master of Fine Arts in Software


Orange juice trick

August 2003

Sun 31:

Comments say why

Thu 28:

Writing a resume

Wed 27:

Kasoh Taikai

Command prompt selection coloring

Raymond Chen

Tue 26:


Mon 25:

Perforce support

When action grows unprofitable

Paul really is dead

Flame warriors

Sat 23:

Bob Congdon

Engineers are people

Fri 22:

Glass: solid or liquid?

Tue 19:

The spoon trick

Photo retouching

Google calculator

Sun 10:

More mirror project photos

Sat 9:

Eliyon CorporateAlumni

Blogging song parodies

Copy Shop

Fri 8:

Holding mail

Eclipse impressions

Stroke technique

Thu 7:

What’s a “blog”?

Primate programming

Wed 6:

New on Google: synonyms

Tue 5:



Mon 4:

Edit and continue

Sat 2:

Mozilla Firebird 0.6.1

Fri 1:

DevStudio persistent find

July 2003

Thu 31:


Kubi reviewed in PC Magazine

Wed 30:

My boys, the new media artists

Quiet, content-wise

Fri 25:

Tamworth calendars

Thu 24:

Genetic algorithm learns to walk

When good interfaces go crufty

Wed 23:

Python and Eclipse

Pickle hiccups

Pirates of the Caribbean

Mon 21:


Fri 18:

Candy from strangers

Star Wars alphabet project

Wed 16:

Ethan Diamond interview

Sun 13:


Sat 12:

Pinebank, before and after

Thu 10:

Matrix ping-pong

Tue 8:

Wayback machine stymied by squatters

Mega Lego

Sun 6:

Post-vacation fun

June 2003

Thu 26:

World’s longest slinky

Wed 25:

Machete mode

Tue 24:

ArsDigita post mortems

Sun 22:


Sat 21:

Alice’s restaurant

Google site search

Fri 20:

Kevin Cornell’s sketchbook

Thu 19:

William Heath Robinson

Wed 18:

Mirror project

Clickmazes again, and SuperMaze

Tue 17:

Sue’s bathing suit rag

Will Ferrell Matrix parody

Quick links: Rotation, pixelHugger, visualOrgasm

Mon 16:

I’m one step closer to being $12 richer

Paul Rand’s geometry books

Sun 15:

A good thing about autism

Sat 14:

Animatrix: Beyond

Finding Nemo

Fri 13:

Construction methods

Thu 12:

Bray on performance

Quick Python links: MSNbot, Project planning, GD

Wed 11:

Flash click to view

Mon 9:

Marble Madness

Sun 8:

Qu’ranic illumination

The Incredibles

Fri 6:

Holland Schmolland

Do signatures matter?

Python main() functions

Thu 5:

Peter Norvig

Kubi Client reviewed in PC World

Translation is hard

Tue 3:

Business card cubes

Well-written job posting

May 2003

Sat 31:

Matrix XP

Fri 30:

Simpsons Math

Wed 28:

Real-world patterns: Ghetto

Recent Python-URL gleanings

Tue 27:

Graph paper printer

Sun 25:

Lessig on Starbucks

Sat 24:

The dark side of the popularity of weblogs


Fri 23:

Blambot fonts

My very own button

Charlie and the Chocolate Factory movie

Thu 22:

Steal these buttons


Wed 21:

The Selfish Class

CSS ain’t rocket science

Mon 19:

Eat more words

The Google Cluster Architecture

Fri 16:

Matrix Reloaded

Thu 15:

Starship dimensions

Quick links: darcs, Capon, twiddling, xmltramp, meld

Sun 11:

Structural markup nit: headers

Lunar Eclipse

Perforce vs. CVS

Thu 8:

Hummer mileage disappoints

Progressive lenses

Streamed Lines

Tue 6:

Helpful meteorite statistic

Sun 4:

Crashing Browsers

Sat 3:

Self-contained Python

Safety sign builder

Fri 2:


Thu 1:

Chandler demo transcript

Phoenix comes through again

April 2003

Wed 30:

Two links from Bob

Why Edison lost the record business

Tue 29:

Looking for heap tools

Mon 28:

Are programmers people?

Sun 27:

Summer of 5

Fri 25:

MIME message structure

Thu 24:

Hand-rolled blogs

Quick links: Microsoft, Xanadu, Ozzie

Tue 22:

Kubi Client Ships

Chandler and Vera

Sun 20:

T-Shirts from cafepress

Sat 19:


Fri 18:

Gardening and agility

Wed 16:

Mutexes and critical sections

Mon 14:

Time cover archive

Sun 13:

Memory management glossary

Sat 12:

Innovative music software: Noodle and Hyperscore

Thu 10:


Verbose Python regular expressions


Wed 9:

More Bookmarklets

Tue 8:

Free Paper Toys

Smoke test

Mon 7:

Blogs save lives

Sun 6:

dispmode can set the refresh rate

Chaco and MakeMenu

Sat 5:

Quick links: cvs2rss, Hydra, dynamicobjects, events

Quick links: UPS, alteration, San Serriffe, covers

Thu 3:

H. S. M. Coxeter, 1907–2003

Wed 2:

Disappointed in “XML names and addresses”

Tue 1:

Robustness Principle


March 2003

Mon 31:

Overheard at a local startup

Sun 30:

Perl shivers and AmphetaDesk

Ultra-conservative RSS publishing

Sat 29:

Python Photo Gallery

AmphetaDesk customizability

Quick links: wreckage, evolution, strategies

Thu 27:

Iraq maps

Wed 26:

Tomatos are vegetables

Tue 25:

Local web servers as applications

Quick links: greed, Milhouse, uri’s, perl patterns

Mon 24:


Superman birthday cake

Error handling in wxPython

Sun 23:

Quick links: leaders, synechdoche, xrefer

Wed 19:

Nice favelets

Mon 17:

The best damn cat food any cat ever imagined

Intolerance of dissent

Sat 15:

Happy belated Pi Day

What’s so tough about favicon.ico?

Thu 13:

The Tyranny of Email


Wed 12:


Tue 11:


Sun 9:

Nat’s Mini World code

Past and future

Matrix birthday cake

Sat 8:

One-year blogaversary

Fri 7:

1944 Dime

Sam Ruby’s wx3pa

Thu 6:

Naming classes without ‘Manager’

Wed 5:

Redefining Asparagus

Mon 3:

Tim Bray’s Ongoing blog

About me

Sun 2:

Hex words

February 2003

Tue 25:

How to be a programmer

Placebo progress bars


Mon 24:

FingerWorks iGesture


Homer for Governor?

Sun 23:

Google does reverse phone numbers

McSweeney’s Lists

PictureLogic and nonograms

Fri 21:

Hornby on autism and music

Tue 18:

Fish, Codeville, PSP8

Mon 17:

At DEMO 2003

Sat 15:

Quick links

Thu 13:

reStructured Text vs. XML

Wed 12:

GWB amusement

Car Talk credits

Mon 10:

Brookline Library gala

Sun 9:

Amazon’s recommendation algorithm

Fri 7:


Thu 6:

Fix Error Handling First

Life in the 21st century

Wed 5:

Shavian alphabet

Tue 4:


Help me find a site

Sat 1:

Space shuttle

January 2003

Fri 31:


Thu 30:

The path Python module

Biological clock discovered

Rights Amplification in Master-Keyed Mechanical Locks

Mon 27:

ABC and D

Sun 26:


Fri 24:

Assertive Introvert

Wed 22:

Area man

Tue 21:

Kubi Software

SQLite and Structorian

Back from the Bahamas

Wed 15:

Python Success Stories

Sun 12:

Pentagon, hexagon, heptagon, octagon, ...

Stages of Acceptance of Innovation

Fri 10:

Erroneously Empty Code Paths

Mon 6:

Python’s package metadata repository

Hyperspace Star Polytope Slicer

Sat 4:

Computer Lib/Dream Machines

Humphrey quote

I’ve been translated into French

Fri 3:

Ted Nelson and Xanadu

Thu 2:

Amazon: sell your past purchases

Wed 1:

Semantic Web: the new AI?