I take my shitposts very seriously.

  • 0 Posts
  • 129 Comments
Joined 1 year ago
cake
Cake day: June 24th, 2023

help-circle




  • It’s a convention set by early programming languages.

    In most C-like languages, if (a = b)... is also a valid comparison. The = (assignment) operation returns the assigned value as a result, which is then converted to a boolean value by the if expression. Consider this Javascript code:

    let a = b = 1
    
    1. It first declares the b variable and assigns it the value of the expression 1, which is one.
    2. It returns the result of the expression b = 1, which is the assigned value, which is 1.
    3. It declares the a variable and assigns the previously returned value, which is 1.

    Another example:

    let a = 1
    let b = 2
    let c = 3
    console.log(a == b) // prints "false" because the comparison is false
    console.log(a = b) // prints 2 because the expression returns the value of the assignment, which is 'b', which is 2
    
    // Using this in an 'if' statement:
    if (b = c) { // the result of the assignment is 3, which is converted to a boolean true
        console.log("what")
    }
    

    You can’t do the same in Python (it will fail with a syntax error), but it’s better to adhere to convention because it doesn’t hurt anyone, but going against it might confuse programmers who have greater experience with another language. Like I was when I switched from Pascal (which uses = for comparison and := for assignment) to C.



  • There are use-cases where a computer should not be turned off by its user for the purpose of remote management. I’m dealing with one just as I’m writing this comment.

    There’s an exam in a classroom. In 20 minutes I’ll have to run an ansible script to remove this group’s work, clean up the project directory, and rollback two VMs to the prepared snapshot to get ready for the next group. I’ve put a big-ass banner on the wallpaper telling the students not to shut down the computer, and already half of them are off.


  • Mainly because our students are idiots and will complain if the computer doesn’t turn off. Or worse, take independent action and hold the power button, or actually yank the power cable. Maybe I should just lean into it and convince them that the monitor is the computer.

    Jokes aside, how could I implement such a policy? I’ve only found one that hides the power buttons from the start menu, but Windows still responds to ACPI.


  • As another IT guy at a university, having to manually turn on 30 computers in a classroom for updates or whatever is already a pain in the ass. Wake on LAN is not a reliable solution. Havin to manually flip over every box, then putting them down, and then fixing the cables that got yanked… I’d throw those fuckers in the trash.

    The Dell Optiplex 3080 Micro’s form factor is perfectly tiny without compromising user comfort.










  • I tried dual-booting Win10 and Arch for a few months. It was problematic.

    I had to set the clock every time I switched because one expected the hardware clock to use UTC time and the other expected local time.

    NTFS on Linux is not good. The driver works, but there are fundamental differences between NTFS and Unix-like filesystems that makes cooperation difficult (e.g. NTFS uses ACLs instead of the user/group ownership and user/group/others permissions of Unix). Windows also places additional restrictions on the filesystem (e.g. NTFS supports file names that contain :, Windows doesn’t) that can completely bork the volume if violated.

    But the worst offender, and what made me nuke Windows entirely, is Windows Update. It completely fucked up the boot partition, deleted the bootloader, then died and left Windows unusable.

    These are all issues that can be solved, if you know how to solve them. My advice is to go cold turkey and delete Windows from your life.