Writing on software design, computer networking, and the cloud industry.

All of my long-form thoughts on programming, cloud computing, and more, collected in chronological order.

Policy routing with Clash

How would've it been if you have complete control of your Internet traffic flow? With Clash, you can control everything directly on your Internet gateway, and this article will show you how.

Extending size of a EBS mounted on an active EC2 Instance

Managing your EC2 instances with Terraform can be tricky, such as making changes to a EBS volume mounted on an active EC2 instance. This blog post covers how to extend the size of a XFS filesystem in a EBS volume mounted on an active EC2 instance.

Finding out a problem of gpg-agent

The widely used gpg-agent can be cryptic to configure and use, and I stumbled upon a strange issue that prevented me from making SSH connections. Here is what happened.

Deploying GitLab Community Edition

Organisations can deploy a FOSS version of GitLab on their own infrasturcture, which we had to do at my university. This article covers the process of doing so and some of the issues I ran into.

Moving Ghost Blog to Google Kubernetes Engine

It is crucial to have a scalable and fault-tolerant infrastructure for a blog, but Kubernetes can be tricky for newcomers. Here is how I did it with Ghost and Google Kubernetes Engine.

A great experience with the Umbo folks

I came across a job vacancy on Umbo's website and managed to get an internship offer. People were friendly and the office was great.

macOS Mojave: Continuity Camera

I've always loved the industrial design of Apple products, and Mojave just gave me an another surprise with Continuity Camera.

Rotating Docker logs

With Docker comes great power, and also great responsibility of rotating your logs! They can eat up the disk space quickly, so you better be fast setting up logrotate.