Stefano on littleFedi

@stefano Created:

It's me, Stefano, the BSD and illumos Cafe Barista - aka @stefano@bsd.cafe and @stefano@illumos.cafe

I'm testing something cool - #littleFedi !

This instance is efficiently running on a Raspberry PI Zero W, powered by #NetBSD.

I'll post general stuff - for more littleFedi news and updates, follow my other profile: @stefano@littleone.littlefedi.social

Let's go!

Visit blog
RSS
383 posts
hidden followers
hidden following
Michael Boelen
@mboelen @mastodon.social

After the OpenSMTPD article, I am now working on an article to uncover the things that #httpd on #OpenBSD has to offer. Yes, it does not have all the features of #nginx, but still it can do a lot.

Want to know when the article is available? Follow the RSS feed on bsd-audit.com/ or follow me here.

If you are using httpd a lot, then a question for you: what are the tips that those new to OpenBSD and httpd should know? Why httpd and not nginx?

Yawn...oh sorry 😪

Stefano Marinelli - littleFedi
@stefano @littleone.littlefedi.social

How background workers work in littleFedi

Every littleFedi instance runs a background job queue. Jobs are split by kind, but they all share one thing in common: they sit in a database table and are executed by the "main" worker pool, whose size you control with queue.workers (default min(8, GOMAXPROCS), 1 on the low_power preset).

The kinds fall into two groups:

  • Heavy, mostly CPU/DB-bound work - inbox (ActivityPub signature verification, actor fetches, home-feed fan-out) and media_cache (image decoding). These block a worker synchronously while they run.

  • Light, mostly network-bound outbound work - delivery (one signed POST to one remote inbox), its delivery_fanout expander, push_notification, and send_email. These are short and often latency-sensitive: a boost that hasn't landed yet or a push that hasn't arrived is visible to real people.

By default every worker can pick up any kind of job. That is perfectly fine for most instances. The only caveat: job priority only orders queued rows, it cannot preempt a job that is already running. So if a slow inbox or media job is occupying the single (or few) workers, timely outbound delivery, push and email can end up waiting behind it.

light_workers (default 0, disabled) spins up a second, dedicated worker pool for exactly those four light outbound kinds. It is a strict either/or, not extra capacity: with light_workers > 0, delivery, delivery_fanout, push_notification and send_email run only on this pool. The main pool stops touching them, even when idle, and there is no overflow between the two. So workers=8 + light_workers=2 gives outbound federation exactly 2 workers, not 10.

The light pool also yields to interactive requests like the main one does, but with a shorter wait (3s vs 10s) when both compete for the single foreground-recovery slot - so short, people-visible outbound jobs win that one job while every other worker keeps yielding to keep the web UI responsive.

It's totally optional.

With 0 (the default) all four kinds stay on the main pool. The extra goroutine(s) cost is negligible even on constrained hardware.

It can be useful for:

  • low_power devices (e.g. Raspberry Pi or similar): keep workers=1 for the heavy inbox/media work and enable light_workers=1 so outbound delivery, push and email keep flowing even while your single main worker is blocked on a slow inbox job. This is the recommended combination on a small box.

  • Instances where inbox/media loads spike: a burst of incoming activity (a big follower purge, backlog of signature-verification work) can stall time-sensitive outbound delivery on a shared pool; giving the light kinds their own pool decouples them.

  • Visibility matters: push notifications and federation delivery are things users notice immediately; if you care about their latency on a busy instance, the dedicated pool is a cheap way to protect it.

Running a single pool is the right default for most instances. Also note both pools share the DB connection limiter (sized from MaxOpenConns): the database is the serial resource, so worker counts beyond the connection count buy nothing, extra workers just deepens the queue in front of it. Size light_workers for your real outbound throughput.

#littleFedi

Stefano Marinelli - littleFedi
@stefano @littleone.littlefedi.social
The Orange PI PC currently running this instance, dust included
The Orange PI PC currently running this instance, dust included

Hello from the other side!

Yes, it's true. This instance is now running from the Orange PI PC (NetBSD, armv7). It's currently using the SD Card. The performance is...you judge! And it's not set to low_power mode!

#littleOne #littleFedi #SBC #NetBSD

@pepdmin@littleone.littlefedi.social Good morning to you! Yes, ready for a new day!

Colm
@dotcolm @mastodon.ie
A photo of the total solar eclipse August 2026, taken from a boat off the south coast of Mallorca. A number of other boats are visible in the middle distance.
A photo of the total solar eclipse August 2026, taken from a boat off the south coast of Mallorca. A number of other boats are visible in the middle distance.

Oh holy hells that was just amazing.
#eclipse2026 #eclipse #mallorca

Ferrebam again
@ferrebam @littleone.littlefedi.social
a small timelapse of the eclipse on August 12

I share with you a modest timelapse of the #eclipse.

In our case, it has not reached the totality but it has been exciting all the same.

Replying to @twm@bsd.cafe

@twm@bsd.cafe you do, as it seems you’re having good days. Enjoy!

Alfonso Siciliano
@alfonsosiciliano @bsd.cafe

I've found two possible Braille displays that I could buy and try to get working with #FreeBSD: Harpo BraillePen 12 and APH American Printing House Refreshabraille 18

Which one do you think could have a bigger impact on the community because it is more widely used or more common?

#FreeBSD #UNIX #OpenSource #AssistiveTechnology #Accessibility #Braille

Quixoticgeek
@quixoticgeek @v.st

Good news, the reboot of the sun has been successful. Please bear with us for the next 90 minutes or so as illumination returns to full power.

Ivor Hewitt
@ivor @ivor.org
Slightly blurry picture of a solar eclipse
Slightly blurry picture of a solar eclipse

Best I could manage - couldn't get telescope webcam working so... Hugo took a photo through the eyepiece! 🔭🌒👍
#eclipse

Old man yells at cloud - but I am the one yelling
Old man yells at cloud - but I am the one yelling

There's a solar eclipse.
The sun is exactly behind a single, big cloud.

#Eclipse #SolarEclipse

Stefano Marinelli - littleFedi
@stefano @littleone.littlefedi.social

Good morning!
I just deployed a new build live. It should resolve the Mastodon API login issue with certain apps. I personally tested it with IceCubes, Ivory, and Mona (though with Mona, it might fail initially, if you hit 'X', it asks if you want to continue with Safari - just select 'yes' to proceed, and it will work. I'll look into it later). It has not been tested with other apps at the moment.

I also merged a couple of optimisations for the PWA and improved the Web Interface, which now uses significantly less CPU. Thanks as always for your help!

#littleOne #littleFedi

Michael Jack
@mjack @bsd.cafe
Photo of Raspberry Pi Zero with Waveshare Ethernet/USB HAT
Photo of Raspberry Pi Zero with Waveshare Ethernet/USB HAT
Screen shot of 'fastfetch' output from FreeBSD 11.0 on a Raspberry Pi Zero
Screen shot of 'fastfetch' output from FreeBSD 11.0 on a Raspberry Pi Zero

Playtime!

NetBSD 11.0 on a Raspberry Pi Zero with a Waveshare Ethernet/USB HAT.

#NetBSD #RaspberryPi

Replying to @mjack@bsd.cafe

@mjack@bsd.cafe we will also provide the complete builds, so you won’t even need to compile it. More, there is a make target that will compile for all the platforms. It’s cross compiling by default.

Replying to @mjack@bsd.cafe
Michael Jack
@mjack @bsd.cafe

The plan is to run a littleFedi instance, once the dust settles.

1) First time running NetBSD on anything, and I only started using *BSD a year ago. Do I need to compile go from source?

2) My ISP needs to provide me with a modem that can run in bridge mode with a static IP. It seems they can only do one, or the other, but not both. Using LTE modem as backup.

3) littleFedi is not yet available (not complaining!)

#NetBSD #littleFedi

ploum
@ploum @mamot.fr

Am I the only Monkey Island fan who think that it would be awesome to have Ron Gilbert on @peertube ?

(Thimbleweed Park 1 was really awesome, I’m really happy that there will be a 2)

Ron Gilbert (GrumpyGamer)
@grumpygamer @mastodon.gamedev.place

Exclusive for Mastodon users: blog2.thimbleweedpark.com/podc

Replying to @rqm@exquisite.social

@rqm@exquisite.social we need more ai to create more bugs then we need more ai to catch the bugs.

/home/rqm
@rqm @exquisite.social

Hey on #OpenBSD we also had a #PatchTuesday.

4 patches for NPPPD and IKE altogether.

Sorry we are lagging behind the 570 patches #Windows needed this month, we keep trying to write bad code but it just won't come to the devs. Our numbers are pitiful and we must try harder. Maybe if we used AI the codebase would be buggy enough to catch up?

Load older posts