Online math with some personal history...

I want to tell about Daisy, who is a social studies teacher in the Dominican Republic, and Amanda, who is my sister. Daisy had never touched a computer until the fall of 2003 when she enrolled in my Informática para maestros class in Cabrera, the town where I worked as a Peace Corps volunteer. She fell in love with computers, became crazy about computers, but didn't have any real possibilities for owning a computer. Like most Dominican teachers, she didn't make a lot of money. So when Amanda came to visit me in the spring of 2004, I told her to bring a computer for Daisy. It was an old computer with a 133 mhz processor and 32 megabytes of memory which was just adequate for installing Windows 98 in Spanish and not of enough monetary value to worry about it getting fried by the haywire Dominican electrical system. It was perfect.

What wasn't perfect was that Daisy had no money for software, and neither did I. So here was this sweet little computer with an operating system and nothing else. Fortunately, I had been in that situation before, back when commercial software barely existed and everyone wrote their own code. I remembered how when I was a school kid my father programmed our TRS-80 (with 16 K of memory!) to give multiplication tests to my sister and me. He had written the program in BASIC and it would tell him afterwards how many problems we had gotten right or wrong. So I thought: no software, no problem, I'll just write whatever Daisy needs. It so happened that Daisy had a son, Tato, in the fourth grade. He was learning his multiplication tables. So I went to work to make Daisy's computer give Tato a little math quiz.

I wrote the quiz as a web page so that it could run in any free browser. After I made the multiplication quiz, it was pretty obvious to see that the computer could manufacture addition, subtraction and division questions just as easily. Thus, the arithmetic quiz was born, in Spanish, on a 133 mhz processor in the Dominican Republic. For the record, Tato hated it. He was pretty excited when we told him there was something for him to do on the computer, and extremely annoyed when he found out it had to do with math. He threw a temper tantrum. He kicked and screamed and said we had better install Mortal Kombat very soon or he was going to destroy the computer. It was not an auspicious beginning.

Because Tato refused to use it and I didn't want to see my code go to waste, I installed the arithmetic quiz on every single computer at the school where I worked. I realized that I could do even better than that. Since it was a web page after all, it was no problem to make it accessible to any school in the world. When you write good code, you want people to use it.

Back in the United States the next summer, working on a math testing program was not my highest priority at all. I was desperate to find a job. I didn't have much money and I was planning to pay for a masters degree in Spanish out of my savings. I hunted and hunted for any kind of short term computer work. If I had found anything, I would have put all my energy into someone else's software all summer. But no one would hire me, and I started to think more and more about electronic math testing and how simple and convenient it would be to record grades in a database instead of simply showing them on the screen. Although I never admitted it to the artistic and outdoorsy girlfriends of my youth, I enjoy writing code very much. Designing software well is a great puzzle: you have to figure out how to do things so everything works cleanly and efficiently and fast. It's one of the things which I'm best at.

The math testing website turned out to be quite a success. During the school year I discovered that people were using it in growing numbers. I kept making improvements during the winter because I knew once I finished graduate school I would really have to get a job that paid something so that I could eat. This was no joke. Probably none of the teachers who visited my site imagined that it was written single-handedly by a guy who could not afford to buy fruit at the grocery store because it just cost too much. The sad part of this story is that I like fruit a lot. Every time I went by the oranges and grapes I would put some in my cart, but then right before checking out I would do the math in my head and realize I couldn't afford them, and I'd have to go put them back on the shelf.