Engineering
Software development, synthesis coding, and DevOps
54 articlesDemo mode as a pattern for software
Ship every software product with built-in demo mode. The pattern serves authors, users, sales teams, and compliance — and synthesis engineering makes it cheap e
Restoring 16 Broken Blog Images Using AI, the Wayback Machine, and a 93GB Photo Backup
How I used Claude Code, the Wayback Machine, and AI vision to restore 16 broken images from a decommissioned Smugmug photo hosting service across 10 blog posts.
Synthesis Console: open-source tooling for synthesis engineering
An open-source local tool that renders project management markdown and YAML as browsable, searchable pages. Three dependencies, no client-side framework, and a
Transferable Knowledge: The Fifth Pillar of Synthesis Coding
You understand your AI-generated code. Can your teammates? Transferable Knowledge is the fifth pillar of synthesis coding -- ensuring AI-assisted work is compre
"All tests pass" is a warning, not a clearance
Why a green test suite after a schema change should trigger suspicion, not confidence. A verification methodology that catches what tests structurally cannot —
Stop asking me: configuring Claude Code permissions for uninterrupted flow
A practitioner guide to eliminating Claude Code approval prompt fatigue. Why granular command patterns fail for compound commands, the Bash(*) plus deny list ap
Managing AI agent skills at scale: a three-repo architecture
A three-repo architecture for managing public, private, and team AI agent skills with provenance tracking, drift detection, and synthesis merge — the first stan
Synthesis Skills: install methodology directly into your AI workflow
22 open-source Agent Skills encoding synthesis coding and synthesis engineering methodology. One command installs code review, content quality, project manageme
Synthesis merging: what happens after the first PR
Synthesis merging goes beyond conflict resolution. It is the creative act of integrating contributions into a coherent whole, making the combined result better
When a code review runbook becomes an upgrade playbook
I built a code review runbook to find problems. Then I used it on codebases I owned, and the review categories became execution phases. A checklist for assessme
What reviewing real codebases taught me about code review
I published a 900-check code review runbook. Then I used it on real engagements. The checklist worked, but the real lessons were about the process — starting wi
When Someone Else Contributes to Your Synthesis-Coded Project
Standard merge workflows break down for synthesis-coded projects. The adopt-and-adapt pattern provides a disciplined integration methodology that respects contr
The research lineage from recursive neural networks to human-AI collaborative development
Tracing the intellectual thread from Richard Socher's compositional representations through DecaNLP to the systems-level engineering challenges of human-AI soft
From learned representations to engineered context: what Richard Socher's research tells us about working with AI
Richard Socher's research arc — from GloVe to DecaNLP to 'managers of AI' — maps directly onto the principles behind synthesis coding. The connections are struc
Code Review That Scales: An Open-Source Runbook for Agentic Engineering
Most code review checklists are either too shallow or too heavy. This open-source runbook tiers review depth by project complexity — and is designed for agentic
When Two Frameworks Point the Same Direction
LangChain published Agent Engineering on December 9. I'd been developing Synthesis Engineering since early November. We arrived at remarkably similar conclusion
RAG Architecture Lessons from Practice
Building a retrieval-augmented generation system revealed patterns the tutorials don't cover. Contractions break search. Not everything needs an LLM. Full docum
Data Format Contracts for AI Pipelines
When tools interact, implicit assumptions break silently. Explicit data format contracts prevent the debugging sessions you don't have time for.
The Foundation-First Pattern
Why the most effective AI-assisted projects start with humans writing code by hand. The counterintuitive pattern that makes everything else work.
What is Synthesis Engineering?
Synthesis engineering is a professional discipline for human-AI collaboration on complex work. Not just better prompting — a systematic approach with princ...
What OpenAI's Sora Build Teaches Us About Synthesis Coding
Four engineers shipped a #1 Play Store app in 28 days using AI agents. Their approach validates the patterns I've been writing about — and adds new ones worth s
Building ownwords: A Synthesis Coding Case Study
What separates synthesis coding from vibe coding isn''t the tools — it''s the decisions. This technical case study walks through the architectural choices,...
Why Synthesis Coding Still Writes Code in the Age of LLMs
The answer is not "just let the model do it" — and code matters more, not less, as AI gets dramatically better Last spring, my son Fitz and I had an aftern...
Vibe Coding and Synthesis Coding: Two Complementary Approaches
Why the conversation isn''t about which approach is better — it''s about knowing when to use each This blog post is for software engineers, engineering lea...
Polyrepo Synthesis: Synthesis Coding Across Multiple Repositories with Claude Code in Visual Studio Code
I wrote this blog post for software engineers, architects, and technical leads. It is code-heavy and implementation-focused. This weekend I was working acr...
Seventeen years ago, I built a tool for the open Web. This weekend, I modernized it using Synthesis Coding with Claude Code AI
In 2008, I released a WordPress plugin called Blogroll Links. The plugin displayed lists of links on WordPress pages using a shortcode. But the idea behind...
Iterative Context Building: The Fourth Pillar of Synthesis Coding
AI effectiveness compounds when context accumulates systematically. The fourth pillar of synthesis coding treats context like compound interest -- each session
Active System Understanding: The Third Pillar of Synthesis Coding
AI can generate code faster than you can read it. That is exactly why you must read it. The third pillar of synthesis coding is active system understanding.
Systematic Quality Standards: The Second Pillar of Synthesis Coding
AI-generated code should meet the same quality standards as human-written code. But the way you achieve those standards changes fundamentally when AI is your co
Human Architectural Authority: The First Pillar of Synthesis Coding
AI can write code faster than any human. But it cannot hold a consistent architectural vision across months of development. That is why the first pillar of synt
Synthesis Coding with Claude Code: Technical Implementation and Workflows
A hands-on guide to practicing synthesis coding (a.k.a. synthesis engineering) with concrete examples, real workflows, and lessons from production systems ...
The Synthesis Engineering Framework: How Organizations Build Production Software with AI
From individual practice to organizational capability: a systematic approach to human-AI collaboration in professional software development This blog post ...
Synthesis Engineering: The Professional Practice Emerging in AI-Assisted Development
Why the most effective engineering organizations are developing systematic approaches that go beyond vibe coding — and why this practice needs a name This ...
What Open Source Taught Me About Building Innovation
Open source is the most reliable engine of compounding innovation in software. The four properties that separate compounding projects from inert ones, and what
Facilitating Team Communication by AI Prompting Humans! Introducing Daily Team Sync
Introducing Daily Team Sync, an open-source AI tool that generates personalized standup prompts for Slack to facilitate team communication without replacing hum
MatheMagic Card Trick
MatheMagic Card Trick is a JavaScript project that generates math-based magic trick cards, co-authored by Rajiv and his son Fitz.
How do you launch a suite of Mobile, Web, and Voice products from ideation to go live in 12 weeks?
How the Thrive Global team launched mobile, web, and voice products from ideation to go-live in 12 weeks with product development partner Very.
SHA-3 Hash Generator
An interactive browser-based SHA-3 cryptographic hash generator supporting 512, 384, 256, and 224-bit output lengths using the Keccak algorithm.
Product Maintenance vs. New Development on Web Sites, Mobile Apps and Other Digital Products
A framework for distinguishing software maintenance from new development, covering four maintenance types with examples for web and mobile products.
Using Amazon Elastic Block Store (EBS) with an EC2 Instance
A technical guide to using Amazon Elastic Block Store with EC2 instances, including commands for persistent storage setup and data migration.
Social Graphs API: WordPress Plugin: Blogroll Links
An open source WordPress plugin for displaying blogroll links with XFN social graph markup, supporting Google's Social Graph API.
Building Cofax: A Content Management System for Newspapers
How a team at Philadelphia Newspapers built Cofax, a CMS that reduced web publishing time from 8 hours to 45 minutes.
Converting Numbers to Words in Perl
A Perl module that converts numbers to English words, handling digits through quadrillions, with plans for Indian English support.
Sending Mail from Java Programs
A Java class for sending email via SMTP, usable from Java programs and ASP pages on IIS for web application notifications.
Including Remote URLs in Web Pages
A Java program that includes content from remote URLs into web pages, enabling ad serving and dynamic content assembly from multiple servers.
Multiple Default Documents on IIS
An ASP script that enables multiple default document names on Microsoft IIS, solving a common problem when migrating sites from Unix to Windows.
Making Unix Web Servers Case-Insensitive
Two Perl scripts that make Unix web servers case-insensitive by building a URL database and redirecting mismatched requests automatically.
A Date and Time Package for Perl
An object-oriented Perl 5 package for date and time formatting with support for today, yesterday, tomorrow, and arbitrary date offsets.
A Tour Guide Applet for Web Sites
A Java applet that guides visitors through a web site by reading a configurable list of links from a text file.
A toHex Function for Java
A Java function to convert integers to hexadecimal strings, written when java.lang.Integer lacked toHexString().
Netscape Acknowledged My Directory Listing Script
Netscape published my Perl CGI for custom directory listings as Tech Note 20021, solving a gap in their server software.
Building an Ad System for a Newspaper Web Site
Two Perl scripts for serving and tracking online advertising at Philadelphia Newspapers, built before commercial ad servers existed.
Reading GIF Dimensions in Perl
A Perl function to read GIF image dimensions and generate correct HTML img tags automatically.
Splitting Files for Floppy Disks
A Perl script to split large files into floppy-disk-sized pieces for transport across unreliable connections.