HNHacker News
TopNewBestAskShowJobs

dventimihasura

92 karma · joined November 14, 2022

submissionscomments
dventimihasura··on Grats: A More Pleasant Way to Build TypeScript GraphQL Servers
Did you forget the link?
dventimihasura··on Grats: A More Pleasant Way to Build TypeScript GraphQL Servers
An enterprise company is a large company that's not a tech company: banks, health care, finance, manufacturing, retail, etc. The proverbial "FAANG" companies are not enterprise.

Netflix is not enterprise. Walmart is.

As for DynamoDB, is that database more common, or less common, than relational databases like Oracle and MSSQL?

dventimihasura··on Grats: A More Pleasant Way to Build TypeScript GraphQL Servers
Wait...is it "almost 15 years" or "only 15 years"? Is node old and established or is it still the plucky upstart?
dventimihasura··on Grats: A More Pleasant Way to Build TypeScript GraphQL Servers
Interesting. Yeah, I also found Prisma to be a bit heavyweight. Postgraphile is nice, though. I wish it went beyond postgres.
dventimihasura··on Grats: A More Pleasant Way to Build TypeScript GraphQL Servers
At your startup, why did you choose Strawberry over, say, Prisma?
dventimihasura··on Grats: A More Pleasant Way to Build TypeScript GraphQL Servers
That may very well be a valid reason why people should build backends in node. But, people don't often listen to reason.
dventimihasura··on Grats: A More Pleasant Way to Build TypeScript GraphQL Servers
Are they more common, or less common, than Django and RoR?
dventimihasura··on Grats: A More Pleasant Way to Build TypeScript GraphQL Servers
sequelize seems to be much more popular than slonik. Is sequelize more or less the standard or at least market leader?

https://trends.google.com/trends/explore?date=all&geo=US&q=S...

dventimihasura··on Grats: A More Pleasant Way to Build TypeScript GraphQL Servers
I'm not talking about the developers. I'm sure they're wonderful people. I'm talking about the organizations. I don't believe node has been as popular for backends in the last 15 years, especially at enterprise companies, as Java and .Net have been.
dventimihasura··on Grats: A More Pleasant Way to Build TypeScript GraphQL Servers
I highly doubt it because I was talking about enterprise companies. I honestly have no idea how common node is in general, including other organizations, but when it comes to enterprise companies, I do have an idea. My idea is that node isn't very common. I'm even more confident in relative terms: however common it is, it's less common than Java and .Net are.

As for cloud service SDKs, are you saying that many node backends rely on cloud SDKs?

dventimihasura··on Grats: A More Pleasant Way to Build TypeScript GraphQL Servers
I'm curious about that ecosystem, especially with regard to databased. I asked this elsewhere, but what're the main libraries for database access?
dventimihasura··on Grats: A More Pleasant Way to Build TypeScript GraphQL Servers
Well, I'm pretty sure I didn't say that nobody wrote node backends.
dventimihasura··on Grats: A More Pleasant Way to Build TypeScript GraphQL Servers
I could be wrong. That's one thing I'm trying to figure out. Setting that aside, like I said I don't really know that community, being mostly a Java developer. What're the go to database libraries? Is it sequelize, or something else?
dventimihasura··on Grats: A More Pleasant Way to Build TypeScript GraphQL Servers
> There are maaaany backends written in JavaScript (nodejs)

Are there? I honestly don't know. I feel like it depends on how you count them. Are there JS/TS/nodejs "Backends For Frontends" (BFFs)? Yeah, I could see that, but then in that case there's at least as many other backends behind them, probably written in something else. Are there JS/TS/nodejs backends, mediating interaction with upstream databases in large enterprise organizations? I highly doubt it.

dventimihasura··on Grats: A More Pleasant Way to Build TypeScript GraphQL Servers
This is great, and I mean no disrespect, but aren't most servers written in anything but TypeScript? Java, Python, Ruby, .Net, Go, etc.? I recognize that changing it from "most servers" to "most GraphQL servers" brings in TypeScript, but I think that underscores the point I'm trying to make. Most HTTP APIs are REST (I think...that's worth checking) and will use something like Spring Boot, MuleSoft, Django, RoR, etc. In "enterprise" it's mostly going to be Java with Spring Boot or MuleSoft, or .Net. To have more GraphQL APIs, that's where the big game is: converting those REST APIs to GraphQL, or at least gradually (or not so gradually) persuading enterprises to switch from REST to GraphQL. With Spring Boot and MuleSoft, there's already a relatively easy story there: Spring GraphQL, Netflix DGS, MuleSoft Datagraph, graphql-java, etc.. There's probably something similar in the other ecosystems (Python, .Net, Ruby, etc.) You get to keep most of your code and development practices, but you do add in a few new libraries and you do write your code a little differently. So I just struggle to see what the audience is for TypeScript servers. Just my two cents.
dventimihasura··on Building a GraphQL server with Netflix DGS: An unfiltered review
Hey, folks. I'm posting a blog article I wrote for my employer, Hasura. Sure sure, it's a bit of marketing, but honestly it's mostly an attempt to "start a conversation" as they say. I mean no disrespect, but in my experience, building GraphQL servers with Netflix DGS or any other way in code "by hand" is arduous and yet that does seem to be the standard way of going about it. The alternative is to provide a server by dynamically-introspecting a data model, the way it's done by Hasura, PostGraphile, Supabase, Prisma, AppSync, and a few others. What are peoples' experiences in this area? Am I wrong, in that, is there some way for a code approach not to be so arduous? What are the objections to dynamically "generating" the server? I think I know some of them, but maybe I don't know all of them.

If I'm wrong about any of this, hopefully people will line up to tell me how. That would be great! It would be great to talk about how people are going about this out in "the real world" (not tutorials and "Getting Started" guides) and see what can be learned on all sides. Anyway, thanks much! Peace.

dventimihasura··on Testcontainers
> your questions phrasing assumed that the person you responded to felt the same way about how quotation marks should be used.

Questions don't assume things. People do.

> The comment quite literally calls something wrong ("The comment you are replying to makes so many mistakes"

Yes, but it doesn't literally say, "I'm not gonna explain why." Why did you omit that part?

dventimihasura··on Testcontainers
It may be common, but that doesn't mean it's warranted. Logical fallacies, for example, are also common (so are spelling and grammar mistakes), and yet personally I prefer to commit them less often rather than more often. You think the quotation is a fairly accurate depiction of the sentiment expressed by another person. I don't think that. In fact, I think the opposite. One way to settle the matter would be to ask the person.

What do you say, doctorpangloss? Do you think this is a fairly accurate depiction of the sentiment you were expressing?

"this is wrong, but I'm not gonna explain why"

I doubt this person will respond, of course (they're not obliged to).

dventimihasura··on Testcontainers
> Making comments like "this is wrong, but I'm not gonna explain why" has no place here, imho.

Who are you quoting?

dventimihasura··on How Netflix really uses Java
Has anyone else used Netflix DGS outside of Netflix to build GraphQL servers? I'm wondering what the experience was like. Full disclosure: I work at a GraphQL company. But still, I'm genuinely curious. I was a longtime back-end Java developer, and I'm wondering what the experience is like these days.
dventimihasura··on People Don't Understand OOP
Jesus, and now you're erasing your tracks by deleting your comments, and those of other people along with it, like you just did in this sub-thread.
dventimihasura··on People Don't Understand OOP
> This has been covered several times

No, this has been covered exactly once. I asked 4 hours ago in this sub-thread this question, but you didn't answer it. I also asked again 3 hours ago in this sub-thread. I also asked a related question in another sub-thread 3 hours ago. You answered it one time 2 hours ago with "First thing you read. That's where definitions go." in the other sub-thread, then 1 hour ago in this sub-thread to its second query you said This has been covered several times which it absolutely not has been. THIS, dear readers, is what we call "bad faith."

> Given that you don't know how to clarify your original message, perhaps we can still salvage something here? Let's assume that OOP is by another definition. Your choice. Define it however you please. Then explain how relational databases fit into that definition.

Absolutely not. You have acted in bad faith, have been argumentative, have been snide, have been condescending, and have made things personal throughout these debates. I will absolutely not be corresponding with you in HN comments on this topic or on any other any longer. I would do so "in-person" in a Zoom call if you had the stones for it, but I doubt you do.

dventimihasura··on People Don't Understand OOP
> We don't need to know the author's definition. That was deferred to Kay

We don't know that it was deferred to Kay. You just assumed that it was.

> To which I asked: "Says who? You? Did you get a confirmation from the author that this was their intention?"

I apologize. How foolish of me to assume you would notice that I assiduously avoided doing anything other than to refer to you by "you" and to refer to the blog article's author as "the author." Let me rephrase.

As a critic of OOP, my definition of OOP includes inheritance, polymorphism, and classes. An example of a programming language that fits this definition is Java. While my criticisms don't depend on those properties, nevertheless that is the definition that I personally use. Now, based on your comments, I believe your argument is:

as a critic of OOP you are not using the defintion of OOP that I use

That's what I believe your argument is, but I'm interested in your beliefs about your own argument. What do you believe your argument is?

dventimihasura··on People Don't Understand OOP
> Increases. After all, the remainder is about how people do not understand OOP.

The author says this about "subtyping" and "inheritance", terms that do not appear in Kay's definition at the top:

Another term that – while not technically necessary – is often associated with OOP is inheritance.

Subtyping is not exclusive to OOP

Evidently, subtyping and inheritance are not mutually exclusive of OOP and in fact often co-occur with OOP. The author certainly doesn't say that they in and of themselves--or "polymorphism" for that matter--causes people to misunderstand OOP (though they might misunderstand the terms themselves, which could cause confusion). You and I don't know for sure what the author's definition of OOP is, and yet you're more confident that it doesn't include subtyping, inheritance, and polymorphism because the author mentioned them? Is that your final answer?

> Says who? You? Did you get a confirmation from the author that this was their intention?

What is it you often say? Oh right: "Did you even read" what was written? In this case I didn't say:

To sum up, the author's argument essentially is, "you critics of OOP are not using the definition that I use." OK. Well, who asked you?

Instead I said

To sum up, your argument essentially is, "you critics of OOP are not using the definition that I use." OK. Well, who asked you?

The careful reader will note that I was asking about YOUR argument, not THE AUTHOR'S ARGUMENT. So no, I didn't get confirmation from the author that this was their intention. I was seeking confirmation from you that this was your intention. Well? Is it?

dventimihasura··on People Don't Understand OOP
> First thing you read. That's where definitions go.

Says who? You? Did you get a confirmation from the article author that this was their intention? After all, the first thing you read in the article is a quote, but then there's a second quote later from a different person, which doesn't specifically address the first quote. Is that also a definition?

No, in reality, you don't know the author's definition. Neither of us does, which is why we have to make an educated guess (an "inference"). You've guessed evidently that the author's definition is identical to Kay's. Well, let's consider your confidence around that guess. When the author discusses other topics not included in that definition, like inheritance and polymorphism, does that tend to increase or decrease your confidence in your guess?

Finally, just as I'm not obliged to use your definition and you're not obliged to use mine, neither of us is obliged to use the blog article author's definition either. I certainly didn't agree to that, and there's good reason not to, which is that there are other people involved: the OOP critics.

The article author accuses OOP critics of not understanding OOP. Personally, I think that gives us a reason to use THEIR definition of OOP, not the author's. That is, unless the author's argument "they don't understand OOP" is essentially "they're using the wrong definition of OOP." But then, since there is no right or wrong definition of OOP, that could only mean, "they're using a different definition of OOP from the one I'm using", which they're free to do.

To sum up, your argument essentially is, "you critics of OOP are not using the definition that I use." OK. Well, who asked you?

dventimihasura··on People Don't Understand OOP
> Which is why we are sticking to the definition as has been already defined.

Has already been defined where exactly? Yes, evidently you believe it has been defined in the article, but where exactly in the article did that occur. Please be precise.

dventimihasura··on People Don't Understand OOP
> Let's break this down. As defined by context, OOP means: messaging, local retention and protection and hiding of state-process, and extreme late-binding of all things. Indeed, there exist other OOP definitions, but that is the one that was defined here.

Point to the place on the doll where the article author defines OOP.

dventimihasura··on People Don't Understand OOP
You're free to use your own private definition of OOP, but nobody else is obliged to join you.
dventimihasura··on People Don't Understand OOP
> Happy to, but it is not clear what I should study. You have not yet indicated what it is about OOP that you are talking about.

I don't have to. That's already explained in the standard literature on the topics of the object-relational mismatch and on functional critique of mutable state.

> You keep pointing to the object-relational mismatch, which, while a thing, has no more to do with OOP than it does functional programming. It pertains to object-based programming. That is something else entirely.

And I say that the object-relational mismatch does have more to do with OOP than it does with functional programming. If you want to make unfounded claims, two can play at that game.

> However, OOP was already and explicitly defined by the article that setup the context for the following discussion, and the definition used is Kay's

Point to the place on the doll where the article explicitly defines OOP and uses Kay's definition to do it.

> Perhaps it is that you are purposefully trying to go off-topic? Indeed, this thread started because someone (not me!) questioned exactly that.

And yet that person never came back. You can't rule out the possibility that this person was satisfied by my subsequent clarifications.

> If it is simply that you don't know how to clarify what you mean, why not just say so?

You first.

dventimihasura··on People Don't Understand OOP
Your response has an AI pap flavor.
← PreviousPage 2 of 5Next →