← Back to context

Comment by Modified3019

3 months ago

These days I find Linux and windows have a roughly equal amount of issues to deal with, and because I have decades of experience learning how to work through those issues, they are equally painful so I can happily choose Linux over windows.

What makes Linux especially painful to windows users is they basically need to relearn how to solve the same sort of problems they’ve forgotten they’ve been solving all the time in windows, but in Linux. Which makes the effort novel and thus especially noticeable.

Basically it takes accepting one is going to get smacked with fractal side quests of searching how to fix problems for a bit, but it does get better fairly quickly.

That's what I have been hearing. My biggest issue is, unlike most of you guys, I'm self taught and only program when I need to (so mostly c#, python, ruby on rails). C# isn't going to be much use to me on Linux.

But as long as I can continue my local hosted llm and playing around with that, and my son can play his games, I'll probably bite the bullet in a few weeks.

  • > C# isn't going to be much use to me on Linux.

    FYI I'm a C# dev and .NET works flawlessly on Linux (Fedora). Since I only used Rider/VS Code for my .NET Apps on Windows it works as just as good on Linux, albeit even better given access to better command-line tooling.

    I don't run any legacy .NET Framework Apps on Linux (which require Mono) but I'm still able to build our software for all our supported platforms: .NET Framework v4.7.2, .NET Standard 2.0, .NET 6.0, .NET 8.0 both locally and on our Ubuntu GitHub Actions Runner.

  • Best advice I can give, is every time you have to stop and solve some problem, make a .txt/.md file with your solution/links, and name the file with a bunch of keywords that let you use fsearch to look it up when you eventually need to solve that problem again. Future you will thank you.

    Here’s some projects you may find useful

    For playing around with dev projects, “Distrobox” is an easy way to manage mostly isolated environments, to keep your main system clean: https://github.com/89luca89/distrobox

    I use Nobara as my Desktop OS, which is a fedora/KDE based distribution by GloriousEggroll that’s a desktop first and foremost (unlike a console UI oriented distro like Bazzite). It includes a bunch of nice things and cutting edge (https://github.com/GloriousEggroll/proton-ge-custom) stuff out of the box so there’s less for me to set up with. Steam, and the few games I play on it just work like normal.

    For games from places Like GOG, Lutris works far more often than not. If I recall correctly, it’s literally just a matter of running the .exe

    Most of my other programs are installed as flatpacks, which I would recommend.

    Note that Nobara is not currently an immutable distro (like Bazzite). Like windows, you’ll likely want to reinstall it in a few years (or after some failed project) to start “fresh”.

    For my NAS boxes, I use Proxmox, which I guess is mostly Debian with a Ubuntu kernel and select packages kept more up to date and a built in web UI. Proxmox is nice because its kernel (even the opt in newer kernels that can be offered on the forums) is kept in sync with ZFS which I use for my archives. I disable High Availability, among other things. Useful links:

    https://free-pmx.org/guides/

    https://community-scripts.github.io/ProxmoxVE/

    Biggest gotcha with proxmox is if it seems to have lost internet access (like the webUI suddenly not working), your network device got changed/renamed due to a kernel update. You’ll need physical/KVM access to update the entry in /etc/network/interfaces with the new active network device name. Also if you install on a ZFS root, proxmox uses system-boot and silently ignores classic grub settings.

    • Distrobox is great until you decide that you want to access a flash drive or other local resources, and find out that you have to reinstall to add mounts to it. Not really suitable for long-term use (I was hoping to use it to replace chroots to run different OS)