E-Scribe : a programmer’s blog

About Me

PBX I'm Paul Bissex. I build web applications using open source software, especially Django. Started my career doing graphic design for newspapers and magazines in the '90s. Then wrote tech commentary and reviews for Wired, Salon, Chicago Tribune, and others you never heard of. Then I built operations software at a photography school. Then I helped big media serve 40 million pages a day. Then I worked on a translation services API doing millions of dollars of business. Now I'm building the core platform of a global startup accelerator. Feel free to email me.

Book

I co-wrote "Python Web Development with Django". It was the first book to cover the long-awaited Django 1.0. Published by Addison-Wesley and still in print!

Colophon

Built using Django, served with gunicorn and nginx. The database is SQLite. Hosted on a FreeBSD VPS at Johncompanies.com. Comment-spam protection by Akismet.

Elsewhere

Pile o'Tags

Stuff I Use

bitbucket, Django, Emacs, FreeBSD, Git, jQuery, LaunchBar, Markdown, Mercurial, OS X, Python, Review Board, S3, SQLite, Sublime Text, Ubuntu Linux

Spam Report

At least 236528 pieces of comment spam killed since 2008, mostly via Akismet.

Racebike building and software engineering

I just came across this list in an old "should blog about this someday" file. It's from a 1983 interview of legendary racing motorcycle tuner Rob Muzzy, speaking to legendary motorcycle journalist Kevin Cameron. It's about how to be smart about going fast.

I don't do a lot of work that's extremely performance-critical, but most of what Muzzy says rings true for me when applied to software systems. The engineering mindset looks remarkably similar across disciplines.

Maybe if I wrote a paragraph attached to each bullet point, explaining everything, making the parallels painfully explicit, this could turn into a boring magazine article (or at least get on the front page of Reddit). I'll spare you -- the unadorned list really speaks for itself.

Rob Muzzy's Ten Commandments of Racebike Building

  1. Analyze the work to be done -- reliability first, performance second.
  2. Work on jobs that pay off quickly. Don't pin down talented people on low-yield projects.
  3. Keep away from the dyno and the flowbench unless you know what you want and why you need it.
  4. Run combinations that work together. An engine is a system, not a parts list.
  5. In a system of parts that must work together, choose the cheap parts to complement the expensive ones.
  6. If there are two good ways to do a job, one simple, the other complicated, use the simple way.
  7. Use everything you know in your work, even if it seems irrelevant.
  8. Do everything you can in your own shop.
  9. Have enough of the things you know you'll need.
  10. Big numbers on the dyno are no substitute for races won.

Thursday, March 6th, 2008
+ +
2 comments

Comment from stephan , later that day

Interesting to think about how these ten commandments apply to software engineering. My favorite is #6, which I should keep in mind more often ;-) There's nothing worse than wasting even a few hours if you were able to do it in minutes! How do you think #7 applies?

Comment from Paul , later that day

I fiind #7 one of the harder ones to parse; it reads almost as a paradox. I take it as a maxim on quality: Resist the urge to threat things as throwaways. But I might be stretching it there...

Comments are closed for this post. But I welcome questions/comments via email or Twitter.