Local timeline
This morning, the heat is already rising. The day should be very intense, with the arrival of hot (but dry) wind (which should help), before returning to average temperatures for the period. In my study, the switch vents announce that we will sweat a lot. Ready for a nice sauna 😉
That’s the only part I hate of summer: mosquitoes
There’s a nasty mosquito flying around the room, desperately trying to bite us.
@kaveman@bsd.cafe Thank you! I like warm weather, so it's more bearable, but still it's a little too much.
Just had a shower.
Just started sweating again.
Yes, we're inside a heat wave. Again. 🥵
@EnigmaRotor@bsd.cafe @@stefano@rpi0w.stefanomarinelli.it that would surely kill the sd quite fast. You can set it to proxy only (inspired by snac), lazy caching (only cache at first access) and eager (cache and process as soon as the image is detected by the instance). Or nothing.
@EnigmaRotor@bsd.cafe @@stefano@rpi0w.stefanomarinelli.it sd card wearing can be a problem, but I am just showing it can run from there. Caching is in ram only (except media caching that I’ve clearly disabled here). The only thing that is writing is the SQLite db, so it depends on the instance’s load.
This can also use postgresql (local or external) and is supposed to scale up to powerful hardware, too.
@jana@social.jsteuernagel.de @@stefano@rpi0w.stefanomarinelli.it so same hardware. I can confirm it will run decently.
@jana@social.jsteuernagel.de @stefano@rpi0w.stefanomarinelli.it it surely is. The CPU is the same and I’m quite confident this can run with 128 MB ram. I’ll test it. The only ram spike is when uploading/processing images.
@richard@epn.life Great! The BSDs are different operating systems, not distributions, so you'll have a totally different experience when trying one or the other. So a lot of fun!
The littleFedi caching system is configurable and adaptable. Caching helps immensely, and for this very reason, you can choose to keep the cache "warm."
By default, if enabled (which makes a lot of sense on slow hardware), the system tracks user activity over the last n minutes (15 by default). For those minutes following the last interaction with the system, the cache will be kept warm.
Does a new post arrive in the timeline? It gets processed and cached, immediately (and partially) re-processing the timeline cache. The user will see it immediately in the timeline.
On a Raspberry Pi Zero W running NetBSD on an SD card, this means dropping the timeline generation time from about 5 seconds down to roughly 0.20 seconds.
After 15 minutes of inactivity from the user, the system will stop keeping the cache warm, reducing the CPU load to nearly zero (provided you aren't doing local processing of remote images, of course - which is also configurable). Upon the user's first visit, it will take a few extra seconds (cold cache), but from that moment on, everything will be almost instantaneous.
There's also a cache for the federation activities (a boost won't cause constant reprocessing of that post), but this isn't that different from other implementations' approach.
@kaixin@snac.bsd.cafe @stefano@rpi0w.stefanomarinelli.it thanks. The only problem is the lack of time. But I can do it 👍
@paculino@tech.lgbt @@stefano@rpi0w.stefanomarinelli.it it probably is. It’s in Go so I do t see a limit. I’m using 10 as it’s the one I had installed on that device
I don't know if I'll manage to do the screen recording today or if it will end up being tomorrow, but I'm still amazed at how it runs on the Raspberry Pi Zero W with NetBSD.
Tomorrow, I will make a video of how littleFedi runs on this Raspberry Pi Zero W powered by NetBSD.
Once the caches are warm, the performance is incredible.
@lorenzo@snac.bobadin.icu senza dubbio uno dei più completi e personalizzabili che ci siano in circolazione. Piace molto anche a me.