Feed
rssA bunch of commits and files showing how you can make threading happen in streamful. Likely these aggregators will end up being default for all servers. Tho they may evolve a bit, like, for example, only keeping the last X messages in a thread. The rest of them might end up being a search or something?
more inside...I continue to think more about how we make sense of data in various ways with this model.
more inside...Still working on aggregates — slowly but surely! I have successfully compiled text with only a whitelisted set of allowed symbols, which is quite handy. Figuring out how to do the hot swap from pending to active and retroactively applying them is next. It’s almost like I’m building a database engine. Which I am not at all qualified for. What could possibly go wrong?
This commit is quite thorough. It breaks down all the data structures and how one would produce a message that the streamful server could understand.
more inside...Very hopeful article about how fascism always fails but I hope it doesn’t take so long this time!
Today's coding session I decided I needed to write more tests. Which naturally led to adding a configurable maximum upload size. Which is good!
I'd call this.. exploratory unit testing. :-)
re this earlier post, I was wrong. Soon as I published it I found the energy to build a new thing (API for listing available streams). It took a surprisingly short amount of time (~36 minutes from start to push)!
Did some cleanup work today but didn't build anything new into streamful. But I think that's ok. The energy will return!
Added encryption but not in the usual way. More like SSH than TLS. The eventual intention is to use a combination of DNSSEC and TXT records to prove that a server belongs to somebody. The server's public key is in the TXT record! There is prior art of a similar approach.
So when you establish a session, we use the libsodium key exchange protocol to set up a secure session. Then all future messages are encrypted between client and server safely!
Well.. I hope. I am not a security person. But they say if you use libsodium you probably can't go wrong?
Ha!
This commit was a huge leap forward in my understanding of how Netty works under the covers. Namely, we were decoding arbitrary messages in a long running connection where sometimes you get a complete message and sometimes you don't. This was the moment when, for the first time, the "sometimes you don't" actually happened.
Today all I accomplished was protecting the privacy of a stream at a very basic level. Server admins can still see everything though. Wasn’t too terribly difficult!
Today I started in on storing and retrieving messages in a stream. Makes me wonder: how do I protect against malicious server admins hijacking my stream? Was thinking of having every message posted to a stream also including a hash of the stream’s “root message.” Trying to figure out how this can be hijacked if all messages are signed and can be verified by other clients.
Took a bit of a break but this morning I sketched out the basic storage mechanism for stream configuration.
more inside...The beginnings of public/private key authentication are in the code!
more inside...Long-ish post about the next steps on streamful — the bottom two layers are explained in more detail. Lowest layer is fairly stabilized!
more inside...Work in progress
This site was part of a larger effort to bring more of my digital life "in-house" so to speak. And of course I'm already working on a replacement. Follow along at streamful