Judging what to carry in your AI toolkit
Every new agentic AI improvement promises a win — but does yours pay off? I ran 18 experiments across three frontier models, using two popular tools, and only one beat its control.
Every new agentic AI improvement promises a win — but does yours pay off? I ran 18 experiments across three frontier models, using two popular tools, and only one beat its control.
Can a markdown persisted designed system stay aligned while iterating on changes with an AI? I shipped four design changes and a drift detector, with the markdown spec as the contract.
Apple shipped an entry level laptop for students and light tasks, but in the age of AI agents that can do work and be managed remotely, the MacBook Neo might be the perfect AI remote control.
A decade of self-hosted Ghost, quietly taxing me. Moving to Astro on Cloudflare made the blog feel developer-native again.
What streak can you achieve using a keyboard for everything without resorting to the mouse?
The first local tooling standard for LLM's to use tools on device.
A quick sketch illustrating why frequent iteration and learning validates direction to prevent going too far of course.
Clear boundaries, ownership, and guidance across org structure and software architecture empower teams to not get bogged down with compounding hidden coordination costs.
Without clarity and alignment software teams risk interpreting activity as progress.
Standing desk reminders fail for the same reason diets do. Using open-source BLE reverse-engineering to put a standing desk on a forced schedule — no willpower required.
Performance and accessibility degrade quietly between releases if nothing is measuring them. Lighthouse in GitHub Actions with score thresholds for performance, accessibility, best practices, and SEO — fails the build when you drop.
Third-party JavaScript can become a liability without you changing a single line. A GitHub Action that scans loaded JS libraries against Snyk's vulnerability database on every push and weekly.
A site can slow down commit by commit and you'd never know. PageSpeed Insights wired into GitHub Actions with enforced thresholds for desktop and mobile, triggered on push, schedule, and new posts.
Busyness and productivity are not the same thing in software teams. A twelve-point rundown of the technical practices — version control hygiene through observability — that actually move the needle.
Link rot is invisible until a reader hits it. Muffet + GitHub Actions turned broken link detection into a CI check that runs on push, schedule, and content updates.
What works for Google probably doesn't apply to the rest of us. Three SRE books — the SRE Book, the Workbook, and Seeking SRE — worth reading with that caveat firmly in mind.
Your dotfiles probably haven't been tested on a clean machine in years. A GitHub Actions macOS VM workflow that exercises a full dotfiles install on every push, for free.
Static key remapping only gets you so far. Modal window management, home-row vi navigation, key chords, and a system menu — all from Hammerspoon layered on top of Karabiner.
Keyboard shortcuts don't stick when you can never find the reference. Caps lock becomes a Hyper key via Karabiner, opening a conflict-free shortcut namespace with a quicklook cheatsheet trick.
Accelerate is the rare software book that brings data instead of opinions. It ties deployment frequency, lead time, MTTR, and change failure rate to real business outcomes — and has the receipts.
The repo finder worked. It just wasn't fast enough. A disk cache, named pipes, and a non-adjacent deduplication filter to keep FZF feeling instant even with large repo lists.
FZF is a tool that useful and easy to weave in to your needs. Shell history, files, git stash, branch checkout, repo clone, Docker entry — all faster with fzf in the mix.
Skipping three major Swift versions at once is a bad idea. A Swift 2-to-5 toy app migration covering what changed in syntax, type safety, stdlib, and ObjC interop.
Popping open a browser to find a repo breaks the command-line flow. A Go + FZF tool that fuzzy-searches and clones private GitHub repos — built up through three API iterations.
Documentation is most accurate the day it's written and wrong when needed. Shift left by making docs executable, generated, or version-controlled — leave hand-crafted prose as the last resort, not the default.
An alert nobody acts on is just noise with a timestamp. Five properties of a worthy alert — actionable, owned, contextualized, tunable, state-change aware — and why each one matters.
Most DevOps books are one person's opinion. This trio earns more trust. The Phoenix Project, The DevOps Handbook, and Accelerate in sequence: story first, then implementation, then data.
Renaming things Agile isn't transformation. What separates useful change from ceremony: eliminating waste and making small, steady investments in delivery capability that compound.
Integration flexibility is easy to undervalue until you need to change direction. API-first vendors and open-source tools are winning because flexibility at the integration layer is hard to retrofit later.
My dotfiles v1 setup for provisioning a clean mac.
The most interesting Prometheus work in 2018 wasn't inside Prometheus. PromCon highlights: Grafana's query explorer, Thanos, OpenMetrics, model builder, and automated benchmarking from the ecosystem around it.
Upgrading Ghost 0.5 to 2.x is not a trivial migration. Ghost CLI makes the upgrade manageable; a blue-green DNS cutover makes it safe enough to trust.
A 48-hour deadline teaches scoping faster than any process ever will. A Ludum Dare game jam as a lens on prioritization, chunking, and the delivery confidence that transfers to real projects.
Great software starts with hiring, not process. Six maxims that hold across company sizes — vision, feedback loops, focus, honesty, passion, learning — from teams that consistently ship well.
Manually resizing Xcode panes dozens of times a day adds up. Xcode Behaviors automate tab layout switches for editing, output, debug, and interface contexts — the IDE shifts with you.
Shorter isn't always better, and sleep helps you see the difference. Community feedback and .map() push the code further — then a night's sleep reveals where the clarity went.
Writing less Swift isn't the goal. Writing clearer Swift is. A keyboard input toy project as a concrete workout for operators, extensions, and unnamed argument conventions.
Exciting times for Apple and Swift.
Four years, seven apps, awards, press, declining revenue, and a decision. A look back at co-founding a mobile kids app startup — what it cost, what it taught, and what's next.
No matching posts.