[-] koala@programming.dev 6 points 1 week ago

Well, it's more procedural than object-oriented because it's easier to avoid object-oriented programming than procedural code :D

(Note: I wouldn't call defining classes OOP until you start using inheritance. Overriding __str__ and stuff might count, but not a lot to me.)

Personally, as time goes on, I use inheritance less.

[-] koala@programming.dev 4 points 3 weeks ago

Nextcloud is in EPEL 10. You'll get updates along with the rest of the OS.

I have been using EPEL 9 Nextcloud for a good while and it's been a smooth experience.

If you want specifically Docker, I would not choose an EL10 distro, really. I have been test driving AlmaLinux 10 and it's pretty nice, but I would look elsewhere.

[-] koala@programming.dev 6 points 1 month ago

I switched to Emacs over two years ago because I was getting too comfortable in VS Code. If VS Code didn't have the "dodgy" stuff, I would recommend it to everyone without reservation.

Emacs has been a pleasant surprise. The latest versions have introduced Eglot (LSP), EditorConfig and a few other odds and ends that make it very close to being usable with very little configuration. My latest suggestion for getting started is JUST two lines of config, and I think you can scale easily.

I just wish Emacs had started from the outset with more common keybindings- it makes it hard to recommend because you need to make a significant investment. I think it's worthwhile, but still...

However, due to how it's evolving lately, I suspect it might become even easier to get started with time. If they rolled in to base Emacs automatic LSP installation, that would be huge, for instance.

[-] koala@programming.dev 6 points 1 month ago

I assume you basically want protection against disasters, but not high uptime.

(E.g. you likely can live with a week of unavailability if after a week you can recover the data.)

The key is about proper backups. For example, my Nextcloud server is running in a datacenter. Every night I replicate the data to a computer running at home. Every week I run a backup to a USB drive that I keep in a third location. Every month I run a backup to a USB drive on the computer I mentioned at home.

So I could lose two locations and still have my data.

There is much written about backup strategies, for example https://en.wikipedia.org/wiki/3-2-1_backup_rule ... Just start with your configuration, think what can go wrong and what would happen, and add redundancy until you are OK with the risks.

[-] koala@programming.dev 7 points 1 month ago

What volume of data you are discussing? How many physical nodes? Can you give a complete usage example of what you want to achieve?

In general, there's a steep change in making things distributed properly, and distributed systems are often designed for big and complex situations, so they "can afford" being big and complex too.

[-] koala@programming.dev 5 points 1 month ago

Running LanguageTool locally is a bit of a pain, with some manual steps. Plus you have to fetch some data files. You can find around a few projects like this one to make it easier to run LanguageTool.

And yes, as the poster mentioned, LanguageTool keeps some code exclusive to their paid version. There's a bit of a tension because they ask people not to extend OSS LanguageTool with their paid features.

There's also this interesting clone, but it seems abandoned.

[-] koala@programming.dev 14 points 2 months ago* (last edited 2 months ago)

I discovered Open Food Facts very recently. I was supersurprised because the mobile app is very neat, and I didn't expect there would be so many products (edit: in Spain). I've sent two contributions so far.

Also, you can download their database. If I had some time, I'd try to run some queries on it. (I'm on a low sodium diet and sometimes you find the most unexpected products with little salt, but it's time consuming.)

edit: also, I forgot, the app is on F-Droid, another nice touch.

[-] koala@programming.dev 5 points 2 months ago

I like to live on the edge of time and therefore have the feeling that debian based distros (although being very stable) are too “old” for my liking.

Nowadays, with Flatpaks, so many software providing binaries, etc. this does not matter so much. If you want, you can even use something like Distrobox to have containers for tools using whatever bleeding edge distro you want, but still have a solid stable underpinning.

Debian also has more stuff than you would expect in backports. The main sticking point is yes, you'll be stuck in Debian 12's KDE until 13 comes out. But that might be sufficient for you?

(You could also use Debian Testing, which is basically a rolling release. But I'd consider stable first.)

[-] koala@programming.dev 9 points 2 months ago* (last edited 2 months ago)

I keep everything documented, along with my infrastructure as code stuff. Briefly:

  • Nextcloud
  • Vaultwarden
  • Miniflux
  • My blog
  • Takahe (a multi-domain) ActivityPub server
  • My health tracker CRUD data entry
  • https://alexpdp7.github.io/selfhostwatch/
  • Grafana (for health stats and monitoring data from Nagios)
  • Nagios
  • FreeIPA/Ipsilon (SSO)

edit: plus a few things that do not have a web UI.

[-] koala@programming.dev 4 points 2 months ago

The next TrueNAS Scale can do LXC containers using Incus. It's similar to a VM, but more lightweight. You can create a container for any Linux distro and install Borg on that. With previous versions, I googled and found some instructions to run Borg in a container with SSH, or you could use a VM.

Borg also supports dummy SSH targets, that TrueNAS can provide. Apparently, it's lower performance-

Why the choice of TrueNAS Scale? For just a Borg target, you could run any Linux distribution.

[-] koala@programming.dev 4 points 2 months ago

YunoHost is very nice to run on a VPS (or a box at home, or anything). It has good email hosting support, and I feel people without systems administration experience could get it running and host a couple of apps for a group without too much trouble.

TrueNAS Scale has awesome NAS capabilities. ZFS is the bomb. Plus, they are integrating Incus, which I'm a huge fan of. I think it hits a sweet spot for people with systems administration experience. Just install it and you get great NAS capabilities, the option of running a K8S instance, LXC/VM capabilities, and some "app catalog" (I test drove that briefly and it looked decent, but I think less hands-free than Yunohost.). My pet peeve (and I understand why they do this) is that you need separate drives for the OS and for data, so if you want redundancy you need 4 drives- which is likely fine for home use, but I'd like to run TrueNAS Scale on a Hetzner dedicated server, and that increases costs a lot.

If your primary desire is to run a few apps and you want to minimize your learning/effort, I'd check out YunoHost. If you want to do more, but also invest more time, TrueNAS Scale is awesome.

[-] koala@programming.dev 8 points 2 months ago

I did some testing with it, because I believe more people should be able to self-host.

I like how it is implemented. It has good support for email. Many apps support SSO.

The critical part to me is how up-to-date applications are. I started a small project to automate version tracking, check out:

https://alexpdp7.github.io/selfhostwatch/app/nextcloud.html

; so for example, the YunoHost Nextcloud app does not lag much behind upstream. My intention with this is to let people see that they have been updating Nextcloud dilligently for two years; they might pull the plug tomorrow, but it's a good track record.

(I'd like to add scrapers to other projects similar to YunoHost. My ultimate goal would be to be able to choose a list of apps you'd like to self-host, and see which projects like YunoHost carry the applications you want, and compare how they track updates.)

7

First Lemmy post :D

I joined a new company a year ago. They had a very limited laptop choice, so I settled on an X12 tablet. (I lug my laptop frequently, so I wanted something light.) But then I discovered ctrl/fn switching is only doable via a Windows app. So I decided to try Windows again for a while.

But I grew increasingly frustrated with Windows (but reversed ctrl/fn frustrates more), so I started fiddling with capturing USB packets, and captured what the Windows software sends. But I failed to send the packets.

But then someone pinged me on the repo I had placed my captures in, that they'd written the program to send the packets.

Already too long story: I'm now a happy Linux user on the X12, posting the tool for more visibility.

view more: next ›

koala

joined 2 months ago