alltom.com,
Archive,
Currently Reading,
Have Read,
Micro.blog
Subscribe with RSS or @tom@micro.alltom.com
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.
Baa baa, terse sheep, have you any wool?
Yes.
I think that cross traffic should stop
1,794 pages in Logseq, with 279 embedded images and 156 annotated and deep-linked PDFs… but Obsidian is so fast.
My 3yos call a table of contents the “picking page” because you use it to pick a page to read 💡
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?
“Outside-in” is when you make it itself
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.
Is there macOS app that gives me a global hotkey to talk to ChatGPT in a Spotlight-like popup?
Tomorrow will be a big day, just like yesterday and today, and all too many days lately.
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: http://alltom.com/pages/webppl-intro/
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.
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.
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.
Today’s failed Mathematica experiment: ordering fruit by fiber per unit volume.
Interpreter["Food"]
? ✅EntityValue[#, "DietaryFiberContentPerServing"] / EntityValue[#, "DefaultServingSizeVolume"]
? ❌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.
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.
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! 🙌🏼
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? 🕵🏽♂️
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.)
This has to be the worst gotcha I’ve ever experienced in Wolfram Language!
–∞ < 1 < ∞
is True. Great.Min[{–∞, 1, ∞}]
is –∞. Great.MinimalBy[{–∞, 1, ∞}, Identity]
is… 1.I don’t know why. But at least TakeSmallestBy[{-∞, 1, ∞}, Identity]
is –∞ as expected, so I’ll use that.
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.
Guess who finally has GPT-4 API access. ➡️☺️⬅️
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:
findAll[db, {"id" -> 42}]
should return the full record, like {<|"id" → 42, "value" -> "A"|>}
findAll[db, {"id" -> id_, "value" -> "A"} :> id]
should return all the IDs of records whose value is “A”, like {42, 99, 67}
.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], ___]|> :>
replacement];
“Daddy, I can see the wind!” 😳📚