• 2 Posts
  • 22 Comments
Joined 1 year ago
cake
Cake day: June 15th, 2023

help-circle

  • A lot of people here seem to think that Java code is awful and disgusting and no projects should ever use it. The thing about popular languages is that more code existing in a language inevitably means a lot of it ends up being bad. The same thing will likely happen to rust as it gets popular, but that isn’t exactly a problem. It’s possible to have a well-maintained Java codebase.

    Debate between functionality of the actual programming languages at this point is pretty meaningless, if they have good development standards then a Java program could end up just as well maintained as rust. Any time saved by compiler enforcement of specific standards (like no using null) would be lost by the fact that the devs don’t know rust tooling. You could just have a requirement in PRs that null isn’t used. Both Java and Rust have usable frameworks for REST API development, so using one or the other comes down to familiarity.

    The idea that programming languages make code suddenly good or bad is pretty silly. Different languages have different language-level guarantees which can help produce good or working code. That being said, it’s not like it’s impossible to write good Java code, just like it’s not impossible to write bad rust code. Most people seem to be conflating guaranteed functionality and safety with maintainability, stability, and readability. Rust is still a new language, so although it’s great, Java will probably be the better choice for the latter 3 qualities.

    That being said, something like Kotlin would probably have been a better starting point since it can interact with Java (and works like Java in most cases) but also has some nice improvements like stricter null checking (Kotlin nulls are treated similarly to rust’s Option<T>, it’s just described as T? instead and the syntax is generally a lot more concise). There’s also the benefit of being able to write some code in Kotlin and some in Java since they are mostly cross-compatible.







  • Odd examples to pick, Horizon Forbidden West and God of War Ragnarok were both delayed and the first original Mario platformer for the switch came out in 2017 (Odyssey - if you think 3d Mario games aren’t platformers you haven’t played them). Nintendo has also been releasing tons of other games as well so it’s not like they’ve been doing nothing.

    Also, to be fair, When you have a platform with 10 times the total sales (Wii U sold ~14m, the switch is at ~130m right now) it makes sense to port over the good games from the console no one owned. Mario Kart 8 deluxe, a game originally from the Wii U, has sold ~55m copies, which is about 4 times what the entire Wii U console sold. There’s a reason they kept doing it, and it’s because most of the Wii U titles were good games that people will enjoy which released on a dead platform.

    If you’re going to criticize Nintendo, criticize actually valid things like the scummy price increases on the ports (not just the ports’ existence), the poor online system that costs up to $50 per year per account, and a legal team who goes after anyone doing anything that isn’t directly playing the game. To be clear, a Microsoft buyout probably wouldn’t change any of those things because it’s making them money. Look no further than American companies like Disney largely using the same strategies Nintendo does. Microsoft is no different.



  • Depending on something isn’t necessarily tied to how many alternatives there are.

    For example: I use a heavily configured qtile setup on my desktop. I’m depending on that setup working every time I turn my computer on. Sure, I could switch to i3 or sway or Hyprland, but that would take a considerable amount of time and effort. In this case, I’m depending on qtile working for me, so I can get work done instead of messing with a bunch of config files. The only time this wouldn’t happen is when one solution can be a completely (or almost completely) drop-in replacement for the other, e.g. how sway claims to be with i3.

    This is especially true with tiling window managers, where people spend many hours configuring setups to behave how they want. Moving to a different alternative isn’t exactly simple.

    To your point about FOSS: chrome and android may not be FOSS, but as much as I dislike it AOSP and Chromium definitely are, even if Google controls the repos for both. Your definition is a slippery slope because by that definition software like Ubuntu, Manjaro, etc. also aren’t FOSS because the repos are controlled by a single company.

    To your last point: telling someone else they shouldn’t use a piece of code for the same reason you don’t is also perfectly valid. It’s not like it’s an order, they don’t have to follow it. People can choose to agree or disagree with you if they want. Ultimately, the decision to install software in Linux lies with the user, and the most any online opinion can do is give a persuading or dissuading argument. Just like I could say, “don’t use this software, it’s built on some old deprecated library that will probably break in a month”, I could also say “don’t use this software, the main dev is a bad person because xyz…” and it would still be up to the user to make a decision. If you don’t mind disagreeing with the author of software you use, that’s fine, but not everyone is like that, and that’s also fine.


  • The developer doesn’t owe us anything, but if they’re creating an online community like Discord there are inherent responsibilities that come with that. If they don’t want to moderate, then they shouldn’t create a Discord/Matrix/Whatever server.

    Just like how even if the developer doesn’t owe us anything, that doesn’t mean it’s fine for them to push malware as an update to their previously fine code after they’ve established trust.


  • You’re still giving them a platform by installing their code though?

    If you use software coming from someone you inherently disagree with, especially a desktop environment/compositor, you depend on that person for your computer’s day-to-day functionality. Isn’t one of the key points of the FOSS community that we disagree with large controlling companies like Google and Microsoft? That, even when they make FOSS contributions, it should be taken with a huge grain of salt?

    Imo, this is the exact same thing. Even if it’s good software, not wanting to rely on code from someone you don’t agree with or trust (even if those concerns are unrelated to the given codebase) is completely reasonable and valid





  • But most of the comments on this post really aren’t elitist. Most desktop tools are made by volunteers (with the exception of SUSE, Canonical, Red Hat, etc. who mostly deal with running on servers) and those volunteers only have so much time to work on projects. If they don’t have time/knowledge to build GUIs when the terminal is “good enough” for their use cases, why should they?

    If someone else needs the GUI, they can develop a frontend separately (which also gives people the choice of being able to cut down on software they don’t need if they only use the terminal interface)

    Personally, my take on this is that Linux isn’t mainstream for a reason. Windows/macOS still exist and (privacy concerns aside) function well. It would be amazing if Linux could become more beginner friendly, but let’s not try to act like desktop Linux developers who are already giving up their time owe it to us to do even more.




  • I’ve been using arch-based distros on multiple systems for the about 5 years now. I never read release notes, and have also never had any system-breaking updates. Occasionally I get problems with AUR packages but they usually solve themselves by doing a clean-build, reinstall, or just by waiting a day for a dependency to update. In the rare case that none of those work, there’s usually a message on the AUR package page providing an exact fix. I usually just run “yay -Syu” once a day, recently I’ve been doing it once per week and still haven’t had any real problems with it.


  • I’ve been using EndeavourOS for about 1.5 years on my laptop and about a year on my desktop. I’ve been using it as arch but pre-configured. I believe EndeavourOS uses the same repositories as stock Arch, with an extra EndeavourOS repo added for theming and some convenience tools they use.

    The UI might not be as easy as Manjaro (I don’t think they pre-install a GUI for pacman/yay, but it isn’t hard to install one like pamac). Other than that if you use a desktop like Gnome or KDE and install a pacman frontend you probably won’t need to interact with the terminal more than you want. Honestly I think EndeavourOS is a great place to start if you want to learn more about Linux without having to spend the time configuring your system from scratch.