Blog

Technical articles on engineering, research, and leadership.

A running log of Yocto build failures I hit while learning embedded Linux. Each entry: what the error looked like, what caused it, how I fixed it, and what I'd do differently next time.

YoctoBitBakeEmbedded LinuxDebuggingBuild Systems

Twelve lessons from maintaining a Playwright end-to-end test suite against a live production SaaS. This article distills what a team learns over time about auth infrastructure, content-based waiting, locator discipline, page object boundaries, CI whitelisting, trace debugging, and the economics of E2E test coverage.

E2E TestingPlaywrightCI/CDTest ArchitectureQuality Assurance

Nine lessons from three rewrites of the audit trail system in TeamPulse, a multi-tenant compliance SaaS: why audit writes must fail open, how URL-derived metadata eliminates per-route boilerplate, why you need two audit tables instead of one, and how to map NIST compliance standards to specific lines of code.

Audit LoggingMulti-TenancyComplianceNISTSOC 2TypeScriptNext.js

Two battle-tested workflows for managing a heterogeneous server fleet over Tailscale SSH: a structured system update procedure with per-package reporting, and a comprehensive health investigation that audits services, storage, containers, GRUB, and security across every node.

InfrastructureDevOpsSSHAutomationTailscaleLinux

A structured, read-only workflow for analyzing Google Cloud Platform costs across an entire billing account. Covers BigQuery billing export queries, Cloud Logging and Monitoring cost analysis, idle resource detection, commitment coverage, anomaly detection, and cost forecasting.

GCPFinOpsCloud CostBigQueryInfrastructureDevOps