Newsletter #4: Caching, Pipelines, Lisp & the Transcendental
The past weeks have brought Ooloi across a threshold. The infrastructure is no longer provisional: it now works together as a single fabric.
The clearest sign is global object caching. By hash-consing identical structures, 50,000 notes compress to 14.5 KB on disk. Equivalent MusicXML files are typically 20–50 MB, depending on vendor. In tests, saving took ~557 ms and loading ~259 ms, with serialization 4.1× faster and deserialization 4.4× faster than before. Real-world scores will be larger than a note-only benchmark — staves, measures, parts all add data — but the results show what is possible. Full details are in The Numbers are In.
Also completed is the rendering pipeline specification: a five-stage fan-out/fan-in design with plugin hooks for spacing, painting, and connecting elements. This is the architectural blueprint for how notation will be drawn and extended.
These milestones mark the end of scaffolding and the beginning of Ooloi as a platform. Communication, streaming, pitch operations, monitoring, caching, and rendering design are no longer isolated steps but parts of a coherent system. For musicians, it means that serious notation work can rest on a foundation that is efficient, responsive, and extensible.
As reflection, I wrote Lisp and the Transcendental. It is not about music directly, but about why Lisp — and Ooloi — can sometimes feel like freedom.