• 10 Posts
  • 138 Comments
Joined 2 years ago
cake
Cake day: July 16th, 2023

help-circle
  • We can avoid expensive branches (gasp) by using some bitwise arithmetic to achieve the so-called “absolute value”, an advanced hacker technique I learnt at Blizzard. Also unlike c, c# is not enlightened enough to understand that my code is perfect so it complains about “not all code paths returning a value”.

    private bool IsEven(int number)
    {
        number *= 1 - 2*(int)(((uint)number & 2147483648) >> 31);
        if (number > 1) return IsEven(number - 2);
        if (number == 0) return true;
        if (number == 1) return false;
        throw new Exception();
    }
    








  • So I think it’s still probably unclear to people why “mix of keywords and identifiers” is bad: it means any new keyword could break backwards compatibility because someone could have already named a type the same thing as that new keyword.

    This syntax puts type identifiers in the very prominent position of “generic fresh statement after semicolon or newline”

    …though I’ve spent like 10 minutes thinking about this and now it’s again not making sense to me. Isn’t the very common plain “already_existing_variable = 5” also causing the same problem? We’d have to go back to cobol style “SET foo = 5” for everything to actually make it not an issue



  • And most of those cases are of course using the word sarcastically

    collapsed list of them
    The next function to implement is called, amazingly, next(); its job is to
    move the iterator forward to the next position in the sequence.
    
    if (lc->sync == NOSYNC)
    	for (i = lc->header.nr_regions; i < lc->region_count; i++)
    		/* FIXME: amazingly inefficient */
    		log_set_bit(lc, lc->clean_bits, i);
    else
    	for (i = lc->header.nr_regions; i < lc->region_count; i++)
    		/* FIXME: amazingly inefficient */
    		log_clear_bit(lc, lc->clean_bits, i);
    
    /*
     * Amazingly, if ehv_bc_tty_open() returns an error code, the tty layer will
     * still call this function to close the tty device.  So we can't assume that
     * the tty port has been initialized.
     */
    
     *   this header was blatantly ripped from netfilter_ipv4.h
     *   it's amazing what adding a bunch of 6s can do =8^)
    
    /*
     * I studied different documents and many live PROMs both from 2.30
     * family and 3.xx versions. I came to the amazing conclusion: there is
     * absolutely no way to route interrupts in IIep systems relying on
     * information which PROM presents. We must hardcode interrupt routing
     * schematics. And this actually sucks.   -- zaitcev 1999/05/12
    
     * corresponding ABS_X and ABS_Y events. This turns the Twiddler into a game
     * controller with amazing 18 buttons :-)
    
     * In an amazing feat of design, the Enhanced Features Register (EFR)
     * shares the address of the Interrupt Identification Register (IIR).
     * Access to EFR is switched on by writing a magic value (0xbf) to the
     * Line Control Register (LCR). Any interrupt firing during this time will
     * see the EFR where it expects the IIR to be, leading to
     * "Unexpected interrupt" messages.
    
     * Thanks BUGabundo and Malmostoso for your amazing help!
    


  • Lots of em-dash usage

    Service goes down after emitting an event but before persisting internal state—causing partial failures that are hard to roll back.
    Subscribe to an existing event and start processing—no changes to publishers.
    Helps track a request across multiple services—even through async events.
    We once had a refund service consume OrderCancelled events—but due to a config typo, it ignored 15% of messages.
    Takeaway: fire-and-forget works—until someone forgets to monitor.
    Use it when the domain fits—fan-out use cases, audit logs, or workflows where latency isn’t critical.

    combined with other chatgpt-isms like the heavy reliance on lists, yeah safe to say it’s mostly AI generated



  • My major version updates on 2 computers with linux mint in the past few years have been just one click, wait, reboot when prompted, everything works and you barely even notice that anything changed. Though maybe I’ve just been lucky

    though the rest of the video’s takes on the linux experience for new users seems pretty accurate to me (lol downloading an application and using it requires at least a manual chmod +x and that’s the best case scenario. Maybe there’s a distro that has a solution but I have doubts (and “have everything you could possibly need in the package manager” is obviously a nonstarter))

    But the community parts seem odd to me:

    Is “just disable secure boot” a bad take? Has someone been holding everyone out on a better solution?

    and

    The only way linux is going to change is when money and development power is given to major dekstop Linux projects. It’s time to stop wasting time on customization or packaging

    is just… sure, herd all the cats into one place, make them all work together in harmony, and summon 500 million dollars out of thin air to wrap it all together. Instead of writing bash scripts everyone should be praying to gabe newell to save us lol



  • sus@programming.devtoScience Memes@mander.xyzPolar bears
    link
    fedilink
    English
    arrow-up
    1
    ·
    2 months ago

    I haven’t heard of .500 blackout before, and google gives conflicting info on whether it’s “necked down .338 lapua magnum” or “like .510 whisper”

    polar bears have historically been felled with “panicked shooting with ar-15”, and the “standard recommendation” seems to be “magnum rifle round”