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

Lurked Digg until v4.

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

Now I’m here.

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

Applying for mod in places where an occasional mod would better than none at all.

  • 0 Posts
  • 500 Comments
Joined 2 years ago
cake
Cake day: June 12th, 2023

help-circle







  • Surprised they haven’t tried to train a neural network to find a compression algorithm specifically for their sort of data.

    There’s a ridiculous irony in the fact they haven’t, and it’s still ironic even if they have and have thrown the idea out as a failure. Or a dystopian nightmare.

    But if it is the latter, they might help save time and effort by telling “the public” what avenues have already failed, or that they don’t want purely AI-generated solutions. Someone’s bound to try it otherwise.







  • 512KB? At the risk of going all Four Yorkshiremen, that sounds luxurious.

    Floppy disks held 170KB if you were lucky to have a drive. The PET line, like many 8-bit computers, used a cassette tape drive (yes, those things that preceded CDs for holding and playing music). Capacity depended on the length of the tape. And it took ages to load.

    The PET was fancy because it had a built-in cassette drive. That’s what you can see to the left of the keyboard in the picture.


  • Wow. I totally forgot that Commodore BASIC ignores spaces in variable names. I do remember that it ignores anything after the first two letters though. That said, there’s a bit more going on here than meets the eye.

    PRINT HELLO WORLD is actually parsed as PRINT HELLOW OR LD, that is: grab the values of the variables HELLOW (which is actually just HE) and LD, bitwise OR them together and then print.

    Since it’s very likely both HE and LD were undefined, they were quietly created then initialised to 0 before their bitwise-OR was calculated for the 0 that appeared.

    Back in the day, people generally didn’t put many spaces in their Commodore BASIC programs because those spaces each took up a byte of valuable memory. That PET2001, if unexpanded, only has 8KB in it.

    </old man rant>



  • The gsettings command can change things on the fly in the dconf, assuming that’s where the setting actually resides. It’s a pain to do, but that means it’s possible to write a script that makes the necessary change(s) and that can then be assigned to a keyboard combo.

    For example, I have one that toggles a Cinnamon panel between the top and the bottom of its screen (I won’t get into why) and currently have it bound to Ctrl-Alt-Space.

    It’s currently a hack that uses a couple of hardcoded values that I pulled from the dconf by observing what it was set to with the panel in each location. If it finds the first value it changes it to the second, and vice versa.

    (In the unlikely event I come to change the layout to something it doesn’t recognise, it bails out, doing nothing.)

    Anyway, you could probably do something similar to toggle the dark/light mode.


  • Most shells will issue $PS2 as the continuation prompt if you quote a filename and try to insert a carriage return.

    Ctrl-V Ctrl-J is the explicit keypress pair to insert a carriage return without triggering $PS2, but beware: If the carriage return is outside of quotes, that’s equivalent to starting a new command in much the same way a semicolon or a new line in a shell script would.

    echo "hello^V^Jthere" [Enter] echoes hello on one line and then there on the next, but echo hello^V^Jthere [Enter] will echo hello then try to run a command called there

    We’d have to assume that whatever fixes spaces in filenames would also have an option to fix this subtlety. And I say to whoever tries: Good luck with that.



  • Most terminals start a shell as the first program, so you’re not really learning “Terminal” so much as whatever program it starts first. Bash is a pretty common shell, so you might want to search for things like “Bash examples” to get a feel for it.

    If that’s too simple, or you blast past that, then reading bash’s manual might give you some more ideas. The man command is your friend. The manuals are not necessarily quite so friendly, but they’re aimed at someone who’s already somewhat competent.

    Anyway, here’s one link from a Bash examples search I did: https://linuxsimply.com/bash-scripting-tutorial/basics/examples/

    If Bash isn’t what you have where you are, substitute its name instead. Zsh and Fish are pretty popular. There are others, but I don’t think any mainstream Linux uses them by default.

    To check what shell you’re using try an echo $0 or echo $SHELL.

    Finally, a bit of advice: Don’t go running commands you see on the Internet unless you’re sure what they’re going to do is something you have no problem with. And be careful with copy/pasting from web pages you don’t know or trust - I can’t vouch for the examples in the link I gave earlier, for example. It’s possible to make things look like a completely innocent command but when pasted does something else entirely.