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)
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...
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
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.
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 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.
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.
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.
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 [...]
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 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.
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?
Do not let your sarcasm/irony out of the articles, I've enjoyed.
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.
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.
> 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.
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?
> 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.
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?
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 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.
> 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.
In any event, this whole thing is blown out or proportion and doesn’t deserve 300+ comments let alone another from me.
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.
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.
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.
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.