noexec /tmp in 2024
Harden RHEL systems by mounting /tmp with noexec using systemd, with testing and Ansible automation to apply the configuration reliably
no-comment - drop in replacement for staticman
Replace abandoned Staticman comments with a tiny Cloudflare Worker that creates GitHub pull requests for manual comment approval, with minimal code and zero infrastructure
Deploy your own Cloudflare Workers
Build and deploy a TypeScript Cloudflare Worker from scratch with Wrangler, including local development, environment variables, secrets and deployment
Bun - first impressions
Try Bun as a faster Node.js alternative with built-in testing and tooling, then migrate a real TypeScript project and Docker image to Bun
Kubernetes Network Troubleshooting
A four-month home lab disaster - debugging Kubernetes, MetalLB, OpenWRT, KVM, Hyper-V, Wi-Fi, RAM, Longhorn, Ceph and VLANs until everything finally worked.
Home Assistant setup
Run Home Assistant OS on a lightweight KVM VM with Zigbee USB passthrough, HTTPS, Android access and network audio via DLNA
Deno on AWS Lambda
Explore Deno on AWS Lambda, including the rough edges of unsupported runtimes and a Terraform approach for deploying compiled Deno applications as Lambda zip files
bigdebian kubernetes debugging
Build a full-fat Debian 12 debugging container with networking tools like curl, netcat and dig, then use it as a handy Kubernetes troubleshooting toolbox
Ansible Passwords
Use Ansible Vault to encrypt individual secrets directly in YAML inventories, keeping passwords outside Git while making encrypted values easy to use in playbooks
Confluent JSON Schema - Blog series
A practical guide to Confluent JSON Schema management and evolution, covering Schema Registry, schema IDs, compatibility and development-to-production workflows
Which Confluent Schema ID?
Quickly inspect Kafka partition, offset and Confluent Schema ID values with kcat and a tiny Python script, producing concise output that is easy to read or screenshot.
How to register JSON schemas in Confluent Schema Registry using the REST API
Register a JSON Schema with Confluent Schema Registry using the REST API, including schema preparation, JSON formatting, upload scripts and content models
Confluent schema evolution in development and production
Learn practical Confluent Schema Registry evolution strategies for development and production, covering compatibility modes, controlled registration, CI/CD and automation
Confluent JSON Schema Evolution
Understand Confluent JSON Schema evolution with practical Java examples for adding and removing fields, compatibility modes, Jackson and open content models
Kubernetes + NVIDIA on K3S
Expose an NVIDIA RTX 3070 to K3s workloads on Debian with NVIDIA drivers, Container Toolkit, device plugins, GPU discovery and CUDA testing