Several people have asked me to interview Zef Hemel, Founder of YaBB, which he developed in 2000 in collaboration with Jeff Lewis and Corey Chapman. Matt Mecham was also a member of the YaBB development team for a time, until he decided to concentrate on getting Ikonboard ready for primetime.
Those were the good old days!
Anyhow, I tracked down Zef at the Forum Insider and he was kind enough to take time out of his busy schedule to catch us up on what's been going on in his life and give us a bit a glimpse into the man behind the legend. Zef has a very cool Website which you should check out for background information or just for browsing.
Can you give us a brief bio? Who is Zef Hemel?
I'm 21 years old (I'll turn 22 on the 22nd of June). I was born in Groningen, a city well-known (at least in the Netherlands) for its university in the north of The Netherlands. I still live, work and study there. Friends? Got them. Family? Got a couple of those too.
What is your educational background?
I just got my bachelor degree in computer science from the University of Groningen this Monday (at the time of this writing). I'm also already a year into my master programme, however I might never finish it here, because I applied for a place in the Networks and Distributed Systems master at Trinity College in Dublin, Ireland.
What do you consider as your accomplishments up to this point?
When I was 16/17 I developed YaBB, which was one of the first free bulletin boards back then, I think it was the first open source bulletin board written in Perl (which was still the dominant web-development language then). I left the project after little over a year later, but the project still runs. Even better, they ported it to PHP (YaBB SE) which eventually resulted in SMF. There maybe no code of me left in that, but still it's kind of cool. Although the initial YaBB code may not have been great, it worked and it helped a lot of people build their online communities, which is kind of nice. So I'm proud of that.
Currently I don't do any software project really, I study and write stuff for my blog. I started bloggin two years ago and built a little audience over time. Knowing that there are people from Microsoft, IBM and many universities reading your stuff is kind of cool.
Any failures you want to tell us about?
What are your favorite books? Movies? Music? Games? Food?s Beverages?
I haven't been reading many novels lately. A while ago I thought I should actually go and read the Lord of the Rings. I started by reading the Hobbit and actually finished reading that. But then didn't feel like working my way through the thousand-who-knows-how-many pages of LOTR. It just doesn't appeal to me. Elfs, wizzards, I'm just not a sci-fi kind of person I guess. I haven't been reading much computer science-related books either, just some stuff for the research internship I'm doing. Oh, one book that I read a while ago is entitled "Eats, shoots and leaves" by Lynne Truss. It's a book about punctuation, believe it or not, it's really really funny.
I think my favourite movie right now is As Good As It Gets. As for music: Muse, Cosmos, Jamiroqai, Diana Krall, Hooverphonic, Shakira (her older Spanish stuff). My favourite food is Chinese food. And favourite beverages are cola and beer (not necessarily simultaneously).
What do you do for fun and relaxation?
I like to watch movies and TV series. I "obtain" episodes of US TV series that they don't broadcast here (or only broadcast old seasons) from the internet often. My favourite TV series right now are The Daily Show with Jon Stuart, The West Wing and Gilmore Girls. Further I go the gym, hang out with friends, and I play the (classical) guitar once in a while (not so much lately).
What would you want to do for a living if you weren't a software developer?
Well, I'm not really a software developer. I haven't done any long-term serious software developing for about a year and a half. But if I would do nothing software-development related, I might be studying English or maybe psychology or something. But it's kind of hard to imagine. But it would be something totally unrelated.
OK, so you're not a software developer or programmer. What would you call yourself then - what profession will you be in after your studies are complete?
I could do a lot of things. I could become a software developer if I wanted, but I don't. I don't know what I'm going to do. Maybe I'll do research or teach, or become a software architect or (project) manager of some kind. We'll see.
What kind of projects are you working on now?
Well, the problem is my programming burn-out which took away all the fun in programming. So I have big problems to have fun doing actual implementation work. Earlier, when I did a lot of programming I never had any good ideas, now that I don't like to do programming the number of ideas I have have grown enormously. It seems that the will to do programming is inversely proportional to number of ideas for projects one gets.
But there are some projects that I'm working on, their main problem is lack of implementation. The most recent one is Zoo, a dynamic language that should run on the .NET framework (http://www.zefhemel.com/archives/2005/05/01/zoo-a-still-imaginary-net-scripting-language). Another idea is Adia, a python web framework that should solve a lot of the repetitive programming that you have to do while writing web applications (http://www.zefhemel.com/archives/2005/01/04/adia-doing-more-with-much-less), another one is Enversion, a system that should allow everyone with a host that supports PHP to run a version control system. Version control is something really useful, but many don't use it because they don't have a dedicated server at their disposal, Enversion should solve that problem.
Describe your typical workday schedule.
Well I'm a university student, currently doing a research internship. I arrive at university around 9 am. Then I go check my e-mail, blogs I read and forums. After that I start drawing diagrams or writing stuff, depending on what my assignment is at that time. At noon I have lunch, take a walk and do some more drawing, thinking and writing in the afternoon. On some days I have a talk with my supervisor (a Ph.D. student) and we do some brainstorming, drawing of diagrams together and talk about the internship progress. Then at 5 pm I go home. I also am a teaching-assistant on a software engineering project course, where I support a group of students. Throughout the day I talk to some of these people, giving them moral support etc.
Tell us about your "programming burn-out".
I started programming when I was 9. My dad (who is a university teacher teaching programming to University students) taught me pascal. Since then I programmed in many languages. I spent the last years developing web applications, mostly forum software. About a year and a half ago I noticed that it was getting a drag. I was working on my third bulletin board system by then (written in Java) and there was no challenge left whatsoever, it was just writing code on and on and on. It was all the same, all repetative work. All very simple, but just a lot of work. Boring work (in my opinion).
Then I asked myself, do I want to keep doing this? No, I didn't. By then I had been programming for about 11 years or so and I got the idea that had seen it all. Of course that's not true, but I was done with it.
Programming on itself still interests me a lot, I love trying out the new programming langauges to see what its advantages and disadvantages are, I also love explaining programming stuff to people who are just getting started. I just don't want to do it myself anymore. I'd love to own a couple of coding monkeys though, so they can program the stuff that I want to make.
What advice can you give people just getting into programming?
Choose a language/platform which allows you to do something that you want to do. If somebody suggests you to learn Java, even though you want to write web applications that can run on your webhost, just go learn PHP or something; see what makes sense in your case. I think it's important to see quick results when you start. If you first have to write dozens of lines of code to write a simple application you're likely to give up early. That's what so nice about PHP, it's so easy to start and you see results quickly.
If you were going to create a new forum software product which programming language would you use and what would your design goals be?
If I could choose any language and framework I would go for Ruby with the Rails framework. Ruby on Rails is a framework that allows you to do common things (like adding a user, modify a user, remove a user) really quickly, so that you can focus on features rather than creating confirmation screens that are just a lot of work.
I've written three bulletin board systems (one in Perl, one in PHP and one in Java) so I've implemented the common features a lot of times. A couple of things that I would find interesting to investigate are:
- Extensibility, a plug-in system. Allow people to set up plug-in server from which users can download new plug-ins and have them install automatically. Of course there are some security challenges here, but what's life without challenges? I once wrote a simple system like this, but it worked by just modifying the software's source code which is not very secure.
- Getting rid of the BB code that has been the dominant way mark-up posts on forums (for example [ b]bla bla[ /b]). This was obviously made up by someone ages ago that felt that hacking a simple parser was a better idea than convenience in typing for the end-user. Use wiki-like code instead, or once every browser supports a proper WYSIWYG editor, use that.
If you were going to start a new forum community using existing software (which you didn't write yourself) which product would you choose, and why?
Invision Power Board. Another option would probably be vBulletin, but I haven't followed that one for a while now. I know IPB a little (as a user, not as an admin), I know Matt Mecham, who wrote it. It has a good feature set (and the upcoming AJAX enabled features that are coming are just plain cool). Seems to be the best option right now.
What changes do you expect in forum software development?
I expect them to start embracing AJAX, it offers so much opportunities that many people have idea of right now. Look at Gmail, who would have thought that something like that was possible in a web browser? Now translate ideas like that to bulletin boards, there are so many opportunities there.
What is your opinion on the open source vs proprietary software debate in general? What about forum software specifically?
Do you have a couple hours, then I'll tell you all about it The reader's digest version: I'd like to distinguish three kinds of software here: free (as in freedom) software, open source software and proprietary software. I'm not a big fan of free software (the ideology). I do like open source a lot. Sometimes you just want to write software for the sake of writing it and to share it with others. Open source is great for that. What would have happened if YaBB was proprietary? I might have made a little money, but it wouldn't have been nearly as much fun as it has been now. It's so great that people can just download your source code and start playing with; with open source software they're allowed, even encouraged to do so. So in some cases open source is just a good option. It can be a profitable option for companies as well sometimes.
On the other hand I can imagine very well that you don't open source your product. You gotta eat don't you? And the best way to earn money in the software industry is still writing software and selling it. There's nothing wrong with that in my opinion.
For forum software the same things hold, the difference is that people are spoiled. Dozens of free pieces of forum software are available today. Some take a turn and choose the commercial path in a later stage. People don't like that, because they now have to pay for something that they got for free before. I say: tough luck. People gotta eat. If you don't like it, go use some other free forum system. When IPB became a paid product lots of people started whining about how evil IPS was and all that. I understand their frustration, but once again: its IPS' software, they can choose what to do with it. If you want work on software full-time you have to make money off of it and once again: asking money for it still is the most succesful way to do that.
How do you see the internet in general changing over the next 5 to 10 years? What about online communities in particular?
I'm looking forward to the moment where an internet connection becomes a commodity. You should just have one everywhere. You should be able to open your laptop and have a wifi connection instantly. In some areas this is already the case due to badly secured wifi networks. Further I expect to more and more applications to move to the webbrowser, Google has shown that it is possible to develop rich web applications in the browser (with AJAX) and I think a lot of companies will start to take more advantage of that and with an internet connection available everywhere that'll work just fine.
Related to online communities: I don't know. I haven't seen any major shifts in the past couple of years so it's kind of hard to predict radical changes in the next years. I'm sure they'll take place, but in what direction? I don't know. Maybe a voice or video chatbox, you visit some website and you'll just hear the people talking instead of reading what they say? I'm just guessing.
Which online communities do you enjoy as a member?
A couple of study mates have a forum that I frequent, so do the students of the Math, Physics and CS department, beside those it's the forum insider, sometimes the invision power board forums and Gathering of Tweakers, which is a huge Dutch community of computer enthusiasts.
Can you tell us more about your blog? How do you feel about blogging in general? What were your expectations when you started it? Did you have any idea it would become so popular? Why do you think it did? How many people read it? Is it something you enjoy doing?
I started my blog over two years ago. Often I found interesting articles on the internet and wanted to point people to those and archive them, so that I could easily retrieve them myself. First I posted such links on forums, but I figured a blog would be a better solution. When I started I only had a couple readers, I was lucky to be a little more well-known (because of YaBB) than many people who start blogging, so I had a small audience in the beginning.
At the start I did what most webloggers do: link to articles or other weblogs posts. At one point I decided to stop doing that and produce some content of my own. A while later I was Scobleized, which means that Robert Scoble, a very famous Microsoft blogger linked to me. This was really cool, I even had people from Microsoft's HRM department responding to my post about why Microsoft can't hire great programmers.
My blog is not extremely popular though, I estimate to have about 180-200 subscribers to my RSS feeds and a bunch of people who just visit my website once in a while. I'm really happy with that amount though, I hadn't expected to have so many people read it.
The trouble with blogging is that it requires stamina. Most people start a blog, post a couple of times and then forget about it and leave it bleed to death. If you want to create an interesting blog you have to update it regularly. This is not easy, and I don't think everybody can do it. Blogging is really good for your writing though. Writing is an important skill and doing it often is the best way to learn it. Also, blogs can be a good way to do PR. If you apply for a job somewhere and they see you have a blog, they can see what your interests are and if you got something useful to say. There are many people who got hired because of their blogs.
Personally I enjoy bloggin a lot, but I must admit that knowing many people are reading it makes it a lot more fun.
Will blogging become more popular or will it fade away?
It will become more popular. The cool thing about blogging is that anybody can do it. You don't need a lot of money, you can set up a blog for free. All you need is ideas and time. Because on the internet is equal, your blog can get really famous if you just say interesting things. It doesn't matter if you got a Ph.D., are a CEO of a huge company or just a high-school student: if you got something interesting to say people will notice.
What do you know now that you wish you'd known 10 years ago?
That bioresonance could solve my allergies. Since my birth I have been allergic to dairy products, eggs and peanuts. This remained to be the case until I was 18, then we found this alternative way to cure it.
Tell us something about yourself that we don't already know.
My shoe size is 43 (I think that's 9 in the US system) and I'm about 1.86m tall.
What does the future hold for Zef Hemel?
I've applied to Trinity College in Dublin (Ireland) to do a one-year master programme there. I'm waiting to hear if I was accepted, if so I'll be livin in Dublin for a year. After that we'll see.