Tom Lieber's Microblog

Dec 3, 2023

The first time I run a new build of Priorities in Motion after big iOS or macOS or Xcode updates, I hold my breath. Will a glitch in my code signing config will delete all my iCloud data? It’s nerve-wracking!

(Today’s build seems to be OK.)

Dec 2, 2023

This has to be the worst gotcha I’ve ever experienced in Wolfram Language!

I don’t know why. But at least TakeSmallestBy[{-∞, 1, ∞}, Identity] is –∞ as expected, so I’ll use that.

Nov 26, 2023

I have a few Wolfram Language articles in the works, though it may be a while before I find the time to finish them!

One is a simple explainer of the Graphics[] API. I recently had a few aha moments when I hunkered down to try to replicate some charting ideas from Tufte’s books. Should be fun and short, with plenty of visuals.

The other is an exploration of real-time audio API. Any software with a real-time audio API deserves a ChucK and I’ve grafted a tiny strong timing module onto this one. The article is gorgeous thanks to all the built-in audio visualizations—the main thing holding me back is I have no convenient way to embed audio, let alone interactive audio. 😂 So I’m on the fence about whether it’s worth publishing at all as an article, or if it should be just be a repo.

Oct 31, 2023

Guess who finally has GPT-4 API access. ➡️☺️⬅️

Oct 28, 2023

I’m working on what feels like my lispiest Mathematica project. One of the pieces I wanted was to be able to search a list of associations by pattern, like:

It turns out to be pretty simple to make a little API like that because pattern-matching is common in Mathematica so all the necessary pieces are right there, waiting to be assembled:

(* Plain search *)
findAll[o_, {pattern__}] := 
  Cases[o, <|OrderlessPatternSequence[PatternSequence[pattern], ___]|>];

(* Search and map *)
findAll[o_, {pattern__} :> replacement_] := 
  Cases[o, <|
     OrderlessPatternSequence[PatternSequence[pattern], ___]|> :> 

Oct 26, 2023

“Daddy, I can see the wind!” 😳📚

Oct 23, 2023

Quantum Computing for Babies by Chris Ferrie 📚

Writing in short sentences is insufficient to make quantum computing understandable to babies! 👎🏼 I did not enjoy reading it and the toddlers did not enjoy hearing it.

Book cover

Oct 23, 2023

Bathe the Cat by Alice B. Mcginty 📚

My toddler twins love Bathe the Cat. The cat doesn’t want to be bathed and keeps scrambling the to-do list. “Feed the floor”? “Mop the dishes”? They’re too young to find that particularly funny, but they empathize with the cat, and the illustrations are top notch.

Cover of "Bathe the Cat"

Oct 22, 2023

What’s the story behind this random 2023 release? 🎵

Album art for “Flagpole Sitta (Sped Up)”

Oct 9, 2023

📚 The 2023 update of Thinking in SwiftUI answered so many of my questions about how View definitions become interactive UIs. I’ve struggled so much with navigation stacks in my app that I was hoping they would get as thorough a treatment as, say, animation, but unfortunately, they’re not covered.

Oct 6, 2023

I read the blog post but I didn’t realize that in a Mathematica chat notebook, every cell is sent as context, not just the chat cells.

And that means you can ask questions about past cell evaluations, like… “Why?” 🤯

What’s the easiest way to send 700,000 tokens to OpenAI if you don’t care about the result? 😂

GPT-4 is “generally available” but it’s actually only available to accounts that have been successfully invoiced.

Trouble is, GPT-3.5 isn’t good enough to bother with when I have access to GPT-4 via ChatGPT, so I’ve never used the API enough to be invoiced.

It’s time for me to burn some GPU cycles!

Sep 2023 music playlist is a wrap 🎵

I make a new playlist every month and this month I thought I’d like to look back on what’s on it and how that happened!

This playlist is what I looped all month—sometimes shuffled, sometimes not. I don’t remove any but the more egregious mistakes, so it gives me a chance for music to grow on me that I wouldn’t have normally listened to more than once.

Here we go.

This was first onto the playlist because of when it was released. I know of YUI because I used to study Japanese and I used to watch Bleach, and YUI’s music was approachable to a language beginner, but still heartfelt enough. I haven’t been able to enjoy much of anything since FROM ME TO YOU, though, and I’m not sure why.

Looping Kp With Me was not going to work for me, and around this time I was stuck in a long daily commute. I added a few tracks that I can’t help but sing along to.

Round Here hit particularly hard this month. Looping the current month’s playlist leads me to hear the early songs more often and listen more closely and I don’t think I’d done much more than enjoy the chorus to this one before. It stings.

Pistola’s drum solos reminded me of another drum solo that I never found. But in searching the web for “best drum solos” (as aficionados do) I found these songs, neither of which I was all too familiar with. Tom Sawyer’s vocals and lyrics are interesting. I didn’t fall in love with either, though.

More music to get me through the commute. I know Romance ga Ariamaru pretty well because I studied it for karaoke once. 😂

More new releases. I didn’t love Subliminal, but Ting Mong is more of what I needed from Dengue Fever and I was so happy for it to come out.

I needed more Dengue fever, what can I say?

I ran across a reddit thread full of love for Thom Yorke, especially AMSP, and added some of my favorites. Still good. Not as affecting as when they were new, unfortunately, but in my quiet moments, I still hear, “Dreamers… They never learn…”

A recommendation from that didn’t really land, but it was a late addition and I’m considering pulling it forward into October’s list for a second chance.

Sep 16, 2023

What a delight. A new album from Dengue Fever. 🎵

Album cover art. I don't know how to describe it.

Sep 7, 2023

What I do is, I cancel every automatic update request, accidentally spot a news article about a “clickless” 0-day exploit being patched in macOS, then I manually trigger an update.

Sep 1, 2023

My Steam Deck 🎮 needed a charge and I couldn’t find its usual cable, so I plugged it into the USB-C hub that I use for my laptop… and the peripherals just worked. 😯

My game appeared on my monitor, the audio played through the speakers, and my keyboard even worked.

Why had I never tried this!

Sep 1, 2023

When I write code that I know has noticeable limitations, I used to denote them with TODOs, but lately I’ve been writing them as disclaimers instead. Like instead of:

// TODO: Make this work for multiple cameras.

I’ll write:

// This only works for one camera.

I think it’s a good thing to write only the code that I need right now, but noting the limitations with TODOs made it feel like a liability. It also probably gave the false impression to my teammates that I intended to add unneeded features that I really didn’t.

Aug 16, 2023

Imbroglio’s current Izu mode was such a satisfying nut to crack. 😌

Imbroglio screenshot. Score: 164

Jul 10, 2023

Currently reading: The Pathless Path by Paul Millerd 📚

Quote from the book: “We like to think that once we ‘make it’ we can finally be ourselves, but based on who the companies selected, it was clear that the longer people stay at a company, the higher odds that they would become what the company wanted. I realized I didn’t want that to happen to me.”

Jul 8, 2023

Magna-tiles on a Saturday morning

Jul 6, 2023

Currently reading: A Memory Called Empire by Arkady Martine 📚

Jul 6, 2023

Who remembers Branch? 😃 Maybe they still have the code around and can fill this Twitter-shaped void.

Jul 6, 2023

Yesterday, I wrestled with insecurity about a design I’d proposed at work. I played Anima on headphones and paced by my desk until I didn’t think the people working nearby could take any more, then I moved to an empty conference room. I think I believe it’s the best option again?

Jun 25, 2023

Me, staring at an LLM answer: “Hmm. Was the training data that contributed to this answer based on sponsored content?”


Jun 8, 2023

Introducing Chat Notebooks: Integrating LLMs into the Notebook Paradigm

What a time to be alive.

I think I’ve used more OpenAI credits in the last hour than I have over the last month. 😂