Writing · Log

Notes from the margins
of the editor.

Short essays on the software I build, the decisions that didn't make the design doc, and the unglamorous work that keeps production quiet. Updated when I have something to say.

Filter
Oct 16, 2025
VIM: quick look up
Essential commands, motions, and muscle-memory patterns for daily VIM usage.
vim
~ 3 min read
Sep 30, 2025
Think Before You `install`: How a Git Clone Can Compromise Your System
How a malicious package or postinstall hook can silently compromise your system.
githubnpmpnpm
~ 8 min read
Sep 16, 2025
Fine-Tuning Llama 3.2 1B: GPU vs CPU Deployment on Cloud Run
Comparing GPU and CPU inference paths on Cloud Run for a fine-tuned language model.
llmfine-tuningvllm
~ 10 min read
Sep 12, 2025
Building a Minimalist Portfolio with SolidJS
From blank page to deployed portfolio — signals, file-based routing, and zero-runtime CSS.
solidjsportfolioweb-development
~ 7 min read
Jan 15, 2025
Real-Time Data Pipelines: Go, WebSockets, and Apache Druid in Production
Moving financial tick data with Go and WebSockets into Apache Druid — lessons from production.
golangwebsocketprotobuf
~ 12 min read
Nov 2, 2024
Complete Guide: Monitor FastAPI Apps with New Relic APM
Setting up APM, distributed traces, and custom dashboards for a FastAPI application.
newrelicmonitoringoptimization
~ 6 min read
Nov 2, 2024
Production Observability: Deploy Grafana Stack with OpenTelemetry
OpenTelemetry collector, Loki, Tempo, and Prometheus — wired together in one compose file.
observabilityoptimization
~ 8 min read
Oct 5, 2024
Why Cloudflared Beats Ngrok: Zero-Config Tunnels for Local Development
Persistent, authenticated tunnels with zero port-forwarding configuration needed.
cloudflaretunnelsdevelopment
~ 5 min read
Oct 5, 2024
FastAPI Lifespan Events: Managing Resources and Background Tasks
Managing startup, shutdown, and long-lived resources without global state.
fastapilifespanoptimization
~ 6 min read
Oct 5, 2024
Indexify in Action: Build Multi-Stage ML Pipelines at Scale
Building multi-stage ML document pipelines with built-in parallelism and retries.
indexifyworkflowapi
~ 8 min read
Sep 1, 2024
Smart Routing for RAG: Direct Queries to the Right Model Every Time
Classifying queries at the router to choose between dense retrieval and direct generation.
llmembeddingvector
~ 7 min read
Aug 30, 2024
pgvector: Scale Semantic Search in PostgreSQL Without New Infrastructure
Adding semantic search to an existing PostgreSQL database — no new infra required.
llmembeddingvector
~ 6 min read
Aug 15, 2024
BAML: Type-Safe LLM Outputs with Compile-Time Validation
Compile-time validation for LLM outputs using a typed schema DSL.
llmstructured dataunstructured data
~ 5 min read
Aug 9, 2024
Supabase Best Practices: Row-Level Security and Edge Functions Done Right
Row-level security patterns and edge function pitfalls worth knowing before you ship.
database
~ 7 min read
Jul 11, 2024
Choosing the Right LLM Evaluation Framework: A Practical Comparison
LangSmith, RAGAS, and DeepEval — what each does well and when to reach for it.
llmevaluationframeworks
~ 8 min read