Go collapses for, for-of, for-in, and forEach into one for, and a missing map key returns a zero value instead of undefined. Both are smaller languages on purpose.
Read more →Blog
Notes on mobile engineering, React Native, Go, product architecture, and things I am learning in public.
A method is just a function with a receiver, a nil interface panics differently than a nil pointer, and iota isn't a TypeScript enum — three Go idioms I had to unlearn my TS assumptions for.
Read more →Defer's evaluation timing and named return values that get mutated after the return statement: two Go function features with no real TypeScript equivalent.
Read more →Slice headers, nil comparisons, and pointer fields for optional values: three places Go's syntax looks like TypeScript but the semantics don't match.
Read more →Six Go patterns that compile cleanly and quietly do the wrong thing: loop capture, typed nil, slice aliasing, shadowed err, defer in a loop, and range copies.
Read more →Setting up Glance, a self-hosted dashboard, to replace the dozen tabs.
Read more →A quick-reference table of macOS terminal commands: file system navigation, file operations, system monitoring, network utilities, and permissions.
Read more →I finished vimtutor, used kickstart.nvim for a nicer practice setup, and wrote down the commands that felt useful without becoming a wall of Vim trivia.
Read more →A small query key factory made my TanStack Query cache updates and invalidations much less annoying.
Read more →How I set up Cmd+Shift+L in VSCode to instantly insert console.log() — or console.log('varName', varName) when a variable is selected.
Read more →AI code generation is genuinely useful, but approving every suggestion without reading it is a habit that will eventually cost you.
Read more →Adding a custom Telegram icon to an Astro project broke all icons and threw a cryptic error. The fix was deleting the .astro cache folder.
Read more →Exploring the idiomatic approach to object initialization in Go and understanding why we use constructor functions to create new struct instances.
Read more →A small FastLED sketch for the Waveshare ESP32-S3-Matrix that cycles through six colorful effects on the 8x8 LED matrix.
Read more →