### A Programmer's Apology

It is a melancholy experience for a professional mathematician to find himself writing about mathematics. The function of a mathematician is to do something, to prove new theorems, to add to mathematics, and not to talk about what he or other mathematicians have done.

-G.H. HardyA Mathematician's Apology[pdf] [Wikipedia]

Hardy uses
"apology" *
*to mean a formal defense in which he justifies and explains his
life's work. In doing so he acknowledges that mathematics is a young
man's game and his powers are waning. As I approach forty, I have
been reflecting on my own life.

I embraced becoming an old codger by publicly reminiscing about
the adventures of my youth, presenting a
Story
Hour at Google this week. I began programming thirty years ago.
For over twenty years I've programmed user interfaces for doing math. This blog will detail the evolution of the systems I have built and use them as a framework to discuss design
and usability in order to answer the perennial question: *"Why does software suck?"*

*A Programmer's Apology* will be an apology in Hardy's sense
of the word. It is also an apology in the usual sense: a mea culpa to
users of my software spanning twenty years for all the errors and
shortcomings. I am still working on it.

As well as a retrospective analysis of
the user interface and engineering tradeoffs, *A Programmer's
Apology* will also blog development of the next release of
Graphing Calculator.
Fortunately, programming is not as intellectually demanding as
mathematics, so I can continue to be productive well into my dotage.

Welcome to my world.

## Comments

Welcome to the blogiverse. I look forward to hearing your stories, insights, and thoughts on the industry.

Posted by: radar pangaean | August 5, 2006 03:58 PM

Blog-on. I hope you have much more ability to follow through than I. My blog has become intermittent photoblogging.

Posted by: warren magnus | August 8, 2006 05:00 PM

congratulations on your codgerdom!

Posted by: erin | August 17, 2006 02:46 PM