In this episode of Libre Lounge, @emacsen site down with Frank Karlitschek, the founder of @nextcloud to talk about #FreeSoftware and companies, the dangers of VC funding, 90s optmism about the Internet and the role of federation in the future of computing and society.
The latest in my series of case histories of #AdversarialInteroperability and the role it played in keeping tech competitive is the history of Gopher, which I was able to write thanks to the generous assistance of Gopher's co-inventor @lindner@twitter.com.
I think Spritely Crystal is useful. Unlike Magenc, it's not as rock-solid... crystals can shatter. That doesn't mean it isn't useful. And one reason I spent all this time on it is not just because I think it's useful, but because it illustrates so well a problem many folks in our community don't even realize we have... and one born out of serious challenges.
Anyway, as always, feedback is *most welcome*. I hope people are finding these writeups enjoyable and valuable.
In case you want the tl;dr of this particular update: - Spritely Crystal is vulnerable to all sorts of weird behavior if we write out conflicting revisions - Oh no, now this seems like bad design, right? - Oh wait a whole bunch of our technology has this problem... - Git has this problem! Secure Scuttlebutt has this problem!! ActivityPub has this problem!!! - It turns out there are theoretical limits that force us to make tradeoffs - So, we should at least know what those tradeoffs are
I don’t particularly care for your unique characters in unique circumstances.
I want to taste your society’s fabric.
How frequently your garbage is collected. How you far you go to get food. Who tells you what to do. How much do you pay in taxes. How often is the tax man replaced. How do you raise capital for an uncertain venture.
That's the bad news. The #GoodNews in federated networking land is that there are way more federated social web projects than there were a year ago, covering a much wider range of use cases (video, events etc). Also, we have a much greater understanding of the issues that are blocking universal inter-operation (portable identity, privacy and encryption, lack of standardized extensions, lack of implementation docs), and projects like #Spritely actively working on demonstrating ways to solve them.
for those wondering how to establish trade relations with crows:
- feed crows food A regularly - when crows decide to bring you gifts, feed them food B - when crows bring you different categories of gifts, feed them a food-per-category, ex: food C for jewelry, food D for paper money, etc - crows will recognize these exchange patterns and opt to bring you things in order to acquire desired treats
Coming up soon: - We discover how the problems described in this document are very general - In fact, the existing fediverse already has them! - We'll learn more about the CAP theorem and the tradeoffs we can make
Linux has epoll, BSDs have kqueue, and the #Hurd has... well, neither, nor is there any replacement.
There of course are select & poll, but they work differently: with poll/select, the calls themselves block until an event occurs, whereas epoll/kqueue let you create a new fd and then wait on it. This makes them composable, so you can nest event loops, even between processes.
So for the past few days, in between finals, I've been writing a little epoll server for the Hurd; today it finally started working.
I’m reminded of what happened in the 1970s when the hippies — bruised and bloodied from the culture wars of the ‘60s — retreated into self-help, wellness, and personal development, as Adam Curtis documents in his series The Century of Self. While they turned inward, the winners of the ‘60s culture wars took society’s reins. A focus on personal wellness created an unintended side effect: a retreat from the public arena, and a shift in the distribution of power ever since.