Posts
Everything I have written, newest first. 18 posts on engineering, leadership, AI and practice.
2026
- If you trap the customer, they'll still leave
Storyblok billed us thousands in breach fees. We moved our sites off it in hours. AI made exit cheap. Lock-in is a worse bet than looking after customers.
- From keyboard to thought: what happens to us when the interface disappears?
We got hooked on social media. AI might hook us even deeper, by doing things for us rather than showing us things. So what happens to human consciousness when the line between us and the machine starts to blur?
- Code Review in the Age of AI-Generated PRs
We now generate code faster than we can reliably review it. Practical principles for reviewing AI-generated pull requests without slowing your team down.
- My Unexpected Love Affair with Swimming
How a chance encounter at the pool and a simple breathing technique transformed swimming from a chore into a moving meditation, and took me from 2 laps to 101.
- Beyond Clean Code Dogma - Why Your Engineering Team Should Obsess Over the Delivery Trinity Instead
Obsessing over clean code dogma can actually slow your team down. Here's what to focus on instead.
- Building Production-Ready Go APIs on AWS Lambda with SST v3
A practical guide to Go on AWS Lambda with SST v3. Project layout, one HTTP API, arm64, and linked resources.
2024
- Event-Driven Architecture with EventBridge - Lessons from 3 Years in Production
Three years of building serverless event-driven systems with AWS EventBridge. What works, what doesn't, and patterns that actually scale.
2021
- How to Set Up Continuous Integration for Monorepo Using Buildkite
In this post, we set up a continuous integration pipeline for monorepo using Buildkite, Github, and AWS then automate it using bash.
- Dependency Injection in Javascript
This article explores dependency injection in Javascript using higher-order functions and compares it against dependency injection in classes.
2020
- How to Build and Deploy GraphQL Server in AWS Lambda using nodejs and CloudFormation
In this tutorial, we build and deploy a GraphQL server to AWS Lambda and access it via API Gateway endpoint.
2018
- Preparing for AWS Certification - Solutions Architect Associate
I have recently gotten my AWS Certified Solutions Architect - Associate certificate. In this post, I will share how I prepared for the exam and hopefully it helps you to get certified.
- Setting up Laravel with Docker - Part 3
In previous posts of this series we setup Laravel application with docker and docker compose. This this final part of series, we add a utility script to simplify the deployment.
2017
- Setting up Laravel with Docker - Part 2
In part 1 of this post, we built a docker image to run Laravel application. In this post we will install the same Laravel application but with docker compose.
- How to remove switch statements with polymorphism
In this post we will use polymorphism to remove switch statements. Inappropriately using switch statements is a sign of code smell.
- Resume bash script after reboot
Quick technique you can use to resume bash script after system reboot.
- Setting up Laravel with Docker - Part 1
Laravel is by far one of the most popular PHP framework. In this post we will set up laravel application using Docker.
- Vim style copy paste in Tmux
Tmux is a terminal multiplexer which allows us to create and manage multiple terminal windows. In this post we will configure tmux to have vim style copy and paste.
- Android clean architecture
Use clean architecture in android application