Unable to load image
Reported by:

EFFORTPOST [Effort] How one autist embarrassed an entire team of Microsoft programmers

Some background

When they're not busy designing pride flags the folx at Microsoft spend their time coding shitty software. Among these is the new Windows Terminal.

Casey Muratori is a programmer who, despite never releasing anything, clearly considers himself to be some kind of genius.

With that out of the way, here's the drama:

ACT 1: THE ISSUE

Frustrated with the slowness of Windows Terminal when printing colors, Casey submits a github issue. He even develops a benchmark application to accurately measure the speed.

After a bit of back and forth Casey starts to becomes frustrated:

Am I missing something? Why is all this stuff with "runs of characters" happening at all? Why would you ever need to separate the background from the foreground for performance reasons? It really seems like most of the code in the parser/renderer part of the terminal is unnecessary and just slows things down. What this code needs to do is extremely simple and it seems like it has been massively overcomplicated.

He receives this legendary response:

I believe what you’re doing is describing something that might be considered an entire doctoral research project in performant terminal emulation as “extremely simple” somewhat combatively. I am not aware of the body of work around performant GPU terminal emulation

Casey gets angry:

When we're at the stage when something that can be implemented in a weekend is described as "a doctoral research project", and then I am accused of "impugning the reader" for describing something as simple that is extremely simple, we're done. Consider the bug report closed.

After which a different Microsoft employee goes in on him:

You were overly confident in your opinion, but I hope [what I linked] helps you understand that it's actually really darn hard.

Basically the whole team agrees that what is being asked of them is extremely difficult. While Casey is insistent that it's trivially simple.

So who is right? A team of senior engineers in a trillion dollar company or a reclusive game dev?

ACT 2: A WEEKEND PROJECT

Casey tweets the following:

I take back literally everything I said about Microsoft taking an interest in fixing their terminal.https://t.co/K9ojvy1liX

— Casey Muratori (@cmuratori) June 17, 2021

And, over the following weekend, he implements from scratch a terminal that works in the way he proposed. It's ~100x faster than Windows Terminal:

(video timestamped to the part with the pretty colors, although the rest is fun too)

Twitter thread with some juicy questions from the audiance

Then this happens:

Afterward, the same dev [lhecker] also used a fake name to hang out on our groomercord and talk about Windows Terminal without telling anyone who he was. I figured it out and confronted them, and they failed to see anything wrong with that behavior. It's a really special team they have there.

— Casey Muratori (@cmuratori) May 6, 2022

ACT 3: MICROSOFT BENDS THE KNEE

Over the following months, there is an embarrassed silence from the Microsoft team. Eventually they release a blogpost basically admitting they were wrong, but don't mention Casey by name. Note that the person making the post is the one who snuck into Casey's groomercord.

Casey tweets:

When I tell the Windows Terminal team something is simple, I am "misguided", being "somewhat combative" and am "impugning the reader". But a year later when they call the exact same thing "trivial", that is just, you know, them writing a blog post:https://t.co/AXrgZjvUPT pic.twitter.com/UTDrD9s0o6

— Casey Muratori (@cmuratori) May 6, 2022

And finally one of them makes a post on Hacker News seething about the whole thing. Quotes:

We get it, Microsoft sucks, we should all be fired, rah rah rah.
-
Casey, I'm sorry. We made a mistake. I made a mistake! We didn't know what we didn't know, and thought we were clever enough to pass for it.
-
I just don't know what else he's asking for here. Credit? Us to die screaming? The blog post is matter-of-fact, and Casey is right: however, he said himself that it was trivial to do this. Is it not acceptable that we use the same language?

Truly a new low for Microsoft.


Want more nerd drama? See the previous post in this series.

311
Jump in the discussion.

No email address required.

>We get it, Microsoft sucks, we should all be fired

:#chadyes:

>I just don't know what else he's asking for here. Credit? Us to die screaming?

Even better.

Jump in the discussion.

No email address required.

@schizo pin this pls I want to get to 300 updongers

Jump in the discussion.

No email address required.

:#chaddonekingcapy:


:#capysneedboat2::#capyantischizo::#space:

Jump in the discussion.

No email address required.

carp unpinned it :marseycry:

oh well

Jump in the discussion.

No email address required.

It was pinned for over a day!!!


https://i.rdrama.net/images/1707881499271494.webp https://i.rdrama.net/images/17101210991135056.webp

Jump in the discussion.

No email address required.

Technically it was a stack award

Jump in the discussion.

No email address required.

Oh I just saw the context and it was repinned lol

There you go


https://i.rdrama.net/images/1707881499271494.webp https://i.rdrama.net/images/17101210991135056.webp

Jump in the discussion.

No email address required.

thanks :marseysoutherner:

Jump in the discussion.

No email address required.

but yea people saw it already

Jump in the discussion.

No email address required.

Great post, all I can say.

Jump in the discussion.

No email address required.

Imagine their share price if they put people like Casey in charge and not these dumbfricks who just want to coast.

Jump in the discussion.

No email address required.

I opened this fully expecting Johnathan Blow's windows lib finder

https://gist.github.com/tonetheman/522b623d00e64cb5feda5d68252fa68a

This file was about 400 lines before we started adding these comments. You might think that's way too much code to do something as simple as finding a few library and executable paths. I agree. However, Microsoft's own solution to this problem, called "vswhere", is a mere EIGHT THOUSAND LINE PROGRAM, spread across 70 files, that they posted to github unironically.

I would say that I'm shocked that they got totally BTFO by another game dev that barely releases games, but I'm honestly not.

Jump in the discussion.

No email address required.

All this over.... colored text in terminals? Microsoft should've maintained a "white text only" policy, introducing non-white characters to the environment just creates new problems for no real gain

Jump in the discussion.

No email address required.

Wtf is ptochus

Jump in the discussion.

No email address required.

windows is for straggots, real men use TempleOS

Jump in the discussion.

No email address required.

i just read that you are in the closed jai beta, i'm jealous , drop source now, i want to try it out myself :marseytrollgun:

Jump in the discussion.

No email address required.

it's not that hard to get in nowdays. but you didn't hear it from me

Jump in the discussion.

No email address required.

No one will ever use blow's hipster language. He's way over his head and will never get to releasing it.

Jump in the discussion.

No email address required.

Fantastic post yet my half-assed "effortposts" get the pin while they absolutely pale in comparison to posts like these.

I know you despise me but I can tell your coding skills and general coding knowledge is out of this world. Also, many of the top coding work places require incredibly contrieved recruitment processes so only certain kinds of codecel can actually pass. I'm too stubborn to believe that Lcrosoft has become like that too but geez, that post gave me a good introduction into this topic. I'll look into it tomorrow.

Jump in the discussion.

No email address required.

Does L stand for learner? I keep seeing it everywhere.

Jump in the discussion.

No email address required.

Nah, it is zoomer slang to indicate you are taking a loss / you're losing.

Jump in the discussion.

No email address required.

I don't despise you at all :marseyblowkiss:

I have very little actual coding experience actually, but I appreciate the compliment

Jump in the discussion.

No email address required.

Neat, I also made a terminal as a learning project as a teen in a few weekends. :marseywhirlyhat:

I suppose if they stopped overcomplicating things then a lot of them would be out of jobs, though.

Jump in the discussion.

No email address required.

I just want Quake mode to work dawg why's this shit still got animation flicker a year and a half later :marseysigh:

Jump in the discussion.

No email address required.

On one hand, I want to punch Casey in the face for conflating greenfield hobby development with having to manage a global ecosystem of legacy enterprise code built up over literal decades. On the other hand, I am intimately familiar with the bureaucratic and corporate bullshit that leads to dev teams throwing up their hands in resignation when having to confront structural code issues.

A bit of wisdom to all you RDramatards: there is far more than meets the eye with this shit. However, Casey's frustration with institutional cruft throughout the entire software industry is still rooted in reality.

Jump in the discussion.

No email address required.

This is literally a greenfield project they fricked up from the get go

Jump in the discussion.

No email address required.

It's not greenfield, it's a replacement for Windows Console.

Jump in the discussion.

No email address required.

I've never been in that position personally but the whole point of Windows Terminal is to make something new (while keeping cmd.exe for legacy stuff). Shouldn't they be fighting tooth and nail to use as little legacy code as possible and build something actually good?

Jump in the discussion.

No email address required.

I actually didn't know this was a new product called "Windows Terminal". I thought it was something like a PowerShell product support team. However, it is still built on WinAPI, just as Windows Console was (the program it is replacing). My gut tells me this is was an issue with virtualization emulation, which is far more advanced than "lol diversity hires fricked up".

Jump in the discussion.

No email address required.

It's not about virtualization friend

Jump in the discussion.

No email address required.

Casey was complaining about performance of the new terminal. Virtualization Emulation is what sits between Win32 and this new terminal.

Edit: Nm, I read that it has its own rendering backend so the performance issues probably have to do with that.

Jump in the discussion.

No email address required.

We get it, Microsoft sucks, we should all be fired, rah rah rah.

With performance like that absolutely.

Casey, I'm sorry.

Good. A sperg in his mom's basement beat you, you should be.

however, he said himself that it was trivial to do this. Is it not acceptable that we use the same language?

It absolutely is, and it's completely acceptable for people to mock you for your initial opinion because without getting the answer from a sperg you would probably still have been creating and implementing shitty code.

Jump in the discussion.

No email address required.

They need to take their Ls like good boys. It really sounds like they've learnt nothing.

Jump in the discussion.

No email address required.

I think they're still using the old implementation by default. Didn't actually bother checking.

Jump in the discussion.

No email address required.

I have never seen anything from Microsoft or 90% of currently employed Microsoft engineers that would lead me to believe Casey was wrong about his claims for a second. The amount of simple fricking bugs I've submitted and others I've watched over the years that sit unfixed for some upwards of a decade at this point is embarrassing. Good thing all of our first world governments will be beholden to them for the next century once they've finished porting all our infrastructure over to Azure. Microsoft software maintainers give the Gnome team a run for the stubbornly incorrect autism award.

Jump in the discussion.

No email address required.

Become a bug bounty hunter and get that bag king :marseyking:

Jump in the discussion.

No email address required.

Pin it

Jump in the discussion.

No email address required.

ikr

Jump in the discussion.

No email address required.

A company I worked for hired a consultant to write Java (this was long ago when that was still very mainstream). He was a very good developer, smart guy, could adapt his code easily to cover all the company's very very weird business scenarios.

100% of the code he wrote was overengineered to the point where you were going through 20 layers of abstraction when debugging it to get to where it was actually fricking doing anything. Because I understood how smart this guy was, I knew he did it on purpose so we'd have to keep calling him for consulting. The bigger consulting firms all have similar tricks but this guy was just a freelancer. His code was like if you read the Design Patterns book that was big right around then and tried to fit every single one into your application. Want to put some text on the screen? You should call the InputHandlerFactory to get an instance of the UI element where you want to put the text and then call the fricking TextStringMakerFactory to get an object that you can pass to the other bullshit.

At the time I hated this guy so much, but after I went into consulting, I could appreciate the hustle.

Jump in the discussion.

No email address required.

Want to put some text on the screen? You should call the InputHandlerFactory to get an instance of the UI element where you want to put the text and then call the fricking TextStringMakerFactory to get an object that you can pass to the other bullshit.

:#gigachad:

Codecels stay seething at the Inscrutable Grindmaxxer.

Jump in the discussion.

No email address required.

>factories

>1000 line stacktraces

>NullPointerException

>Long/long, Int/int ...

>builders

>20 different java versions, one machine

>factory builders

>30 year old code

>NullPointerException

>groovy/kotlin is meant to help, just means you have to learn them too

:#marseyrope:

Jump in the discussion.

No email address required.

Thats basic java

Jump in the discussion.

No email address required.

groovy is somehow stupider than its name.

Jump in the discussion.

No email address required.

It's likely just overanalysis rather than a hustle. Designing software architecture and forward-looking data schema without making it too convoluted is pretty darn hard. What you see is a software engineer attempting to cover all the potential bases without realizing that they've utterly sacrificed readability to make room for as many potential future functionality/business requirements as possible. What is lacking is the business sense to prioritize readability and maintainability at the expense of potential implementation options that will never realistically be necessary.

Jump in the discussion.

No email address required.

:#marseydepressed:

The client has changed their mind. They want [completely different type of software] 8 months into the project. You have two weeks to do the needful.

Jump in the discussion.

No email address required.

or just fricking incompetence

Jump in the discussion.

No email address required.

Yupp, the line is really fricking blurry. OP himself admitted the code could be adapted quickly to cater to very weird requirements. This is the price you pay. You can have simple code you need to design and implement anew for each feature or you can have a very hard to comprehend moloch of FeatureFactoryFactories. Doing it both simply and flexibly is the highest level of divine mastery.

TIL we have profanity filter. C*nt shart.

Jump in the discussion.

No email address required.

Response response = ResponseFactory.getInstance(rDrama.someGuy).generateResponse(ButtholeFactory.getCrankyInstance().getSnarkyResponse())))))))))))))))))) ))))) )))))))))))));;p;;l;;l;

Jump in the discussion.

No email address required.

print("fstragott")

Jump in the discussion.

No email address required.

Whenever I bust out the macro and template magic out of my sack to make that call into a single 'auto response = function<templateholder>(parameter)' my review becomes "no other marsey can read this shit bro. Stop it with the cutesy try harding and write obstruse code 5000 times in a row like a real npc monkey." :marseygunshotsuicide:</templateholder>

Jump in the discussion.

No email address required.

to write Java (this was long ago when that was still very mainstream).

Java is still very mainstream, especially for soulless corpo enterprise apps or am I living in a different dimension?:marseyconfused:

Jump in the discussion.

No email address required.

you are, come back baby. your family wants you to wake up.

Jump in the discussion.

No email address required.

Now that .NET is available on most architectures and Linux, and Linux subsystems are available on the opposing operating systems, it loses a lot of its domination as the "run anywhere so everything" language.

Jump in the discussion.

No email address required.

It is, but not like it was 15 years ago. It's still got at least one popular web backend, so it's not like it's dying, but it's also not the consultant bonanza it was in its heyday. And this is coming from someone who exclusively works on soulless corpo bullshit.

Jump in the discussion.

No email address required.

Wow, you must be a JP fan.

Jump in the discussion.

No email address required.

A fellow hustler

Jump in the discussion.

No email address required.

“we're done” <- never doubt this kings :marseykingcrown:

Because programing started being autist only club + autist ain’t shamed as in the past and have better copes + hardware it’s a downhill for IT world

Jump in the discussion.

No email address required.

better copes + hardware it’s a downhill for IT world

tfw devs could fit 70hrs of gameplay on 3x 700mb CD ROMs

:marseycut:

Jump in the discussion.

No email address required.

ps1 games were 70 hours of gameplay in 1/10 of a cd rom

Jump in the discussion.

No email address required.

Optimization skills went nowhere, I don’t expect devs to create masterpieces like ff9, ff10,-2 and mgs2-4 but it’s just hilarious that bf1 mogs in a lot parameters bf2041 and new ghotam knights is worse than batman 2015 :marseyemojirofl: and such things will be more common since we crossed the line where devs could just ride on stronger hardware and ray tracing ain’t gonna save their lazy asses and art direction now plays stronger role

Jump in the discussion.

No email address required.


Link copied to clipboard
Action successful!
Error, please refresh the page and try again.