This week in leafstorm's head

It has been a fairly busy week for me, so I haven't had much activity on Gemini. But enough has happened that I can provide updates on a variety of topics.


Yesterday evening I spent a bit of time setting up ProseMirror for use in Perez. I figured out how to use esbuild for my JavaScript (that took a while), and more significantly, I developed a schema for Gemtext that ProseMirror will enforce. But the "example setup" plugin stack is ill-suited for Gemtext, so the editor is not very usable: only a few of the necessary controls are exposed.

The next step is to import the "example setup" library into the Perez codebase and rewrite it to include commands, menu items, keybindings, and actions that are appropriate to Gemtext. Once I have it closer to working I will put it on the Web for independent testing.


Further Gemini ideas

I have put some more thought into what Zerah (the companion server to Perez) would look like: wiki-like in structure, with the opportunity to integrate a scripting or templating language. Given the recent spate of path traversal vulnerabilities, it would probably circumvent the issue (and a lot of other issues with filesystems) by using SQLite.

Work on Zerah will not begin until Perez reaches a functional state. I have a bad habit of starting projects, having better or related ideas, and then abandoning the original project, but I want to see Perez through. I do have some further ideas for the Gemini ecosystem, for which Perez and Zerah could serve as testbeds... but first things first.


One idea is codenamed Agena (after the Agena Target Vehicle that Gemini missions used for docking practice). It's a protocol for separating "frontend" Gemini servers from applications, akin to FastCGI, but allowing more functionality to be offloaded to the frontend servers. For example, Agena applications would receive the URL initially, but could have further interactions with the frontend server to:


The other idea is codenamed Gemchat. It's a protocol for real-time chat in the Gemini "ecosystem." I have seen mentions of Matrix and IRC on Gemini capsules, but neither of those protocols are very "Gemini-like." Both of them are based on federations of servers and are (correspondingly) quite complicated to implement on the server side, while the Gemini ethos is that everyone runs their own capsule which is their "space."

My design goals for Gemchat / reasons Gemchat should exist are:

Clients would connect to the Gemini port and send their certificate (if applicable), but with a URL like:


Then they could exchange messages with other people in the room.

Please let me know if you are interested in either of these ideas -- I could post more about the conceptual protocol design and feature list.

Word games

Since my initial blog post on the subject, I have tried syllabic-combinatorial approaches to SpellBinding a few times, to no great success. They slowed me down by exposing me to the full force of the exponential problem space. Even though it would have offered the opportunity to discover words that I wouldn't enumerate just from memory, it forced me to scan through numerous obvious non-words. It was also difficult to generate the words in a reasonable amount of time, on paper or even in Microsoft Excel.

There are two morals of this story:

Also, I got today's Wordo in two guesses! That was pure luck rather than strategy, but I'll take it. I seem to be consistently completing Wordle and Wordo in 3-5 guesses now. Intuitively this seems like the limit without luck or metagaming.

my earlier blog post, with links to the games referenced


charick offered another response to my post about acceptance and forgiveness.

my second post (includes links to the first three in the series)
charick's second response

I don't have a full response, other than to say that I appreciate the continued conversation, and that we are more aligned on the right way to respond to our mistakes than I thought at first. The differences are definitely more theological than psychological/practical.

Last thought

If I had my ideal gemlogging schedule, I would have written one substantial post about each of these topics over the course of the week. As is, I can only address the topics briefly, with one or two large windows a week. Do you think it is better to have an "omnibus" post like this one, or to publish multiple posts about different topics on the same day?

leafstorm's gemlog (back to home)