Hi, I'm
Alister
A full-stack dev in Australia. I write about engineering decisions, tools I'm using, and lessons I learn.
2025 Recap
My year in tech.
Modern Tech Sucks
Tech should improve user experience or cut costs — but QR menus and online enquiry forms do neither.
How to Create a Swap File on Ubuntu
When npm install freezes on an underpowered server, a swap file is the fix — here's how to add virtual RAM on Ubuntu.
Deploy Laravel to Ubuntu and Nginx
How to host a Laravel 11 app with Nginx on a fresh Ubuntu server — from dependencies to a live site.
Working Remotely
Working remotely versus in-office — pros, cons, and what I've learned after years of trial and error finding the right balance.
2024 Recap
My year in tech.
A Case of Voronoi Stippling
Building a Voronoi stippling animation using Lloyd's algorithm — dots, diagrams, centroids, and lerping.
Improving My Workflow with tmux
Notice a pattern in your workflow? Automate! How I used tmuxinator to solve a Vite + TypeScript build gap and save time every day.
2023 Recap
My year in tech.
Creating a Webapp in 2023
Some of the common options for creating and hosting webapps — a snapshot of the landscape I'll look back on one day.
Rethinking Blogging
How AI changed the value of how-to posts — and why I'm shifting toward more personal, philosophical writing.
Engineering Rant
DDD, SOLID, GoF patterns — everyone talks about them, almost no one implements them correctly.
Code Tip: Single Level of Abstraction
A simple tip from Clean Code to write more readable and maintainable functions — keep each function at one level of abstraction.
2022 Recap
My year in tech.
A Full-Stack... House?
Building an app is like building a house; having done both, the analogy works surprisingly well.
Leading a Year-Long Project
A retrospective on leading a 12-month project — lessons in task delegation, code review pragmatism, and stakeholder communication.
How to Create a TypeScript NPM Package
How to create and publish a TypeScript library to NPM simply and easily — from init to publish in 5 steps.
How I Use a Developer Journal for Productivity
See how and why I keep my engineering journal — a practice that's transformed my approach to planning and problem-solving.
What Is Tree Shaking and Why Do We Need It?
A simple guide to tree shaking in JavaScript — what it is, why it matters, and how to use it with Lodash.
How to Make a Theme Switcher with HTML, CSS and JavaScript
Using JavaScript and CSS to instantly switch color themes on your website — no framework or library required.
How to Write Commit Messages
A guide on writing effective version control commit messages — the anatomy of a good commit and why tense matters.
Use TypeScript, Not JavaScript
Why you should use TypeScript instead of JavaScript — static typing, fewer tests, and better tooling all in one.
7 Rules of Software Development
Level up your development game by learning these 7 essential rules — lessons I wish I'd known when I started.