Excited to present my talk, How to Build an Agent in JavaScript at Web Directions Dev Summit in November! I hope agents are still interesting in three months. 😅
Relieved to see ScreenFlow is back from the dead with a new 10.5 release that fixes the compatibility issues that were keeping me from using it on the current macOS. It’s still my favourite app for editing and publishing screen recordings.
I guess I should file this as a bug report for tvOS 26 beta? 🤪

A beautiful sight to start the weekend: the last dying light of a winter day in our neighbourhood.

Pet peeve: messaging UIs like Confluence and Facebook Messenger that both support Emoji reactions and prompt you to reply with a message containing a single emoji.

Build the Web
Make pixels change colour with code, to create beautiful, accessible experiences.
As Director of Front End Engineering at Culture Amp, I lead a practice of about 50 engineers to build interfaces that help users create a better world of work. After more than 20 years in the field, I continue to learn and explore what is possible on the Web.
Tailwind CSS and Traditional CSS Solve Different Problems
Tailwind CSS’s core idea is that 99% of the CSS we write today is unnecessary repetition, that would be better expressed with a higher-level language inline with our HTML, tight coupling with which is inevitable. Even if you like CSS and enjoy writing and maintaining it [which I do –Kev], Tailwind argues that this is usually not a good use of our time.

Latest articles
- How to Build an Agent in JavaScript
- Tailwind CSS and Traditional CSS Solve Different Problems
- Use Tailwind CSS prefixes for shared design system components
- Help! Storybook is eating all our tests!
- useEffect vs useLayoutEffect and server-side rendering
- Elm Town #54: Aloha with Kevin Yank
- On Endings: Why & How We Retired Elm at Culture Amp
- MelbJS March 2023 notes
- Fix System Beep on Move Editor into Next Group in VS Code
- Horizontal Scrolling
Know your tools
Technology is a superpower. Make it work for you.
One of the gifts of a career in software development is the ability to automate away your own problems with custom software. I love to explore the little-known features and extension points in the technology I use, particularly in the Apple ecosystem.
Assume ChatGPT is Lying
In an industry where expertise is currency, a tool that lets us all pretend to be experts to each other is very dangerous indeed.

Latest articles
- Sort Burst Shots in Apple Photos
- Refreshing my m43 Camera Workflow
- Apple Vision Pro demo review
- Weird Mac networking glitch
- Assume ChatGPT is Lying
- New Mac Day One Installs
- Privacy & Security settings in macOS reset on reboot
- Twitter Archived
- Email apps on Mac, iPhone and iPad compared
- Shrink Videos With ffmpeg On Your Mac
The rest
Personal stuff. Highs and lows.
Latest articles
- Subspace Radio #79: Giant Space Creatures
- Subspace Radio #78: Using Ancient Technology
- Subspace Radio #77: Body Possession
- Subspace Radio #76: The Holodeck II
- Subspace Radio #75: Horror
- Subspace Radio #74: Bartenders
- Subspace Radio #73: Moles
- Subspace Radio #72: Unreasonable Klingon Ships
- Subspace Radio #71: Kim & T'Pol
- Subspace Radio #70: Unseen crews