You have to start with something and I learned that the art of staring, almost anything in life, is by just, well, starting! So this first post will never be perfect and I could ponder what I should write, but I could also use a shortcut, which works also in almost all situations when you have to start: take what ever you see and associate.
Building a blog from scratch, this of course reminds me of the first time when I learned programming. Oficially this was in high school in Germany, where we were supposed to learn Modular-2, but I must admit I never understood it at that time. I always had the feeling that I'm missing some information to really understand what this is all about.
A couple of years later I was on a stundent exchange in the US and thats where it hit me. The school counselor was very kind and put me in all kinds of courses from freshmen to senior courses so I could explore the full spectrum of knowledge they had to offer. Among wich was a calculus course, a college perparation course, that was a bit hard to follow since the mathematical notation on paper was very different to what I was used to in Germany. But their materials really did the trick for me.
I got a TI-81 programmable calculator I could take home for homework and to my luck the other German exchange student challenged me to a series of games: Who is the first to draw a house using the graphing function of the caluclator? Who is the first to draw a christmas tree? Who is the first to draw ... well I don't really remember all the challenges any more but I remember very vivdly what happend within me.
I was completely sucked into the challenges. It was the most exiting game I ever played and I just wanted to play more. I wanted to beat my friend, I wanted to solve the puzzle, and I wanted even more of it. I created my own challenges and spend all night writing code on my TI-81. While my friend stopped playing with me, I created even better challenges. The biggest challenge I came up with was to create a dancing cigarette that once stopped dancing had smoke come from its lit end and display the message Pubacha break! (yeah I was young and stupid :P). I made it! It was great, my firends loved it, or maybe they thought I was weird. It did not matter! I fealt like I was the best in the world.
The challenge was not easy and still gets me exited thinking about it. The biggest difficulty next to finding the right drawing commands was overcoming the limits of the TI-81. First of all the TI-81 only had a limited set of commands that you could use to create graphs and logic (
go to everywhere X-]) and second the number of variables was limited to roughly the alphabet in small and capital letter. Third the number of commands you could store was limited to something around 1000 commands. Horrible you might think? No! I felt the exact opposite, this was an even better challenge. I loved it.
In retrospect I realize that these limitations captured the essence of how games work. Take a normal task like: walking from A to B. To make a game of it you restrict your options of how to walk: on one leg; on one leg and one hand; one kid must hold your feet in the air while you walk on your hands; ... There you go, you got a game.
Games take mundane tasks and add a set of rules that make these tasks just so hard that you can solve them. This trains you skills and gives you joy. I had to write code using calculator buttons, I had to to draw pictures using lines and sinus functions, I constantly had to fight the limited memory and go to logic of the TI-81. Up to this day I still did not play any game that has been more fun than this one and I still play this game today. When I create open source software this is what it means for me.
The last challenge that I stared that year was to create an infite calendar. That is a calendar that calculates the correct dates repecting the leap years every 4 years and the missing leap year every 100 years but not every 400 years. Unfortunately I never finished the challenge since I was running out of memory (I even had to delete my dancing cigarette :'() and out of time, since my year as a guest student in the US was almost over.
It took me a couple more years after I returned home before I actually started programming in university. But I kept my TI-81 (oh oh this is a confession, I was supposed to return it) and along with all the great memories my passion for programming. I still feel, there are no other words, in love when I think of that calculator and even tough it broke after a few years I have kept it in a drawer of my desk and in a special place in my heart.