All blogs / Software / engineering practice
Pierce Freeman
Software engineer and writer
Software / engineering practiceAI / MLDevOps / SRE / infrastructureTravel
- Posts
- 122 from 5 Apr 2021 to 14 Oct 2026
- Posting
- monthly (12 in the last year)
- Kind
- personal blog
- Feed
- https://pierce.dev/rss.xml
2026 8
2025 42
- Starting a podcast in 2025
- Being late but still being early
- Automating our home video imports
- Adding my parents to tailscale
- A deep dive on agent sandboxes
- Language servers for AI
- My simple home podcast studio
- We need centralized infrastructure
- Coercing agents to follow conventions using AST validation
- My unified theory of social selling
- My personal backup strategy
- July updates to the homelab
- How the KV Cache works
- httpx is the right way to do web requests in Python
- Reputation is becoming everything
- Building a (kind of) invisible mac app
- Updated knowledge in language models
- Making an ascii animation
- How speculative decoding works
- Under the hood of Claude Code
- Doing things because they're easy, not hard
- Go ahead, self-host Postgres
- Speeding up sideeffects with JIT in mountaineer
- Firehot for hot reloading in Python
- Misadventures in Python hot reloading
- How text diffusion works
- The tenacity of modern LLMs
- The ergonomics of rails
- How language servers work
- Just add eggs
- Unfortunately SEO still matters
- The futility of human-only web requirements
- Setting up Input Leap
- Checking in on Waymo
- The react revolution
- Speeding up many small transfers to a unifi nas
- Quick notes on swift libraries
- AI engineering is a different animal
- San Francisco
- Debugging a mountaineer rendering segfault
- Local network config on macOS
- Building our home network
2024 12
- Introducing Envelope.dev
- Legacy code and AI copilots
- Typehinting from day-zero
- Generating database migrations with acyclic graphs
- Lofoten
- Mountaineer v0.1: Webapps in Python and React
- Constraining LLM Outputs
- Passthrough above all
- Accuracy in kudos
- How quick we are to adapt
- The curious case of LM repetition
- Costa Rica
2023 23
- Debugging chrome extensions with system-level logging
- Speeding up runpod
- Inline footnotes with html templates
- Parsing Common Crawl in a day for $60
- An era of rich CLI
- All or nothing with remote work
- The Next 10 Years
- Adding wheels to flash-attention
- LLMs as interdisciplinary agents
- New Zealand
- Representations in autoregressive models
- Let's talk about Siri
- Minimum viable public infrastructure
- Reasoning vs. Memorization in LLMs
- Automatically migrate enums in alembic
- Greater sequence lengths will set us free
- On learning to ski
- Dolomites
- Using grpc with node and typescript
- Opportunity years
- Buzzword peaks and valleys
- Buenos Aires
- Network routing interaction on MacOS
2022 33
- Independent work: November recap
- Debugging slow pytorch training performance
- The provenance of copy and paste
- Debugging tips for neural network training
- Patagonia
- Santiago
- My 2022 digital travel kit
- AWS vs GCP - GPU Availability V2
- Independent work: October recap
- Planning Patagonia
- Relationship modeling
- The power of status updates
- A new chapter
- Give my library a coffee shop
- AWS vs GCP - GPU Availability V1
- Switzerland
- Headfull browsers beat headless
- Webcrawling tradeoffs
- Copenhagen
- Busses can fool me thrice
- The transit ratio
- Programatic Money
- Amsterdam
- Paris
- Falling for Kubernetes
- Cascais
- Content that I'm obsessed with
- Remote work is a better tourism
- The new opportunity in travel
- Labor markets calibrate satisfaction
- Installing FastText on an M1 Mac
- Architecting a blog
- Write where you are