Tom Lieber's Microblog

Mar 24, 2024

Congratulations, Obsidian, on graduating to my dock!

I installed it for the first-class iCloud sync, but inline PDF display and the spaced repetition plugin have made it essential.

Mar 7, 2024

Baa baa, terse sheep, have you any wool?


Mar 1, 2024

I think that cross traffic should stop

Feb 27, 2024

1,794 pages in Logseq, with 279 embedded images and 156 annotated and deep-linked PDFs… but Obsidian is so fast.

Feb 25, 2024

My 3yos call a table of contents the “picking page” because you use it to pick a page to read 💡

Feb 20, 2024

If my 3yo sees an apartment building and asks, “Why are all those houses stuck together?” then someone told them the joke, right? Is that just a normal human observation?

Feb 20, 2024

“Outside-in” is when you make it itself

Feb 15, 2024

I think about that comic book movie where this magic labyrinthian map appears in the floor for like 30 seconds and everyone memorizes it for the chase scene later, but I have to keep the tab open that tells me the order of arguments to the “map” function.

Feb 12, 2024

Is there macOS app that gives me a global hotkey to talk to ChatGPT in a Spotlight-like popup?

Feb 7, 2024

Tomorrow will be a big day, just like yesterday and today, and all too many days lately.

Feb 2, 2024

Thanks to the power of View Source, I’ve embedded WebPPL on a page of my own site!

Just a simple (but perhaps more evocative than usual) intro to the language for now:

Snippet of the article with some code example and a wiggly graph, presumably generated by the code

Feb 1, 2024

What native macOS (textual) code editors still have some wood behind them? Sublime Text? Nova? TextMate? BBEdit? I’ll try anything if someone can vouch for its working effortlessly on Sonoma.

Jan 30, 2024

If you’re wondering about day 1 using HEY Calendar.

The first event I added recurs three days a week, which is not an option.

The second event I added overlapped with the first in a way that glitched the renderer into showing it with the wrong time and duration.

😬 Gonna wait for V2.

Jan 25, 2024

In the near future, upgrades for Mathematica will be available only as part of a subscription to your license, as we will no longer offer upgrade-only purchases.

Jan 18, 2024

Today’s failed Mathematica experiment: ordering fruit by fiber per unit volume.

  1. Use a chat cell to get a list of fruit? ✅
  2. Convert to entities with Interpreter["Food"]? ✅
  3. Get fiber content with EntityValue[#, "DietaryFiberContentPerServing"] / EntityValue[#, "DefaultServingSizeVolume"]? ❌

List of fruits with corresponding fiber per unit volume, except many of the values are missing

Jan 12, 2024

I read Stephen’s whole article on what’s new in Mathematica 14, as usual. Version 13 had so many new LLM features that I had to upgrade, but the only features in 14 that I think will affect my life are DateObject and Quantity getting 100–1,000x faster. Awesome, but I’ll probably skip this one.

Jan 11, 2024

The “Cognition” in Probabilistic Models of Cognition 📚 is the hardest part to get across when I recommend this book. Because the book isn’t “Bayes works, yawn.” It’s so much more interesting if you, like me, exist primarily in ML circles that focus on curve-fitting:

There are tiny, self-contained, editable code examples to demonstrate almost every point, and they run in-browser! I love this book.

Optical illusion of a checkerboard pattern that's half in shadow, where the apparent color of a light square in shadow differs from that of a dark square outside the shadow, when their actual colors are actually equivalent

Jan 11, 2024

I’ve been re-reading Probabilistic Models of Cognition 📚 for probably the entire decade that it’s existed. Every time, I notice bits that have been rewritten or added, and notice that I understand just a little bit more. And yesterday, I understood everything cover-to-cover for the first time! 🙌🏼

Dec 6, 2023

Apple Maps question: when I search, then zoom in, results outside the zoomed in area get removed from the list. But when I zoom out, they don’t come back. Is there a way to get them back? 🕵🏽‍♂️

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!” 😳📚