• 85 Posts
  • 1.36K Comments
Joined 2 years ago
cake
Cake day: June 15th, 2023

help-circle

  • If you want to do a Bash like management and programming, that is not dramatically different but fixes some irritations, then Fish is an alternative. Obviously it will not fix all issues, but there is no paradigm shift in handling streams. nushell is dramatically different and at that point, I would rather use a programming language to do the stuff. Speaking of programming language, there is also Xonsh (basically Python+Bash like combination as a system shell).

    All these alternatives have a singular big flaw to me: they are not the standard tools on the system, which defeats the purpose of a system shell to me. In the end, without changing the core system that these shells are built on, I don’t think its possible to make a really well made language that interoperates on system level like a shell does at the moment.

    That’s the reason why I got a bit more into Bash to understand some flaws, to understand how to use regexes inside Bash and variable substitutions and a few other concepts that are very useful to know. But man… there are so many traps… like looping over a wildcard for files (such as for file in *.txt) and if the wildcard does not match, then the loop consists of the wildcard as a literal word as if “*.txt” was a filename. What a stupid idea. There is an option to change that, but that’s the issue. The language is filled with traps and optional options and you have to know all of them.

    Edit: Added example code why default behavior sucks:

    $ for file in *.ABCD; do echo "${file}"; done
    *.ABCD
    shopt -s nullglob
    $ for file in *.ABCD; do echo "${file}"; done
    


  • The quoted image does not say so, they do not say the native packaging from your distribution is borderline unusable. That judgement was added by YOU. The devs just state the package on Archlinux is not officially supported, without making a judgement (at least in the quoted image).

    As for the Fedora issue, that is a completely different thing. That is also Flatpak, so its not the package format itself the issue. Fedora did package the application in Flatpak their own way and presented it as the official product. That is a complete different issue! That has nothing to do with Archlinux packaging their own native format. Archlinux never said or presented it as the official package either and it does not look like the official Flatpak version.

    So where does the developers say that anything that is not their official Flatpak package is “borderline unusable”?


  • And then there is software like OBS, which is known for being borderline unusable when not using the only officially supported way to use it on Linux outside of Ubuntu – which is Flatpak.

    But why is that? I mean just because it is packaged by someone else does not mean its unusable. So its not the package formats issue, but your distribution packaging it wrong. Right? In installed the Flatpak version, because they developers recommended it to me. I’m not sure why the Archlinux package should be unusable (and I don’t want to mess around with it, because I don’t know what part is unusable).


  • Those mystical average people would probably stay on Windows, if they don’t care or cannot learn basics of other systems. Its really not hard to explain and understand, even for “average person” that there is an universal source for applications and there are packages designed and managed by your operating system. I think its important for people to learn basics and we should teach them, not dumb them down like on Windows. Soon people won’t be able to eat themselves anymore…


  • Flatpak have their own set of issues. One thing is, that Flatpak applications do not integrate that easily and perfect like a native package. Either rights are to given, you need to know what rights are needed and how to set it up. Theming can be an issue, because it uses its own libraries in the Flatpak eco system instead your current distributions theme and desktop environment.

    But on the other hand, they have actually a permission system and are a little bit sandbox compared to normal applications. Packages often are distributed quickly and are up to date directly from the developers, and usually are not installed with root rights.

    I’m pretty much a CLI guy as well and prefer native packages (Arch based, plus the AUR). But I also use Flatpaks for various reasons, alongside with AppImages.


  • Beyond raw horsepower, 7-Zip quietly tightens its handling of several legacy formats. Support for ZIP, CcPIO, and FAT archives has been refined, smoothing edge-case extractions that previously required third-party tools.

    Over the years there was a few .zip archives that 7z could not handle for whatever reason. For these cases I had to use another application, but don’t know the reason. And my bad to not keeping copies of these files for future testing.


  • That’s not entirely true. Because even if you buy a strong PC, you have to make choices, depending on the game. It’s just the fps and settings we are talking about are higher floor. In example on PC people can enable RayTracing, which tanks the fps a lot. Do you go for 120 fps or 60 or maybe lower fps with higher fidelity and RayTracing in example.

    So the question to answer is still the same, its just on PC we have a bit more individual choices to make.

    Edit (added): Most people don’t have the strongest PC anyway. Look at the Steam hardware survery, most have common graphics cards like the 4060 in example. Or look at handheld PCs and laptops, with fixed hardware. And as said, even in high end with lots of money people need to make cuts in fidelity or performance; just on a higher level in that case. So your question applies to PC as well.


  • I think this question also applies to PC. Why? Because we are limited too. I try to reach 120 fps and consider it performance mode when dialing back quality settings, and enabling upscaling to reach that. If not, 90 fps is also pretty good. For certain games, 60 fps feels like what you describe of 30, but that does not apply to all games. There are single player rpgs played with a gamepad, that I would even consider playing at 30 fps if there is no other option. The problem is, games are not designed to be played with that low fps, as the input latency increases.

    I’ll compare this to the Switch, playing Zelda (emulated with Yuzu). Breath of the Wild on original Switch is designed to be played at 30 fps. Playing it on my PC like that felt like a slideshow, but one can get used to it. If I didn’t had the 60 fps patch, it would still be fine at 30. The next game in the series, Tiers of the Kingdom, was not stable at 60, so I was “forced” to play at 30. And after some time playing it felt pretty good and not upsetting like in the first few minutes.

    What I mean by that is, performance mode if possible, I would sacrifice quality. But not too much, because at some point the image looks really bad.





  • You don’t need to understand a command in order to copy paste an alias or Bash function. Especially newcomers could tend to do it, without knowing what the command actually does. We are also in a posting with helpful commands, so its double harmful. And you doubling down without adding any sort of disclaimer shows you don’t care.



  • Here is on that I actually don’t use, but want to use it in scripts. It is meant to be used by piping it. It’s simple branch with user interaction. I don’t even know if there is a standard program doing exactly that already.

    # usage: yesno [prompt]
    # example:
    #   yesno && echo yes
    #   yesno Continue? && echo yes || echo no
    yesno() {
        local prompt
        local answer
        if [[ "${#}" -gt 0 ]]; then
            prompt="${*} "
        fi
        read -rp "${prompt}[y/n]: " answer
        case "${answer}" in
        [Yy0]*) return 0 ;;
        [Nn1]*) return 1 ;;
        *) return 2 ;;
        esac
    }
    

  • For the newer version of program, that’s why we have the $PATH. You put your program into one of the directories that is in your $PATH variable, then you can access your script or program from any of these like a regular program. Check the directories with echo "$PATH" | tr ':' '\n'

    My custom scripts and programs directory is “~/.local/bin”, but it has to be in the $PATH variable too. Every program and script i put there can be run like any other program. You don’t even need an alias for this specific program in example.


  • I’m not sure what you mean with the question. If you have any alias like alias rm='ls -l' in your .bashrc in example, then you cannot use the original command rm anymore, as it is aliased to something else. I’m speaking about the terminal, when you enter the command. However, if you put a backslash in front of it like \rm in the terminal, then the alias for it is ignored and the original command is executed instead.

    Edit: Made a more clear alias example.




  • i also have the chmod one, but mine is named just x:

    alias x='chmod +x'
    

    I also have the yt-dlp "$(wl-paste)" one, but its build around a custom script. So sharing it here makes no sense. Its funny how often we do same thing in different ways (extracting or creating archives in example). Often aliases get development into function and then they turn into scripts. For some of the more simple aliases, here a selection:

    alias f='fastfetch -l none'
    alias vim='nvim'
    alias baloo='balooctl6'