I expect a stack trace. I don't expect a query plan. It needs one of those websites where you can paste the TypeScript error in and it tells you in English what's going on.
Anyway I fixed it, the two objects were indeed different. But it's like I Spy in that message!
@NEETzsche@alex@josh due to typescript and graphql, if I code a graphql query that's like `{ users { name }` which is effectively the same as the sql query `select name from users` and the name column doesn't exist on my database my linter will bitch at me that the field is invalid.
I basically get to write database calls on my frontend and get them validated like sql ones directly in a sql command line
Yeah, but the developer experience is substantially better. You don't have to memorize so much anymore. That frees your brain to think about other things.
@NEETzsche@roboneko@alex@josh you're deliberating ignoring the question of scale. it's pretty easy to do "type shit in, other people can see it" when you're dealing with a few hundred network requests
@e It isn't a question of scale. You and Alex just got done justifying your bloat on things like a GraphQL linter and a better IDE experience. It's about having six gorillion times as much system resources, but lacking the vision to do something with it other than make the task of writing software already written easier.
@e Consider the following: the point that you're trying so desperately to dodge is that the entire program, all of it, the whole stack, the entire thing, needs to either do something a lot more significant than a variation on "type shit in, other people see it," or, and get this, it needs to confirm to 1990s standards of system resource consumption.
If it doesn't?
Anything in excess of that is definitionally bloat.
@e Not really. The yardstick was actually set in the 1990s. All system resource usage in excess of past implementations that worked is by definition bloat. The use case is "type your shit in, other people see it." We had that in the 1990s.
We use up multiple orders of magnitude more system resources to accomplish this simple task today than we did then, and all we're doing is the same thing: typing shit in so others can see it.
@NEETzsche@roboneko@alex@josh >So you're saying that we need to start getting rid of databases so that we can reduce the system resource requirements for running a server that handles "type shit in, other people see it" back to what they were in the 1990s? ok you're just trolling me
@NEETzsche@roboneko@alex@josh dude you have to be trolling. javascript is fast enough to do api calls. what's not fast is doing a bunch of relational table joins that you wouldn't have to do otherwise
@e "it's not the scripting language, it's the db" really is the weakest argument ever when it comes to this topic. So you're saying that we need to start getting rid of databases so that we can reduce the system resource requirements for running a server that handles "type shit in, other people see it" back to what they were in the 1990s? Is that your big contention? Because that's a really bad contention.
Okay so I'll give you -3% on my final grade for failing to explicitly mention databases in your soy bloatware stack. Final grade: 97% or A+.
In conclusion, these tools do not improve performance or productivity because the system requirements yardstick for "type shit in, other people see it" and variants was established in the 1990s and is significantly less than what you can get for a $5/mo VPS.
@NEETzsche@roboneko@alex@josh if you want to talk about protocols, graphql is leaner and what I've been trying to tell you but you dismiss it even if it saves a ton of db calls
@e >my bloatware is using up a ton of system resources to do something that was done on a Pentium II no problem >maybe if I add a little soyware to my bloatware it'll make it run slightly faster...
@NEETzsche@roboneko@alex@josh you brought up 1kb payloads like they don't matter. they do matter, it has nothing to do with string parsing performance, it has to do with the db calls to generate that 1kb payload.
@roboneko Except unironically. This message content I'm sending you is under 1KB so if it takes more than 1s to transfer to you on my 14400 baud modern it's because your protocol is bloated or the soyware scripting language your server runs requires a supercomputer to do string manipulation.
@NEETzsche@alex@josh ok well enjoy hunting down bugs. if I change a datatype in my code I don't have to go hunt down every changed instance my linter will just error
@e@alex@NEETzsche@josh no man u don't get it should do everything in a combination of C89 and forth the way God intended. if you haven't rolled your own https implementation in assembler then you really need to git gud
@NEETzsche@alex@marine@josh >a problem that has been thoroughly solved for two decades at a minimum. you have a lot of opinions but you're not even willing to look into this stuff
@e@alex@josh My point is that all of this soyware that purports to increase productivity has a rather flimsy argument for it actually being the case. Especially since you can make the same arguments with things that are no longer the new hotness and haven't been in years, like Rails. It's just a variation on the framework treadmill from a decade ago, except this time it's programmers trying to get ever more abstracted and removed from the metal without really implementing anything new.
I just got out of a conversation with @marine about an idea of hers that actually qualifies as new and none of these "technologies" are going to help her with it because all these "technologies" do is permute on CRUD, a problem that has been thoroughly solved for two decades at a minimum.