Backfilled—for the first time since starting these notes!—the week after on account of illness. Before that unfortunate turn of health, I had a very productive week, visiting both NYC and Boston, a smattering of hacking, and an essay resubmission.
In an attempt to optimize my main rookery, which now takes upwards of 30s to build, I spiked the introduction of a new mechanism in Rheo called ligaments. The idea here is basically that, because Rheo allows you to split a single Typst entrypoint across multiple files as vertebrae, it can keep track of which individual files need to be recompiled on any given change, rather than recompiling everything from scratch. Typst already provides incremental computation through memoized functions but these don’t necessarily map to the decomposed parts of a Typst file that Rheo synthesizes. If I have it right, the sticking point is that we need to be able to use references freely across files, which creates a second-order dependency network that Typst’s inbuilt memoization won’t solve out of the box. Because references need to resolve, the synthesized Typst needs to be a single bundle, which means that we can’t simply abstract vertebrae behind #import statements and get Typst’s memoization optimization for free.
One major development in rookery that I’m experimenting with is the ability to add an idea that emerges from: some set of existing ideas. I realized that I wanted this feature as I was trying to break down the argument for a book into ideas, and found myself thinking in this ‘dialectical’ manner. The problem is that I’m not yet sure whether this from: relation should be any different than the existing deps: relationship. It may just be that I want to rename the deps: argument to the more generic and generative from:.
It is getting on for time to do a 0.1.1 release of rookery, as I’ve been making tweaks and improvements on a dev branch as I build out my rookeries and catch bugs—but I want to make sure the performance issues are resolvable first.
I spent a couple of afternoons editing and extending a book review that I was asked to turn into a paper submission for a journal, and I’m happy to report that this piece has been resubmitted now.
A little more development on this front. We’re hitting a few bumps in the road now that we’re getting down to framing our research as a paper, but I’m optimistic that this work will still lead to something worthwhile.
The final push on this application. It’s so close to being ready to release!
I was lucky to visit the Remarque Institute in person this week, where I’ll be a fellow in the Spring. It’s a beautiful office near Union Square, and I’m really looking forward to being there.
I also made the most of the trip to buy some good books from Harvard Book Store, snatching a copy of Cecilia Rikap’s latest and Stefanos Geroulanos’s The Invention of Prehistory. (Both of these authors will be at the Remarque in the Spring, so these are both homework of sorts.) On the way out, walking around Cambridge, I spied giveaway copies on the sidewalk of Dealers of Lightning and Real World OCaml (2nd Edition), both of which I was pretty chuffed to find. As soon as I work through to the end of the beautiful hardcover copy of George Eliot’s Middlemarch, which has been sitting on my bedside table for a few months now, I’m excited to rip into these.
Last but not least, we attended our dear friends’ wedding in Western Massachusetts. My wife told me that my speech (given as a trio with the others who had lived with the bride in college) got “the least laughs”; but the guests in attendance were appropriately courteous and congratulated me on it afterwards regardless, so I considered it a quiet success.