Updates and some short-term planning for Pipette

The last week or so has been very busy for me. We got new floors installed in the apartment, and they are lovely!

The dog isn't so sure about the new floor yet

Pipette inside the HyperOS virtual machine on OS X

I managed to get pipette-hugo-worker to work inside HyperOS on OS X! It turns out that dat-container (and pipette-hugo-worker) needs the virtio-rnd kernel driver installed. Happily, Max Ogden made a new release of HyperOS that includes it, so pipette-hugo-worker now just works out-of-the-box!

HyperOS works great for demoing the worker for OS X users. However, right now, HyperOS just runs on a ramdisk, and it will lose its storage as soon as it is shut down, so it’s not really what you want to use for publishing. In the future, HyperOS will gain the ability to use permanent disk storage (using HyperDrive) – at that point, it will be very interesting!


I created another Pipette-based blog for writing my “Drafts”. Netlify CMS has a feature for doing drafts using Git, but I didn’t bother to implement that on Dat – so for now, I think it’s easiest to just write my drafts on another Pipette blog.

I started to write a “How To Install pipette-hugo-worker on Ubuntu” guide, but I’ve been stumbling a bit trying to figure out how best to describe the various bits and pieces. There is definitely a need for a higher level introduction.

Pipette is meant to be a bunch of small modular pieces that can be easily configured to build a publishing workflow … but a lot of it isn’t done yet, and the audience I want to reach will not have literacy in the concepts that Pipette is built upon: peer-to-peer networking, the Dat Project or Beaker Browser.

I think the documentation is actually the greatest challenge.

Multi-Pipette and API

The next important step in the evolution of Pipette is to enhance the worker so that one virtual machine can act as the worker (the part that runs Hugo) for many, many different blogs.

Right now, it’s wasteful to dedicate a whole virtual machine to running the worker for a single blog. I imagine a typical blog only gets updated once a week, and running Hugo only takes a few seconds … the rest of the time, the virtual machine is idling.

I want to implement an API where somebody can ask me if my Hugo worker can also listen to changes to their Dat archive with their blog content, and my worker will generate a static blog Dat for them. This will make using Pipette really easy, as it will remove the need for prospective Pipette bloggers to have to install pipette-hugo-worker on their own hardware.

Of course, there are issues to consider when making an API … How do I pay for it if it becomes very popular? What if people try to use it to publish objectionable or illegal content? I think it shouldn’t be too hard to solve those problems given enough time. My guess is that the service won’t be too popular at the start, and that the initial batch of users will actually be nice people.

I want everything to be Open Source. Beyond that, I want everything to be forkable and cloneable. I’ll run the first instance of the API … but it will be built so that anybody can easily run their own service for themselves or for their friends.

Other parts of the puzzle

For the API to really work well, I’d like to wire up some additional machinery:

Money: Freelancing vs. Full-time

I’m super enthusiastic about what’s happening in the Dat ecosystem at this point in time. It should be fun to look back a year from now to see the progress that has happened. I’m happy that I decided to scale back on paid work for a while so I could deeply immerse myself in what is going on.

Once Pipette is ready for broader usage, I think I’ll ask for community support via Open Collective, or Patreon or similar. That will be a good way to see if it’s delivering value to people.

Could Pipette be a business? It would be very speculative to start a business in the peer-to-peer web space right now. But it’s clear to me that the peer-to-peer technologies are going to have a dramatic impact on the Internet and cloud business as it exists today. There’s a lot of energy and passion in the space right now.

Thinking of longer-term sustainability, I’d like to support my family by doing as much Dat-related freelance work as possible. If you know anybody that wants to build something nifty with Dat, I’d love to talk! I’m also pretty good with Node.js, client-side JavaScript (React, etc.), Docker and Kubernetes, if you need that sort of thing.

As for full-time positions, I’ve been turning away recruiters. I’ve been encouraged by the initial response to Pipette, and I’d really like to get it off the ground. My hope is that there is enough freelancing work out there to give me that flexiblity.