I seem to be on am ever changing journey with cloud and my local machines. I've moved on from Syncthing to Seafile as Syncthing was eating resources on lower power and battery powered devices, like the Raspberry Pi 5 and my MacBook Air M3. The Pi was struggling just a little, and the MacBook's battery wasn't quite what it used to be. So I moved on to Seafile, as I heard it was quite high performance, written in C and Go. Versus Nextcloud - PHP and MySQL. With my projects having large dependencies (eg NodeJS and Python Pip) I didn't want to go back to Nextcloud in case it was even worse than Syncthing.
Seafile fell over too..
Sadly, Seafile also struggled. This lead me to looking into anything else, including paid solutions like pCloud, OneDrive, Google Drive. But, looking into my research, I found that I may well end up with similar issues with them - too many files (transparent or soft file limits). So, I had the creative idea to try self hosting an S3-compatible Blob storage on my Raspberry Pi. This is highly scalable. I set up Garage on my Raspberry Pi, and syncing with rclone on Linux and Mountain Duck on macOS. I quickly realised that there was no clear way to see if files had actually been uploaded to the server. So, being in an AI tinkering phase, I made a simple Python system tray program that monitored the rsync process, which only worked so well. It didn't really show process as clearly as I'd hoped. Plus, as I was talking it out to a friend at the office,
I realised, oh what if I just cleaned up my project dependency files? I did some searching, only found some basic tools for cleaing up storage. I recall a program I head about, when I was working at the last Big Job. Kondo https://github.com/tbillington/kondo which you can just run in each project directory and it will clean up all non-project files eg node_modules, .venv and Rust stuff. It's a great tool, but you have to run it manually in each directory. I have a few projects, that would be quite tedious. I thought I could write a script (with my AI assistance) but that's just more messing around.
I then stumbled on Mole https://github.com/tw93/mole a Mac-only file cleaner app which does what I want - goes through the entire Mac and cleans up temporary files, including source code related temporary files. I've used that and it's great - saved so much more space on top of Kondo. Now, I am quite capable of using Seafile to sync my current projects directory.
RAM - Power User Dilemma
At the same time, I have been noticing that my very nice MacBook Air M3 with 16GB of RAM and 1TB of storage, has been quite slow. Digging into Activity Monitor, it often showed moderate memory pressure, and a fair amount of swap usage. I thought, oh, guess that means time to get a new MacBook. And yes, it would be nice, but spending another $2800 for a new machine is a bit daunting in between major work clients. Again, I did some research into memory management, some tips I learned was to move programs like Discord and Element into the browser. I use Zen browser these days, which is great as I can set up a separate "space" for communications related pages. On top of that, I discovered Memory Clean https://fiplab.com/apps/memory-clean-for-mac# which is a very simple but very effective tool for managing RAM. It does something to clean up background processes, and shows processes with the most RAM usage (no surprise, Zen and Thunderbird). So now, after those simple two strategies, my Mac now has much more free RAM on average. Much less need to buy a new MacBook now! But, for sure at some point I hope..
Problem solved!
With Kondo and Mole, I can clear a lot of unnecessary files, making Seafile run much better. And with moving Discord and Matrix to the browser, and using Memory Clean 2 from FIPLAB, my Mac feels and runs much closer to a new machine. Also, another tip for Zen users, there is a Zen mod called "Ghost Tabs" which lets you visualise which tabs have been unloaded to save more RAM.
Page views: 252