Link directly to stations in Apple Music

Generate Apple Music URLs via Apple Music Marketing Tools. Query by song, album, basically anything you can search in the Music.app sidebar.

e.g. WEFUNK radio, long URL: https://tools.applemediaservices.com/station/ra.1461224745?country=us

Purple Current, short URL: https://apple.co/3sCvX8o

Marfa Public radio, 98.9 KMKB: https://apple.co/3sw6LRd

Handy for building Shortcuts to specific stations! Apple still doesn’t provide direct navigation to streams, in the year 2023 🤦‍♂️.


llm is a wrapper for interacting with locally run (or remote, via API) generative AIs from Simon Willison. Tastes great with gpt4all, which assists in downloading and running models locally.


I got better at estimating projects with intentional practice

I like the idea of practicing1, in the musical or athletic sense, at professional skills to rapidly improve my performance and reduce my error rate. When I was a music major2, I spent hours practicing ahead of rehearsals, lessons, and performance. Until recently, I was unable to conceive of how I might do the same for leadership.


I dropped in on historic races (the newest cars were 30 years old) at Laguna Seca. It’s great to see the track at scale, not as video-game or television camera angle. I watched practice sessions from the grand stand, heard the and watched the cars rip by at competitive speeds.

A very green Porsche 911 race car and a 70s era Porsche prototype racecar

A BMW Alpina CSL race car in a very striking orange and green Jäegermeister livery

I walked the paddock and infield. So many good cars to see. Felt the energy of mechanics getting cars, sometimes older than me, ready to go fast on track. I smelled a lot of gasoline and oil.

One of the Ferrari F1 cars Niki Lauda raced and a Ford GT40 in a dark blue and orange non-traditional Gulf livery

A slant-nose 911 race car and a striking Spyder LeMans race car in Porsche-Martini livery

It was a good day.


This is where we live, for a few days. I’m hoping “little adventures” like this are a nice compliment to vacations. Perhaps the former creates new mental connections and the latter are about disconnecting to consider and build upon existing connections.

An older RV parked in Northern California.

A row of RVs at a dog agility event.


“Now a truth,” said the judge. “The main business of humanity is to do a good job of being human beings,” said Paul, “not to serve as appendages to machines, institutions, and systems.”

– Kurt Vonnegut, Player Piano

We’re here to do human things: create for each other, love our friends and family, support our communities, experience and protect our world.

A life serving only algorithms wrought by corporations1, engaged with organizations that care more about themselves than their people, or partaking in eco-cultural regimes that disregard our humanity are not worth pursuing.


  1. IOW, don’t throw your whole existence into being a content creator, folks. ↩︎


A vacation is a tool for disconnecting

I’m reflecting1 on travelogue’ing my recent trip to Disneyland. In particular, that it was effective at taking my mind off work while maintaining creative writing and publishing habits.

Lately, I find myself dwelling on work too much or noodling through various puzzles I’m trying to solve. I would rather not bring that with me on vacation. What I removed and what I replaced those thoughts with went pretty well! For my own memory, and perhaps dear reader’s benefit:

Allow plenty of moments to just exist. Listen, enjoy where you are. Engage with the folks you’re vacationing with, presuming they’re not in a phone-bubble. Try to put the phone away after you mindlessly open it out of boredom. Cultivate the moments of boredom, if you can.

Don’t look at feeds like Slack, Discord, socials, etc. I took the extra step of removing Slack from my phone entirely. It’s easier to remove it entirely and re-add each Slack later than to try to ignore particular instances whenever I find myself mindlessly opening the app. Read a lot, ideally longer form things chosen beforehand. Again: ignore the feeds of people hustling or trying to get their ideas into my attention. Think your own thoughts!

Replace all those feeds and work-think with written and photographic journaling. Look for photography opportunities, even if you’re not particularly good at it (yet). Write in a journal, daily, even if you’re not good at it (yet). Write about what you’ve photographed, about whatever you’re thinking while disconnected, about that conversation you just had or the novel thing you just saw/did.

If you want to share via social networks, do it once a day. I posted (via micro.blog and Ulysses) a short reflection on each day. For texture, I included a quad of photos, and wrote a few sentences to reflect on my photography or day so far. Once the post is made, put the computer away and get back to reveling in disconnection.

YMMV, but I hope you try it!


  1. With apologies to Craig Mod for standing on the shoulders of A Walk is a Platform for Creative Work↩︎


A pretty ideal travel day: start at the pool, wait in the breeze and shade, depart from the open tarmacs of tiny Long Beach Airport.

Chillin by the hot tub

Luggage and comfy couches in the Disneyland Hotel breezeway

Looking up a Southwest Boeing 737 from the gate at LGB

Not pictured: returning to the searing heat of central Texas. 😬🙃🫠


Many parts of Disneyland are ridiculously easy to photograph.

Pixar Pier in the golden hour. The Incredicoaster and Fun Wheel reflect on the pool in the foreground.

Radiator Springs at night. The Cozy Cone Motel and Flo’s V8 cafe neon glow against the night sky.

Radiator Springs lit up at night. Luigi’s Rollickin’ Roadsters on the left.

Fantasyland overlooking Storybook and the Matterhorn in the early morning.

Particularly at dusk and night, and for folks (like me) with very rudimentary photography skills. I’m pretty convinced this is one of the myriad details the Imagineers wrangle as they design these parks.


Wherein favorite franchises are done

A topiary of a Formula One car

Pre-ride with Rey and BB-8

A relatively quiet moment at Oga’s cantina

Movie poster for the speculative “The Chipmunk Trap” in a ride queue


Rule #1 is you a) get up early, b) ride stuff early and c) take a break in the middle of the day while (many) folks are at the parks.

Screenshot of iPhone lock screen clock at 6:42am

The Disneyland Hotel resort, including Trader Sam’s, very early in the morning.

Roz is the unsung hero of the Monsters, Inc. franchise. Impeccable delivery, no notes.

Roz from Monsters Inc., at the end of the Disney California Adventure ride for the same franchise.

One of our favorites is the Animation Academy. It’s a short entertainment, wherein a cast member teaches you to draw a Disney/Pixar character in ten minutes or so. I’m not at all good at sketching, so I think it speaks volumes to the quality of the cast members that you can, maybe, tell that I’m drawing Mickey Mouse here.

A pencil sketch of Mickey Mouse


1. Rule #2 is you gotta take a picture of this signage, every time. 2. Matterhorn looks better from almost every angle than it feels to ride it (if you’re over forty). 3. It’s a lovely day for retro future and wishing they’d put a people mover in at Disneyland. 4. Spoiler alert.

Rauno Freiburg is building attention to design details

Sitting down and just thinking hard does not magically produce valuable discoveries either. The essence of the word “interaction” implies a relationship between a human and an environment. In my experience, great revelations surface from making something — filling your headspace with a problem — and then going for a synthesising daydreaming walk to stir the pot.

Invisible Details of Interaction Design

👍🏻 This is the excellence in interactions and attention to detail. Moreover, a restatement of the Hickey/Feynman methods for problem-solving. (Is there a restatement of said methods that doesn’t sound lovely?)


Work side-by-side; the more you can see, the more you can think

Wisen Tanasa, Stop flipping around, put them side-by-side:

This constant flipping is a self-inflicted cognitive load that reduces our productivity. Pay attention to what’s happening in your mind when you flip things around. What was the CSS property I was trying to modify? Flip… flip… What was that JSON structure look like again? Flip… flip… Is it similar to Figma now? Flip… flip… When you catch yourself doing this, stop. Put them side-by-side.

Full-height windows showing Stripe documentation and VScode writing Stripe implementation code

Many of the tasks we have as software engineer is crunching information from one medium to another. What I’d like you to try instead is to pause and make all the information you need to execute your task visible on your screen.

Using splits in my editor (vim, then RubyMine), notes app (Obsidian), and even window manager (Rectangle Pro) are crucial to how I work. Single window, uni-tasking, “focus modes” were coolr in their day. But, most work lends itself to some manner of multi-window, conceptual layout. As Wisen points out, that could be test and production code, designs and code, code and browser/simulator, designs and documentation, or a document and video chat.

I wish I could get even more conceptual layout. I usually do fine with 2-3 vertical splits (i.e. three full-height windows) when I’m coding. But, I look with envy upon designers in Figma/Sketch/etc. when they consider several iterations upon one screen or lay designs out on their canvas to match the spatial/workflow relationships in the actual product. Concepts like Natto, PureData, and Obsidian’s canvas leave me optimistic that in the future I’ll find myself organizing modules and functions however I want, regardless of linear text in source code files on disk.


Magic (AI) is what we don’t (yet) understand

It reflects a sound understanding of the nature of AI — as an uncredited and formless modifier of other technologies. One whose presence is marked by familiar behaviors having slightly magical effects.

– Venkatesh Rao, Magic, Mundanity and Deep Protocolization

The whole magic & AI thing. The most 2023 of vibes!

Yet, it remains to be seen to what extent AI will yield entirely new media, modalities, and consumption levels or if it will merely modify technology we’re already familiar with.

Is generative AI the iPhone (entirely new media/modality/consumption), the iPhone camera (displaces and exceeds existing categories), or the ability to scan QR codes with your camera to reduce transactional friction (a game changer for some that quickly fades into the background)?


Evenings at the Village Gate: John Coltrane (with Eric Dolphy). Five tracks, all excellent. Great bass playing by Reggie Workman and Art Davis. Favorite tracks: “Greensleeves”, “Africa”.


Less but better

The Designer’s Designer’s Watch – A Look Back At Braun And The Rebirth Of A Few Classics

The Braun watches AW 10 and AW 50 embody simplicity. Just as do the clocks and electrical appliances made by Braun, they truly follow the “less is more” dogma that (arguably) stems from the Bauhaus school. Or, as Braun likes to put it: Less but better. Design has been at the core of the brand for seven decades, and its watches and clocks were designed by a team headed by two men: Dieter Rams and Dietrich Lubs.

✋🏻 “Less is more”: easy to say, hard to apply.

👍🏻 “Less but better”: easy to say, easy to tell when you’ve done the first part but missed on the second.


This is nice. Once Over’s back patio annex is excellent.


When finished isn’t done

The work is done, the post is published, the code has shipped, the boxes are all checked.

And yet, it remains in my head. The bit of code I’d like to revisit, an edge I couldn’t round off, a paragraph that doesn’t fit like I want it to, a workflow we didn’t improve upon, a conversation about trade-offs that went sideways…

The work is more than the work, more than an end. It’s emotions and memories. A new way of thinking, experience and wisdom newly integrated with what I’ve done before. The start of something new, with this finished work as the prologue that sets the stage for the next story.


Previous tasks continue to consume attention even after switching. This is especially true for anything that causes strong emotions. I find it hard to concentrate if I’m opening (Slack) every 15 minutes and every time seeing that thread where someone is arguing with me and they’re totally wrong and how can they even believe what they’re saying and what was I doing again? — Jamie Brandon, Moving Faster
  1. Acknowledging and managing emotions is a productivity/go-fast hack
  2. Really, don’t dwell on people being wrong. You can’t control it. Just keep going.
  3. Absent people and emotions, completing a task doesn’t mean it’s out of our heads. Account for that in planning the day or projects.

Often, things are only getting started when I check that box.

We call it perfectionism when we hold the work back to make one last tweak, another small improvement. Perfectionism is pouring myself into one checkbox for weeks or months at the expense of all the other things I want to do. It’s not so much seeking perfect, but an inability to let go and get started in earnest.

To the contrary, every day I’m more convinced that perfect emerges from checking that first box. Putting the work out there, starting the next checkbox (of several dozen), accumulating and shaping something more perfect.


Everything finished is the start of something else.


Charles Chamberlain

An “independent researcher & developer focused on making new interfaces to create with”. He’s developing some neat low road (in the How Buildings Learn sense) ideas at the intersection of dynamic languages and web media.

red pear and walnut:

I made a new cloud programming environment called red pear! (redpear.dev) Its goal is to help you build small web apps very quickly. In particular, it helps you build 2012-era, backend-first web apps with the use of ruby and sinatra.

Much like birch, red pear has instant deploys: the code you write is hosted on a dev instance immediately and on a prod instance with the push of a button.

I made a new interface to persistent data for use in red pear: walnut. Its goal is to be easier than something like sql or graphql, especially in the context of smaller apps.

apricot: a structure editor for ui:

It's a structure editor that makes it surprisingly easy to "type" out a user interface.

I originally thought of Apricot as a prototyping tool — a place to quickly get some dynamic behaviour wired up to a UI, without worrying too much about pixel-perfect fidelity. Weirdly, a lot of prototyping tools nowadays go the other way — focusing on pictoral representation while mostly leaving out semantic behaviour.

Birch:

A cozy development environment making prototyping and scripting as easy as possible.

Watch the demos!