Poetry Madness

Special Offers see all

Enter to WIN a $100 Credit

Subscribe to PowellsBooks.news
for a chance to win.
Privacy Policy

Visit our stores

Tech Q&A

Mark Jason Dominus

Describe your latest project.
I'm writing a book about code review and refactoring in Perl. In each chapter, I'll take one real program or module, written by someone else, and go over it carefully, making gradual changes, and explaining why I'm making each one. The end result in each chapter is a program that does the same things, perhaps a little faster, with fewer bugs, and code that's easier to understand and maintain, but is 30% smaller.

I'm also finishing up "linogram," which is a program for making line drawings and diagrams. You give the program a rather vague description of what boxes are connected to what, and it figures out where everything goes and draws it for you. Unlike a WYSIWIG drawing program, if you later decide that all the 3x5 rectangles should be 2x2 triangles instead, you can make one simple change to the input specification, and the program will recalculate and redraw everything instantly.

  1. Higher-Order Perl
    $88.74 New Trade Paper add to wishlist

    Higher-Order Perl

    Mark Jason Dominus

What inspires you to sit down and write?
I have very little short-term memory, and I know I'll forget almost anything I don't write down. So whenever I'm thinking about something, I want to write down the parts I've figured out so that I won't forget them, and I want to write down the questions I have about the parts I haven't figure out, so that I won't forget them. I spend a lot of time talking to myself, explaining things aloud. Eventually I think I have the explanation just right, and then I want to write it down.

Chess or video games?
I suppose it must be videogames, because I was pretty well inoculated against chess in high school. I spent a lot of time hanging around in the Manhattan chess club, and I got to meet a number of people who slept there, because they had nowhere else to go, because they had no money to pay rent, because all they could do was play chess. Also, the chess club is a bad place to get dates.

I like video games that involve killing monsters. A few years ago I hacked DOOM so that the monsters would explode when you shot them. Often this resulted in a very satisfying chain reaction of exploding monsters.

What's your favorite blog right now?
My own, but it's a lot of other people's too. My next favorite is Maciej Ceglowski's. Maciej is thoughtful and observant and always thinks of things to say that I wouldn't have. His writing style is sometimes grumpy, but he never turns his sharp tongue against anyone who doesn't deserve it. My favorite essay of his is probably the one about bilingual ballots.

What was your best subject in high school? Your worst?
My best subject was mathematics, because I got to sit in on math classes at Columbia University for two years. I still have the notes I took in my analysis class. But my worst subject was mathematics, because I got to sit through tenth-grade geometry and trigonometry and I didn't like that. My trig teacher said that just because I was taking differential at Columbia didn't mean that I knew everything about trig, and that one day I would be glad I had sat through it. He was wrong.

Describe your favorite childhood teacher and how that teacher influenced you.
My analysis professor was responsible for my not becoming a mathematician. When I was in college, I went back to visit him, and I asked him what he was working on. He started explaining it. Forty-five minutes later, I asked him how on earth he was able to think about that sort of thing. He said that it was very difficult! I decided that I didn't want to have to think so hard all the time, so I didn't become a mathematician. I think it's fortunate, because I think I'm much better as a writer of books about computer programming than I would have been as a mathematician.

Describe the best museum of science and/or industry you've ever visited and what made it great.
When I was eight my father took me to Chicago to visit the Museum of Science and Industry there. It was the best because I was there alone with my dad.

The National Science Museum in Taichung is awesome, too. After I went there in 1991 I waited thirteen years to be able to go back. It's great because everything in it is so Chinese. For example, there's a room with exhibits about different parts of the human body. Each exhibit is accompanied by a little figure of a person with the relevant part highlighted in red. In one of the exhibits the little figure has a red yin-yang symbol. That's the exhibit that's about your yin-yang. You wouldn't see that in a science museum in the U.S.

My favorite exhibit in the London Science Museum is the one with the forty different designs for steamboat paddlewheels. When you push the button, you can see them all going around.

Technical Books Subject Newsletter

Get Technical Book news, bestseller lists, special Powell's offers, and more in your inbox.
Your Email
Powells.com is proud to be the official bookseller of the Electronic Privacy and Information Center. Read about our privacy policy here.
  • back to top


Powell's City of Books is an independent bookstore in Portland, Oregon, that fills a whole city block with more than a million new, used, and out of print books. Shop those shelves — plus literally millions more books, DVDs, and gifts — here at Powells.com.