Two Steps Forward

My blog on software development, the universe, and everything.

An Interview with Olaf, Part I

Narsa introduces the subject:

Man, myth, creator of website of legend. Olaf Alders.

Olaf was and is developer #1 on, Senior Software Developer at MaxMind, someone I’ve enjoyed working with, and someone about whom I want to learn more.

Personally, I find MetaCPAN one of the highest utility sites I interact with. As a part-time-plus Perl-programmer at my day job, I find the site to be incredibly useful. Moreover it’s a pleasure to use. I’d like to see more software like MetaCPAN. Hence the interview with Olaf!

For the uninitiated, here’s an excerpt from Wikipedia about the CPAN:

The Comprehensive Perl Archive Network (CPAN) is a repository of over 250,000 software modules and accompanying documentation for 39,000 distributions, written in the Perl programming language by over 12,000 contributors. … Most software on CPAN is free and open source software. … CPAN was conceived in 1993 and has been active online since October 1995.

So, CPAN is a giant warehouse or library full of mostly free, open-source Perl code, ripe for use. MetaCPAN is a search engine for the CPAN and a tool that helps to navigate the sea of packages and to drill down to details about an individual module as well.

Without further ado, let’s dive in. Olaf, what can you tell me about your introduction to programming? Let’s take the scenic route to how you became a founder of MetaCPAN, and your views on software development up to today.

Some initial questions… how did you get started writing code? What languages did you use? What was your path to Perl? And once we get there, how did you find CPAN? What effect did it have on your programming?

And Olaf responds:

I got started programming in High School. We had a computer lab with networked Commodore 64s. There were two rows of tables with a shared hard drive at the end of each row. We also brought in our own floppy disks to keep our work. Our teachers would make us buy a one-sided disk and they would punch the other side so that we could flip them over to double the storage. We learned Waterloo BASIC. I took a typing class in order to make my programming easier. It was a decent way to meet girls too.

At $work I write a lot of Perl and some Go. I’ve got a mix of that in my personal projects as well. I find I’ve been writing a lot of Bash scripts in order to customize my various work environments. Right now I’m reading up on Rust and hoping to mess around with that in some future projects. I’ve dabbled in Python, Java, PHP, JavaScript, ColdFusion and even ASP.

When I got started at University, I was in the Science stream and I took a course in Fortran 77. I hated it so much that I gave up on computers. After my first year I took 3 years off. When I re-enrolled, I went into the Humanities to learn Greek and Latin, which was a much better fit for me. I didn’t own a computer. I was writing my papers by hand. I studied abroad for my second year, in Freiburg, Germany. I had heard about email, so I got an account at the computer lab which the University had. I learned how to use Pine for email and talk for chatting. By the time I got back I didn’t hate computers so much. I had a friend in my Greek class who was building computers for a living. He sold me a machine to run Windows NT on and I slowly got back into things.

By the time I got to grad school I found an old book from the Classics Club that went back to the 1940s. I decided to digitize the book, so I had to learn how to write HTML. There was a guy on campus in the Comp Sci department who was building a server in an old fridge. He would host classes on how to build web sites, so I hung out there. Eventually I wanted to see who was visiting the web pages that I was building, so I learned how to write a CGI script in Perl. I wrote it in Perl because I was told to. That was my start with the language.

Once I got really interested in writing code, I would work for hours at a time. I would be up late at night (badly) re-inventing wheels. When I found CPAN, it was a revelation for me and it freed me up to do more advanced things, since I could just borrow someone else’s code for the basic stuff. I still re-invented some wheels, because I didn’t always know where to look for code that I needed, but it gave me a really big head start in getting my own projects done.

Wrap up of Part I

This was a lot of fun. To preserve and prolong interest in this interview series, we’re gonna keep it short and pick up again real soon!

We must, after all, learn more about this fridge server.