All posts
Wails in Practice #2 SQLite Local Database — Pure Go, No CGO
Add persistence to the notes app. Covers the CGO trap that blocks cross-compilation when using SQLite in a Wails app and how the pure-Go driver modernc.org/sqlite sidesteps it, the repository layer implementation, schema and migrations, and CRUD with validation applied in the service layer.
Where Kubernetes Gets Slow — API Server, etcd, Scheduler
Diagnosing the situation where workloads are fine but kubectl crawls and rollouts lag — a slow control plane. Excessive LIST/WATCH traffic hammering the API server, etcd fsync latency and database bloat, scheduler delays, and the metrics and fixes for each.
Building Desktop Apps with Wails #7 Adding a Frontend Framework — Svelte, Vue, React
Swap the vanilla front half from the main series for a framework, for a real app whose state grows. Covers what it means that Wails is frontend-agnostic, starting Svelte/Vue/React with wails init templates, that the generated bindings are the same regardless of framework, and connecting binding results to framework state.
ECS vs EKS: Choosing a Container Orchestrator
A working standard for choosing between ECS and EKS: why the real cost is bigger than the free-vs-$73/month control plane difference, the EKS upgrade cycle and the extended-support fee that multiplies by six when neglected, what Auto Mode takes off your plate and what it leaves, the conditions where the Kubernetes ecosystem is genuinely required, and how team size, portability, and hiring shape the decision.
GitHub Foundations #1: Exam Overview — Structure and Study Strategy
An overview of GitHub Foundations, the official entry-level GitHub certification: exam structure, the seven domains, and registration. We also lay out a study strategy that combines the official resources with the Git track on this blog.
How to Choose requests and limits — Rules That Hold Up in Operations
Not what requests and limits mean, but what numbers to write: measurement-based request sizing, the CPU limit throttling debate, why memory limits are the default, QoS classes and eviction order, using VPA in recommendation mode, and the two failure modes — over-reservation and unlimited memory.
Wails in Practice #1 Designing a Real Project — What to Build and How to Split It
The first post of the Wails practice series. Going beyond the in-memory to-do app of the intro, we design a local notes app worth shipping: deciding what to build, drawing the boundary that splits the Go backend into a service layer, choosing a frontend state approach, and mapping the final form we complete across six posts.
Aurora vs RDS: The Structural Difference and When to Switch
A working standard for choosing between Aurora and standard RDS: what the separated compute/storage architecture buys (15 shared-storage read replicas, fast failover, 256TiB auto-scaling), the three-layer pricing where storage and I/O ride on an instance premium, the 25% threshold that makes I/O-Optimized cheaper, Serverless v2 with scale-to-zero, and the conditions where standard RDS remains the right answer.
Build a Desktop App with Wails #6: Build and Distribution — Packaging per Platform
Build a single binary with wails build and package it as a Windows installer, a macOS app bundle, and a Linux binary. The final part of the series, covering the cross-compilation constraint, GitHub Actions matrix builds, and the outlook for v3.
Overwrote Commits with git push --force — Recovery and Prevention
A recovery guide for when a force push wipes a teammate's commits from the remote branch. It covers the three recovery paths — a teammate's local clone, your remote-tracking reflog, and the hosting service's records — plus the settings that prevent a repeat.
When HPA Doesn't Behave — 6 Common Configuration Mistakes
Why a Kubernetes HPA fails to scale, scales too late, or oscillates all day: missing requests and what the target percentage really means, scale-up reaction time and stabilization windows, flapping, GitOps fighting over replicas, and the limits of scaling on CPU alone.
Build a Desktop App with Wails #5: Real-World Features — Persisting Settings and Error Handling
Persist the todo data as JSON under os.UserConfigDir and wire it into the startup and shutdown hooks. We also cover the flow where a Go error becomes a frontend notification, file logging, and why external API calls belong on the Go side.