Friday, July 24, 2026

it's time to move to webp (mac instruction)

I've been blown away by the .webp image format - it makes such small file size images with very little visible loss, and even supports transparency and animations.

For a long time, webp was kind of the ugly stepchild of image formats - stuff would work on the web but most OSes treated it as some strange alien thing. That's slowly changing. (And on the DIY server side, older versions of ImageMagick wouldn't really deal with it.) It still doesn't fill quite native on Mac (e.g. support for marking it up in the Preview app) but close enough - it thumbnails fine.)

The filesize thing especially comes up with how a lot AI-powered image toys generate large PNGs. This ChatGPT image (compare to the original - it's really just a redraw of a striking photo done in a cartoony style) is a 2.1 MB png - or a 163 KB! 


If you're on a Mac, you can use Automator to make a right click menu "Quick Action" that can convert one or many files all at once right in Finder. (Automator feels a bit old and clunky, but most online resources point you to Automator)

First step: get the convertor. You can use homebrew to install "webp" (the actual installed commands are cwebp to convert, dwebp to deconvert, webpinfo, and webpmux) in Terminal.

So Automator is a bit janky (and it's annoying to have to dig into "Library" through finder to remove old Quick Actions) but once you start it up (using cmd-space or what not):

  • create a new "Quick Action",
  • filter or scroll down to "Run Shell Script" in the second column
  • drag that over and it becomes the first (and only) step in the flow. 
  • Set the workflow for "Image files", then in the step make sure to Pass input "as arguments", and then enter the following:

export PATH="/opt/homebrew/bin:/usr/local/bin:$PATH"

for f in "$@"; do

  dir=$(dirname "$f")

  base=$(basename "$f")

  name="${base%.*}"

  cwebp -q 85 "$f" -o "$dir/$name.webp"

done

Vavavoom! Welcome to 2010!

Monday, July 20, 2026

The computer at the bottom of a canal

 The computer at the bottom of a canal

Fascinating tale. This early company got so much right in hardware then abandoned, and maybe RISC turned out a too RISKy for the world, if evaluated fairly.


Spoiler, some of it is the Steve Jobs / Alan Kay idea of "People who are really serious about software should make their own hardware."


I think about that a bit - like how much more fun Amigas were for gaming than PCs (and that dark era of EMM and SoundBlasters and all the crude.) Or how the first iPhone had amazing, stutter free scrolling that was baked into hardware - even if the rendering hardware couldn't keep up you got a nice grid until the content had time to be drawn.

Thursday, July 16, 2026

the skeleton is key

At work we had a minor question about the use of skeleton placeholders. If you have a static form being populated, says, so the shape of the data doesn't have much impact on the final result, should you:

A. Keep as much of the form detail as possible, like keeping in textarea captions, and just replacing the inputs with appropriately sized place holders? (this might limit screen "pop" which is an age old goal for web apps.)
B. Go fully abstract, having a single block represent say a textarea with its caption above?
C. Split the difference, replacing the input field with a box but with the caption having its own box?

Looking around to guess at best practices, it seems C is a good balance: here's FB's Messenger. The short rectangle on the top line will be replaced with "Chats", the other two circles on that row are placeholders for some action icons. 

The mix of "real text" and rectangles would be a bit weird, even if one is persistent meta information, but it's nice to suggest at the general shape of what's coming down the pipe.