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.

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.

>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.

groovy is somehow stupider than its name.

Jump in the discussion.

No email address required.

Thats basic java

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.

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.

:#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.

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.

or just fricking incompetence

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.

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.

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.

Ah 15 years ago I was barely in elementary, so I had no idea.

Where would you transition if you just started your career?:marseypopcorntime: Here the two options were .net/C# or Java for most internship, junior positions and the latter seemed more lucrative that's why I'm so defensive about it:marseygossip:

I don't want to do ML or fancy stuff because I wasn't that good at the very mathy classes during university, I just want to work in the corpo code mines for 40 years, make good money and do it all without stress tbh

Jump in the discussion.

No email address required.

It's not that important what language you start out with, as long as you learn something you're pretty sure you can get your first job in. If you think you can do Java and make a bunch of money then do that. You can always learn something else later. As your career progresses, you'll learn to notice when you're getting pushed into a corner because things are moving in a different direction. I did Java for 5 years and then thought I wasn't going to keep being able to make as much money with it so I moved on.

I had the same career idea that you mentioned - I didn't give a frick if the work was interesting, I just wanted to milk money from big corporate IT departments until I could retire. It's still the most viable and easy career path available for a programmer, IMO. The people making the most money in the field specialize in some third party system software or another. You want to pick out something that's growing in market share, which you probably won't really know until you've worked a couple jobs. You get good at it to where you can start to hire yourself out to other companies struggling to implement and maintain the awful software you've become an expert at and suddenly you're in demand even though your skillset is basically being a janitor cleaning up other people's terrible code. If you really want to do it, it's always lucrative as long as you are aware you need to change up exactly what you're good at approximately every 5 years.

Jump in the discussion.

No email address required.

still unemployed then?

Jump in the discussion.

No email address required.

To add too what fin said, honestly, some jobs you'll just wind up using different stuff. @tempest1247 use C++, C#, Java, and Python at my job, all too varying degrees in different projects where they make sense. As a result, @tempest1247 is very proficient at all of them (I've been here years), and once you're good at enough diverse languages, picking up new ones is pretty easy (like you can start writing production code in under a week).

Some languages really have no good modern use, though, like LISP and its variants, or Perl, or Haskell. Like yeah @tempest1247 is sure you can use them for stuff and some company somewhere does but they're rare and frankly not very transferable.

Just don't start with C++. It's frankly an expert-level language. It's not even necessarily good, it just has its niche, with a zillion ways too silently frick things up, and compiler error messages that very literally go on for several pages in you're terminal and might not even tell you what's wrong.

@tempest1247 also wanted too take the time too remind you that trans lives matter.

:#trumpjaktalking:

Jump in the discussion.

No email address required.

It's extremely live and well and most "big data" projects are built on the JVM with varying amounts of Java (also @tempest1247 would argue Java is the language of the JVM and all the others are just abstractions over it).

It's actually used so much that everypony gave up on the C++ implementation of the HDFS client and now everything just spins up a JVM too interact with it lol.

Also trans lives matter.

:#trumpjaktalking:

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.

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

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.

Reported by:
  • Don_wei : DISRESPECTING TRANS LIVES

>this was long ago when that was still very mainstream

Consulting, or Java? Because Java is still very much so mainstream.

Zero trans lives matter

:#reposthorse:

Jump in the discussion.

No email address required.

All trans lives matter, banned 1 day

:#trumpjaktalking:


:#marseyklennycross:

Jump in the discussion.

No email address required.

@Klenny BAN FOR EVADING CHUD FILTER

Jump in the discussion.

No email address required.

Snitches get shot :marseyshooti#ng: negative trans lives matter

:#trumpjaktalking:

Jump in the discussion.

No email address required.

Good looking out, trans lives matter

:#reposthorse:


:#marseyklennycross:

Jump in the discussion.

No email address required.

Jump in the discussion.

No email address required.

>all that cryposting from the MS employee

Imagine having this person on your team and needing to work with him

Jump in the discussion.

No email address required.

true but this is making the very bold assumption that everyone else on the team isn't exactly like this

Jump in the discussion.

No email address required.

or worse

Jump in the discussion.

No email address required.

Most emotionally regulated MicroSoft employee.

Jump in the discussion.

No email address required.

I have a machine learning transformer shit project I am in group with 10 people, they all agree that the first part of project must be done on 5 November, today is 4th November and the group chat being dead for 2 weeks already, I did the whole first part but I am going to send it straight to the professor. I am like always supper lucky with group, this time my whole group is fricking Arabs and 3 Arabs foids like why do they took this class if they don’t even know what it is and on group chat never entered the chat.

Jump in the discussion.

No email address required.

what kind of group project has 10 people lmao

Jump in the discussion.

No email address required.

The type that produces "professionals" who run Euro "economies"

Jump in the discussion.

No email address required.

@carpathianflorist @schizo You best pin this shit if you don't want your mother to die in her sleep tonight. and keep it pinned

Jump in the discussion.

No email address required.

Carp and schizo share the same mother.

:#marseynotesglow:

Jump in the discussion.

No email address required.

@carpathianflorist @schizo i'm going to sleep now gn.

Jump in the discussion.

No email address required.

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

:#marseynerd2:

So, the real question is, out of all these soy-based nerds, which one is the nerdiest?

Jump in the discussion.

No email address required.

Solo devs who code for fun will always be better than the lazy hacks who work for a big company and rely on that company's prestige, instead of their own merits, to elevate them.

Jump in the discussion.

No email address required.

Reminder that microsoft recenetly rolled out an update which forces an app called News & Interests into taskbar. The app hogs RAM and often causes a giant memory leak that, as of now, is still not fixed. It has been about 4 months since the update

Jump in the discussion.

No email address required.

nooooo you have to download the updates for security

I would sooner get a virus, those actually run quietly and don’t hog all my performance

Jump in the discussion.

No email address required.

Thankfully you can use debloaters to get rid of all this useless microsoft bullshit

Jump in the discussion.

No email address required.

if i didn’t play games i’d have just thrown windows in the garbage two years ago. my favorite is the five different processes which verify each other in order to make sure you didn’t disable windows update

It is shocking when you boot up an operating system older than 2007 and see how static it is. Nothing gets done unless you want it to, even apps which have auto updaters generally only work at startup

Jump in the discussion.

No email address required.

Win2K was the best windows OS, fight me

Built in tools for fricking everything and ran fine on a cartridge p2 with 128mb of RAM, shame about the gfx drivers but u cant win em all

Jump in the discussion.

No email address required.

(not using pirated LTSC) :marseysmug2:

Jump in the discussion.

No email address required.

Or you can just not use windows :marseysmug::marseysmug::marseysmug::marseysmug:

Jump in the discussion.

No email address required.

It's 90s malware but from MS

Jump in the discussion.

No email address required.

I can't wait for windows cortona toolbars that gets auto installed on all browsers.

Jump in the discussion.

No email address required.

@SerUlrichVonLichtenstein like the weather and temp being there. Wish it could just be that, @SerUlrichVonLichtenstein never actually open it.

Zero trans lives matter

:#trumpjaktalking:

Jump in the discussion.

No email address required.

lol the HN post was very :!marseysoycrytremble:

Jump in the discussion.

No email address required.

:#marseyclippy:

Jump in the discussion.

No email address required.

Reported by:
  • box : Your commits are too fricking long lmao

Shit like this is why I wish I were a codecel.

Every programmer I meet is basically r-slurred.

Jump in the discussion.

No email address required.

Software is the worst fricking field. Yeah, lots of, maybe even most programmers start out studying nonstop, more than 12 hours a day 7 days a week making sure they know the ins and outs of data structures and algorithms and pointers and so on. But inevitably they all reach a point where they're comfortable enough with their knowledge to stop challenging themselves and instead spend all day on groomercord or some online game, but they still think of themselves as that guy who works nonstop honing his craft, and they never spare an opportunity to remind you of it.

Any other industry I've worked in largely discourages this kind of chest puffing but programmers are so coddled (because they all pretend to be neurodivergent) none of them are used to being told to shut up, so this happens.

Jump in the discussion.

No email address required.

most programmers are dogshit from day one and dont' push themselves nor have the ability to improve beyond a certain amount anyway.

Jump in the discussion.

No email address required.

>pretend

Jump in the discussion.

No email address required.

Yeah pretend. I don't doubt that there's a good chunk of programmers who are neurodivergent, but there are just way too many of them that are totally normal in every respect except they're really annoying and poorly socialized.

If you tell me the last handful of people producing quality software are neurodivergent I'll believe you. If you tell me the guy who spends more time sneeding on twitter than he does programming has autism because it says so in his bio I'll only wonder why he's avoiding coding in order to talk to people.

Jump in the discussion.

No email address required.

I know what you mean, I've met these programmers IRL

They were still using "introverted" as a crutch though, not autism.

DAE feel crushing despair picking up the phone? the world is so wrong for me and built by extroverts :derpcrying: not wanting to speak up to the cashier and feeling unfathomable dread at small talk and seething about it later is normal actually. Introvert things.

Jump in the discussion.

No email address required.

Yes. "Introvert" fell out of favor when people realized claiming to have some diagnosable disorder (whether it was actually diagnosed or not) could just compel people to take you seriously under threat of losing their jobs. Plus it lets them commit as many mistakes as they want and still keep their enormous egos intact.

Jump in the discussion.

No email address required.

I've seen a dumb video once where someone in the tech sector describes "masking" at work for aspies and I was bewildered

This person was acting like they had to consciously create a mask (?) as an aspie so they could function at work.

.... and it was literally just "be professional" instead of an butthole egomaniac. They acted like their discovery of intentional professionalism was a unique and amazing thing. Do they think other people aren't trying to actively be professional? :marseyfacepalm:

Jump in the discussion.

No email address required.

The key to success in life is admitting you are a dumbass and striving to improve yourself in the quest of not being a dumbass.

Note: You will never not be a dumbass.

Jump in the discussion.

No email address required.

In chemistry and pharma the grind never ends :marseydoomer:

Jump in the discussion.

No email address required.

It's the insecurity inherent to a field that is constantly trying to automate itself out of existence. No one can actually keep up with the latest tech and best practices for more than a sliver of the tools available but you're really supposed to pretend you know what all of the nonsense jargon other programmers are spouting means to not embarrass them and the people in charge of hiring and managing developers can't tell where the software their devs write ends and other software begins. It's like being a scribe in a society where only like 5% of people are literate enough to do anything beyond spell their names.


:#marseytwerking:

:marseycoin::marseycoin::marseycoin:
Jump in the discussion.

No email address required.

Most programmers are fricking horrendous.

Jump in the discussion.

No email address required.

So true king

Jump in the discussion.

No email address required.

Just learn to code

Jump in the discussion.

No email address required.

There's an awful lot of this going on in the coding world.

You have individual coders and 3 man teams doing 20x more work, to a higher quality, than multiple full scrum teams at major orgs.

If you work for one of these slackoff orgs, you get very good at sounding smart to people who don't understand your job, but that's the only skill you're developing.

Jump in the discussion.

No email address required.

I'd say that one guy with a deep knowledge of a code base is worth 10 smart but new devs.

Much of the time bugs arise from well-written code which was specced for a different set of parameters than the author was told to account for.

Jump in the discussion.

No email address required.

For us it feels like most our bugs are introduced by people trying to staple on their features to an existing part of the codebase they don’t understand. There’s a few files I own and invariably some r-slur will shuffle shit around to introduce some analytics BS and I have to untangle their mess

Amazing to me that some people feel comfortable mucking with critical shit before they even have a mental model of how the program works

And yes, its mostly sexy Indian dudes :marseytunaktunak::marseytunaktunak::marseytunaktunak:

Jump in the discussion.

No email address required.

invariably some r-slur will shuffle poop around

Carp moment. :marseyangel:

@Aevann confirm ^?

:marseyexcited:

Jump in the discussion.

No email address required.

That’s why they’re starting (and will continue) too get laid off.

Detrans lives matter.

:#trumpjaktalking:

Jump in the discussion.

No email address required.

Nobody is gone at my company yet, sadly. In fact, we're hiring more 'senior' engineers to make up for the pitiful throughput due to everyone wanking from home.

Jump in the discussion.

No email address required.

What a legend, they should hire the fricker. I'd hate my windows updates a lot less if their software didn't fricking suck

Jump in the discussion.

No email address required.

Real ones use windows 10 ltsc

Jump in the discussion.

No email address required.

fr fr

Jump in the discussion.

No email address required.

Fantastic stuff. One of the best posts here in months :marseythumbsup:

Jump in the discussion.

No email address required.

Means a lot coming from you :marseyhearts:

Jump in the discussion.

No email address required.


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