Local timeline
Preparing the herbal tea. A daily, relaxing ritual
Too many emails.
Too many calls.
Too many ideas.
"Let's go out for a walk. No matter if it's hot. Let's go."
6 kms later, I'm here, again. Replying to the e-mails. Ready for the calls. Planning the ideas.
@EnigmaRotor@bsd.cafe exactly. Mastodon doesn't support writing in markdown, only rendering it. Some of the forks do it, anyway (like glitch, etc)
@cobweb@corteximplant.com thank you! It was easier than expected and yes, I think I'll write about it in my blog 😉
Today I successfully tested a migration from my 'historic' Akkoma instance to littleFedi, without changing the domain name and without breaking the federation.
The procedure involves extracting the keys, so federated instances will accept this without any issues. In their eyes, there will be no particular differences, and they will gladly digest it without breaking the federation.
I have documented the procedure and kept the tool. I'm probably going to create something similar for Mastodon, though it will be a bit more complex.
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.