The Blogroll

Media Diet

📺 Wondla — 10/10 kids show. I was way into it. Post-apoc situation with underground bunkers (apparently Apple loves that theme) where when the protagonist girl busts out of it, the world is quite different. The premise and payoff in Season 1 was better than the commentary vibe of Season 2, but I liked it […]

412: 2.0 Embedded Pens

Or just “Embeds” as we more frequently refer to them as. Stephen and Chris talk about the fairly meaty project which was re-writing our Embeds for a CodePen 2.0 world. No longer can we assume Pens are just one HTML, CSS, and JavaScript “file”, so they needed a bit of a redesign, but doing as […]

Key UX Topics to Educate Your Organization On

Focus educational content on common mistakes, points of contention, and frequently asked questions for maximum impact.

Simplify

I was messing about with some images on a website recently and while I was happy enough with the arrangement on large screens, I thought it would be better to have the images in a kind of carousel on smaller screens—a swipable gallery.

My old brain immediately thought this would be fairly complicated to do, but actually it’s ludicrously straightforward. Just stick this bit of CSS on the containing element inside a media query (or better yet, a container query):

display: flex;
overflow-x: auto;

That’s it.

Oh, and you can swap out overflow-x for overflow-inline if, like me, you’re a fan of logical properties. But support for that only just landed in Safari so I’d probably wait a little while before removing the old syntax.

Here’s an example using pictures of some of the lovely people who will be speaking at Web Day Out:

Jemima Abu Rachel Andrew Lola Odelola Richard Rutter Harry Roberts

While you’re at it, add this:

overscroll-behavior-inline: contain;

Thats prevents the user accidentally triggering a backwards/forwards navigation when they’re swiping.

You could add some more little niceties like this, but you don’t have to:

scroll-snap-type: inline mandatory;
scroll-behavior: smooth;

And maybe this on the individual items:

scroll-snap-align: center;

You could progressively enhance even more with the new pseudo-elements like ::scroll-button() and ::scroll-marker for Chromium browsers.

Apart from that last bit, none of this is particularly new or groundbreaking. But it was a pleasant reminder for me that interactions that used to be complicated to implement are now very straightforward indeed.

Here’s another example that Ana Tudor brought up yesterday:

You have a section with a p on the left & an img on the right. How do you make the img height always be determined by the p with the tiniest bit of CSS? 😼

No changing the HTML structure in any way, no pseudos, no background declarations, no JS. Just a tiny bit of #CSS.

Old me would’ve said it can’t be done. But with a little bit of investigating, I found a nice straightforward solution:

section >  img {
  contain: size;
  place-self: stretch;
  object-fit: cover;
}

That’ll work whether the section has its display set to flex or grid.

There’s something very, very satisfying in finding a simple solution to something you thought would be complicated.

Honestly, I feel like web developers are constantly being gaslit into thinking that complex over-engineered solutions are the only option. When the discourse is being dominated by people invested in frameworks and libraries, all our default thinking will involve frameworks and libraries. That’s not good for users, and I don’t think it’s good for us either.

Of course, the trick is knowing that the simpler solution exists. The information probably isn’t going to fall in your lap—especially when the discourse is dominated by overly-complex JavaScript.

So get yourself a ticket for Web Day Out. It’s on Thursday, March 12th, 2026 right here in Brighton.

I guarantee you’ll hear about some magnificent techniques that will allow you to rip out plenty of complex code in favour of letting the browser do the work.

Coattails

When I talk about large language models, I make sure to call them large language models, not “AI”. I know it’s a lost battle, but the terminology matters to me.

The term “AI” can encompass everything from a series of if/else statements right up to Skynet and HAL 9000. I’ve written about this naming collision before.

It’s not just that the term “AI” isn’t useful, it’s so broad as to be actively duplicitous. While talking about one thing—like, say, large language models—you can point to a completely different thing—like, say, machine learning or computer vision—and claim that they’re basically the same because they’re both labelled “AI”.

If a news outlet runs a story about machine learning in the context of disease prevention or archeology, the headline will inevitably contain the phrase “AI”. That story will then gleefully be used by slopagandists looking to inflate the usefulness of large language models.

Conflating these different technologies is the fallacy at the heart of Robin Sloan’s faulty logic:

If these machines churn through all media, and then, in their deployment, discover several superconductors and cure all cancers, I’d say, okay … we’re good.

John Scalzi recently wrote:

“AI” is mostly a marketing phrase for a bunch of different processes and tools which in a different era would have been called “machine learning” or “neural networks” or something else now horribly unsexy.

But I’ve noticed something recently. More than once I’ve seen genuinely-useful services refer to their technology as “traditional machine learning”.

First off, I find that endearing. Like machine learning is akin to organic farming or hand-crafted furniture.

Secondly, perhaps it points to a severing of the ways between machine learning and large language models.

Up until now it may have been mutually benificial for them to share the same marketing term, but with the bubble about to burst, anything to do with large language models might become toxic by association, including the term “AI”. Hence the desire to shake the large-language model grifters from the coattails of machine learning and computer vision.

Clap on the off beat

Clapping on the on-beat sounds weird and wrong on (most?) songs. In (most?) 4/4 songs, that means clapping on the 1 and 3 sounds bad and 2 and 4 sounds good/normal. But an audience of a bunch of random folks just getting excited can get it wrong! This video of Harry Connick Jr. extending a […]

Fixing the `opendiff` command line tool

On my Mac, you can use this command like… And it’ll open some built-in GUI app called FileMerge to show you the diff. It wasn’t working for me. I wish I copied the exact error but it was something about the path being wrong or the executable not being available or something. The solution that […]

Decontrolled

I was supposed to be in Cork over the weekend.

Not only was it high time I paid my mother a visit, but the Cork Folk Festival was happening too. So I booked some relatively cheap plane tickets for myself and Jessica back in August and noted down the days in my calendar.

We didn’t end up getting our flight. This time it wasn’t because I messed up the flight times. We made it to Gatwick airport in plenty of time. That’s when we saw that our flight was delayed.

See, Storm Amy was moving in. We were hoping to get into Cork before the storm hit, but now with the flight delayed, that wasn’t likely. In fact, it was more likely that the flight would just get more and more delayed and possibly even get diverted.

To start with, we settled in at the airport, prepared to spend an hour or two more than we had planned. But, sure enough, the delays kept piling up. It was time to make decision; wait it out in the hopes that we’d eventually make a very bumpy landing in Cork, or cut our losses and run.

I quickly looked up flights for the next couple of weekends and spotted some cheap ones a fortnight away. I booked them and then called my mother to tell her we wouldn’t be showing up that night, but we’d see her in a couple of weeks.

Alright then, time to go home.

Wait a minute …how exactly are we supposed to leave the airport other than on an airplane?

It turns out there’s a process called “decontrolling”. You need to find someone from the airline (or in our case, a third-party contractor operating on the airline’s behalf) who has the security privileges to walk you back out. But you still need to go through passport control …even though you never left the building.

Luckily we didn’t have any checked luggage or it would’ve gotten complicated. As it was, it was just weird. It was all very City And The City.

That flight we abandoned did finally take off …six hours late. By that time we were back home on the sofa eating pizza and listening to the wind gusting outside. I think we made the right choice.

Local by Flywheel was Ultra Slow Because I Had The Wrong Version

Maybe a few months ago on my Mac Studio, Local by Flywheel became incredibly slow clicking any button in the UI would take literally minutes. I was gonna just give up and switch to Studio, but I had tried that once and it had enough rough edges I gave up (can’t remember why now, but […]

Run Your Agency from One AI Driven System: Notion for Agency Owners & Freelancers

Learn to run your agency with Notion AI. Live build + Q&A. 29th Oct, 2:30pm UK time.

Chris’ Corner: Discontent

Nothing is above a little healthy criticism. Here’s Den Odell’s article We Keep Reinventing CSS, but Styling Was Never the Problem. It’s easy to forget what CSS was originally designed for: documents. You’d write some HTML, style a few headings and paragraphs, maybe float an image to the left, and call it a day. In […]

Education: Your Most Powerful UX Leadership Tool

Discover how to use workshops, talks, and self-learning to scale UX impact across your organization.

Danger Gently

Danger Gently is the name of the band I occasionally get a seat in here in lovely Bend, Oregon. We played at the High Desert Museum the other week for their “Art in the West” event. We play at The Cellar every Wednesday night (I make it to as many as I can). Here’s a […]

Why I hate the MVP car

Illustration from the MVP car analogy. On the top of the illustration is a flow labelled 'Not like this' followed by a wheel pointing to a chassis with wheels pointing to a convertible pointing to a car. Above the drawings are frowning faces until you get to the car which has a smiling face. On the bottom is a flow labelled 'Like this!' which has a skateboard pointing to a scooter pointing to a bicycle pointing to a motorcycle pointing to a convertible. The faces above the five vehicles move from frowning to super happy.

I have a love-hate relationship with “the MVP car”, that classic illustration that shows us the RIGHT and WRONG way to build a product. To be fair, I don’t think its creator Henrik Kniberg would want it called “the MVP car” at all. According to his post the whole point of the illustration is to replace “MVP” with something more descriptive like “Earliest Testable/Usable/Lovable Product”. I wholeheartedly agree with the notion and short-cycle iteration beats long-cycle “Bing Bang Delivery” as Kniberg refers to it.

Kniberg notes that sharing the car like a meme erases his original context and all we see is the car. Despite taking the time to get the context and being a lover of iteration, I think I have built up petty grievances over the years with the MVP car. The next thousand or so words are about those disagreements.

First off, skateboards are rad. That should be a happy face.

My first real issue is that the wheel → chassis → convertible → car is way closer to the way you actually build a car from an industrialized manufacturing perspective. Henry Ford didn’t put skateboards into the factory and poop out cars. Ford’s factories started with wheels and pre-fabricated chassis and transformed them into consumer vehicles through a process of craftsman-level precision and heaps of welding and stitching. This is still the same process car manufacturers use today but with robots and giga-presses. Most product organizations need to develop a predictable process for pushing work through the system.

Next grievance! Apart from the bike → motorcycle evolution, the skateboard → scooter → bike → motorcycle → convertible path is not how any of these products evolved. They evolved over literal centuries and millennia through repeated processes of invention and miniaturization/optimization. If we’re trying to be accurate, between the bike and the motorcycle, you probably need a steam ship with an apartment complex-sized engine room. A lot of products follow a simple formula: Take thing that exists and bolt on new technology.

One thing the MVP car does well is that it lets you imagine alternate routes on how you might evolve the complexity of a feature over time while delivering something usable the whole way through. Kniberg is right about learning too. By reducing scope and “following the fun” you might find customers strongly prefer one idea over another. Instead of “one big release” you mature your idea over time with happy customers along the way. But that leads me to the next handful of issues I have with the MVP car.

In the MVP car analogy, you have to know where you’re going. You have to have a clear idea of the end state and work a plan backwards from there to deliver something over time. It’s like how you write a murder mystery in reverse. This process works great if you’re building something that’s a known quantity but “know where you’re going” works less great for exploratory or emergent work. The wheel → chassis → convertible → car flow is a more realistic product evolution; a cobbling together of existing technologies, then adding features to make it more user-friendly (like a steering wheel).

With the MVP car, there’s also Theranos-levels of risk in over-promising to management and investors. You’ve already sold the idea in PowerPoints and Figma without technical constraints and now they signed-off on it. We’re a car company, does anyone here even know how to make good UI a skateboard? Can we even source wood? There’s now downward pressure to deliver on a predetermined timeline and no opportunity to pivot to a rickshaw or a tuk-tuk instead of a car because any divergence is a mission failure.

It takes specific skills to pull off an MVP car. It takes people who have built up a specific kind of innate muscle memory. It takes a team composition that has a mix of people with high and low standards. Not too high that nothing ever ships, but not too low that garbage goes out the door. People who can intuit around what is essential, who can kill their darlings, and people who can answer the question “Given the timeframe, what does this need to be right now?”

The MVP car intends to be customer focused… but is it though? Have you ever done a redesign? Bosses question them and audiences universally hate them even if it’s 10,000x better. They cost a fortune and customers complain you’ve inconvenienced their lives with this new direction. Smaller, imperceptible iteration tends to sail through the gauntlet a lot smoother. And we want to move fast and have five major iterations of our product? That’s a hard sell both internally and externally. I can already hear engineering departments saying they’d rather not build five different vehicles, they’d rather build one vehicle once. A codebase with five apps turducken’d inside is going to be difficult to work in unless a lot of planning went into it from the start.

The biggest issue I have is that there’s no tactical or practical advice contained within the MVP car other than “break your goal down into five separate modes of transportation of increasing difficulty to build.” The advice is so general and non-specific that it’s almost meaningless. I get that Kniberg’s goal was to be vague but exciting… but as a foundation to build your castle on, it’s hard to grab hold. The absence of a process is also a process and creates a void where people fill it with a lot of strange ideas.

As I said, I think there’s value in the MVP car’s premise that it’s best to iterate forward to a goal. I think it’s important to find what makes your product good and focus on the essential pieces. Do you know what fits within the spirit of the MVP car without rebuilding the customer-facing app five times? A way to evolve an idea with customers before you get there? A tool that helps you see and feel the end goal before you commit? A tangible artifact that gives a discussion point for breaking an job down into deliverable phases? That’s right… prototypes. And notably, in Kniberg’s post three of the four case studies talk about sharing prototypes or rough versions of ideas with customers.

In conclusion, those are my beefs with the MVP car. It’s actually a fine analogy, inspiring even, but this list has been building for years and it feels good to get it all out there. Ironically, the last line of Kniberg’s post about the MVP car is this:

And remember – the skateboard/car drawing is just a metaphor. Don’t take it too literally :o)

Oops.

Summer’s end

It’s October. Autumn is wrapping itself around us, squeezing the leaves from the trees. Summer has slipped away, though it gave us a parting gift of a few pleasant days this week to sit outside at lunchtime.

I’ve got a bit of a ritual now for the end of September. I go to Spain and soak up the last of the sun. There’s an Irish music festival in the beautiful medieval town of Cáceres.

It’s not easy to get to, but that’s all part of the ritual. Set out for Madrid or Seville and spend a night there. Then get on a train for the long journey through a landscape straight out of a spaghetti western.

Once you get to Cáceres there’s nothing to do but enjoy the sun, the food, and the music. So much music! Open-air concerts in a medieval square that go well past midnight. Non-stop sessions scattered throughout the town’s pedestrianised streets.

For me, it’s the perfect way to see out the summer.

CÃ¥ceres Irish Fleadh 2025

411: The Power of Tree-Sitter

Alex and Chris hop on the show to talk about a bit of technology that Alex calls “The 2nd best technological choice he’s ever made.” That technology is called Tree-sitter. It’s a code parsing tool for building ASTs (Abstract Syntax Trees) out of code. GitHub uses it to power search and “go to” functionality. The […]

Chris’ Corner: Word Search

My daughter had a little phase of being into Word Searches. I found it to be a cool dad moment when I was like “I’ll make you a tool to make them!”. That’s what she was into. She liked doing them OK, but she really liked the idea of making them. So my tool starts […]

Personas: Make Them Useful With Functional, Task-Led Personas

Learn why traditional customer personas fall short and how to create functional personas that focus on tasks, questions, and objections to improve UX and conversions.

Strongbacks

Back when I went to the Alaska Folk Festival, a real highlight was catching The Strongbacks do their version of sea shanties live on the main stage. I remember a real tear-jerker protest shanty that I’d love to hear again. As fate would have it, I also went to Zig Zag campout this year and […]

Earth

While I’ve been listening to Hounds Of Love, I’ve also been reading Orbital by Samantha Harvey.

Here’s a passage from an early chapter as the crew of the International Space Station watch a typhoon forming:

How wired and wakeful the earth seems suddenly. It’s not one of the regular typhoons that haphazardly assault these parts of the world, they agree. They can’t see it all, but it’s bigger than projections had previously thought, and moving faster. They send their images, the latitudes and longitudes. They are like fortune tellers, the crew. Fortune tellers who can see and tell the future but do nothing to change or stop it. Soon their orbit will descend away to the east and south and no matter how they crane their necks backward at the earth-viewing windows the typhoon will roll out of sight and their vigil will end and darkness will hit them at speed.

They have no power – they have only their cameras and a privileged anxious view of its building magnificence. They watch it come.

The penultimate track on Hounds Of Love is the magnificent Hello Earth with its eerie Georgian chant for a chorus, and magnificent uilleann piping from the late great Liam Óg O’Flynn on the bridge. It too features a narrator watching from space:

Watching storms

Start to form

Over America.

Can’t do anything.

Just watch them swing

With the wind

Out to sea.

All you sailors, (“Get out of the waves! Get out of the water!”)

All life-savers, (“Get out of the waves! Get out of the water!”)

All you cruisers, (“Get out of the waves! Get out of the water!”)

All you fishermen,

Head for home.

Matching the song to the book feels like pairing a fine wine with a delicious morsel.

How do you spell success?

Working in tech means being comfortable with change and uncertainty. Successfully working in tech means not letting change and uncertainty paralyze you. Forge ahead on the best information you have, and be prepared to change direction as needed.

The post How do you spell success? appeared first on Jeffrey Zeldman Presents.

Hounds Of Love

The album Hounds Of Love by Kate Bush turned 40 years old this month. It has really stood the test of time. It still sounds like nothing else.

It’s kind of two albums in one.

There’s the A side with all those perfect pop songs—Running Up That Hill, Hounds Of Love, Cloudbusting, The Big Sky—each one brilliant and self-contained.

Then there’s the B side, The Ninth Wave. It’s like its own concept album within an album. It’s weird and challening, but I love it.

At times it’s downright frightening but the whole thing ends on a joyous note with The Morning Fog. There’s something about the clarity of the closing lines that brings me to tears:

I’ll tell my mother
I’ll tell my father
I’ll tell my loved one
I’ll tell my brothers
How much I love them

That’s after the magnificence of The Jig Of Life which happily crosses over with my love of Irish traditional music.

But, as with traditional Irish music, Hounds Of Love was not something I was into when I was growing up. Quite the opposite.

See, my brother was really into Kate Bush. And if my brother was into something, then I didn’t want anything to do with it. We didn’t really get along.

Mostly that worked out fine. I don’t think missed out on much by avoiding the Electric Light Orchestra, the Alan Parsons Project, and other Partridge-esque bands. But I was wrong to avoid Kate Bush.

It was only by the time I got to art college that I was able to listen to Hounds Of Love objectively, encouraged to do so by a girlfriend at the time who was a huge fan.

Now I’m listening to it again.

Ah, those closing lines …there’s just something about them.

How to Handle Objections to Democratizing UX

Be ready for explicit and unspoken pushback when shifting UX responsibilities. Here’s how to respond.

Microwaves

Chef’s kiss stuff here from Colin Cornaby: Today’s microwave can cook a frozen burrito. Tomorrow’s microwave will be able to cook an entire Thanksgiving Dinner. […] We all need to transition to this way of cooking, because clearly this is where the future is going. I expect in a few short years kitchens will be […]

Sponsor Web Day Out

If you work at a clever company, then you should let them know about sponsoring Web Day Out.

All the details are in this PDF sponsorship pack. Basically there are three (and only three) spots available, at three different levels of sponsorship.

One of the best things about the venue for Web Day Out is that always having an excellent auditorium, the Studio Theatre has a really nice space for the breaks. It would be the perfect spot to set up a stand and chat with all the smart attendees.

All the attendees will, by definition, be smart because they got tickets for Web Day Out—a steal at just £225+VAT.

Behind every successful launch, there are 100 interesting failures. 

We must stop thinking of failure as an end of something, and learn to see it as a natural part of progress. The first incarnation of a new idea may die, but the best ideas will find new lives. Behind every successful launch, there are 100 interesting failures. 

The post Behind every successful launch, there are 100 interesting failures.  appeared first on Jeffrey Zeldman Presents.

410: Trying to help humans in an industry that is becoming increasingly non-human

Chris & Marie jump on the podcast to talk about just how drastically customer support has changed over the last few years. We still exclusively do customer support over email. Incoming email from real customers who need a hand with something where they type out that email in plain languages themselves are few and far […]

Send a Song

Me: is there like an established good way of sending your friends a song? I feel like I need a spreadsheet of which music service they use. Turns out there are a couple of services for this. But honestly it’s *just* enough of a pain in the ass to do this, particularly on-the-go, that the […]

The nation is lost

In this terrible time, what disappoints and angers me so about my own field of journalism — to which I have devoted 50 years of my life — is its refusal to recognize fascism, to even use the word so as to explain it, and to judge Trump and the Trumpists for their crimes against decency, democracy, and humanity.  […]

The post The nation is lost appeared first on BuzzMachine.

Flies

Listen, I had some flies in the house. I had a party, it was nice having the doors open, some flies got in, and they apparently set up shop. You can’t just wait them out. They live like a month. Too long. Not to mention I gotta imagine they were having fly sex in their […]

Chris’ Corner: Little Bits of CSS

Adam Argyle is clear with some 2025 CSS advice: I think every front-end developer should know how to enable page transitions, transition a <dialog>, popover, and <details>, animate light n’ dark gradient text, type safe their CSS system, and add springy easing to animation. Nobody asked me, but if I had to pick a favorite of Adam’s six, it’s all the stuff about animating […]

Everybody’s lost it, Part I

My beloved veterinarian’s office apparently moved to a new office location without informing customers. They also changed phone systems. The new phone system doesn’t work, and they didn’t leave a forwarding message on the old phone system. You call, leave a message, never hear back, and never learn what’s become of the business. Our oldest […]

The post Everybody’s lost it, Part I appeared first on Jeffrey Zeldman Presents.

Introducing UX to the Wider Organization

Why scaling UX means empowering colleagues and how to start without scaring them off.

Harry Roberts is speaking at Web Day Out

I was going to save this announcement for later, but I’m just too excited: Harry Roberts will be speaking at Web Day Out!

Goddamn, that’s one fine line-up, and it isn’t even complete yet! Get your ticket if you haven’t already.

There’s a bit of a story behind the talk that Harry is going to give…

Earlier this year, Harry posted a most excellent screed in which he said:

The web as a platform is a safe bet. It’s un-versioned by design. That’s the commitment the web makes to you—take advantage of it.

  • Opt into web platform features incrementally;
  • Embrace progressive enhancement to build fast, reliable applications that adapt to your customers’ context;
  • Write code that leans into the browser, not away from it.

Yes! Exactly!

Thing is, Harry posted this on LinkedIn. My indieweb sensibilities were affronted. So I harangued him:

You should blog this, Harry

My pestering paid off with an excellent blog post on Harry’s own site called Build for the Web, Build on the Web, Build with the Web:

The beauty of opting into web platform features as they become available is that your site becomes contextual. The same codebase adapts into its environment, playing to its strengths, rather than trying to build and ship your own environment from the ground up. Meet your users where they are.

That’s a pretty neat summation of the agenda for Web Day Out. So I thought, “Hmm …if I was able to pester Harry to turn a LinkedIn post into a really good blog post, I wonder if I could pester him to turn that blog post into a talk?”

I threw down the gauntlet. Harry accepted the challenge.

I’m sure you’re already familiar with Harry’s excellent work, but if you’re not, he’s basically Mr. Web Performance. That’s why I’m so excited to have him speak at Web Day Out—I want to hear the business case for leaning into what web browsers can do today, and he is most certainly the best person to bring receipts.

You won’t want to miss this, so be sure to get your ticket now; it’s only £225+VAT.

If you’re not ready to commit just yet, but you want to hear about more speaker announcements like this, you can sign up to the mailing list.

Functional Personas With AI: A Lean, Practical Workflow

I'm breathing new life into personas by focusing on function, not demographics. AI helps synthesize your existing data, saving hours of work and revealing what users actually need.

409: Our Own Script Injection

Chris and Stephen talk about how we use a Cloudflare Worker & HTMLRewriter to inject a very special <script> tag into the previews of the Pens you work on. This script has a lot of important jobs so it’s presence is crucial, and getting it in there reliably can is a bit of a challenge. […]

Dancing about dancing

I read recently read two books that had writers as their main protagonists:

They were both perfectly fine. But I found it hard to get really involved in either narrative. The stakes just never felt that high.

Not that high stakes a pre-requisite for a gripping narrative. I enjoyed the films The Social Network and Like A Complete Unknown. Those stakes couldn’t be lower. One is about a website that might’ve ripped off its idea from another website. The other is about someone who’d like to play different kinds of music but other people would rather he played the same music. It’s a credit to the writers and directors of both films that they could create compelling stories from such objectively unimportant subjects.

Getting back to those two books, maybe there’s something navel-gazey when writers write about writing. Then again, I really like non-fiction books about writing from Ann Lamott, Stephen King, and more.

Perhaps it’s not the writing part, but the milieu of publishing.

I’m trying to think if there are any great films about film-making (Inception doesn’t count). Living In Oblivion is pretty great. But a lot of its appeal is that it’s not taking itself too seriously.

All too often when a story is set in its own medium (a book about publishing; a film about film-making) it runs the risk of over-estimating its own importance.

The most eye-rolling example of this is The Morning Show, a television show about a television show. It genuinely tries to make the case for the super-important work being done by vacuous morning chat shows.

Chris’ Corner: Terminological Fading

I found myself saying “The Edge” in a recent podcast with Stephen. I was talking about some server-side JavaScript that executes during a web request, and that it was advantageous that it happens at CDN nodes around the world rather than at one location only, so that it’s fast. That was kinda the whole point […]

Bookmarklet: Load All GitHub Comments (take 2)

In which I update a bookmarklet to load all the comments on super-long GitHub threads.

Many years on the job and I still don't get it.

I’m coming up on 20 years of professional web development and I still don’t get it sometimes. I tend to measure myself or view work productivity through the lens of “How much code did I write?” and that does a great disservice to myself and what I do.

There’s a lot more to the job:

  • Checking email
  • Scheduling calls
  • Writing release notes
  • Contributing to newsletters
  • Documentation (code and otherwise)
  • Making spreadsheets
  • Demystifying the work I do to teammates
  • Clarifying decisions
  • Having technical conversations with teammates
  • Having non-technical conversations with teammates
  • Investigating weird browser behaviors
  • Babysitting servers and build processes
  • Reviewing PRs
  • Manual QA on branch deploys
  • Attending meetings
  • Attending talks (internal/external)
  • Cross-org contributions
  • Learning
  • Planning
  • Dreaming
  • Scheming
  • Community Ops
  • Moving cards across a board
  • Reading thru backlogs
  • Associating tickets to PRs
  • Closing out old tickets
  • Reading specs
  • Giving feedback on web standards
  • Eating lunch
  • Taking walks
  • Cleaning my home office

These are all aspects of becoming a better web developer. It’s not always about lines-of-code or hours-in-chair. Ideally, we’re all shipping our creations, but sometimes you’re the lead role and sometimes you’re a supporting role. A lot of the work is immeasurable, but it all counts towards something. So… self, don’t be so hard on yourself.

Helping Your Team Embrace a New UX Role

Support your team through the shift from implementers to influencers and set them up for success.

408: Proxied Third-Party JavaScript

Chris and Stephen hop on the podcast to discuss the concept of a proxy. Possibly the most “gray hat” thing that CodePen does. We use a third-party analytics tool called Fullres. We could just put a link to the <script> necessary to make that work directly to fullres.com, but being an analytics tool, it’s blocked […]

Chris’ Corner: Simple, Accessible Multi-Select UI

There’s a nice article by Enzo Manuel Mangano called Checkbox Interactions – The beauty of Layout Animations. In the end, you get some nicely animated checkboxes, essentially: I like it. It’s a modern-looking multiple-choice with very clear UX. Enzo’s tutorial is all React Native-ified. I think Enzo is a React Native guy and that’s his […]

“Why would anybody start a website?”

Nilay Patel sat down for a Decoder interview with Microsoft CTO Kevin Scott to talk about NLWeb, an open source effort to allow an LLM-style indexing of small websites and provide local search. Instead of having large centralized search indexes like Google or Bing, the indexing shifts to sites having their own local indexes that large search platforms hook into via an MCP, an API endpoint for LLMs (basically). Lots to unpack there, but at first glance I like the idea of local ownership of search indexes over the “scrape everything” model that’s killing the Open Web.

I was listening to the episode because it’s relevant to my work, but I also like Nilay Patel’s perspective and think he has a sober 10,000ft view of the tech industry; without fawning over CEOs, new tech, and VC hype. That is rare in “ride the wave” tech media space. One moment in the episode that hit me a little hard was Nilay asking “Why would anyone start a website (in 2025)?”

You know what’s interesting about that? I’ve asked a lot of people over the past several years, “Why would anybody start a website?” And the frame for me is when we started The Verge, the only thing we were ever going to start was a website. We were a bunch of people who wanted to talk about technology, so in 2011 we were going to start a website. We weren’t even going to start a YouTube channel. That came later after people started doing YouTube channels at scale. At the time that we started, it was “you’re going to start a big website.”

Now in 2025, I think, Okay, if I had 11 friends who wanted to start a technology product with me, we would start a TikTok. There’s no chance we would be like, we have to set up a giant website and have all these dependencies. We would start a YouTube channel, and I’ve asked people, “Why would anyone start a website now?” And the answer almost universally is to do e-commerce. It’s to do transactions outside of platform rules or platform taxes. It’s to send people somewhere else to validate that you are a commercial entity of some kind, and then do a transaction, and that is the point of the web.

The other point of the web, as far as I can tell, is that it has become the dominant application platform on desktop. And whether that’s expressed through Electron or whether it’s expressed through the actual web itself in a browser, it’s the application layer… [interview swerves back to AI tools]

As someone who loves websites, blogs in particular, this is a tougher question than I want it to be. Nilay’s conclusion comes down to two types of websites:

  • E-commerce
  • Application

I don’t think this is a wrong answer, but it does have a whiff of capitalism. These are certainly the most profitable forms of website. Nilay implies the new “way of doing things” is to build your platform in a silo and then branch out into the website game for an economic end. Is the new path to start a YouTube or TikTok and then figure out your web strategy? I certainly know of web dev streamers who jumped into the selling coffee game after minting themselves on YouTube and Twitch. They still maintain their X accounts to capture those eyeballs. I suppose it’s hard to abandon those monetize-able surfaces.

This conversation feels akin to the conversation around the role of a content creator in the age of AI. If these tools can produce content faster, cheaper, and at times better (see: good-fast-cheap triangle)… how do you make a living in the content creation space? Woof. That’s a tough question. And I’d point out the invasion of low-effort content seems to disrupt the whole “content-to-lamborghini” pipeline that Nilay suggested above.

I think my answer to “Why would anybody start a website (in 2025)?” is the same answer for the content creator in the age of AI problem: I don’t know, but you gotta want to. Money sweetens the deal when making content or websites, but we’ve shaken the money tree pretty hard over the last couple decades and it’s looking bare. Increasingly, you’ve got to find other sources of inspiration to make a website – which by the way are still the coolest fucking things ever.

To put a pin on the question about making a website, I guess I’d say… if you have ideas bigger than the 280~500 characters limit? A website. If you make non-portrait videos longer than two-minutes? A website. If you make images bigger than the 1280x720 summary card? A website. You throwing an event and need to communicate details but not everyone has Facebook accounts? A website. You want to eschew the algorithmic popularity game? A website (with RSS). You want to take part in the rewilding your attention movement? A website (with RSS). You want to own your own content? A website. You want to be an anti-capitalist? A website (with RSS). If you want to be a capitalist too, I guess? A website (with a paywall). You want to be anonymous? A website. You want to “share what you know”? A website.

Still reasons to make a website, I think.

Speaking at Web Day Out

Half of the line-up of speakers for Web Day Out is already on the site. One more is already confirmed.

I’m ridiculously excited about the way the line-up is taking shape, and judging by the zippiness of ticket sales, so are lots of my peers. Seriously, don’t wait to get your ticket or you might end up missing out completely.

I’ve already got a shortlist of other people I could imagine on the line-up, but I’m open to more suggestions. If you’d like to speak at Web Day Out—or you know someone you think would be great—send an email to jeremy@clearleft.com

I won’t be checking my work email while I’m away on holiday next week but it would be lovely to come back to an inbox of exciting suggestions.

A couple of pointers…

I’d rather not have too many people like me on the line-up. White dudes are already over-represented in this industry, especially at conferences.

If you’ve never given a talk before, don’t worry. I’d love to help you put your talk together and coach you in presenting it. I have some experience in this area.

No product pitches. That includes JavaScript frameworks and CSS libraries.

If I get even a whiff of “AI”, your proposal doesn’t stand a chance. There are many, many, many other events that are only too happy to have wall-to-wall talks about …that sort of thing.

If you end up speaking at Web Day Out you will, of course, be paid. We will, of course, cover travel and accommodation too. We can’t afford the travel costs of bringing anyone in from outside Europe though (and we’d like to keep the carbon footprint of the event as small as possible).

Web Day Out has an opinionated agenda all about showing what’s possible in web browsers today. Some potential topics include:

The emphasis should be on using stuff in production rather than theoretical demos.

If you’ve got a case study about using the web platform—perhaps migrating away from a framework-driven approach—that would fit the bill perfectly.

How’s all that sounding? Know someone who could deliver the goods? Let me know!

From Colleagues to UX Practitioners

Tools aren’t enough. Here’s how to change mindsets and empower others to embrace UX.

Trump says: With this order, I am announcing “America by Design,” a national initiative to improve experiences for Americans, starting by breathing new life into the design of sites where people interface with their Government. It is time to update the Government’s design language to be both usable and beautiful. This effort will be facilitated […]

September 2, 2025, 5:32 pm >>

407: Our Own CDN

Robert and Chris jump on to talk about our little CDN project. Maybe that’s not the right term, but we struggled with naming it. Truth be told, it’s the /public/ folder in our monorepo, where the purpose is getting files to the world wide internet at URLs that anyone can access. Our favicon is a […]

Centralia Old-Time Campout 2025

My buddy Jason Chinchen made this highlight reel of the Centralia Old-Time Campout above. As Jason writes: The 2025 PNW gathering of old-time musicians in Centralia Washington. Appalachian fiddle music and other genres of old-time and folk music being passed down by ear as originally done. The Centralia Campout occurs every year on the sheep […]

Chris’ Corner: Clever Clever

David Darnes made a <code-pen> web component, which is a basic HTML/CSS/JS panel layout that renders them into an iframe (using the very cool <syntax-highlight> web component as well). Then it ate itself when Ariel Salminen put a <code-pen> in a <code-pen>. Then the universe collapsed upon itself when Rob Rhoades made a code pen […]

Git diagramming "The Weave"

We all know the current US President is one hell of an orator and often assures us that he has “the best words”:

I went to an Ivy League school. I’m very highly educated. I know words. I have the best words.

The man knows words. Says so right there. While some might view his non-sequitur ramblings as the nascent stages of dementia or an unfiltered ADHD brain launching into successive short (at times racist) bullet-point diatribes based on the last word or phrase he said like a cursed game of word association, the President asserts this is not the case:

You know, I do the weave. You know what the weave is? I’ll talk about, like, nine different things, and they all come back brilliantly together. And it’s like - and friends of mine that are, like, English professors - they say, it’s the most brilliant thing I’ve ever seen.

“The Weave” re-entered my consciousness this week after I watched a quick snippet of an Oval Office event where Trump says the (“radical left-wing”) CBO projects tariffs will reduce the deficit by $4 trillion USD. I was skeptical –and for good reason– but I tuned in. What shocked me was not the complete lack of specifics about the CBO projection, but rather the actual reason for the Oval Office meeting: a FIFA event? Wow.

For awhile now, I’ve clued into the cyclical pattern of his speeches, little snippets of “the best words” and talking points assembled like a ransom note cut from a magazine. I often wondered if it’s possible to diagram “the weave”. The “branching” narratives Trump uses made me think a git-graph-style visualization was apropos. So I grabbed a transcript and got to work.

For my first attempt, I used Mermaid.js’ GitGraph Diagram which worked well but only supports horizontal charts. As I sat with it I realized I wanted a chronological list of statements that read like a transcript. I repurposed the Mermaid’s GitGraph DSL and made a web component called <git-graph> to help me visualize and document Trump’s derailing trains of thought from the above event.

I would recommend viewing this on my site with JavaScript enabled.

branch tarrifs
checkout tarrifs
commit id: "I was very happy that today, as you saw, the uh group that does this [the CBO], a government group,"
branch radical-left
checkout radical-left
commit id: "a radical left group, announced that Trump was right"
checkout tarrifs
merge radical-left
commit id: "took in $4 trillion worth of tariffs"
commit id: "The $4 trillion they're going to reduce the deficit by numbers far greater than they ever expected or heard of."
branch stock-market
checkout stock-market
commit id: "And by the way, the stock market went up a thousand points. That was as of 10 minutes ago."
commit id: "I can't tell you what happened. A lot of things happened, but the stock market's up almost a thousand points."
cherry-pick id: "I was very happy that today, as you saw, the uh group that does this [the CBO], a government group,"
commit id: "It's basically on the news that uh the release that just came out from government that uh the tariffs that everybody was talking about that"
branch world-respect
checkout world-respect
commit id: "the whole world respects us for because of what we did"
cherry-pick id: "took in $4 trillion worth of tariffs"
commit id: "The tariffs are going to be at $4 trillion." 
cherry-pick id: "The $4 trillion they're going to reduce the deficit by numbers far greater than they ever expected or heard of."
commit id: "They're going to reduce the deficit by $4 trillion."
branch ask-jd
checkout ask-jd
commit id: "[Seeks validation from JD Vance]"
checkout stock-market
merge ask-jd
cherry-pick id: "And by the way, the stock market went up a thousand points. That was as of 10 minutes ago."
commit id: "It's had a huge impact and the stock market is way up."
commit id: "But this will drive more than $30 billion in US economy"
commit id: "and create 185,000 American jobs."
branch fifa-event
checkout fifa-event
commit id: "No sporting event attracts more attention or more fans or anything else"
commmit id: "And I just look forward to the draw."
commit id: "So we're going to have the draw essentially, Gianni, at the Kennedy Center"
branch kennedy-center-remodel
checkout kennedy-center-remodel
commit id: "and by that time it'll be in even better shape. We're working on it."
commit id: "It's about a year project to make it."
commit id: "It'll be great. It'll be fantastic."
branch oval-office-remodel
checkout oval-office-remodel
commit id: "You see the way [the oval office] is looking?"
commit id: "Looks nice."
commit id: "I can't tell you how much that gold costs, a lot of money."
commit id: "There's nothing like gold and there's nothing like solid gold."
commit id: "But this beautiful office needed it."
commit id: "It had to be representative when we took it over."
commit id: "It was dirty, not clean."
commit id: "I immediately changed the chair and had the this beautiful desk renovated, brought out by the White House."
commit id: "People that do this, they did a great job."
commit id: "They sent it out. We have a craftsman who's great."
commit id: "But this was not appropriate for the Oval Office when I took over."
commit id: "And now you look at all those paintings [instructs to look at paintings]"
branch painting-vault
checkout painting-vault
commit id: "All of these are great presidents and they were all in the vaults."
commit id: "They were in vaults for in some cases much more than a hundred years."
commit id: "And now they're proudly hanging on the oval office walls and I can't imagine anybody changing it."
commit id: "But they were they were buried in vaults for over a hundred years, many of them."
checkout oval-office-remodel
merge painting-vault
commit id: "So it's very exciting. People come in, they really love it."
branch self-congratulations
checkout self-congratulations
commit id: "They love what we're doing here."
commit id: "They love what we're doing in DC [deploying the national guard against American citizens]"
commit id: "and they love what we're doing most importantly in the country in the world. [citation needed]"
checkout fifa-event
merge self-congratulations
commit id: "I'd like to ask Gianni to say a few words ... [flattery] ... he's got the biggest event in the world coming right here to the United States."
commit id: "We did a little for Canada,"
commit id: "we did a little for Mexico."
checkout self-congratulations
merge fifa-event
commit id: "We thought, see, I'm a good citizen. I said, let them have a little piece."
cherry-pick id: "We did a little for Canada,"
commit id: "So, we gave a little to Canada."
commit id: "See how nice I am."
cherry-pick id: "we did a little for Mexico."
commit id: "And we gave a little bit to Mexico."
checkout fifa-event
merge self-congratulations
commit id: "Gianni, please say a few words."

By my count in that four-minute address there were ten distinct themes or “branches”, most of which are common grievances or rhetorical themes found in nearly all Trump speeches. I used “cherry-picking” to model callbacks to a previous statement (e.g. “the stock market is up”) that seem to reverberate into later trains of thought, a quintessential feature of the weave.

Four minutes of the weave was about all I could handle but I think this visualization models what I experience when trying to follow along to the President’s speeches. One or two phrases on a topic, then jumping to a new topic, weaving in a (sometimes unrelated) point from a previous topic to make the thought appear more cohesive and linear, then driving deep down an inconsequential topic. When he talks so long about ten different topics at a time, I’d forgive you for thinking he said something salient. But when you break it down you see it for what it is: a mishmash of talking points.

406: Hot Trends of 2025

Marie and Chris jump on to discuss some of the trends of what people are building on CodePen here, approximately halfway through 2025. New CSS! Hot Styles Hot Pens Time Jumps

Creating Your UX Playbook

A UX playbook empowers colleagues, builds credibility, and scales your influence far beyond your own capacity.

Chris’ Corner: Pretty Palettes

I’m not terribly good at picking a good color palette out of thin air. My go-to is a dark look with bright colored accents, but I’m wildly envious whenever I see a beautiful website with great looking colors that are very far away from what I could pull off. Sometimes, a little inspiration can go […]

Chalk Font Kid

I used to be able to indentify typefaces in use around in the real world as a kid. My mom would get a kick out of me noticing the same typefaces used by different brands on billboards and stuff as we drove around, as I recall. Nothing like this kid though, jeepers.

No, Google Did Not Unilaterally Decide to Kill XSLT

The Web Discourse has been spicy of late, and XSLT is to blame. Well, sort of. It’s complicated.

Limiting YouTube to a Single Tab

This week I decided to go nuclear on my bad YouTube habit. I installed a plugin called Tab Limiter that lets me limit youtube.com to one tab at a time. Clicking links that open in new tabs will now auto-close the tab.

Why do this? I talked about it before but when I’m bored I open tabs. Adding friction here prevents me from CMD+clicking videos during moments of boredom and creating a month’s-worth unclose-able tabs of videos to watch. It encourages me to stay focused and nudges me towards YouTube’s lossy1 “Add to queue” feature to queue up one video at a time in a single tab. I sort of prefer this way of using YouTube and it makes it feel a lot more like a native app.

That inspired me to install the YouTube Progressive Web App and because the PWA is basically a dedicated tab, Tab Limiter keeps me from opening other videos in new tabs. I’m now funneled into the application.

Opening a dropdown and clicking “Add to queue” is adding more “good friction” to the process. It also comes with a counter. 20 tabs open, no big deal, I’m immune to that effect. 20 items in a queue. Yeesh. That’s a todo list.

Screenshot of the tablimiter UI, it has unstyled for fields for URL and a tab limit quantity

Tab Limiter has a brutalist UI and that’s what makes it perfect. It’s also open sourced on GitHub which is important to me so I can make sure it’s not sending my browsing history to China. And I can fork it. One improvement I’m considering is to add the closed video’s ID to the YouTube queue before closing the tab. It seems easy enough, but probably not as easy as I’m hoping. The core idea there is that it might be helpful if I come across an urgent watch-now link or someone sends me a link.

I’m also still using Raycast Focus which is a great way to blockout time and stop distractions at the source.

  1. YouTube queues only exist in memory in the tab context, it’s not a cross-tab feature so if you close a tab and started a new one, the entire old queue got erased forever. ↩

Too many meetings?

At Automattic, we know our time is finite and precious. Here are the questions we ask ourselves before agreeing to any meeting:

The post Too many meetings? appeared first on Jeffrey Zeldman Presents.

To Infinity… But Not Beyond!

More explorations of ways to abuse the CSS `infinity` keyword, this time with more than just lengths.

405: Elasticsearch → Postgres Search

Alex & Chris get into a fairly recent technological change at CodePen where we ditched our Elasticsearch implementation for just using our own Postgres database for search. Sometimes choices like this are more about team expertise, dev environment practicalities, and complexity tradeoffs. We found this change to be much better for us, which matters! For […]

Classifiers and cosmotechnics

I’ve been playing around with Midjourney for work and the one thing that makes Stable Diffusion cool and useful to me is the --sref flag to summon results in a specific visual style or “style reference” (e.g. Celestial Swirlscape is --sref 2566192150). They differ a bit from traditional or “artist” styles (e.g. “In the style of Picasso” or “Rip off Studio Ghibli”) but can be that or they can be more generic or compositional like “Pink Retronetic Dreamscape”. I’ve read a deep-dive on SREF codes and it’s still a bit unclear how they work to me. They’re like a hybrid between prompt shorthand and style classification. Curated and collected by humans, but a code generated by machines. I have to imagine there’s some clumped circles on a node graph chart somewhere that determine this… but I don’t know those answers.

The idea of a classifier (human assisted or otherwise) that can suck up and analyze all the art on the internet and end up with a 10-digit number that represents nearly any visual style of imagery I’ve ever seen is mind-bending. Not to mention the ability to overlay that style reference on any image I want in under a minute. “Anime waifu. --sref 3196580341” is the “Tea. Earl gray. Hot” of digital imagery. It feels unreal.

Could we apply a universal classifier to blog posts so that your “longread about cool bugs” and my “longread about cool bugs” have the same --sref tag? And then we retro-actively apply human-readable tag names to this stylistic tag? And then could I subscribe to a feed of those specific types of posts? That might be interesting… or radicalizing.

Design tokens? Could those be a system of classifiers instead of arbitrary language? Probably not. But why not? Web design almost certainly could, if it isn’t already.

While the idea of classifiers tickles the logical computer part of my brain, reducing the entirety of the visual arts down to a set of ten billion categories offends the artist part of my brain. It is odious. There’s an observer effect to it whereby in the act of classifying the art you’ve limited and altered your ability to understand it. And any mimicked generation has an imposter-like, soul-less character to it, no matter the quality. I can’t explain that. Even though I’ve seen the machine generate incredible art beyond anything I’m capable of, I still feel that intangible void on my retinas when I interact with it.

My wife and I were joking about how the algorithm is serving us videos about certain personality quirks that map to (possibly made-up) niche disorders. My wife –who can remember the melody to every guitar solo but can’t remember the words of the songs from her own band– has a diagnosis from Dr. TikTok that she has “polyphonic perception”. My personality quirks all point to my particular flavor of ADHD. How long until our entire personalities are all tied to a collection of niche diagnoses? How long until our brains are all classified by a ten-digit number? That could be incredibly useful for getting help but brings up nature versus nurture questions for me. Did God make me this way or did I dent the packaging? Can people with --brainSpiceRef 2566192150 even apply for this job? How long until the machines build these types of preferences? Myers-Briggs but instead of made by a racist, it’s made by MechaHitler.

When I think about the future I want, it always comes down to one idea: I want a pod-like chamber I can walk into that scans my entire body, makes bleep-bloop noises to show that it’s working, and prints out a receipt with a list of all my ailments (cancers, deformities, disorders, and otherwise) and recommends a diet and exercise plan until my next scheduled visit to the pod. Bonus points if it orders groceries accordingly after my entire family has exited the chamber. I’m aware this has “Big Theranos Energy” and is an incredible surface area for conspiracy theories… but it’s the science fiction future I want. Classifiers seem inevitable on that pathway. But how do we preserve our humanity when reducing the human race –who we are and what we create– down to a series of ten-digit codes?

Chris’ Corner: Faces

It’s one of those weeks where I just feel like posting some specimen screenshots of new-to-me typefaces that I like and have saved.

Vibe Check №39

In the middle of the night on the morning of July 4th, a storm parked over the Texas Hill Country and caused the Guadalupe river to rise more than 25 feet in two hours. 135 dead, including dozens of children from summer camps along the river. As a parent, this is the greatest tragedy you could imagine. My heart goes out to the families and friends who lost a little one that week.

As a Texan, this is yet another tragedy in a growing list of rare but forecastable tragedies where federal, state, and local officials failed Texans. I’m tired.

With that event casting a dark shadow on the summer acknowledged, here’s a recap of the last couple months.

A trip to the Grand Canyon

the grand canyon near bright angel trailhead

In late June my family stole away for a quick trip to Arizona. My in-laws bought a vacation place in Flagstaff to escape the Phoenix heat. We wanted to check out the new place and figured we could do something American and tag on a quick trip to the Grand Canyon.

On the morning of the second day we arrived at Grand Canyon National Park early. We found a good parking spot steps from the canyon’s edge and told our kids to get out and see the view. I’ve been to the canyon a couple times but nothing can truly prepare you for the enormity and pastel grandeur you’re about to see. I enjoyed re-living the first glimpses through my kids’ collective gasps of awe… and after about 10 minutes they were ready to go home and get on their iPads.

We milled around the park for nearly two hours making frequent stops. We stopped at the Devil’s Watchtower on the way out of the park which I’d recommend. All-in-all, we saw something truly remarkable together and my wife and I felt like we checked off a big “This is good for you and you’ll thank us later” parenting checkbox.

The next day the kids rode back with the grandparents to Phoenix while my wife and I took a short detour to go see Sedona. All these years visiting Arizona and I’d never been. We don’t buy into all the energy crystal woo-woo the town advertises, but it’s a beautiful and inspiring piece of America with incredible vistas and sculpture-like red stone mountains. I’d like to spend more time there.

We had a couple days in Phoenix to hang with cousins and celebrated my great-nephew’s second birthday. He’s a cool dude. Mid-week we headed back to Austin to send the kids to summer camp. That week could have been a great one for my wife and I to enjoy an empty house, but I ended up (over-)working all week.

Trip to San Diego

The day after the kids got back from summer camp we packed our bags again and headed to San Diego with my wife’s entire family. The next four days were beach days; digging holes, playing guitar, hitting the smashball, dozing off to books, and chasing a toddler around. I stayed in my solar fortress most of the time to avoid my enemy: The Sun.

But it wouldn’t be a Rupert Family Vacation without some calamities! On the second day my son got the worst sunburn of his life; no blisters, just red. He’d survive… but he didn’t know that. I sympathize because I had tons of sunburns as a kid. When it itches, it sucks.

And then there’s my daughter…

At the end of the week we tagged on a couple more days and visited Austin friends who spend the summer in Encinitas. Our daughters who have been besties since daycare slotted right back into their brand of silly lip sync routines and giggling. To soak up more beach time, we hiked down the cliff to Beacons beach and set up some chairs in the rocks while the girls boogie boarded their hearts out having the time of their life until…

My daughter comes to us holding her arm crying. When she reached for the loose boogie board leash she slammed her hand down and said she felt something fold over her arm and sting her. We walked over to the lifeguard stand and got the bad news, “That looks like a sting ray.”

The untold irony here is all week long my daughter was telling anyone who would listen that her two greatest fears about the ocean were: getting caught in a rip current and getting stung by a stingray. We tried to diffuse those fears but she kept talking about it. And here we were, the prophecy came true.

“I can call a lifeguard truck to meet you at the top of the hill but you have to take care of it now.” Uh-oh. That’s when I knew we were in a serious situation. We said no to the lifeguard truck but needed to submerge her arm in 115ºF water (hot tap water) for 30-90 minutes to neutralize the proteins in the venom. We hiked back up the cliff and walked the three blocks to the house. Tears the whole way.

After a couple hours everything was sore but stable. She’s a tough kid and that was a difficult situation. What a champ.

We survived: A skunk attack

Late one night my daughter (who has a sensitive smeller) said “Something smells like skunk!” I caught a faint whiff of it and thought “It’s probably some neighbors smoking weed” and opened the back door to assess the situation and in rushed my two mutts, one of them covered in skunk juice! Yikes!

We did our best to corral them to the garage where we washed them with an internet-recommended concoction. I can’t even describe the degree to how awful this was. The smell infiltrated our house and sulfur burned in the eyes and nose all night long. We spent the next day Fabreezing and disposing of any rogue object the smell might have transferred to: the backdoor mat, collars, one kids sandal, the dead skunk near the trash… Ah, gross.

A skunk attack is not a situation you can control (dogs being dogs) but it’s not one I want to relive any time soon.

Another school year begins

This week we strap ourselves into the bobsled and push the sled downhill on an out-of-control course where the breaks do nothing and it sends us crashing into Christmas. Feeling optimistic about this year, but there will be more homework for both our kids which is historically not a strength we operate in as a family. Lord help us.

Stats

Here you go, number perverts. All the dopamine deep-dives and drive-thrus I collected over the summer.

🧠 Learning

  • Sovietology - Based on a space race analogy I heard at work I made a deep-dive on the Soviet space program which led me to Sovietology and trying to understand how the Soviet central planning system (“cybernetics”) failed its fellow comrades.
  • ADHD - Been watching a lot of videos on ADHD and trying to understand it more
  • Minimalism and decluttering - ADHD videos lead me into minimalism and decluttering videos and it makes a difference if you view clutter as stimulus. If I could just get the rest of the family on board…
  • Drawing - I’d like to be good at drawing, so I spent a lot of learning about shapes, perspectives, sketching, and more
  • Studio Setups - Because ShopTalk has a YouTube now, I’ve become a little bit obsessed with optimal YouTube setups but I haven’t done anything… yet
  • Budgeting - After all our summer trips and feeling spent (physically and fiscally), I sat down one weekend and did some budgeting and ingested a lot on the subject.

❤️‍🩹 Health and wellness

A lot of updates here but still untangling the Gordion knot of stress, anxiety, weight, and ADHD. I’m talking to doctors and making some changes and I believe they are helping even if it’s not fully realized yet.

📝 Blogging

Over a dozen posts over two months with some vacations in there, that’s about all you can ask for.

📖 Reading

Behind pace for the Book-a-Week Club and that’s fine with me.

System CollapseThe Wrong StuffSpace Battleship YamatoRed PlentyADHD and UsA Different Kind of PowerDungeon Crawler CarlMoral AmbitionWin Every ArgumentThe Dawn of Everything
  • System Collapse ★★★ - The last book in the Murderbot Diaries. This one was a slog, to be honest. The action at the end was good but the crescendo right before that, the big group project… was disappointing.

  • The Wrong Stuff ★★★★★ - A great book about the relative failure of the Soviet Cosmonaut program compared to NASA even though the USSR had many “firsts” they did so without regard to the safety and stability of their program and rockets.

  • Space Battleship Yamato ★★★½ - Got this from Kinokuniya to satiate my retro space manga obsession. It delivered on the space opera promise but had a lot of the early-days manga pitfalls. That wasn’t a deal-breaker for me but could be for some I’m sure.

  • Red Plenty ★★★ - A historical fictional narrative about site managers and scientists under Khrushchev’s rule. It paints a nice picture about the economics (“cybernetics”) and central planning of that time, but sometimes the narrative was too thick (like Dostoyevsky thick). Reaffirming I’m a non-fiction guy.

  • ADHD and Us ★★★★ - A good book for people in a relationship where one or more partners are neurodiverse. Recommended by my psychiatrist.

  • A Different Kind of Power ★★★★½ - Jacinda Arden’s autobiography is a bit hard to read because of how calm, cool, collected, and capable she seems compared to her American contemporary Donald Trump who was nothing but chaos and incompetence.

  • Dungeon Crawler Carl - [In progress]

  • Moral Ambition ★★★★ - I enjoyed Bregman’s other books more, but this book certainly is challenging. It asks you to consider how you can make the biggest, moral, positive change and adjust your life towards that goal. That certainly tugs at my heartstrings but is a tough call to action in uncertain times.

  • Win Every Argument ★★★★ - [In progress]

  • The Dawn of Everything ★★★★½ - [In progress]

📺 Media

Saw some good movies this period… which is rare.

Movies

  • 28 Years Later - Good movie. Lots of zombie dong, or… it’s more accurate to say one notably huge alpha hog.
  • Superman - I enjoyed a DC movie; a Superman movie! Unbelievable. Has James Gunn saved the DC cinematic universe? Hopefully.
  • K-Pop Demon Slayers (Netflix) - An wonderful animated film and you can see the foundation of fun from the creative and technical teams come out. Great job Sony Animation.
  • Fantastic Four: First Steps - The art direction in this movie is incredible… fantastic even. A real cinematic feat. Worth seeing in theaters.

TV

  • Welcome to Wrexham S4 (Hulu) - Up the town. Unreal ending.
  • Murderbot (Apple TV) - Loved the books… and uh… you can watch the show, if you want to, it’s fine I guess.
  • Mythic Quest S5 (Apple TV) - Not for everyone but feels algorithmically generated for me.

Streaming

  • Game Changer S7 (Dropout) - This season of Game Changer has managed to outdo itself and that’s an incredible a feat.

Anime

  • Mobile Suite Gundam Gquuuuuux (Prime)

Podcasts I purged my podcasts and abandoned some of my favorites (like The Adventure Zone), but I think I’m better for it. Now I can focus on the ones I enjoy.

  • If Books Could Kill…
  • Maintenance Phase
  • Living Planet
  • ATXplained

🎙 Recording

ShopTalk

🤖 Gunpla

This hobby isn’t dead yet! I’ve got five or so in the backlog but three of them are practice kits for a larger project I have in mind. In service to that project, I tried my hand at anime cel-shading an Entry Grade RX-78-2. I tried half-a-dozen application techniques and didn’t find a way that I liked. I need to do more research and keep trying.

🌱 Digital Gardening

  • Made my homepage tie-dyed for funsies. It’s based off the accent color and changes a bit every day.
  • Built some automation for my vibechecks, will hopefully post more later.
  • Added more pentatonic scales to Pentablaster… it’s in a messy state right now but I wanted to play with Ethiopian scales. I have plans to fix it up.
  • Regenerated cover images for my stories page using Midjourney. I think I did better this time around.

👾 Video games

Mostly puzzles, but I did go reopen the door to a city builder.

  • Cities Skylines - I hooked up SteamLink to play my PC games from the shed inside the house on my Mac. Trying to play enough Cities Skylines 1 to justify buying Cities Skylines 2.
  • Balatro - The joker addiction continues. Feel like if I beat one more stake I’ll be happy and can quit.
  • Clues by Sam - A daily caper! If you’re not playing this you should be.
  • Stars - A sudoku-like puzzler from Inkwell Games
  • Fields - A difficult pattern game from Inkwell which I first thought was impossible but now feel like I’m getting the hang of it.

Len Tow

We have lost a most generous soul. I have lost a benefactor, mentor, and friend. Leonard Tow died Sunday at age 97.  Len held a PhD in economic geography from Columbia and taught at Hunter and Columbia before deciding to leave for business, first in theater and then in the infant industries of cable TV […]

The post Len Tow appeared first on BuzzMachine.

Chris’ Corner: Browser Wars Micro Edition

Ages ago, Firefox shipped “masonry layout” where you simply grid-template-rows: masonry; instead of defining specific rows in a grid or letting them auto-create. It wasn’t terribly powerful but it did the trick for a lot of use cases. There has been renewed interest in this the past year or so, where Google and Apple have […]

Infinite Pixels

In which I push browser engines to their finite limits using infinite values.

404: Preventing Infinite Loops from Crashing the Browser

Stephen and Chris hop on to talk about how we’re saving everyone from crashed browser tabs in CodePen’s 2.0 editor. One simple: Executing JavaScript can cause a browser tab to entirely lock up, preventing you from doing anything, like potentially saving your work. It can even crash other same-domain tabs. But not on our watch! […]

All the concerns that make you a boring developer

I was thinking this morning about how once you understand that your technology choices have security, performance, and accessibility considerations you become a much more boring developer. Acknowledging those obligations can sort of strips the fun out of programming, but we’re better for it.

I decided to pull on that thread a little more and come up with a list of all the concerns you might have as an engineer/developer that ultimately compound to make you a boring, wet blanket of a person to be in meetings with.

  • Security - Make sure you’re not opening the door for hackers.
  • Privacy - Don’t leak personal information. Or don’t collect it in the first place.
  • Performance - Can the software work on low-end devices? Can you deliver the large bundle over bad internet? Those are your problems.
  • Inclusion/Accessibility - Are you allowing people the dignity to use your product? No? Oof. You should probably do that. Ideally because you are an ethical person, but also because it’s a legal liability.
  • Scalability - If a thousand people show up in the next minute, does your software still work? You have 100 users now, but how does it work for 1000? 1 million? 1 billion?
  • Maintenance - Ship a new feature? Great. Expect to spend at least 40% of cost/time to maintain a feature over its lifetime.
  • Testability - Did you write the code in a way that’s easy to test to make sure bugs don’t show up in production?
  • Deliverability/Distribution - How do people get or use your software?
  • Adoption/Onboarding - How do customers or partners use your software? How do they get familiar?
  • Documentation - Email and DMs is probably not the most efficient form on knowledge transfer.
  • Ecological - Does your app burn through GPUs in Iowa? What are you doing about that?
  • Financial/Cost - Servers and GPUs cost money, did you build this in such a way that it costs as little as possible to run?
  • Monetizability - Good idea but does it make money or cost money?
  • User feedback - What are customers or partners saying about this? Does that impact how or what you write?
  • Stakeholder feedback - Like user feedback but everyone freaks out like their job depends on solving the problem that day regardless if its a good idea or bad idea.
  • Organizational - How to get your co-workers onboard with the plan plays an outsized part in software engineering. Welcome to the world of office politics!
  • Staffability - There’s not a lot of Haskell developers out there. Or the inverse, people over-optimize on technologies that are “easy to hire for” and now you have a billion lines of Java in your application.
  • Support matrixes - For websites, of course we support major browsers and the latest 2 versions? Do we need to go back further? Weirdo browsers? Should we make native apps? Which ones? What devices/CPU architectures do we support there? Niche Linux distros? The list goes on.
  • Political - Some say “all tech is political”, and I tend to agree, but ask yourself: Did you put a politics inside the code? You did, didn’t you?
  • Geopolitical - Rare, but happens. See: Facebook Myanmar genocide
  • Localization/Internationalization - Uh-oh, your UI doesn’t work in German or Arabic. Also all your images and icons are offensive to a particular country’s monarch. Are you ready to cross the borders? Get ready for VAT tax tables, ughck.
  • SEO/Crawlability - Cool website you made, can robots get to it and index it? Now LLMs are coming and slurping up your content and traffic. Uh-oh!
  • Adjacent competitors - What your competitors are doing will always play a role in engineering. Looking better than them is good, being cheaper is good too, but one rule is the most important: never be slower. See: Platform adjacency theory
  • Throughput/Velocity - How fast can you and (more importantly) your team ship an idea from conception to production. What about turnaround times on bug reports?

If you ever ask a developer if an idea is possible and their brain lags out with a little loading spinner over their head, it might be this enormous pile of concerns they’re mulling over. That can be an issue, but I’d be more concerned about the developer that instantly says “Yes” to everything. And if you’re tired of developers saying “No” all the time, ask your developer about ways to put them in situations where they can say “Yes”.

Staying relevant

“And in their place came acceptance.” Staying relevant in your profession as you age and technology changes.

The post Staying relevant appeared first on Jeffrey Zeldman Presents.

Theater UX

I saw this summer’s Marvel movie in the theater on Sunday. A bit of a last minute idea so we ended up going to the “legacy” movie theater across the highway. Before I continue, It’s important to understand my local cinema dynamics. We have two theaters here in Austin: The Alamo Drafthouse and All Other Cinemas.

The best place to see movies in Austin is at the Alamo Drafthouse. If you’ve never been to an Alamo, I’m sorry. It’s a movie theater for people who love movies by people who love movies. They craft the entire art house experience from end-to-end. From the custom pre-screener of thematically topical clips, to the strict no late arrival and no texting policies, to custom food and drink options that match the latest blockbuster movie. A waiter brings you food, drinks, and refills so you don’t have to leave your seat. The trailers are a tight 15 minutes announcing new releases and special events where they bring back old movie classics (set to an era-appropriate soundtrack, of course). Every year they have an indie movie festival to showcase the weirdest films the industry has to offer. Going to the Alamo is a thoughtful experience through and through and they sell out nearly every show opening week. You pay more going to the Alamo of course but I think everyone would agree it’s worth it for most movies unless you’re looking for a quick n’ dirty alternative.

Contrast that to the “legacy” theater. I call it the legacy theater because this was the nice, brand new theater when I went to college 25 years ago; one of those big 24-screen nationwide chain movieplexes with a four-machine arcade and stadium seating. Six plexiglass teller windows tell the history of how popular this destination was in its time. It’s flagship theater is an enormous 4D IMAX. It of course (like the Alamo) has the push button recliners and swivel food trays. The nicest thing about the “legacy” theater is that there’s always open seats and that’s where the problems start to reveal themselves…

The first thing you notice at the “legacy” theater is that no one occupies the teller windows anymore. Instead you go inside to meet a greasy teenager who scans a QR code for the ticket you have to buy online. You go to the snack bar and load up on enormous free refill tubs of popcorn, drinks, and overpriced candy; it’s almost certainly a $50 stop. Then you go to the nearly empty theater and wonder if you walked into the wrong theater by accident. Before the movie starts you sit through the hokey pre-screen trivia and local ads and when the start time hits… you watch 35 (!!!) more minutes of ads with a couple trailers mixed in. And after all that you’re out of snacks and the movie starts.

The user experience contrast between the two couldn’t be more stark. One is thoughtful and compounds the experience at every turn and the other is enshittified with ads. One keeps you wanting to come back and the other makes you wonder why you came here in the first place (or worse, it makes you want to leave). At least its clean, I guess. One sees attention as precious and not-to-be-disturbed, the other sees you as captured by sunk costs and a pair of monetizable eyeballs. One will sell you a fresh pizza, a popcorn, and a couple refillable sodas for $50 and the other will sell you day-old popcorn, an impossibly large cup of soda, and some Sour Patch Kids for $50… after you do the math, the better experience isn’t any more expensive so it’s not even competing on price.

It’s no wonder why the “legacy” theater is always empty. I bet its owners would love to see all the seats full again. It all comes down to UX. One works hard creates a vibrant scene and fosters a culture1 for people who like films, the other is real “death of cinema” vibes. People (sometimes thousands!) put so much effort into these films to make the best film possible, only to have that experience ruined in the last mile. It’s tragic and I guess I’ll just catch it when it comes to streaming.

In related news, last year Sony Entertainment acquired Alamo Drafthouse. I’m not sure if that makes it more or less probable that you’ll be able to experience an Alamo in the future. We’ll see where it goes from here. Hopefully they can continue their relentless focus on the user experience.

  1. I’d be remiss if I didn’t call out the #metoo and union busting issues that were happening behind-the-scenes at Alamo and revealed in 2022. While Alamo has done a lot to create immense cultural capital here in Austin, that ascent has not been without enabled bad behavior. Similar issues plague Hollywood too. ↩

Chris’ Corner: Scroll-Driven Excitement

Scroll-Driven Animations are a bit closer to usable now that Safari has them in Technical Preview and Firefox has them behind a flag. Chrome has released them. Saron Yitbarek has been blogging about it for Apple, and it’s nice to see. Apple hasn’t ever been super big in the “we make educational content for web […]

A modest proposal for new holidays to manage your digital life

The cost of being online is getting too damn high and I’m tired of pretending it’s possible to fit these tasks into a normal life. That’s why I’d like to share a modest proposal for a new set of holidays to manage our digital lives:

(Ahem.)

  • A day to clear out your inboxes
  • A day to reset your passwords and delete old accounts
  • A day to fix your calendars
  • A day to cancel online service subscriptions
  • A day to manage the tags on your website
  • A day to switch out any critical apps
  • A day to backup your computer and phone
  • A day to organize your photos
  • A day to organize your music collection and playlists
  • A day to setup your new phone/computer
  • A day to try out a new app or major piece of software for your primary workflow
  • A day to delete old text messages

All I’m asking for is 1/30th of a year that we end up cramming into other days. I’m willing to trade some of the B-tier holidays (Easter, Thanksgiving, etc) for this. If you work in the government please call me, it is URGENT.

A fiscal recalibration

After all our summer trips I buckled down last weekend and did some budgetting and I’ve realized I have to update the spreadsheet in my head. Here’s how much things cost in my outdated DaveBrain 2000 operating system:

  • Fast food -$5/person = $20/family
  • Snacks - $2.50/person = $10/family

That –as my bank account is telling me– is super incorrect. The real numbers are much more like:

  • Fast food - $12.50~$15/person = $50~$60/family
  • Snacks - $5~$7.50/person = $20~$30/family

And groceries have gone up too. Woof. Hard times in the concrete jungle.

We’re updating the database and cutting back on these obvious financial vampires. And we know when/why we tend to rely on them to get us through the week. So that’s good. But when you have kids –snack-reliant kids at that– introducing austerity measures like this is hard, because being a penny-pinching dick about money all the time probably isn’t good for them either.

Don’t worry about me though. I’m lucky to have a great job and two kidneys, I’m sure I can sell one of them for a decent amount.

Namaste.

The Economy? He died five years ago.

I hold a conspiracy theory the global economy died five years ago during Covid. It’s been on life support through stimulus checks and flash tech hype cycles ever since trying to keep the dormant heart beating. You sense it too. There’s no beating heart. There’s no thumping energy. No vein of excitement. Tech and knowledge work seems to be suffering the most.

The death of the Economy started long before Covid if I’m honest. Since the iPhone it feels like everyone has been waiting for the next big hit, the next new shiny, the next money-maker. It’s like an endless distracted boyfriend meme looping year over year. And I regret to inform you that the investors are at it again. Today it’s LLMs, before that crypto and the Web3 Metaverse, before that VR, before that the gig economy, before that smartwatches, before that smart-homes, before that 3D televisions, before that…

The phalanx of tech billionaires behind Trump at the inauguration is an image seared into my memory and it’s taught me a lot. It taught me that these companies are desperate. Desperate to win favor. Desperate to avoid regulation. Desperate to keep their government contracts. Because without the preferential treatment, the lawlessness, and the humongous contracts, they’re financially and morally bankrupt.

(To be fair –why do I feel the need to be fair to tech billionaires!?– from a Friedman doctrine perspective their job is to create value for stakeholders. Kissing the ring of the petty, easily-aggrieved, fascist, man-baby tyrant is probably the most surefire way to avoid unwanted scrutiny in uncertain fiscal times. I understand that part of their job. But I’d wager the long-term outcome will be that they set themselves up for future embarrassment, exploitation, and extortion while simultaneously selling out all the immigrants, queer people, and furries who keep their empires running on a daily basis.)

That scene in the rotunda reinforced my belief the economy was already dead. If Big Tech is clinging to government contracts and quid pro quo perks, then we must be out of ideas. Every time the winds of fortune change, everyone points their boats in the same direction. In a healthy, living economy shouldn’t there be more than one lake to fish in? Instead of asking “What doesn’t exist and would be useful?” and investing in that, it’s about “How can I extract the most money from hot new tech?” Instead of “What’s quality?” and chasing that, it’s “How can we move fast and make breakable things?”

An aside: What if there are no new ideas? What if the internet accelerated knowledge sharing to the point we’ve made all the software and we’re literally out of ideas!? There are no more worlds left to conquer, Alexander! Help!

I doubt that though. I bet there’s good ideas out there. I bet they’re not on Mars. I bet they’re inside people you already know. Impractical ideas that don’t scale well to billions of users but could have an incredible impact on a local economy and community (RIP Gowalla). Ideas that solve actual problems and create actual utility or connection. Small-scale ideas that when combined can breathe new life into a dead economy.

The definition of a healthy economy is actually one problem I had with the Biden administration. Liberals do a terrible job communicating economic accomplishments even though they outperform Conservative administrations by a large margin. When they do communicate it’s always in lagging indicators like GDP, the stock market, non-farm jobs, consumer price indexes, or low-unemployment numbers. Those are all well and good, but to me it all comes down to a single question: If I lost or quit my job today how easy would it be to find another similar job? To me economic mobility is the true sign of a healthy economy, the ability to have options. To be free.

I’m trying to stay optimistic, but the realist in me knows it’ll be some time until the economy comes back again. At a minimum, we’ll have to restart investments in science. Especially weird science. Even more weird than what you’re thinking right now. I’m talking super weird. And then that weird science takes 20 years to become practical applications. Through that public good is how we get the foundations like the Internet, WiFi, and GPS that have built the society we know and are dependent on today. It’s how we build the pipeline for tomorrow’s economy. But those innovations are on a decades timescale and –math-wise– I’m not sure I have that in me.

Easy sci-fi rectangles with corner-shape

In Chromium 139, CSS gets a new corner-shape property which unlocks some cool new CSS tricks. Most notably it gives us “squircles”, the mathematical superellipse shape introduced by Apple in iOS 7. Designers have been in love with them ever since and include them in every design comp using Figma’s “corner-smoothing” slider even tho CSS has no similar correlation… until now!

Frontend Masters has a beautiful writeup on corner-shape and superellipses showing that it goes way beyond squircles to make some real complex shapes. One capability they didn’t cover in that post is probably the most important of all: CSS corner-shape enables easy sci-fi rectangles.

By “sci-fi rectangles” I am of course referring to the sci-fi film and television trope where all rectangles (doors, windows, furniture, user-interfaces) have one to three angular corners instead of all corners being the old, boring, un-futuristic 90º rectangle corners. They are the cooler version of rectangles by all accounts.

Screengrab from Battlestar Galactica showing the diagram of a cylon, the main antagonist robot from the series. The diagram is on a piece of 8-inch by 11-inch paper with 45-degree angular corners on the page. There's a black manilla folder behind the piece of paper that also has its corners cut to the same angle.

Even the physical paper documents in Battlestar Galactica were sci-fi rectangles, how frakking cool is that!?

There were ways to image-mask or clip-path yourself into a sci-fi rectangle with CSS, but those have some downsides and mathematical complexities. It couldn’t be easier with corner-shape, in fact it’s a two-liner:

.sci-fi {
	border-start-end-radius: 50px;
	corner-shape: bevel;
}

My favorite version is probably when there’s two opposing corners notched out:

.even-more-sci-fi {
	border-start-start-radius: 50px;
	border-end-end-radius: 50px;
	corner-shape: bevel;
}
If you're in a browser that supports `corner-shape` or have the experimental feature flag turned on, this paragraph will be a sci-fi rectangle. If you see a normal rectangle, then I've included a screenshot below for you.
The same paragraph above but the borders are angular sci-fi rectangles

As demonstrated above corner-shape is a wonderful progressive enhancement. A browser doesn’t support squircles? They get rounded corners and the brand doesn’t fall over. You can also put corner-shapes in @supports (corner-shape: bevel) for even more graceful degradation. That’s what I did because a rounded corner is totes un-sci-fi, so I only enable the corner-shape if supported. Because corner-shape is not an image-mask or a clip-path, they’re automatically responsive and squeeze without any percentage-based tomfoolery. They’re animatable too! You can transition them on hover or focus if you want. The full power of CSS, baby!

One quirk I’ve discovered while playing with corner-shape is that the default browser :focus-visible outline won’t hug the corner-shape unless you re-define a custom :focus-visible outline style. That strikes me as weird, so I made a little reduced test case of this quirk you can debug and tell me what obvious tidbit I missed.

Wrapping this up, I’m excited about corner-shape because it has real world implications. A product I work adjacent to is currently shipping 215kb of squircle clip-path masks in production right now. Yikes. That’s a lot for fancy rectangles. corner-shape will be a sizable web performance improvement for their users and reduce maintenance burdens over time. Wins all around.

So remember, kids: Friends don’t let friends ship 200+ KB of squircles in production. Talk to your friends about progressively enhanceable CSS features today!

Before I go: Always buy the $200 Yamaha

I don’t have much life advice but I do know one thing: Always buy the $200 Yamaha guitar.

If you’re thinking about it, do it. Talk to any guitarist you know who has been playing awhile and they’ll have a story about a $200 Yamaha and how good it sounds relative to the price. It’s with uncanny regularity I encounter fellow travelers with a similar story about this particular cheap guitar.

My $200 Yamaha story growing up was my step-dad’s acoustic. He had two acoustic guitars actually; the Yamaha which stayed out propped against his bedroom wall and another one (I don’t remember the brand) with fancy jade inlays that stayed clasped in the green felt case under his bed. I wasn’t supposed to touch any of his guitars but I would sneak in and noodle on that Yamaha every chance I got. The Yamaha had a notable cheap lacquer “clack” to it when tapping the dreadnaught body and the sound it made when bumping into furniture was always harrowing, but the fretboard was smooth and it produced a sound that was both bright and deep; a surprise given the lightweight materials.

I stole some licks on the fancy under-the-bed acoustic a couple times, but the luxury materials produced a tinny sound with no body or resonance and despite its extra forbidden-ness it wasn’t even worth the trouble digging out of its case. The Yamaha with its casual out-of-the-case-because-I-only-cost-200-dollars vibes was not only easier to access, it was better on all accounts.

Is the $200 Yamaha the best guitar? No, probably not. Is it a great guitar? Emphatically, yes. An impeccable piece of Japanese engineering. I’ve owned $2,000 guitars, played friends’ $4,000 guitars, and the $200 Yamaha gives them all a run for their money every time. Good entry-level acoustic guitars from Martin and Taylor exist in the $500 range and they’re great purchases you won’t regret, but it’s not until the $1500 range that you start getting the material quality bumps those guitars deserve. But once you have a $1500 guitar, you start to baby it and hide it away in the case to protect it from scratches and bumps, from air of the wrong humidity, and from snoopy kids with clumsy hands. This is not a problem with the $200 Yamaha.

We bought a $200 Yamaha last month: a 3/4ths scale travel guitar. We went on a family beach vacation in July and my brother-in-law’s family notified us the day before that the cousins were having a no-device week. Worried our 12yo son would die –kidding, but he appreciates prior warnings about adjustments like this and we weren’t prepared for a fully offline week– we bought the $200 Yamaha to be an offline activity and have zero regrets. He noodled all week long and got noticeably better. Cousins and uncles even got into the mix trading riffs. It sounds phenomenal for a mini-acoustic (like a big acoustic!) but more importantly if it takes a tumble, gets stepped on by a toddler cousin, or filled with sand; we’re not even upset. A perfect travel guitar if there ever was.

Instruments are an intimate and personal item and choosing one can have an Ollivander’s Wand Shop element to it; you must find the one that speaks to you. And it’s up to you to treat yourself accordingly based on your budget. But what I will say is, from a dollar-per-quality or a cost-per-song perspective, you can’t go wrong with the $200 Yamaha.

403: Privacy & Permissions

Chris & Rachel hop on the show to talk about the expanded privacy (access) model in the 2.0 editor (in Private Beta as we speak). Private Pens have always been a big deal, but as private as they are, if someone has the URL, they have the URL, and it doesn’t always feel very private. […]

A social media ethos

I’m trying to come up with an ethos of how I want to use social media. What rules and constraints do I put around it. This is a living document.

Rules for posting/reposting content:

  • Repost/Share cool links from the internet
  • Repost/Share cool art (and credit whenever possible)
  • Repost/Share people looking for work
  • Doubly-so if the people above are in tech and from an underrepresented group
  • Repost/Share job listing from reputable companies
  • Then… if you’ve done all that, promote your own thing

General principles for me and my brain:

  • I have a bad habit of starting the day off with a goof, avoid this
  • I like riffing and puns but it can have reply-guy vibes, limit this
  • In any conversation you have 3 options: Be rude, Be nice, Say nothing – the latter is usually the most correct answer
  • It’s okay to let people be wrong
  • Write down the issues you allow yourself to get outraged over
  • Read the room before posting
  • You can block/mute any person or channel for any reason, it’s fun
  • Research suggests it takes 23m15s to resume a task after a distraction!
  • Raycast Focus is your friend

On specific social-media apps:

  • X is for Nazis and Russian bot nets, avoid.
  • FB/Instgram are for family and friends, use on occasion.
  • TikTok is a dopamine trap, avoid.
  • YouTube is a dopamine trap, but useful.
  • Bluesky is fine.
  • Mastodon is for quality conversations.
  • Discord is for like-minded communities, prioritize intimate ones.
  • Log into LinkedIn once a month and give some thumbs-ups. It supports your friends and colleagues in the algorithmic trash fire and that handshakefullness and relationship building might be helpful in the future if you need a job.

The Pyramid of Merit

1890s engraving of slaves building a pyramid

There’s one quote from Twilight of the Elites (Chris Hayes, 2013) that has stuck with me since reading the book earlier this year. In sharing his experience attending the prestigious test-in Hunter College High School in Manhattan, Hayes acknowledges that the idea (and social stratification and skin tone) of merit begins to homogenize over time. In one sentence he laid bare the lie of meritocracy and it cut deep for me:

The pyramid of merit has come to mirror the pyramid of wealth and cultural capital.

In the tech and venture capital space there’s ample criticisms of meritocracy out there dispelling the head-slap-inducing claims made by ill-informed tech bros who have found themselves in positions of power. I’d be lying if I said meritocracy didn’t appeal to me at least on some level; rewarding highly skilled labor with higher pay accordingly appeals to my sense of fairness… but then I hear about CEOs earning 290⨉ the average worker and the whole system begins to crumble for me. Sure, they assume some risk… but never seem to suffer the same consequences. Despite its aroma of enlightened empirical fairness, meritocracy is ultimately a tool for protecting the status quo.

You can see it with your own eyes. Merit goes to the already wealthy. Merit magically awards itself to people from the same fraternal organization. Merit goes to people of similar net worth, who look the same, talk the same, believe the same, joke the same, and have the same education. Merit goes to symmetrical acne-free faces, shampoo model hair, designer scents, six pack abs, and strong jaw lines because those people must have earned it through hard work and not surgery, drugs, photoshop, or genetic lottery.

This year has poured a gallon of salt into this festering wound for me as my own country’s government tries to set “meritocracy” against “diversity, equity, and inclusion” –as if they’re opposed concepts, rather than the latter being a framework to recognize and correct pre-existing biases– then proceeding to nominate the most inept, corrupt, and deceitful people to perhaps ever occupy a government role. A cabinet full of regressive billionaires, cowboy cosplayers, and conservative television hosts papering over their racism with a flimsy banner of meritocracy. The entire administration is an insidious heist to enrich a small cabal of already wealthy families and we’ll be paying for this televised crime spree for generations.

I don’t want to fall into the trap of comparing DEI and meritocracy. Instead, I think we can examine meritocracy based on its merits; its an entirely gameable system that is for sale, prone to in-group biases, and often nullifies its own intent. Merit then will always mean money when its for sale. Plain and simple.

Diversity then… of people, wealth, cultures, and thought… is an antidote. A Darwinian cure to prevent groupthink and corruption that flourish in meritocratic systems. You and I remember the old truths, the old dreams, the old habits of loving thy neighbor. We’d do good to protect diversity, encourage it, and nourish it.

Chris’ Corner: AI for me, AI for thee

Our very own Stephen Shaw was on an episode of Web Dev Challenge on CodeTV: Build the Future of AI-Native UX in 4 Hours. I started watching this on my computer, but then moved to my living room couch to put it on the big screen. Because it deserves it! It honestly feels like “real” […]

Whither Colbert? Whither democracy

Like every sane American, I am outraged that CBS/Paramount/Ellison Inc. canceled — in the true meaning of the word — Stephen Colbert, capitulating to Trump in the rapid Orbanization of American media. Here I propose what I hope comes next for Colbert: that he build his own show and empire online. And I’ll tell for the first time of […]

The post Whither Colbert? Whither democracy appeared first on BuzzMachine.

Project 2026

Starting today, file suits to prevent biased gerrymandering. Fight harder for the right to vote than the GOP has fought to suppress the votes of Americans MAGA dislikes. Craft a Democratic party platform focused on equal rights, equal justice, fair wages, and affordable housing. Win the Midterms, shifting the balance of power in congress. Upon […]

The post Project 2026 appeared first on Jeffrey Zeldman Presents.