• @[email protected]
    link
    fedilink
    English
    2212 days ago

    This isn’t his actual code, right? Like this specific code pictured here? I’m aware of the “drama” surrounding him currently.

    • @[email protected]
      link
      fedilink
      English
      6112 days ago

      Nah.

      Someone added him to an existing meme.

      But, if this was his code he would defend it and condescendingly tell you that he is correct, you are not knowledgeable enough to understand and let you know he worked at Blizzard for seven years.

      • Mossy Feathers (She/Her)
        link
        fedilink
        2511 days ago

        Did you know that he worked for Blizzard for seven years? Not only that, but he was Blizzard’s first second-generation employee. He grew up in Blizzard. An extreme accomplishment to be certain. Thank you based and blizzpilled Pirate Software.

        I wonder if he was the one stealing the breast milk. After all, I’ve heard he can be really childish.

        • @[email protected]
          link
          fedilink
          English
          210 days ago

          The funniest thing about his blizzard obsession and the fact that his dad is like a first generation blizzard employee is such a weird glex these days.

          So, did you get to harass any women yourself, or did you get your dad watch doing it? Were you a high enough employee that they gave you the Bill Cosby room to rape someone?

    • lime!
      link
      fedilink
      English
      1311 days ago

      this is an old meme about yanderedev

  • kubica
    link
    fedilink
    8912 days ago

    You could save about half the code by only listing one boolean value and having the other as a default return at the bottom.

    Sometimes my genius is almost frightening.

  • @[email protected]
    link
    fedilink
    911 days ago

    Lol the amount of bullying this guy is getting lately. I’ve seen similar spins and bends that looks somewhat legit, making people believe he suck at coding

  • @[email protected]
    link
    fedilink
    8911 days ago

    You don’t get it. This was made in GameMaker Studio 1.4, which doesn’t support a modulo operator. You know nothing about this specific framework. I have 8 years of experience and hacked governments. There’s no reason to update it now, because it runs on a smart fridge at maximum capacity.

  • @[email protected]
    link
    fedilink
    English
    1010 days ago

    Even plus even equals even.

    Odd plus odd equals even.

    Only odd plus even makes an odd.

    Are there twice as many even numbers as there are odd numbers?

  • @[email protected]
    link
    fedilink
    1212 days ago

    Pah, mathematicians and their generally applicable pure approach to solutions and fancy modulus operations, who needs 'em? Computing is applied and we always work with well-defined finite precision. Granted, writing the boilerplate for all possible 64 bit integers is a bit laborious, but we’re programmers! That’s what code generation is for.

    • @[email protected]
      link
      fedilink
      211 days ago

      Granted, writing the boilerplate for all possible 64 bit integers is a bit laborious,

      I’ve been trying to figure out roughly how many lines of code that would equal out to but I’ve run out of fingers.

    • @[email protected]
      link
      fedilink
      412 days ago

      If it works it works. You mathematicians just don’t understand the pragmatics. What is tech debt?

  • magic_lobster_party
    link
    fedilink
    2211 days ago

    At least this madness is isolated to this function. It can easily be fixed.

    Pirate’s code is just cluttered with magic numbers everywhere. Hard coded numbers that are referring to a big ”story array”, or characters. It’s just a giant web of complexity. The only fix is to start from scratch.

    • Lemminary
      link
      fedilink
      211 days ago

      It’s simple. The only problem is that your code sucks!

  • @[email protected]
    link
    fedilink
    912 days ago

    Better/fastest approch would be to check the last bit of the int and return the result. Second use modulo.

    This? Dev should burn in hell. Who created this?

    • da_cow (she/her)
      link
      fedilink
      1011 days ago

      Alternatively you can divide by 2, turn it into an int, mtiply it by 2 and check if both numbers are the same.

    • @[email protected]
      link
      fedilink
      English
      5
      edit-2
      11 days ago

      or another stupid, but viable way to do it,

      if number = 0:

      return true

      runloop = true

      while runloop:

      if number > 0:

      number -= 2

      else:

      number += 2

      if number = 1:

      return false

      runloop = false

      if number = 2:

      return true

      runloop = false

      still very shitty amature coding, doesn’t depend on modulos, or anything that I can think of that some languages might lack an equivelant of.

  • @[email protected]
    link
    fedilink
    82
    edit-2
    11 days ago

    After working at blizzard for 51 years, I finally found an elegant solution by using the power of recursion

    private bool IsEven(int number){
      if (number > 1) return IsEven(number - 2);
      if (number == 0) return true;
      if (number == 1) return false;
    }
    
      • λλλ
        link
        fedilink
        1310 days ago

        Now see, you need the other method. IsNegativeEven()

        • @[email protected]
          link
          fedilink
          710 days ago

          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();
          }
          
          • @[email protected]
            link
            fedilink
            19 days ago

            Nice, now we just need another function to find odd numbers, cause not all numbers are even you know.

    • @[email protected]
      link
      fedilink
      1111 days ago

      I removed the tail recursion for you:

      private book IsEven(int number) {
          if(number > 1) return IsEven(number - 2) == true;
          if(number == 0) return true; 
          if(number == 2) return false;
      }
      
      • @[email protected]
        link
        fedilink
        English
        211 days ago

        I didn’t get this.

        Why return book? Does that have some Blizzard reference?
        And why would number == 2return false? This is a function for getting true when the number is even, right?

        • @[email protected]
          link
          fedilink
          10
          edit-2
          11 days ago

          Haha, you’re right. I’ve now learned two things:

          1. I should not write code on a mobile
          2. I should not become a proof reader

          At the end of the day i just wanted the function to be worse, by causing stack overflows

      • @[email protected]
        link
        fedilink
        110 days ago

        Okay so basically this is saving bytes on a technicality but also good programming language design (for this specific purpose).

        The first aspect is that since you’re scored on bytes, it’s not really to your advantage to use a language that uses ascii (or utf-8) for it’s tokens, because a large part of it is unprintables like DEL or BELL. So people have designed specially crafted golfing programming languages that use a full 256 possible characters in order to pack as many features as possible in as few bytes as possible.

        The good design part of it is that if you really think about it hard, there’s really not that many things you expect a programming language to do. It turns out that 256 total different operands is about in the sweet spot, so each character that’s available in the 1-byte code page is mapped to one command, and the languages are also designed to make as many things as possible implicit, both at the cost of readability. Remember, all that matters here is getting the lowest score, not code maintainability or anything else.

        This leads to languages like japt (which is a terse form of JavaScript, I’m pretty sure) or pyth (same for python) or Vyxal (my personal favorite, used to be python based but is now bespoke) that look like this but absolutely own at getting a task out in as few bytes as possible.

    • @[email protected]
      link
      fedilink
      211 days ago

      Though, obviously I had to come up with some ridiculous solutions:

      bool IsEven(int i) => ((Func<string, bool>)(s => s[^1] == 48))($"{i:B}");
      

      This one works without conditionals :)

      bool IsEven(int i)
      {
          try
          {
              int _ = (i & 1) / (i & 1);
          }
          catch (Exception)
          {
              return true;
          }
      
          return false;
      }
      
      • Lemminary
        link
        fedilink
        111 days ago

        s[^1]

        Ohh wow, I’ve been learning it casually for years, and I didn’t know that existed in C#. I guess I should go back and hit the books some more.