skysight-inc/HackerNews huggingface dataset:
GraphQL allows backend teams to retain control on how data is aggregated, and doesn't couple the database schema to the API's representation of the data. The frontend can get exactly what it needs when it needs it, without letting frontend engineers go totally wild and take down the DB (unless the backend engineers let them).
I use Windows Terminal to SSH into my dev machines. I prefer it to other options on Windows including putty (which I really couldn't dislike more).

Different strokes for different folks. :)
I see a variation on this comment all the time now and it makes me slightly crazy. It feels like the product of extremely online culture (or just Twitter) where people work up a hypothesis of outrage with no connection to reality at all and just run with it forever until it's fact.

The thrift store has never been about getting the items on sale to needy people that's just literally not the philosophy behind the entire concept.

The thrift store model has been about getting money from the people who shop there who are people who have money but not having to pay for the goods they sell because they are charitably donated to be sold and then using the money they make to advance the mission of the charity.

It's a fundraising concept. The funds come from people who have funds. The goods come from people that have spare goods. And then THE MONEY THEY MAKE goes to actually do good in the world. The limiting factor on every thrift store model I've ever seen is having enough customers. There's always tons and tons of stuff to sell, many have to throw away half the donations they get because there's no room.

The people who are in thrift stores buying things for Ebay and increasing the money that goes to the charity are HELPING the thrift store, not killing it. This mindless outrage is literally the opposite of the actual dynamic at work here.
So teach them the importance of testing, code review, and design documents. As someone who graduated 15 years ago, I feel like the only two truly useful things I got out of my CS degree were 1) lots of practice writing code and 2) my algorithms and data structures class. The latter was useful in exactly the way you hope for, but it was the only such class.
Cool. All the best to you. o/
Disclaimer:
This isn't going to help you, just a self-meta comment about most of the other comments here. I'm wondering if someone else feels like this.

---

It's funny to read all of this, because it always felt like this for me.
I think I skipped the "this is fun and easy" part and went straight to the "what is all of this? Why are there so many frameworks? What are all those annotations? How are they all mixed together and somehow this works but only if written in arcane ways? Why is everything so overengineered and complicated?"

I also never thought the problems I'm solving are significant in any way. So doing it for the paycheck alone is my default mode of operation.

I never stopped feeling confused by the tech I'm using. There is just too much tech. Each new project another round of more tech to learn. As consequence, I now focus on understanding a base layer of project related tech in order to get things done. Most of it is going to be irrelevant with the next project anyway.
Maybe more investment. If you're an investor who thinks crypto is a flash in the pan whereas gaming demand is likely more permanent, if you are told the growth is gaming, not crypto, you'll be more likely to invest.
You consider hackernews news or no?
Landlords are losing money in regions with strong tenant rights. That's good. Some landlords should lose money.
I remember watching the casey youtube video on terminal performance. Inspiring! In generally I find his content quite refreshing. Sorry to see he got the cold shoulder after all his useful input
I have a bug report. I've committed to llvm and to rocm's llvm fork but it's only showing commits to the fork. GitHub account JonChesterfield.

Interesting idea, thanks for sharing it.
Recently former Microsoft here. This is the culture of one specific team. My prior role interfaced with both customers and product teams in Azure. Interactions were constructive and collaborative. There certainly were the occasional individuals that lacked interpersonal skills, it was the exception not the norm.
So there are a few ways now! I do agree that it's not the default, I'd probably say <5% of people do, but it does exist.

1. Courses -There are a number of courses now where you can create projects and publish papers. Again, not the default, but if you put in the effort it's doable. To name a few, Computing for Good, Big Data for Healthcare, Deep Learning, Educational Technology, Human-Computer Interaction and others.

2. VIPs! These I consider one of the "hidden" gems of OMSCS and what I personally did. You can see them here: https://www.vip.gatech.edu/ but basically instead of a class for a semester (but counts as a class for credit and graduation purposes) you work for a professor on a project with several other grads/undergrads. I did one this past semester and was asked to stay on as a research assistant over the summer doing work in NLP. Really excited for it actually and has been a fantastic opportunity. I put a lot more details here - https://redd.it/u6cj5z

3. Master's Project/Thesis - This is the option to do a Master's Project or thesis instead of just ten courses, but it does require more work from the student to find a professor and do that. There's many more details here https://redd.it/9t48b2 and frankly I wish I had done so, but too late now.
I've never viewed degrees as vocational training. They were always something I did for myself. For example, I completed an MS and an MBA while in my 30s. Neither were particularly career enhancing beyond credentialism which seems pervasive here in the US. Hence, the success of the various certification programs, Microsoft, Java, et al., which as a former hiring manager, I didn't find that these certifications necessarily yielded better candidates. Both masters required an immense amount of autodidacticism to round out what was acquired in class. And many of these topics were covered on tests, i.e. if you didn't put in the time on your own, you weren't passing the class. Now that I'm retired, the question I haven't yet wrapped my arms around is whether I want to pursue another degree, e.g., math. No real application, just for fun.
> 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 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 [...]
Some say, in this thread and elsewhere, that this is representative of how many teams at MS work.
And changing this link to a view-only authorization. It appears the bug is fixed.
GraphQL helped me to understand a very important fact.

Even smart people don't understand stuff that is outside of their niche. And I mean Kernel-dev levels of smart. It's not that the tech they're critique is really bad, it's just not possible for them anymore to think outside their box.
Perhaps worth considering is that sarcasm doesn't transmit easily over text, and certainly not in contexts where it's not expected. If you want to be clear about it, a common convention is to write /s after your sarcastic statement.

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.
No they don't have requirement to know.

But if they do know what their GPUs are used for and then they say something else, that's a problem. And that's what the SEC has a problem with here.
Like people advocating sqlite in busy prod settings, this is squarely "a few rare people swear by this" territory. I do think it's underused, but a fair bit of a footgun (similar to running sqlite at its very limits imo)
I think the poster might have meant to reply to the top comment:

> "On the other hand, when you are the one to implement the Graphql server, it feels like writing your own database. You have to create a query plan, handle optimizations, corner cases, etc."
Really beautiful site. Made my morning. I wear mechanical watches on a daily basis (I rotate between a few Maratec/CountyComm models) I like the size, weight and the sound and the feeling of the counter weight moving around. And the feedback of the bezel as I time an egg or a load in the dryer...

I really like the correspondence between the respect for the ingenuity of this technology and the "handcrafted" WebGL.

Last line:

"With creative use of miniature gears, levers, and springs, a mechanical watch rises from its dormant components to become truly alive."
Just going to add that referring to someone as a community member [of Microsoft] is such a self aggrandizing term for "someone reported it on the project's github issues page"
The elitist philanthropy of so-called effective altruism (2013)
They could state, or imply, that their sales growth is due to an increased demand in their core business. Which may be considered much better than the increased demand coming from a secondary, highly volatile, and potentially highly regulated business.
Deportation is a war crime?
> They don't have a history of thanking people by name

That's... Not better?

EDIT: Actually, I thought of a way for that to be better, but it still doesn't make anything better here. If MS is used to working with b2b, where a customer comes in with a bug and MS fixes it and pushes the fix out, there it could be reasonable to not give credit; I don't condone it but it does match the culture there. The problem is that this very much does not translate to FOSS and/or public collaboration with individuals, where there very much is a culture of sharing credit.
I spend about 3/4 of a full time job building, maintaining and improving a corporate GraphQL API, and have for the last few years. What you are describing is not my experience. In fact it is far easier than it was in the old days when each new requirement meant code changes to a REST API.

Certainly there have been problems with queries that had unacceptable performance, even those that took down the whole API server and database. Of course that wasn't a novelty with our REST APIs either. It certainly is an issue with GraphQL, but it has been a managable one for us.

Largely this is because the API is not public, and it doesn't have to simply handle anything that is thrown at it. When we see a frequent, slow GraphQL query in a report, we have many options to deal with it, including going to the front-end team and asking them to query in another way, and I have had to resort to that. Often I can optimize the code instead.

But that hasn't been a huge problem, especially compared to the great benefits of pushing most of the data work to the front-end. And the size and complexity limitations we've built into the API handle such problems seemlessly most of the time. The caller gets a clear error message that specifies the problem, and they can usually compensate very quickly with an altered query.

When they can't then I get involved and sometimes have to say, uh, we can't do that ... without scads of extra work. And the work on my plate today is for one of those scads.

I was doing lots of REST API work before GraphQL APIs, and my own and our corporate experience is that GraphQL solves a lot more problems than it causes.
> Making logs during development also forces developers to make a conscious effort of finding a balance of what and when to log something, create proper debug levels not to overwhelm the logs, while still providing some useful information...

The need for this balance is why I don't completely agree with the article.

If I'm debugging something with log messages, I put way more detail into it than I want to see in production even at LogLevel.DEBUG.
The issue here wasn't whether they should have known, but that they (apparently) did know and didn't disclose it. Whether NVIDIA has a duty to know is not at issue here, since they did:

> NVIDIA had information, however, that this increase in gaming sales was driven in significant part by cryptomining

Color me a little surprised that this is what SEC's Crypto Asset is spending resources on when there is such a dumpster fire of obvious fraud in other areas of crypto (looking at you, public mining companies), but I suppose NVIDIA's upswing did catch a lot of retail investors.
> Rust can be similarly high level as Python

What about Haskell? Can it be similarly high level as Haskell?
"I just don't know what else he's asking for here."

ASK HIM

We've created the most incredible communication platform in human history and no one actually talks to each other, everyone just tries to publicly snipe.
This really is every org, even if someone starts lukewarm to an idea it can percolate, get established and then come back out again as a fresh opinion without any malice intended. It’s always fun to get your own ideas back almost verbatim.
Sentry's outage documentation implies that some underlying platform is the cause. Perhaps there's a major data center having issues?
Thanks man, that's a very good thought! I'll check the conferences.
For those wondering about the strange domain, .mg is the Internet country code top-level domain (ccTLD) for the Republic of Madagascar[0]

And yes, someone registered OH.MG: https://www.oh.mg/

[0] https://en.wikipedia.org/wiki/.mg
I'm assuming he thought his PR would be rejected, given their reaction to his initial questions about the issue:

https://github.com/microsoft/terminal/issues/10362
I have some experience using Hasura.
I've had a fantastic experience using GraphQL on the front end, but have found it confusing and challenging to configure everything properly on the back end.
Hasura takes care of all the back end setup, you use it simply to configure your own api. You can either self-host, or use them as a service (I believe they're built on top of aws).
For more context, I used it to build a react native app, and used apollo codegen to generate typescript types for all my queries, mutations, and subscriptions
For my own code, 90% of the bugs are caught using logging and assert. The remaining are caught via debuggers. For working on unfamiliar code, using a debugger to step through the logic helps to understand the flow to find the problem.
Baffles me that people think sarcasm is a good way to communicate on the internet. You are begging to be misunderstood, either accidentally, or maliciously.
This confused me too, working on the client side. But part of the benefit of gql is you can do multiple queries in one call. Any or none of those could fail.
Once upon a time the company I worked for had a client, a private company that we provided business services. Lets say we provided 5 different services for this client and had been doing so for several years and our client was quite satisfied with our services. The client was acquired by a PE firm and one of the first things that the acquiring PE firm did was to get all their vendors to bid in a realtime reverse auction. It was a standard process that the PE firm executed on all their portfolio companies post-acq.

Of the 5 services that we provided to the client, there was one service that was very demanding. Suffice to say, it took us several years to get it off the ground and stabilize it. All that knowledge and experience made us a valuable extension of the client. We both had the battle scars. This service was only 10% of the total billing from this client, but very high maintenance, highly visible and operationally very challenging.

When it came to the reverse auction, we dropped our price on this service marginally and held our price on all other services.

A feature of the realtime reverse auction was that we would know our rank amongst competitive bidders on where our bid stood. So, it was nerve-wracking to know that we are not the L1 bid.

We retained all our services at the pre-bid volume levels at the conclusion of the reverse auction and continued to grow this client account for another 5+ years. While this is a single anecdote and may not apply in all scenarios, complex bids don't always come down to price.
Have you thought about not managing your team in such a way as to engender hostility from the outside world? It would be a good start to credit people outside the team for their work improving your product, instead of trying to take credit for it yourself.

Writing an "apology" for taking credit for someone else's work, without naming the person who did the work, is just adding insult to injury. Actually making amends would involve giving credit, both in your apology and by adding their name to the top of the original announcement if you can still edit it.
Oh yeah, for sure. I can't tell you how much I regret being that defensive about something that benign. This was certainly a life lesson. I've apologized to Casey in person before (well, to my best ability) and I'll apologize again if given the opportunity to do so.

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.
This is ages ago - but IIRC, we did it something like this

Motor - VFD - PLC - OPC server - OPC client

The .NET Application worked purely as a GUI read/write data from/to the PLC.

But of course there were other things involved, like database programming, API service, webdev. We made a very, very simple API in ASP.NET I think, and some website in PHP which would just plot the various motor values.
Online in some way or another since 1996 – OH.MG
I don't think you HAVE to know, but let's say you don't know, now you better not make a statement like you do know in you're earnings report. Or if you do and you make a false statement ...
Could be defined as social media too
> GraphQL is a great experience when you consume it and the service fulfills your query needs. Because you just ask stuff and you get them. It's really cool.

I guess it's better when the tooling you use has direct gql integration and builds the queries for you?

Because in my experience accessing the github APIs with "basic" HTTP libraries is way more annoying using v4 (graphql) than v3 ("rest") — it could also be that github's v4 API is dreadful mind, I wouldn't be surprised.

GQL should be more efficient because it's not returning 95% of garbage I don't need, but having to write 5-deep queries (because of the edge indirections) by hand is way more of a pain in the ass than performing two GET requests with a few parameters munged in the URLs. And then I still have to go and retrieve the information 5-deep in the resulting document.

Pagination is also awkward, because now you probably want multiple different queries (and thus multiple different resulting documents) so that your 2+ fetches don't retrieve unpaginated information you got the first time around. And it gets worse when nesting comes in.

I don't think graphql is generally a great experience when you consume it either.
The first issue I took with this is just the mix of processors types. I don’t think it’s fair ever to compare graviton with x86 instances. Mainly because it’s so app dependent.
They probably should have said something like:

x units were sold from our gaming line of products, however market research indicates y % of them are likely being used for cryptomining.
He does call for a radical reformulation of which math to study, as he wants to avoid some issues of arithmetic, infinity, and incompleteness.

Maybe his discrete, computable mathematics (which is merely alluded to) is the temporary step back we need to move forward again.

Although removing the continuum from QM seems questionable. AFAIK (which isn’t much) continuous change is a feature of QM. It’s one reason quantum computation has an advantage. No 0 or 1, but a continuous range of states somehow.
From the perspective of the pharma industry, one good outcome of the public consumption of more of this corporate social media is increased sales of antidepressants.
Just wait till the feds find out that my "gaming" card has been used extensively to train pytorch models. Book um danno!
Beware: although probably less harmful than most, it is very likely that HN, as form of social media, may have the same dangers.

I got mostly addicted to it to gain 15k karma points in one year.
>>Which begs the question, does Nvidia have a responsibility to know exactly what their equipment is being used for, no matter if that activity is legal or not?

They are being charged not for not knowing, they are being charged for knowing and not disclosing it. The "knowing" part seems to be a forgone conclusion, or at least SEC must have ironclad proof.

>> Seems they would have to add a mandatory question asking "What are you gonna use this GPU for?"

No, but if they are selling thousands of GPUs to cryptominers, they don't need to ask to know. Same how if the US Airforce purchased 100k GPU chips, you can safely assume they won't be using them to play Fortnite, no questionnaire necessary.
English use tea for some reason.
To what extent does this headache go away if autogenerating graphql from a relational db, using tools like Postgraphile or Hasura? I never considered making my "own" graphql service but those tools sure make it look easy to create a nice API controller through db migrations.
Maybe it's a hard problem, harder than a few techies on HN are willing to give credit for. I mean if you think it can't be that big of a deal, maybe you could give us a solution to the problem of motion in gague theories of matter, to help us out?

https://arxiv.org/abs/2008.08967
US provided intelligence that helped Ukraine target Russian warship
TIL!

"Automatic Transmissions and Detroit's Dirty Little Secret"

By the 1960s up to 30 million pounds of whale oil were used each year, chiefly as the main additive to automatic transmission and locking differential fluids. It was whale oil that made these devices so reliable and efficient and it was primarily the auto industry's requirements that maintained the demand for whaling during the mid-20th Century.

https://www.secondchancegarage.com/public/725.cfm

It was apparently environmental regulations which finally ended the use of whale oil in automobile lubricants. Not the Endangered Species Act, but pollution controls resulting in higher engine (and transmission) operating temperatures, which broke down even whale oil.
This seems like a "be careful what you wish for" situation.

Sure, you could set up an algebra that allows you to handle arbitrary queries for zero extra programmer effort, just like a SQL database engine does. And then you could even expose it to users, and let them execute arbitrary queries.

And then, later, after you're done cleaning the molten slag off the server room floor, you could stop and reflect on whether that was really such a necessary thing to do.
Unless you happen to be using PostgreSQL, in which case some tools like Hasura and Graphile can automate all of that.
Debugger usage has been non-monotonic with time for me. When I first started coding I would print. Then I discovered debuggers and experienced a massive improvement in productivity on bug fixing and problem solving tasks. But over time I found myself reaching for the debugger less and less often as I became better at solving problems. In the last 5 years I have to admit I've barely used debuggers at all.
Same here, maybe it's because I'm not a native speaker, but I didn't see anything offensive in the discussion. It wasn't even a particularly productive discussion worth crediting OP for.