Some recent renovation successes
Over the past few months I’ve had quite a few successes in various renovation projects. It can be very chaotic going through these periods, and it’s not always obvious seeing the woods for the trees, but looking back I can see some definite themes. I wanted to spend a moment reviewing things, it’s important to celebrate the wins.
1. New blog redesign
I’ve been blogging for something like 20 years. The first few blogs are no more, long since dissolved into the sands of time, but the current incarnation has been around for a little over 10 years. Actually, according to the date calculator, it’s been 14 years, 3 months, 3 days.
There was a long period where it was just a hand rolled linkblog, but eventually I added a blog, newsletter, podcast and notes sections, all interwoven on the front-page. This year I finally got to redesign the whole thing, still keeping it’s minimalist aesthetic but adding a bit of color.
2. New container based dev environment, Typescript+React, safe collab with AIs
I have in the past built quite serious projects, including a social media SaaS, but I had stayed away from containers, Typescript and React. This year that all changed, brought on somewhat by the new realities of using AI/LLMs in web development. I now have first hand experience of how these technologies work extremely well together having built an Oauth 2.0 REST API with React frontend. It certainly hasn’t been plain sailing, but I have settled on a really solid new container based typescript-react project structure, that I am very happy with.
3. New locally running LLMs, GPU accelerated running in containers
I’ve spent a lot of time experimenting with AI developer tools, and I’ve been blogging about all my experiences with AI. There have been many ups and downs, but it’s obvious that these tools are going to have a big impact, and realising that I was using the frontier cloud models more and more, I decided it was important to at least get some experience running local AI open source models. Even if they aren’t as powerful, hopefully that will improve over time.
After a voyage of discovery I got some LLMs running locally, but then ran into performance difficulties. In ended up going down a very very deep rabbit hole looking into how to get GPU acceleration working in containers. That was at the same time I was trying to build the new Typescript/React/Containers project structure, which was all very confusing, but I got through it and finally got GPU accelerated local LLMs running in containers accessing my mac’s GPUs with massive speed improvements.
4. New social media auto-poster
After all the container based AI GPU Typescript React craziness, I decided to switch focus back to my blogging, noticing that my posts were not syndicating particularly well across the various social medias I use. After researching and testing several commercial auto-poster products, I realised that what I really wanted was a solution that I could plug into my blog's static site generator, something I could run in a Github Action. So I built a social media auto-poster! I'm very excited about this. It’s looking really promising, hopefully rolling out at the end of the month.
5. New blogging scripts
With all this momentum in my blogging, it felt like the right time to overhaul my blogging setup, refactoring all the scripts, aliases and functions I use to publish the blog. This was an incredible success, working with Gemini I was able to drastically simplify and make my setup much more robust and added several features including managing images, which is a huge win. I am already seeing big benefits in my day to day blogging. Massive time saver.
6. New dotfiles for multi-platform bash config
The final renovation project was a complete overhaul of my dotfiles, something that I had been wanting to do for literally years, but had been in a state of complexity paralysis. With Gemini’s help, I was able to cut through years of cruft and somewhat tangled scripts, and by deciding to drastically simplify my approach, I now have a repeatable multi-platform setup for managing my shell configuration. This is a huge win for stability and robustness. It’s deeply reassuring to know that I can rebuild any of the core components of my setup with a minimum of fuss. That I can be back up and running very quickly should I need to do a complete system rebuild.
There are likely a few others, but these are the main ones.
Looking back at it all, it’s turned out to be an exercise in improving robustness at every level of my development stack, while exploring the emerging world of AI assisted development. It’s been quite a ride. I’m super glad that I’ve been blogging through it all, because it makes these sorts of retrospective posts possible. It can feel like you aren’t making progress at times, the world just keeps throwing endless hurdles in your way, but actually slowly but surely things are getting a little bit better every day. #