Canadian software engineer living in Europe.

  • 1 Post
  • 11 Comments
Joined 2 years ago
cake
Cake day: June 7th, 2023

help-circle
  • I don’t think there’s an official “way”, but here’s mine (which I love):

    On start-up I open all the apps I usually use, one per designated workspace:

    1. Slack/Teams/Mattermost, whatever my work requires.
    2. Thunderbird
    3. Kitty
    4. PyCharm/RustRover, whatever the job requires
    5. Firefox

    Workspaces 6-9 are left empty, ready for whatever app I need in the moment, but only ever one app per workspace.

    With this setup, I’ve mapped Ctrl+Fx to each workspace, so Ctrl+F4 takes me to PyCharm where I write the code, and Ctrl+F5 followed by another F5 takes me to Firefox and reloads the page. Ctrl+F3 is always the terminal, etc., so you quickly start building these shortcuts to mean Fwhatever is $APP_NAME.

    I almost never use the mouse, unless what I’m doing is necessarily mouse-driven: browsing or drawing charts etc. Everything else is keyboard-driven.



  • I have a few interesting ones.

    Download a video:

    alias yt="yt-dlp -o '%(title)s-%(id)s.%(ext)s' "
    

    Execute the previous command as root:

    alias please='sudo $(fc -n -l -1)'
    

    Delete all the Docker things. I do this surprisingly often:

    alias docker-nuke="docker system prune --all --volumes --force"
    

    This is a handy one for detecting a hard link

    function is-hardlink {
      count=$(stat -c %h -- "${1}")
      if [ "${count}" -gt 1 ]; then
        echo "Yes.  There are ${count} links to this file."
      else
        echo "Nope.  This file is unique."
      fi
    }
    

    I run this one pretty much every day. Regardless of the distro I’m using, it Updates All The Things:

    function up {
      if [[ $(command -v yay) ]]; then
        yay -Syu --noconfirm
        yay -Yc --noconfirm
      elif [[ $(command -v apt) ]]; then
        sudo apt update
        sudo apt upgrade -y
        sudo apt autoremove -y
      fi
      flatpak update --assumeyes
      flatpak remove --unused --assumeyes
    }
    

    I maintain an aliases file in GitLab with all the stuff I have in my environment if anyone is curious.





  • Granted, sudo isn’t in coreutils, but it’s sufficiently standard that I’d argue that the licence is very relevant to the wider Linux community.

    Anyway, I answered this at length the last time this subject came up here, but the TL;DR is that private companies (like Canonical, who owns Ubuntu) love the MIT license because it allows them to take the code and make proprietary versions of it without having to release the source code. Consider the implications of a sudo binary that’s Built For Ubuntu™ with closed-source proprietary hooks into Canonical’s cloud auth provider. It’s death by a thousand MIT-licensed cuts to our once Free operating system.




  • The best example I could point to would be BSD. Unlike Linux, the BSD kernel was BSD (essentially MIT) -licensed. This allowed Apple to take their code and build OSX and a multi-billion dollar company on top of it, giving sweet fuck all back the community they stole from.

    That’s the moral argument: it enables thievery.

    The technical argument is one of practicality. MIT-licensed projects often lead to proprietary projects (see: Apple, Android, Chrome, etc) that use up all the oxygen in an ecosystem and allow one company to dominate where once we had the latitude to use better alternatives.

    • Step 1 is replacing coreutils with uutils.
    • Step 2 is Canonical, Google, or someone else stealing uutils to build a proprietary “fuutils” that boasts better speeds, features, or interoperation with $PROPRIETARY_PRODUCT, or maybe even a new proprietary kernel.
    • Step 3 is where inevitably uutils is abandoned and coreutils hasn’t been updated in 10 years. Welcome to 1978, we’re back to using UNIX.

    The GPL is the tool that got us here, and it makes these exploitative techbros furious that they can’t just steal our shit for their personal profit. We gain nothing by helping them, but stand to lose a great deal.