teratan.lan - My Self-Hosted private Enterprise

One of my favourite topics to talk about with anyone is self hosting. Some people refer to home automation, some people call it homelabs - I have both, and many other systems, in a fairly vast environment where everything is self hosted.

I truly believe that self hosting is the best way to really understand lots of aspects of technology, privacy, and how to efficiently build and secure systems.

“So, what do you self host?”

I’ve often wondered even howto refer to all this “stuff” I have - which is more than a collection of servers (at home, in cloud, in all different architectures). It’s also more than a collection of services, which ranges from Home Assistant, to Apache clusters, Kubernetes clusters, and everything in between. Do I just give people a list my containers, for example?


Continue reading...

Nginx's map directive allows for cleaner config

I didn’t start with Nginx, but it’s become my standard for open source load balancing now-a-days. I started with HAProxy - I remember first hearing about it in my first job, in 2008, when our CTO at the time was raving about it - “HAProxy rocks”, he would say. I didn’t get a chance to use it until several years later. It was when I first started load balancing services properly - somewhat of an improvement than having many services listen publicly on various ports.


Continue reading...

Snapshot of my AI Usage - Nov 2025

This is a very quick blog post, intended as a note to look back on, or to share with with people quickly - a snapshot of my AI usage in November 2025. It’s likely that this will change rapidly over the next few months and years, so I want to capture a moment in time.

80% of my queries now land in AI, 20% in traditional search engines.

It will be interesting to see how this changes over time!


Continue reading...

Vibe Coding Does Not Solve GIGO

I fondly remember this quote when I first heard it - and it made me chuckle. However this is such a good reminder of “GIGO” (Garbage In, Garbage Out) that is so relevant in today’s world of AI and especially Vibe Coding.

‘Pray, Mr. Babbage, if you put into the machine wrong figures, will the right answers come out?’

  • Charles Babbage

Garbage In, Garbage Out is a principle of systems design, and also common sense, that simply means that if you feed in the wrong questions, clearly you will get the wrong answers. I encountered this problem recently in a little vibe coding experiment of my own.


Continue reading...

Life Planning (with AI!)

The problem statement

When you’re young, single, without family and with a job that you love, it’s easy to give that a lot of focus and energy. When I was promoted to Principal Solution Architect at work, I was about 12th in EMEA, and the youngest by a long way - in March 2019 at age 32. Soon after that I got married, started a family, COVID happened (!), bought a much nicer house and I would say life got a lot more complicated! As much as I am incredibly grateful for my wife and family, and I obviously not trade those in for anything, it’s been incredibly difficult to balance the newfound energy for my new home and new family, and my career just happened in the background.


Continue reading...

How Do I Name My Projects?

It is often said that there are two hard problems in computer science; cache invalidation, naming things, and off-by-one errors. This post is about the approach I’ve taken over the years to name things - how I’ve named my projects.

The very first project that I ever really created is also one that I released - called technowax. It’s actually still online today, in a fashion; http://technowax.net/ . I’m ashamed so say now, after all these years that the name was not original - and it was actually a distant family friend who had a web design company, I think it was, called TechnoWax. I’m not sure if they are still around, but I do remember that I thought it was a cool name at the time.


Continue reading...

That time I got an E450 Workstation

I got a SUN E450 workstation for free back in the mid 2000s. I got it because it looked super cool, but I wish I had more skills back then to be able to use it!

Back in the mid 2000s, I was helping my Dad move his offices from one site to another. While we were there, I had spotted another company that was moving out the offices at the same time, and in particular, saw what looked like a very cool computer.


Continue reading...

The downside of '26 years of web developer experience' — an unhelpful belief about how to write frontend code

I’m 37 today (2025), but I started coding for the web 26 years ago at around 11 (~1999). That’s “26 years of web developer experience,” but I’ve realised it also bred an unhelpful belief about how to write frontend code.

I started with Windows Notepad at school, producing HTML pages for Internet Explorer 4. Early tools included Dreamweaver (pre-Macromedia) and Microsoft FrontPage. Without a FrontPage license at home, I used Microsoft Publisher (yes, the desktop publishing app). Horrible tools, but that’s all an 11-year-old had in the late 90s. Only one other person I knew was doing the same — Chris, if you’re reading this, thanks for the inspiration!


Continue reading...

Semantic Versions, Commits, and now Releases

Nearly every technologist knows about semantic versioning (semver), it’s familiar for developers and sysadmins alike. However, what’s really cool is implementing semantic commits and semantic releasing!

I only really started to become familiar with the concept of semantic commits a couple of years ago. When you’re a hobbyiest writing lots of code, there isn’t much motivation or need to write a commit message - because nobody is going to read it. Numerous times I’ve done git commit -m "fix", or probably more often, just git commit -m ".". Of course that is bad practice, but it’s just easy to do when you’re the only person who will ever read it.


Continue reading...

Fastmail Review

A couple of years ago I switched from Gmail to Fastmail for my email, and I have to say I’ve been super impressed. The reason that I switched from Gmail was that I was becoming less and less willing to support big tech companies that were not respecting my privacy, and Google is one of the worst offenders.

Fastmail was one the few candidates that a took a look at, and honestly I cannot remember now what other providers I looked at. What impressed me about Fastmail was that they are a company entirely focussed on email. They are not trying to sell you anything else, and they are not trying to sell your data. They’d also come up on a few tech podcasts I listened to, which is always a good sign!


Continue reading...

About James Read

Picture of James Read James is a "full stack" Open Source enthusiast, who enjoys creating no-nonsense open source software.

Dad, hobbyist developer, open-source enthusiast and Red Hatter.