Developer Musings


I'm Josh Ghent. I make robust apps for the web - currently building TurboAPI and Alex's Wonderland Puzzles as well as running MidlandsJS

Improving Koru's API Performance

📅 September 21, 2020 - 4 min read

How we analysed performance pain points and improved them

Using RDS Snapshots

📅 September 21, 2020 - 3 min read

How to use RDS Snapshots and get access to your data

Writing Useful Error Messages

📅 September 04, 2020 - 7 min read

Error messages are a critical part of your systems user experience. Here's how to craft error messages your users would be happy to see.

Building Awesome Application Health Checks

📅 August 28, 2020 - 6 min read

Creating Application health checks seems simple, but is easy to get wrong. Here's how to create an awesome health check for your Application or API

ATS Resiliency

📅 August 24, 2020 - 10 min read

Forwarding data on to a third party sounds easy but has a lot of potholes you can easily get stuck in.

Rebuilding a Monolith

📅 August 20, 2020 - 6 min read

Why we chose to combine over 3 microservices into one central API

Re-architecting our PDF Generation

📅 July 31, 2020 - 7 min read

How a seemingly simple problem was more challenging than expected

Preserving Links whilst Migrating Domains with S3

📅 July 31, 2020 - 3 min read

How we successfully preserved links across our system whilst migrating domains

Why Backwards Compatibility is Critical

📅 July 03, 2020 - 9 min read

In the 'move fast, and break things' world, backwards compatibility has been cast into the realms of insignificance, but here is why it's so important even now

Sharpening the Saw

📅 June 26, 2020 - 6 min read

Sharpening the saw is Habit 7 in the cringe inducing book entitled “7 Habits of Highly Effective People”. This post isn’t yet another book…

Lightning Fast ZSH Performance

📅 June 19, 2020 - 6 min read

How I took my ZSH load times from 1.5 seconds to 0.19 seconds

Personal Infrastructure

📅 June 16, 2020 - 5 min read

After seeing the amazing posts by both Stephan Wolfram and Jess Frazelle, I wanted to chime in on my “personal infrastructure”. I’ve always…

How to use Private GitHub Packages on TravisCI

📅 March 09, 2020 - 2 min read

How to use private github packages in your TravisCI jobs

How to Create a Pinned Gist Bot in 10 minutes with GitHub Actions

📅 November 14, 2019 - 6 min read

Recently I stumbled upon an awesome page I hadn’t seen before awesome pinned gists. The premise of the list is small apps that run GitHub…

Managing Application Secrets for Terraform across Teams

📅 November 11, 2019 - 5 min read

TL;DR Terraform stack is deployed via Travis using a script (below) Secrets are shared by storing an encrypted tar file in Git The tar is…

Monitoring Git Leaks in Travis

📅 November 08, 2019 - 2 min read

How to use gitleaks in TravisCI to monitor secrets

Signal vs Noise - Staying Up to Date

📅 October 16, 2019 - 7 min read

Technology is so fast paced that to stay up to date, you need to be learning on a daily basis. However, the internet is so awash with vast…

Pentest Aftermath

📅 October 09, 2019 - 5 min read

Recently, Koru had a penetration test done by an independent third party. The actual test took place a little before I had joined but the…


📅 October 08, 2019 - 9 min read

At my previous post at CloudCall, I was responsible for the SMS/IM backend. Whilst it was being developed, we made the classic mistake of…

Gatsby or Bust!

📅 August 29, 2019 - 4 min read

Recently, I moved my website from a static HTML file on GitHub pages (yes actually static) and my blog from Medium. I decided to combine…

A Guide to Leaving Your Job

📅 August 16, 2019 - 5 min read

Recently, I handed my notice in to my previous job at CloudCall after receiving an new offer at Capp&Co. I won’t go into why I chose to…

Lessons from Battling with Elasticsearch

📅 July 05, 2019 - 6 min read

This is a story of changing requirements being impeded by architecture and software. It’s an age-old adage but I thought it was worth…

Using Grafana for Monitoring you NodeJS Apps

📅 March 06, 2019 - 8 min read

Graphs are a great way to monitor your services, and as an added bonus — they look cool. I always looked at companies with giant flat screen…

Why does NTP Exist?

📅 March 05, 2019 - 6 min read

NTP is one of the most essential and complex systems that never gets spoken about. But why? And what even are they? And why do we need them…

Starting with Why as a Software Developer

📅 February 26, 2019 - 4 min read

As you progress as a software developer, you should begin to build an innate sense of when something should be done a certain way, perhaps…

Architecting the Next Generation of Communication

📅 January 23, 2019 - 7 min read

With the shift to mobile and the statistics of the “younger” generation (hi there) not using phone calls as a means of communication, there…

Resiliency By Design

📅 January 19, 2019 - 5 min read

Resiliency by design in your products architecture is a challenging problem that is rarely tested. Building robust platforms are becoming…

How to Run a Successful Tech Meetup — even if you’re forgetful

📅 December 22, 2018 - 7 min read

LeicesterJS is born out of the rise of Javascript now being the de facto programming language for a majority of developers. Additionally, we…

I don’t know what to say…

📅 December 04, 2018 - 4 min read

The issue raised for the event-stream breach. It’s a grizzly flame war that I would not recommend reading I’m a little late to the party…

10 Things I wish I knew before giving my First Tech Talk

📅 November 13, 2018 - 8 min read

Glossophobia or fear of public speaking is cited as being amongst mankind’s top 10 fears. It related to our inherent fear of failure…

Networking at Tech Meetups

📅 August 11, 2018 - 4 min read

Tech meetups and talks are a great way to get to know fellow developers in your locality. But it can be challenging if you are introverted…

Tracking Goals in Todoist

📅 July 27, 2018 - 5 min read

“There is always an app for that” is a phrase I heard repeatedly when I was looking at something to keep tabs on my goals, both short and…

Lessons from Open Source

📅 July 13, 2018 - 5 min read

Contributing to open source is often touted as a great way to be recognized in the software development community, with many heralding their…

The Art of Good Code Review

📅 May 30, 2018 - 4 min read

Code review is a critical part of any software development process. In theory, it is designed to broaden system knowledge amongst the team…

Principles of Performance

📅 May 16, 2018 - 8 min read

On the web, speed is everything. But you knew that right? Rather than throwing percentages and statistics at you about site retention rates…

LinkedIn For Developers

📅 April 19, 2018 - 6 min read

“Oh, not another recruiter!” – my co-worker said, lazily chucking their phone down. “They just spam!”. This is an all too common phrase I…

Solve 90% of Google Pagespeed Insights Issues in 30 Minutes

📅 March 31, 2018 - 5 min read

Performance is a critical factor in site retention rates. Time is money, and there is a laundry list of examples that prove people expect…

📱 Zen iPhone

📅 March 26, 2018 - 6 min read

Ever since the smartphone arrived in our hands, people everywhere have been utterly entranced by them. Spending never more than a moment…

Understanding PHP hatred

📅 March 05, 2018 - 11 min read

It’s an age-old joke to hate on PHP. But why do people dislike it so much? After all, PHP powers 80% of the web (a large majority of that is…

What Tracking My Expenses for a Year Taught Me About Personal Finance

📅 February 26, 2018 - 5 min read

2017 was the year I tracked my finances. I started doing this because I wanted to remove the mystery of where my money was going. I wasn’t…

Beginners Database Design Primer

📅 February 14, 2018 - 6 min read

Your boss has just got off the phone with a client who wants a bespoke social network site targeting a niche market. And they want you to…

How to Attend Your First Programming Meetup

📅 February 06, 2018 - 5 min read

Attending your first programming meetup can leave you a little apprehensive. I felt the same! So, I thought it may be useful to break down…

Bulletproof Node — Security Best Practises

📅 January 23, 2018 - 6 min read

System breaches are now commonplace. Stories of IoT devices being compromised, entire countries credit history leaking online as well as…

How to Learn a Programming Language in Record Time

📅 June 28, 2017 - 5 min read

Note: This article is aimed primarily at beginners who perhaps know a single language but are looking to start learning another. When…

What programming language should I learn: or Why it doesn’t matter

📅 June 23, 2017 - 6 min read

Searching ‘What programming language should I learn’ will return you over 7 million results. The first one says Javascript, the next PHP…