Go back home

Rhizo's devlog

This is where we publish the latest rhizo development updates.

Expect notes describing new major feature releases, important fixes and any other messages from our contributors.

It is also available as RSS feed.

Hello World

Hello! This is the first post in Rhizo’s devlog.

In a self-referential manner this post should probably be about the website itself.

The site is our community facing site. It contains Rhizo’s book, this devlog, and several pages relevant to the project and community. It’s currently built with Zine, which is early beta software as of writing, but overall has been quite fun to use.

Rhizo’s identity was created in collaboration with Bogdan and Nikodem.

This website is the first step we’re taking in pushing this project towards being real and not just something I’ve been working on at nights for the past few months. It is both exciting, but also terrifying at the same time.

Anyway for some fun details about the website (as of today):

  • Landing page has a graffiti wall on which you can paint with “spray can”. At first I’ve also added stencils, and markers, but eventually removed them and simplified it to just a single tool.

    On page load I’m also rendering some waves by chording three random sinewaves, to keep the onload content sligtly more interesting. You can press C to Clear those and H to Hide text if you want some more space to play (D will Draw them again and again and again, which is also cool effect in itself). Tagging that wall with a Rhizo logo was probably where I procrastinated most working on this site.

    This is our way to pay homage to graffiti and wheatpasting, as more traditional direct action communication methods.

  • The static here on the devlog (representing encryption) is generated using shader. At first I’ve tried to do it using 2d canvas (the code is still there as a fallback), but performance wasn’t really there - it’s pushing a lot of pixels. It is really simple shader that uses hash function that hashes the pixels position, with a random uniform passed in to the shader. That uniform gets updated on scroll event, causing the logo to animate on scroll.

    Actually rendering the shader without any dependencies is definitely quite something, also big thanks to MDN for help with that.

  • The rhizome as an illustration on community page. This one is equal parts planned and accidental. I wanted to render some kind of roots there, to symbolise community connecting together, and of course the name of the project. So I wrote a simple recursive algorithm to write the roots, capping their depth quite high and a bug that is staying in (allowing them to keep spawning new roots even when they are just a single pixel wide). Also C and D work there as well.

  • I also probably went way overboard with the typography.. I just couldn’t resist the font-variation. Sorry. Overall though, I have tried to make the book content to be first and foremost readable.

Next steps for me are probably going back to Rhizo code to tie some loose ends I have left around the implementation of actor system that powers all that you can read about in the book.

Hopefully when you hear from me next time it’s because we flipped the make-it-open-source switch, but we’re still finalizing some details on how to do it, what license to use, etc. If you’d like to chat about those and help us decide please drop by our IRC or send me a message on fedi.

S.