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

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

Is on kbin.social but created this profile on kbin.run during a week-long outage.

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

  • 0 Posts
  • 38 Comments
Joined 26 days ago
cake
Cake day: June 4th, 2024

help-circle


  • If we tried this in the UK with someone like, say, the late David Coleman, I’m not entirely sure anyone who remembers him would be able to distinguish - other than, as I said, the knowledge that he’s been gone for quite some time now.

    Coleman, was considered a go-to commentator for decades despite being gaffe-prone even at the best of times. He was occasionally oblivious and apparently lacking any self-awareness too. (He did kind of learn to laugh at himself though and was a good, well, sport, about it all.)

    Sounds very AI to me. Come to think of it, he may even have been kept around precisely because of the entertainment value.

    I assume that Al Michaels is not of this bizarre calibre and it wouldn’t take long for people to notice.





  • JavaScript, like some other languages of the time, was designed with the Robustness Principle in mind. Arguably the wrong end of the Robustness Principle, but still.

    That is, it was designed to accept anything that wasn’t a syntax error (if not a few other things besides) and not generate run-time errors unless absolutely necessary. The thinking was that the last thing the user of something written in JavaScript wants is for their browser to crash or lock up because something divided by zero or couldn’t find an object property.

    Also it was originally written in about five minutes by one guy who hadn’t had enough sleep. (I may have misremembered this part, but I get the feeling I’m not too far off.)



  • An analogy:

    My Swiss Army knife has a screwdriver on it. It’s nice to have, and I even used it recently.

    It juts out perpendicular to the middle of the knife’s body though, making a literal " |- " shape, so for many applications it’s too awkward for the job.

    I also have a more traditional screwdriver. As and when I come to build a new PC, I don’t think I’ll be using the one on the knife.


  • xterm is a terminal emulator, not a shell. Anything that produces a terminal-compatible text stream can be started as the first program.

    e.g. xterm -e nano, assuming you have the nano editor installed, has no instance of a traditional shell (e.g. bash, zsh) running between the xterm and the editor, but the editor still works.

    You could argue that makes the editor itself a shell of sorts, because it’s interactive and you can do things with it, but it’s still not the xterm that inherits that title.



  • I’d say it’s more like setting up a handler for a callback, signal, interrupt or something along those lines.

    Function declarations by themselves don’t usually do that. Something else has to tell the system to run that function whenever the correct state occurs.

    That doesn’t account for unconditional come-froms.¸but I expect there’d have to be a label at the end of some code somewhere that would give a hint about shenanigans yet to occur. Frankly that’d be worse than a goto, but then, we knew that already.





  • You might have some files hard-linked across directories, or worse (but less likely), there’s a directory hard-link (not supposed to happen) somewhere.

    For the uninitiated, a hard-link is when more than one filename points at the same file data on the disk. This is not the same as a symbolic link. Symbolic links are special files that contain a file or directory name and the OS knows to follow them to that destination. (And they can be used to link to directories safely.)

    Some programs are not hard-link aware and will count a hard-linked file as many times as it sees it through its different names. Likewise they will count the entire contents of a hard-linked directory through each name.

    Programs tend not to be fooled by symlinks because it’s more obvious what’s going on.

    Try running a duplicate file finder. Don’t use it to delete anything, but it might help you determine which directories the files are in and maybe why it’s like that.

    Also back up everything important and arrange for a fsck on next boot. If it’s a hard-linked directory fsck might be able to fix it safely, but it might choose the wrong name to be the main one and remove the other, breaking something. Or remove both. Or it’s something else entirely, which by “fixing” will stabilise the system but might cause some other form data loss.

    That’s all unlikely, but it’s nice to have that backup just in case.


  • This whole saga reminds me of the time I somehow ended up with Windows 9x’s “Recent Documents” feature pointed at the root of a drive, so when I pushed the button to “clear recent documents” it dutifully started deleting all the files on the drive.

    At the time, the “Recent Documents” feature created shortcuts to, as you might guess, recently opened documents and put them in a user folder specifically for that purpose. Clearing them was only supposed to remove the shortcuts.

    Or perhaps more relevantly, that one Steam bash script that could delete things it shouldn’t under some very rare circumstances.