475 comments

[ 0.22 ms ] story [ 297 ms ] thread
if it was an open project the narrative would be "reaction to the suggestion was mixed; then it was adopted." Its not like Microsoft is a singular mind here; the poor slobs working there do not deserve to be tarred with all the sins of that name, and vice versa.

That said, why suggest anything to Microsoft? I no longer advocate for the dissolution of the company and torment of its employees with the fervor i used to, but they're still not deserving of engagement and assistance as if they were actual members of civil society.

1) 1980-2000 Microsoft was evil. I find 2022 Microsoft to be ahead of Google and Facebook on the ethics front, so YMMV. Microsoft doesn't do much antitrust anymore, is /more/ respectful of privacy than most of the tech industry, and by some measures, is the world's largest contributor to the open source collective. Tools like Visual Studio Code are pretty good too, and run on GNU/Linux.

2) Even with evil companies, contributing doesn't always mean helping evil. Companies are, as you pointed out, abstractions. I find much of what Facebook / Meta does to be particularly evil, but they have some very good, ethical projects I'd gladly work on or contribute to.

3) Even so, if an organization were evil, there are different tactics. Microsoft isn't going away. One can affect change from the outside or from the inside. In many cases, the best way to turn evil into good is to engage and contribute.

> is /more/ respectful of privacy than most of the tech industry

How do you figure? They own Bing and Windows 1x is full of mandatory telemetry.

(comment deleted)
> is /more/ respectful of privacy than most of the tech industry,

I see you haven't used the new, privacy busting Windows 11 OS, yet?

I have. It's bad.

Pavlov (one of the other comments) has it right with the Overton window comment:

- Compared to ChromeOS or Android, Windows 11 is the ultimate in privacy.

- Compared to Google Docs, Office 365 is the ultimate in privacy

... and so on.

With Google's or Meta's surveillance infrastructure, if we get a Putin, Hitler, Stalin, Mao, or similar (and I'm by no means trying to equate those individuals), individuals who checked their data in will be !@#$%ed.

On the other hand, I don't feel like people are putting themselves in danger using Windows 11.

Personally, I use Ubuntu + emacs + libreoffice.

Do you have concrete examples on how you would consider Android and Docs worse in terms of privacy?

I'm trying to imagine how Google Docs could be worse than Microsoft Word stored in your One Drive, or Microsoft Word Online. Both services don't access your private word document unless required by law enforcement.

As examples:

1) Android keeps a log of everywhere I've been. It randomly turns on Google Assistant and records my voice. There is a ton of telemetrics going to Google, and no way to know what it is.

2) Google Docs literally keeps a keystroke-by-keystroke log of everything I've ever typed into Google Docs. If you typed the n-word and erased it 3 seconds later, that's in your permanent record.

3) Google lies about what data it collects and stores. Your Google Export won't include things like #2. That's a violation of GDPR.

As a footnote, #3 came up when I had my GSuite account attacked by an insider. I couldn't do forensics without a security up-sell. I wanted to know what IPs had accessed my accounts, at what times, and what they did. That kind of auditability once one tier up -- if I switched away from the (at the time free) tier, permanently.

It’s not that Microsoft became less evil, but the Overton window of what’s acceptable for tech companies has been constantly translating towards evil.

In 1977 Bill Gates wrote a public letter saying that software piracy is wrong and developers should get paid; this was highly controversial at the time and launched the hackers-vs-MSFT dichotomy. A lot of people sincerely believed it’s evil to use copyright law to prevent anyone from making copies of software.

40+ years later, evil in the software industry is pretty much “willingly assists in genocide”. All other evil behaviors have been adopted and rehabilitated into a business growth narrative, helped along by Google’s gaslighting slogan “Don’t do evil” which led a generation to believe that anything Google is doing can’t be evil.

| software piracy is wrong and developers should get paid

... while at the same time stealing everything they could find. One of the most obvious examples was Bill Crowther's ADVENTURE, which Microsoft sold for multiple platforms. https://en.wikipedia.org/wiki/Microsoft_Adventure

Yeah, it's evil to take advantage of a copyright regime that authors like Crowther didn't really consider when releasing their code.

But it's more of a contract dispute between two parties. The scope is very narrow compared to some of the hair-raising practices of Google, Meta, Uber, Elon Musk, cryptocurrency exchanges, and other contemporary tech barons who reach billions of people.

> Tools like Visual Studio Code are pretty good too, and run on GNU/Linux.

All of Microsoft's tools are full of "telemetry", which is something they've repeatedly proven to make more comprehensive and invasive as time goes on. That project is nothing but a vehicle to get those questionable practices on your machine.

> Even with evil companies, contributing doesn't always mean helping evil.

It does, because this project has their name associated with it. The better it becomes, the more impact they can have on society. For an evil company, this is more frequent and impactful opportunities to do the wrong thing.

> One can affect change from the outside or from the inside.

Large US corporations exist only to oppress and bully. There's no way to change that, from any side. It is better to operate as if they do not exist at all, where you can.

> I find 2022 Microsoft to be ahead of Google and Facebook on the ethics front

> is /more/ respectful of privacy than most of the tech industry

What a great example of "damning with faint praise". If you have to compare to Google and Facebook to look good, they're probably still evil.

> Microsoft doesn't do much antitrust anymore

much

Vice versa is fine and correct, however I have experienced a few open source Microsoft teams in the past couple of years with a similar opinion to issues and contributions who are clearly hiding behind the brand (and its direction), it also negatively effects my opinion of Microsoft.
> Its not like Microsoft is a singular mind here

The author of the blog post is the author of the second comment on GitHub. Also[1]:

> Afterward, the same dev also used a fake name to hang out on our discord 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.

[1]: <https://nitter.net/cmuratori/status/1522471966929653761>

1. The linked threads don't support the title written here.

2. Even if this were true, who cares?

3. Microsoft comes across fine. The dev comes across as entitled and petty.

Thanks for your opinion. Could you expand on why the op seems entitled given the circumstances where an MS member chastised them?
Pretty sure the "trivial" in the blog post is sarcastic, or at least slightly self depracating.
Given that writer's track record on self-reflection and introspection, I'd say it's not.
It's not a great look to open a blog post with sarcastic comments referring to (unneeded) controversy, though. Regardless if you were right or wrong.
It stands to reason that Microsoft, being a professional company, can better determine whether their writing is a great look or not. Unclear that your speculation is based on a higher degree of subject matter expertise.
I feel like you are being meta-sarcastic here. It's sarcasms all the way down!
The "trivial" solution doesn't work. And they thus had to do the non-trivial thing and write their own custom text renderer.

If I'm right in my reading, the author of the tweet is wrong to complain about them saying it's "trivial," because they never did.

A custom text renderer was exactly the trivial solution suggested and demonstrated to them when they claimed it was extremely hard and required a doctoral research.
I know nothing about this fight, let alone having a dog in it. But I'm getting downvoted for understanding English.

For my point it doesn't matter if they are in the wrong, if it was easier than they claim, if they are rude, etc. All I'm saying is that the complaint on Twitter is that they now called something "trivial" that they said wasn't simple or easy before. They clearly didn't do that.

They literally did just that. And hid behind "community member suggested it".
You should read more carefully.

They said the trivial idea was a larger lookup table and Direct2D. And then they said that unfortunately the trivial idea doesn’t work. So instead they had to write their own custom text renderer, which they never imply is trivial.

Its not trivial, but it is widely understood that fonts baked into GPU texture is the way to go for fast text rendering. The decision, if they care about performance, should have been trivial, their listed excuses are not valid.

Dear ImGUI also does this, and while font baking is not trivial, integrating ImGUI is almost.

I blame the disagreement on online communications. Can you imagine this conflict lasting this long if these guys had been talking about it in person over coffee? They would probably behave with much more restraint and respect for each other.
Careful, that's starting to sound like an example of a downside to remote work, which is a touchy topic these days...
That's a downside of exclusive reliance on written communication, not of remote work. You can avoid this with a phone call or a "can we pair for a bit?" session as well.
I take it "Can we pair for a bit?", means 'meet to discuss..." The non-apology sounded more heartfelt than this.
No, I mean pair programming to work on the issue. More applicable to work colleagues than discussing over github.
idk, in person where I work we'd still have these discussions online.
When you're a global company serving a billion plus users on every continent, you can't expect face-to-face discussions with everyone who reports a bug or makes a feature request. You need to be able to handle written feedback.
Looks like Microsoft finally found someone good enough at terminal emulator development to fix the performance issues.

I can't shake the feeling that the original Github issue and the heated discussions in there were more Windows Terminal devs not wanting to admit their knowledge gap in this area than impracticality and complexity.

To be fair, the GitHub commenter in question had made this statement:

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

I think they deserved a better response from Microsoft, but I also probably would not have responded favorably to that wording – irrespective of if they were correct.

> I also probably would not have responded favorably to that wording – irrespective of if they were correct.

Why not? I see nothing wrong with this sort of feedback. It's blunt, but constructive.

If it was your code they were talking about, you may feel differently.

Blunt, hyperbolic statements like "massively overcomplicated" can feel like a shot across the bow when someone is talking about code you wrote. Kindness and gentleness go a long way in OSS.

Honestly the vague reference is what turned me off. It’s not thing to point at a specific item and suggest different approach, but to simply say the whole thing is over complicated makes it seems deliberately vague to be inflammatory.
> If it was your code they were talking about, you may feel differently.

I'd much prefer to-the-point feedback like that, even if it's somewhat vague. But maybe that's just my ability to swallow my pride/ego.

> Blunt, hyperbolic statements like "massively overcomplicated" can feel like a shot across the bow when someone is talking about code you wrote. Kindness and gentleness go a long way in OSS.

Casey's statements don't seem hyperbolic to me at all - they accurately reflect the performance and simplicity that the Windows Terminal developers were leaving on the table. We know this because Casey literally created refterm to prove his claims.

If anything, the developer's response in the initial GitHub issue, that optimizing the performance of a terminal requires "an entire doctoral research project in performant terminal emulation", is more hyperbolic than anything Casey has said.

When you receive feedback like that, the appropriate response is: "A lot was learned while and since writing that code. Now that requirements and bottlenecks are more clear, it could surely be improved by doing a second pass. We might not get around to doing it soon, but PRs are welcome."

That kind of response is pretty much never an outright lie and will always make you look good.

Or... you could get defensive and turn it into a months-long saga of bile, half-assed apologies, and bad PR.

> If it was your code they were talking about, you may feel differently.

If you do anything out in public, you either develop a bit thicker skin or have a bad time. Frankly, if this bothers you at all that is indicative of a very fragile ego and not anyone's problem but yours. The rest of the world doesn't exist to coddle you and this cultural shift folks sometimes try to propose into that exact behaviour is unhealthy. We're adults, not children.

I think we can simultaneously bemoan the overall state of the public's ability to be kind, and still hold ourselves to a higher standard.
This criticism is addressed at code, not people.

> If it was your code they were talking about, you may feel differently.

I'm not the commenter you replied to, but no, I'm not my code, so I'm not going to get offended by someone criticising it. If someone does, it's on them.

There were a number of times in my career when someone called something I wrote overcomplicated, and I've never been even close to feeling any emotion about that fact at all. That remark always prompted me to hear carefully what they have to say about improving it. That's not a brag, just a certain level of emotional maturity.

People shouldn't be held responsible for every emotional reaction people have to their actions/words, because part of the responsibility for that rests on the person experiencing those emotions. In that case I don't think Casey said anything offensive, so if that made someone angry, they have themselves to blame for that.

Perhaps you shouldn't wrap so much of your self-identity in code that you wrote for a paycheck. The correct response when given such a clear fix is to learn from this person, thank them, and move on.
Context: they are making a terminal emulator. Something we've been doing for close to 60 years already.

At the time of this writing their repo has over 1400 open issues.

At the time of the "kerfuffle" their code couldn't output more than 10 (or was it 40?) characters per second to the screen on what is essentially a supercomputer. And they claimed it required "a doctoral research into performance" to make it better.

What other trivial improvements to their code also "require a doctoral research"?

Yes. Their code is definitely massively overcomplicated and I doubt they have any control over it any more.

Statements like this make me feel like all the people talking about how overly sensitive modern "snowflake's" are might be right.
They represent a trillion dollar enterprise, they have to consider how they they interact with their customers, behaving professionally when faced with criticism especially in a public forum shouldnt be something they need to be taught to do. Instead they acted like they were still in Middle school. If something like this happened at a company I worked for their manager would be having a word with them right now.
It isn't their code, it's the company's code.
It does seem vague though. It’s almost akin to saying “I could’ve done this in half the code”. Well add your PR then.
They did, they implemented a crazy fast terminal renderer (that still supports advanced features like right-to-left languages in Unicode, etc.) from scratch in about 3,000 lines of code just to prove their point:

https://github.com/cmuratori/refterm

Why not just create a PR, instead of a from-scratch grandstanding repo?

This is a situation where tu quoque really doesn't smell like a logical fallacy. There is a lot of fuss about "being right" over "being helpful."

I'm assuming he thought his PR would be rejected, given their reaction to his initial questions about the issue:

https://github.com/microsoft/terminal/issues/10362

A closed PR would have been even more damning for Microsoft. Especially given that Casey could have provided apples-apples benchmark results - not, what amounts to, a micro-benchmark.

From my perspective, there are two reasons why someone would build an entire project instead of opening a PR:

* Merely to be able to point and it and say, "see? see? I was right!" How obnoxiously childish.

* Implementing his ideas into a mature/non-greenfields codebase wasn't in-fact "extremely simple."

He simply didn't want to license his modifications under the terms required by Microsoft.
Probably doesn't want to work for microsoft for free. Microsoft is a 2 trillion dollar company; doing their job for them would be a total chump move.
To me this feels like a case of of the team feeling like it's "their code" and not "the company's code". I say this coming from someone who still struggles with that concept myself. It's really easy to get defensive when you can't divorce yourself from ownership.
Highlighted portions of Microsoft's response was blunt, but constructive.

> can be read as impugning the reader.

Ok, so a "community member" may be blunt, but woe to the M$ employee who dares to point that out (in very polite terms)...
>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 means exactly what he says. Notably, refterm had almost no optimization applied to it.[0] The massive performance increase was entirely due to non-pessimization.[1]

>refterm actually isn't very fast. Despite being several orders of magnitude faster than Windows Terminal, refterm is largely unoptimized and is much slower than it could be. It is nothing more than a straightforward implementation of a tile renderer, with a very simple cache to ensure that glyph generation only gets called when new glyphs are seen. It is all very, very simple. A more complex codebase that parsed Unicode and rendered glyphs itself would likely be much faster than refterm for many important metrics.[0]

[0] - https://github.com/cmuratori/refterm

[1] - Refterm Lecture Part 1 - Philosophies of Optimization - https://www.youtube.com/watch?v=pgoetgxecw8

"Irrespective of if they were correct". I disagree, if they were correct about something simple being massively overcomplicated that definitely warrants a response.
(comment deleted)
Seems like a misleading title to me.
Yeah, maybe there's more context I'm missing but the screenshotted comments don't seem particularly "insulting", and the blog post announcing that they're implementing the idea does credit Casey (just not by name).

I'd summarize this more as "Microsoft employees initially disagree with dev's idea, but eventually admit he was right."

I think "does credit Casey (just not by name)" is an oxymoron. You aren't crediting someone unless you actually, y'know, give them the credit.
Maybe, but my point is that "takes credit for their idea" is inaccurate. The post clearly says the idea came from "a community member"; not that they came up with it themselves.
That is even worse.

They know who the person is but is so vengeful that they don't name the person.

Microsoft should be embarrassed that they have engineers like this.

I couldn't imagine how bad they would treat colleagues with inferior authority.

dev seems to have a chip on his shoulder.

that being said, the actions of the ms dev don't paint him in a good light, either.

i'd say theyre both in the wrong in one way or another.

Another day, another Casey post dunking on my team. Hi!

This tweet misses the mark only a little bit; in a previous blog post, we apologized[1] pretty frankly to everyone involved in this discussion. I'll admit that we didn't list him by name, but neither did we list the other handful of folks involved. We should have. In turn, Casey rightly did not acknowledge it except to tell his followers that it was not a real apology[2].

This blog post is matter-of-fact, but Casey is right. However, he said himself that it was trivial to do this. Is it not acceptable that we use the same language?

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.

Using a texture atlas was a great idea, and we didn't know about it until you told us. We should do better to credit you.

[1]: https://devblogs.microsoft.com/commandline/windows-terminal-... (scroll down under the image)

[2]: https://twitter.com/cmuratori/status/1489406091318349826

--

(Note: I've iteratively edited this post, as it was originally a one-sentence diatribe written in anger. I originally asked, "I just don't know what else he's asking for here. Credit? Us to die screaming?" It was not a good look. It also originally contained "I get it, Microsoft sucks, we should all be fired, rah rah rah." As the message evolved, that became more and more out-of-place.)

It seems you have posted the wrong link because there isn't really an apology?
"We admit this feature began with a kerfuffle we caused in the summer of 2021. When confronted with being told our rendering pipeline had terrible performance, we turned inward. We relied on our existing experiences and we leaned heavily on our partner teams’ work to conclude the DirectWrite general purpose renderer was the best fit for our product. We were wrong. As such, we dedicate this experimental renderer to the community as an olive branch. We know we have so much more to learn, but we hope that you will accept our apology and understand we’re humans behind this product with a capability and willingness to learn from our past mistakes. Thank you for sticking with us. We strive to make this an experience we can all learn from to not only improve ourselves, but to improve our product and delight you all."

You have to scroll down a bit. Whether that's an apology or just "please accept our apology that isn't actually here," is debatable. An actual "We were wrong, we're sorry" would have been clearer.

I have no skin in the game, but I don't think the paragraph above meets the specification claimed by the GP: "we apologized[1] pretty frankly to Casey and everyone else involved in this discussion."
This does seem more like they're apologizing for being wrong and not apologizing for how they treated him. Like, if they were right, it would have been fine in their eyes to use that tone.
Maybe it's a non-native speaker thing, but "I hope you'll accept my apology." makes me think "Maybe I will, maybe I won't, depends on what apology you are going to make ... So where is it?"
It's halfway. In my book, MS did a half-assed, semi-asshole-style token apology. It was indirect enough that you need to know English quite well to see the actual apology.
(comment deleted)
> We were wrong. As such, we dedicate this experimental renderer to the community as an olive branch. We know we have so much more to learn, but we hope that you will accept our apology and understand we’re humans behind this product with a capability and willingness to learn from our past mistakes.

What more really needs to be said? Feels like one of those times where if everyone just sat around at a pub with a beer, everything would be resolved. Instead it's just little snide remarks back and forth. It's a shame, I really like Casey, and he was definitely right, but it's probably time to move on.

I'm being facetious here. As far as apologies go that's a pretty weak attempt.
Heh, my bad! This is the problem with text based conversation between strangers :).
It was dumb and passive-aggressive comment (by me) so every kind of response is fair game, I guess... :)
I doubt this would have gone any better face-to-face. In a text-based conversation you at least have the opportunity to reflect before you reply.
> What more really needs to be said?

Well if I were to write an apology "frankly to <person>" I would probably mention <person> by name in the apology.

Dear X, we are sorry for Y
Addressing the person you are apologizing to. I can understand if you had a draft with the person and a lawyer told you to remove it.
(comment deleted)
The quoted text is vague and non-directional, whereas the biting response to the GitHub issue screenshot posted in TFA are incredibly directed. I'm new to all of this, and so I dunno if the author was being catty and insulting when making their suggestions, but the responses posted certainly are.

I tell my kids this all the time. An apology has several parts:

1. In clear terms, admit fault. "I responded to a comment with some vitriol, and at the time that seemed okay but looking back that was insulting and rude, and not how I want to address our community members. This is true in any case, but doubly so when the original commenter turns out to have provided good advice that I was ignoring." 2. Express remorse. "I'm sorry. I regret letting my passions get the better of me and hope I didn't damage any relationships." 3. Offer to remediate. "As you can see, we're embarking on doing exactly the work that $AUTHOR suggested, and I'd like make sure they receive appropriate credit. If it helps, I'll link to the original thread and this apology." 3. Do better.

The quotes above are just examples off the top, I have no horse in this particular race, but I do have a lot of experience eating crow and having to apologize for being an ass to someone who later turned out to be right.

> What more really needs to be said?

An actual apology. Jesus Christ, has no one at Microsoft ever apologized to a human being? I mean apologized, not passive-aggressively, condescendingly issued a generic apology line in the P.S. to an email on a completely different topic? It goes like this: heeeey, Casey, we're really sorry about <whatever we did> and we would like to apologize. We understand we were wrong to do it because <reasons>. This is not how we want to treat people and the fact that we let it happen was a mistake. I'm sorry we went through this but <here's what we plan to do so that we don't make the same mistake again with someone else>.

That is an apology. Once you say that, you're entitled to asking the community at large to accept it. But you can't say "please accept our apology" without issuing a damn apology. That's like saying "please accept our complimentary cake" without sending any cake!

I realize basic human decency may be a faux pas in large corporate settings but doesn't Microsoft employ at least one PR person who understands PR 101?

The team hasn't lined up and cut out their own stomachs yet.
(comment deleted)
I understand issues are always more complicated than at first glance, but your tone doesn't exactly invite sympathy for yourself or your team.
Typically, when apologizing, you should name the person you are apologizing to. Otherwise, they might do something like not acknowledge your apology.
Yep, Naming the person and linking to the "kerfuffle" inline that you created would be minimum to consider that post an apology. Calling it a "kerfuffle" is odd phrasing that downplays the actions.
> except to note that it was not an apology at all.

Ctrl-F there doesn't show a single "sorry" in the text. Or "Casey" for that matter.

Why is it so difficult to say: "Casey, we are sorry, you were right and we were mistaken.". Instead there is a nebulous ~extended a branch to community and hope to accept our apology~ (paraphrasing) without offering an apology in the first place.

try looking for the word "apology"

edit:

> We know we have so much more to learn, but we hope that you will accept our apology and understand we’re humans behind this product with a capability and willingness to learn from our past mistakes.

If someone said that to me, I would say "oh ok, no problem dude" and move on with my life. Not even defending the microsoft guy, I have zero skin in the game and couldn't care less. but people being weirdly pedantic about which words do and do not constitute an apology just because the source is Evil Microsoft Guy.

Sticking the word "apology" on a letter does not make it an apology.
But sticking "Sorry" does? Your whole post was Ctrl-F for a keyword, while refusing a synonym.
But there is no "We apologize" either.

There is a "we hope you (the community) accept the apology" - which apology ?! there wasn't one to begin with, because there is no "I/We apologize/are sorry" in the first place.

And the apology should go to the individual harmed, not to the "community"

I find the format of "I've done wrong; please accept my apology" to be common and sufficient; clearly we have different expectations though -- or they are getting unanticipated amount of pedantic and semantic scrutiny (which in turn will eliminate posts like this, we'll get more corpo-santized-PR, but somehow I don't think that'll make people happy either :).
But this is not direct speech that they use - they use indirect speech referring to "the community" and "our" apology, trying to avoid associating personally with either the problem or the apology.

Then they come out and blame Casey for "not accepting the apology".

So in fact if they can't own the mistake, issue a direct apology, and act like adults, perhaps it's better to let the corpo PR speak in bland tones.

EDIT: the GP of this thread edited their post:

> Casey, I'm sorry. We made a mistake. I made a mistake!

Now, this is an apology.

But there's a big difference between saying that directly to a person and not. Addressing many people, or rather trying to and failing, without getting specific severely reduces the sincerity and effectiveness of the apology.

The apology focuses more on what they did wrong internally, without getting into enough specifics of how it affected the external parties. And, some very serious issues weren't even mentioned.

Saying “accept our apology” does make it an apology.
"we turned inwards, we were wrong. We hope you will accept this ... as an olive branch and accept our apology."

That is 100% an apology

But not to Casey. You dotted out who they apologized to and it was not the person they insulted, but to the "community".

> We were wrong. As such, we dedicate this experimental renderer to the community as an olive branch. We know we have so much more to learn, but we hope that you will accept our apology and understand we’re humans behind this product with a capability and willingness to learn from our past mistakes.

Seems rather childish.

Syntactically it's a reference to an apology. Semantically it sort of is, but the phraseology of indirect an apologies are common when the speaker wants to distance themselves from the wrongdoing. This tends to happen either from embarrassment or lack of sincerity.

In this case, the comment from an MS employee in this thread indicates a potential lack of sincerity. If not for that I'd probably give more benefit of the doubt.

Except "but we hope you will accept our apology" is not an apology. If they'd written "but we hope you will accept our apologies", it would have been an overly formal apology. In the informal tone they are otherwise using, saying "sorry" would have been most appropriate.
we hope that you will accept our apology and understand we’re humans behind this product with a capability and willingness to learn from our past mistakes.

Seems pretty sincere and decent to me.

Nah, this is the pestilent child response when they are wrangled into giving a "sincere" apology.
It's at least a small step up from "We're sorry if you feel bad but..."

I'd rate it 4 out of 10 on the NOTSORS scale [1]

[1] No Apology to Sincere Apology Rating Scale™

And I wouldn't even be so hard about them if their initial now-edited reply in this thread wasn't also combative & demeaning.

!! I like it, but you mean "petulant" .. "pestilent" may also apply though..
If we’re being critical it’s missing the “we apologize” and skips to “hope you accept our apology” and then jumps down a “we’re only human” escape hatch.
In other words, a try-catch-finally statement right out of the PR handbook
How is “we hope you accept our apology” not an apology?
Try replacing apology with other words.

Its like an email that says “attached”, but there’s no attachment.

I'm not following. It's not the same at all. The apology is right there.
It sounds like a big part of the issue here is that someone from the team joined Casey’s discord server pseudonymously after the drama, and more drama ensued.

If stuff got that personal, then I’m not shocked that an impersonal apology was not accepted. If I were to apologize in a situation like this, I’d probably have started by talking to Casey directly about the whole thing before posting in public.

https://www.wikihow.com/Make-a-Genuine-Apology

1. Know what you did wrong: > When confronted with being told our rendering pipeline had terrible performance, we turned inward. [...] We were wrong.

2. Keep it simple, being careful not to start up a fight, a disagreement, or open up the situation for further discussion or recriminations. Subjective. You decide.

3. Be prepared to meet resistance. They are here meeting their resistance.

4. ...I hope you will accept my apology. > we hope that you will accept our apology

5. Be polite. Subjective. You decide.

6. Remind the person of all the fun times that the two of you had together. > experience we can all learn from to not only improve ourselves

7. Try not to smile. It's text. Sure.

8. In some situations a small gift may serve as a token of apology. > As such, we dedicate this experimental renderer to the community as an olive branch.

9. Express yourself. > a capability and willingness to learn from our past mistakes.

10, 11 remain to be seen.

This is a good exhibit of an almost perfect apology. If you've been okay hearing "sorry" your entire life then I am afraid you've been lied to more often than not.

> Remind the person

They don't even mention the person. Pretty hard to argue they covered this.

I assume WikiHow thought it was too obvious that you had to actually send it to / mention the person you were actually apologising to.

> almost perfect apology
>This is a good exhibit of an almost perfect apology. If you've been okay hearing "sorry" your entire life then I am afraid you've been lied to more often than not.

If you specifically focus insults on an individual and call into question their competence and then make a vague statement that avoids actually saying you did something wrong ("We turned inwards), you have failed to do #1, which is arguably the most important step.

It was an awful attempt at an apology that could easily pass for something written by a politician. Directness is a virtue when it comes to apologies.

Counting check marked boxes on a wikihow list isn't a good way to measure the quality of an apology.

> It was an awful attempt at an apology

> Counting check marked boxes on a wikihow list isn't a good way to measure the quality of an apology.

If anything, it's a way. Suggest something better for your definition of "good", as it looks like you're making a speculative criticism for your own edification.

>Suggest something better for your definition of "good"

I already mentioned two things that would make it a "good" apology:

- Directly mentioning whom you are apologizing too. In some cases addressing a group might be appropriate but in this case it seems like he should have mentioned Casey.

- Directly mentioning what you did wrong instead of phrasing it in an intentionally vague way like "we turned inwards".

Apologies are simple in composition. The hard part is getting over our egos.

> The hard part is getting over our egos

In this scenario it really isn't Microsoft who are demonstrating a bleeding ego.

Whatever you think about the apology, Microsoft made it without being called to do so. As an inconvenient data point, the apology (again, whatever you think about it) was omitted from the tweet. Casey blatantly rephrases the employee's words from "could be seen as impugning the reader" to "you are impugning the reader". This is all p-hacking convenient facts into one specific world view, and the fanbase is all too eager to echo it.

All of this drama is great for one specific ego.

>In this scenario it really isn't Microsoft who are demonstrating a bleeding ego.

My bad that part of the comment wasn't directed at Microsoft, its just something that everyone in general has to face when apologizing.

I do agree that Casey should have linked the apology blog regardless of whether he felt it was sufficient.

...except that they literally write "we were wrong" - so I'm not sure how you can interpret that as "avoiding to actually state they did something wrong"?
They admitted to being wrong about the technical solution to this problem, but not their mistreatment of community members. Huge difference.
Wow, that's sure a weird way to post something on behalf of your company. Curious how long will it take to delete this message, seeing how it was written mostly in the heat of the moment.
That's not an apology, as written. You say you did something wrong and say "we hope that you will accept our apology", having not actually given one. Maybe English isn't your first language, and so you don't know the difference between "accept our apologies" (which is a formal/distant apology) and "accept our apology" (which refers to a previous apology).

Also, good apologies come with admission of fault and steps you'll take to make sure you don't make the same mistake again.

I did see admission of fault:

> We were wrong. As such, we dedicate this experimental renderer to the community as an olive branch. We know we have so much more to learn, but we hope that you will accept our apology and understand we’re humans behind this product with a capability and willingness to learn from our past mistakes.

Whilst not hitting all the grammar notes “we hope that you will accept our apology” is quite normal colloquially.
> We get it, Microsoft sucks, we should all be fired, rah rah rah.

This response shows how little you value users feedback (and how unafraid of them you are). Probably should leave this kind of thing to your developer relations team...

Yep, that part just seemed so condescendingly dismissive.
This kind of tone really doesn't engender sympathy:

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

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

Your "apology" really is anything but. If anything you and your team come off as combative, thin skinned and hostile to outsiders. But, you do you bro.

This is Microsoft culture spilling into the real world. There were several times when I pointed out a fix for a flaw or problem we were suffering from and was mocked and told it’s a silly idea that I shouldn’t be wasting time on. Fast forward 1-3 months later and that same person is singing the praises for the same idea someone else “came up with”. Except it was me shopping my idea around. Seeing the tweet and the thread makes me realize this is systemic to MSFT as an org (who now is the champion and host for all major open source organizations)
Cut scene to me explaining my new product to a Google VP (hoping to get funding) who instead made a crappy copy and released it 6 months later. Don't meet your heroes.
This really is every org, even if someone starts lukewarm to an idea it can percolate, get established and then come back out again as a fresh opinion without any malice intended. It’s always fun to get your own ideas back almost verbatim.
Even in this case they seemingly "forgot" the idea that was told to them. I don't doubt that this is a possibility, but there is also a possibility that they could've just stolen it.
Oh yeah people also steal other peoples ideas pretty regularly but I'd not automatically assume malice.

From this example the same feeling would be generated by someone else internally already working on the same idea without needing any prompting from anyone in the actual meeting. This can actually be quite common in games where people will give a lot of unsolicited design ideas as feedback or part of bug reports. There's going to be collisions there without anyone's ideas being copied or stolen without credit.

Recently former Microsoft here. This is the culture of one specific team. My prior role interfaced with both customers and product teams in Azure. Interactions were constructive and collaborative. There certainly were the occasional individuals that lacked interpersonal skills, it was the exception not the norm.
Yeah I get the feeling that the general "tone" around Microsoft is "making sarcasm your defining personality trait". Maybe that flies in Seattle, but in the world of silicon valley, we've moved past caveman-like sarcasm into the superior snark and passive-aggression personality traits.
yeah I get the feeling that people look for any reason to shit on Microsoft then do it with glee, without care about the human beings on the receiving end.
Oh that's definitely true, even moreso for shitting on the company itself. Well I haven't encountered many MS employees, so I'm mostly basing it on the two who have been replying here. Extremely unscientific and probably wrong, but I couldn't help but dogpile.
> We admit this feature began with a kerfuffle we caused in the summer of 2021. When confronted with being told our rendering pipeline had terrible performance, we turned inward. We relied on our existing experiences and we leaned heavily on our partner teams’ work to conclude the DirectWrite general purpose renderer was the best fit for our product. We were wrong. As such, we dedicate this experimental renderer to the community as an olive branch. We know we have so much more to learn, but we hope that you will accept our apology and understand we’re humans behind this product with a capability and willingness to learn from our past mistakes. Thank you for sticking with us. We strive to make this an experience we can all learn from to not only improve ourselves, but to improve our product and delight you all.

That is "combative, thin-skinned and hostile to outsiders"?

They say they caused it. They explain the cultural attitude that led to it. They plainly state they were wrong.

The "We get it, Microsoft sucks, we should all be fired, rah rah" is responding to the typical outraged rants from immature people who think it's cool to leverage extreme levels of criticism at people and teams who work in large corporations.

>That is "combative, thin-skinned and hostile to outsiders"?

Yes. They reference an apology, didn't actually make one, and it was roughly a year after they were combative, thin skinned, and hostile to outsiders. So their words now don't negate the fact that they were actually those things.

And the original now-edited response here was itself still combative, so I don't have much reason to believe they've actually changed rather than just trying to put a nice public face on about it.

They do this because OP keeps twisting the blade. He was right, now whatever, maybe find another target.
I don't see it as twisting the blade. He's calling them out for having insulted him and then making a half-hearted (at best) apology without giving proper credit (which the MS employee up the thread admitted they should have actually done.)
I don't know about others, but that does sound like a real apology to me. At least they plainly write that they were wrong and not only "sorry for how this was handled" or something similar. I'm really curious what more you could expect...
Specifically naming Casey and specifically apologizing for the specifics of how it unfolded. The fact that a team member went into Casey's Discord to harass him would be one example to apologize for.
I dunno. I can read that as a ‘sorry’, but it kinda feels like ‘we know we were being assholes but we’ll be good from now, forgive us please’ kind of thing.

There’s too many fluffy words in that.

“We were dicks to the person (people) that pointed out a better way. We didn’t truly investigate the proposed solution at first, we acted combative,

and we were wrong.

We’ve now implemented the proposed solution in an experimental renderer that you can all use and we’ll try to do better from now.”

I’m kind of in awe by the unprofessionalism of this response. In an era of incessant corporate PR, it’s somewhat refreshing lol.
Chastising devs who address issues directly is a great way to make sure canned PR responses is all we get.
Exactly. And it'll be these same exact people who will complain about canned PR responses :->
And we should not accept rudeness and unprofessionalism just to avoid canned PR responses

People should learn to express themselves professionally and keep up the standards, on the professional communities, this is not /b/

Adressing issues directly in the wrong way is a much better motivation for PR teams to jump in.
No, devs giving bad responses is what creates PR jobs.
A good apology has three parts:

1. I'm sorry 2. It was my fault 3. How do I make it right?

They skipped straight to the 3rd step, without doing the first 2.
> I just don't know what else he's asking for here. Credit? Us to die screaming? ... We get it, Microsoft sucks, we should all be fired, rah rah rah.

Someone is upset and venting. This comment comes across to me as "Ugh we already said the right words. Their distress is so inconvenient to me, why isn't it stopping?"

EDIT: Typically in this community we denote when a comment has been edited to change a critical piece of the message...

I'm detecting very little genuine authentic empathy

It's already been edited twice. The original message ended with the snarky "we should all be fired, rah rah" thing. They're already on damage control.
> I'm detecting very little genuine authentic empathy

Welcome to Microsoft!

Everyone can rant. I think it's fine, at least a lot better than a faked smile.
A fake smile at least tells me they know that a different response would be unprofessional, rather than making the an unprofessional comment and not being self aware enough to realize it until it's pointed out.
Since this is not a professional place I think it's OK. I mean if Casey can rant then he should be able too. Of course I guess it doesn't look good and I'm fine with that.
Sure, this is an informal environment, but Casey is acting as an individual working on an issue in their own time. The MS employee above is acting as a defacto representative of MS whenever they speak about their work in public.

Casey is also responding to unprofessionalism initiated by MS. (Though admittedly the "they started it" defense isn't a great one)

Would you be empathetic to a jerk who keeps insulting you?

I don't get where the big issue is, a guy smugly makes a suggestion, the devs argue with it and point out that his tone isn't helping. The guy turns out to be right, the devs implement his suggestion. They don't have a history of thanking people by name so they make a vague attribution. Guy continues to be hostile against them, dev calls him out and now he's the asshole? Come on.

> They don't have a history of thanking people by name

That's... Not better?

EDIT: Actually, I thought of a way for that to be better, but it still doesn't make anything better here. If MS is used to working with b2b, where a customer comes in with a bug and MS fixes it and pushes the fix out, there it could be reasonable to not give credit; I don't condone it but it does match the culture there. The problem is that this very much does not translate to FOSS and/or public collaboration with individuals, where there very much is a culture of sharing credit.

MS: "In our defense, our reflexive response it to never give other people credit for their ideas, so you can see how it's not really our fault, it's just instinct."
Aight, bud. When I was a kid, my parents taught me how to apologise. first, I have to acknowledge what I did wrong. Then, I have to actually say the word ('sorry', if you don't know) to the person I wronged. finally, I need to offer some way forward. don't know how your team works, but I hope at least you (as a team) are mature enough to actually apologise in a clear cut manner.
They acknowledged what they did wrong. They said "we hope you accept our apology" which, according to what I was taught, is a replacement for "sorry." They offered the renderer as a gift I guess, and they did a mini post mortem and talked about what they learned. Really seems like you're reaching for straws here.
You're not doing your company any credit here......
It's so ironic that people are criticizing this comment and the linked apology for their language but fail to see that the original issue was caused by Casey's language and not the actual technical details.
No the original issue was the Microsoft team not understand their own code and then claiming you needed a PhD to use a different renderer.
I'm impressed you could write this without the self-awareness to realize this only makes your team look worse.

The idea that vaguely saying sorry to an abstract community should resolve this entire issue is repulsive. Merely stating an apology does not thereby grant you forgiveness.

I had a neighbor who once tore up my yard doing construction. They apologized profusely, but outside of words never made any meaningful recompense. If I complain about the damage am I in the wrong simply because he utter some words of apology?

The tone here sounds like you're more annoyed that Casey was right and wish you could go back to feeling clever.

Any response to his claim that the author of the blogpost was talking about Windows Terminal in his Discord? The license of Casey’s project would be an issue if you guys used it.
> I'll admit that we didn't list him by name, but neither did we list the other handful of folks involved

It's only an apology in the manner of soulless corporate jargon then. A generic statement following a personal/directed insult does not count as an apology.

Edit: also the following

> (Note: I've iteratively edited this post, as it was originally a one-sentence diatribe written in anger. I originally asked, "I just don't know what else he's asking for here. Credit? Us to die screaming?" It was not a good look.)

I think your comment and it's different iterations demonstrated very well how you guys (still) feel about this.

Thanks for your response; you're getting a lot of flack here, even repeated suggestions of ESL, by people who I feel have unreasonable expectation of perfection of others that I doubt they'd be able to fulfill 100% in every facet of their own life.

English is indeed not my first language, but I've lived in North America for 25 years and stakeholder communication is part of my job description. "I did something wrong; please accept my apologies" to me is boiler-plate standard, sufficient, acceptable way.

Your blog post goes way past that! It says "We caused the kerfuffle". Even "We were Wrong", explicitly! I for one understand your frustration and probably real question of "What else do you want from us - keel over and die?" - it's just that humanity is not an acceptable feature to show from people HN wants to hate on already.

That's OK though. Their reaction here will simply mean we'll get less sincere humane posts like yours, and more corporate-sanitized meaningless PR, which I'm sure will make those very same people much happier. And yes that's a pointed /s :-)

You're missing out on a lot of details. For instance, one of the team members went into Casey's discord to harass him. That was not apologized for in any way. Secondly, the apology doesn't mention Casey specifically, and it's arrogant to believe you can address everyone adequately without mentioning specific names with specific apologies for the exact errors.

The apology is written almost tactically to avoid dealing with specifics. When the OP additionally started this entire thread with anger, the idea that steps have been taken forward is pretty much dead.

When I read your tone here, I don't even need to read your “apology” to know that it was not a real apology.

No, Microsoft doesn't suck. It's a great company. It's some people there that suck, and one just got self-identified.

- You and lhecker insulted Casey Muratori

- You insisted this was a "doctoral research" (your words) and that he was "misguided" (Leonard's words)

- When it turned out he was right, you posted a non-apology (you didn't even name the person you were apologizing to)

- A year later Leonard who claimed it was so hard now writes a blog post that "solution is trivial" and was "suggested by a community member". Once again failing to acknowledge the person who gave you this trivial solution

What more you could've done? What do you think?

> - You and lhecker insulted Casey Muratori

And Casey didn't? Please take into consideration that Casey's definition of the solution as "simple" can sound quite insulting as well.

If someone stated that something is "simple" with an overtone of "are you blind", instead of showing more humility, I would feel insulted too.

> Please take into consideration that Casey's definition of the solution as "simple" can sound quite insulting as well.

It can sound insulting only to people who originally claimed that what Casey suggested requires "doctoral level research into performance". Only to then implement exactly what he suggested.

> If someone stated that something is "simple" with an overtone of "are you blind", instead of showing more humility

Please re-read the original GitHub issue from the start: https://github.com/microsoft/terminal/issues/10362

He is there trying to understand an issue, providing suggestions etc. And generally being baffled how a modern terminal on a modern machine can output text at something like 5 frames per second.

After that Windows Terminal team barges in with "what you’re doing is describing something that might be considered an entire doctoral research project in performant terminal emulation" to... only do exactly that later.

And what Casey said was going to be simple is this: https://github.com/microsoft/terminal/issues/10362#issuecomm...

Tell me how this is insulting to anyone except the people who now claim that "oh we'd been aware about this approach before Casey opened the issue"?

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

Unironically, yes, UNLESS...

- You're willing to take a serious look in the mirror (and understand that the way you reacted to the situation was defensive, passive aggressive and inflammatory rather than direct, constructive and conciliatory)

- You assign credit where credit is due

- You do a good faith post-mortem and come up with some way to make sure this won't happen in the future

Now, if that happens, then obviously you should not be fired; if anything, you should be rewarded as handling difficult situations like this correctly tends to be the true test of one's capabilities as a professional. Unfortunately, it's high stakes, high rewards -- which also means high risks and consequences.

It's not easy to say "We made a mistake. Not only that, but there's no easy 1-shot fix to undo what went wrong. Let's sit down together and discuss, and we'll listen. Then, we'll go and think about that for a while and come back to you with where we align, where we differ; and so far as where we agree, where we think we can improve. What do you say?"

It may not be easy, but it's worth it.

Relationships are built in the muck.

I'm all for firing these people for their disrespectful and unprofessional behavior but... being assholes and writing shitty software is on-brand for Microsoft. It'd be hypocritical of them to fire these people for this (although I guess hypocrisy is also on-brand for Microsoft, so who knows lol)
You're not wrong but creating a new account just to pile it on isn't quite role model material on the subject either.

https://news.ycombinator.com/newsguidelines.html

> Throwaway accounts are ok for sensitive information, but please don't create accounts routinely. HN is a community—users should have an identity that others can relate to.

Some say, in this thread and elsewhere, that this is representative of how many teams at MS work.
For what it's worth, I think it's commendable that you are engaging this externally no matter the tone, instead of the usual cowardly radio silence like most big cos. I find the this-is-not-actually-an-apology nitpicking disappointing; community should be encouraging this kind of conversation, not squashing it.
They are engaging externally because the issue has gained traction in the community. I also don't think people need to be grateful because they were blessed with a response.
> we apologized[1]

Yeah, that's not an apology. That's something saying you did apologise. It doesn't look like you actually sent an apology, and you never mentioned Casey at all.

If this were a security vulnerability Casey would have gotten a mention (and a Bug Bounty). I guess Microsoft don't care about credit for other stuff.

(comment deleted)
This response, to me anyway, is worse than no response at all.
> "(Note: I've iteratively edited this post, as it was originally a one-sentence diatribe written in anger. I originally asked, "I just don't know what else he's asking for here. Credit? Us to die screaming?" It was not a good look.)"

So you stole his idea and realized a one-liner dismissal was not a "good look" for yourself, so you wrote an "apology"? It's not about him, it's about saving yourself from the blowback. This and the events documented are the closest thing to a psychopathic programmer I've ever seen.

This is dishonest. The issue did go the way he wanted to, it's how the team responded to it that is the issue. And how is Casey the narcissist when the OP started a pure vent post and had to backtrack it, and who should you blame for being exhausted given that?
But I'm not angry, and I have to create my first account one way or another. Am I not allowed to create my first account because I want to respond to a contentious topic? Is you saying what you're saying not just selective bias? And do you have an actual counterpoint?
(comment deleted)
Here is some extremely simple advice: If you are going to publicly lecture someone because of a technical opinion that hurt your feelings, you better yourself be a grandmaestro on the subject of tactfulness. That might work within your company if the company had a culture that includes radical candor, but these are public conversations with community members. Setting the merits of your point of view aside, your communication skills suck.
Read the thread, read the posts, read this reply... it would've been trivial to write a nice apology and move on, but instead you tripped over your own ego (twice). Well played! Should've just let it go when you had the chance.
>except to tell his followers that it was not a real apology

Well, it wasn't a real apology. It was "We hope you accept our apology

When you apologize, you say "I am sorry [insert other words of explantion]." Then you can say "We hope..."

What you did simply refers back to an apology that wasn't actually made. Considering that he was correct in saying the problem was simple, his tone was not actually combative, it accurately characterized the problem. So you belittled him & insulted him, and as you admitted you then failed to give credit where due to him & others. He has a career as well. Wouldn't it be nice for him to be able to pad his Vitae with a win on something like this?

Then your initial response he was, as you said, "not a good look". The edited post is better, but still not very good.

> I'll admit that we didn't list him by name, but neither did we list the other handful of folks involved. We should have.

This week's blog post refers to them as a "community member" [of Microsoft]. Such a self aggrandizing term.

Someone reported a bug on github. Your team dismissed them and peppered them with deflective words to pretend that the team is making a safe space for employees that don't care at all.

Your edits are getting closer.

"I just don't know what else he's asking for here."

ASK HIM

We've created the most incredible communication platform in human history and no one actually talks to each other, everyone just tries to publicly snipe.

Have you thought about not managing your team in such a way as to engender hostility from the outside world? It would be a good start to credit people outside the team for their work improving your product, instead of trying to take credit for it yourself.

Writing an "apology" for taking credit for someone else's work, without naming the person who did the work, is just adding insult to injury. Actually making amends would involve giving credit, both in your apology and by adding their name to the top of the original announcement if you can still edit it.

> dunking on my team

Translation: While I'm ostensibly apologizing please note that I'm actually the victim here, everyone please feel sorry for me and my team.

Yikes. Ego and open source do not mix well.
Ego and human interaction doesn't. Open source just exposes those clashes publicly.
In the future, when you think someone is being a fucking moron, never actually call them a fucking moron. Because if it turns out they weren't a fucking moron and you were wrong all along, you're going to look, well, like this.

The way to navigate the conversation would have been something closer to this: "I thought it was already doing this, but I'll check again, maybe we misread the doc. Also there's X, Y, and Z to consider that may make what you suggest harder than it seems on the surface".

That all being said, I kind of don't like anybody in this kerfluffle. I think your assessment of his character isn't terribly off the mark and now you're caught in a version of "the worst person you know actually has a point".

Now, we can sit here and discuss whether his approach engendered a response in kind or not, but at some point, someone has to be the duck and let the personal slide off their backs.

In short, be humble, and don't assume your own position is always correct, and leave room for doubt and criticism. Seek to find why someone else would consider your position wrong - it can't hurt because if you can find proof that your position is correct this way, it only strengthens your position, and if your position turns out to be wrong, you can learn and gain experience (while thanking the people who critisized you).

unfortunately, ego is what prevents this in a lot of people. Their self-worth is linked to being correct, and people pointing out that their foundational beliefs are wrong cannot be acknowledged.

> Another day, another Casey post dunking on my team. Hi!

> Casey rightly did not acknowledge it except to tell his followers that it was not a real apology

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

Your edited post starts of with the feeling that you are pissed at Casey, they are dunking on your team yet again. Then you go on to apologize to them.

Jesus fucking crist mate, no post would have been better than this.

Man this whole interaction really makes you guys look incompetent DHowett
Let's all just agree that computers suck and we should all just go back to churning butter for a living.
> Another day, another Casey post dunking on my team

Man, you have to take criticism better than that. Remember, we don't know anything about this other than the tweets plus these replies from you and your colleague here on HN. So the tweets honestly didn't seem to describe a particularly bad problem, the only thing that stood out to me was the fake-name-on-discord thing which is yet to be substantiated. I was willing to chalk it all up to an OSS contributor feeling ignored and ranting a little, but the feeling I have now is that there's some pettiness and bickering going both ways.

(comment deleted)
> Is it not acceptable that we use the same language?

Good question why insult him for his use if you feel its appropriate language?

> Is it not acceptable that we use the same language?

Good question why insult him for his use if you feel its appropriate language?

> As the message evolved, that became more and more out-of-place.

The wording didn't "became more" it was inappropriate from the start and instead of acknowledging this you and lhecker have tried walking back every excuse to downplay this. You both don't think it was out of place or inappropriate you are both just upset that you got called out on it.

> Using a texture atlas was a great idea, and we didn't know about it until you told us.

One is forced to wonder how, in an entire team working on a terminal emulator, no one thought to use the texture atlas. I mean, that's basically how the actual physical terminals the software is emulating worked in the first place. Then, when told about the obvious implementation, the reaction was not to slap one's forehead and say "Of course, it was so obvious!", but instead to tell a decades-experience game engine developer that they didn't understand how rendering works.

Mind boggling.

They've bragged in the past that the team members are younger than conhost.exe. I think that about sums it up.

It's not a crime to be naive, but lashing out in response is a problem, as we've seen.

Okay look, you've probably stopped reading comments at this point and have thrown your Hacker News password into the ocean. But just in case you haven't, here's how to fix this: Just go away. You're clearly not sorry at all, so the best thing you can do, for your own sake, is to stop trying to fool everyone into thinking that you're sorry. We're too smart for that. Just go radio silent and have someone else do PR for your team from now on. In a few years everyone will have forgotten about this incident, and you can start posting again.
Really cool apology! I wonder why you're choosing this hill to die on with this tone. Belligerence in the original post is what led to this and you're continuing with the same tone. You and your team do deserve to be dunked on
After the Windows Terminal Teams' half-hearted attempt at an apology a few months ago I actually believed they might improve their behavior. I guess that may have been too optimistic.
I will say, looking through the Windows Terminal GH repo, their whole page seems unnecessarily curt in tone:

>I built and ran the new Terminal, but it looks just like the old console

>Cause: You're launching the incorrect solution in Visual Studio.

I realize that comforting language isn't a priority for a lot of devs/documentation writers, but it's always good to keep in mind that we are dealing with other people reading our docs and we should take the time to care of each other with our language.

https://github.com/microsoft/terminal

Eh? That's an FAQ, in the FAQ section, written in the style of an FAQ. The next line, which you didn't quote, has the solution. There's nothing wrong with it.
I dunno, that seems reasonable? It's very much to the point, and it would be better if it didn't lead with "You're [doing it wrong]" (I'd prefer to couch it with "This most likely occurs because [reason]"), but the written version seems fine.
Issue: Feeling bad after interaction with OSS developer at <BIG COMPANY>.

Steps to reproduce:

1) Report a bug.

2) Get called dumb by developers at <BIG COMPANY>.

3) Demonstrate that it is, in fact, a bug with examples, test cases, and offer a potential fix/PR.

4) Hear that it’s being “handled internally”.

5) Wait for the blog post re-iterating what they called dumb, talking about how great the team is that fixed it, and see your demonstration code or test cases in the linked commit.

6) Why are you still here? No, you’re not going to be credited, this is going in my promotion packet.

I’ve lost count of the times I’ve seen this over the past 20 years. Whenever I’m about to report a bug in a <BIG COMPANY> project I smile to my girlfriend and say “OK, I’m going to go get called dumb.”

And the Windows Terminal team reeks of this. There's so many blog posts saying look, we're so smart because they're reimplementing something both Linux and macOS had for *years*, as if the whole world of CLI was waiting for their savior.
When CMD is your benchmark...

(In all fairness, PowerShell has a lot of good ideas)

Yeah it is far superior to cmd. But I mean cmd was frozen in the 90s it seems anyway.
cmd is a shell. The old terminal is called conhost I think.
I figured I'd get this from someone. ;) I'm approximating that 99% of people who use Windows use default terminals for built-in legacy shells, and thus effectively analogous terminology. You're correct though!
I get the feeling that there's a bunch of people working for, or being paid by, Microsoft who really love functional programming. Some of Microsoft's best outputs comes from those teams/folks.

It could just be a coincidence/confirmation bias, so I wonder if there's actually something to that.

If you care about programming enough to really have preferences on things like functional or OO or other kinds of "deep" topics, then you're invested.
> I get the feeling that there's a bunch of people working for, or being paid by, Microsoft who really love functional programming.

Simon Peyton Jones, Simon Marlow, Edward Kmett, Conal Elliott, and I’m sure a lot of other people with fundamental contributions to the Haskell ecosystem who I can’t remember offhand all work or previously worked at Microsoft Research, so that part is just straightforwardly true.

Are PowerShell and Windows Terminal the same team?
I can’t speak to that. I’ve pretty much Linux only since 1999, but, of the times I’ve used PowerShell, I’ve like it.
Windows Terminal is a separate project from PowerShell. It's just a terminal that you can use with different shells (including PowerShell).

I have no idea what their blog posts are saying, but at least I've always found it pretty nice.

PS has been pretty slow though. I’ve liked the fact that you can pipe objects, but it seems to slow down the startup time of the shell.
True, the slow startup is annoying (especially if you load modules in your profile), but overall I still think it's better than the alternatives. I usually just keep a terminal window always open.
PowerShell is available for Linux if you want to use it more without Windows.
(comment deleted)
The whole world of CLI has been using a poor open source reimplementation of linux subsystems on windows for decades.
(comment deleted)
(comment deleted)
> There's so many blog posts saying look, we're so smart

Have you read Casey's twitter feed? The man routinely goes into long twitter thread rants about how stupid everyone else is.

His favorite target seems to be...drumroll please...large corporation software teams.

> rants about how stupid everyone else is.

> His favorite target seems to be...drumroll please...large corporation software teams.

To be fair, that's... not unreasonable. I've thought unkind things about large corporate software teams while I was working at said large corp.

> rants about how stupid everyone else is.

> His favorite target seems to be...drumroll please...large corporation software teams.

I missed the part where he is wrong.

the part where "he" is wrong, is the part where he tells everyone that his reference software can be compared to a real terminal. You cannot compare shoes with towels, nor cats with a TV. The tiling renderer "he" wrote as part of the reference software to demo isn't that bad as a product (to some degree), but that piece of software is garbage, as it has zero use. And almost none of the techniques "he" brags about can be applied to a real terminal. I mean, I like being educated. But so far, noone of the internet fanboys "he" has, has so far ever provided a real product out of his reference software. Admitted, some people tried (just look around), but they all failed. I wonder why. Do you know it?
> the part where "he" is wrong, is the part where he tells everyone that his reference software can be compared to a real terminal

He very clearly states that his implementation is a terminal renderer.

> And almost none of the techniques "he" brags about can be applied to a real terminal

Elsewhere one of the people from the screenshots says "we implemented the same approach" because these techniques can be and have been applied. Both in Windows Terminal and, as I understand it, in every single modern terminal emulator.

He literally implements VT parsing etc.

Edit: Also read this https://news.ycombinator.com/item?id=31285723 "We implemented Casey's approach and most modern terminals implement it". You need more proof?

Quoting from the author of the blogpost:

"We actually took the same approach Casey suggested... A lot of terminals implement it that way." [1]

I guess authors of a lot of terminals are trolling you.

From the refterm README: "VT codes for setting colors and cursor positions, as well as strikethrough, underline, blink, reverse video, etc." [2]

And, to begin with, Windows Terminal was horrendously slow even without VT codes. Also, for context, [3]

[1] https://news.ycombinator.com/item?id=31285723

[2] https://github.com/cmuratori/refterm

[3] https://news.ycombinator.com/item?id=31285339

> I am open for being corrected

No. No you're not. Because you keep shifting goalposts and ignoring inconvenient truths.

First you claimed that "almost none of the techniques "he" brags about can be applied to a real terminal".

To which I linked and quoted Windows Terminal team: "We actually took the same approach Casey suggested. A lot of terminals implement it that way."

Then you shifted the goalpost to saying "We should distinguish here between renderer and VT terminal backend."

To which I replied: he implements VT parsing and rendering.

Is it a complete VT parsing and rendering pipeline? No. Does it invalidate his approach? No.

And to put this into additional perspective, Windows Terminal was abysmally slow with no VT parsing, and with no color output to begin with. It couldn't handle most of Unicode, wide characters and dozens of other things.

And so on. Now it's "sickness", "plain garbage" and other stuff. Tell me, are you perhaps on Windows Terminal team? Because that's a fine if exaggerated example of their behaviour just a year ago. Now they are like "yup, we're doing exactly the same things that Casey is doing".

But wait, don't tell me. I'm definitely not going to engage in this useless thread any longer.

> > I am open for being corrected

> No. No you're not. Because you keep shifting goalposts and ignoring inconvenient truths.

I still am. Please submit a PR to refterm to that implements the VT sequences I mentioned above, until then I must continue to believe that you just repeat what other people say, without using your own brain. Shifting goalposts is probably not the best wording here. I keep listing arguments.

> First you claimed that "almost none of the techniques "he" brags about can be applied to a real terminal". > > To which I linked and quoted Windows Terminal team: "We actually took the same approach Casey suggested. A lot of terminals implement it that way."

"Almost none" does not mean "none". What WT applied is related to the tiling renderer. And I am sure I said "isn't that bad as a product" with respect to that. But Cassay also said that such things are super basic (if you know about it).

> Then you shifted the goalpost to saying "We should distinguish here between renderer and VT terminal backend." > > To which I replied: he implements VT parsing and rendering. > > Is it a complete VT parsing and rendering pipeline? No. Does it invalidate his approach? No.

VT parsing and actually doing something based on it, how often do I need to write that until you do understand that (!?), are two entirely different things. VT parsing is done in refterm, because it's needed for SGR and CUP, obviously. But everything else is discarded. All the other VT sequences that are parsed are not interpreted. Again, Please implement the VT sequences I mentioned above in refterm, without degradation of refterms claims.

> And to put this into additional perspective, Windows Terminal was abysmally slow with no VT parsing, and with no color output to begin with. It couldn't handle most of Unicode, wide characters and dozens of other things.

You use Cassays wording here. I'm fine with that, WT was and is in fact still slow. Just fork it, and make it faster. You guys keep saying it's simple, it's easy, it's all proven numerous times. Yet noone of you ever provided a terminal that is implementing enough VT sequences to be taken serious. refterm is a joke, it's garbage, and simply harmful. Not to its entirety, certainly not, it prove a point on rendering speed (7000 frames per second in a terminal-like application). Ignoring the usefulness of such for a moment, the reason why this whole rant of Cassay and his demo program is harmful to the public is, because you keep blindingly following him. Without questioning, without thinking about it, because thinking costs energy, one could say. I do not know your true reasons, but I can just encourage you to try.

I HEREBY CALL YOU OUT! Please work on refterm, and proof your point by implementing:

1. DECSTBM, DECSLRM 2. SM/RM/DECRQPM 3. alt-screen 4. DL, ICH, IL 5. rectangular operations (DECCRA, DECFRA, DECRQCRA, ...) 6. SD, SU (respecting margins set by DECSTBM) 7. DECAWM correctly applied.

> Tell me, are you perhaps on Windows Terminal team?

I am not part of Microsoft nor their WT team. I do however know how terminals work internally, because I have implemented one. So I do know what I am speaking about here. I even took refterm very serious and looked into the source code and tried to learn from it. Again, I was already saying repeatively that there are some good techniques applied, and also has some architecturally good decisions. But this does not hold on the performance level when you actually start implementing more than just bling-bling SGR plus CUP. Ignoring DECAWM is also a damaging descision.

> But wait, don't tell me. I'm definitely not going to engage in this useless thread any longer.

Because I call you out? That's cheap. Please at least have the balls and react on the actual content of my post (the VT sequences): technically!. Until then I must just assume you are (amongst...

He never claimed refterm was a fully working terminal ready to use. He said it was a renderer. The entire point of refterm was:

    <casey> Windows Terminal is slow at rendering things
    <microsoft> Yes, rendering is a hard problem worthy of a doctoral research project
    <casey> No it's not, you literally just use a glyph atlas
    <microsoft> You are naive
    <casey> *writes refterm to demonstrate glyph atlas*
You keep complaining that it's not a fully working terminal. Casey, on the other hand, writes:

"These features are not designed to be comprehensive, since this is only meant to be a reference renderer, not a complete terminal."

https://github.com/cmuratori/refterm#feature-support

Exactly. Therefore you cannot compare a renderers performance with some other that has a fully functional VT backend attached. The comparising result is meaningless. His renderer is good, but the VT throughput performance claims he makes are wrong. For that to be fair, he should not take shortcuts in functionality.
Why is the word “he” in quotes? Are you implying that they’re trnsgnder or something? But you don’t put “his” in quotes, so that probably isn’t why?

It is confusing.

He's not wrong though. Large corp software teams, paradoxically, tend to run stupid even if comprised of smart people.
Thing about Casey's rants is that he's completely right though. This is obvious to pretty much anyone who isn't being disingenuous about it. And his writing takes on an admittedly aggressive tone because, frankly, we've been dealing with shitty software that keeps getting shittier written by self-aggrandizing people for a decade or so now. He tried being diplomatic in his issue report and he was shit on for it. That happens all the time.
> There's so many blog posts saying look, we're so smart because they're reimplementing something both Linux and macOS had for years

It doesn’t really read like that for me, more of a look at this cool thing we made with an undercurrent of fucking finally, and that seems entirely fair.

I've pointed out flaws to the dev team at MS they were pretty quick about acknowledging it and fixing the problem. There were some showstoppers in the media encoders early on when they were developing win10. The only thing they asked is that I prove the issue was real and as soon as I did they were on top of it.

They were also pretty quick and helpful with answering any question I had. I guess it depends on what team you get ahold of. Or, maybe how you ask the questions. I always try to be polite and patient, which is hard to do when you're in a time crunch.

They really were trying to push azure hard in a situation that didn't require it. It was odd at the time. I chalked it up to the team evangelizing a new feature that they knew was going to rake in money, so they were required to bring it up. I remember it was funny and a little annoying to have to keep saying no... now let's get back on topic.

But, they never insulted me. It was a very professional experience. Sad to hear this kind of thing is happening now.

Reading your post feels good, man. But your last sentence kind of bothers me. Why do you feel they are insulting you now? I think, if at all, someone else was, and kept doing, and still is, insulting them instead.

I'm just trying to understand here, thanks. :)

In the last paragraph I indicated that they never insulted me. The very last sentence is referring to the article and that I'm sad to hear that this is the case now for others. When I personally interacted with Microsoft that wasn't the situation I had at all. I had a good experience.
https://github.com/microsoft/terminal/issues/10362

The original discussion. There is absolutely nothing wrong with the way the Casey individual approaches it. At all. And yes it is simple. If your basic text terminal gets 30 FPS on modern hardware (or worse), you have started with a bad foundation. That is just gross.

The NYT commentary is a bit hilarious as you see that claim on here daily, repeatedly.

> And yes it is simple.

I like. Please submit a PR and make Windows Terminal as fast as refterm, trivially speaking, 2GB/s, no slower than the unoptimized refterm. Just to quote you: simple.

:-D

nothing wrong?

> "Can you be more specific here about what you are talking about? While text output can be "hard", for some not particularly hard definition of "hard""

Insulting, dismissive, rude.

> "to me that a great deal of improvement could be made to the performance of the product if one were so inclined."

After someone said they'd been working on improving performance for 2 years and engaging in good faith with many detailed replies, someone who said they were dependent on changes in the OS which they couldn't make; to then insinuate that they just "weren't inclined" to make improvements is rude.

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

Closing a bug report about performance which affects all users, an issue with many detailed comments from many people, because he's taken offense? And at something which was far less rude than the things he said to them in the same discussion? Prima-donna bullshit.

Your reply says it’s not rude it’s factual, and you defend it as factual by saying easy/hard is subjective with the skill of the developer (i.e. not factual), and you defend that it’s not rude by insulting the dev skills and calling them mediocre and laughable? And you don’t address the bit where he storms off in a huff when much less is said back to him?

Even if I agree it’s factually easy, walking up to someone and saying “walking is easy if you’re not a cripple, am I missing something?” is rude if the person is disabled and even more rude if they aren’t. “But they’re crippled! Fact!” doesn’t make it not-rude behaviour. He isn’t Linus Torvalds and even LT insulted devs on behalf of userland and good code and not just to make himself feel superior. And doesn’t have an eggshell thin skin.

You're a liar. The entire thread on github [1] shows that it is a technical discussion about the unacceptably slow performance of virtual terminal sequences in Windows. Solutions are kicked around and debated until a Microsoft person steps in and calls what is essentially a weekend fix a 'doctoral research project' and accuses Casey of being 'combative'. Casey is rightly annoyed by this, closes the bug report and goes on to implement a proof of concept showing his blazingly fast approach that did indeed take a weekend. He's a good programmer, a good communicator and doesn't suffer fools gladly. This blog post merely proves he was right all along.

All your talk of 'narcissistic injury' and his personal motivations for anything is pure projection and tells me a lot more about you than about him. And yes, the New York Times is no better than reading Twitter.

[1] https://github.com/microsoft/terminal/issues/10362

Not a liar. Casey was being combative, and still is. He keeps mobilizing his entire community against a small team because 1 GitHub issue didn't go the way he wanted. I can't believe this is still going on.
Yeah man, Casey just needs to leave poor Microsoft alone. Can't he see it's completely helpless against his good code and the people who follow him online?

I sometimes wonder if there are any adults on this site.

I don't believe Casey was being combative in the original thread, but ...

> And yes, the New York Times is no better than reading Twitter.

You're high as a kite if you believe that. Toking the dankest shit anyone's ever toked, long deep inhalations. You're dropping LSD you got from your friend's friend who you think is homeless and you're not sure what it's laced with. You're consuming craft psilocybin perfected in the lab to give the most detailed, most immersive hallucinations over hours and hours. You're babbling that you've seen God, that you know the secrets of the universe, that you're being bugged by the KGB, that your brother isn't really your brother but is an imposter who just looks and sounds exactly like your brother.

You're crazy.

I'm a perfectly sane and sober individual, mrtranscendence. I think it's you who might need to ease up on the mind-altering stuff. Besides, I know the New York Times is a crock of shit because it's lied about me several times on its front page. So I have personal experience.
(comment deleted)
(comment deleted)
I think this goes both ways. As a developer at a big company, I've definitely been called dumb or obstinate on issue trackers for not prioritizing certain feature requests, or for not moving forward with a specific design despite explaining why that design is incompatible with other requirements.
Idk, personally I hardly think of DHowett's comment footer as insulting. Going through the Github thread the OP does come off as standoff-ish. It's just a reminder that being right is not always enough.
Same here, maybe it's because I'm not a native speaker, but I didn't see anything offensive in the discussion. It wasn't even a particularly productive discussion worth crediting OP for.
It comes across as very passive aggressive to me (native British English speaker).
Look at the settings menu, it looks like a setting menu from iOS, huge controls, everything is a list, endless scrolling

No wonder why they didn't know what they were doing

So that kind of behavior doesn't surprise me

What's even more surprising is it's the same for everything windows related, including windows 11, performance issues all over the place, nobody acknowledge it, and whenever they face criticism and complain, it's the ugly trolls!

Sometimes i feel like some managers doesn't want to give up their position and salary, so they surround themselves with tasteless people

Culture and hiring problems at microsoft, as usual, apple is being hit by the same issues these days, just like google and facebook

Lot of money to be made in these positions, it always attract the wrong people

OS dev is dead everywhere.
Who knew hiring based on leetcode would backfire
Casey's next stream [1] will probably be very entertaining! Back when the original drama unfold I could very much empathize with his frustration. Let's not forget they told him that what he was suggesting was the work of a PHD when any game developer worth his grain of salt could do that very trivially.

[1] https://www.twitch.tv/handmade_hero

This is so insulting to Casey, he does his instructional videos for the world to see and educate a new generation of programmers about how to make a game completely from scratch. This isn't his full-time jobs. This isn't some streamer trying to gather new audience by brewing up drama.
This is just a purely insulting comment. Name calling and dismissing valid complaints as that "one time he was right"
Or is LigmaYC actually in fact Casey himself??? Troll-busters want to know.
No, this is just a temp account because I mainly lurk HN. Given your previous tone, I wouldn't suggest accusing others of being part of an "angry mob".
> I wouldn't suggest accusing others of being part of an "angry mob".

Why not? What are you going to do about it? Be angry more?

No, read the first part of the sentence.
Good for him. Sounds worthwhile. I'd be more inclined to watch him or recommend him based on that instead of learning of his existence by him yelling "I told you so!" in reaction to the kind of thing that happens every day in large software projects.
Casey streams every day, usually with very few viewers. This drama fell into his lap, a perfect package-wrapped gift from the Microsoft team. What you're saying is like accusing NPR of profiting from a war of famine or something.
Fair point. He didn't need to deliberately generate the conflict. But he sure seems to be enjoying it. Instead of maybe moving on, or using the experience to build connections and strengthen relationships with the people he interacted with. Sounds like plenty of apologies have been sent his way. But accepting them isn't as much fun as yelling and throwing rocks. Also, temper tantrums get more attention.
> when any game developer worth his grain of salt could do that very trivially.

Just to note that Casey isn't any game developer, but one who is an expert on 2D UI rendering and popularized his own gui rendering type (probably more or less used in some older games but not articulated?): immediate mode rendering:

https://caseymuratori.com/blog_0001

He's basically an expert in this domain with a very popular approach to performant 2D gui rendering.

Of course he isn't just any game developer, that doesn't mean the issue at hands isn't trivial for a game developer to tackle.
I really wonder why OSS developers often have so big ego issues. I mean I get it, attribution is nice and all, but trying to force attribution for evey small idea you might have had in your life by trying to rally the public against "the evil corporate enemy"? Really? How low can you sink
There's keeping your head down and silently not giving attribution, and then there's publishing a blog post, boasting how smart you are, and merely mentioning that the idea came from "someone in the community".
Maybe you don't know the context but this isn't a "small idea".
(comment deleted)
This is worse than it looks, since the person who wrote the blog post is the same person who insulted the dev, and is the same person who joined that dev's related discord under a pseudonym. [1]

[1] https://twitter.com/cmuratori/status/1522471966929653761

The fact that he went unmentioned is pretty damning. I don't give Microsoft the benefit of the doubt here -- this reeks of stealing credit under the guise of "open to feedback".
Yeah this person has made a “career limiting move”. Actually it’s been multiple moves but yeah.

This goes against Microsoft’s community engagement policies. I hope Leonard reflects on his actions and makes better choices in the future.

Jesus christ, this behavior would have gotten me in deep shit in any place I've worked
Anyone who knows anything about Casey Muratori knows that nice and humble are not usually words associated with him. That is not to say the devs he is calling out are in the right. Frankly, I just see a bunch of combative assholes arguing with each other.
Yeah, DHowett's and LHeckler's responses were kind of dickish, but Casey's own words, tone, and attitude aren't doing him any favors either.

Casey happens to be right on the technical issue in this case and people are just glossing over all the ways in which he was also wrong.

Now, personally, I believe it was the WT Team's responsibility to let it go as they're representatives of a larger organization and as such how they interact with people reflects back on the organization they work for.

But yeah, no heroes in this story.

How was Casey wrong?
He was wrong in how he approached the team. Everyone lacks tact in this exchange.
Just because you don't think he was polite to some arbitrary standard does not make him wrong.

If people are this sensitive to "tone" and "tact" about technical matters, then we (as a community I guess) have much deeper issues then the technical matters themselves.

(comment deleted)
If you are looking for someone to do something for you, it's best to approach them in a way that won't make them upset with you. He didn't do that. His approach was obviously wrong as evidenced by the dust cloud it kicked up.

And your criticism of people who are "this sensitive to "tone" and "tact"" are equally applicable to Casey. He apparently didn't like the way the WT team talked to him. And it seems a lot of people in this very thread don't like the way the WT team is talking to everyone.

But you're not chastising Casey or everyone in this thread for being sensitive to tone and tact.

Coming from someone who really likes the guy;

Casey's code game and logic game, quite strong.

His tact game and empathy game, not as strong.

Not trying to denigrate, just observing.

Maybe Casey is an antihero?
I've read this github issue fully

https://github.com/microsoft/terminal/issues/10362

and casey seemed very reasonable to me, possibly except maybe the last message. Apart from that, i don't really see an issue with the tone or attitude tbh.

The salt was primarily reserved for a series of followup videos he made, and twitter. You're right that his conduct on the issue itself was mostly fine.
"Happens to be right" is kind of misleading here. It's not like he "happened" to call tails on a coin flip or something.

Microsoft has a history of writing unreasonably shitty software, abstracting it to all fuck with ten thousand layers of manufactured complexity, and then claiming the problem itself is hard. Casey was like, no, the problem is actually trivial, and if you just write code in a straightforward way without pessimizing your own code, you can easily get something 100x faster than Windows Terminal. He even wrote refterm to prove it: https://github.com/cmuratori/refterm

No one wants to be told that something they're working super hard on is actually trivial, and that all of their problems are basically self-created. There's no nice way to say that. It's basically saying, "stop doing 90% of the crap you're doing, and the problem solves itself." But it's true and it should be said.

(comment deleted)
This whole interaction, on both sides, is childish and makes our entire profession look bad by reinforcing the stereotypes peoples have of us. I would avoid working with anyone involved in this.
The fact that, months later, this guy has still not let go of the self-perceived insult of someone else's software not meeting his own expectations of performance, is the very definition of being combative.