Hey folks, quick announcement: we’re not going to keep doing the monthly Small is Beautiful streams going forward.
Instead, I’ll be doing impromptu streams¹ and releasing recordings of new features, etc., as I add them to Kitten, Domain, etc., and Laura might join me for some of those.
We’re both very busy so we’re trying to make the best use of our time.
I guess it tells you more about “FOSS”todon than anything else that they chose to block a human rights activist/privacy advocate who wakes up and works at a not-for-profit on free and open software every day. Maybe if I were to work at Google and hack on a hobby open source project in the evenings I’d be acceptable?
A big thank-you to everyone who just helped me test the Kitten¹ Chat sample app. We had ~35 folks in the room at its peak and I pushed one code update live to everyone during the test ;)
PS. The Kitten docs have a tutorial for building the Kitten Chat example² but I’d recommend starting the tutorials from the first one if you want to have a play with Kitten.
Yes, that‘s it, the two hearts emoji, that’s the new logo.
“Wait, what?! That’s not a logo, anyone can copy and use that!”
Sure, go right ahead. We’re not playing the same game as Big Tech with their trademarks and whatnot :)
PS. I just updated the placeholder site at https://small-web.org with the new logo and the Small Web protocol will use it as the namespace. e.g., my.small-web.site/💕/id → my identity (ed25519 public key for the cryptography nerds) :)
PPS. I love that the logo renders differently on different platforms. It’s the meaning that matters, not the form.
PPPS. small-web.org will be running a Domain¹ instance once Domain is ready. And Domain itself is a Kitten² app.
PPPPS. Special thanks to @leaverou for, among other things, the nifty little emoji-as-favicon hack. If you want to see how it works, view source on the page.
In fact, at its core, any protocol – no matter how inefficient – that assumes hierarchy where one group is ruled over by another inherently favours centralisation. And Big Tech can always throw money at the problem as well as “optimise” protocols to improve economies of scale.
The alternative is #SmallWeb/p2p, where every node is equal.
Since the Streamiverse (streaming updates of my public Mastodon feed) and Kitten Chat (WebSocket chat examples, starting simple and leading to end-to-end-encrypted peer-to-peer Small Web chat) examples are rather long, I just added a simple WebSocket echo tutorial to the list to hopefully better highlight the basics of working with WebSockets in Kitten:
Just saw that the Fetchiverse, Streamiverse, and Kitten Chat tutorials in the Kitten readme were still showing the old way of doing things so I just updated them.
(Basically, I want to see a web where every one of us has their own place and where we’re all equals. It’s not a complicated concept. But that doesn’t mean realising it is easy either.)
PS. If you want to support our ongoing work, please fund us. The funding we get from donations/patronage doesn’t pay the rent but it does help.
A group of over 40 European organisations have recently released a statement calling for the EU to set up a European Public Digital Infrastructure Fund.
They call for this fund to support Digital Public Spaces, that are, among other things, based in FOSS, and ensure privacy by design. The statement gives three examples: #Mastodon, #PeerTube and #ActivityPub, stating that they would benefit from such a fund to further flourish.
@fediversereport Gee, who knows, we might even get some funding from that given that’s exactly what we’re building. I won’t hold my breath though given we haven’t received a single euro of European funding today date (and not for lack of trying).
#Bookstodon Gonna say a thing or two about the relationship between #smallpresspublishers and #bookstores: can you name another industry where a retailer, as a standard practice, can return stock at any time after delivery and often payment, regardless of condition? I can’t. Now I used to be a bookseller so the pain thereof is not lost on me. (Next)
#smalltech#Bookstores#Bookstodon But let’s say I really want to keep the author happy rather than covering our costs. So we either: sell you books via Ingram, whose rates for bookstores are not great or sell you books directly, which means we get them from Ingram to send to you and eat the cost on shipping. This in turn generally means that we lose money on the whole deal after the store’s discount, Ingram’s cut, etc. And this, of course, doesn’t include any additional costs.
Quick heads up if you’re playing with Kitten, I’ve just removed the option to return an object (with title, icon, libraries, etc., properties) from your page routes now that we have the new <page> tag that lets you do that from within html tagged template strings not just from your pages but also from fragments and components.
(So we have one way of doing things that works consistently everywhere now.)
• specify certain <head> elements for your page (title, icon, etc.)
• list any libraries you want to include in your page from the ones Kitten has first-class support for (HTMX, HTMX WebSocket, Alpine.js, and Water.css)
Just released a tiny Node module that parses the attributes from a single tag (any attribute from anything that looks like a tag, not just valid attributes from HTML tags).
(Regular expressions just don’t cut it when you want to support boolean attributes as well as attributes with dashes in the names and unquoted, single-quoted, and double-quoted values.)
FOSS is not some fundamental component of the fabric of nature that is unalterable.
We made it up. It's fairy dust.
And it was made up to be commercially viable, and supported and promoted as such by the entities that stood to gain from it.
But, you know, it doesn't have to be that. We can make it mean something new, something that opposes capitalism, not play nice with it. It can be the representation of the creativity and talent of myriads of people.
@0x5DA The #Smalltech approach by @aral is currently the best description of a desired state of things. To achieve this at scale, I think we need new licenses and new corporate forms, or at least seriously redo what exists. I don't have anything more concrete than that at the moment.
I swear anyone who explains to me what #FOSS is again gets an instant block.
I’ve freely shared nearly everything I’ve created in four decades of programming and I’ve been writing free software exclusively, at great personal expense, for over a decade. (So I haven’t been working at fucking Google or Facebook and hacking on my personal hobby project in the evenings, which seems to be a particularly common trait among #fossbros)
When I talked to the Pleroma devs years ago on whether they would like to create a distributed actor system out of Pleroma for large instances, they weren't interested.
The GotoSocial devs aren't interested either in enabling building large instances, in this case by scaling out app servers.
There are also projects like Epicyon and snac2 for AP servers with tiny server footprints.