Since there always has to be a beginning to any journey, what could be more appropriate than the humble
Hello, World? Anyone who has studied programming will be familiar with these two words. We've been using it as a placeholder since 1978 and I am sure that when Brian Kernighan pencilled his "Hello World" example, he never realised the time-honoured tradition he started for programmers everywhere.
At first glance it may appear simple, however its simplicity hides a large number of complex moving parts. Just to display those two words in a terminal window took CPU cycles, calls to a 2D renderer, negotiation with a secure connection to transmit a signal via HDMI to a monitor, etc. That's not including the IDE that was used to write the code, the keyboard it was typed with, the SSD (and its wear-levelling firmware) that stores the code, the compiler and the terminal program that popped up with its blinking cursor.
Every single one of these complex moving parts had a beginning. Each one started from the smallest, most basic idea and gradually evolved into what they are today.
Picture this: Linus Torvalds might have sat down before beginning the Linux kernel and written a "Hello World" program to check his development environment was configured correctly. Tim Berners-Lee may have output "Hello World" using the first implementation of the World Wide Web. I'm not sure about Alan Turing, it was probably a concept sketch of the mathematical model for a Turing Machine. The same goes for Alonzo Church; did he scribble the basic principles of Lambda calculus on a napkin?
The people in this article were specifically chosen because they have all shaped my career in one way or another. They have no idea who I am, but I have read and studied their work. Without these veritable "founding fathers" of computing, todays technical landscape would look very different. It is also their ideas and achievements that we base our careers upon.
After years of maintaining a repository filled with markdown files on hundreds of topics, I've decided to stop learning in private. I'm switching gears and creating content in the open that is mostly written for myself, but (I hope) benefits other developers too. To keep these notes to myself is to do a disservice to all the other developers that took it upon themselves to contribute code and notes that I used to teach myself programming and computer science.
"Science needs the light of free expression to flourish. It depends on the fearless questioning of authority, and the open exchange of ideas."
— Neil Degrasse Tyson
I recently discovered the Blurry Photos podcast. What struck me was that it's created by a couple of dedicated guys (one of the presenters has since left) who love doing what they do: talking about weird stuff. What if, in some way, I could be like them?
I'm at a stage in my life and career where I want to share, explore and collaborate. I want to become a creator and not simply a consumer, scrolling through endless web pages and documents. Society as a whole benefits from the free and open exchange of information.
The Art of Writing
It's well known that you remember things better when you write them down. By writing these articles, I hope to strengthen my understanding of what are usually quite dry technical concepts, and more importantly remember them!
So, this is my "Hello, World!" and my beginning. Glad you could join me.