Sam (home from EMF š¢)
@sam@cablespaghetti.dev
830 following, 791 followers
https://cablespaghetti.dev/hosting-a-fediverse-instance-on-an-original-raspberry-pi.html
A public service announcement / #emfspider followed me home the other day.
Found nestling on one of the laser flight cases during the de-rig, I felt he needed to come home with me!
sooo, #emfcamp people, now that those of you who came with a handcart have seen how it performed when pitched against the dangerous and unpredictable terrain of Herefordshire: which models/features/things do you recommend to look for?
@rixx something with bearings on the wheels rather than bushings. But this is a surprisingly rare feature...
A friend once took an electric wheelbarrow to Glastonbury - that was pretty good.
@russss ooh, noted. Opinion on plain wheels vs tyres? I tend towards tyres when I can but that's just habit
@rixx I keep bringing my cheap IKEA one which is held together more with duct tape and ratchet webbing than itself these days. I do not recommend... But it keeps going despite me assuming every trip will be its last.
@marshant had a Burley Travoy and I think I might save up for it: bike trailer and hand cart that folds up nicely and seems pretty robust and repairable.
@rixx @marshant here's photographic evidence of my cart on the way home. I've had it for probably 10 years and brought it to three hacker camps (2*emf), and used it heavily for other cargo purposes. I don't have a car so it's carried a lot of unwieldy objects on public transport.
The wheels are big enough to work well at camp. But if you have the budget it's worth getting something better.
How it's broken so far: The click mechanism that fastens the handle up or down broke like 4 years ago. The screws holding the handle to the frame unscrew themselves, letting the frame lock itself in the down position, making it very annoying to pull them back up again: the tape prevents that from happening again, and the webbing takes the strain so the handle doesn't just pop off. The frame is bent because of me carrying way too many too heavy items up and down stairs and over rough ground. And the top of the bag is starting to rip.
That said it has served me extremely well and I'm not worried about it going walkabout. The ROI on a cart that currently costs 25⬠has been astonishingly high.
@discontinuity @marshant I hadn't even considered a two-wheeler originally, but the everyday use makes it preeeetty interesting. I'll have to think a bit on what I'll be most likely to transport on site (eg bags vs boxes) ⦠Thank you for the detailled notes!
@rixx @marshant no worries! I have also used this repeatedly to carry boxes. The bag just slips right off and then I use webbing to attach whatever.
Let us know what you choose! I get so much use out of this thing I really think I should spring for an upgrade. Ideally before it loses a wheel when I'm 4 trains from home and can't just tape it back on š
@discontinuity @marshant I will report back! I was thinking about posting about my current (very standard and pedestrian) chaos camping habits anyway, so any update would include cart info!
@rixx MoverX 150L is simple and compact to fold away when empty, others of similar size that I've packed away have ended up being more bulky and with more bits to lose/forget
@rixx If you are feeling constructional, this has served me very well for several camps. Folds up small, expands very big, has not yet been defeated by terrain.
https://jarkman.co.uk/catalog/luggage/collapsingtrolleyv2.htm
@rixx I didn't take one this time, but when I helped out delivering Nottinghack's stuff:
- chunky wheels
- wide wheelbase
- ability to fold to a reasonable footprint
- some sort of metal mesh construction so it's strong but not ridiculously heavy
- ability to flip down the back end is nice so you can carry longer stuff, or more easily offload heavy things
@gsuberland Yeah, particularly folding down at least the back (or all the sides) would be great. I have some time until next year to find something that can do that *and* is light *and* stable. How hard can it be ā¦
@rixx @gsuberland Tangentially related, but I happened to be looking at foldable stretchers (brancards) with wheels earlier today, as a possible collapsible option for moving servers around.
Might not be that suited for what I am hearing about EMF terrain, though.
Another possible option could be to look at the offroad walkers (kinderwagen) with three wheels? š¤
@sindarina @gsuberland there are those for mountain rescue etc that require two people to carry it but have a wheel/axis in the middle, hmmmm
@rixx not for EMF exactly but for a similar terrain. I did find the RockNRoller carts from thomann very usable
@rixx I usually go for a hand truck ("Sackkarre") because it's the most versatile. Load all the stuff in euro crates onto it, one ratchet strap, done.
@kunsi I'm very tempted by the bike trailer version of that tbh.
Also! At EMF I saw somebody with a thing that could be both a four-wheeled cart and a Sackkarre-style one, and it looked pretty cool and felt solid (but the extra wheels are probably too small for terrain)
@rixx Yeah, that'd work too, though i'm a fan of "proper" bike trailers (I have a "Carry Freedom The Y", but that's a fairly expensive one)
@rixx mine is approximately one of these https://www.robertdyas.co.uk/monster-shop-foldable-garden-cart-trolley-grey-with-gardening-gloves had it over ten years now and rattly but still going! Tempted to upgrade it or at least improve it a bit!
RE: https://chaos.social/@jonty/116958796235235709
I look forward to the thrilling conclusion of this saga.
If entire villages of first-timers can leave the ground clean when they leave #EMFCamp , so can ANY individual.
I'm not following #EMFCamp posts, but a lot of people I follow are posting about it. I keep thinking it's the sort of thing I (or a younger me) might enjoy, but then I remember it's all about interacting with people.
@jim_easterbrook you can do it all without chatting to anyone. Plenty of people just sit in the talks, mooch through the art, etc.
Of course, you can't stop people pointing at your cool T-shirt and complementing it š
@jim_easterbrook You appear to have echoed my thoughts.
@snaprails you don't have to be social you know. You can just attend the talks then veg in your tent.
But my social battery is well and truely exhausted for a few months now.
@jim_easterbrook
Iāve been inspired to start a local Repair Cafe. Unfortunately the repair cafe organisation donāt provide any tools to actually find local like minded people.
Might be a poster on lamp post jobā¦
@sam I'm not Romsey based but might be worth asking the folks at IBM Hursley: they have a maker space and lots of people from that office live in Romsey
@sam it was when I worked there but you'll certainly find some kindred spirits who might be interested in setting up a repair cafe with you. Jonah Luckett and Damien Bemben have both also moved on from IBM I believe but may be able to introduce you to the current organisers
I'm not Romsey based, but have experience of Repair cafes setting up (we've volunteered at 4 or 5). Flyers in libraries might be a good start, but if you can find the local Green party, they may have links to groups/folk who are interested. Also look up other Repair Cafes in Hampshire who may have good leads.
And go for it. We really enjoy being involved. Any other questions about setting up, ask away....
Thanks for the info. I will process properly and come up with a plan when not at EMF.
One thing to remember when getting people interested is that the actual repairers are not the only vital roles. Admin, publicity, meet-and-greet are all just as important, so if someone likes the idea but has no repair skills, they may be very valuable in other areas.
@suearcher @sam Butting in to say - we run our Repair Cafe monthly, and some of our fixers would happily do a 2nd Repair Cafe each month in a nearby town. So dont assume they wouldnt be interested, just make sure your days dont clash. #repaircafe
@Sarah111well @suearcher @sam
Yes, very much so.
For years, Sue and I did four different repair cafes each month, we now only do two as it was getting a bit much.
Many of the repair cafe volunteers do more than one a month, and enjoy the different dynamics, and range of people and repair items that come in.
@suearcher @sam
Would add local Charity Shops and Supermarkets too.
Also approach your local council. If they have a waste management team, and most do, they may include links/publicity for repair cafe events as they have an environmental responsibility to promote such things. Local papers, if you still have any, and local radio might be interested doing a piece on a repair cafe starting up.
Always use the #RepairCafe hashtag too š
Edit: fix typo
@sam Hi! Iām committee at Ringwood Repair CafĆ© and attend the County Council Repair CafĆ© Network - fancy a drink? (I tried DECTing you but the phones are sad - try 5730)
Iāve got a gap 3-4 if you want to head to the pub about then? Going home at 7 so not much time for pubbing todayā¦
@sam can strongly recommend going to a couple of surrounding ones and talking to people there. You may find other fixers who already travel a bit to do it.
I used to do the Reading repair cafe until someone from my own town came in wanting to find out how it worked and I discovered a much easier one to get to.
Do you know Lemon and Jinja? Might be worth advertising there, as there might be some like mindedness there.
@sam
Local community groups on Facebook (unfortunately) might be quite good for finding people.
We set one up in Coventry a few years ago. Do you have a venue? We use the central library, which is fantastic as we can leave a banner in the window for advertising the next date, the staff are really helpful, we don't have to pay anything to use the space, it is easy for people to get to. The only downside is we can't fix bikes (they are not allowed inside the library).
@sam We have two other much smaller ones, one in a Salvation Army shop and one in a church hall in a suburb. I am not involved in them personally but most of the volunteers at those do ours as well.
For big repair cafes (let's say with more than 15 visitors per session) greeting people, making sure they are in the queue (on a whiteboard where everyone can see) and getting them to fill out a form are really important to keep everyone happy and manage expectations.
@sam We also have a qualified PAT tester for mains electrical items. This at least means a second person gives these items a careful once over before they are released to the visitor to take home. I know many repair cafes do without, but it helps me sleep at night!
We also do a 'toolbox talk' before each session, and make sure new volunteers are inducted properly and we have their emergency contact details.
Many RC's don't do all this, but I am a bit keen on everyone going home unharmed!
@sam If you want I can send you the item form we use, just send me an email address.
Iāve got no venue or anything at this point. Need to find some helpers. Iāll process all the information youāve sent when Iām home and have had a proper sleep. š
@sam
Have you approached SoMakeIt (Southampton Maker Space)?
Oh wow, https://duckfriend.online now has more than 250 players at #EMFCamp! Youāve befriended ducks 408 unique times, and today is already more active than the whole of Thursday was!
Queuing for a shower? Waiting for breakfast? Befriend a duck! The leaderboard is all still to play for.
@kestral any ideas how to get it to work? Tapping an iPhone 13 mini on a duck does nothing. What am I doing wrong?
@gavoir is the phone unlocked when you tap? I did test them all on a 13 though not a mini - assume it definitely has NFC?
@kestral yeah unlocked and yeah Iāve used NFC yubikeys with this phone. I shall try again and run the phone all over the duck.
@gavoir the tags are top of head and in the front of chest if that helps! Otherwise let me know which duck and Iāll have a look post breakfast
@sam I knew the ducks liked a good massage, but I had no idea they'd go to these lengths to get them. Apologies. Do persevere - some friendships take a little time I guess.
@sam Hello! A code just popped up on screen botarms ā send it back to me as a reply to this message within the next minute to prove you're here. š¶
Note to self, need to actually have the DECT phone with me in order to take incoming calls. #EMFCamp
@sam thanks Sam šš» It'll replace the board / processor in the I.T. Buddy's PC at Cheadle Community Library. The current ones run Linux just fine, but can't manage Windows 11 (which 1 of my fellow buddies wants). Thanks for the donation š
Our DSL services are now live on DK G6
https://docs.cutel.net/events/emf26/internet_services/
Many thanks to the NOC team, Charlie and GCHQ.net
@sam look for rainbow flags. Look for a lake. Look for the restaurant at the end of the universe. Go to the movies. Go shop. Go rave. Go eat. In all these places, ducks.
Whooops. Verschlafen. š„“
Aber sollte sich noch alles ausgehen, und damit geht's mit meinem neuen Reisebegleiter auf zum EMF!
#emfcamp #BlobOnTour
Als nƤchstes durfte blob hoch hinaus!
#BlobOnTour
Things are going well. We've only just landed in the UK and blob is already misbehaving. š
#emfcamp #BlobOnTour
Colour matched seats? š
#emfcamp #BlobOnTour
I'm getting the impression that blob maybe is a bad influence. But who am I to say no to a pint?
#emfcamp #BlobOnTour
And we're finally on the way to Ledbury!
#emfcamp #BlobOnTour
The train terminated earlier and was delayed so much that we missed the next train to Ledbury. Now at +90minutes. At least according to the GWR delay repay info this journey should be free. And blob is enjoying the additional time with AC in the train.
#emfcamp #BlobOnTour
Blob on the way to #emfcamp
#BlobOnTour
@sam unfortunately I don't have access to the model here on site and it's not online as it's still a work in progress
Also we arrived safely at the campsite. And let me tell you, blob found a lot of interesting things to do. Sat around in the trees, on posts and help with checking in the tickets.
And now I'm ready for the bed. š“
#emfcamp #BlobOnTour
Blob found some work at the construction team. And some amazing paint!
#emfcamp #BlobOnTour
Gator ride!
#emfcamp #BlobOnTour
With the help of some power tools we built three additional misting frames. Now we only need to deploy them on the site.
#emfcamp #BlobOnTour
And some late table distribution happened as well.
#emfcamp #BlobOnTour
Today we're escorting live-in vehicles on the site. A gentleman from Scotland saw us melting in the sun and offered us a nice cold drink.
#emfcamp #BlobOnTour
A wild Club Mate appeared!
Blob uses sip.
It's very effective!
#emfcamp #BlobOnTour
Need proper emergency exit signage hung up at @nullsector? Blob's got you covered.
#emfcamp #BlobOnTour
Today there was even some cake for a special occasion!
#emfcamp #BlobOnTour
Inflatable tetrapods!
I might steal this idea and make one for myself to deploy at @hackmas š¤
#emfcamp #BlobOnTour
We're collecting the @GCHQNET hexpansions! Wandering around the campsite, looking for these things and discovering all kinds of other things is a lot of fun, can recommend!
#emfcamp #BlobOnTour
This years nullsector once again is incredible. š
Blob even met a robot friend there!
#emfcamp #BlobOnTour
Wanna get to know blob more? Come to @hackmas in Austria in August!
We've put up some posters at the info boards to find out more.
#emfcamp #BlobOnTour
Blob has found a fur(r/b)y friend!
#emfcamp #BlobOnTour #emfurby
Not sure whether this is another friend?
#emfcamp #BlobOnTour
And that's EMF for us. It was an amazing week(end), met many friends and discovered so many interesting things. Already looking forward to 2028.
More photos of the event will follow later but now blob and I need to catch a train.
#emfcamp #BlobOnTour
Instead of going home directly, we're staying one night in Oxford. A lot of interesting old buildings and blob seems to like them too!
#emfcamp #BlobOnTour
Here's one anyway: https://github.com/cablespaghetti/emfdash
@sam millibars! Haven't seen it written that way for a while. It's all hPa here now and I kinda miss the friendliness of millibars.
š± Bringing your old GSM phone to #EMFCamp? Did you know that Electromagnetic Telecom remains at the cutting edge of technology? Access our WAP service from https://wap.phones.emf.camp/
I'm writing this post from a Raspberry Pi Zero W - 512 MB RAM, single-core ARMv6 - running NetBSD, powered by littleFedi. The process sits at 33 MB RSS, CPU basically asleep:
load averages: 0.05, 0.08, 0.09
CPU states: 0.0% user, 0.0% nice, 0.0% system, 1.0% interrupt, 99.0% idle
Memory: 301M Free
PID COMMAND RES STATE
2082 littlefedi-armv6 33M kqueue
No Redis. No PostgreSQL (but optional). No Sidekiq. No Node.js build pipeline. One statically-linked binary, one SQLite file, and the full fediverse experience. And this is the part people tend to miss: the same binary that runs happily on a Pi Zero scales, on the right hardware, to numbers that have nothing to do with "lightweight". It's not a toy that stays a toy. It's built to grow when you need it to.
Federation - Full ActivityPub S2S: WebFinger, NodeInfo 2.1, host-meta, HTTP Signatures with anti-impersonation checks. Per-user and shared inboxes, outbox, followers, following, featured collections. Thread completion with bounded on-demand fetching of missing ancestors/replies (separate sync and background budgets, all hard-capped). Quote posts via FEP-044f with the full approval handshake (QuoteRequest -> QuoteAuthorization), matching Mastodon 4.4 semantics, plus _misskey_quote and Fedibird quoteUri aliases. Account migration (Move), both outgoing and incoming, with alsoKnownAs linking, automatic follower migration, follow import from AP collections, and CSV export/import. Remote interaction discovery - async like/boost resolution from origin servers with REST fallback.
Mastodon API - Broad coverage: timelines (home, public, local, hashtag, bubble, direct), status CRUD with edits, scheduled posts, polls, bookmarks, lists (with replies_policy and exclusive), filters v2 (keyword CRUD), featured tags, followed hashtags (posts appear in home), markers, conversations, notifications with type exclusion, follow requests, blocks (federated Block/Undo), mutes with duration/expiry and hide_notifications, per-user domain blocks. OAuth2 with app registration, authorization code, client credentials and refresh_token flows, PKCE, consent screen, and scope enforcement (read/write/admin:read/admin:write). It talks fine to Elk, Tusky, Ivory, Phanpy, Semaphore and MastoBlaster.
Streaming - WebSocket and SSE. In-process pub/sub hub with per-connection send buffers, zero cost when no client is connected. Broadcast streams for public, local, remote, hashtags and lists. Per-account streams for user timeline, notifications and direct messages. Optional PostgreSQL LISTEN/NOTIFY backend for cross-process fan-out. Mastodon-compatible event serialization.
Push notifications - Full Web Push / VAPID (RFC 8030/8291) with aes128gcm encryption. Per-type alert toggles (mention, follow, reblog, favourite, poll, follow_request, status). Notify-bell support on followed accounts. Subscription expiry detection, rate-limit handling, 5-retry delivery.
Media pipeline - Upload processing: thumbnail generation (600x600), blurhash computation, EXIF stripping, magic-byte validation, SVG rejection, MIME mismatch detection, UUID-based file renaming. Size limits (40 MB default), pixel caps (16 MP default, tunable down to 4 MP for SBCs).
Media privacy proxy - This is the part I actually care about most. All remote media streams through the instance via HMAC-signed URLs (/proxy/media?url=...&sig=...), so local users never expose their IP address to remote servers. SSRF-guarded: DNS resolution check, private/CGNAT IP rejection, redirect re-validation. Pure io.Copy pass-through, no disk, no decode, ~32 KB buffer. Forwards HTTP Range requests for audio/video seeking. Configure a proxy_secret for stable URLs across restarts. On low-RAM devices, set cache_remote = "off" and you still see every image on the fediverse, the instance just doesn't store or process them.
Remote media caching - Three modes: off, eager (background sweep caches all remote attachments, avatars, headers and emoji, backfills existing on mode switch), lazy (cache on first access). Content-addressed, deduplicated by origin URL. Age-based pruning with file GC. Negative-cache for permanently dead URLs. Transparent origin fallback on cache miss. Open Graph preview cards stored durably with posts.
S3-compatible storage - A separate build tag (-tags s3), deliberately excluded from the default binary to keep it small. Supports AWS S3, MinIO, SeaweedFS, Ceph, Backblaze B2, Wasabi, DigitalOcean Spaces. Native media migration CLI: littlefedi admin media storage-migrate between local and S3 (DB-queue-backed, resumable, bounded batches). storage-status, storage-cancel, storage-resume commands. storage-manifest for rclone JSONL integration.
Markdown posts - Powered by goldmark with GFM extensions: tables, strikethrough, bare URL autolinking, hard wraps. Raw HTML deliberately not rendered. Output sanitized through bluemonday (defense-in-depth). Composer toggle in the web UI. Federates source.mediaType: text/markdown (Pleroma/GTS convention). Inbound Markdown source is rendered to HTML.
Visibility modes - The standard four (public, unlisted, private, direct) plus local-only (local, instance timeline only, never federates) and local unlisted (local_unlisted, followers only, no federation). Useful for notes to your own instance community.
Bubble timeline - Curated set of instances whose posts appear alongside local posts in a special timeline. Akkoma-compatible extension. Admin panel for adding/removing bubble instances. API endpoint at /api/v1/timelines/bubble.
Moderation - Account states: suspended (tombstone, federates Delete(Person)), silenced (visible to followers only, dropped from public timelines), quiet (like silenced plus it downgrades federation to followers-only, a middle ground I haven't seen anywhere else), disabled (cannot log in, content stays visible). Self-suspend prevention, last-admin-demotion guard. Blocks (bidirectional, federated), mutes (local-only, with duration and hide_notifications), per-user domain blocks (distinct from admin instance-wide blocks). Reports pipeline: user submissions plus inbound/forwarded Flag into an admin triage UI with resolution actions. Admin notification on new reports. Domain blocks with severity (noop/silence/suspend) plus Mastodon-parity options (reject_media enforced in the proxy, reject_reports, obfuscate, public). A moderation audit log records every admin action.
Web UI - Server-rendered HTML with html/template, templates embedded via //go:embed. Inline CSS (dark mode, Inter font, gradients). htmx 2.x and Alpine.js for progressive enhancement. No build step, no Webpack, no Tailwind, no npm. Every action works as a plain form POST without JavaScript. Works in Lynx, eLinks, text-only browsers, and on mobile.
Full feature set: home/public/local/bubble timelines with infinite scroll, profile pages with follow/unfollow/bell toggle, status threads with reply composer and background thread completion, post creation with CW, visibility selector (6 modes), media upload with alt text, Markdown toggle, quote posts (pre-loads composer with the quoted post as an inline card), post editing, composer autocomplete for @mentions and #hashtags, settings (display name, bio, password, sessions, moderation, pruning, account move, timeline preferences), report form, search page, tag management.
Admin panel - Dashboard (user counts, pending approvals, unreachable instances, open reports), accounts (with suspend/silence/quiet/disable/approve/reject actions), invites (CRUD), domain blocks (with severity and options), reports (triage and resolution), audit log, instance health (per-instance status with follower/following counts, reachability tracking, purge with typed-domain confirmation), bubble instances, settings, housekeeping (on-demand pruning), queue console (ready/scheduled/running/failed by job kind), media storage (S3 migration controls in S3 builds).
Background jobs - DB-backed queue that survives restarts, 8 job kinds: inbox, delivery (16 attempts over roughly 26h with capped exponential backoff and equal jitter), push_notification, actor_refresh, poll_close, scheduled_status, media_cache, media_migration. Per-instance circuit breaker suspends delivery at backoff_count >= 10. Actor refresh dispatcher with stale-while-revalidate, crash-safe leases, and per-actor exponential backoff.
Backups - Periodic or on-demand, server-side, no external tooling required. Each run produces a timestamped directory with config.toml, a portable database dump (VACUUM INTO for SQLite, pg_dump for PostgreSQL), an optional copy of owned media, and a manifest. Toggle it on, set an interval (24h, 7d, whatever fits), decide whether to include owned media (the remote cache is always excluded, no point backing up other people's content), and set a retention count so old backups get pruned automatically. Off by default, one line to turn on.
Housekeeping - Automated pruning: remote statuses by age, own low-interaction statuses (per-user or server thresholds, min likes/boosts caps), tombstones, expired mutes, stale media (>24h unattached), orphaned media (deleted posts), unreferenced media files (disk files with no DB record), cached media by age, cache file GC. On-demand controls in the admin UI.
Security - Token-bucket rate limiting per IP. Security headers: X-Content-Type-Options, X-Frame-Options, Referrer-Policy, Strict-Transport-Security. Content-Security-Policy with nonce-based script/style. CORS. CSRF on all cookie-authenticated POSTs. Session fixation protection. Password reset token in a cookie, not the URL. OAuth consent screen (not auto-issuing). SSRF protection (DNS, IP and redirect re-validation) on all outbound HTTP. HTTP Signature algorithm enforcement (rsa-sha256 only). Inbox body size limit (1 MB). Backfill goroutine cap. Thread-fetch amplification limits. File upload validation (magic bytes, SVG rejection, MIME mismatch). Username enumeration hardening.
Operational - Prometheus metrics at /metrics (counters for API/inbox/fed/web requests, statuses, deliveries, thread fetches, queue depth; gauges for workers, pending follows, uptime). Health checks (/health, /readyz). CLI: admin create-user, admin set-admin, admin list-users, admin suspend/unsuspend, admin invite generate/list/revoke, admin media prune/prune-orphans/prune-files, admin media storage-migrate/status/cancel/resume/manifest, post (publish from stdin/file with Markdown, visibility, CW, media, reply, quote), migrate (run migrations only). SMTP for password reset and notifications (falls back to stdout). Config via TOML file plus environment variables (LITTLEFEDI_{SECTION}_{KEY}).
Platform support - CGO-free, compiles with CGO_ENABLED=0. 23+ GOOS/GOARCH combos via the modernc SQLite driver: macOS (amd64, arm64), Linux (386, amd64, arm, arm64, loong64, ppc64le, riscv64, s390x), FreeBSD (386, amd64, arm, arm64), Windows (386, amd64, arm64), OpenBSD (amd64, arm64). NetBSD (amd64, arm, arm64) via a WASM-based fallback SQLite driver, I don't think anything else in the fediverse space explicitly targets NetBSD. PostgreSQL is a separate build tag (-tags postgres), S3 is another (-tags s3). The default binary carries neither, keeping it small. ARMv6 (GOARM=6) gets special treatment in the release naming, that's the Pi Zero target.
The fediverse shouldn't demand a beefy VPS. It shouldn't require Docker, 2 GB of RAM, Redis, Sidekiq, or a JS toolchain that pulls in 800 packages. A 10 euro Raspberry Pi Zero W running NetBSD, sitting on a shelf, drawing less than 2 watts, can be a fully functional fediverse instance with a web UI, mobile app compatibility, streaming, push notifications, quote posts, account migration, and a moderation toolkit. That's not hypothetical, that's what this post is running on.
But don't mistake "runs on a Pi Zero" for "only runs on a Pi Zero". Point the same binary at real hardware and it scales to numbers that have nothing to do with hobby-instance territory. Low power is the floor, not the ceiling.
One binary, one config file, one SQLite database. Light, yet complete.
I've been involved in this project for a while now, though I can't say much more about it at the moment, there are other people involved besides me and it's not entirely my call to talk about it publicly yet.
@sam @stefano@rpi0w.stefanomarinelli.it snac is great, and it's perfectly fit for the task. I'll continue to use snac for many of my projects, like for expanding FediMeteo, etc.
@stefano littleFedi looks so awesome! I hope it will be released publically, eventually. -- Is it only for ARM or will it compile on x86/64 as well?
@packet@bsd.cafe it will be released and will compile (it already does) for all the GO supported architectures.
At the moment littleFedi is able to pre-build binaries for 43 platform variants (all CGO_ENABLED=0, statically linked). ARM targets include both armv6 and armv7 variants.
littlefedi-aix-ppc64littlefedi-android-arm64littlefedi-darwin-amd64littlefedi-darwin-arm64littlefedi-dragonfly-amd64littlefedi-freebsd-386littlefedi-freebsd-amd64littlefedi-armv6-freebsd-armlittlefedi-armv7-freebsd-armlittlefedi-freebsd-arm64littlefedi-illumos-amd64littlefedi-linux-386littlefedi-linux-amd64littlefedi-armv6-linux-armlittlefedi-armv7-linux-armlittlefedi-linux-arm64littlefedi-linux-loong64littlefedi-linux-mipslittlefedi-linux-mips64littlefedi-linux-mips64lelittlefedi-linux-mipslelittlefedi-linux-ppc64littlefedi-linux-ppc64lelittlefedi-linux-riscv64littlefedi-linux-s390xlittlefedi-netbsd-386littlefedi-netbsd-amd64littlefedi-armv6-netbsd-armlittlefedi-armv7-netbsd-armlittlefedi-netbsd-arm64littlefedi-openbsd-386littlefedi-openbsd-amd64littlefedi-armv6-openbsd-armlittlefedi-armv7-openbsd-armlittlefedi-openbsd-arm64littlefedi-openbsd-ppc64littlefedi-openbsd-riscv64littlefedi-plan9-386littlefedi-plan9-amd64littlefedi-armv6-plan9-armlittlefedi-armv7-plan9-armlittlefedi-solaris-amd64littlefedi-windows-386.exelittlefedi-windows-amd64.exelittlefedi-windows-arm64.exeBroadband and Mobile Networks Strained by UK Heatwave ā No Major Blackouts Expected https://www.ispreview.co.uk/index.php/2026/06/broadband-and-mobile-networks-strained-by-uk-heatwave-no-major-blackouts-expected.html
Our statement on the UK governmentās demand that all content on all devices sold or used in the country be scanned, on the presumption of nudity, using a dystopian combination of age verification and content scanning. This proposal will not safeguard children. It endangers us all.
https://signal.org/blog/pdfs/2026-06-08-uk-surveillance-is-not-safety.pdf
@signalapp What happens when they find legal nudity? Is it noted somewhere for tracking (and monitoring)?
@mychalshade @signalapp The historical record suggests that the algorithms they use for scanning donāt distinguish between legal and illegal nudity and that nobody will check before they cut off the presumed offenderās internet access and maybe sic the cops on them.
@MisuseCase @mychalshade @signalapp Or blocked forever. A story from 2022. https://nextcloud.com/blog/nyt-reports-google-offers-no-recourse-for-mistakenly-blocked-accounts-even-in-egregious-cases/
@signalapp Theyāre giving in to populism, and the government isnāt listening to the experts. The police in the UK is already untrustworthy. What happens when they start arresting people for false positives?
@signalapp why is everything gone so 'end-of-days' with each and every issue?
Religiously it's accurate to say the end is near but, I don't think that we know that it's because of 'A,B,C,...'
@signalapp I saw this reported on Sky news today and you can understand why the average person agrees with it because there was no reporting on why this could a bad thing. How the purpose would likely be expanded and people will just get around it anyway.
The UK government wanted to put back doors into apps like Whatsapp and other chat apps. A back door is a security hole that others will exploit and the UK government don't have a good track record with tech rollouts š¤
Why won't Signal release/open source all of their backend infra automation scripts/tools/etc...
There's no reasonable reason why a 501(c)(3) won't put this out there to make sure there's redundancy so we could built an alternate network if they're compromised by some gag order.
@signalapp I think many of your points have merit, but what actually is your counter proposal to prevent online child criminal / sexual exploitation?
I work in field where CSE is an issue and am keen to know how you'd address it.
And they are doing it to protect powerful and rich pedophiles. Refusing to.investigate, refusing to pressure named pedos, connected pedos from Trump t o Epstein.
@signalapp Every Western government is compromised by this totalitarian spirit to control us like electronically caged animals. Itās evil.
@signalapp The whole point of end to end encryption is to make sure that no third party can view your messages. How would they secure the scanners? Oh, sorry I asked! The scanners themselves become an attack surface and since its centralized, this adds a single point of failure. It would be better if they instead raise awareness for parents and issue laws that actually help struggling children without breaking E2EE for everyone.
@signalapp Have they tried applying their surveillance to billionaires first? It seems likely that they would find more extensive and more deeply abject crime if they looked straight into their business, and not into everybody else's perfectly legal and free lives.
Of course, that question is rhetorical. The purpose of a system is what the system does.
@jonathantrott i still am not sure signal's centralised nature works for me.
But yeah the government shouldn't mess.
These are the user agents on hits to the #Linux Matters podcast RSS feed over last 30 days. @AntennaPod seems remarkably more used than any other... What do you use?
@linuxmatters @AntennaPod If I'm on my Android device I use AntennaPod. If I'm on my iPhone, I use Apple PodCasts.
@linuxmatters
OeffiSounds which implements some of the proprietary storage locations of the public radio stations for podcastsin top of Antennapod
Unfortunately neither is going for livestreams and alternate encosures just yet.
Still can't have linear streaming and podcasts in the same place
Here are some #thePlaylistSuggestion tunes for @DJDarren:
Howard Jones - The Prisoner
Down - Jail (maybe as a bed? Itās a bit long and ponderous)
Deacon Blue - The Day That Jackie Jumped The Jail
Redpoint - Model Prisoner
The Gathering - Locked Away
Clutch - Your Love Is Incarceration
History