Why.
Why am I starting this project? Aren’t there enough tech blogs out there? Well, yes, almost certainly — but I’m primarily doing this for me. I’m a developer with a lifelong interest in all aspects of computers, and although I have formal education and plenty of professional experience, I’m also acutely aware of some gaps. I want to fill them not only to feel more confident in those areas, but also because I genuinely want to understand these things.
I was a kid of the 1980s. As such, I’m someone who both grew up using computers from an early age while also being able to remember a time before them. In my childhood, computers weren’t ubiquitious; they were marvellous and mysterious. My experience with them was limited to playing games on a school BBC Micro a few times until my family borrowed an Acorn Archimedes A3000 for the school holidays. I was drawn to it but at the same time terrified of touching it: I was afraid that if I did something “wrong”, it would explode and catch on fire.
However, it didn’t take long for me to learn that this was not the case, and I started exploring. Although I do remember some struggles (double-clicking was difficult, disabled menu items were confusing), I loved the games and experimenting with the music composer Maestro (my compositions, made at random, were not particularly melodic). Soon enough, I started wondering about how these programs were made, and who the people behind them were. They seemed like gods to me, creating worlds out of magic.
At that time, with no easy access to information via the internet, being able to program seemed something like magic. To me it was an elusive skill meant for the few, not something that could simply be learned — certainly no-one in my family had the first clue about programming. I devoured every book about computers that I came across, but it wasn’t until I discovered the Bytes Brothers book series in my school library that I actually saw BASIC listings for the first time. I didn’t have a computer at home and I had no idea how to write programs anyway, but still I read and tried to learn.
Later, my family got an Acorn of our own (an Archimedes A4000) and I eventually figured out how to make it run BASIC programs. The more I learned, the more rewarding it was. I even won prizes and through that was given opportunities to learn more, but every step through my teenage years, university and professional life took me further away from the underlying technology. To some degree, it feels like I learned how to perform the tricks without understanding the magic.
To be clear, I don’t see high-level languages as being in any way lesser than low-level languages. I do feel that all my knowledge and experience has become skewed in one direction, and I want to start balancing it out. There have been so many things that I thought I would one day learn, but never have: for starters, I want to be able to read and write assembly, program hardware and improve my understanding of networks.
For a long time, it didn’t really occur to me to think about picking up my learning in these areas again. To the extent that I thought about it all, I think I felt like that ship had sailed, or that I wasn’t really that interested anymore after all, but neither of those things are actually true. I was just afraid that it was too late and that I’d be bad at it if I tried.
Since I realised that I do want to invest time and effort into these topics, I’ve been much happier. Now I want to keep going, and I want to write about it. It helps me to better understand what I’m learning (like a form of rubber ducking) and it will also give me a long-term record of everything I’m doing. And if it happens to help anyone else along the way, then so much the better.