Field notes
Field notes
Short technical notes from the work. Not essays, not tutorials.
Enforcing AI agents' coding rules with scripts, not instructions
Install each rule's check before the code it guards, prove it can fail, and label what no script can decide
Claude Code, OpenAI Codex, Python, import-linter
Field note · Oct 2026
Install each rule's check before the code it guards, prove it can fail, and label what no script can decide
Claude Code, OpenAI Codex, Python, import-linter
Field note · Oct 2026
Stopping two passing agent PRs from breaking main together
One landing queue that tests the combined code under a lock, a lesson I had to learn three times
Git, GitHub, Bash, Python, bors, GitHub merge queue
Field note · Oct 2026
One landing queue that tests the combined code under a lock, a lesson I had to learn three times
Git, GitHub, Bash, Python, bors, GitHub merge queue
Field note · Oct 2026
Checking with GitHub before marking an AI agent's task done
Why my agent pipeline confirms merges with GitHub before marking work done, and the dashboards and alarms that still misled me
Claude Code, OpenAI Codex, GitHub CLI, Python, Bash
Field note · Oct 2026
Why my agent pipeline confirms merges with GitHub before marking work done, and the dashboards and alarms that still misled me
Claude Code, OpenAI Codex, GitHub CLI, Python, Bash
Field note · Oct 2026
Least-privilege Terraform deploy roles without hour-long retries
Iterating a deploy-role policy in a dev account, shipping it to the policy repo once, and what the IAM tools miss
Terraform, AWS IAM, IAM Access Analyzer, AWS CloudTrail, Amazon EC2, iamlive
Field note · Oct 2026
Iterating a deploy-role policy in a dev account, shipping it to the policy repo once, and what the IAM tools miss
Terraform, AWS IAM, IAM Access Analyzer, AWS CloudTrail, Amazon EC2, iamlive
Field note · Oct 2026
Three Mac Studios instead of AWS spot instances for my build servers
Measured build times, payback math, and what would make renting the better choice
Apple Mac Studio, Amazon EC2 Spot Instances, Xcode, React, Python
Field note · Oct 2026
Measured build times, payback math, and what would make renting the better choice
Apple Mac Studio, Amazon EC2 Spot Instances, Xcode, React, Python
Field note · Oct 2026
Caching any .NET function in Redis with one attribute
A one-minute cache with no invalidation, where the business chose the staleness and Grafana showed whether it helped
.NET, PostSharp, Redis, HybridCache, Grafana
Field note · Sep 2026
A one-minute cache with no invalidation, where the business chose the staleness and Grafana showed whether it helped
.NET, PostSharp, Redis, HybridCache, Grafana
Field note · Sep 2026
Lambda canary deploys: roll back traffic, not code
Shifting traffic between Lambda versions on health, with database changes that only add so fixing forward stays safe
AWS Lambda, AWS CodeDeploy, Amazon CloudWatch, AWS SAM
Field note · Sep 2026
Shifting traffic between Lambda versions on health, with database changes that only add so fixing forward stays safe
AWS Lambda, AWS CodeDeploy, Amazon CloudWatch, AWS SAM
Field note · Sep 2026
Prompting Cursor from Figma one component at a time
How to break a design into pieces an AI coding assistant can build, with the prompts that worked
Figma, Cursor, React, Node.js
Field note · Sep 2026
How to break a design into pieces an AI coding assistant can build, with the prompts that worked
Figma, Cursor, React, Node.js
Field note · Sep 2026
An AI assistant that fills in web app forms for users
How the assistant reads the page, which actions it's allowed to take, and why Submit stays with a human
React, Node.js, Claude API (Anthropic SDK), JSON Schema
Field note · Sep 2026
How the assistant reads the page, which actions it's allowed to take, and why Submit stays with a human
React, Node.js, Claude API (Anthropic SDK), JSON Schema
Field note · Sep 2026
Capping a Lambda headless-Chrome fleet that pre-renders pages
How one setting bounds how many renders run at once, and a Redis set stops the crawl rendering a page twice
AWS Lambda, Amazon SQS, Amazon ElastiCache, Amazon S3, Amazon CloudFront, Headless Chromium
Field note · Sep 2026
How one setting bounds how many renders run at once, and a Redis set stops the crawl rendering a page twice
AWS Lambda, Amazon SQS, Amazon ElastiCache, Amazon S3, Amazon CloudFront, Headless Chromium
Field note · Sep 2026
Migrations that run at startup, under a lock
Forward-only migrations that run inside the service on boot, under a lock
Node.js, SQLite, PostgreSQL, Amazon ECS
Field note · Sep 2026
Forward-only migrations that run inside the service on boot, under a lock
Node.js, SQLite, PostgreSQL, Amazon ECS
Field note · Sep 2026
Timing every .NET API function with one line of code
A .NET tracing tag that logged each request once, fed the dashboards, and generated a map of which function calls which
.NET, PostSharp, OpenTelemetry, Graphite, Grafana, Splunk, Redis
Field note · Sep 2026
A .NET tracing tag that logged each request once, fed the dashboards, and generated a map of which function calls which
.NET, PostSharp, OpenTelemetry, Graphite, Grafana, Splunk, Redis
Field note · Sep 2026
Matching AI models to spec, build, and review steps
Which model and effort level writes specs, builds, and reviews, as of August 2026
Claude Code, OpenAI Codex, Grok, Qwen
Field note · Aug 2026
Which model and effort level writes specs, builds, and reviews, as of August 2026
Claude Code, OpenAI Codex, Grok, Qwen
Field note · Aug 2026
Sharing a CloudFront certificate across regions in CDK
SSM Parameter Store carries a certificate ARN across regions where a stack export cannot
AWS CDK, AWS CloudFormation, Amazon CloudFront, AWS Certificate Manager, AWS Systems Manager Parameter Store
Field note · Aug 2026
SSM Parameter Store carries a certificate ARN across regions where a stack export cannot
AWS CDK, AWS CloudFormation, Amazon CloudFront, AWS Certificate Manager, AWS Systems Manager Parameter Store
Field note · Aug 2026
Splitting Terraform by environment, and tuning Lambdas outside it
Separate directories per environment, and ignore_changes so Lambda memory and concurrency are tuned with the AWS CLI
Terraform, Amazon S3, Amazon DynamoDB, AWS Systems Manager Parameter Store
Field note · Aug 2026
Separate directories per environment, and ignore_changes so Lambda memory and concurrency are tuned with the AWS CLI
Terraform, Amazon S3, Amazon DynamoDB, AWS Systems Manager Parameter Store
Field note · Aug 2026
Terraform or AWS CDK: how I decide
A company requirement made the choice, and CDK inherits CloudFormation's slow, stuck deploys
Terraform, AWS CDK, AWS CloudFormation
Field note · Aug 2026
A company requirement made the choice, and CDK inherits CloudFormation's slow, stuck deploys
Terraform, AWS CDK, AWS CloudFormation
Field note · Aug 2026
Recovering corrupted Terraform state, cheapest fix first
Recovery steps from reading the plan to restoring from S3, with tear-down kept to dev
Terraform, Amazon S3, AWS Lambda, Amazon VPC
Field note · Aug 2026
Recovery steps from reading the plan to restoring from S3, with tear-down kept to dev
Terraform, Amazon S3, AWS Lambda, Amazon VPC
Field note · Aug 2026
Start
Tell me what’s actually happening. I’ll say if I’ve got a note on it.
Tell me what’s stuck
I’ll tell you in about a day whether I’m the right person. The first conversation is fit, not a free architecture review.