Kenton Vizdos Headshot

Kenton Vizdos

Things I've Learned

this is my dev log. note: it's not a technical masterpiece, I just like writing (sometimes poorly) about what I learn!

One File, No Merge

The easiest way to steal a single file from another branch.

Git, Guides • Published on 11/11/2025

Routing Patterns in Go Stdlib

Learn how to organize Go HTTP routes using nested muxes, StripPrefix, and modular patterns. Transform messy flat routing into clean, scalable APIs using only the standard library - no third-party packages needed.

Go, Guides • Published on 07/05/2025

Demystifying the Go HTTP Mux

A practical guide to Go's HTTP mux: what it is, how it works, and how to scale routing patterns using the standard library's ServeMux, no third-party packages required.

Go, Guides • Published on 07/04/2025

A Perfectly Timed Phish: Inside a School-Targeted PDF Attack

A look into a targeted phishing attack against schools using encrypted PDFs, Docsend links, and suspiciously perfect timing.

Cybersecurity • Published on 07/02/2025

Real-Time Search Doesn't Mean Real-Time Requests

A practical look at how modern search inputs use debouncing and AbortControllers to feel fast without wasting resources. Includes real examples and tips for building your own.

UX, Optimization, Performance • Published on 05/27/2025

Getting the output of govulncheck

A quick attempt at getting data out of govulncheck for usage in Go apps.

Snippets • Published on 05/20/2025

Bottlenecked by My SSD — Not My Code: Searching Roughly 3M JSON Records in 130ms

I built a JSON scanner that beats jq by 200x+, searches 2.7M records in 130ms, and hits 5+ GB/s throughput. All in pure Go, no parsing, just raw bytes and flame charts.

Go, Concurrency, Performance • Published on 05/01/2025

Web Share API

A quick dive into the Web Share API: how it works, when to use it, and why it's surprisingly useful for modern web apps (especially on mobile). Includes code, fallbacks, and a few UX tips.

JavaScript, Guides • Published on 04/21/2025

My Experience With Twilio For Voice

My experience using Twilio for Voice with Go: easy setup, quick calls, but limited AMD accuracy and no Terraform support.

Go, Guides • Published on 04/09/2025

Learning About Server Sent Events

This post is a quick, hands-on intro to Server-Sent Events (SSE)—a lightweight way to push real-time updates from server to browser. It walks through sending events with Go, listening in JavaScript, handling custom events, and tweaking reconnection settings. If you want simple, one-way live updates without the overhead of WebSockets, SSE might be your new best friend.

JavaScript, Go • Published on 03/31/2025

Buttons Are An Endless Hell

This post humorously exposes the hidden chaos behind designing what appears to be a simple button. From basic styling to a labyrinth of states, variations, and accessibility tweaks, the rant reveals how a single UI element can escalate into a full-blown designer's nightmare.

Design, Rant • Published on 03/26/2025

Achieving 91 Percent Faster Docker Builds Using Stages And Layer Caching

I Cut Docker BuildX Times from 9 Minutes to 45 Seconds using better Layer Caching and Multi-Stage builds.

Docker, Thinking Out Loud • Published on 03/18/2025

How to fix Docker BuildX lfstack push Error

Encountering the fatal error: lfstack.push when cross-compiling Docker images with buildx? This issue happens when the base image lacks the correct platform setting, leading to runtime failures.

Docker, Hotfix • Published on 03/17/2025

I Learned About Pipelines By Making A Blog

I built a static blog generator using Go's concurrency model, leveraging pipelines for parallel processing. The result? 100 posts built in 25ms!

Go, Concurrency, Thinking Out Loud • Published on 03/16/2025

How to use Cloudflare Turnstile with Lit Components

Integrate Cloudflare Turnstile in LitJS via slots for seamless, secure bot protection in your apps.

Guides • Published on 03/15/2025