I started with computers pretty late, around 1997, at the age of 15. I was totally ignorant about them before back in the day. I had a pretty good typewriter with which I did all my homeworks and I was satisfied with it. On the other hand many of my classmates had a computer, but they mainly used theirs for gaming. Yeah, gaming… I thought “why on earth should I pay several thousands of Marks [the old currency in Germany] just to waste time and… play?!”. I thought, if I ever get a computer, I want to do something creative with it…
In the two upper years in grammar school I chosed Information Science as optional course. I was somehow interested in the topic, because the media more and more grabbed up the whole computer/internet topic and I just thought “a little knowledge in this area surely doesn’t hurt”. I knew that it would be quite useless to attend this course without having a computer at home, a place where I could actually try out what I’ve learned. So, shortly after I expressed my interest in attending this course, my father and I bought my first PC: a Pentium MMX with 200MHz, 32MB RAM, a Matrox Mystique 4MB graphics card, a 15 inch monitor and a 4GB hard disk. And it was expensive, I can’t remember the exact price, but damn, it was a lot of money.
The following years had their ups and downs. I learned a lot by playing around with the operating system (don’t tell me how often I had to re-install Windows 95/98 because I messed with the config and registry) and I took my first steps into the programming world: Turbo Pascal! This was the language they taught us in the information science course and it immediately became clear who was really interested in this course and who not: Those who just attended to browse the internet for free received bad grades and mostly couldn’t follow. But there were also a few people (amongst them my pal Stefan and I) who stepped into the topic and hacked like mad. He was into game programming (vga, 4bit color DOS games, anyone?) and I was, umm, more this kind of early application developer. As much as I appreciated his work, I was just too uncreative to do game development. Anyways, these times were fun, because we exchanged our knowledge and tried to outperform each other by using and implementing stuff the teacher hadn’t even told us.
In my last year in grammar school we switched away from Pascal to Prolog – and I hated it right from the start. My main appeal to do programmaing at all was to see something appear on the screen, see that some nice algorithm worked, but not to hack definitions into a command prompt and wait for the overly astonishing result “x is a cat” to return. I was probably too much of a greenhorn at that time, because from today’s perspective this language and the concepts sound pretty nice. Anyways, disappointed by Prolog I started MFC programming with C++ in Visual Studio 6 in my spare time (don’t ask me where I got this, you know, there have been these sources, …). One of my first projects has been a Paint application which even made it to a “PC Games” CD (yes, obviously even I played sometimes on computers…). These CDs contained (amongst demos from new and upcoming games) also a section where users could send in their small, self-developed programs. Usually some of them were nice (some even let you “wao”), but most of them just sucked. They were simple, dead boring text adventures mostly written in BASIC. So, I was quite impressed that my little program deserved real honor, they teasered it as “pretty solid paint application”, and not just as “another nice text adventure”. I was so proud!
Anyways, the rest is history. After school I decided to study information sciences, discovered the internet, learnt even more about computers, operating systems and programming languages, and started gaining my first working experiences. I mainly started with working because I wanted to learn more than my study could provide me. Programming is crafting, and you will never get all the tricks in university. A real hacker from which you can learn stuff is absolutely invaluable! So I was looking for some kind of mentor, a “grand master” which could tell me the missing bits, with whom I could hook up and gather indefinite knowledge.
I sadly never found such a person, wherever I worked. Either people asked me how to do things or I had to tell them how to do stuff. At most I had colleagues, “senior developers”, which knew what they did, but were not too fond to let me participate on their knowledge. Though, none of them was what I would call a “Zen Master of Programming”.
I have to say that I still feel bad – even today – that I never had such a person. My time is limited nowadays, by my daily job and my family, and I have neither the opportunity to study again nor am able to revive my hack sessions which sometimes kept me awake all night in the early days of my bachelor study. The work I do on free software projects like monotone or my own project guitone is therefor limited as well, and the distance between the other developers (from which a few of them certainly have “Zen Master” status) doesn’t make it easy to create a real relationship which I’d like to have. In an ideal world, I could just hook up with them, sit with them in front of a computer, staring at code and hack like mad!
In an ideal world…
In an ideal world …
… I would sit on the balcony of a small house somewhere in south europe all day, breathing clear and warm air. Food is for free, the house already paid and a 120cm dish on the roof provides a nice 25 MBit uplink (that’s not so much for mail and other disturbing stuff, but for webradio and the nightly emerge –sync). And then code the hell off …
Did I mention that there would be a beach?
Well spoken, I know what I want will never come true, its an utopia. But still, it feels great to dream about it…
Never give up, never surrender 😉