• 0 Posts
  • 560 Comments
Joined 2 years ago
cake
Cake day: June 10th, 2023

help-circle

  • Will my ability to play games be significantly affected compared to Windows?

    Depends on what you play. As a general rule I would say that unless you like competitive multiplayer games you’re probably going to be fine. That being said the vast majority of games don’t support Linux natively so you need to use workarounds. Steam has a workaround built-in, so if most of your gaming is through Steam it should be an almost seamless transition (all you need to do is enable a checkbook in the settings). But like I said, it depends on what you play, I recommend you check out https://www.protondb.com/ and look for the games you play to see how they run on Linux.

    Can I mod games as freely and as easily as I do on Windows?

    Same answer as before, if the game runs okay then modding it would also work okay, but if not it might worsen an already bad situation. Also be very careful here, because when you run Windows games on Steam they’re sort of sandboxed, i.e. they’re running isolated from other stuff, so installing mods is not as straightforward as it would be on windows where binaries are installed globally. It’s not a big deal, but just the other day someone was complaining that they installed a launcher needed for a game and the game wasn’t finding it and this was the reason.

    If a program has no Linux version, is it unusable, or are there workarounds?

    As a general rune there’s a workaround, it’s called WINE (which is an acronym for WINE Is Not an Emulator) which is an “emulator” for Windows (except it’s not really an Emulator as the name implies). Then there are some apps built on top of that like Proton (which is what Steam has embebed) that include other libraries and fixes to help. It’s not perfect, but unless the program is actively trying to detect it or uses very obscure features on Windows it should work.

    Can Linux run programs that rely on frameworks like .NET or other Windows-specific libraries?

    Yes, you can use WINE like mentioned above to run Windows binaries that use .NET, but also .NET core is available for Linux.

    How do OS updates work in Linux? Is there a “Linux Update” program like what Windows has?

    Oh boy, this is the big one, this is the Major difference for m Windows to Linux. Linux has a thing called a package manager, ideally everything you install gets installed via that package manager. This means that everything gets updated together. And here’s the thing, we’re not talking OS only stuff, new version of the kernel (Linux)? New version of the drivers? New version of Firefox? New version of Spotify? All gets updated together when you update your system. This is crucial to the way Linux works, since it allows Linux to have only one copy of each library. For example, if you have 5 different programs that use the same library, in Windows you’ll have 5 copies of that same library, because each program needs their own in the specific version, but in Linux since they will all update together it’s easier to have just one library that gets updated together with the programs. This makes maintaining Linux a piece of pie in comparison, just one command or one click of a button and you’re all up to date with everything you have installed.

    How does digital security work on Linux? Is it more vulnerable due to being open source? Is there integrated antivirus software, or will I have to source that myself?

    As a general rule open source programs are more secure than their counterparts. Closed source programs always remind me of Burns going through several security measures, that sort of thing is imposible in open source because if everyone can see all of the security measures, so someone would notice the gaping hole in the back, whereas in closed source only attackers might have found it. Like cyber security experts say: Security by obscurity is not security. As for Antivirus you don’t need to worry, Linux is inherently more secure than Windows, and also has a small enough user base (most of whom are security experts) so the number of virus written for Linux is extremely small. Also because you should install stuff through a package manager it’s very difficult to get someone to download a bad binary since there’s lots of security in the package manager to prevent this sort of thing. In short almost every antivirus program for Linux checks your computer for Windows viruses to avoid being used to store or transmit viruses to Windows computers, so it’s completely pointless in your home machine (it’s used for example in email servers).

    Are GPU drivers reliable on Linux?

    Yes… But actually no. It depends, if you have a relatively modern AMD GPU (as in last 10 years) the answer is a resounding YES, AMD currently has wonderful Linux support and their cards work excellently with drivers being fully open source and integrated into the Linux Kernel. For Nvidia the story is unfortunately not as nice. Essentially there are 2 drivers available, nouveau (open source driver written by the community and purposefully hampered by Nvidia) and nvidia (closed source driver written by Nvidia that has gaping incompatibilities with Linux). Since you game your only option is nvidia, while nouveau is great for several reasons it can’t match the performance of the nvidia driver. For 99% of stuff the nvidia driver should work fine, but I haven’t had good luck with getting Wayland to run on it, which means you’re probably stuck in X11 (I know this doesn’t mean much to you, but in short it means that you’re somewhat limited in your choice for graphical interface and have to use stuff that people are trying to deprecate but can’t because of Nvidia)

    Can Linux (in the case of a misconfiguration or serious failure) potentially damage hardware?

    Technically yes, so can Windows by that matter. But realistically no, unless you’re writing your own kernel drivers you won’t be in any position to cause hardware damage.

    And also, what distro might be best for me?

    I would probably go with Mint, it’s beginner friendly and I’ve been recommending it for decades. One thing to bear in mind is that in your knowledge level the distro you choose won’t make that big of a difference, try to pick something beginner friendly and you should be fine, no need to overthink this.

    PS: some extra notes that you didn’t asked but I think are good to know:

    • Any Linux can look like any other, it’s just a matter of installing the right packages
    • You should keep your / and /home in separate partitions, this makes it possible for you to reinstall (or even change distros entirely) without losing your files and configuration. This is due to how Linux manages partitions, which in short is not like on Windows where you have a C and D drives but instead any folder can be a different partition or disk.
    • You can dual boot, i.e. have 2 OS and choose which one to use every time you turn on your computer.
    • You should probably install Linux on a virtual machine first to check it out safely. And do a backup before installing it on your computer just in case you make a mistake.



  • I tried Tandoor and Mealie. Currently I use Mealie because Tandoor crapped it’s pants on me and I lost everything I had there, Mealie is simpler and allows export/import to JSON or similar so I can keep a backup that can be converted into any other format I want to.

    That being said I don’t use the list feature, and we use Bring at home, so KitchenOwl mentioned here also seems like a good idea for lists and I might check it out.






  • I’ve worked with GUIs on python for a couple of years, we used PyQt, which is a python wrapper for Qt which is a C++ library for GUIs. It’s fairly straightforward and easy to get something up on the screen in no time.

    However from parts of your comment it seems you want to implement your own graphics library, and that is a lot harder to do.

    Also you mentioned legacy hardware, not sure how legacy it would be. Python should run on most things people would call legacy nowadays, but there’s definitely an overhead that could be felt if you’re trying to run this on an embebed system or a REALLY old (as in 90s/00s era) computer.

    You also mentioned mobile, I don’t think PyQt can be compiled to mobile easily, nor do I think you should even if you manage to (been there, done that, not a happy time). Desktop and Mobile GUIs are very different, realistically if you want something that works well on both mobile and desktop with the same codebase the easiest approach is web UI.


  • That base set is what’s the problem, I don’t think places sell that, they might either sell you an assembled keyboard, or the PCB and connectors for you to solder and add your controller, switches, key caps, etc.

    Honestly look for something preassembled in the form factor you want with hot swappable switches. For example my old keyboard was a RedDragon k530 with brown switches is an excellent 60% model that you can get with your preferred switches and if you want to change them in the future (I for example changed mine for some silent ones, plus added some padding and o-rings to make it extra quiet).

    If you want split ortholineal keyboards the Moonlander is a great choice, although I never got one because they’re too expensive and shipping is not great to Europe. Personally I quite enjoyed soldering my own crkbd kit, but I know it’s not for everyone.


  • Nibodhika@lemmy.worldtoSelfhosted@lemmy.worldHelp with domain
    link
    fedilink
    English
    arrow-up
    13
    ·
    edit-2
    26 days ago

    Lots of questions, let’s take it one step at a time. You have a domain, now you can point it to your public IP, so that whenever someone tries to access example.com they ask their DNS server and it replies with 10.172.172.172 (which btw is not a valid public IP). Now that request will hit your router, you need to configure your router to redirect ports 80 and 443 to 192.168.200.101, that way the request to example.com gets to your local machine.

    Ok, so now you need your local machine to reply on that port, I recommend using Caddy it’s very easy to setup, but NGIX is the more traditional approach. A simple Caddy config would look like:

    example.com {
        respond "Hello"
    }
    
    
    jellyfin.example.com {
        handle {
            reverse_proxy http://192.168.200.101:1020/
        }
    }
    

    So after the request reaches Caddy it will see that the person tried to access, example.com and respond with a “Hello”.

    If instead you had tried jellyfin.example.com the DNS would have sent you to 10.172.172.172, your router would send that to 192.168.200.101, Caddy would then send it to 192.168.200.101:1020, which is Jellyfin so that would get returned.

    There are some improvements that can be made, for example if both caddy and Jellyfin are docker you can share a network between them so Jellyfin is only exposed through caddy. Another possibly good idea is to add some authentication service like Authelia or Authentik to harden stuff a little bit. Also as you might have noticed Caddy can forward stuff to other computers, so you can have one machine on your network exposing multiple services on multiple machines.






  • Ok, so you said put together your own keyboard, that involves soldering. However it’s very likely you don’t need to.

    Finding which switches you like is a good first step, as a general rule I think there’s only 3 types of switches you should worry about, let’s call them Red, Brown and Blue since that’s the colors Cherry MX uses for them so they’re sort of the standard. Red are fully linear, i.e. they feel the same from start to bottom. Browns have a small bump midway through (when the switch activates). Blues are like Browns but they also make a click sound. Only choose colicky switches if you have a room for yourself, they can be VERY annoying to other people, be considerate. That being said it’s personal preference, I personally like Browns although I have used Reds and honestly I don’t feel that much of a difference.

    Next important is figuring out the size you want, do you plan on moving it a lot? If so a smaller form size might be better.

    Then there are some ergonomics, personally I love Split ortholinear keyboards, you can buy premade ones but for me it was cheaper to build one for myself, but I’m okay with soldering. That being said if you’re going to solder, I STRONGLY recommend you get a nice modern USB-C pen style soldering iron, I bought a cheap one from Amazon and it was very difficult to use, didn’t heated up properly and had a very large tip (the small one never got hot enough to melt the solder).




  • For backups I don’t think full disk backups are ever needed or useful. Because if the system is running there’s always a chance of corruption. Besides 90% of what’s on your system is recoverable, so you should automate that part and backup what is not recoverable, i.e. personal documents. I use Borg, check out Pika or Vorta for some GUIs for it, and I use Borgbase for my remote, but you can also backup to some folder.

    For the other two you need windows. Even if you managed to get vscode to compile and tested with wine, that’s not a guarantee that it will work on Windows. Same thing for excel, even if libre office had those features it’s not guaranteed that stuff that works there would work on excel.

    If you need windows for work you need to find a way to have windows available, trying to circumvent this would be a source of pain.