The biggest memory hog on my server is ElasticSearch for Mastodon. I'm toying with an idea of a minimal REST-API-compatible replacement based on SQLite and FTS5 - basically expose/translate enough of the ES API for Mastodon/Chewy to be happy and dump raw JSON to FTS5 index. Preliminary results for my instance (ES->minisrch): RAM 1GB->130MB, on-disk 47MB->13MB.
Random fact: #Lua inspiring (small parts of) #Nim from the very start (at least since initial Github import): https://github.com/nim-lang/Nim/blob/405b86068e6a3d39970b9129ceec0a9108464b28/lib/dyncalls.nim#L42
Audacity 3.0.0 has been released https://www.audacityteam.org/audacity-3-0-0-released/ and they changed the storage format from "pile of files" to a single #SQLite database file, storing all the audio data. Nice! Great example of "SQLite as application file format" https://sqlite.org/appfileformat.html
Some #Nextcloud experience. I got notification that my instance is reaching end-of-support. Went to the Docker directory, `$ docker-compose build && docker-compose up`. Oopsie, I just jumped two versions (18->20, skipped 19) since I use 'stable' tag haven't done this in some time. Can't roll forward, since jumping 2+ versions is unsupported. Can't roll back, since it's unsupported. WTF? Resolved this by deleting version.php and re-running v18 and continuing from there. Fortunately no data loss.
One small #SQLite observation: I was storing a lot of large blobs (kilobytes) in DB, I thought the default 4K page size would lead to a lot of overhead. So I set the page size to 64k. Oh was I wrong:
> PRAGMA page_size=4096;
> VACUUM INTO "/tmp/c4k.db";
> PRAGMA page_size=65536;
> VACUUM INTO "/tmp/c64k.db";
$ ls -lh /tmp/c*db
- 4k: 124MiB
- 64k: 148MiB
I guess larger page size also leads to larger fragmentation.
Actually owning your hardware is nice. I just fixed fan noise on my #thinkpad by disassembling and cleaning up the fan assembly and dropping a bit of machine oil into the "axle" of the fan. No more noise at low RPM. That thing did not even originally have thermal paste on the "integrated" gpu die! #repair
What a nice way of explaining the motivation and process of coming up with a new library that surpasses the one provided with #golang: https://tailscale.com/blog/netaddr-new-ip-type-for-go/
It's been more than a year that I'm thinking of building a new computer. But given the current situation, I decided to do a bit of maintenance on my 6y old computer instead (clean up, replace thermal paste). After all, the trusty Skylake i5 6600K is more than capable for everything I throw at it, it has been running stable all this time overclocked 3.5->4.3GHz, and it's 14nm like most current Intel chips 😁
Today I finally got to updating my oldie VPS from Debian Jessie -> Stretch -> Buster. It was pretty smooth (while ! there yet; do change /etc/apt/sources.list; apt update; apt upgrade; apt dist-upgrade; done). I should be set until 2024 😄 the only hickup was with the firewall and Buster migrating to iptables-nft. After lots of attempts I gave up, searched the internets and a quick update-alternatives to iptables-legacy it's working again.
@FreeCAD Hello, any recommended tutorials/guides for those with minimal/no prior experience? I tried to model a "portable speaker box" to dimensions, but after 30 min I gave up ("I just need a simple box and carve some round holes, it can't be that hard!"). I got lost in the UI since I did not know any of the keywords/modes/procedures.
Meanwhile I'm spending second day reinstalling a relative's Windows laptop. The eternal update + restart cycle is not done yet.