Some middle-aged guy on the Internet. Seen a lot of it, occasionally regurgitating it, trying to be amusing and informative.

Lurked Digg until v4. Commented on Reddit (same username) until it went full Musk.

Was on kbin.social (dying/dead) and kbin.run (mysteriously vanished). Now here on fedia.io.

Really hoping he hasn’t brought the jinx with him.

Other Adjectives: Neurodivergent; Nerd; Broken; British; Ally; Leftish

  • 0 Posts
  • 106 Comments
Joined 1 year ago
cake
Cake day: August 13th, 2024

help-circle


  • YSK/PSA: If you’re on Mint, Mint’s apt is not Debian’s apt and while they work similarly for common use cases, they diverge pretty quickly beyond that. Both are installed by default but Mint’s takes precedence.*

    Case in point: I was looking for which package - specifically one that was not yet installed - contains a certain command line tool and Mint’s apt search does not find it. Debian’s does. **

    On the other hand, Mint’s apt has way more subcommands than the default one, which have been useful on occasion.

    * Mint’s is at /usr/local/bin/apt and Debian’s is at /usr/bin/apt; The default user $PATH puts /usr/local/bin before /usr/bin.

    ** FWIW, the tool is/was sponge and it’s in the moreutils package.


  • Let me save you a few characters: %Y-%m-%d can be shortened to %F

    For visualisation’s sake I also like to put a space before the %F so that the year and the file size are separated a little more, but that’s more of a taste thing than anything else.

    (Caveat: %F’s year is explicitly four digits in some libraries, whereas %Y is always the full year. If you’re planning for your code to last 8000 years you might want to consider that.)



  • Oof. That must be a single core laptop from 2010 or something, which if true, that sucks.

    I have a 13 year old computer around here that had no problems with LMDE6 when last I fired it up. It was relatively high spec when new which takes some of the edge off, but I never had an input lag problem anywhere except maybe badly-written websites.

    Just how limited is your computer?


  • alias name-here yields the line alias name-here='contents-of-alias-here' as output, and if you want just the part between the single quotes from that, sed, cut or, come to think of it, related shell tricks that do the same thing, would be needed to capture and convert it.

    ${BASH_ALIASES["name-here"]} is a name for what’s only between those single quotes.

    For example, I have a lot of preferences built into my alias for ‘ls’. Occasionally I want to run watch ls -l somefilespec to watch a directory listing for changes to a file. But commands fed to watch don’t go through the alias mechanism, leaving the output somewhat different to my preferences.

    It’s wordy, but watch ${BASH_ALIASES["ls"]} -l somefilespec mostly* achieves what I want.

    * Unfortunately, watch also causes the stripping of colour codes and I have --color=auto, not --color=force in my ls alias, so it’s by no means perfect - I have add the latter if I want colour - but I don’t have to type the rest of the preferences I have in there.

    FWIW, my ls alias is currently:

    alias ls='LC_ALL=C ls --color=auto --group-directories-first --time-style="+ %F %T"'
    

  • I have an alias called save_aliases that does alias > ~/.bash_aliases. alias on its own just dumps all the existing aliases to the terminal in a format that can be parsed by Bash.

    I felt especially clever when I came up with that and used it to save itself.

    Bonus fact: ${BASH_ALIASES["name-here"]} is a way to get at the contents of an alias without resorting sed or cut shenanigans on the output of the alias command.



  • Interesting. LMDE seems to be more like MS Windows in that things like kernel updates insist on a reboot, and certain other things are easiest restarted with a reboot too, for example, X.Org changes.

    I’m sure there’s still a way to bootstrap a new kernel on the bare metal without needing to reboot, likewise for restarting X.Org, but I foresee problems with any programs and daemons that were children of the original processes. For example, convincing them not to exit when their parent does and then getting them to play nice under a new session.

    I mean, I guess you could just not update, or have a long period where they’re unnecessary and that’d work too. That could well be what this meme is getting at. Can confirm sessions (caveat: with standby and hibernate) that have lasted well over a month.

    But this all raises the question: Does anyone actually not reboot when system changes happen, and what’s the workflow for bootstrapping without rebooting there?


  • It’s also my experience that KPatience doesn’t skip unwinnable games. It also occasionally generates one where it can’t determine whether the game is solvable or not, which is probably due to search space limitations. I’ve won a couple of those, but they’re risky to start in the first place!

    I can see the logic for not skipping unsolvable games.

    KPat uses a seed system (called “Numbered Deals”) to “shuffle” the cards before a game. The seed can be generated (pseudo-)randomly, which is the default, or entered manually. In theory, a manually-entered seed could be unsolvable, and there would then need to be completely different logic flow for random and manual seeds after the shuffle and deal.

    It’s way simpler to just generate a new game seed randomly as necessary and then have the rest of the program be clueless as to whether it was typed in or not.





  • YouTube change things on the back end so frequently that I bet there’s always at least one bleeding-edge distro that has an outdated yt-dlp in its repository.

    But if you’re on a Debian / Ubuntu / Mint, yeah, you’re gonna have a bad time without the stand-alone version.