RSSAmplifier

Blog

Pierce Freeman

Software engineer and writer

pierce.devRSS feed ↗121 posts

Latest posts

How the Marina Safeway will change Fort Mason

Despite my earnest attempts, no one could show me an actual simulation of how the proposed Marina Safeway redevelopment would affect Fort Mason. So here it is.

A browser for agents

A new browser control layer built for agents instead of people.

The grey market of podcast appearances

People are trading horses to get on podcasts.

The way I travel

Strong opinions on travel, pretty strongly held.

Fixing slow AWS uploads

Double check your NVMe destinations

Local tools should still use vaults

Use 1Password with your Pydantic configurations.

We solved scratch content first

AI image generation solved from-scratch creation before editing, leaving us with infinite creative power but zero creative control.

Starting a podcast in 2025

Starting a new podcast can feel late, but market timing matters less than making something meaningfully different.

Being late but still being early

Living in San Francisco makes you feel late to every trend because your reference group is distorted.

Automating our home video imports

Digitizing decades of family videos from MiniDV and Hi8 tapes at lossless quality using dvrescue and FireWire for ~$300 instead of $4k.

Adding my parents to tailscale

Setting up secure remote access to a home media server for family members using Tailscale's VPN and ACL permissions.

A deep dive on agent sandboxes

How modern coding agents use OS-level sandboxing with macOS Seatbelt and Linux Landlock to balance powerful tool access with security.

Language servers for AI

Why language servers are becoming more important for AI coding agents than for human developers as deterministic validators in correction loops.

My simple home podcast studio

Building a home podcast studio from scratch with professional audio, 4K video recording, and remote guest capabilities for under $1k.

We need centralized infrastructure

Despite the distributed computing hype, centralized infrastructure often delivers better efficiency and economics when you run the actual numbers.

Coercing agents to follow conventions using AST validation

Using LLMs to generate AST validators that enforce coding conventions and prevent agents from taking shortcuts in testing.

My unified theory of social selling

How enterprise sales changes when you can't rely on email communication anymore. You turn to social media as a distribution channel.

My personal backup strategy

A dual-redundant backup system using rclone, Backblaze B2, and Docker to encrypt and sync data across multiple geographic regions.

July updates to the homelab

Upgrading from QNAP to Unifi UNAS for faster network storage and cleaner rack organization with patch panels and proper mounting hardware.

How the KV Cache works

An interactive explanation of how transformer models cache key-value pairs to avoid redundant calculations and speed up token generation.

httpx is the right way to do web requests in Python

Why httpx is becoming the standard for Python HTTP requests with async support, reliable testing, and OpenAPI client generation.

Reputation is becoming everything

How AI-assisted interview tools are making remote screening unreliable and shifting hiring toward reputation-based systems.

Building a (kind of) invisible mac app

A technical exploration of how window-level capture protection works in macOS.

Updated knowledge in language models

When to bake knowledge into model weights versus using retrieval tools, and why experiential knowledge differs from factual knowledge.

Making an ascii animation

Breaking down the technical process behind Ghostty's terminal animation using color filtering, luminance mapping, and ASCII character density.

How speculative decoding works

Using a small draft model to generate speculative tokens that a large model verifies in parallel, achieving 2-4x inference speedup without quality loss.

Under the hood of Claude Code

Reverse-engineering Claude Code's architecture by analyzing its minimized JavaScript to understand tool prompts, task decomposition, and error handling.

Doing things because they're easy, not hard

How AI agents are changing the economics of side projects by making automation cheap enough to build tools you'd never justify manually.

Go ahead, self-host Postgres

Self-hosting Postgres is simpler and cheaper than managed services suggest, with comparable reliability and better performance tunability.

Speeding up sideeffects with JIT in mountaineer

Using AST analysis to generate specialized render functions at runtime that only compute the state fields actually modified by a sideeffect.

Firehot for hot reloading in Python

A hybrid hot reloading approach using Unix fork() to keep third-party imports cached while reloading project code for sub-second restart times.

Misadventures in Python hot reloading

Why Python hot reloading is harder than JavaScript's and the tradeoffs between process restarts, selective invalidation, and hybrid approaches.

How text diffusion works

How Google's Gemini Diffusion generates text by progressively unmasking tokens in parallel instead of autoregressive left-to-right generation.

The tenacity of modern LLMs

How modern LLMs iterate relentlessly through feedback loops with unit tests, trying different approaches until they find working solutions.

The ergonomics of rails

Why Rails succeeded over PHP by eliminating repetitive work through conventions, integrated ORMs, and developer-first design philosophy.

How language servers work

A technical deep dive into language server internals, from AST parsing to semantic analysis and rule engines that power IDE linting.

Just add eggs

Cracking the egg is as true in software as it is in cake mix.

Unfortunately SEO still matters

Everyone's saying SEO is done and dusted. It's over. GEO (generative engine optimization) is the name of the game now. Or maybe companies should stop writing bad quality stuff.

The futility of human-only web requirements

AI agents may well become the main entities that touch the web. Too bad websites try to block them at every turn. Fundamentally the web's anti-bot defenses are solving the wrong problem. Who cares whether that's human or AI-mediated?

Setting up Input Leap

InputLeap is an open source KVM that lets you share your keyboard and mouse with multiple machines over the network. Perfect for controlling rack-mounted homelab servers without a dedicated keyboard.

Checking in on Waymo

In under two years cars went from what felt like some CV models and a detailed control system to driving better than most people. I don't know a single person that prefers to take Ubers anymore. If Waymos are any indication of how far we can push transformers, it's pretty damn far.

The react revolution

React changed the engineering world when it walked on stage in May 2013. React didn’t just win the JavaScript wars; it changed how every major platform thinks about UI.

Speeding up many small transfers to a unifi nas

Moving some of my old local ML projects to a NAS was taking an _unbearably_ long time. A folder with 25k small files was estimating a whole day to transfer. When bundled into a single tarfile it finished in 2 minutes flat.

Quick notes on swift libraries

I've been dipping my toes back into the macOS development scene after a long hiatus of focusing only on the web. After being spoiled by the package ecosystem of Python+JS, I was wondering how different the Swift scene looks from the Objective-C scene of yore.

AI engineering is a different animal

Great engineers can see most of the major roadblocks in the way because they can visualize how to get from Point A to Point B. You make progress day by day. You pull some all-nighters. And before you know it you have enough features to make a product. AI is not like that.

San Francisco

Skip the Golden Gate photos and hit the coastal trails, farmers markets, and foggy beaches where locals actually spend their weekends.

Debugging a mountaineer rendering segfault

Debugging a V8 memory allocation segfault caused by CPU PKU flags when initializing the platform on secondary threads instead of the main thread.

Local network config on macOS

The "Local Network" Privacy setting on macos needs a redesign.

Building our home network

Notes on building our 10gbps home network, from choosing Sonic as our ISP to a blinking server rack in the corner.

Introducing Envelope.dev

Envelope is a new package registry for private python packages. It started as a side project just to host my own packages. After using it for the last year, I realized that it could be useful for others as well.