About Me
I’m a Dad, Husband, and DevOps Architect. By day, I teach customers how to run production cloud platforms using SRE principles and a “platform as a product” mindset. By night - or at least, for a few hours after my Daughter has gone to bed - I’m a musician, geek and writer. This site is a home for all my projects and random musings, if any of them interest you I’d love to hear from you!
History
As this site and it’s predecessor have been online since the late 90s, I’ve seen tech trends come and go and have worked on some really fun stuff. Thanks to the wonderful archive.org, I’ve managed to go back through the years and build up a timeline of all the different technology eras. It’s kind of a “Website CV”, starting from my first dabblings in hand-crafted HTML to the modern cloud-native world. It’s brought back a lot of memories as well as some decidedly cringy photos and website design…
The paleolithic era
This site started way back in the very early 2000s and was originally hosted on the free family website space I got with our dial-up Freeserve ISP in the UK. It started life as “Mark’s Guitar Page”; a very dated and quintessential Web 1.0 type guitar tuition page with lots of rainbow spacer bars, “under construction” gifs, a page counter, guestbook and probably also a webring banner as well.
I built the whole thing using AOL Press and it was as clunky as you’d expect for the era! Unfortunately (or fortunately, depending on your point of view) no usable archives of this exist, the earliest nearly-complete captures I have of the site are when I registered markround.com and set up a PHP-Nuke (remember that?) based site on a shared-hosting LAMP stack.
The site did reasonably well for an early internet project and attracted a small crowd of regulars and guest contributors before I eventually shuttered it due to lack of time, as by then I had started working full-time as a Unix sysadmin/Webmaster/Java developer and the heady days of university were behind me.
Still, the main website continued and gained a delightfully cheesy early-2000s makeover reminiscent of the MySpace era which was only missing a tinny Linkin Park MIDI song playing over the splash page for maximum cringe. It was around this time that I’d started writing articles and guides for the main systems I was running which as far as I remember were Solaris 7/8/9 on SPARC, and Slackware 8.0 and Red Hat 6.0 on x86. I also joined a local Linux User Group (hi everyone from back then!) and gave a couple of presentations on Solaris and how to run a production Apache service. Which was, at the time, a shared-hosting service with mod_php4, MySQL 3.x, FTP for uploads and all the security concerns of chrooting all the users. How things have progressed…
root@localhost
Here’s the first iteration of my Unix and Linux-targetted site, which I imaginatively titled “root@localhost” complete with logo rendered in The Gimp. I wrote a few articles and due to the fact that this was the early Web 1.0, I ended up getting a pretty high ranking on the search engines of the time. In particular, my article on building Apache 1.3.x with PHP & mod_auth_mysql received a lot of traffic and resulted in me getting approached by Wrox press to do my first stint as a Technical Reviewer and my name in print!
One hilarious side-effect of having a site that at the time ranked very highly when you searched for “root@localhost” was that I ended up getting a ton of emails from people I’d never heard of asking for help with random error messages. The default contact email address shown on error pages for the Apache webserver was root@localhost
. Lots of sites back then didn’t bother to change the defaults, so when Joe Random saw a page-not-found error on a website, they saw contact root@localhost for support, would chuck that into Google and land on my page. I had to include a “really, I have nothing to do with this, and no I did not break your webserver” page to explain it all.
Trivia time - the console window shown in the logo is actually a screenshot of the QNX 6.x terminal as I was (and still am) quite the OS geek and loved exploring different systems. As well as QNX and other Unix systems such as FreeBSD and Solaris x86, I also ran BeOS for a long time on my home PC as it was by far my favourite OS since the Amiga. I hosted a few pages regarding BeOS, the leaked “Dano” build and hosted a tool where users could submit compatibility reports for software. Of course, Be Inc. died but I now run the nightly builds of the open-source recreation Haiku on one of my hobby systems.
Digital Badger
Don’t ask. I just liked the name and have a thing about badgers. Anyway, by this point I’d moved on to an Infrastructure Manager role in charge of a small team running the web infra for a large publisher. It was all Solaris-based on a mix of SPARC and the new (at the time) AMD64 systems. Proper early 2000s ENTERPRISE stuff: Fibre-channel everywhere, tape robots, chunky SPARC boxes. A lot of fun and I wrote a bunch of articles around these systems which are still archived in my blog.
This website was by then on it’s way to a well-established blog, so I’d switched from hand-written HTML in Dreamweaver to a series of dynamic backends again using the then-standard LAMP stack. I eventually ended up settling on Serendipity, which remained the engine behind the site for many years. During that time it followed the trends of the day: I went through many Linux distributions from CentOS to Debian to Ubuntu when that became A Thing; PHP and MySQL upgrades; caching layers, and also a few different webservers including Lighttpd. It was hosted on a series of Solaris and then Linux servers, eventually becoming virtualised on Xen, and then moved into the cloud.
I also joined the now-defunct Blastwave.org project around 2003. This was a community effort that built packages for Solaris systems similar to e.g. a Debian APT repository. That was a big deal back then as the ancient SysV packaging system on Solaris was horrible, with no dependency resolution or proper integration with Sun’s patching system. We were pretty much the “go-to” site for Solaris open-source software at the time. My blog covered updates on the packages I maintained: PHP, PostgreSQL, Nessus and a few others. Sadly, internal politics and Major Internet Drama™ led me to drop out in 2008. A lot of the maintainers (hey guys!) did move over to the new OpenCSW project though, which still seems to be kinda going. But by that point the writing was on the wall for Solaris, and I’d moved on to pretty much 100% Linux and BSD by then.
Still, I did continue to run some Solaris projects on this site for a while including an IPS package repository, and that ended up with me doing my second stint as a technical reviewer for the Oracle Solaris 11 Advanced Administration Cookbook. Whilst I don’t think I’d recommend it as a title, I still got to make a dedication to my now-wife in it, so I did end up gaining some major points there :)
The Age Of Enlightenment
I’d moved back into more hands-on sysadmin work and started picking up DevOps principles and tech - I like to think of it as being “back in the engine room”. I kept running the PHP-based Serenity blog system for a long while and covered the general tech-stack of the times, from a XenServer Review to a set of plugins I created for the Cacti monitoring system. Nowadays it’s all declarative Prometheus/Grafana/Telegraf/Influx/whatever stacks but back then, the new hotness was all Nagios and Cacti with probably some home-grown Perl clunker still lurking somewhere. That project was also my first introduction to GitHub as I published my first repo along with a XenServer backup script. Both of those got used a fair amount by the community and I got some useful contributions and feedback. It’s cool looking back now to see how much sites like GitHub and GitLab have made it easier to connect with users and developers.
Modern Civilisation
As we were by this point firmly in the Ruby-on-Rails era, I’d picked up a lot of Ruby along the way from working with Rails itself as well as using things like Sensu and Capistrano. I also migrated the blog over to a Jekyll-based static site, marking the end of the LAMP era of this site. While Ruby seems to have been another trend that has fallen out of favour in recent years for general DevOps tasks, I have to say I still love its expressiveness.
Anyway, Docker was now the hot new thing (although Kubernetes was just barely out of being a new research project and anyone serious would be using Mesosphere). While this site was by then running happily under docker-compose
, I’d started to have a few issues moving non cloud-native software into a containerised world - old in-house or 3rd party applications that were the very antithesis of 12-Factor apps. And back then, you weren’t always guaranteed to find a convenient image for your open-source package of choice, either.
So I wrote Tiller. And that project really took off! It’s admittedly small fry in the terms of open source projects and is pretty much stalled at the moment but it’s still managed to (at the time of writing) hit 244,360 downloads from RubyGems, acquire 320 Github stars, have 11 pull requests from other developers merged, and over 2,000 lines of documentation written plus it’s pretty much all I blogged about then.
It’s also the period when my music really started picking up. I started gigging again and produced my first few tracks. That photo of me on the sidebar is from my first gig with my friends when I lived in Surrey. Good memories.
AMIGAAAAAAA
The Pivotal Years. While I was doing some really cool stuff in the tech world - and by this point was leading customer engagements building out production PaaS and Kubernetes clusters across all kinds of environments - I chose to start blogging about something completely different. With all the complexity in the modern tech stack, it’s been really nice to kick back and rediscover the simplicity and beauty of my childhood computers such as the ZX Spectrum and Amiga. My article on Amiga Systems Programming in 2023 made the #1 spot on Hacker News and generated a lot of great discussion - and also made this little Kubernetes cluster work overtime for a few days! Thank goodness for cluster autoscaler and static content caching…
As well as a bunch of more technical articles on the next-gen AmigaOS 4, I also ended up re-learning C and wrote a system utility called SetCmd which is now being ported across to the classic 68k-powered Amiga OS. And something really cool happened as well with my music, too. I made a rock cover of an ald Amiga demo tune, and it ended up getting shown at a demo conference!
The Current Day
And now, some 22 years on from the start, here we are! I’ve gone from a website built with AOL Press and uploaded by manual FTP (via my Mum’s dial-up internet), to a Kubernetes cluster with everything expressed as code and pipelined up the wazoo. I’ve seen the IT world shift from a pre-Virtual Machine web 1.0 world where Solaris ruled supreme to the modern cloud-native tech world. I do occasionally miss the days where I could describe my job as WEBMASTER with a straight face but the stuff we can do today is just incredible.
This site is now managed and deployed in the same kind of way I now teach my customers: The website and infrastructure is all expressed as code and generally runs through Drone CI pipelines that run Terraform tasks, deploy containers using Helm, FluxCD and so on. It’s all hooked up to a CI/CD set of pipelines that build the containers that make up this site, so all I have to do to publish a post now is make a git commit, or push a branch to production. Everything is running on a cloud-hosted Kubernetes cluster with the currently “trendy” stack of ELK/Prometheus/Grafana/Traefik/NginX etc.
The whole thing including control plane, networking and monitoring can be torn down and recreated in minutes with a single click. Even the old Solaris die-hard in me has to admit this is just awesome and despite the challenges of the current cloud-native IT world, it sure beats hand-rolling mod_perl
clusters!
I also got re-acquainted with my first ever computer - the Sinclair ZX Spectrum. I built a community BBS-like site for the old 8-bit system, with 16,000+ games, and tons of other features like messages, comments and articles. It made it to the front page of Hacker News, was tweeted by GitHub and even featured in The Spectrum Show #107 on YouTube!
It was another very enjoyable trip into computing days gone by - and as a nice bonus, while I was creating the website for the TNFS Site, I ended up learning Jekyll 4 and decided to port my old blog across again, hence the current spring-clean and new content. So it’s now something like the 10th code base in it’s lifetime. I wonder what it’ll look like in another 20 years time ?