Actually, people love to work hard - Anil Dash - “As has often been documented, the hoary chestnut of saying “nobody wants to work anymore” dates back decades, if not centuries, and it’s never been true in all those years of deletion. It is, firstly, a tactic that bosses use for negging workers in a vain attempt to try to drive down wages (and to successfully get media to blame people for their own underemployment), but it also serves as an effective demonstration of just how little society understand about what actually motivates people.”
More hidden pages: /type, /color, and /ogimages
Last year I wrote about a first batch of “hidden” pages on this site—RSS feeds, the readme, the changelog, and the rest. Those are mostly about consuming or documenting the project. Here are three more URLs in the same spirit: they are not in the main navigation, but they are not secret. They are small labs for playing with how the site looks when shared or read, still in the “everything is inspectable” vein.
1. /type
A single home-page-shaped preview at the correct type scale from jonplummer.css, with two menus: one for headings (h1–h4) and one for everything else. Stacks come from Modern Font Stacks; the first option on the body menu keeps body text on the heading stack until you pick a specific second stack. There is a collapsible block of example CSS you can copy when you like a pairing.
Why /type
When I think of changing --font-family or heading tokens in CSS, I need a place to audition stacks against the same article and nav chrome the blog uses, not a separate mini layout.
2. /color
An embedded color theme gallery: smaller home layout previews, wired to live light-dark() tokens. There is a short intro on the page about where the embed files live and how to refresh them; the heavy lifting is OKLCH builds, harmony and preset cards, and APCA-minded checks in the same spirit as pnpm run test color-contrast.
Why /color
Shipping palettes is still manual work in jonplummer.css, but comparing candidates on a simulated layout beats guessing from swatches alone. Keeping the embed on a first-class URL makes that workflow easy to get to.
3. /ogimages
A preview of the Open Graph image template: rendered examples with different titles and descriptions, plus a grid of PNGs from src/assets/images/og/ (generated and static).
How /ogimages/ is built
src/ogimages.njk uses Eleventy’s renderFile shortcode against og-image-body.njk for the inline examples and loops a data-fed list for the rest. Styling lives in jonplummer.css under the preview-page rules.
Why /ogimages
Social cards are easy to break with a long title or a missing description. This page is where I sanity-check the template after edits without spelunking _site.
Together, /type/, /color/, and /ogimages/ use tags: page for the shared layout and set eleventyExcludeFromCollections: true so they do not appear in the blog index or RSS feeds, but they still ship as ordinary pages in every build. If you are poking at how this site is put together, start with the earlier hidden-pages post for feeds and docs, then add these three when you decide to play with type, color, or social image generation.
A good problem statement
A good problem statement is
- Factual: based on actual customer knowledge
- Specific: we can name
- examples of the customers who have this problem
- the pain caused by the problem
- bonus: things these customers do to try to alleviate the pain
- Real:
- a real person feels this real problem in their real life
- the pain is real
- Open: the solution is not embedded in the problem statement, so the team has flexibility to address the problem
- Witnessable: if the problem statement were alleviated, you could readily tell based on customer behavior or results
SAFe Was Bad for Agility. For AI, It’s Catastrophic – Jeff Gothelf - I never thought much of SAFe and learned to reject job opportunities in organizations that practice it. But it’s even more problematic in the age of AI, when customer discovery and live experimentation are the name of the game and directed incrementalism can be intensely effective.
The Beginning of Programming as We’ll Know It –Daniel Jalkut - “But for now, real programmers will always win. Why? Because we are uniquely positioned to harness most of the power of AI while augmenting it with human taste, wisdom, and caution, among other qualities that an AI is thus far incapable of possessing.”
Designers finally have a say in the product they design – Daniel Mitev - “The industry has been asking whether designers should code for over a decade. It was always the wrong question, or at least the wrong framing. It implied the barrier was technical: that designers lacked something fundamental, something that required years of study to acquire. Learn TypeScript. Understand the DOM. Earn your way across the divide. That wasn’t the barrier.”
Between the Impossible and the Inevitable: The Case for Defiance (aka Never F**king Surrender) – Rebecca Solnit - “The future is being made in the present, including by how we show up or fail to. If we know what’s going to happen, we cannot participate in deciding what happens, and vice-versa. To pretend to have the power of being in charge of the former is to surrender the motivation to impact the latter in an active and intentional way. […] And yet claims we have no power to impact what happens are nevertheless an intervention in what will happen, by discouraging participation, by encouraging passivity, surrender, acquiescence.”
Craft is Untouchable – Christopher Butler - “Structure still communicates before content. Visual hierarchy still guides attention. Negative space still creates rhythm. These principles don’t vanish because I’m working through AI rather than directly manipulating pixels.”
16 pieces of design wisdom – Hardik Pandya - “You need to completely change the way you think about feedback. This took me years. And more than the years, it took incredibly smart and secure people sharing feedback in ways that I had never seen it being shared for me to realize it was a dialogue. People just want to be able to talk about their work. The work they are doing. And it helps tremendously to be able to see something in front of you to be able to talk about it. We are visual people. Designs are vehicles for ideas that make the conversation possible.”
What to do with the executive prototype
What do you do when an executive brings you a prototype they vibe-coded that they are super-excited about?
Note that “let’s talk about your aims behind this, what it’s meant to accomplish, how it does that” is not just the appropriate response to this executive. It’s the appropriate response to ANYONE’s mock/prototype/sketch. We’re going to need to get really good at this response since roles are blurring and tools are helping folks make stuff they might not have bothered with before. And we’re going to need to get really especially good at offering alternatives to simplify, to make more conformant with customer mental models, to detect and form a plan to learn things we need to learn, etc.
Sometimes you have to take over for the agent
Sometimes you have to spend the time. Sometimes the agent won’t converge on your idea. Sometimes it’s the wrong tool for the job.

Context engineering: A repeatable AI workflow for product designers – Vadym Grin - “While handling complex reasoning tasks, the accuracy can go down by as much as 70%. But lots of designers still treat AI like a black box: dump in requirements, hope for magic, refine endlessly when it doesn’t work. The problem isn’t “bad prompting,” it’s not giving AI the information it needs to think clearly.”
Modal vs. Separate Page: UX Decision Tree – Vitaly Friedman - "How do we choose between showing a modal to users, and when do we navigate them to a separate, new page? And does it matter at all? Actually, it does. The decision influences users’ flow, their context, their ability to look up details, and with it error frequency and task completion. Both options can be disruptive and frustrating — at the wrong time, and at the wrong place.
Design in Tech Report 2026: From UX to AX – John Maeda - “This year’s Design in Tech Report is about a major shift for designers. We are moving fromUX to AX: from user experience to agentic experience. In the UX era, designers focused on helping people do things. We designed flows, screens, menus, and paths. We helped users move through software step by step. In the AX era, that changes. Agents can now act on a user’s behalf. So the design problem shifts. It is no longer just, “How do I help someone do this?” It becomes, “How do I help someone know whether it was done well?””
The hidden cost of AI prototypes that are made to die – Allie Paschal - “The hidden cost of AI prototypes is that they can’t move forward. And when the underlying output is treated as “disposable” automatically, product teams pay for it later in the product lifecycle through translation work, rewrites, and reduced speed.”
BullshitBench Viewer – Peter Gostev - A benchmark for LLMs scoring their ability to push back on bullshit constructed in a handful of categories, such as fabricated authority, nested nonsense, misapplied mechanism, and wrong unit of analysis. Anthropic models seem to score highly.
John Perry Barlow’s principles of adult behavior
I recently rediscovered John Perry Barlow’s Principles of Adult Behavior. The Silicon Valley visionary and founder of the EFF died in 2018. In 1977 he wrote this list of principles for himself and asked his friends to hold him to them:
- Be patient. No matter what.
- Don’t badmouth: assign responsibility, not blame. Say nothing of another you wouldn’t say to him.
- Never assume the motives of others are, to them, less noble than yours are to you.
- Expand your sense of the possible.
- Don’t trouble yourself with matters you truly cannot change.
- Expect no more of anyone than you can deliver yourself.
- Tolerate ambiguity.
- Laugh at yourself frequently.
- Concern yourself with what is right rather than who is right.
- Never forget that, no matter how certain, you might be wrong.
- Give up blood sports.
- Remember that your life belongs to others as well. Don’t risk it frivolously.
- Never lie to anyone for any reason. (Lies of omission are sometimes exempt.)
- Learn the needs of those around you and respect them.
- Avoid the pursuit of happiness. Seek to define your mission and pursue that.
- Reduce your use of the first person singular.
- Praise at least as often as you disparage.
- Admit your errors freely and soon.
- Become less suspicious of joy.
- Understand humility.
- Remember that love forgives everything.
- Foster dignity.
- Live memorably.
- Love yourself.
- Endure.
You can guess why returning attention to these principles, now, might seem important. (Especially 2, 8–10, 13, 14, 16–20, and 22.) Adult behavior is in short supply, especially among those who style themselves as leaders.