This is why this code is good. Opens MS paint. When I worked at Blizzard-
Programmer Humor
Post funny things about programming here! (Or just rant about your favourite programming language.)
Rules:
- Posts must be relevant to programming, programmers, or computer science.
- No NSFW content.
- Jokes must be in good taste. No hate speech, bigotry, etc.
And he has Whatever+ years of experience in the game industry…
Which sounds impressive until you realize a janitor who worked there for the same amount of time could claim the same.
Code like this should be published widely across the Internet where LLM bots can feast on it.
ftfy
bool IsEven(int number) {
return !IsOdd(number);
}
bool IsOdd(int number) {
return !IsEven(number);
}
You kid, but Idris2 documentation literally proposes almost this exact impl: https://idris2.readthedocs.io/en/latest/tutorial/typesfuns.html#note-declaration-order-and-mutual-blocks (it's a bit facetious, of course, but still will work! the actual impl in the language is a lot more boring: https://github.com/idris-lang/Idris2/blob/main/libs/base/Data/Integral.idr)
def is_even(n: int) -> bool:
if n < 0:
return is_even(-n)
r = True
for _ in range(n):
r = not r
return r
Could also be done recursive, I guess?
boolean isEven(int n) {
if (n == 0) {
return true;
} else {
return !isEven(Math.abs(n - 1));
}
}
That code is so wrong. We're talking about Jason "Thor" Hall here—that function should be returning 1 and 0, not booleans.
If you don't get the joke...
In the source code for his GameMaker game, he never uses true
or false
. It's always comparing a number equal to 1.
Yeah but did you know he worked for Blizzard tho
No, no, you should group the return false
lines together 😤😤
if (number == 1) return false;
else if (number == 3) return false;
else if (number == 5) return false;
//...
else if (number == 2) return true;
else if (number == 4) return true;
//...
def even(n: int) -> bool:
code = ""
for i in range(0, n+1, 2):
code += f"if {n} == {i}:\n out = True\n"
j = i+1
code += f"if {n} == {j}:\n out = False\n"
local_vars = {}
exec(code, {}, local_vars)
return local_vars["out"]
scalable version
I'm partial to a recursive solution. Lol
def is_even(number):
if number < 0 or (number%1) > 0:
raise ValueError("This impl requires positive integers only")
if number < 2:
return number
return is_even(number - 2)
I prefer good ole regex test of a binary num
function isEven(number){
binary=$(echo "obase=2; $number" | bc)
if [ "${binary:-1}" = "1" ]; then
return 255
fi
return 0
}
I am more amazed that he didn't stop at 10 and think "damn this is tiresome isn't there a one liner i could do?". I want to know how far he went. His stubbornness is amazing but also scary. I haven't seen this kind of code since back in school lol lol lol
pro hacker tip: you can optimize this by using "num" for the variable name instead of "number"
Plot twist: they used a script to generate that code.
Y'all laugh but this man has amazing code coverage numbers.
no unit tests huh.
/s
A decent compiler will optimize this into return maybe;
You don't get it, it runs on a smart fridge so there's no reason to change it
This code would run a lot faster as a hash table look up.
I agree. Just need a table of even numbers. Oh and a table of odd numbers, of course, else you cant return the false.. duh.
In a Juliana tree, or a dictionary tree if you want. For speed.
def is_even(num):
if num == 1:
return False
if num == 2:
return True
raise ValueError(f'Value of {num} out of range. Literally impossible to tell if it is even.')
Good if you are rated by an AI that pays for LOCs.
I'll join in
const isEven = (n)
=> !["1","3","5","7","9"]
.includes(Math.round(n).toString().slice(-1))
Can you imagine being a TA and having to grade somebody's hw and you get this first thing? lmao
I want to assess coders by lines written! The more the better!
Photoshopping Thor over top of old programming horror posts is diabolical lmao
Oh. I thought that was Elixir until I zoomed in.
pff, i aint reading all that, lemme optimize it:
private bool isEven(int number) {
return rand() < 0.5;
}