When I tell the Windows Terminal team something is simple, I am "misguided"
twitter.com
twitter.com
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.”
(In all fairness, PowerShell has a lot of good ideas)
It could just be a coincidence/confirmation bias, so I wonder if there's actually something to that.
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.
I have no idea what their blog posts are saying, but at least I've always found it pretty nice.
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.
> 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.
> His favorite target seems to be...drumroll please...large corporation software teams.
I missed the part where he is wrong.
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.
It is confusing.
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.
s/years/multiple decades/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.
I'm just trying to understand here, thanks. :)
[1] https://twitter.com/cmuratori/status/1522471966929653761
This goes against Microsoft’s community engagement policies. I hope Leonard reflects on his actions and makes better choices in the future.
Something the Microsoft API team did irked me slightly. One day the Microsoft 360 API (used for email) seemingly stopped working. After a whole week of troubleshooting and discussion with other devs around the planet I fixed the issue. New headers had to be included. It was a one line fix that stole a week of my life. The API had changed. I could have been ok with this but when I made a post on the repo explaining the fix and that I had no idea why it had even changed, instead of a thank you- a Microsoft API dev chimed in to say it was a trivial change and didn’t see what everyone was so upset about. Knowing no documentation had been updated and every system around the planet had been broken for probably a week that depended on it. No apology no gratitude. I can handle that. But an insult to say I was being impertinent and overblowing the importance.
Well I never forgot it, and eventually this stuff comes out. I hazard to say there are toxic dangerous people in every major company I just don’t understand why these people aren’t cautioned as soon as these public incidents happen it’s as if no one is really watching the behaviour in the irc channels or repos but are instead focusing on internal metrics which in my opinion don’t measure the devastation cause by these bad apples - who should atleast be checked up on.
Casey does come across as pretty rude sometimes (saying this with respect, as I love Handmade Hero and his other work) and the Windows Terminal developers seems like they were a bit egotistical to just discount his idea as they did.
The blog post by Leonard H seems pretty tame. The "solution is trivial" comment I took as sarcasm (but I'm British so maybe I just assume everything is sarcasm :).
The only bit I found a little odd was about one of the developers joining a Discord server under a fake username. If that did happen, it seems like it was a bad idea.
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.
> 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.
Why not? I see nothing wrong with this sort of feedback. It's blunt, but constructive.
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.
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.
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 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.
> 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.
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.
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."
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."
> can be read as impugning the reader.
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
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.
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.
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.
Casey's code game and logic game, quite strong.
His tact game and empathy game, not as strong.
Not trying to denigrate, just observing.
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.
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.
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.)
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.
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.
Well if I were to write an apology "frankly to <person>" I would probably mention <person> by name in the apology.
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.
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?
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.
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.
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"
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.
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.
That is 100% an apology
> 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.
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.
Seems pretty sincere and decent to me.
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.
Its like an email that says “attached”, but there’s no attachment.
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.
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.
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.
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.
> 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.
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.
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.
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.
Also, good apologies come with admission of fault and steps you'll take to make sure you don't make the same mistake again.
> 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.
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...
> 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.
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.
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.
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.
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.”
People should learn to express themselves professionally and keep up the standards, on the professional communities, this is not /b/
1. I'm sorry 2. It was my fault 3. How do I make it right?
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
Welcome to Microsoft!
Casey is also responding to unprofessionalism initiated by MS. (Though admittedly the "they started it" defense isn't a great one)
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.
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.
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.
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.
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 :-)
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.
No, Microsoft doesn't suck. It's a great company. It's some people there that suck, and one just got self-identified.
- 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?
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.
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"?
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.
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.
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.
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.
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.
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.
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.
Translation: While I'm ostensibly apologizing please note that I'm actually the victim here, everyone please feel sorry for me and my team.
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.
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.
> 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, 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.
Good question why insult him for his use if you feel its appropriate 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.
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.
It's not a crime to be naive, but lashing out in response is a problem, as we've seen.
[1] https://github.com/cmuratori/refterm [2] https://www.youtube.com/watch?v=hxM8QmyZXtg&t=1052s
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.
[0] https://assets.sbnation.com/assets/2907963/microsoftguns.jpg
English is not my native language and "The solution is trivial" was meant sarcastic. The solution isn't trivial at all, nor is it complete, because solving the corner cases is complex.
I'd also like to mention ahead of time that DirectWrite/Direct2D is very fast at drawing western (Latin) text without coloring (>2000 FPS). In other words, in most situations Casey's suggestion doesn't help much, but it does address his termbench issue. At the time we assumed we were using the API incorrectly, after all Direct2D already had everything Casey suggested we should implement and it ran very fast outside of termbench. The new solution is largely identical to regular Direct2D with the only major difference being that ClearType/Grayscale gamma-correction is run on the GPU instead.
Casey's suggestion wasn't unique to me, as a significant number of other terminals do it exactly that way in OpenGl, something I was quite familiar with already. Originally I credited alacritty in the blog, because that's how I knew how to do it, but I removed it to keep the article as succinct as possible.
Update: I'm very sorry for publishing the blog post without giving proper credit where it is due, and it's been updated since. I'm sorry for my continued, overly defensive behavior.
Just don’t take anything personal. Being defensive / know best is in this industry everywhere at all levels and organizations.
Being humble in general is hard, being humble in code reviews is harder, being humble to Internet comments in any forum… sometimes impossible. Then repeat that with two super genius experts - eek.
You find everyone is usually trying their best if you ever have face to face (except server admins, they are stone-cold psychopaths, stay away).
Would bet you both are helpful and open minded at the end of the day.
I just wish people wouldn't say I'm taking credit, when it's an old, widely used idea and when I spent such an incredible amount of time reading and understanding DirectWrite/Direct2D's code in order to ship this renderer in the state it is.
It's sometimes tough to dissociate the problem with the people involved. Hope this will have a positive resolution as most of the people seem to be experts at what they do.
The server admin is a reflection of the union of the community of devs, maintainers, designers of their hardware, and users/benefactors of their boxen.
If your server admin is a psychopath. You may want to take a hard look what goes into keeping their boxen ticking along smoothly, and the demands of those using it.
Sometimes you get to be a peaceful, serene shepherd.
Sometimes, you're trying to keep that last critical link to reinforcements alive under siege from all threats, foreign and domestic, all at the same time.
Occupational hazard I guess.
The first time this really hit home with me was when I was dating a girl who laughed at inappropriate times (e.g. it was extremely amusing to her how much my ski boots would squish my feet the first few days of the season). It was only after I broke up with her (for unrelated reasons) and saw her go through her own struggles that I learned that her family of origin was horrible and there was no one to comfort her when she would get hurt. Laughing was her way of dealing with the emotions of physical injury because she didn't know how to soothe herself or others.
Anyone who has the misfortune of having a friend or family member get ensnarled by the Qovid / Trump / populist zeitgeist can see that most of these people have gone through immense emotional suffering (often involving betrayal by a government agency, big business, or spouse), and are just bereft of the self awareness to understand what is going on with their emotions.
So yes, don't take anything personal. It almost never is.
I couldn't tell you were being sarcastic and it seems others couldn't as well. I only found out through this comment.
Text is the worst medium for sarcasm since sarcasm is often signaled by vocal inflection or body language, neither of which are present in your post.
It can and does work on the internet, provided (i) the writer is prepared to accept that a subset of readers won't "get it"; they'll fail to pick up on contextual clues that signal irony and (ii) you have to be a good enough writer to include those clues so that at least your intended audience knows not to take it literally.
EDIT: To clarify, in this case, irony was a bad idea because it was badly executed. The context that would allow readers to interpret "The solution is trivial" as ironic was only available to people who were privy to the original conversation, while the blog post was intended to be read and understood by a much wider audience who lacked that context.
https://tonetags.carrd.co/#masterlist
A number of creators, especially cosplayers, have recently shared posts encouraging their use.
I don't know how widespread it is, because TikTok and IG both tend to feed you content relating to your niches. So I may be seeing a disproportionate number.
(I had to Google what NBH was about, it means "This isn't aimed at anyone specific reading this".)
(Also, Lord save me from people who call themselves “allies”. It’s just called being a normal decent person, but that doesn’t let you brag about it or use autistic/black/etc people as fashion accessories, so I s’pose that’s off the menu..)
I've got autistic friends who struggle with open questions. They strongly dislike opening greetings without quickly taking the conversation somewhere.
They often miss stuff that's implied in conversation. It has to be explicitly stated.
They suck at gauging tone and intent in written language. They worry about the feelings and opinions of others. It can be upsetting and stressful for them.
But they're smart, capable, fun, artistic and creative, kind, thoughtful and inclusive.
They are certainly not lacking in colour or playfulness. (Possibly lacking in spontaneity to a degree, but I don't think that's a deal-breaker.)
And it's great that you're comfortable enough with misunderstanding things for it to be preferable to an alternative.
I choose to change my language to suit them. If using /s and /nbh or whatever helps them to correctly parse what I write, and assists in me communicating, why would I choose not to do that?
When using spoken language, I denote sarcasm through tone of voice. Does that render it pointless? If not, why would using /s?
> EDIT: To clarify, in this case, irony was a bad idea because it was badly executed.
That was exactly how I felt reading it. Had it been the last statement of a long and complex explanation, it would have landed differently and warranted a chuckle.
And that’s before you even get to the internet’s tendency to read what’s written in the least generous way possible in order to score internet points with a response to something wholly divorced from what the author intended.
Now add sarcasm to that mix. Pulling sarcasm out of context often leads to quick-draw responses to the exact opposite of the point the author was making.
> Baffles me that people think sarcasm is a good way to communicate on the internet.
The subtext here is that the idea of using sarcasm on the internet should be obviously stupid to everyone, thus you're stating anyone who exercises it is stupid. That or you're clearly smarter than everyone else.
> You are begging to be misunderstood, either accidentally, or maliciously.
Thus, if you're using sarcasm you're either stupid or evil.
Was your intent to insult people?
Sarcasm and irony can be effective means of communication, the same as exaggeration. Communication is hard and people posting on the internet don't() invest much thought most of the time.
* Typo
i would like to sign up for the internet you're on. where can i send my money?
> Poe's law is an adage of Internet culture stating that, without a clear indicator of the author's intent, every parody of extreme views can be mistaken by some readers for a sincere expression of the views being parodied.
What I haven't understood yet is what significance "The solution is trivial" being sarcastic or not has on the article itself. I understand it's reflecting poorly on it due to what I said earlier, but is there something that makes the article harder to understand due to this? (I realize this question sounds a bit rude, but I'm genuinely curious and I don't know how else to phrase it.)
> What I haven't understood >yet is what significance "The >solution is trivial" being >sarcastic or not has on the >article itself.
If there’s no significance either way it shouldn’t be part of the blog. It adds no value and takes away from your goal of being succinct which you stated in one of your responses.
General (well meaning) advice from a stranger: 1. Always leave personal feelings out of blogs, technical and professional communication - especially the broadcast type communication. We tend to think about a small number of people but a larger number of people without context will interpret things very differently. 2. Sarcasm, irony etc need context and sometimes are also differently perceived by people from different cultural backgrounds. Your goal is to represent your and your teams efforts while helping your users. Everything else will detract from it. 3. When faced with feedback take it gracefully even if it you disagree completely or it makes you mad. You don’t need to get defensive and explain ‘your side of the story’. It almost never goes well.
Also why the hell were there such rude responses in the community post in the first place? I’ve worked at Microsoft before and I’d have roasted my team if one of them responded in that disrespectful manner - even if the community member may have trivialized work.
What is presumably meant is the following: sarcasm and irony require a lot of skill and nuance to get right, precisely because they can be understood as saying something along with its inverse. More often than not, a sarcastic written comment will divide the audience into people who understood it to say P and those who understood it to say !P. This is especially true when your audience is large, culturally diverse, and (on average) rather literal-minded.
But don’t beat yourself up too hard. It’s a good article by any measure, and even more so for someone who is not a native English speaker.
In any event, this whole thing is blown out or proportion and doesn’t deserve 300+ comments let alone another from me.
So yeah, as noted, sarcasm is a tricky tool in writing. While I enjoy it in technical writing often, it's definitely not as common on a company-associated blog post (for various good reasons).
My own takeway for myself is a reminder: be careful crafting snark/jokes/sarcasm. Length of the statement probably increases the chances of being misinterpreted.
The issue here isn't so much sarcasm than that "is" should be read as "seems" here. But I don't see any other idiomatic reading that is sincerely calling the solution trivial.
Agreed - it may not be obvious on first glance, but there's no other reasonable reading.
I think it's really difficult to convey sarcasm well in text, and what seems obvious to you as a writer might not come across as sarcasm to readers. I certainly didn't understand that as sarcastic right away.
It might be better to address it directly and in a friendly way, like this:
> Like I did, you might be wondering right now why we don't just create our own, much larger lookup table and wrap it around Direct2D. Well, we can’t just tell Direct2D to use our custom cache [...]
It might also help to acknowledge that Casey's feedback and the interaction with them was constructive and instrumental to this improvement being considered and deployed, even if the team ultimately took another approach than the one that Casey suggested.
I'm not sure what role Casey's feedback had in this being considered for implementation. His original termbench tool was _incredibly_ valuable for sure, but I'm not sure later discussions changed the outcome of that. If we had figured out a way to solve the issue while we continue using Direct2D, we would've definitely sticked with Direct2D. Since there was no solution, there was only one other way to solve it and it's a way that has many other terminals already do it.
I couldn't imagine how bad your team would treat team members with inferior authority when your team treat your own users like this.
Non native speaking skill is really no excuse here.
I mean it's no wonder the introduction of the computer doesn't show up on the GDP charts when the industry is in fucking shambles and isn't even ashamed for it ... https://www.youtube.com/watch?v=5IUj1EZwpJY&t=35m40s
:|
Politics and ego that's all
It seems like you managed to optimize Direct2D with your 'glyph cache' pixel shader but that doesn't mean caseys suggestions were pointless.
I did say however: If we had figured out a way to solve the issue while we continue using Direct2D, we would've definitely sticked with Direct2D. Since there was no solution, there was only one other way to solve it and it's a way that has many other terminals already do it.
Despite the apologies you or your team have given, you continue to denigrate and downplay. First, Casey's suggestion "doesn't help much"; then, "Casey's suggestion wasn't unique". And so on. Casey suggested a solution, spent time proving it was easy, and you even used the suggested solution to good effect, and you're still trying to downplay Casey's contribution or involvement.
If Casey hadn't kept pushing, it's doubtful you'd even have gotten around to doing this, so some actual credit is warranted, along with perhaps a real apology.
In practice, I interpreted the text as "There's a simple solution... but we cannot use it", which is a perfectly fine thing to say, in my opinion.
It’s just poor form, why make an excuse in the first place? You can just say this was a mistake and try to be better next time.
It's literally saying "the contributions of people whose work I based my work on is less important than the least useful sentence in describing my work".
He just didn't care about other people.
Edit: it looks like Dustin from the same team at Microsoft shares the same hostility https://news.ycombinator.com/item?id=31284857
I can add back the sentence where I accredit Alacritty for the general, underlying algorithm/idea then, because that's where I heard about it first. There isn't really any other alternative, performant way to implement GPU-accelerated terminals, so I don't think hearing about it again from Casey changed my perception of what the only alternative to Direct2D is, in case it's fundamentally flawed for our purpose which it turned out to be.
There's nothing improper with adding "Edit: credit to the <name of the person> who suggested the solution. While the solution seems trivial, there are certain technical challenges to overcome".
> because that's where I heard about it first.
No. That's not where you heard it first. Otherwise you wouldn't have written "this needs doctoral research on performance" in the original issue.
Edit: I misattributed this quote, you didn't say it.
> I don't think hearing about it again from Casey
There's an actual, verifiable screenshot of your reaction to his words. That was not an "again".
The point of the waiting to edit suggestion is to avoid a bunch of reactionary edits during the most heated period. Immediately implementing every edit demanded of you when different people are demanding different edits all at once seems improper to me and waiting a short period seems a level headed approach. It also avoids the look of just trying to cover everything up the quickest way possible instead focusing on well thought out sincere reactions.
> No. That's not where you heard it first. Otherwise you wouldn't have written "this needs doctoral research on performance" in the original issue.
You've attributed the quote to the wrong person, it was not lhecker who said that.
> There's an actual, verifiable screenshot of your reaction to his words. That was not an "again".
There is nothing in lhecker's response that suggests he hadn't heard of the alternative. His comment argued it should all be able to handled in DirectWrite without using the alternative not that the alternative hadn't been thought of.
Ah, true. I definitely misattributed this statement. For this I apologize.
> His comment argued it should all be able to handled in DirectWrite without using the alternative not that the alternative hadn't been thought of.
His statement was "it isn't worth it" and "we ready doing it via the framework we're using" to only state, a year later, [1] "We actually took the same approach Casey suggested" while insisting that "it doesn't help much".
If he'd heard about this approach before and seen it in, say, Alacritty, he has a very shitty way of showing it.
It might be a good olive branch to extend thanks to cmuratori for trying to push that it was the right architectural choice but it was never about being the source of the idea. In either case it probably is a good idea to credit the other terminals that had already proven the implementation can work prior to all of this even starting though.
(it's bit long-winded but the general message is sound)
Do not let your sarcasm/irony out of the articles, I've enjoyed.
In your reply to Casey you made it sound like you where unaware when you say things like "I'm somewhat surprised that other accelerated terminals aren't already doing this" is OpenGL not accelerated? What am I missing here?
He was too 'overconfident' with his 'opinion'. But it is exactly what has been implemented.
It's basically this scenario:
> "You don't understand, it's very very hard, next to impossible, to create a website where you can leave an email address. i think you should reread all the RFCs and a bunch of programming books. You have no right to say anything, WE are Microsoft, not you, so you have NOOOOOOOOOO idea"
> 1 year later: "We created a website where you can leave an email address. It was actually not that difficult. But look, WE are Microsoft, so let us explain how smart we were to figure it out".
"AI will solve things" -> they have no clue, and just trust it's gonna work itself.
"It's difficult to add a field to that form, it'll take 2 weeks" -> usually bs.
I read the thread, and I fully agree that it should be a weekend work. So yeah, it's just other devs mismanaging their time, and therefore saying that things take way longer.
The issue created 2 days afterwards (https://github.com/microsoft/terminal/issues/10461) starts with the previously suggested solution which didn't make any sense because the original post "didn't understand how DirectWrite works, and yadayadayada". The solution is as trivial as "but just optimize our render pass instead"
No sarcasm there.
The whole sarcasm is just covering up their own ass
1 day later implementation starts. 2 days after that it was implemented..
> Yep! And I'm entirely on it!
So eager to work on an issue created by himself instead of someone else!
> Terminal cannot turn away valuable performance work simply on ideological grounds.
The "Atlas-Engine" label hasn't been added to the original issue either.
It just stinks like people using politics to improve their HR performance review.
Not to mention, as some of the other HackerNews threads mention [1], they very well could have already gotten cmuratori's idea from another person (in fact they say they already heard it from alacritty), and it could have already been an idea in consideration but they hadn't fully explored it yet because they chose a different path to try first. The github thread you linked seems to indicate the same thing. For cmuratori to just write a few github comments and then demand credit seems a bit much.
Also note that the blog post has been updated to mention cmuratori, although that could just be to appease the outcry.
https://twitter.com/stewartlynch8/status/1522512601443454976
https://github.com/microsoft/terminal/issues/10362#issuecomm...
It's not like you will get less credit for mentioning it - you still delivered the solution and that is what counts. But if you mention other people, it opens a few doors:
* They will like you and will be more likely to share further suggestions or code snippets (that will help you build your promotion package).
* The management will see you as a person who knows how to work with people, so you'll get a higher chance to get into the management track.
* Once you discuss a technical solution with somebody, and don't leave them in dust like an asshole, you get basic mutual trust. If you ever lose your job, they might gladly recommend you to their company, or vice versa.
Edit: I ask because if you're taking a pessimistic view of this, here is the rough order of occurrences:
1. You insulted Casey, knowingly or not, intentionally or not, but in public.
2. You join his discord, under a fake name
3. You write this blog post, without credit to Casey (other than "a community member").
I hope you can see how someone could very easily take this as something more sinister than it probably was.
2) I don't get why so many people talk about this as if it were some horrible thing. I don't use my real name on discord the vast majority of the time, I don't see why you expect others to do so. The person in question admitted who they were when it was mentioned and later apologized for not stating it when they first joined.
3) I'm personally more mad about it not crediting the other terminals that have that kind of approach like wezterm, or whatever prior art they used.
My understanding is they thought DirectWrite did caching internally, which made the suggestion unnecessary, but it turned out that wasn't working quite as they thought it was. I didn't think the terminal people were combative at all until Casey himself was.
Ultimately, I think a big part of the outrage is just people assuming the worst interpretation of anything Microsoft.
The GP seems to use similar naming conventions for all their accounts. GitHub, HN, Twitter, are all "lhecker." It's a pretty standard naming convention - I'm pcopley on a ton of services. So I can see how it could raise an eyebrow when you get an aberration of that norm or habit or brand or whatever you want to call it. The simple (and honestly maybe even likely) explanation is just "it's not an anonymous account I just have a different username on discord." But if you're inclined to pick up a pitch fork every now and then it's easy to take that as some sort of nefarious act.
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.
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.
How do you figure? They own Bing and Windows 1x is full of mandatory telemetry.
I see you haven't used the new, privacy busting Windows 11 OS, yet?
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.
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.
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.
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.
... 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
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.
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.
> 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
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>
It also shows a certain arrogance to call a topic "simple", because it is supposed to show the audience that you are an incredible expert in the field.
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
It's also worth noting there was a non-Microsoft individual out of China cmuratori et al had a lot of early communication issues with. They also apologized individually and ended up dropping out of contributing to the project (mostly performance related commits) last year due to some of the things said about them on GitHub and Twitter.
Imperfectness of the terminal committers aside, past and current, I don't think I've ever seen something approaching an apology for anything from cmuratori (though admittedly I don't follow anything outside Github as I'm just trying to follow the changes). I have seen the guy go out of his way to write an alternative demo terminal (licensed in a way the Microsoft folks can't even read it on GitHub if they wanted to) rather than actually try to help the project... and have folks like lhecker kindly responding to GitHub comments about it while he was working on making it happen in the real Windows Terminal codebase.
For all that still just want to gang up on the Windows Terminal team here because they can find something they did that wasn't perfect I'd just say they've handled it better than I think 95% of HN would have, better than I would have for sure, and you shouldn't give this troll more of a platform even if he was right about the technical approach in this case (though wrong about a lot of other things about it along the way). If you must talk about it why not instead focus on what better examples of handling this kind of situation have been instead of easy quips about why this didn't go as it should have? Or handling toxicity in online communication since it could easily apply to many of the comments here as well.
>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.
Clearly some egos have been bruised, but that's the reality of open source. You aren't just dealing with pre-screened colleagues. Some higher management should step in to mediate and cool things off.
Absolutely unsurprised that the Windows Terminal team wasn't focused on this or didn't pull in, say, a rendering expert. Microsoft is very siloed.
I'd summarize this more as "Microsoft employees initially disagree with dev's idea, but eventually admit he was right."
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.
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.
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 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.
Dear ImGUI also does this, and while font baking is not trivial, integrating ImGUI is almost.
If I were a Microsoft exec and came through this mess I would say fuck Open Source.
This is why we can't have nice things.
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.
Credit where it's due, I think Windows Terminal's team did try to extend an apology. (Sincere or not, what is the extent that you deem sincere enough)
https://github.com/microsoft/terminal/issues/10462#issuecomm...
> We certainly handled the original issue poorly, and we're trying to do better.
> We may not have taken the feedback seriously to begin with, but if it appears to have been completely dismissed then I am sorry.
> Personally I'd like to also welcome @ cmuratori and @ mmozeiko back to give any comments if they wish to do so. Of course it'd be entirely understandable if they don't.
Minimised comment https://github.com/microsoft/terminal/issues/10462#issuecomm...
> We‘re quite aware about the code and are extremely happy about what was created there. I mean it seriously: It sets a great goal for us to strive for. Unfortunately the code is intentionally GPLv2 licensed and we‘ll honor this wish entirely. As such no one at Microsoft will ever look at either of the links.
Claims that they tried to communicate with Casey:
> I‘ve talked with the author before and they made it abundantly clear they don’t wish to ever speak with us again. They‘re entirely welcome to return and take part in this project‘s discourse of course… I‘d be delighted if that was the case!
--
What do everyone think of this?
Honestly people, just don't use the product. A putty session to a Linux box still beats anything Microsoft can offer.
Different strokes for different folks. :)
I remember the original incident, I followed it on Twitter. I think the tone on both sides could be nicer.
Recommendation to the MS team: instead of engaging, wait a couple of days and this will blow over. In these situations, if you engage, you will always lose.
let &t_SI .= "\<Esc>[4 q"
let &t_EI .= "\<Esc>[2 q"
You probably also want set ttym=sgr if you want mouse interactions to be sent properly.
Love your username by the way!
2. Even if this were true, who cares?
3. Microsoft comes across fine. The dev comes across as entitled and petty.