Salta al contenuto

Piero Bosio Social Web Site Personale Logo Fediverso

Social Forum federato con il resto del mondo. Non contano le istanze, contano le persone
  • # littleFedi media management

    Fediverso fediverse littlefedi
    1
    0 Votazioni
    1 Post
    8 Visualizzazioni
    stefano@littleone.littlefedi.social
    littleFedi media management Are you worried that your low-power device will be overwhelmed by external media caching? Don't worry, we've already thought of that! littleFedi offers 4 media management options: "No caching, no proxying": Media is fetched directly by the user from the originating instance. "Proxy only mode" (like this instance): The instance proxies requests so media is always served to the user through it. The originating instance will never see littleFedi users' requests. "Lazy caching mode": Requests are proxied and then cached locally, so subsequent requests are served directly from the local cache. "Full caching mode": Similar to Mastodon, it fetches and stores media locally as soon as it is processed by the instance. For both caching modes, you can store media locally or use an external S3-compatible service. Moving between storage types is supported natively, without needing external tools like rclone. #littleFedi #Fediverse
  • # New littleFedi build on littleOne

    Fediverso fediverse littlefedi littleone
    1
    0 Votazioni
    1 Post
    9 Visualizzazioni
    stefano@littleone.littlefedi.social
    New littleFedi build on littleOne littleFedi 26.08.09 - the changes in this build compared with the previous deployment. Followed hashtags in the main navigation Your followed hashtags are now one click away: a Hashtags entry (with a hashtag icon) has been added to the desktop navigation bar and the mobile account menu, pointing at /tags. The label is translated in every supported language. Blog posts show a link back to their permalink Posts that have been published to the blog now carry a small Blog chip in the status meta line. It links to the post's readable permalink (/@user/blog/<slug>/) and works on timestamps and boosts, so readers can jump straight from the timeline to the polished blog version of a long post. Status meta line reworked Every marker on a status - visibility, language, blog chip, expiry - is now rendered as the same uniform chip in a single wrapping flex row, instead of a mix of right-aligned inline boxes. Posts that carry several markers read as one neat line rather than a ragged stack. The Ink and Roost themes were adjusted to match. Robustness: orphaned-account posts no longer break the page Previously a post whose author account no longer resolves (a purged account, or a partially hydrated cache entry) could fail the whole timeline render. Now any status - including the target of a boost - whose author is missing is silently skipped. Covered by a new test. Icon updates Catch-up view and its navigation entries now use a VHS icon instead of the old sparkle (thank you for the suggestion, @shom@littleone.littlefedi.social ). The "redraft" action gets a proper undo icon. The Appearance and Blog appearance settings sections get a palette icon. New hashtag icon for the navigation. Blog theming fixes Proper spacing restored for non-paragraph content in the post body: headings, bullet/numbered lists, horizontal rules and code blocks now breathe instead of collapsing against each other. A post with a single attachment now renders a full-width figure (the old grid left a small thumbnail stranded at the left edge). The "View or reply in the Fediverse" link is now consistently styled. Ledger theme: long code lines scroll inside their block instead of breaking out past the reading measure. Marginalia theme: the thread link, replies and pager now align to the text column on wide screens, and print output was cleaned up. If you publish a blog, regenerate it so the fixes apply: Settings → Blog appearance → Rebuild blog now. The blog's style.css is assembled at build time, so it only picks up these changes when you rebuild. #littleFedi #littleOne #Fediverse
  • 0 Votazioni
    1 Post
    9 Visualizzazioni
    epn4littlefedi@littleone.littlefedi.social
    To say I am excited about #LittleFedi software would be an understatement. What I am seeing from @stefano and the team breaks new barriers for entering in, and participating in, the #Fediverse. Can't wait to test on a self hosted Pi at home. If successful, I shall migrate my long established Mastodon cloud instance to it and serve all from home on local hardware.
  • 0 Votazioni
    1 Post
    0 Visualizzazioni
    pepdmin@littleone.littlefedi.social
    I'm finding myself visiting #littlefedi more and more - more than my own #mastodon-instance. I really like that it doesn't look like the #birdsite at all and does try something new just on a visual level. Really looking forward to selhosting this piece of amazing community-software. <3
  • 0 Votazioni
    1 Post
    0 Visualizzazioni
    stefano@littleone.littlefedi.social
    I just built the merge with the branch that enables blog themes, including a few default themes. So, I've enabled the blog for everyone. If you want to test it out... it's live! 😃#littleFedi #Blogging #Blog #OwnYourData
  • 0 Votazioni
    1 Post
    8 Visualizzazioni
    stefano@littleone.littlefedi.social
    Dear friend of the #littleOne instance,you can go to your settings page and...enjoy the themes!#littleOne #littleFedi #Fediverse
  • 0 Votazioni
    1 Post
    0 Visualizzazioni
    stefano@littleone.littlefedi.social
    The discussion is going on late into the night, but the decision has already been made. Tomorrow we will try to merge a branch with a very particular change…#littleFedi
  • 0 Votazioni
    1 Post
    11 Visualizzazioni
    stefano@littleone.littlefedi.social
    littleFedi: a Fediverse Server That Doesn't Need a Data Centre I was fifteen, and there were no BBSes in my city. So every call was long distance, once a day, sometimes twice. I'd start the dialer and wait for that sound - the handshake, the negotiation, the hiss settling into a carrier - and then I was connected to a computer sitting in somebody's bedroom, a few hundred kilometres away. I was a co-sysop of a local board and a national moderator of a FidoNet area. None of my friends understood what I was doing, and they'd stopped asking to avoid an incomprehensible monologue. But I liked it, and that was enough for me. Here's the thing about that computer in someone's bedroom. There was no data centre. No domain, no certificate authority, no hosting provider, no cloud. Just a machine, a phone line, and a person who'd decided to run it. If you wanted to reach it, you called it. Now look at what it takes today to put a small server on the network so other people can talk to it. A public address, which most home connections no longer have. A domain, which you rent. A certificate, which somebody has to issue you. And, increasingly, a VPS somewhere, because the software won't fit on the hardware you already own. We've added a lot of infrastructure between two people who just want to talk. That's what littleFedi is about. What it is A single Go binary. No Ruby, no Sidekiq, no Redis, no separate worker processes to babysit. You run init, answer a few questions, and you've got a working instance. It speaks ActivityPub, and it speaks the Mastodon client API well enough that existing apps just work. It also runs on hardware that would make Mastodon - or even Akkoma - struggle. Most software in this space assumes a VPS with a few gigabytes of RAM and a database server next to it. We assumed a Raspberry Pi Zero W behind a home router. There's a low_power mode that tunes memory use, image decoding and thumbnail generation for exactly that kind of box, and it's tested on that kind of box, not just on a fast dev machine. In spirit this puts littleFedi close to snac, which I've always liked a lot. Same conviction: a personal server shouldn't need a fleet of services behind it. Federating without a public address littleMesh is the part I'm most attached to, and it's the part that goes back to the modem. Your instance generates an Ed25519 key pair. That key is its identity - the node's address is derived from the public key, so reaching that address means reaching the holder of that key and nobody else. No registrar, no certificate authority, nobody to ask permission from. A small set of public lighthouse nodes help two instances find each other. Once they're introduced, the traffic runs over a second TLS session pinned to both node IDs. The lighthouse copies encrypted bytes back and forth. It never sees plaintext, and it can't impersonate either side. And if the two nodes can reach each other directly, they drop the relay after the introduction and talk peer to peer. Which is, more or less, calling the BBS directly. Just without the phone bill. The gateway into ordinary HTTPS Mastodon and other regular servers can't resolve a mesh address on their own. There's no domain and no certificate for them to find. That's what the optional HTTPS gateway is for. A lighthouse operator can run one alongside the relay, and it bridges the mesh into ordinary HTTPS for the rest of the web. The gateway has to terminate TLS to do that, so it can technically see the traffic passing through it. Which is exactly why it's a separate, opt-in piece and not something every node exposes by default. It has two independent settings: one controls what the gateway lets ordinary internet visitors reach at all, and a second one applies again at the destination node. Left at their defaults, both allow only federation traffic - ActivityPub delivery, discovery, public media. Web login, API and media proxy stay closed unless an operator deliberately opens them. Mesh peers talking to each other directly never touch the gateway at all. That exposure only applies to the bridge into the wider web. And all of this can be self-hosted. Chronological timelines Timelines are chronological. Nothing gets reordered by an engagement model. If you want something closer to "what did I miss", there's a separate /catchup page you visit on purpose. It ranks posts using signals your own instance already has - how many people you follow boosted something, whether it continues a conversation you took part in. No external popularity score, no telemetry, nothing leaves the machine. You press "mark as read", it moves a divider, and that's the only thing it remembers. Self-expiring posts You can set a post to expire, with its own timer, instead of a fixed instance-wide setting. This isn't a client-side trick that hides the post from view. The expiry goes on the same durable job queue that runs the rest of littleFedi's background work, so the deletion survives restarts and isn't lost if the process happens to be down at the moment the timer fires. When it does fire, the post is deleted and a real Delete activity goes out to everyone who received it - so it actually disappears from remote instances too, not just locally. Editing the post before then can push the timer back or cancel it. Static blogs, with real threaded replies littleFedi can take a Fediverse post and publish it as a page on a plain static blog, with its own Atom feed and permalinks that don't move even if you edit the post later. No JavaScript, no database hit on page load. The part I find more interesting is that the replies aren't left out. If the author turns the option on, littleFedi pulls the public replies that were actually federated to the post, threads them the same way the timeline does, and bakes the whole tree into the generated HTML at build time. So a blog post can show a real comment thread, in the same static file, with the same guarantee as the rest of the page - no JavaScript, no live queries. Only public and unlisted replies qualify, obviously. Anything followers-only or direct never enters the picture. Why it looks like this This isn't minimalism for its own sake. It's about how many people simply can't run their own server today, because the requirements are too steep. The hardware, the ops complexity, or just needing a domain and a public address before you can start. We're trying to remove those barriers one at a time, while still shipping a real, federating, reasonably complete server: polls, quotes, scheduled posts, MFA, PostgreSQL and S3 if you want to scale up later. I've written before about taking a semi-truck to buy salad. Hardware keeps getting more expensive and the software running on it keeps asking for more of it every year. That's backwards. If the machines cost more, the operational cost of what sits on them should go down, not up. Same with complexity: the default direction is to keep adding it, and we'd rather strip it out. And there's the other half, which is closer to why any of us are doing this at all. It's the same thing that drew me to snac and to the way grunfink works on it, and the same thing that had me dialing a stranger's computer at fifteen. People building tools so that people can talk to each other. Nothing more dressed up than that. We'd rather show the servers running, talk about the Pi sitting in the corner, share a tiramisu photo if it comes up. The joy in this was never about the money it brings in. It's about what we end up building, humanly, because of it. It's beta software, still short of a first release, and I'd rather say that plainly than oversell it. But it runs, and it federates. That's the part I wanted to write about. #littleFedi #Fediverse
  • # Update since yesterday:

    Fediverso fediverse littlefedi
    1
    0 Votazioni
    1 Post
    14 Visualizzazioni
    stefano@littleone.littlefedi.social
    Update since yesterday: New Opt-in federated RSS feed for your account Threaded federated replies now show up on static blog posts (merged from an experimental branch - works but not pretty yet, it's a start, watching it closely) New followers can require your approval before they're accepted - it was there, just hidden Default language, Markdown, and audience settings for new posts (replies/edits/redrafts keep original settings) DM button and blog badge on profile pages Fixed Follow/unfollow path Video playback Search now resolves pasted remote status URLs directly RSS/blog reply preferences carry over on account export/import Profile pane improvements All live now. Let us know if anything looks off! #littleFedi #Fediverse
  • 0 Votazioni
    1 Post
    12 Visualizzazioni
    stefano@littleone.littlefedi.social
    littleFedi works like a real app on your phone A few people have asked me how to actually use littleFedi on mobile, so let's clear this up. I use MastoBlaster, for obvious reasons. But you don't need to build anything native - littleFedi is a Progressive Web App (PWA), and that means it behaves like a proper installed app once you set it up. You add littleFedi to your home screen like any other app It opens full screen, no browser address bar, no tabs cluttering things up It works offline for the shell of the app, so a dead connection doesn't just throw a blank error page at you You get real push notifications, even when the app isn't open Static assets load instantly on repeat visits because they're cached on the device Just your browser doing what browsers are supposed to do. Installing it On Android (Chrome or most Chromium-based browsers): open your instance, tap the menu, and choose "Add to Home screen" or "Install app". On iOS (Safari): tap the Share button, then "Add to Home Screen". That's it - the icon lands on your home screen and from then on littleFedi launches like a native app, in its own window, with its own icon and theme color. Notifications that actually work This is the part people are usually most surprised by. littleFedi uses Web Push, so once you enable notifications from the settings page, you get real-time alerts for mentions, boosts, favourites, quotes, follows, follow requests, polls ending, and a few other events - each with its own icon so you can tell at a glance what happened without opening the app. Tap a notification and it takes you straight to the right place, or focuses the app if it's already open in another tab. This works the same whether the app is in the foreground, in the background, or fully closed. The browser's service worker handles delivery even when littleFedi itself isn't running. Why it feels fast Static files - the JavaScript, the icons, the stylesheets - get cached on your device the first time you load the app. On every visit after that, they load instantly from local storage instead of going over the network again, and the cache quietly checks for updates in the background so you're never stuck on stale code. Your actual content - posts, notifications, everything tied to your session - always comes fresh from the server, since that's the stuff that has to be accurate and can't be cached. If your connection drops entirely, you'll see an offline page instead of a browser error, so it's clear what's going on rather than looking broken. No extra app needed If you're on mobile and haven't installed littleFedi yet, this is really the way to use it day to day. It's lighter than many native apps, updates itself automatically, and you're not waiting on anyone to approve a release in an app store. Just add it to your home screen and it stays there, working like any other app on your phone. #littleFedi #PWA #OwnYourData #Fediverse
  • 0 Votazioni
    1 Post
    0 Visualizzazioni
    stefano@littleone.littlefedi.social
    We’re currently preparing #littleFedi for release under the #MIT license.As part of that work, the GPL-licensed code previously included in the project has been removed or replaced. We’re now reviewing the repository to make sure the licensing information is clear and consistent throughout.#StayTuned
  • 0 Votazioni
    1 Post
    0 Visualizzazioni
    epn4littlefedi@littleone.littlefedi.social
    Thought I'd upload the view from my morning coffee break to the #littlefedi community. Have a good day
  • The first batch of invites has been sent.

    Mondo littlefedi littleone
    1
    0 Votazioni
    1 Post
    0 Visualizzazioni
    stefano@littleone.littlefedi.social
    The first batch of invites has been sent. Here we go!#littleFedi #littleOne
  • 0 Votazioni
    1 Post
    0 Visualizzazioni
    pepdmin@littleone.littlefedi.social
    Hello #littlefedi - this is @pepdmin@fedi.local.hasel.cloud trying this new thing out. Thank you @stefano for inviting me. =)
  • # Hi everyone, I'm Stefano

    Fediverso littlefedi littleone fediverse
    1
    0 Votazioni
    1 Post
    16 Visualizzazioni
    stefano@littleone.littlefedi.social
    Hi everyone, I'm Stefano Also known as the BSD Cafe and illumos Cafe barista - @stefano@bsd.cafe and @stefano@illumos.cafe This is the first post from littleOne (littleone.littlefedi.social), the first littleFedi instance open to outside users. littleFedi is a new ActivityPub server, still in active development, written in Go and shipped as a single binary. It speaks standard ActivityPub, so it federates normally with Mastodon, snac, GoToSocial, Akkoma and the rest of the fediverse, and it exposes a Mastodon-compatible API, so most existing apps already work with it. A few things about it that aren't the usual fediverse defaults: Catch-up instead of an algorithm. Timelines stay chronological, full stop. There's a separate /catchup page, visited on demand, that ranks what you missed using only signals this instance already has locally - who you follow boosted it, replies and favourites delivered here, hashtags you follow. No external popularity data comes in, nothing about what you read is tracked. It answers "what did I miss" without turning into a feed that decides for you. Static blogging built in. Any post can be marked as a blog post and gets published as a plain static page under /@username/blog/, with its own permalink, Atom feed, and no JavaScript or database hit per view, while still being a normal federated post underneath. A proper home for longer writing that doesn't need to compete with a timeline. Self-expiring posts. Any post can be given a timer and auto-delete on its own. Bubble timeline. A middle ground between local and federated: a timeline scoped to a set of instances you've chosen to group together, not just your own or everything. littleMesh. A way to federate without a public domain, certificate, or open port at all - meant for something like a Raspberry Pi behind NAT. Instances get an address derived from an Ed25519 key pair and reach each other through pinned relays that never see plaintext. No trends, no suggestions. These are intentionally left empty. Nothing here is trying to surface "popular" content or keep anyone scrolling longer. Security defaults taken seriously. Signed federation (HTTP Signatures), optional Object Integrity Proofs, TOTP MFA, audit logs, and full account export, migration and deletion if you ever want your data to live somewhere else. This instance is here to test all of that with real accounts, not just a small group ones'. In the next few days I'll be reaching out to everyone who already told me they were interested, to set the first accounts up - an invite is coming. If you'd rather just follow along and see how it goes, that works too. It's a test instance, so expect the occasional rough edge. If something breaks or feels wrong, tell me - that's exactly what this phase is for. #littleFedi #littleOne #Fediverse
  • 0 Votazioni
    2 Post
    38 Visualizzazioni
    stefano@rpi0w.stefanomarinelli.it
    @stefano the first instance is up. Some more configuration fixes and I'll contact all the people who replied here, with instructions on how to join.
  • 0 Votazioni
    1 Post
    17 Visualizzazioni
    stefano@rpi0w.stefanomarinelli.it
    littleMesh addendum: readable handles and replaceable relays Yesterday's post left one thing unsolved. Your littleMesh identity is your Ed25519 public key, which is great for security and terrible for a handle: nobody wants to type @alice@a1b2c3...52-characters....mesh.littlefedi.social, let alone read it out loud. And the lighthouse we mentioned, the relay that introduces you to the world, was baked into that identity too. Change relay, and you'd look like a different node. We've been studying how to fix both, and we think we see a path. The idea is a small signed directory sitting next to the mesh itself. You'd reserve a friendly alias, something like red-house.mesh.littlefedi.social, and your node would publish a signed record binding that alias to your node ID and to up to three lighthouses. Signed with the same mesh key you already have, no new identity, no new PKI. The record would carry a sequence number and an expiry, so nobody, not even the directory operator, could roll it back to an older version or serve a stale one past its time. What we like about it is what it wouldn't change. Your handle would stay @alice@red-house.mesh.littlefedi.social, readable. Underneath, WebFinger would still resolve to your real actor ID, the one built from your node ID, exactly as today. And switching lighthouses, would just mean publishing an updated signed record. Same handle. Same actor ID. Nobody following you would notice anything happened. The directory itself would stay deliberately weak in what it's trusted with. It couldn't produce a valid record for your node ID without your key, and every connection would still authenticate the node ID end to end, so even a malicious or compromised directory could deny service but never impersonate you. We're building this over the next few days, opt-in, as an experiment. Once it's up, we want to see it survive a real follow exchange with stock Mastodon, snac and GoToSocial, and a lighthouse swap that doesn't touch the handle, before deciding whether it earns a permanent place in littleMesh or gets reworked. Worth trying, not yet worth trusting. #littleFedi #littleMesh #Fediverse #OwnYourData
  • # littleFedi introducing littleMesh

    Fediverso littlemesh ownyourdata littlefedi fediverse
    1
    0 Votazioni
    1 Post
    12 Visualizzazioni
    stefano@rpi0w.stefanomarinelli.it
    littleFedi introducing littleMesh We've been buried in littleFedi work lately, and there's one piece I want to talk about because it's the one I'm genuinely excited about: littleMesh. The problem is an old one. Federation assumes you have a domain, a public IP, an open port, a TLS certificate. Fine if you're renting a VPS somewhere. Not fine if your instance lives on a Raspberry Pi in your house, behind CGNAT, with an ISP that will never hand you a real IP address no matter how nicely you ask. Until now, that simply meant no federation for you. Full stop. littleMesh gets rid of that requirement entirely, without asking you to build any of the infrastructure above. On first run, your instance generates its own Ed25519 keypair. That key becomes your identity, no domain required, because your instance's address is derived straight from your public key, in the form <your-node-id>.mesh.<suffix>. Then your node opens an outbound connection to a "lighthouse", a small, publicly reachable relay, and registers itself there. Since the connection is outbound, it works from behind any NAT, any CGNAT, with zero port forwarding. The ISP never even notices. When someone wants to reach you, they ask the lighthouse to open a circuit. The lighthouse introduces both sides, you call back, and it splices the connection together, but it only ever sees encrypted bytes, never your actual traffic. Once the introduction is made, if you happen to have a reachable address after all, both sides skip the relay and talk directly. If not, the relay just keeps carrying you, quietly, in the background. And if you already run an instance with a real domain, you can still turn on littleMesh, purely to reach mesh-only instances. Your own identity doesn't change at all. There will be a default pair of community lighthouses, so you don't even need to find or run your own relay to get started, just say yes during littleFedi init and you're on the mesh. The fediverse shouldn't require you to be reachable. It should reach you. #littleFedi #littleMesh #Fediverse #OwnYourData
  • 0 Votazioni
    1 Post
    0 Visualizzazioni
    stefano@rpi0w.stefanomarinelli.it
    Before making this public, it'll probably be wise to make a test instance with more users. I'll think if this will be a BSD Cafe instance or not.#littleFedi
  • # The Blog Option in littleFedi

    Fediverso bssg ssg ownyourdata blogging littlefedi netbsd fediverse
    1
    0 Votazioni
    1 Post
    21 Visualizzazioni
    stefano@rpi0w.stefanomarinelli.it
    The Blog Option in littleFedi littleFedi, like many social platforms, had both a strength and a limit. Posts, by their nature, are ephemeral. They get published, federated (unless local-only, which littleFedi handles) and then, over time, lost. Partly through self-deletion, partly through their normal blending in with the thousands of other posts that pile up over time. Sometimes, though, we want something to stay. And not just stay as a social post, but as an actual blog. A bit like with BSSG, I had thought it would be convenient to have a minimal system. Not to compete with WordPress or other solutions, but to have a small blog, integrated into littleFedi, that would produce and serve a blog updated every now and then, whenever the person writing felt like doing it. And that's why the blog option was born. The idea is simple: when you write a post, from the web UI or from the CLI, there's a checkbox, "blog post". If you check it, that post stops being just a status that will scroll past and disappear. littleFedi renders it into a real static site. No JavaScript, just HTML and CSS, an Atom feed, tag pages, a chronological archive. Nothing exotic, nothing that needs maintenance five years from now. The blog isn't a parallel system you have to feed separately. It's not an export, not an import, not a bridge to some other CMS. The post you wrote is the blog post. Same database, same act of writing, still boostable, still repliable, still part of the conversation on the fediverse side. The blog is just a second representation of the same content, generated automatically. Every time you create, edit, or delete a blog post, the whole static site for your account gets rebuilt from scratch, and the new version replaces the old one atomically, so nobody ever lands on a half-built page. If the build fails, the previous version stays in place. Simple, but it has to work reliably, or the whole idea is pointless. That's the core of it: two representations of the same post. As a status, it lives in the fediverse, interactive, part of the conversation, subject to replies and boosts like anything else. As a static page, it lives on the web, durable, indexable, with a permalink, something an RSS reader can hold onto. You don't have to decide in advance which posts deserve to last. You write normally, and if something turns out to be worth keeping, you flag it, and it gets its own page. One detail I cared about while thinking this through: the generated site has to be self-contained. When littleFedi builds it, media gets copied or hard-linked into the generated directory - images, audio, video. If it's stored on S3, it keeps its public URL directly. Either way, the point is that the site on disk doesn't depend on the instance staying up. If the server goes down tomorrow, the blog files are still a complete, working website. That wasn't an afterthought, it was one of the requirements from the start. Not every account gets a blog, and that's intentional. The instance admin has to enable the feature globally ([blog] enabled = true), and then grant it per account. It's not meant to be a CMS, and I didn't want it to become one. Blog posts can't be replies, can't be boosts, have to be public and top-level. These are constraints, not missing features: the blog is for your own writing, not for threads or reshared content. There's no JavaScript anywhere in the generated site. That was deliberate too. It loads fast, it works offline if you cache it, and it will still render correctly in ten years without anyone having to update a dependency. In the end, the blog option doesn't ask you to choose between writing socially and writing something permanent. You keep writing the way you always do, on littleFedi, and if a post is worth keeping, you check a box. No separate platform, no migration, no vendor lock-in. Just your own posts, some of them rendered into a small static site you can host anywhere, built out of something that already existed on the open web. Remember: all this is being currently served by a Raspberry PI Zero W powered by NetBSD Here's the result: https://rpi0w.stefanomarinelli.it/@stefano/blog/691cb62e-e7a1-434b-ba65-d059ee58ac41/ #littleFedi #SSG #BSSG #OwnYourData #Blogging #Fediverse #NetBSD