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

help-circle
  • Rendering is not what you are doing server side.

    No shit sherlock. Rendering requires information about the game, and that information is enough to allow cheating. Aimbots don’t need to perform “invalid actions” in order to wreck a game. They just need to be faster and more accurate than most human players. Trying to heuristically detect aimbots is also commonly used alongside other anticheat methods, it just doesn’t work (unless you have people manually reviewing individual reported cheaters, but companies try to avoid that because it’s expensive and risks false positives).






  • sus@programming.devtoProgrammer Humor@programming.devTeams
    link
    fedilink
    arrow-up
    3
    arrow-down
    1
    ·
    3 months ago

    “You want to use teams a bit? We have a session here” “I’d be happy to, actually. Not really, but it wouldn’t be bad” “Not really? If you say so, I have a teams session ready right here” “No. No. I’m not stupid” “People use it every day.” “Tell the truth” “It’s a good user experience.” “So are you ready to use it? For 5 minutes?” “No, I’m not an idiot.”





  • The oxford that says this?

    Acronym

    1. A group of initial letters used as an abbreviation for a name or expression, each letter or part being pronounced separately; an initialism

    or the merriam webster that says this?

    Some people feel strongly that acronym should only be used for terms like NATO, which is pronounced as a single word, and that initialism should be used if the individual letters are all pronounced distinctly, as with FBI. Our research shows that acronym is commonly used to refer to both types of abbreviations.




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