(Like this article? Read more Wednesday Wisdom!)
The first time I saw a computer I had a religious experience. It was 1981, I was fifteen, it was in secondary school. Playing with computers and learning everything I could learn about these wonderful machines occupied most of my life from then on. I consider myself very fortunate to have been able to turn that passion into my profession. However I think it is important not to lose touch with the side of me that plays with computers for fun. I have been trying to write an article about that, but for one reason or another I just cannot get the sentences flowing on this topic. So instead, this week just a few bullet points with my thoughts on not forgetting to have fun with computers.
Toying with computers was my hobby long before it was my profession.
As a hobbyist, there was no real other goal than to have fun.
I would look into whatever had my fancy, whether it was useful, practical, unique, innovative, or not. To use a well-worn trope: The journey was the reward.
This differs considerably from my job, where I basically do whatever people pay me to do, whether it is fun or not.
The less fun it is, the more people need to pay me to do it.
I often joke about this by saying that work sucks, and that’s why they call my salary “compensation”. You may have read this before.
Also in my work I am paid to reach certain goals. This conflicts with my 80% nature; I typically lose interest the moment the problem is 80% solved, because by then all the interesting and challenging bits have been done and the rest is “just work”.
My continuing need for a paycheck makes me finish things.
Consequently, my work is very far removed from my hobby, even though I use a lot of the same tools and sometimes do the same sort of things.
That could lead to a situation where I really only use computers for work or other useful things such as taxes, calculating my mortgage amortization schedule, or taking notes for personal meetings.
“Personal meetings and note taking?", I hear you think. Yes! In my spare time I am involved with a political party in the Netherlands and I am part of the group who organizes the members abroad. We have meetings, and hence meeting notes :-)
All of this leads to a situation where if I am not careful, I have lost a hobby!
So I pay attention to keeping in touch with the hobby aspect of computers, doing the kind of things I used to do, for no other reason than because they are fun, interesting, and of no value to anyone but me.
So right now I am developing a Lisp interpreter in eZ80 machine language. I think this clearly meets the bar of being fun, interesting, and of no value to anyone. :-)
Doing this gives me a reason to research topics that I find interesting but that are really of little or no value to my daily work, such as how Lisp variable bindings and assignments really work or if I should make (+ 1 2 . 3) work and what the consequences of that would be.
And of course I need to get acquainted with the eZ80 machine language, which is an extension of Z80, so mostly familiar, but to be honest the last time I did Z80 assembler was in 1985, so I am a little bit rusty, to put it mildly…
Or was it 1986?
I think it was 1986, as part of the "Hardware 101" class in college. In the second semester we had to write some assembler on the MicroProfessor (written on a coding sheet, translated by hand to hexadecimal codes, and then entered). In the first week of the semester my lab buddy Mart and I divided the semester's assignments between us; then in the second week we entered all the programs, called the professor, had him sign off, and we were done for the semester.
I always know when I am starting to really relax during a vacation because once I am really relaxed, inevitably, my mind goes towards doing crazy projects for fun.
In the summer vacation of 2021 I researched the UCSD p machine and thought about how to implement one in 65816 assembler for this single board computer I got lying around here.
In 2008 the project due jour was developing a Glulx interpreter in Java to run on Android.
By now you will hopefully see that I will never get rich on these software projects, which is why during my day job I am currently designing complex Human Capital Management (HR) systems at a major online retailer, although I have not given up hope that my hobby projects might spark joy in one or two people on the planet.
So here is the wisdom: If you got into this gig from your hobby, do not forget to go back to your roots regularly because otherwise you would have lost a hobby, and that would be sad.
Of course you can always find another hobby, but there is something magical about your first big hobby.
Of course I am aware that there are people in this field for whom it never was a hobby to toy with computers. I worry about some of you, but I will get to that some other time.
So much _this_! I was on the verge of losing my hobby, so I've bought an Amiga 1000 and am learning how to program it. And all of a sudden I'm feeling 30 years younger again.