← All Articles

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

· 11 min read

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

· 7 min read

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

· 8 min read

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

· 7 min read

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

· 9 min read

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

· 8 min read

The Part of Your Job AI Can't Do (And Why It Matters More Now)

There's a lot of anxiety about AI making engineering skills obsolete. But the most valuable part of what you do was never the typing. The judgment, the architec

· 15 min read

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

· 6 min read

Context Loss and How to Prevent It

Why AI assistants forget what you told them, and practical strategies to prevent it. The difference between context that survives and context that gets lost.

· 5 min read

From Tool to Team: Managing AI as Distributed Engineering

When you're running multiple AI sessions in parallel, you're not using a tool anymore — you're managing a team. The skills that matter shift accordingly.

· 6 min read

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.

· 6 min read

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,...

· 12 min read

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...

· 15 min read

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...

· 9 min read

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...

· 16 min read

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...

· 8 min read

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 ...

· 20 min read

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 ...

· 17 min read

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 ...

· 13 min read

Why Prompt Engineering Is Legitimate Engineering: A Case for the Skeptics

As a CTO who has spent decades working with software engineers across organizations like The New York Times, The Wall Street Journal, and now as President ...

· 12 min read

The Future of Software: From API to AI as the Communication Interface

As we look ahead to the evolution of how people and machines communicate with software, it's clear that artificial intelligence (AI) will play a key role. ...

· 8 min read

Roles and Responsibilities for Digital Product Development Teams

I'm writing this article to share some insights on a topic that's been crucial throughout my professional journey – Roles and Responsibilities in Digital P...

· 14 min read

MatheMagic Card Trick

Introduction MatheMagic Card Trick is a fun and simple number revealing magic trick using math. Use the page generate-cards.html to generate your cards to ...

· 1 min read

Harvard NiemanLab article: Acing the Algorithmic Beat, Journalism’s Next Frontier

Read the article I co-authored, Acing the Algorithmic Beat, Journalism's Next Frontier at Harvard University's NiemanLab. In a world where key decisions ar...

· 1 min read

Dear Makers, On Fridays My Office is Yours — An Experiment

Some senior leaders choose to work alongside their teams in cubicles, eschewing private office rooms. New York City’s former mayor Michael Bloomberg is an ...

· 3 min read

Product Maintenance vs. New Development on Web Sites, Mobile Apps and Other Digital Products

Maintenance of a digital business product (e.g. a Web site, mobile app, or software) refers to the work that includes modifications made after delivery to ...

· 6 min read

Hosting Large-Scale Web Sites: Contract Review Guide for the CTO

Introduction: Why Web Hosting Contracts Matter In today's digital economy, your website isn't just a marketing channel—it's the backbone of your business. ...

· 17 min read

Software Products: Own vs. Rent & Create vs. Get (Incorrectly Called Build vs. Buy)

Understanding the issue Technology executives are often asked about their preferences on build vs. buy. This question would be better articulated as two se...

· 8 min read

Sometimes extra steps in workflows are good

When implementing a content management system or other product, customers often ask for workflows that require the least number of steps required to any gi...

· 2 min read

Google Web Toolkit: Develop and Test in Java, Deploy as AJAX

I'm building a pull-down-menu navigation for the rajiv.com site using the Google Web Toolkit (GWT) and I'm impressed by this Google product. It allows you ...

· 2 min read

The Art and Science of Project Management: Beyond Tools and Techniques

Originally published April 1, 2006 – Revised and expanded March 23, 2025 Starting Early, Not Driving Recklessly Fast In my original 2006 article, I shared ...

· 9 min read

Java Progammer? Use BeanShell

BeanShell is a fully Java compatible scripting language, capable of interpreting ordinary Java source files. You can also use it for working with Java inte...

· 1 min read

Content Management: Content & Search Technologies

Search, when effectively integrated with content, creates a combination that is greater than the sum of the two separately. Let us consider an example. A p...

· 4 min read

Eight Years at Knight Ridder: Building the Digital Newsroom

Reflections on nearly eight years at Knight Ridder, from solving publishing problems at 20 to VP Engineering leading Cofax development for 31 newspapers.

· 10 min read

Winning the Team Knight Ridder Excellence Award for Cofax

The Cofax team won the Knight Ridder Excellence Award for Technology Innovation. My first award was individual. This one was with my team, and it means more.

· 5 min read

Cofax Goes Open Source

Knight Ridder releases Cofax as open-source software on SourceForge, making newspaper web publishing technology freely available.

· 3 min read

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.

· 3 min read

Converting Numbers to Words in Perl

A Perl module that converts numbers to English words, handling everything from simple digits to quadrillions, with plans for Indian English and other language s

· 5 min read

Finding a Security Hole in Microsoft Exchange

How I discovered a password caching vulnerability in Microsoft Exchange Server 5.0 that allowed old passwords to remain valid after being changed, and what happ

· 4 min read

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.

· 8 min read

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.

· 7 min read

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.

· 5 min read

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.

· 9 min read

Sharing Code with the Perl Community

On registering as a CPAN author, sharing Perl code freely, and why building software in the open makes everyone better.

· 3 min read

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.

· 7 min read

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.

· 5 min read

A toHex Function for Java

A Java function to convert integers to hexadecimal strings, written when java.lang.Integer lacked toHexString().

· 3 min read

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.

· 4 min read

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.

· 5 min read

Reading GIF Dimensions in Perl

A Perl function to read GIF image dimensions and generate correct HTML img tags automatically.

· 3 min read

Splitting Files for Floppy Disks

A Perl script to split large files into floppy-disk-sized pieces for transport across unreliable connections.

· 2 min read