An Interview with Ryan C. Gordon

Written by Michael Larabel in Linux Gaming on 13 June 2005 at 01:00 PM EDT. Page 1 of 2. Add A Comment.

Ryan C. Gordon, also known as Icculus, is the one responsible for creating native Linux and Macintosh ports for a number of different popular games on the market. Some of the games he has worked on have included the Unreal 200X series, Call of Duty, Medal of Honor, America's Army, Postal 1/2, Battlefield 1942, and Serious Sam. Ryan is also the system administrator for over 100 open source developers that work on a countless number of open source projects. Icculus also maintains icculus.org, which is the home to a number of open source projects, hosting of different news items, and a number of different homepages. Read on as we speak with this very intriguing Linux developer.

 

Phoronix: Icculus, are you able to tell us a bit about yourself (when you are not involved with one of your Linux projects) and how you got involved with computers?

I'm currently living in Raleigh, North Carolina, and work as a freelance developer; mostly I'm associated with Epic Games, but that's not really accurate. They're one of my favorite contracts, but what I do for a living is somewhat like mercenary prostitution...I spend a lot of energy trying to find games to bring to alternate platforms, like Linux and MacOS, and in my free time, I work on various open source projects, and other freebies like that...so I guess I'm a hooker with a heart of gold, sorta.

My childhood was totally uneventful, so I won't bore you with it.

Phoronix: Where did you receive your formal education for computers and how long have you been into Linux programming?

I never received a "formal" computer education. I took AP Computer Science in high school, but really, that's a joke. I was working on how to coerce my programs into sending IPX packets while everyone else was struggling with "Hello World" in Turbo Pascal, which was a "serious" language at the time, I guess, as far as public school believed.

I hear that after that, the school switched to C++, so just to be clear, public schools haven't really improved their curriculum, they've just kept searching for credibility at the expense of their students. Giving new programming students of any age a "respectable" language isn't so much throwing them in a lake to see if they'll swim as it is throwing them off a cliff to see if they'll fly. They should swallow their pride and give them Logo or something similar. If they think that's not cool enough, then they should remind them that this is possibly the last time that programming will be about creation, exploration and fun. Debugging yet-another-linked-list-implementation really stopped feeling l33t almost immediately, in my opinion.

Considering that even undergraduate Computer Science sucks pretty badly in most colleges, I'll tell you what I tell everyone: teach yourself. The internet has abundant quantities of information that is directly applicable, tools everywhere, entire books of theory and practical application, and examples of code from the best programmers on the planet...all for free. If you're in the right IRC channel, you might even talk directly to the best programmers on the planet. The only extra you get at school is an underpaid teacher that has to split his attention between three promising students who are probably better than the teacher, 12 average students, and five students that are drowning and haven't figured out that quitting right now is the best thing they could possibly do.

Also, if you don't have the discipline to teach yourself, you won't have the discipline to better yourself in this ongoing realm of knowledge, which means you'll forever be at best mediocre, and at worst, a liability. Might as well figure that out early by diving in on your own before plunking down the cash for tuition.

For what it's worth, I majored in English and Drama at a small, liberal arts college. They didn't even have a Computer Science major. I like theatrical lighting and literature and teaching, none of which I felt I could learn fully on my own.

Phoronix: Looking at your site (icculus.org) there are quite a few active projects listed there along with hosting of homepages and mail for different people. What inspired you to start all of these services?

On the other hand, I'm a god-awful control freak. We joke that icculus.org is "SourceForge with Soul", but really, we just hand pick the projects. I probably turn away 99% of the people that ask for project space. I'm running out of polite ways to say "you'll never succeed with that project" and "that project sounds totally lame." There are too many people that start building something interesting, and then get bored or overwhelmed or distracted and stop...then they've helped no one. I recognize that open source could theoretically just get a new maintainer, but in reality it doesn't work like that. SourceForge is largely a graveyard of abortions in this sense, and it's not SourceForge's fault, really. Well, not directly. I mean, don't get me wrong, I've got a hard drive full of "intellectual exercises" too, but having the fortitude to finish something, or at least get it to a semi-useful state before ditching it is something I look for, no, something I demand before I'll make the project part of icculus.org. I've gotten pretty good at sniffing these projects out now...the "me and my friends are totally going to make a game engine better than Doom 3, can you put this one header I wrote in CVS?" emails are a dead giveaway. Other projects sound better, but don't "fit well" with icculus.org...I don't have a solid metric for this, it's just impulse on my part.

Even still, our failure rate is probably close to 50%. I'd love to see where SourceForge lands on that scale if even an elitist prick like me can't weed out half the failures.

Related Articles