Apr 17, 2026
tamtam — apps that write themselves, and the part of me that's fine with that
Apr 10, 2026
Agentic workflows for DevOps: what actually works and what will burn you
Apr 17, 2026
tamtam — apps that write themselves, and the part of me that's fine with that
Apr 16, 2026
Opus 4.6 vs 4.7: I ran my own benchmark through the Claude CLI
Apr 12, 2026
Claude Mythos: the AI that hacked every OS and emailed a researcher about it
Apr 11, 2026
Gemma 4: testing the hype locally
Apr 10, 2026
Agentic workflows for DevOps: what actually works and what will burn you
Mar 30, 2026
x402 - HTTP payments that actually work
Apr 13, 2026
seo-tools — how I keep analytics and SEO across multiple sites from becoming a second job
Sep 25, 2023
Ansible for a single server — overkill or exactly right?
Apr 16, 2026
Opus 4.6 vs 4.7: I ran my own benchmark through the Claude CLI
Apr 12, 2026
Claude Mythos: the AI that hacked every OS and emailed a researcher about it
Apr 5, 2026
qubitcoin — a post-quantum Bitcoin rewrite, and why silent RPC failures matter
Apr 17, 2026
tamtam — apps that write themselves, and the part of me that's fine with that
Apr 10, 2026
Agentic workflows for DevOps: what actually works and what will burn you
Apr 9, 2026
The four golden signals — what I actually monitor and why
Jul 10, 2025
Spot instances on EKS — cutting costs without cutting reliability
Apr 14, 2025
Upgrading EKS across four environments — the rolling strategy
Nov 8, 2021
Terraform state management — best practices I follow religiously
Feb 26, 2020
Infrastructure continuous deployment with terraform and atlantis
Feb 7, 2020
Prometheus on ECS - Proof of Concept
Aug 30, 2019
How to run cheap Kubernetes cluster on AWS? pt1
Mar 30, 2026
x402 - HTTP payments that actually work
Dec 5, 2023
First smart contract on Base — what surprised me
Mar 28, 2026
macosx-audit - know what's running on your Mac
Jan 10, 2015
Hello world and Dell Latitude E5440 configuration
Apr 11, 2026
Gemma 4: testing the hype locally
Apr 16, 2026
Opus 4.6 vs 4.7: I ran my own benchmark through the Claude CLI
Apr 5, 2026
qubitcoin — a post-quantum Bitcoin rewrite, and why silent RPC failures matter
Mar 28, 2015
Cassandra on Marathon
Feb 12, 2026
Self-hosted GitHub Actions runners — setup, gotchas, and when it's worth it
Jun 15, 2021
GitHub Actions replacing Jenkins — what actually got better
Feb 26, 2020
Infrastructure continuous deployment with terraform and atlantis
Apr 17, 2026
tamtam — apps that write themselves, and the part of me that's fine with that
Apr 16, 2026
Opus 4.6 vs 4.7: I ran my own benchmark through the Claude CLI
Apr 12, 2026
Claude Mythos: the AI that hacked every OS and emailed a researcher about it
Apr 10, 2026
Agentic workflows for DevOps: what actually works and what will burn you
Mar 29, 2026
mcp-http-tools - any HTTP API as an MCP tool, zero code
Apr 17, 2026
tamtam — apps that write themselves, and the part of me that's fine with that
Apr 16, 2026
Opus 4.6 vs 4.7: I ran my own benchmark through the Claude CLI
Aug 30, 2019
How to run cheap Kubernetes cluster on AWS? pt1
Feb 7, 2020
Prometheus on ECS - Proof of Concept
Apr 19, 2026
kubernetes networking - how it actually works
Jul 10, 2025
Spot instances on EKS — cutting costs without cutting reliability
Feb 22, 2020
Free git repository for private projects - GitHub vs GitLab vs BitBucket
Aug 30, 2019
How to run cheap Kubernetes cluster on AWS? pt1
Apr 6, 2026
Overhauling a Jekyll blog — dark mode, code blocks, and all the small things
Apr 12, 2026
Claude Mythos: the AI that hacked every OS and emailed a researcher about it
Apr 17, 2026
tamtam — apps that write themselves, and the part of me that's fine with that
Apr 13, 2026
seo-tools — how I keep analytics and SEO across multiple sites from becoming a second job
Jan 20, 2026
Self-hosting Supabase on a VPS — what you actually need
Aug 10, 2025
SQLite as the production database — when it's actually fine
Feb 12, 2026
Self-hosted GitHub Actions runners — setup, gotchas, and when it's worth it
Aug 22, 2024
Fail2ban and firewall hardening on a public-facing VPS
Sep 25, 2023
Ansible for a single server — overkill or exactly right?
Apr 12, 2023
Deploying with PM2 — why I stopped using Docker for Node.js apps
Apr 21, 2026
OpenShift is Kubernetes, except when it isn't — notes after touching it again
Apr 10, 2026
Agentic workflows for DevOps: what actually works and what will burn you
Apr 17, 2026
tamtam — apps that write themselves, and the part of me that's fine with that
Apr 6, 2026
Overhauling a Jekyll blog — dark mode, code blocks, and all the small things
Mar 29, 2026
mcp-http-tools - any HTTP API as an MCP tool, zero code
Mar 28, 2026
macosx-audit - know what's running on your Mac
Mar 26, 2026
bioenv - Touch ID for your environment variables
Feb 12, 2026
Self-hosted GitHub Actions runners — setup, gotchas, and when it's worth it
Jan 20, 2026
Self-hosting Supabase on a VPS — what you actually need
May 30, 2025
React 19 + Vite — what changed from the webpack days
Apr 14, 2025
Upgrading EKS across four environments — the rolling strategy
Feb 18, 2025
Building with viem instead of ethers.js — the migration
Aug 22, 2024
Fail2ban and firewall hardening on a public-facing VPS
Mar 18, 2024
Loki + Promtail for log aggregation on a budget
Sep 25, 2023
Ansible for a single server — overkill or exactly right?
Apr 12, 2023
Deploying with PM2 — why I stopped using Docker for Node.js apps
Sep 20, 2022
Running Prometheus + Grafana on a single VPS
Mar 15, 2022
SSH config tricks I wish I knew years ago
Nov 8, 2021
Terraform state management — best practices I follow religiously
Jun 15, 2021
GitHub Actions replacing Jenkins — what actually got better
Mar 14, 2020
Migration to Google Cloud Dns from different provider.
Jan 20, 2026
Self-hosting Supabase on a VPS — what you actually need
Apr 12, 2023
Deploying with PM2 — why I stopped using Docker for Node.js apps
Aug 26, 2019
Updating this blog
Apr 2, 2015
Service Discovery with mesos-dns
Mar 28, 2015
Cassandra on Marathon
Apr 19, 2026
kubernetes networking - how it actually works
Aug 30, 2019
How to run cheap Kubernetes cluster on AWS? pt1
Feb 26, 2020
Infrastructure continuous deployment with terraform and atlantis
Feb 7, 2020
Prometheus on ECS - Proof of Concept
Jul 10, 2025
Spot instances on EKS — cutting costs without cutting reliability
Apr 14, 2025
Upgrading EKS across four environments — the rolling strategy
Mar 30, 2026
x402 - HTTP payments that actually work
Dec 5, 2023
First smart contract on Base — what surprised me
Apr 13, 2026
seo-tools — how I keep analytics and SEO across multiple sites from becoming a second job
Mar 14, 2020
Migration to Google Cloud Dns from different provider.
Apr 11, 2026
Gemma 4: testing the hype locally
Feb 22, 2020
Free git repository for private projects - GitHub vs GitLab vs BitBucket
Feb 12, 2026
Self-hosted GitHub Actions runners — setup, gotchas, and when it's worth it
Jun 15, 2021
GitHub Actions replacing Jenkins — what actually got better
Apr 6, 2026
Overhauling a Jekyll blog — dark mode, code blocks, and all the small things
Feb 8, 2020
Jekyll upgrade to version 4.0.0 with theme change
Apr 11, 2026
Gemma 4: testing the hype locally
Feb 15, 2020
Fighting Google Analytics bounce rate
Apr 13, 2026
seo-tools — how I keep analytics and SEO across multiple sites from becoming a second job
Sep 20, 2022
Running Prometheus + Grafana on a single VPS
Apr 10, 2026
Agentic workflows for DevOps: what actually works and what will burn you
Sep 25, 2023
Ansible for a single server — overkill or exactly right?
Nov 8, 2021
Terraform state management — best practices I follow religiously
Oct 28, 2019
Terragrunt upgrade to terraform 0.12
Apr 6, 2026
Overhauling a Jekyll blog — dark mode, code blocks, and all the small things
Feb 15, 2020
Fighting Google Analytics bounce rate
Feb 8, 2020
Jekyll upgrade to version 4.0.0 with theme change
Aug 26, 2019
Updating this blog
Aug 30, 2019
How to run cheap Kubernetes cluster on AWS? pt1
Apr 21, 2026
OpenShift is Kubernetes, except when it isn't — notes after touching it again
Apr 19, 2026
kubernetes networking - how it actually works
Apr 9, 2026
The four golden signals — what I actually monitor and why
Jul 10, 2025
Spot instances on EKS — cutting costs without cutting reliability
Apr 14, 2025
Upgrading EKS across four environments — the rolling strategy
Feb 26, 2020
Infrastructure continuous deployment with terraform and atlantis
Aug 30, 2019
How to run cheap Kubernetes cluster on AWS? pt1
Apr 6, 2026
Overhauling a Jekyll blog — dark mode, code blocks, and all the small things
Feb 15, 2020
Fighting Google Analytics bounce rate
Feb 8, 2020
Jekyll upgrade to version 4.0.0 with theme change
Aug 26, 2019
Updating this blog
Apr 16, 2026
Opus 4.6 vs 4.7: I ran my own benchmark through the Claude CLI
Apr 12, 2026
Claude Mythos: the AI that hacked every OS and emailed a researcher about it
Apr 11, 2026
Gemma 4: testing the hype locally
Apr 11, 2026
Gemma 4: testing the hype locally
Apr 11, 2026
Gemma 4: testing the hype locally
Mar 18, 2024
Loki + Promtail for log aggregation on a budget
Mar 28, 2026
macosx-audit - know what's running on your Mac
Mar 26, 2026
bioenv - Touch ID for your environment variables
Mar 28, 2015
Cassandra on Marathon
Mar 29, 2026
mcp-http-tools - any HTTP API as an MCP tool, zero code
Apr 2, 2015
Service Discovery with mesos-dns
Mar 28, 2015
Cassandra on Marathon
May 17, 2020
Mirkotik router backup with SSH and SFTP
Apr 21, 2026
OpenShift is Kubernetes, except when it isn't — notes after touching it again
Mar 29, 2026
mcp-http-tools - any HTTP API as an MCP tool, zero code
Mar 18, 2024
Loki + Promtail for log aggregation on a budget
Sep 20, 2022
Running Prometheus + Grafana on a single VPS
Feb 7, 2020
Prometheus on ECS - Proof of Concept
Apr 8, 2026
filmpick — a local movie recommendation engine, renamed
Mar 1, 2017
How traceroute works
Apr 19, 2026
kubernetes networking - how it actually works
Apr 17, 2026
tamtam — apps that write themselves, and the part of me that's fine with that
Apr 13, 2026
seo-tools — how I keep analytics and SEO across multiple sites from becoming a second job
Apr 8, 2026
filmpick — a local movie recommendation engine, renamed
Apr 9, 2026
The four golden signals — what I actually monitor and why
Apr 13, 2026
seo-tools — how I keep analytics and SEO across multiple sites from becoming a second job
Apr 11, 2026
Gemma 4: testing the hype locally
Apr 21, 2026
OpenShift is Kubernetes, except when it isn't — notes after touching it again
Apr 16, 2026
Opus 4.6 vs 4.7: I ran my own benchmark through the Claude CLI
May 9, 2020
Sentry 9 - fix for PagerDuty legacy integration.
Mar 30, 2026
x402 - HTTP payments that actually work
Apr 21, 2026
OpenShift is Kubernetes, except when it isn't — notes after touching it again
Apr 12, 2023
Deploying with PM2 — why I stopped using Docker for Node.js apps
Apr 5, 2026
qubitcoin — a post-quantum Bitcoin rewrite, and why silent RPC failures matter
Apr 21, 2026
OpenShift is Kubernetes, except when it isn't — notes after touching it again
Apr 9, 2026
The four golden signals — what I actually monitor and why
Mar 18, 2024
Loki + Promtail for log aggregation on a budget
Sep 20, 2022
Running Prometheus + Grafana on a single VPS
Feb 7, 2020
Prometheus on ECS - Proof of Concept
Jan 10, 2015
Hello world and Dell Latitude E5440 configuration
Apr 8, 2026
filmpick — a local movie recommendation engine, renamed
Mar 14, 2020
Migration to Google Cloud Dns from different provider.
May 30, 2025
React 19 + Vite — what changed from the webpack days
Apr 8, 2026
filmpick — a local movie recommendation engine, renamed
Apr 21, 2026
OpenShift is Kubernetes, except when it isn't — notes after touching it again
Apr 12, 2026
Claude Mythos: the AI that hacked every OS and emailed a researcher about it
Mar 28, 2026
macosx-audit - know what's running on your Mac
Mar 26, 2026
bioenv - Touch ID for your environment variables
Aug 22, 2024
Fail2ban and firewall hardening on a public-facing VPS
Mar 15, 2022
SSH config tricks I wish I knew years ago
May 9, 2020
Sentry 9 - fix for PagerDuty legacy integration.
Apr 13, 2026
seo-tools — how I keep analytics and SEO across multiple sites from becoming a second job
Apr 2, 2015
Service Discovery with mesos-dns
Dec 5, 2023
First smart contract on Base — what surprised me
Apr 17, 2026
tamtam — apps that write themselves, and the part of me that's fine with that
Apr 8, 2026
filmpick — a local movie recommendation engine, renamed
Aug 10, 2025
SQLite as the production database — when it's actually fine
Apr 9, 2026
The four golden signals — what I actually monitor and why
Mar 15, 2022
SSH config tricks I wish I knew years ago
Jan 20, 2026
Self-hosting Supabase on a VPS — what you actually need
Mar 26, 2026
bioenv - Touch ID for your environment variables
Jul 10, 2025
Spot instances on EKS — cutting costs without cutting reliability
Apr 14, 2025
Upgrading EKS across four environments — the rolling strategy
Nov 8, 2021
Terraform state management — best practices I follow religiously
Feb 26, 2020
Infrastructure continuous deployment with terraform and atlantis
Feb 7, 2020
Prometheus on ECS - Proof of Concept
Oct 28, 2019
Terragrunt upgrade to terraform 0.12
Oct 28, 2019
Terragrunt upgrade to terraform 0.12
Apr 5, 2026
qubitcoin — a post-quantum Bitcoin rewrite, and why silent RPC failures matter
Apr 8, 2026
filmpick — a local movie recommendation engine, renamed
Aug 10, 2025
SQLite as the production database — when it's actually fine
Mar 9, 2020
Mass file renaming containing nonASCII characters to ASCII
Mar 1, 2017
How traceroute works
Jan 15, 2015
SSH tunneling classics
Apr 5, 2026
qubitcoin — a post-quantum Bitcoin rewrite, and why silent RPC failures matter
May 30, 2025
React 19 + Vite — what changed from the webpack days
Feb 18, 2025
Building with viem instead of ethers.js — the migration
Feb 18, 2025
Building with viem instead of ethers.js — the migration
Jan 10, 2015
Hello world and Dell Latitude E5440 configuration
May 30, 2025
React 19 + Vite — what changed from the webpack days
Mar 30, 2026
x402 - HTTP payments that actually work
Feb 18, 2025
Building with viem instead of ethers.js — the migration
Dec 5, 2023
First smart contract on Base — what surprised me