AUR. If it doesn’t exist on AUR (very unlikely, but happens sometimes), I make a package for it.
On non-arch distros, I often use LURE.
I fuck numbers.
AUR. If it doesn’t exist on AUR (very unlikely, but happens sometimes), I make a package for it.
On non-arch distros, I often use LURE.
Navidrome does that. I think you just used a bad frontend. Try Tempo if you’re using Android. Or Feishin on desktop.
I’ve been very happy with Navidrome. I have it accessible on a subdomain, so I can just use it from wherever I want. Feishin is a great frontend for Linux desktop, and Tempo is a great frontend for Android.
My friend uses Jellyfin instead of Navidrome, and he’s also happy with it. Both the frontends that I mentioned work with Jellyfin as well.
I’ve heard many people complain about DuckDNS. Personally use desec.io for DDNS and it’s been solid.
I prefer Office 365 online.
What I’ve realized in my (very limited) experience in selfhosting, it’s always best to use a general purpose server OS rather than anything geared to a specific usecase, unless that’s the only thing you’re gonna use it for. So, if you want a separate NAS drive, then it’s a good idea to use TrueNAS on it. But on your main server, it’ll be best to use some sort of RHEL downstream distro like AlmaLinux.
I also used to use Telegram for these, but have recently switched to ntfy.sh Would highly recommend.
That’s literally Megumin from KonoSuba lol. She’s supposed to be one of the strongest wizards around, but refuses to learn anything other than explosion magic. Explosion magic is basically useless in most situations, as it just flattens a huge area.
I use Syncthing and a bunch of rsync scripts to keep my machines in sync. The stuff I want synced continuously is handled by Syncthing. Other stuff is synced on a daily basis using the rsync scripts and anachron. For Photos, I use PhotoPrism. I simply sync the Photos from my smartphone to a folder and make PhotoPrism scan it on a regular basis using ofelia. For cameras, I need to copy the photos manually, but I don’t think there’s a way around that.
I do use Ventoy, but a more “traditional” alternative that I like is Popsicle. Super lightweight, and works very well. Some cases do require a dedicated USB, where Ventoy won’t work, at least not without trickery (e.g. anything with persistent storage).
Don’t mean to necrobump. But I have Syncthing GUI working over a very similar setup. Let me know if you still need help setting it up.
I haven’t really done much recursion in Python, but can’t we do a tail-recursive version so that it (almost) never reaches recursion depth issues?
You’re pretty much right on the money. In Haskell, a String
is a type synonym for [
, so we can use the list concatenation function ]++
to join strings. ++
is an infix function i.e. [3,4,5] = [1,2,3,3,4,5]
(which will be equivalent to doing ] ++ [(++) [1,2,3] [3,4,5]
by virtue of how infix functions work in Haskell). When we do (++ "a")
, we create a partially applied function. Now, we can supply another string to it and it will add "a"
at the end of it.
iterate f x
produces a lazily evaluated sequence [
. So, to get the nth entry, we can do ]wine !! n
where we use another infix function !!
. With partial application, we can modify the definition of wine
to create a function that takes an Int
n and spits out the nth entry of it by doing
wine = (!!) $ iterate (++" Is Not an Emulator") "WINE"
We needed to wrap the !!
inside parentheses because it’s an infix function. just changes the order of application. (IIRC, it’s the least significant function.) You can think that we’re wrapping whatever’s on the right of the
by parentheses. Now we can do
wine 2
instead of wine !! 2
to get "WINE Is Not an Emulator Is Not an Emulator"
.
I’m by no means a Haskell expert. (I’m not even a professional programmer lol.) So, if someone would like to add some more details, they’re more than welcome.
Edit: A much more readable version might be
wine 0 = "WINE"
wine n = wine (n-1) ++ " Is Not an Emulator"
Sorry, I should’ve specified, it’s in Haskell. Idk where you tried running it.
wine = iterate (++" Is Not an Emulator") "WINE"
The people involved with this bullshit should be sacked. Typical power-tripping idiots.
It’s a choice. We know that it’s riskier to use stuff from AUR. Which is why it’s highly recommended to read the PKGBUILD before installing the package. The basic Arch install doesn’t even include an AUR helper. That said, AUR is typically very reliable for packages with a decent userbase. It’s mostly due to the community aspect. Bad actors are caught relatively easily as the PKGBUILD is available to look at.
I dislike both. But since Google Docs is free, it’s easier to use everywhere and with all kinds of groups.
I only use my own installer scripts with LURE, so I’m not sure about the safety of the publicly available repos. But the project itself seems to be pretty solid and reliable.