• 0 Posts
  • 156 Comments
Joined 1 year ago
cake
Cake day: July 18th, 2023

help-circle
rss






  • Para_lyzedtoLinux@lemmy.mlProton Pass for Linux
    link
    fedilink
    1
    edit-2
    17 days ago

    It really depends on the individual case. There are many CS professions where the title “engineer” or “scientist” is incredibly accurate. I believe that is a minority of course, and further depends on how broad your definition of “cs people” is. There are specialties within the incredibly broad field of computer science that require education in classical engineering, as well as specialties that focus on research and experimentation with the scientific method.


  • Hm, it could be a new issue then. I’m not seeing it on the Bazzite issues page, perhaps you should open a new issue on it here, and provide your hardware specs. At the very least, you could see if this issue is reproducible on other installs, and someone there could help to obtain more useful debug info to determine the actual problem. You could also report it on the Mozilla Bugzilla page, as chances are this is a Firefox issue and not a Bazzite issue, but I admit that the interface for bug reports is less intuitive for non-developers there. Bazzite devs would likely direct you to there first anyway though.

    All I can really say myself is that I don’t experience this on Fedora Atomic KDE 40.20240607 with Mullvad Browser or the Firefox flatpak. I suspect it is either a hardware/config issue (on fresh install, I’d say a config issue is a distro issue if you haven’t changed anything), or that this is Bazzite specific and not present in upstream Fedora Atomic. Regardless, it’s a good idea to report this so that other users don’t experience the same bug



  • Is it? I was looking a few months ago at Nix support in Fedora Atomic (which Bazzite is based on), and it required some minor hacks to get the /nix folder and Nix itself working properly with rpm-ostree distros, as root is otherwise immutable. Plus, Nix isn’t available by default in the Fedora repos it seems. I believe it required something along the lines of making a /var/nix folder and symlinking it, but I believe you’d also have to work around SELinux contexts on the folder and symlink. I’ve heard of people even having issues after that, so I wouldn’t consider it “official” support. Here’s an open issue thread about it


  • Is this new, or has it been happening for a few days/weeks? I’m on Fedora Atomic (which Bazzite is based on) and have never experienced this (though I mostly use Mullvad browser, a fork of Firefox). I tried Bazzite a few weeks ago and also never experienced this with the Firefox flatpak. If it’s been happening for awhile, it may be hardware-specific or a config thing. Out of curiosity (just to get a 1:1 comparison), do you experience the same thing with the Mullvad browser flatpak?




  • While I don’t particularly agree with the sentiment, those in the field of Computer Science could be argued to be “scientists”, though often not in the classical sense. As a Computer Science major myself, I would never consider myself a “scientist” in the classical definition of the term. Those involved in actual research, yes, though that does not describe me despite the title of my Bachelor’s. I would consider those involved in the theoretical side of Computer Science to be more akin to mathematicians, as most of the theory is based in mathematical proofs and models (take for instance the field describing formal computational models as a means to defining how computers operate, and how effective specific algorithms are in that context). Though I could understand the argument that those involved heavily in the theoretical side of Computer Science may be considered scientists, given their similarity to theoretical physicists. In that sense, there is also active experimentation to test hypotheses about algorithmic runtime. It’s a fascinating niche of Computer Science that I studied briefly in university, but likely will not be pursuing in the future.

    Generally those involved with active development of commercial software don’t fit into that category, though. It’s very much a question of semantics.


  • Then I don’t really understand the issue here. It’s syntactically similar to C++ with the benefits of being memory safe. It’s a different language, so there are different conventions and some different syntax of course, but that’s to be said about any 2 languages; they are always different in some ways. I don’t see a reason to complain about the aesthetic value of a language you don’t know how to use, especially when it’s similar to one that you seem to be using regularly.



  • Oh, that should be no worry. You can always do a clean install of one distro over another. Just make sure in the setup that when you select your data partitions on your other drives that you don’t remake the partitions (at that would delete them). You’ll also have to deal with differences in config files in your home directory since there is variance between Nobara and Bazzite. You can just grab the ISO and install normally, deleting the Nobara partitions.



  • Hey, I wrote a script for you since this was a really simple operation. I have 2 versions depending on what you want them to do.

    I recommend that you make a test folder with a bunch of test directories and subdirectories to make sure this works as expected on your machine.

    The first will only rename folders with a depth of 1 (meaning it won’t rename subdirectories). This is for if you want to control which specific directories you run this on.

    Non-subdirectory version

    #!/bin/bash
    
    find . -maxdepth 1 -type d -name "_*" | while read FOLDER; do
        newfolder="$(echo ${FOLDER} | sed -e 's/^\.\/___/a/' | sed -e 's/^\.\/__/b/' | sed -e 's/^\.\/_/c/')" ;
        mv "${FOLDER}" "${newfolder}" ;
    done
    

    The second renames all folders including subdirectories (it goes 1 layer deeper at a time). So if you want to just run this from your home directory (or wherever the drive you want to run it on is mounted), you can run it once and be done with it. It only goes 100 folders deep, but you can modify that by changing the {2..100} to another range, like {2..500} for 500 folders deep. Running more layers deep increases runtime, so I assumed you wouldn’t have more than 100 layers of folders, but if you do you can adjust it.

    Subdirectory version

    #!/bin/bash
    
    find . -maxdepth 1 -type d -name "_*" | while read FOLDER; do
        newfolder="$(echo ${FOLDER} | sed -e 's/^\.\/___/a/' | sed -e 's/^\.\/__/b/' | sed -e 's/^\.\/_/c/')" ;
        mv "${FOLDER}" "${newfolder}" ;
    done
    
    for i in {2..100};
    do
        find . -mindepth $i -maxdepth $i -type d -name "_*" | while read FOLDER; do
            newfolder="$(echo ${FOLDER} | sed -e 's/\/___/\/a/' | sed -e 's/\/__/\/b/' | sed -e 's/\/_/\/c/')" ;
            mv "${FOLDER}" "${newfolder}" ;
        done
    done
    

    I assume that you at most have 3 underscores preceding a folder name. If that is not the case, you can modify the script as following.

    If you have more, copy one | sed 's/.../' part for each find section up to the next | symbol (there is only 1 find section for the no subdirectory version and 2 find sections for the subdirectory version) and paste it before or after the others. If you are using the subdirectory version, make sure you copy the corresponding version of the sed command because they differ (the first one containes “^.” that the second one doesn’t)! On your new pasted copy, add an underscore to the part of the text you pasted that has underscores. Then for each of the other sed blocks, change the letter they are replaced with to match.

    Here is an example with 4 max underscores on the subdirectory script:

    #!/bin/bash
    
    find . -maxdepth 1 -type d -name "_*" | while read FOLDER; do
        newfolder="$(echo ${FOLDER} | sed -e 's/^\.\/____/a/' | sed -e 's/^\.\/___/b/' | sed -e 's/^\.\/__/c/' | sed -e 's/^\.\/_/d/')" ;
        mv "${FOLDER}" "${newfolder}" ;
    done
    
    for i in {2..100};
    do
        find . -mindepth $i -maxdepth $i -type d -name "_*" | while read FOLDER; do
            newfolder="$(echo ${FOLDER} | sed -e 's/\/____/\/a/' | sed -e 's/\/___/\/b/' | sed -e 's/\/__/\/c/' | sed -e 's/\/_/\/d/')" ;
            mv "${FOLDER}" "${newfolder}" ;
        done
    done
    

    If you have fewer than 3 max underscores, you just delete the relevant sed parts and update the letters.

    You can also let me know how you want if modified and I can do it for you if you’d like.

    Using the subdirectory version

    If you want to use the one that works on subdirectories, create a text file renamesubdirectories.sh in the folder you want it to start from, and paste in the subdirectory script into that file with whatever text editor you prefer. You can then modify the script if necessary.

    I’m going to try to give GUI instructions, but I haven’t used Nemo in a long time, so I’ve also provided terminal instructions in case those don’t work.

    Nemo

    Navigate to the folder you want to start from in Nemo. Copy or move the renamesubdirectories.sh file into this folder (or create the file here if you haven’t done so already, and paste in the subdirectory script, modifying if necessary). Right click on the file and open its properties/permissions (maybe details? Can’t remember exactly what the option is called). Find the setting to adjust permissions of the file, and allow it to be executed as a program/mark it executable, whatever adding the executable permission is called in Nemo. Now you can exit the permissions/properties/details window, and right click the file and run. After a few seconds, refresh (F5 usually). You should now be done and can delete the file.

    Terminal

    Navigate to the folder you want to start from, and right click > Open in terminal (I believe Nemo has that option, but it’s been awhile; let me know if not, and I can explain now to navigate there from terminal). Now make the file executable with chmod +x renameunderscores.sh. Run it with ./renameunderscores.sh. Once the next line prints (with your username, hostname, and directory), the command is done and you can exit the terminal and delete the file.

    Using the non-subdirectory version

    This will require you to either move the script every time you want to run it, or installing it locally and using the terminal (which is easier). I will explain the terminal version only for this, as moving the script every time you want to use it is very tedious.

    Again, create the renamesubdirectories.sh file using the text editor of your choice, and modify as necessary. Then create a folder called bin in your home folder (this should automatically be in your path) and copy or move the renamesubdirectories.sh file into that folder. Then (in the bin folder) right click and open in terminal in Nemo, or just open a terminal from applications and navigate to the folder with cd ~/bin. Now make the file executable with chmod +x renameunderscores.sh.

    You should now be able to navigate to any folder you want, then right click open in terminal, and run the command renameunderscores.sh. Once you are finished, you can delete the bin folder.


  • This is not very common knowledge, but it is no longer recommended to press S or U before B for SysRq. The official documentation of sysrq has stopped recommending this practice, as it may be harmful to modern filesystems. Writing to a storage device while the kernel is in a bad state has the potential to cause corruption, and modern journaling filesystems like EXT4 and BTRFS are designed to survive crashes like this with minimal (or no) corruption. Instead, you’ll likely want to use Alt+SysRq+REIB (and make sure you are waiting multiple seconds between each keypress, as they do not complete instantly!).

    You may instead try to kill the most memory intensive non-vital process with Alt+SysRq+RF, which may stop you from crashing to begin with (this works especially well for memory leaks). SysRq+F will invoke the oom (out of memory) killer, which will kill the most memory intensive non-vital process without causing a kernel panic.

    If you need to restart, the most ideal situation is to enter a TTY and cleanly reboot, in which case you can do Alt+SysRq+R to grab control from the display manager, then Ctl+Alt+F3 or Ctl+Alt+F4 (I believe most distros have the first login session run on the TTY accessible from Ctl+Alt+F2) to switch to another TTY. You can then log in and do sudo systemctl reboot if your computer is still responsive. You may need to kill some processes before your system becomes responsive enough to log in on a TTY, which is where Alt+SysRq+F is useful, but in extreme situations it may require Alt+SysRq+EIB.

    So a basic order of steps to try may look like:

    1. Try Alt+SysRq+RF and wait a few seconds to see if your system starts responding. If not, you can either try it another time or two, or move on to 2.
    2. See if you can switch to a TTY with Ctl+Alt+F3. If so, try to log in and sudo systemctl reboot. Else move onto 3.
    3. If you are in a TTY, switch back to the main login with Ctl+Alt+F2. Then do Alt+SysRq+REIB.

    In the spirit of other users giving mnemonic devices, you could remember REIB with Reboot Even If Broken, or the oom killer RF with Resolve Freeze (someone else can probably think of something better for RF; I’m not great at making mnemonic devices).

    TL;DR: There are SysRq combinations that are less prone to damage/corruption than Alt+SysRq+REISUB, so use the above flowchart, or just remove the S and U for Alt+SysRq+REIB (if you don’t want to troubleshoot first) for less chance of filesystem corruption from a bad kernel. You can often recover the system without having to hard reset (Alt+SysRq+B). And ALWAYS wait between SysRq keys, as they do not finish instantly.