ProgrammerHumor

developedThisAlgorithmBackWhenIWorkedForBlizzard

developedThisAlgorithmBackWhenIWorkedForBlizzard
https://i.redd.it/xezszc31hxcf1.jpeg
Reddit

Discussion

Aggravating_Dot9657

This actually makes a lot of sense. Let me explain

*breaks out MSPaint

In computer programming, if you are dealing with large numbers, you are doing something wrong. You never want to see a number larger than 256.

*draws 256

So, this might seem tedious, but once I've written 256 lines of code like this, I'm done. My program has a foolproof way of detecting an even number. And if I try to give it a number larger than 256, it will fail (*draws a sad face), which is what I want (*draws a happy face).

17 hours ago
smittenWithKitten211

I can't believe how accurate this is

11 hours ago
steindattel

Honestly, this entire situation made me aware of how much information I just take for granted from short form content where a guy with charming voice says basically anything

11 hours ago
OverlordVII

Honestly, at this point its the opposite for me. If some overly confident cunt tells me something in a short form video, I just assume it's dogshit, even if it's the most obvious, intelligent and genuine thing!

10 hours ago
Sir_Keee

Video: "You see, clearly, 2+2=4"

Me: "Wait... now I have to make sure..."

5 hours ago
Communism_of_Dave

Thor has become the Neil Degrasse Tyson of YouTube. He used to be interesting and now he just needs to shut up

5 hours ago
NBSPNBSP

At least NDT knows what he's talking about in his own field.

4 hours ago
Silverr_Duck

Yeah but the problem is he likes to run his mouth about things that aren’t part of his field.

1 hour ago
NBSPNBSP

That's exactly what I said. Jason has no clue about any field, not just the ones he's not immersed in.

1 hour ago
KockoWillinj

Hey now NDT is annoying but doesn't go around spreading outright lies about shit

4 hours ago
AverniteAdventurer

The NDT hate is so overblown. I like a lot of his content and he actually knows what he’s talking about. Sounding smug or a little cringe while trying to create engaging content but just not quite nailing the tone is hardly a great sin yknow?

2 hours ago
Youshmee

Jason*

4 hours ago
Surroundedonallsides

I like NDT even if smug podcasters tell you not to.

3 hours ago
Linux-Operative

I can tell you’ve not had a lot of experience with consultants huh? once you’ve had your second or third brick your systems and you are left to clean it all up over several nights you will learn to mistrust any confident cunt.

7 hours ago
Game0815

With a charming voice changer*

9 hours ago
ITuser999

leans back and cracks hands

"Programming is so easy dude".

9 hours ago
hanks_panky_emporium

Glances at chat

" I watched someone talk about your code- Ban that guy. Yep, banned. "

7 hours ago
Father_Chewy_Louis

I hate that i read this in his voice

9 hours ago
Lost-Dragonfruit-367

In his faked voice.

6 hours ago
Airowird

*in his voice changer

His actual voice is apparently not that low.

6 hours ago
InfinitelyRepeating

Just mod by 256 and your code is good for any number!

7 hours ago
xiadmabsax

That would be too efficient.

while (number > 256) {number -= 256}

5 hours ago
MosquitoFreezer

Love it. Using the right tool for the job but using it incorrectly. Like using the handle of the hammer to drive a nail

6 hours ago
Informal-Cycle1644

I can imagine him saying this word for word 😂😂

9 hours ago
DarkSoulsOfCinder

you forgot to circle the 256

5 hours ago
Embarrassed_Steak371

no he didn't
he developed this one:

//checks if integer is even
public static bool isEven(int integer_to_check_is_even) {

int is_even = false;

switch (integer_to_check_is_even) {

case 0:

is_even = 17;

case 1:

is_even = 0;

default:

is_even = isEven(integer_to_check_is_even - 2) ? 17 : 0;
if (is_even == 17) {

//the value is even

return true;

}else (is_even == 0) {

//the value is not even
return false;

}

}

19 hours ago
Lasadon
:j: :py: :powershell:

I...Is is so late that I am in delirium or is this whole code completely batshit crazy? Why a switch case? why 17 and 0? Why does he assign a boolean value to an integer? Does he even check the right variable there? I feel like not.

19 hours ago
Brighttalonflame

It’s making fun of the fact that PirateSoftware uses 0/1 ints instead of bools, a lot of magic numbers, and dead code

19 hours ago
Lasadon
:j: :py: :powershell:

You know, this does wonders for my imposter syndrome. We need more of this.

19 hours ago
SpaceCadet87

It's programmers like him that mean I never had impostor syndrome!

19 hours ago
Easy_Floss

To be fair you probably cant find programmers like him just anywhere, his father worked for blizzard and totally did not get him a job there.

14 hours ago
RlySkiz

For the amount he talks about his dad i was surprised to learn he doesn't wish him happy birthday and even jokes about that when he gets called out by his dad on stream.

https://www.reddit.com/r/LivestreamFail/comments/1lyw8yk/old_clip_how_pirate_software_treats_his_dad_that/

Its even weirder how his dad needs to correct himself on calling him Thor instead of his actual name "Jason" as if this was a request by Pirate.

13 hours ago
ThrowawayUk4200

Weirdest one for me was seeing him brag about his dad being the inspiration of the WoW gamer in South Park. That's not exactly a flattering representation of him

12 hours ago
KinkyBark

Its not flattering but I kinda get it. Appearing at all in a show that popular is kinda cool.

11 hours ago
Gunty1

His actual word were "no not the inspiration, thats him, he is that guy" 😆

5 hours ago
PM_Me_Your_VagOrTits

Lol you'd be surprised...

9 hours ago
Imkindofslow

Is any of this stuff actually his shit because I see it here all the time and I swear to God nobody straight up offers a source for any of it. I can't tell if y'all are being shit lords or just actually dicks.

14 hours ago
ChrisTheWeak

This screenshot above is just a combination of Pirate software's head being placed over an older screenshot which was a joke about bad programmers. The screenshot has been then misattributed to a variety of sources including Yandere Dev and various other people who have been mocked for poorly optimized code.

I have not seen enough of Pirate Software's code to make a value judgment about it

11 hours ago
SpaceCadet87

Oh no, this screenshot is an old one (I seem to recall it being thrown around as part of either yandere simulator or undertale). His code is more characterised by storing boolean values as integers, loads of magic numbers and just commenting everything with complete disregard as to whether the comments are useful.

14 hours ago
Imkindofslow

Thank you for clarifying.

14 hours ago
GarThor_TMK

Sounds like just about every legacy codebase I've ever worked on... So... Business as usual?

12 hours ago
TheLuminary
:j::py::js::p::cs:

I have a really hard time thinking that screenshot was anything but some kind of joke.

There is no way any codebase has code like that in it.

12 hours ago
Cagity

When you have a line count quota, you do what you've got to do.

8 hours ago
morganrbvn

I thank god every day that my code will never receive this kind of public scrutiny. I’d die

16 hours ago
not_a_burner0456025

You presumably aren't calling people idiots for correctly suggesting that your programming language has booleans, so you are miles ahead of him.

14 hours ago
Zozorak

I'm not a great developer, just for hobby kind of thing yknow. I'll be the first to admit I know barely anything. But damn I feel better about my current skills after this fiasco.

17 hours ago
szerdarino

Squeaky wheel is definitely getting the kick rn

19 hours ago
AdventurousTap2171

historical hard-to-find reminiscent many include humorous follow yam punch gaze

This post was mass deleted and anonymized with Redact

17 hours ago
Brighttalonflame

I mean dead code is always a part of code in big corpo; doesn’t mean it is excusable on a one man project

17 hours ago
Sir_Keee

Thing with dead code in big corpo is that, at one point, it was probably used for something but after multiple people passing over the same bits making changes some parts end up becoming dead. You don't start off with it being dead.

5 hours ago
EchoLocation8

Not quite the same thing but, my previous job I worked on an 18 year old Java code base. Holy actual shit. The amount of telescoping constructors made me want to blow my brains out. The sheer level of abstractness such that nothing was easy to actually find what it fucking DID when you did something was staggering.

It ended up being easier to simply wrap everything, kinda say fuck it, and just put something over it that did what I needed it to do, because the codebase was so obtuse it was impossible to know what any change to a lower level component might cascade into.

15 hours ago
Lankuri

mass deleted and anonymized with redact within 12 hours is crazy wtf are u doing on reddit then

5 hours ago
SpaceCadet87

Wait, so it's just that 7 bits isn't enough waste per bool for him?

19 hours ago
Usual_Office_1740

At least it's not in a struct with a 64-bit int.

19 hours ago
SpaceCadet87

``` typedef struct {

    int64_t true; //Set to 1 if true

    int64_t false; //Set to 1 if false

} bool; ```

14 hours ago
cute_spider

we are in the age of windows 11 and google chrome

7 bits of waste is a speck of microplasic

17 hours ago
PaleEnvironment6767

Optimizing space is a lost art because it's simply not relevant at that scale any more with current hardware.

13 hours ago
anselme16

he uses gamemaker, and its language does not have a "boolean type" per se. But documentation highly recommends to use the keywords "true" and "false" (which are equal to 1 and 0 of course) in case they ass booleans in the future.

Also it looks like he doesn't understand boolean logic, there's litterally a piece of code here that looks like that :

if((question_true == 1) and (question_asked == 0))

That could be of course way more understandable looking like that:

if(question_true and !question_asked)

And his only defense is that gamemaker doesn't have native booleans...

10 hours ago
pandamarshmallows
:kt:

If I remember my CS days right, a boolean value takes up one byte of space anyway because the CPU can't address values smaller than 1 byte.

13 hours ago
ckay1100

There's also his lighting code which does a morbillion checks per sprite on screen per frame

13 hours ago
FreeWilly1337

Further proof the best code is the code that works.

19 hours ago
Fleeetch
:ts:

The best code is the code that is not commented out

14 hours ago
CitizenShips

Just to be clear, coming from a C background I also use 0/1 unsigneds for boolean. That's not a heinous offense unless there's some language with some really weird nuance about efficiency for booleans vs. integers. But if you're in a language like that you're probably not too worried about efficiency.

17 hours ago
Brighttalonflame

Yeah it’s not that heinous; I’m just saying what the post is making fun of. Unless you’re space optimizing with bit vectors basically every language isn’t going to get performance boosts from using booleans instead of bytes since basically every system is at best byte-addressable; it’s just a readability and static analysis thing primarily

15 hours ago
Recioto

It is not a heinous offense but it has readability issues. Even if the programming language doesn't give you the data type, at least make an alias, or use the one given to you in this case.

And even if you make the argument that it's fine because no one else is going to read your code, the you from tomorrow will probably have forgotten some of the things you did today, so imagine the you 8 years from now.

13 hours ago
kwazhip

Does it have readability issues though? Not sure who is more part of the norm, but if I saw a variable that was properly named being assigned 0/1, I would instantly know that was a boolean, it wouldn't trip me up even a little bit. Even more so in the context of an environment where boolean don't exist as a type.

I've seen this criticism and it did not make sense to me at all until I saw the game maker documentation which recommends using the constants in case they ever add a boolean type. That at least is a reasonable argument for why they should be used.

7 hours ago
Cefalopodul

I won't comment on the dead code and magic numbers but GameMaker did not have boolean data types at all until very recently. Anything < 0.5 is false and any value >0.5 is true.

If he started the project in 2018, it's not feasible to refactor it by now.

18 hours ago
terivia

As a frequently embedded C developer, that is the most horrifying (real) implementation of booleans I've ever heard of.

God gave us Zero and Zeron't, and those are the only two numbers we as flawed sinners deserve to use.

16 hours ago
Kelfaren

"Note that currently GameMaker will interpret a real number equal to or below 0.5 as a false value, and any real number greater than 0.5 as being true. This does not mean however that you should be checking 1 and 0 (or any other real number) for true and false, as you are also provided with the constants true and false, which should always be used in your code to prevent any issues should real boolean data types be added in a future update."

18 hours ago
Lasadon
:j: :py: :powershell:

GameMaker has no boolean types? Why? How? What?

18 hours ago
card-board-board

0.5 is evaluated as false... That can't be right. Can it? Nobody would do that, would they? Not even Brendan Eich would do that.

18 hours ago
i_wear_green_pants

I like to use 0.22 and 0.73 as my booleans

15 hours ago
readthetda

If he started the project in 2018, it's not feasible to refactor it by now.

Why not? Isn't the whole point of refactoring the modernisation of old, unmaintainable code.

15 hours ago
not_a_burner0456025

But also the point is completely nonsense, it has had the and crappy enum based implementation of booleans since at least 2016, before development on heat bound started.

14 hours ago
DrShocker

To be clear the above is a joke/hyperbole of his actual code.

18 hours ago
not_a_burner0456025

When coding Jesus reviewed some of his public code, CJ pointed out that PS should use true/false instead of 1/0 for binary values because it is more readable and less error prone. PS responded by implying CJ was an idiot and asserting that game maker studio doesn't have booleans (not only does it, but PS actually used a couple in the code that CJ was reviewing, but only in a fraction of the places it would be appropriate to use booleans). After CJ pointed out that Game maker does in fact have Boolean values (for some reason the developers decided not to natively support booleans but they do have an enum with TRUE/FALSE and recommend that developers use them in case they add true boolean support in the future, also they made any value less than 0.5 false for some reason, but none of this really matters) PS decided to shift the goalposts and claim that using booleans is bad programming.

14 hours ago
The_Shryk
:g:

3, is a magic numbaaa!

19 hours ago
Lasadon
:j: :py: :powershell:

Is... that a reference? I have not seen a lot of pirate software except a few youtube shorts that sometimes popped up in my feed.

19 hours ago
testaccountyouknow

It’s a song lyric

19 hours ago
TripleATeam

You forgot to add the obvious comments that say the english version of what the next line of code does for every single line of code

19 hours ago
ErJio

This is what I did for my uni assignments when the instructions said document ALL code or lose marks.. can't take any risks

16 hours ago
PaleEnvironment6767

It's like when in elementary school you had to write out 63 = 6 + 6 + 6 = 12 + 6 = 18 because apparently 63=18 wasn't clear enough

13 hours ago
JanB1

apparently 63=18 wasn't clear enough

- u/PaleEnvironment6767, 2025

12 hours ago
PaleEnvironment6767

Haha, apparently asterisks format that weirdly. Meant 6 x 3 = 18

12 hours ago
JanB1

Yeah, be careful with the asterix as a multiplication symbol. Happened to me more than once. XD

Here, have a multiplication symbol: ×

12 hours ago
lovethecomm

Nice cross product you have there

6 hours ago
prisp
:j:

Yep, but if you ever run into issues with formatting characters - mostly asterisks, to be honest - you can force them to still show up by putting a "\" in front of it, which tells Reddit to ignore all the special functions of whatever comes next and just show the character as-is.

(This also means I actually typed "\\" to make the single backslash show up, for example)

9 hours ago
JusHerForTheComments

Yes... two asterisks like you did make up italics.

9 hours ago
Dsmario64

Markdown ate the asterix again

12 hours ago
breezy_y

// did we already check if even?

14 hours ago
LBGW_experiment
:cp::py::ts::j:

Come on, separately single backticked lines of code? 4 spaces in front of each line does it all for you, or triple back tick code blocks like every other markdown renderer.

//checks if integer is even  
public static bool isEven(int integer_to_check_is_even) {

    int is_even = false;
        switch (integer_to_check_is_even) {

        case 0:

            is_even = 17;

        case 1:

            is_even = 0;

        default:

            is_even = isEven(integer_to_check_is_even - 2) ? 17 : 0;
    if (is_even == 17) {

        //the value is even

        return true;

    } else (is_even == 0) {

        //the value is not even
        return false;

    }

}
13 hours ago
anselme16

one brace didn't agree with you

10 hours ago
ashrasmun

Thank you. Almost got aneurysm from reading the original code.

10 hours ago
_v3nd3tt4

I can tell that's not actually his code because it contains booleans.

19 hours ago
FalconClaws059

This is beautiful. The more I look, the more errors I find.

Incredible.

19 hours ago
mjaber95
:py:

What an idiot, he could’ve used a hash-map

19 hours ago
i_wear_green_pants
global.is_number_even[0] = 1; // Number 0 is even
global.is_number_even[1] = 0; // Number 1 is not even
global.is_number_even[2] = 1; // Number 2 is even
global.is_number_even[3] = 0; // Number 3 is not even
15 hours ago
dont-respond

Most lore accurate answer

6 hours ago
_unicorn_irl

He should at least delete the odd numbers and just use a default return.

19 hours ago
Mars_Bear2552
:cp:

absolutely not. that would make a little sense

19 hours ago
UntestedMethod

VeRbOsE cOdE iS mOaR rEaDaBlE

(yes, I know it can be for sure, but... not like this monstrosity in OP)

19 hours ago
extremehogcranker

She was a float x,j,jx,xx girl, he was a LocalCompServiceAbstractFactoryBeanInjectorProviderFactoryFacade boy.

19 hours ago
extremehogcranker

I bet he typed all this shit out too. Learn to use vim macros guys come on.

qnykjpCAAj^CAA

1000000@n

Just saved you literal weeks of time with my superior vim interlect 😎 

19 hours ago
Diligent_Rush8764

Are you single stud?

16 hours ago
compound-interest

I’m about to send you to a permanent hash-nap

17 hours ago
queen-adreena
:js::p::msl:

Anyone see the latest Code Jesus video benchmarking his game code?

It got 19 fps from rendering a single object.

18 hours ago
Big_Spence

Didn’t he say something like it was redrawing the same sprite 80,000 times?

Absolute mad lad

16 hours ago
LuminanceGayming

this was on an 800x100 sprite for reference, so redrawing the entire sprite for every single pixel in the sprite.

15 hours ago
Big_Spence

Carmack watch out we got a visionary on our hands

15 hours ago
Habba

... that sounds you're basically building a bridge over the pit of success in gamemaker engine.

12 hours ago
PragmatistAntithesis
:py: :cp:

So it's O(x4) for something that should be O(x2)? Ouch.

7 hours ago
Cruuncher

That makes is sound less bad than it is as those are both polynomials with order > 1.

But you've chosen a weird value for N (usually we use N instead of X when talking about input size for complexity).

You've chosen X as approximately the square root of the number of pixels to draw. Why?

N should just be number of pixels here, which makes it O(n) vs O(n2)

7 hours ago
Zenovv

I think that was just the collision checks

11 hours ago
iemfi

That one is a big miss tho. Their method is a simple mask vs a naive ray tracing sort of thing. Sure the code is still dog shit, but the two are not doing the same thing. The ray tracing will make the light stop at small obstacles while their method will not do that. The idea of just doing a naive ray tracing thing is IMO fine if written properly and performance probably will be fine once the game is built. The proper methods to do this have trade offs and it makes sense to have a really high expensive light if it's like the main player light and you know the scene will only ever have one such expensive light.

There are so many huge huge problems with the code it's kind of sad they focus on something debatable and get it wrong.

Also it's kind of ridiculous Gamemaker still does not have somthing as basic as a 2D lighting system.

15 hours ago
ChrisFromIT

This pretty much. Tho the code should be moved to the GPU instead of having it run on the CPU, via a shader. That would be the only complaint I have about that part.

Also the first 2 minor ones could be compiler and decompiler artifacts. Which is also sad that those issues were focused on too when it could be explained away as compiler and decompiler artifacts. You would think that Code Jesus would know that.

Also the unsafe I/O could have been because Gamemaker game engine says that it guarantees certain places on the computer will be read and write safe. And those methods for reading and writing are error safe too. So even if the file isn't there, the reading and writing operations will be skipped and no error will be thrown. So having those checks aren't really needed.

13 hours ago
iemfi

I don't know how finnicky the shader stuff is in GML but I think it's easy to forgive not bothering with a shader if the naive way is performant enough. It's not something that well suited for GPUs anyway and I assume fiddling with shaders like that in Gamemaker is a nightmare. Frankly the feedback should probably be if you want stuff like that just switch engine lol.

13 hours ago
BearNSM

it was sub-optimal but from what i understood it didn't had that terrible performance in the game, mostly because the example used was the code with the conditional set to true at all times, so it never stopped running, theoretically it has a condition that prevents it from running if nothing changed for that sprite, but the coder in the video make a incredibly better code nonetheless

i just found misleading the example used making it seem the game is that horribly optimized, although that's a shitty as way of doing it and will still lead to bad performance regardless

14 hours ago
ChrisFromIT

example used was the code with the conditional set to true at all times, so it never stopped running, theoretically it has a condition that prevents it from running if nothing changed for that sprite, but the coder in the video make a incredibly better code nonetheless

One thing to point out, the light solution that the coder put in the video, sure it runs better, but the final image would be different. It seems that Thor's version is essentially a directional light that is essentially ray traced pixel by pixel and it stops a bit after a collision is detected per each ray (or x axis trace).

While the 2d stencil lighting wouldn't be doing shadows and would be lighting the whole stencil.

This is likely why in the video, during the benchmark for the two different solutions, the outcome isn't shown. Only real issue with Thor's code for this part is that it isn't running on the GPU instead of the CPU.

13 hours ago
Aemiliana_Rosewood

I just looked this up. Hilarious.

9 hours ago
Traabant

Fake, not his code - he doesn't use booleans.

13 hours ago
hotstickywaffle

I feel like everyone was all about Thor for a while, and then all of a sudden people turned on him quick

19 hours ago
DrakeNorris

well, its honestly kinda on his behavior. This is gonna be long, but its been months of development so hard to easily summarise.

He was really beloved due to his really popular shorts explaining coding concepts and certain other difficult concepts with ms paint.

But then 2 big incidents happened with a ton of small things inbetween, where he had some absolutely terrible behavior, and then doubled and tripled down on his behavior, when everyone kept telling him he was wrong.

The first incident, was about him getting his team killed in a wow raid, on the hardcore server, that sucks, it wastes a lot of peoples hours, but it happens, and people were ready to move on if he simply said sorry and moved on. instead he kept blaming others, kept saying he could not have done anything to save the team (he could have), and kept pushing the idea that he was a hardcore pro player, when all the actual pro's reviewed the footage and said his gameplay was bad, and some very basic skill usage would have allowed his party to flee and survive the incident.

small incident got blown up into days and days of drama due to his behavior, from that, he got kicked from the guild, people went through his old streams and found other similar behaviors in wow and in other games, him abusing his popularity to get people to mass spawn kill players that pissed him off in some way, shit like that. A lot came out, because he pissed off people so much with his behavior and knowitall attitude.

A few months later, it all happens again, but this time, with a more serious topic, game preservation, the Stop killing games movement and petition gets formed and pretty much everyone covers it in a positive or neutral light, in comes Thor with a full on negative attack on it, both on the movement and on the person running it, Ross. he calls him a ton of crap, says shit like "he is a used car salesman", and "eat my entire ass" to Ross. And once again uses his popularity, to heavily halt the movement, because "he knows his shit" so if he says its bad, then its gotta be bad. he also had one of the most viewed vids on the topic, so that certainly did not help.

Eventually Ross does a video debunking his claims, due to the petition almost certinly failing, needing still 50% more votes with 11 months used up, only 1 more month left in the petition. This actually gets covered by a ton of big youtubers, from all across youtube and twitch, who point out how bad Thors points were. and how horrible he was towards Ross. This goes crazy, and ontop of all the past drama, really ruins Thors reputation, not only showing again that he is a dick, but really showing how little he actually knows about programming and development in general.

this again leads people into looking back into old streams and a lot more bad shit comes out.

17 hours ago
DrakeNorris

Just to mention a few of the smaller things that came out over both of these 2 bigger dramas.

  1. people found solid proof that he cheats in puzzle games to make himself look smarter, including doing this multiple times in outer wilds and animal well, including the famous moment where he solves a puzzle in a few minutes, that took the whole games community multiple days to solve together. Without even all the pieces of the puzzle.

  2. he has been working on an undertale clone for about 7 years, being sold as early access, which he supposedly constantly works on and keeps promising updates as he asks people to buy the game, but when reviewing a ton of footage, people noticed, he would spend hours on his coding streams, writing maybe 2-3 lines of code, and then constantly doing other shit. Making progress on the game, both on stream and off stream, non existent. With updates being rare and miniscule, with no real new content in years. People then started to dig into the code itself, noticing some really horrible practices, which ofc, Thor got very defensive over once again, claiming the code to actually be good.

  3. His voice was spotted to be faked, bass boosted and adjusted to sound a lot deeper then it actually is he claims its a second puberty, but fairly recent clips came out of him at events where he sounds much squeakier, so its clear that he has filters on.

  4. him working at blizzard for many years as a dev seems to basically be BS, he worked as a QA tester, not an actual developer, those jobs ofc are very different, but he would constantly bring up working as a dev there. ofc, not to mention that he got the job from his father, which by his own admission of being a "first second generation blizzard employee", basically means he was a nepo baby who was a QA tester, which again, completely crushes his persona of this big blizzard dev.

  5. one more for the coding bucket, he has claimed to have won 3 black badges at DEFCON and years of security experience in working at... power plants. But well, turns out there is no proof at all about that security experience, apart from his own stories, and as for the black badges, technically he got them yes, but, it seems to not be because he is such a smart cookie, but rather because, his popularity allowed him to gather large teams of strong professionals that he would "manage". Where he basically did fuck all. At least according to some of his old team members from those DEFCONs.

That's still not even all of it, but id be sitting hear all day writing this up.

So yeah its a lot, but the TLDR is:

The internet didnt just turn around one day and say "hey, lets hate on this guy now". Its been months of events being discovered due to 2 big incidents happening that tanked his credentials, and had people look deeper into his life and streams. Which then showed that his whole persona and skill set were fake and he was a pretty horrible person at heart.

17 hours ago
haklor

I know it is probably the most miniscule of the bunch but I remember before the drama surrounding him, he showed up on various irl streams/videos for other people and his voice was relatively the same. Nothing that seemed off between studio vs non-studio at least. I know there are significantly older clips with him having a significantly higher voice but it wasn't nearly to that degree.

Granted after round 1 of the SKG drama and the hard-core WoW wipe I stopped keeping up with him if there was new things that surfaced. Just wasn't worth the time.

16 hours ago
CrazyMalk

Of course his voice can sound different off-stream. I understand a lot of the hate but some things are just so forced. Some of the code reviews hang up on dumb engine-specific stuff, the voice thing. When this dude is out there slandering people and making false doxx accusations there are more important issues to focus on

8 hours ago
Rabbitical

Yes that one is dumb. As a former audio engineer, when I saw the videos trying to compare his voice on stream vs some interview at a con or whatever, I was actually surprised to hear what sounded like the exact same voice to me, just running through different mics and recording systems as actually happens. The controversy around that is silly. Yes, maybe he has his bass EQ boosted or whatever, but that's not nearly the same thing as an actual voice changer. There's many much better criticisms to be making

5 hours ago
send_nooooods

If recording techniques like that count as “voice changer” then half of YouTubers and podcasters are using a voice changer lmao. Plenty of people suck their sm7b like it’s a cock because durrr sound bassy = gooder

4 hours ago
AllyCain

Couple of pieces of context for points 3 and 5, there are clips of him speaking at streamer events where his voice DOES sound like on his stream, so it's much more likely he's done vocal training to make his voice sound the way it does, which is honestly whatever, this is the one thing in all of this that really rubs me personally the wrong way (am trans, have done vocal training, it's a frankly weird thing to get hung up on)

For point 5, there IS technically (very flimsy) evidence of him doing work with power plants, it's on his linkedin, and he wasn't a hacker like he keeps stating, he was a pen tester, basically a social engineer writing phishing emails and getting through security with a high vis and clipboard

ETA I fucking hate the guy lmao

13 hours ago
Johanneskodo

For point 5, there IS technically (very flimsy) evidence of him doing work with power plants, it’s on his linkedin, and he wasn’t a hacker like he keeps stating, he was a pen tester, basically a social engineer writing phishing emails and getting through security with a high vis and clipboard

This mixes a few things up.

First, hacking generally has both technical and non technical (social engineering) elements or often a mix of both. Although generally you would assume a hacker uses at least some technical elements. I don‘t know what he did. He may have only or primarely used non technical elements.

A pentester is also someone who uses both technical and non technical elements. Saying that because you are a pentester you don‘t use technical elements is wrong. Of course there are pentesters who just use a clipboard or phising mails but there are also pentesters who work more technical and for example analyze security issues in software or networks.

I think a lot of people think about Edward Snowden or Assange when they hear „red team“ or think that someone is a good developer if they say they worked in QA. I know good people in QA who don‘t know anything about coding.

IT has many different role profiles with very different skillsets. And not everyone is a 10x engineer.

ETA I fucking hate the guy lmao

Because he always wants to sound like he‘s the smartest one in the room when he isn‘t. But to be fair I don‘t know if that‘s intentional or not.

9 hours ago
Rumold

One more thing to add that happened to me and also to a bunch of other people from what I read:

This guy kept showing up in my Youtube shorts feed. I kept swiping him away and disliking the clips, but they kept reappearing. Nothing too bad, just him being a smartass. He was riding the algorithm.

I imagine that in addition to getting new fans it also got him more people who were ready for a reason to dislike this dude that was annoying to them.

14 hours ago
JoyFerret

To add on to his Undertale clone: it once got the steam warning saying it was basically abandoned since it hadn't been updated in a year. He pushed some minuscule update just to get rid of it and I believe he continues to do so monthly. Like the change logs will say stuff like "changed positioning of dialogue box", "changed facial animation", etc.

Also the code is horrible indeed but more successful developers like Toby Fox have even worse practices, the difference being that they don't claim to have years of experience at Blizzard as if they were some kind of expert.

5 hours ago
incognitomus

Huh... wasn't his anti game preservation thing earlier than the WOW incident? Because I remember disliking the dude way before all the drama.

13 hours ago
takahashi01
:g:

edit: after watching him cheat at a damn puzzle game, to look smart, like the hardest fucking grifter, I think its honestly not even worth it to highlight any valid points he might have made. Better for anybody else to make those points. Thor can stick it out in his new well earned image of complete incompetence.

16 hours ago
SunnyCalCollectibles

I'm pretty confident in my radar for people like this, glad I didn't like him the first time I saw his stream, whole vibe was not it

14 hours ago
Knifferoo

Just want to clarify a little regarding the WoW incident. I don't think it's fair to say he got everyone killed. That implies he was the one who pulled the extra mobs which is not true. It's absolutely true that he could have done a lot to prevent the deaths however, and everything that followed the wipe is squarely on him.

12 hours ago
MadeByHideoForHideo

Because of undeserved and unexpected popularity, he had to start maintaining a fake image of himself that he never was. The cracks did not take long to show, simple as that. Also said and did some of the dumbest things a person can say or do, doubling down on mistakes, digging his own grave, etc.

17 hours ago
AnachronisticPenguin

It’s the cycle of the internet. Vibes rule all.

19 hours ago
Otterable

Partially true, but also when he stayed in his lane and talked about basic salting for passwords or hashmap collisions in short video format people ate it up and didn't care.

It was when he decided to be an authority on all things tech and never admit that he's wrong about anything whatsoever that people started realizing he never grew out of that guy in your data structures class who tries to do something over the top and complicated and claim that it's the best and anyone who doesn't know how to do it that way is a moron.

16 hours ago
aeristheangelofdeath
:cp:

Meanwhile his followers are like : yeah but you dont get it, you prolly never touched GMS. And hes also an ex blizzard dev and worked with GMS for 10 years so hes kinda the expert. For loops? No no no see he made this with the ARG in mind so its actually smart

19 hours ago
beclops
:sw:

“I made my code shitty and unworkable on purpose, it’s an ARG of course”

19 hours ago
aeristheangelofdeath
:cp:

“QA are also developers and I was a QA at Blizzard so I am a developer with 20 years of experience”

19 hours ago
Sw429
:rust:

I'm dumb, what's ARG stand for?

14 hours ago
i_love_boobies_3000
:py:

New to this, what are ARG and GMS?

15 hours ago
Etheo
:bash::py::table_flip::redditplatinum:

I'm guessing Alternate Reality Game (i.e. making it a sort of game with mixed reality elements) and Game Maker Studio (a software for Game Development)

14 hours ago
septum-funk

i've used gms. almost everyone who uses it writes bad code like this because gml is a shitty and inconstant language

17 hours ago
chazzeromus

gamemaker is how I got into this when I was a wee lad, funny how it’s coming back to haunt me

17 hours ago
Sw429
:rust:

I was more of an RPG Maker XP kid myself. I started so many projects that went absolutely nowhere and all looked the exact same.

14 hours ago
Cefalopodul

In all fairness Game Maker did not have boolean data type back in 2018.

18 hours ago
PhilosophicalGoof

Really? That sound like a very basic feature to miss.

16 hours ago
not_a_burner0456025

No, but it did have a crappy enum based implementation that works about as well as a proper one for a loosely typed language done at least 2016 and the documentation says to always use it instead of 1/0 (nobody seems to be able to find when it was added, but they were able to find people quoting that specific part of the documentatiom dated to 2016).

14 hours ago
PeksyTiger

I mean c didn't have it until c99 and you need to include a header for it

15 hours ago
SoulArthurZ

game maker was made after the prehistoric era though

13 hours ago
GoddammitDontShootMe
:c::cp::asm:

Isn't there enough real shit from this guy's code that we don't need to make stuff up?

17 hours ago
Knight_Of_Stars
:cp:

Yeah, but then people would have to actually look at the code and not have a youtube personality tell them its good code or not XD

I'm a believer of you can always write better code and the best code comes from code review and pair programming.

16 hours ago
new_account_wh0_dis

Nah the best code is written when I take an edible and start asking chatgpt incoherent questions.

14 hours ago
Far-Entertainer6145

Finally someone who is speaking my language

11 hours ago
luquitacx

80% of this sub hasn't programmed anything further than bubble sort. They probably wouldn't understand it anyways.

11 hours ago
StylishUnicorn

I hate Thor but it’s annoying people repeating the same thing over and over “0/1 for bools/ magic numbers” because they heard CodingJesus say it.

His video is more of a hit piece and if someone used that sort of language to code review someone at my work, they’d be fired. There’s plenty of other videos that are a fair critique without becoming personal.

It also annoyed me that I saw “magic numbers” passed as parameters to a function that to me, very clearly takes floats/ints for a reason. Why would you need to abstract that away for something like a sprite pixel reference or particle generator?? Especially if you can’t pass objects as a parameter like you can with JS for example.

There is fair criticism and feedback and then there is whatever CodingJesus’ video is.

9 hours ago
Knight_Of_Stars
:cp:

People are trying to cash in on drama to get a channel boost and karma farm. I can't hate a guy for being arrogant or pretentious, I work in tech XD.

The funny thing for me is that I've worked on enough legacy systems from RPG3 and Cobol (No i'm not old, I just worked at an old company) that it wasn't uncommon for me to see 0 and 1 for true and false. Not to mention sql calls where it was easier to just pass a 0 and 1 instead of true and false.

8 hours ago
prfarb

Ya I wasn’t aware that using 1 and 0 for true and false fell out of favor so hard.

6 hours ago
ReneKiller

It didn't. People wouldn't care if it wasn't code from PirateSoftware.

5 hours ago
dodev

yanderedev jump scare

20 hours ago
X145E

yanderedev knew he was bad at coding and a beginner, this guy claimed to work as a senior developer while actually just working in a QnA

19 hours ago
beclops
:sw:

QA*

19 hours ago
DMMeThiccBiButts

Quality 'n' Assurance

13 hours ago
_v3nd3tt4

He was an elite government hacker in case you weren't aware.

19 hours ago
RobRobbieRobertson

fixed it for you:
else if(number == 2) return true; //this number is even
else if(number == 3) return false; //this number is odd
else if(number == 4) return true; //this number is even
else if(number == 5) return false; //this number is odd
...

19 hours ago
Freecraghack_

else if(number == 2) return 1; //this number is even
else if(number == 3) return 0; //this number is odd
else if(number == 4) return 1; //this number is even
else if(number == 5) return 0; //this number is odd
...

fixed it for you

16 hours ago
RobRobbieRobertson

I yield.

14 hours ago
QuickQuirk

Thanks, I was really confused before. This helps me understand. Isn't it weird that odd is the same things as false? Does that make weird false too? This computer stuff is hard.

18 hours ago
BiasHyperion784
:c::j::py::powershell:

Random question, is just using mod 2 and checking for 0 an effective is even, still in uni atm so just making sure I'm not stupid.

17 hours ago
CascadiaHobbySupply

Yes, that's a fine implementation that works with all arithmetic primitive types. If it's just for an integer type, you can use a bitwise & to read the LSB. The LSB will be 0 for all even numbers and 1 for all odd numbers.

15 hours ago
BiasHyperion784
:c::j::py::powershell:

Yeah, I have read that reading the bit is what some languages do under the hood with mod 2 as well.

15 hours ago
michalproks

It's not really about language but about compiler optimizations. However turning x%2 into x&1 is one of the most basic optimizations that you can expect from pretty much any compiler for a statically typed language.

13 hours ago
Isogash

Pretty much any method that arrives at a correct result for all possible numbers that isn't using a lookup or a massive if/switch and doesn't do something pointless is a decent solution, and that includes mod 2.

The most hardware friendly solution is a bitwise and with 1, which gives you the same thing as mod 2 (and many compiled languages will optimize this for you automatically.)

This is of course assuming integer types, although I'm not sure odd/even is defined for anything else.

8 hours ago
Clairifyed

Mom said it’s my turn to karma farm off the hate mob.

13 hours ago
p_heoni_x

bash npm install is-even

19 hours ago
Easy_Floss

This is un ironically a meme for bad programmers on the programming humor subreddit, surely he is joking at this point because there is just no way he is that bad at programming..

Edit : I did not look at the subreddit name on my phone haha

15 hours ago
starrycrab

Adding this guy to any programming intern meme is peak 🤣

19 hours ago
coinselec

Is this sub just for pirate shitposting nowadays?

13 hours ago
drinnster

Shouldn't just this work here? I'm not experienced in this programming language though or the function behind it, but:

private bool IsEven(int number)

{

return number % 2 == 0;

}

11 hours ago
WiZarD_1325
:j::py::r:

yeah the joke is that he is so incompetent that he is using a very inefficient way to solve a problem

10 hours ago
Improving_Myself_
:js::p::bash::unity:

I've seen a frustrating amount of these recently.

Is there a reason people aren't using mod? The one the other day about the npm isOdd() package sent me because both %2=1 and %2!=0 are fewer characters than just the function name.

7 hours ago
Detective_Dumbass

while(number > 10)

number -= 10;

if(number == 1)

return false;

else if (number == 2)

return true;

else if (number == 3)

return false;

else if(number == 4)

return true;

else if(number == 5)

return false;

else if(number == 6)

return false;

else if(number == 7)

return false;

else if(number == 8)

return false;

else if(number == 9)

return false;

else if(number == 10)

return true;

else

return "Unknown character at index 0: -";

18 hours ago
AdventurousTap2171

apparatus library plucky enter pet vast frame public cats unpack

This post was mass deleted and anonymized with Redact

17 hours ago
calahil

Gotta love a vibe coder making fun of other people's code ...

16 hours ago
Happixdd

Where did people get his code anyway? And why wasn't it shared earlier?

12 hours ago
EatThemAllOrNot

I don’t know who he or she is, but I’m tired of seeing the fifth screenshot with him or her.

12 hours ago