Skip to main content
Paul Welty, PhD AI, WORK, AND STAYING HUMAN

· Paul · publishing · technology · 5 min read

The 2 a.m. press check

Twenty-five years ago I stood under color-true lamps at 2 a.m., loupe in hand, waiting on the 50th spread. This month an open-source compiler handed me the thing Pantone only ever promised.

Twenty-some years ago, press checks happened at 2 a.m. Nobody ever explained why. The press ran around the clock, your job came up when it came up, and so you drove to the plant at the machine’s hour, signed in past the loading dock, and stood next to a twenty-unit Heidelberg the size of a semi while it warmed up your annual report. You brought a loupe. You knew which lamps in the building were color-true and you stood under those. You carried the folk knowledge no spec sheet would admit to, like “yellow always hangs.”

Here’s what people who never did print don’t understand about a press check: the design was already done. Once the plates are made, your universe gets a lot smaller. Need more red in channel 12 to warm up the flesh tones in a photo? Maybe. The ink zones run in one direction, and that same channel passes through the CMYK type sitting under the photo, which will also get redder, and the type was fine the way it was. So you talk it through with the pressmen (yes, all men, every plant, every time). Then fifteen minutes of makeready while they reset. They run it up, pull the 50th spread off the pile, and lay it on the table. The 49 sheets underneath are waste. That was simply the price of stable ink.

You got maybe two of those. Ask for a third move and the pressmen started getting antsy. A fourth, and the rep would take you aside, friendly, hand on your shoulder, because the schedule behind your job had already been sold to the next customer. “You can do whatever you want here” was a sentence everyone said and nobody meant.

People used to ask me about Pantone: “Aren’t all Pantones the same? Isn’t that the point?” You’d think. But a Pantone number is a recipe. The ink still gets mixed by a person, from base inks, on a deadline, and sometimes they mix it right. The swatch book you held against the sheet was itself a print job, drifting in its own quiet way. The whole apparatus of that world, the draw-downs, the paper dummies, the proofs that show some failures and hide others, the 2 a.m. drive, existed to police a single gap: the distance between what you specified and what the world handed back.

I used to dream about a tool that would close that gap. Say 15 points, get 15 points. Every machine, every time, no negotiation.

This month I typeset my second book, 323 pages, a 6×9 trade paperback. Before committing to a tool I ran the only evaluation I have ever trusted: set the same chapter in each candidate, print the pages, and put them on a table. Word, InDesign, Affinity Publisher, and Typst, an open-source typesetting compiler written in Rust. My wife is a professional designer, the unsentimental kind. InDesign’s justification did not survive her first pass; its defaults river, and everyone who has fought its H&J panel knows it. Word breaks lines greedily, one line at a time, like it’s paid per decision. Typst does paragraph-wide justification, the Knuth-Plass line breaking that TeX people have sworn by for forty years, with zero configuration. On paper, side by side, the contest embarrassed some expensive software.

So I rebuilt the book in it. Plain text files, one per chapter. One template file, about 150 lines, holding every design decision I’ve made: page geometry, an exact 15-point baseline, running heads, the chapter openers. And somewhere in the second week I noticed what I actually want to tell you about. The dream tool exists now. The whole book compiles in under a second. When I say the body sits on an exact 15-point line, that is a statement about the output, because the spec is the output. Sometimes they mix it right. In a compiler, it’s right every time.

That changes what a layout rule can even be. This book has a design rule that every chapter must end on a left-hand page at least half full. In the old world that’s a wish you defend by hand through every revision. Here, I wrote a sixty-line script that measures the finished PDF and checks all 77 chapters on every single build. A taste decision became a test. The cover went the same way: the spine width is computed from the page count, 323 pages times 0.0025 inches of cream stock, and when Amazon’s template generator handed me the official geometry for my exact book, I overlaid the two PDFs. They matched to a thousandth of an inch. My draw-down is a diff now.

We hit exactly one real limitation in the whole build. Typst 0.14 couldn’t see the weights inside a variable font, so I baked static instances with fonttools and moved on, grumbling. While I was grumbling, the Typst team shipped variable-font support upstream. The issue closed four days before I would have needed it; the release candidate landed two days after that. I tested the candidate against my workaround and got byte-identical output, zero reflow across 323 pages, so I left a note on the GitHub issue saying so. The project’s founder hearted it within a day. Try getting that turnaround on a defect from the vendor of your industry standard.

Fair warning, because credibility demands it: the template file is real code, with closures and show rules and a learning curve, and the documentation will not hold your hand through a baseline grid. The content files, though, read like Markdown. My chapters are prose with a couple of percent signs in them. The scary part is write-once; the daily part is just writing.

If you came up the way I did, you know a great printed piece was kind of a miracle. I stood under the lamps at 2 a.m. and watched grown men coax one into existence two moves at a time, and I loved it, and I do not miss it at all. The proof copy of my book is in the mail right now. One press check left, and Amazon’s toner is the only negotiation remaining.

I’ll bring the loupe.

The agent-shaped org chart

Every real org has the same topology: principal, role-holder, specialists. Staff AI maps onto it, node for node, and the cost collapse shows up in the deliverables that were always just human-handoff overhead.

AI as staff, not software

Two frames for what AI is doing to work. The tool frame makes tools smarter. The staff frame makes roles unnecessary. Those aren't the same product, the same company, or the same industry.

Knowledge work was never work

Knowledge work was always coordination between humans who couldn't share state directly. The artifacts were never the work. They were the overhead — and AI just made the overhead optional.

The work of being available now

A book on AI, judgment, and staying human at work.

The practice of work in progress

Practical essays on how work actually gets done.

How do I get my dev team to adopt AI?

A stub on helping mixed-interest development teams find their own useful ways into AI.

Want to learn about agents? Talk to someone who ran an agency.

I spent 20 years running consulting engagements at Fortune 500 companies. Turns out that's the best preparation for running a fleet of AI agents ... because the problems are identical.

Your AI agents need a water cooler

We run a twelve-session AI fleet that coordinates through an IRC breakroom. A friend asked: why are you making AI agents act like humans? The answer turned out to be more interesting than the question.

Make something great: Become an open source contributor

Unlock your potential and discover the rewarding journey of becoming an open source contributor, no matter your skill level.

Let’s make a (D3) plugin ‘€” Medium

Learn to create a D3 plugin using the new 4.0 module pattern and enhance your data visualization skills with this hands-on tutorial.

A Drupal dev workflow for everyone: Git flow, or just your flow | Acquia

Discover an inclusive Drupal development workflow that adapts to your needs, simplifying git flow for all skill levels. Boost productivity today!