How did you get started in programming?
I don't really know. All I remember is that I have always wanted to be a programmer. From the first day I learned about computer programming, whenever it was, I wanted to be a programmer. I didn't really get stared until I met this person on IRC in around 1996, who knew everything about computers and programming and he helped me a bunch with getting started with Unix and C programming.
I've read that you initially wrote an IRC client as a first project. What language was that in?
That was the first kind-of-a-big-project, not really the very first. I had messed around with various languages and written tens of toy programs before. So at that time I was doing mIRC scripting, messing with Eggdrop bots and decided to create my own IRC client. I first tried to write it in C++ and MFC but it was beyond me at that age but Visual Basic was really straight forward and I wrote a fully working IRC client pretty quickly.
What methods did you use to teach yourself knowing very little about programming?
I'd program by reading tons of source code of other programs. At that time I didn't have Internet access, so I'd carry a pack of floppies around with me and fill them with source code of various programs whenever I had access to Internet somewhere, and then compile and study them at home.
What advice would you give to kids interested in programming now?
My advice is to start programming in a language with light syntax. Like I remember I couldn't really understand the C++ syntax, with all the template and class stuff but mIRC scripting and Visual Basic at the same time was really straight forward. It was also important that I saw the results quickly, so I'd recommend kids to use a language that can create GUI really easily, perhaps I'd even recommend using the same Visual Basic and just creating all kinds of toy programs, like animated games, twitter clients, network chat programs and similar small programs.
Like most hackers you use many different languages. I'm sure you try and use the best tool for the job to get work done (unless you are purposefully using the wrong tool to learn), but let's imagine that you had to pick one language to use for the rest of your life. What would that be?
It would be Haskell because you can't get more functional than that and I love functional programming, it makes the code so elegant and keeps your mind busy trying to come up with the most beautiful abstractions.
Over the last couple of years your blog has become pretty popular. The great content is significant in making that happen. How did you go about gaining readers, and do you think the programming subreddit and HN were significant in gaining popularity?
Yes, the great content is absolutely the key. If you write about something passionately and thoroughly people will notice your blog and start following. So I knew from the first day that social media was the way to gain popularity. I'd submit all my posts to reddit, and later when Hacker News was created, I'd submit them there too, and also ask my friends to Stumble my posts and I'd submit them to delicious, and tell everyone on IRC, and post my articles to Linux and related forums. But even with all this effort after the first year of blogging I only had 1000 RSS subscribers, it took another year to get to 7000 and then another year to 12000.
It was actually James's idea. He first created a working prototype in Haskell in January 2010, and then he showed it to me. At that time we both knew each other already and had talked about startups and ycombinator and I really enjoyed James's passion for functional programming. And then in March James offered to do a startup. I had actually wanted to do a startup since 2004 or 2005, when I remember telling my friends about Paul Graham and his startup essays but I hadn't met the right person. This was finally a great opportunity to do what I had dreamed about and so it all started. I am moving to Oakland to work together with James in a few weeks and after a few more weeks we'll have the official beta. We already have quite a powerful server for doing beta!
How are you liking start-up life?
It's not any different than the regular life so I love it.
No, I am not going. It takes place in October 16 and I'll be in Bay Area only in early November.
What is your favorite music to hack away to?
No music actually required.
What is your favorite fiction book?
I don't have a favorite fiction book. I have been focusing on reading academic and scientific books. From these books I'd recommend The New Turing Omnibus, which contains 66 awesome lightweight articles on various fundamental computer science topics.