skysight-inc/HackerNews huggingface dataset:
Hi! I'm the person who wrote that blog post.
If you have any questions whatsoever, please let me know!

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.
I can’t speak to that. I’ve pretty much Linux only since 1999, but, of the times I’ve used PowerShell, I’ve like it.
Yes, the evaluation of the code needs to be possible from everywhere. From the REPL window, the code editor, the debugger, and the inspector... Any code you select should be possible to evaluate in place.

It is more than four decades old obvious basic idea, and I do not understand why almost everybody ignores it.
> Tools like Visual Studio Code are pretty good too, and run on GNU/Linux.

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

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

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

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

Large US corporations exist only to oppress and bully. There's no way to change that, from any side. It is better to operate as if they do not exist at all, where you can.
Whilst not hitting all the grammar notes “we hope that you will accept our apology” is quite normal colloquially.
Replay.io lets you add print statements after the fact, without having to "attach a debugger", modify your existing code or different layers of logging.
Agreed, while I completely agree that in person is not the same as virtual, Slack makes it so that it's not as bad and I've made some good connections on slack. I check it every day and very much feel like I'm part of a community.
Do you have concrete examples on how you would consider Android and Docs worse in terms of privacy?

I'm trying to imagine how Google Docs could be worse than Microsoft Word stored in your One Drive, or Microsoft Word Online. Both services don't access your private word document unless required by law enforcement.
My advice to you - look at the top tier security conferences (CCS, IEEE S&P, USENIX Security and maybe NDSS). Find malware analysis papers that interest you. Look what universities the authors come from and see if they offer an online program. The university you link to above are research leaders in this area (H. Bos & C. Giuffrida), and in general this will usually be reflected in the quality of teaching available for a particular topic in a given institution.
What I mean is the jobs that you can get with a master's degree you can get just as easily with a bachelor's degree. The advanced degree really doesn't make a difference.
Maybe when you're starting out, this kind of work doesn't feel as much like bullshit because you don't have enough experience to differentiate. It feels like you're on your path to becoming a better engineer and the struggles ultimately seem worth it. But I bet once you hit a certain point, having to wrangle with the same flavor of bullshit you did 3, 5, 10+ years ago feels a lot more soul sucking. It doesn't feel like becoming a better engineer like it once did because, in OPs case, learning the syntax/structure of a new JS framework doesn't feel like the sort of vertical learning it once did. You probably want to learn new, more advanced concepts, not "I know how to do this in React - how do I do this in <new JS lib>?"
Perhaps you shouldn't wrap so much of your self-identity in code that you wrote for a paycheck. The correct response when given such a clear fix is to learn from this person, thank them, and move on.
Yes, the whole thing is a bit weird and so I honestly don't know which side is credible.
They did, they implemented a crazy fast terminal renderer (that still supports advanced features like right-to-left languages in Unicode, etc.) from scratch in about 3,000 lines of code just to prove their point:

https://github.com/cmuratori/refterm
> Forests, and even whales, are potentially renewable resources.

The whole focus on sustainable and renewable is a really broken way of thinking... Nothing needs to be either sustainable or renewable! (And nothing actually is, in a long/broad enough context. Live will always live off negative-entropy and that is a limited resource in the universe as a whole. You can say that itself is consumption on exhaustion of non-renewable resource at its core, our "ecological loops" are just small-time/space scale repetitions but it's all winding down in the end...)

Everything has a finite life, even our planet - we just need to accelerate our evolution so that when whatever has evolved from us needs to leave (or before that), it's advanced enough to so so and go infect/colonize the rest of the universe.

There's nothing wrong with using non-renewable resources, as long as they're not producing toxic pollutants or disturbing the balance of planetary systems like the climate. When one unsustainable resource is exhausted we'll go to the new one: soil uranium, thorium, sea-water uranium, deuterium for fusion etc.

So sure, oil is horrible, but not because it's non renewable or unsustainable. Nothing is sustainable, it's a never ending race 'till the thermal death of everything and that's the fun of it.

We need a solid experts driven approach to climate problems if we want to have any change... the current crop of eco-heads are most of them severely mentally impaired, infected with really bad ideas that they spread around to others, and focused on all the wrong priorities...
A system integration tool, not a framework
> "(Note: I've iteratively edited this post, as it was originally a one-sentence diatribe written in anger. I originally asked, "I just don't know what else he's asking for here. Credit? Us to die screaming?" It was not a good look.)"

So you stole his idea and realized a one-liner dismissal was not a "good look" for yourself, so you wrote an "apology"? It's not about him, it's about saving yourself from the blowback. This and the events documented are the closest thing to a psychopathic programmer I've ever seen.
hum https://spec.graphql.org/June2018/
> help the people who live with me

are you saying you and them live under the same roof? i.e. they're your roommates?
It’s a grammar plus some hand waving around types. Not a behavioral spec. It’s much less complete than SQL or SPARQL (e.g. SPARQL is like SQL in that it is based on relational operators but it has a good spec that describes what the operator algebra is exactly)

When post-structuralism burned out I think people would have gotten it that language doesn’t give any insight into behavior, at best people leave words behind like the evidence at the scene of a crime. Grammars are profoundly empty and meaningless.
Hm. I'll give that a try and see if it's worthwhile. Thanks.
> The underlying principle of equity is a decent one though.

> For example if universities would take factors like poverty and access to educational resources into account, rather than using racial identity as a inaccurate proxy for this

That’s equality — as in “equal opportunity” and we had that before “equity” was introduced.

By contrast, equity is a fundamentally racist idea which emerged from a collectivist authoritarian view of the world which tries to fix past wrongs between purported “racial groups” by introducing present discrimination to “correct” past discrimination.
Surely this has something to do with the anchoring effect:

- If you offer £210,000, it's a signal that you're looking at increments of £10,000.

- If you offer £211,000 it's a signal that you're looking at increments of £1,000.

- If you offer £211,000.01 then it signals that you're taking the piss.

I'm sure there's something about confidence and accuracy in there too, but I would expect anchoring effects to be stronger in those contexts.
"we turned inwards, we were wrong. We hope you will accept this ... as an olive branch and accept our apology."

That is 100% an apology
Cut scene to me explaining my new product to a Google VP (hoping to get funding) who instead made a crappy copy and released it 6 months later. Don't meet your heroes.
And we're all going to starve in the 1800's, too.
Yeah, for being RAD(!)...it kinda isn't. lol
The whole world of CLI has been using a poor open source reimplementation of linux subsystems on windows for decades.
I've been using graphql for a project recently and... yeah, I'm not a fan of it. The data is stored relationally and exposed through views, fed through a graph layer, then has to be flattened on the front-end into something that's not far off from the original exposed view. That's a ton of work and really, really messes with front-end experimentation because of all of the work to unpack each graph representation every time.
That would be nice. I have a family to support and make under $100k. Financial independence is decades away at best.
Looks clean and objective. Congrats!

Quick question. What do you use Stripe for?

And if I may, I would move this stripe <script> tag to the bottom of <body>. Should speed up DOM loading: https://i.imgur.com/0X93EHy.png
100% this. Folks see the cleanliness and simplicity of the front end without realizing the mountainous costs on the back.
> the privilege is being able to get a salary without caring about his activity that adds the most value for society... working most of your time documenting why you should get a promotion... But it's one of the many very real problems academia has nowadays.

There are 4,000 colleges and universities in the US. At the VAST majority of those institutions -- perhaps 80% -- professors spend 40 hours per week teaching courses. They teach 3 university courses per semester with 40-400 students per course, with the lower enrollment courses requiring a pretty heavy lift per student (lots of office hours, labor-intensive grading of proofs or long papers or large programs, etc). That's 40 hours of work, sometimes more.

Hacker news massively over-estimates the number of "elite R1 faculty" and under-estimates the number of faculty who are essentially just college teachers.
Very interesting. Looking at those numbers, potassium-40 has 32 bg/g. Does that mean that atoms of tritium gives out 10^13 more energy every second compared to potassium-40? It would be funny to see how long a city could survive on just then 1 gram of tritium, and it does give a bit more context to the idea of running a city on potassium-40.
But there is no "We apologize" either.

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

And the apology should go to the individual harmed, not to the "community"
If that's the case, start looking for positions and interviews now. If you get any good offers, take one and leave university.
Don’t do what you dread. Some people go to academia because they dread commercial software engineering work.
I've seen a lot of Github user profiles where there is no ulterior motive when committing code (like trying to impress potential employers with a resume). In a sense this is the old African philosophy of ubuntu[0] (Not the Linux distro). A large cohort just commit code because they enjoy it and keep it strictly as a hobby & just want to contribute to a greater good.

> Ubuntu (Zulu pronunciation: [ùɓúntʼù])[1] is a Nguni Bantu term meaning "humanity". It is sometimes translated as "I am because we are" (also "I am because you are"),[2] or "humanity towards others"

On the other hand it's easy to spot those who use Github as a form of virtue signalling to potential employers. 'Look at my activity graph & see how talented & productive I am!'

[0] https://en.wikipedia.org/wiki/Ubuntu_philosophy
And the romans before that. Heck they even made just about to Aschaffenburg, where this relic was stolen.
It is of course but I doubt C# has structured concurrency?
You're getting old. It happens.

What percentage of your salary are you saving?
As acceptance rates fall, some universities stop publicizing admissions data
The same thing is true with lists (listicles) of principles or rules that are even (or lucky) numbers. If somebody is advocating 5, 7, 10, or 20 principles for doing something, I assume at best that they added or dropped marginal ones to get the round number, and at worst that they just had a remit to do 10 rules for something and were just winging it.
I'm sad to say that an hour a day is unlikely to let you finish the program productively. You can look at https://omscentral.com/courses for student's estimates of how long they spent per week in courses, but most are over 10 and quite a few 20-30. You can get through it by taking some easier courses, but it is like a second job in many ways.
As I said—manufactured in China. Both the government of mainland China and the government of the Republic of China (Taiwan) consider mainland China and Taiwan to be parts of the same country. They only differ with regard to who is in charge.

The issue could be addressed without removing the ability to attest as to the TPM's origin by including a protocol for the owner to dump the device's private encryption keys (e.g. by shorting one of the external pins to ground). The fixed attestation key set by the manufacturer would need to be restricted so that it can only be used to sign attestation messages, with all other keys being generated on the device so that they can be reset when the device changes owners.
Here is some extremely simple advice: If you are going to publicly lecture someone because of a technical opinion that hurt your feelings, you better yourself be a grandmaestro on the subject of tactfulness. That might work within your company if the company had a culture that includes radical candor, but these are public conversations with community members. Setting the merits of your point of view aside, your communication skills suck.
Grammar + undefined behavior. It’s like saying ANSI C is a specification. It looks like a specification and quacks like a specification but compare it to a quality specification and you are looking into that void Badiou warned you about.

This is what a specification for a query language should look like

https://www.w3.org/TR/sparql11-query/

It is a little terse and not the easiest read but everything you need to know to write SPARQL or implement a SPARQL engine is in there. It's short.

(Now I would say that SPARQL needs to extend the algebra to deal with ordered collections, but that's what is nice about SPARQL being so well specified. If somebody wants to add a feature to SPARQL it is completely straightforward to amend the algebra AND the grammar, often you don't have to mess with the grammar and the use of namespaces means anybody can add anything.)

The GraphQL 'spec' on the other hand is like the singularity of a black hole... It's a place where computer science breaks down.
> People decide they want to buy something, and then try to get it for a good price, and try to have it so that due dilligence works to reduce the purchase price, while not actually finding anything to block the deal. Perhaps in public company acquisitions there's more sophistication, but I really doubt that.

That's indeed how it works in my experience. Thay's also why, as a seller, you want to invest a lot of time making sure that the due diligence scoresheet will be as clean as possible - because then, there can be no mechanical way for a prospective buyer to lower the price: only their belief against that of other prospective buyers...
I don't think they meant funny as in "it made me laugh", but more like "it was intended to not be taken seriously"
From the sparse docs:

At this moment it is support only Standard EXE projects.

In further versions, support for ActiveX Components (OCX), ActiveX EXE and ActiveX DLL will be added.
> We admit this feature began with a kerfuffle we caused in the summer of 2021. When confronted with being told our rendering pipeline had terrible performance, we turned inward. We relied on our existing experiences and we leaned heavily on our partner teams’ work to conclude the DirectWrite general purpose renderer was the best fit for our product. We were wrong. As such, we dedicate this experimental renderer to the community as an olive branch. We know we have so much more to learn, but we hope that you will accept our apology and understand we’re humans behind this product with a capability and willingness to learn from our past mistakes. Thank you for sticking with us. We strive to make this an experience we can all learn from to not only improve ourselves, but to improve our product and delight you all.

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

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

The "We get it, Microsoft sucks, we should all be fired, rah rah" is responding to the typical outraged rants from immature people who think it's cool to leverage extreme levels of criticism at people and teams who work in large corporations.
In the English-speaking countries, not having a Master is normal (at least in software dev).

There are two reasons you might want one. I believe there's an extra cap for the H1B visa if you have a Masters. And getting a visa for a software engineering role with a non-CS degree is just a little bit harder (USCIS might issue a request for evidence on how your degree is relevant. This isn't too bad, and isn't usually an problem through.)

Personally, I wouldn't recommend the US over Germany. You may find yourself missing a lot of the things you took for granted.

Edit: And I also know quite a few people who did Masters just for having one, and hated every minute of it. It changed them. IMO, not worth it. Two years is a long time to be miserable.
Crossbreeds are always interesting specimens because they try to take the best of two species (in this case cloud and on premise architectures) and bring them under the same roof to make something even better. So what came out of this hybrid? TL;DR better data safety (than cloud) / Less maintenance (than on prem) / deeper integration (than cloud)
> Nobody said you can implement a full Scheme implementation in 48 hours or two weeks.

Fair enough, you're right. But if we're only talking about incomplete Scheme implementations it's not a very interesting claim. As I pointed out in another comment, even I could write a fast Scheme implementation in 48 hours if I kept my scope very limited. That doesn't say much about Scheme performance overall or how it relates to Python.
In other words, a try-catch-finally statement right out of the PR handbook
Totally agree, love the hidden messages in R&M
So much this - as a consumer it is wonderful, but implementing your own is ... fun.
Location: Helsinki, Finland

Remote: Yes

Willing to relocate: No

Technologies: CI/CD, AWS, Linux, C, C++, Python, Golang, Bash, Docker, Gitlab, Jenkins, Git, etc

Email: steve /at/ steve.fi

20+ years of experience as a sysadmin/DevOps/SRE, and looking for an interesting position - full-time - in the near future.
Exclamation points? On the BBC? Actually no, original title is "What overusing exclamation marks says about you"
They thought a placeholder name would stop you from bikeshedding? You showed them.
>This is a good exhibit of an almost perfect apology. If you've been okay hearing "sorry" your entire life then I am afraid you've been lied to more often than not.

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

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

Counting check marked boxes on a wikihow list isn't a good way to measure the quality of an apology.
Just outside of Boston the local police keep hockey sticks in their cruisers to move them along:

https://www.universalhub.com/2014/brookline-you-dont-try-sho...
Read the thread, read the posts, read this reply... it would've been trivial to write a nice apology and move on, but instead you tripped over your own ego (twice). Well played! Should've just let it go when you had the chance.
Probably best to assume the private ones are public too
This is way above my pay grade.

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.
uhm, i think that's the wrong link
Insults? Everything is an insult nowadays.

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.
I'd ape the burnout diagnosis. You have classic syndromes.
I wake up to discover that my site https://remotehunt.com is super slow. First thing I do is visit HN to see what's up and I instantly see that Sentry is down.

I'm using Sentry to monitor logs and it now makes sense. Ok, so I remove Sentry from Laravel's error handler but nothing changes. And it's weird because sometimes it works, sometimes not. I tweak some things on Cloudflare (turning on Under Attack mode etc).

I still have this feeling that maybe it's related to Sentry: I'm using it and HN says it's down. So I go and remove the composer package as well, just in case. And it worked.

It took like an hour... I didn't use Sentry anyways :)

What did I learn: do not depend on external services if you really don't need it.
GraphQL is great for consumers, it's a nightmare for producers.
Grammar check problems strike again.
This does seem more like they're apologizing for being wrong and not apologizing for how they treated him. Like, if they were right, it would have been fine in their eyes to use that tone.
I think, that's because they are too focused trying to bring together 2 things that don't fit. Apparently they aren't smart enough to take a couple of steps back, and start over. That is not something that is encouraged in the scientific community. Failure is rarely getting any attention, and even frowned upon, only success is relevant. Yeah, I agree, that's just amazing and terribly wrong.

EDIT: I mean, who does revisit long established facts everybody just agrees upon, without checking, because they are long established?