I take my shitposts very seriously.

  • 12 Posts
  • 449 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.



  • It makes sense if you represent complex numbers as (a, b) pairs, where a is the real part and b is the imaginary part (just like the popular a + bi representation that can be expanded to a * (1, 0) + b * (0, 1)). AB’s length is (1, 0), AC’s length is (0, 1), and BC’s length will also be a complex number.

    I think.



  • Never ask:

    • A man his salary
    • A woman her age
    • An audiophile how much they paid for their hoard

     

    On second thought, ask all of those questions.

    • Secrecy is how employers get away with wage inequality.
    • “I didn’t know she was 17” does not work in a court of law.
    • An audiophile will proudly point at their favourite budget headset. I mean, the Samson SR-850 is just insane value for its price. Sure, it’s a symphony of plastics, the design is just a straight rip-off of the AKG K240, and the fixed cable is a bummer, but the frequency response and the soundstage are out of this world. Plus the impedance is only 32 ohms: it easily runs out of a smartphone.



  • I have an Xbox One controller. It worked well out of the box on my previous machine, but the current one somehow maps the buttons incorrectly when I connect with bluetooth. Installing the hid-xpadneo kernel module (xpadneo-dkms on the AUR), which is a driver specifically for Xbox controllers, fixed it completely.

    It works flawlessly with everything I’ve tried, including emulators. The hardware is also extremely durable. It’s survived several drops over five years (bought it for Sekiro’s launch) and being mangled by a dog. The only disadvantage is the stupid fucking flimsy micro-USB port, but the newest Series models have USB-C. If you can, get a rechargeable battery pack and a charging dock.

    If you care about repairability, it’s not the worst, but not particularly good either. Parts of the shell are held by plastic tabs that are easy to damage, the internals are all located on one PCB, and the wires to the haptic motors are soldered on.






  • 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.