Terraform + AWS Lambda β modular IaC deployment
Managing AWS Lambda functions with Terraform: a small reusable module, automatic IAM, and a CI/CD-friendly layout. With a working GitHub example.
March 1, 2025
Managing AWS Lambda functions with Terraform: a small reusable module, automatic IAM, and a CI/CD-friendly layout. With a working GitHub example.
March 1, 2025
A practical tour of grep β flags I actually use, regex patterns that pay off, and log-analysis recipes.
October 20, 2023
A 3-node Kafka cluster on Ubuntu without ZooKeeper β using KRaft, the modern self-managed metadata protocol.
October 14, 2023
What Ansible is, how to install it, and a tour of the bits that matter β inventories, playbooks, roles, templates β with a real Nginx example.
October 8, 2023
A tour of the directories under / on a Linux system β what each one is for and which ones you'll actually touch.
March 17, 2023
Reading the rwx output of ls -l, chmod's symbolic and numeric modes, and the patterns you'll actually use.
February 19, 2023
A modern, opinionated tour of the Linux networking CLI β ip, ss, mtr, tcpdump and friends β with the patterns I run on every box.
February 10, 2023
Setting up the zsh + oh-my-zsh + powerlevel10k stack I've been using for years. Plugins, fonts, and the bits of the prompt that are actually useful.
February 10, 2023
Self-hosting the free Community Edition of GitLab β version control, code review, and CI/CD on a box you control.
February 3, 2023
Standing up a 3-node MongoDB replica set for high availability and read scale-out β config, initiate, and verification.
February 3, 2023
Adding MongoDB's apt repo, installing the server, and getting a single-node MongoDB up and running on Ubuntu.
January 30, 2023
A step-by-step Cassandra 4.1 cluster across 3 Ubuntu 22.04 nodes β install, gossip config, replication test.
January 6, 2023
Anatomy of a systemd unit file β Unit, Service, and Install β and the steps to ship your own service.
November 30, 2022
Standing up a 4-node highly-available PostgreSQL cluster with Patroni, etcd and HAProxy.
September 24, 2022
Two reliable ways to see which ports are in use on a Linux box and which process is on each β lsof and ss.
September 3, 2022
Standing up Pritunl on Ubuntu β an open-source OpenVPN-based server with built-in 2FA, Let's Encrypt and a clean web UI.
June 9, 2022
userdel is the small, focused command for removing a user account on Ubuntu or any other Linux distro. Two flags cover almost every case.
June 9, 2022
A short intro to Terraform β what it is, where it fits in the Infrastructure-as-Code story, and how to install it on Ubuntu and macOS.
June 2, 2022
Using certbot to get a free Let's Encrypt SSL cert for an Nginx site, with auto-renewal that just works.
February 14, 2022
How to list, inspect, and check the status of services on a systemd-based Linux box.
February 11, 2022
Bringing up a fresh Ubuntu or Debian box almost always starts with managing users. A quick walk through useradd, adduser and deluser.
December 13, 2021
Chaining commands with &, ;, &&, ||, and friends β the operators you'll reach for the most when stitching shell pipelines together.
September 27, 2021
Standing up a Network File System (NFS) share on Ubuntu and mounting it from a client β the minimal walkthrough.
September 24, 2021
SCP (Secure Copy Protocol) is the simplest way to move files between machines over SSH. A quick reference for the patterns I use.
September 21, 2021
Installing Jenkins, the long-time CI/CD workhorse, on Ubuntu β Java, the apt repo, the firewall rule, and the first-run setup.
September 14, 2021
A walkthrough of installing Pardus 21.0 β TΓΌrkiye's TΓBΔ°TAK-developed Linux distro β step by step with screenshots.
September 12, 2021
Setting up Node.js with nvm so you can run multiple versions side-by-side, plus Yarn from the official apt repo.
September 6, 2021
dig is the go-to CLI for poking around DNS records and debugging DNS issues. A quick tour of the flags I actually use.
September 3, 2021
Three different ways to pull CPU details on a Linux box β /proc/cpuinfo, dmidecode, and lshw.
September 2, 2021
Two quick ways to read RAM and DIMM-slot info on a Linux box without opening the chassis β dmidecode and lshw.
August 30, 2021
Moving sshd off port 22 is one of the first things people do to harden a Linux box. Here's the two-step version.
August 30, 2021
Portainer is the GUI I keep coming back to for managing Docker and Docker Swarm. Setting it up and a tour of the menus that matter.
August 29, 2021
Adding the official PostgreSQL apt repo, installing 12, and the minimum config tweaks (pg_hba, listen_addresses) to take connections.
August 29, 2021
Standing up a free-tier AWS EC2 instance and installing the full LAMP stack to host WordPress, end to end.
August 29, 2021
Standing up a 2-node Kubernetes cluster from scratch using kubeadm, containerd and Calico β step by step.
August 28, 2021