How to Merge Spreadsheets by URL (and Why Our Tool Reported 5 Misses That Weren’t)

Matching two spreadsheets on a URL column is the same job as matching a stock list to a price list by product code. It goes wrong in the same two places: how you clean the code, and how you count what didn't match.

Many-to-One: Why a Mapping Backlog Outgrows Its Target Taxonomy

You're mapping a messy source vocabulary onto a clean target taxonomy. The target has about 5,600 slots, so the job must be roughly 5,600 decisions — right? The backlog is already past 8,900, and still climbing.

The Fix That Didn’t Take: When a Content-Hash Gate Skips Your Code Change

You shipped a fix to how one field is computed, re-ran the pipeline across everything, and it reported a clean run. Then the consistency check still flags those records as wrong. The fix is in the code, the rebuild "ran" — and the records never changed. Your own optimisation skipped them.

Your Dedup Scan Is Over-Counting — Because It Forgot What You Already Fixed

The report said 80 duplicate groups still to resolve. You'd been resolving them for days. You run it again after a big batch and it *still* says 80-ish. The backlog isn't stubborn — the scan is counting work you already finished.

How to Merge Spreadsheets by URL (and Why Our Tool Reported 5 Misses That Weren’t)

Matching two spreadsheets on a URL column is the same job as matching a stock list to a price list by product code. It goes wrong in the same two places: how you clean the code, and how you count what didn't match.

Many-to-One: Why a Mapping Backlog Outgrows Its Target Taxonomy

You're mapping a messy source vocabulary onto a clean target taxonomy. The target has about 5,600 slots, so the job must be roughly 5,600 decisions — right? The backlog is already past 8,900, and still climbing.

The Fix That Didn’t Take: When a Content-Hash Gate Skips Your Code Change

You shipped a fix to how one field is computed, re-ran the pipeline across everything, and it reported a clean run. Then the consistency check still flags those records as wrong. The fix is in the code, the rebuild "ran" — and the records never changed. Your own optimisation skipped them.

Your Dedup Scan Is Over-Counting — Because It Forgot What You Already Fixed

The report said 80 duplicate groups still to resolve. You'd been resolving them for days. You run it again after a big batch and it *still* says 80-ish. The backlog isn't stubborn — the scan is counting work you already finished.

Latest field notes

When Your Skills Folder Is a Deploy Target, Not a Drawer

You hardened a skill in the repo, shipped the PR, and the agent kept loading the old one. Or you fixed the live skill by hand, and the versioned copy quietly stayed behind. Same root cause: the copy you run and the copy you version are two different files.

Web Hosting Compared: Uptime, Speed and Real Cost

There is no single best host — only the best host for your site, and the only way to know it is to measure. So this is not a ranking. It is the field of credible candidates, what each one actually advertises, and the short, concrete process for testing them yourself before you pay a rupee or a dollar.

Context Is a Budget: Hygiene Habits for Long Sessions with a Coding Agent

The longer you work with a coding agent, the more its **memory**, not its intelligence, decides whether the session stays sharp or quietly falls apart. A model that reasons brilliantly at hour one can lose the thread by hour four — not because it got dumber, but because the context window filled with clutter and the important decisions scrolled out of reach. Treating that window as a budget you spend deliberately, rather than a buffer that fills by accident, is the single biggest lever most people never pull.

Why Leaving WPML Floods Your Site, and the Order That Prevents It

WPML gives you a beautifully clean multilingual front end. Then you decide to remove it, and the moment you deactivate the plugin, every language you ever added pours into your English site at once. Nothing was deleted. This is the part nobody shows you before you commit.

Profile Before You Blame: The Slow Step Was a Regex, Not the PDF

A catalog job crawled for the better part of an hour, and the obvious suspect — heavy PDF parsing — took the blame. Profiling put ~40 of every ~41 seconds somewhere no one had looked: a one-line regex hunting for an email that wasn't there.

Context Is a Budget: Hygiene Habits for Long Sessions with a Coding Agent

The longer you work with a coding agent, the more its **memory**, not its intelligence, decides whether the session stays sharp or quietly falls apart. A model that reasons brilliantly at hour one can lose the thread by hour four — not because it got dumber, but because the context window filled with clutter and the important decisions scrolled out of reach. Treating that window as a budget you spend deliberately, rather than a buffer that fills by accident, is the single biggest lever most people never pull.

Fingerprint at Import: Catching a Source Record That Changed After You Copied It

You imported the record correctly. Then someone fixed a typo in the source — and your re-run skipped right past it, because dedup saw a record that already existed and moved on.

Automating a Portal That Redesigns Under You

The script had worked for weeks. Then, overnight, a dropdown that used to hold four options held sixteen, a rule that used to be allowed was forbidden, and a field started closing itself half a second after it opened. Nobody told us. The portal had simply changed.

Popular

How to Merge Spreadsheets by URL (and Why Our Tool Reported 5 Misses That Weren’t)

Matching two spreadsheets on a URL column is the same job as matching a stock list to a price list by product code. It goes wrong in the same two places: how you clean the code, and how you count what didn't match.

Many-to-One: Why a Mapping Backlog Outgrows Its Target Taxonomy

You're mapping a messy source vocabulary onto a clean target taxonomy. The target has about 5,600 slots, so the job must be roughly 5,600 decisions — right? The backlog is already past 8,900, and still climbing.

The Fix That Didn’t Take: When a Content-Hash Gate Skips Your Code Change

You shipped a fix to how one field is computed, re-ran the pipeline across everything, and it reported a clean run. Then the consistency check still flags those records as wrong. The fix is in the code, the rebuild "ran" — and the records never changed. Your own optimisation skipped them.

Your Dedup Scan Is Over-Counting — Because It Forgot What You Already Fixed

The report said 80 duplicate groups still to resolve. You'd been resolving them for days. You run it again after a big batch and it *still* says 80-ish. The backlog isn't stubborn — the scan is counting work you already finished.

When Your Skills Folder Is a Deploy Target, Not a Drawer

You hardened a skill in the repo, shipped the PR, and the agent kept loading the old one. Or you fixed the live skill by hand, and the versioned copy quietly stayed behind. Same root cause: the copy you run and the copy you version are two different files.

Spotlight

Deep Dives

Subscribe

Editor's Picks
Featured

The Anti-Eye Rule: Why Your Centered Hero Starts Staring Back

Put a glowing core in the middle of a darker ring and something unsettling happens — the image looks like an eye. It's not a rendering bug; it's your own visual system, and the fix is compositional.

We Lost an Image Bake-off to Gemini’s SVG, Then Our Code Kit Closed the Gap

Our code-drawn hero kit and Gemini, writing SVG for the same subjects, went head to head. Gemini won the hard-science rounds. So we read why it won, rewrote the kit, and ran those rounds again.

One Image, Many Roles: Tagging Across Semantic Axes

A picture tagged "shield" is findable by "shield." The reason it isn't also serving your security, access-control, and hardening pages is that "shield" is one flat label where meaning has several dimensions.

Designing an Image Vault: Asset, Rendition, and the One Rule That Does Most of the Work

A folder of image files doesn't scale. The moment the same picture needs three formats, two sizes, and a way to be found, you need a model, and it's smaller than you'd think.

Store the Vector, Render the Raster: Why an SVG Master Beats Committing WebPs

Keep one crisp SVG as the source of truth and render a raster only when something needs one. You get sharp images everywhere, tiny files, and a re-skin that costs one edit - without the social-preview blind spot.

Hero Image Composition: Fill the Frame, Center the Weight, Color by Context

Most weak hero images fail for the same three reasons - and each has a fix you can see the moment you apply it.

Latest Articles

How to Merge Spreadsheets by URL (and Why Our Tool Reported 5 Misses That Weren’t)

Matching two spreadsheets on a URL column is the same job as matching a stock list to a price list by product code. It goes wrong in the same two places: how you clean the code, and how you count what didn't match.

Many-to-One: Why a Mapping Backlog Outgrows Its Target Taxonomy

You're mapping a messy source vocabulary onto a clean target taxonomy. The target has about 5,600 slots, so the job must be roughly 5,600 decisions — right? The backlog is already past 8,900, and still climbing.

The Fix That Didn’t Take: When a Content-Hash Gate Skips Your Code Change

You shipped a fix to how one field is computed, re-ran the pipeline across everything, and it reported a clean run. Then the consistency check still flags those records as wrong. The fix is in the code, the rebuild "ran" — and the records never changed. Your own optimisation skipped them.

Your Dedup Scan Is Over-Counting — Because It Forgot What You Already Fixed

The report said 80 duplicate groups still to resolve. You'd been resolving them for days. You run it again after a big batch and it *still* says 80-ish. The backlog isn't stubborn — the scan is counting work you already finished.