“surviving and having fun”


Emmy joins worm-blossom
Aljoscha and I are happy to announce that Emmy Walker is officially joining as worm-blossom’s third member. Emmy caught our attention with their high quality contributions to Ufotofu, and has been a driving force behind sneakerweb. Emmy will immedatiately be joining the Pillow project. Also, we think they are pretty cool.
Emmy’s work in Glasgow over the past four years has straddled atomic physics and computer science, where their intrests inexorably slipped from “how do we move these atoms around?”, “what are sensible ways to control our experiments?”, and “how do we store and analyse our data?” to “how can we make kinder, more considerate software?”, and “how much good can we do for people with all the little bits of computer lying around?”. They may still, on occasion, be caught referring to themselves as a good-for-nothing atom-wiggler.

A little more than a year ago, I struck a bargain with Aljoscha: okay, he could refactor the entirety of the Willow Rust implementation, but we were going to start a weekly blog. On reflection, I think Aljoscha might have gotten two things he wanted.
Since then we’ve posted 52 weeks of editorials, musical compositions, and comics. We even released some software.
Publishing this website has kind of been like drawing a magic circle in that it made new friends and lovely people appear from nowhere. The spell itself seems pretty simple: just regularly tell people what you’re up to and show that you care about it. And don’t be afraid to show your frailties either.
As for the year ahead, I want to keep stretching the blog’s format and keeping it from settling into something too calcified. My favourite thing about this blog is its utter arbitrariness, its complete lack of internal taxonomy. Also I would like to add an About page.
Here’s to another year of worm-blossom.
And to a hard-earned weekend getaway for me!
~sammy
links of the week
- Range-Based Set Reconciliation via Range-Summarizable Order-Statistics Stores - a paper about generalising the monoid-trees behind range-based set reconciliation to B+-monoid-trees, including an LMDB-based implementation. The author will feature prominently in next week’s update.
- entrances2hell - if websites had spirit animals, and if websites could themselves be spirit animals, then this page would likely be the spirit animal of worm-blossom.org.
- draw-it-with-others.org/happy-birthday-worm-blossom - exactly what it says
on the tinin the link. Thank you!

Happy anniversary, worm-blossom.org!
Chipping in with bits and pieces and getting to know Sammy and Aljoscha over the last year has been incredibly rewarding. Working on sneakerweb in the summer cemented for me that if there was any way to properly throw my time and attention behind these new friends and their project, I should take it. As they do, one thing led to another and now this mushroom-person is a person-person!
At the start of this week, I was pulling together a list of all the things I was looking forward to diving into:
- Catching up on sneakerweb maintenance.
- Making Ufotofu friendlier by writing guides on “how to” and “why to” work with it, and by adding some creature comforts to the API.
- Making ufotofu weirder, by exploring some of the lovely (and useful!) structures that start appearing when you nest
producersandconsumers. - And, of course, the biggest, brightest, most exciting pieces - working on the Willow’25 side of the Pillow project, including implementing WTP and all that comes with it. I'll probably mostly be writing about this stuff next week.
As it turns out, this week has felt less like diving, and more like nest-building. I've been surrounding myself with snippets of source code, and decorating the resulting bundle with shiny pieces of relevant blog posts and papers. Now that I've gotten settled, though, expect new ufotofu features and a SummarisableStorage trait coming to a Codeberg repo near you very soon...
Of course, all of this pales in importance compared to the task of figuring out what thing I can contribute to the weekly update, alongside Sammy's art and Aljoscha's music. Maybe I could use some of the leftover bandwidth between the audible and the optical, and provide some heartfelt RF signals...? Okay, perhaps I'll hold out for a better idea.
~Emmy

worm-blossom on Bandcamp
After uploading music here for a year, it is high time to publish it on bandcamp. This is how computer science development logs are supposed to work, right?
You can still conveniently listen to all the background tracks on the playlist on our site, but the bandcamp release lets you download the tracks as normal audio files. Neat! And we will upload other music there over time as well.

After we uploaded the third weekly update to this site, I said to Sammy “And now imagine what this will look like after a full year of updates!” She reprimanded me that we’d have to get there first. And here we are, and it is every bit as dense and silly as we had hoped for.
For our very first update I had originally written a todo list of all worm-blossom related tasks I could think of, but then I never uploaded that list. So just for fun, here is what I thought we would have been doing over the past year. Some stuff I got right, some obviously not, and there’s still a lot yet to be done. But overall I’m happy with how much work we managed to complete.
I feel like we have somewhat dropped the ball on the original premise of the site — publishing useful incremental work instead of batching things into large, polished updates. Then again, our initial pace of being able to announce a useful bit of work for the first three months straight (!) was a pretty mad and unsustainable dash. While we should definitely stay vigilant to not drop back into prolongued silences, I think the current pace is a pretty good compromise.
I am somewhat sad how little progress I made on Macromania. On the one hand, a glorified templating language is more frivolous an undertaking than working on p2p protocols, so deprioritising it never felt wrong. But still, it has been a year, and of all our tooling it is the one we are currently using the most. Hopefully we can make it useful for others soon.
And that will of course be helped by Emmy joining our team cult huddle. They’ve been contributing and participating in a more limited capacity for a while, so I already know it will be great =)
Finally, because I forgot posting about this for two weeks straight: to generalise 2d zip-trees to 2d-G-trees, the internal set datastructure has to store items together with two subtrees per item: those of lesser x and lesser y coordinates, and those of lesser x and greater y coordinates. And each G-node then stores two additional subtrees: those of greater x and lesser y than the greatest (with respect to x coordinate first, y coordinate as tiebreaker) item in the G-node, and those of greater x and greater y. There you go, a definition of multidimensional G-trees. Insertion and deletion algorithms are left as an exercise to the reader (which is to say that properly writing them down would take too long right now =S).
~Aljoscha
Why is it called worm-blossom?!

why is this website called ‘worm-blossom’? In this series we will explain why in a concise manner.
Part 10: The answer
“Hey, can everyone hear me?”
A chorus of confirmations from the teahouse, a Mumble server hosted by mycologist and p2p contributor glyph. Also in attendance: Sam Andreae of p2panda, Aljoscha Meyer and Sammy Gwilym.
This has become a regular weekly call, a grab bag of hows-your-weekend-been, project funding woes, and bad (good?) ideas. A little cohesion of different p2p practitioners.
Aljoscha and Sammy have successfully collaborated on a TypeScript implementation of range-based-set-reconciliation. And more than that, Sammy integrated this into Earthstar by writing a monoid skip list, a concept she’d never heard of a few months prior. Aljoscha helped her with it, and they spent a lot of time on voice calls drawing diagrams (Sammy finds this is the best and maybe only way to wrap her head around these concepts).
Aljoscha is warming up to his ideas being applied to the real world. Sammy keeps goading him into further collaborations. Maybe a Rust implementation of Earthstar would be interesting? Its design would need a few adjustments, of course…
“What time are we doing this next week? The clocks go back this weekend…”
“Same time as always, just use the seasonal clock”
The seasonal clock which Cinnamon designed to gently usurp Sammy’s use of Swatch Internet Time, which she only knew about thanks to her teenage obsession with Phantasy Star Online. Which only had Internet Time because a Sega exec also believed in Negroponte’s dream of the internet uniting all humanity. How much did the executives of Swatch really believe in Internet time? Certainly not as much as their predecessors, the French Revolutionaries who first attempted to institute decimal time.
“Okay okay… so that’s 10am - 12am, then?”
“No, no, what’s it say on the seasonal clock?”
“Oh fine. Speak to you at worm - blossom”






















