How so? Consider the following: Schema: CREATE TABLE foo ( bar INTEGER ); Program: fn main() { stmt := "INSERT INTO foo (bar) VALUES (?)" if (now() % 2 == 0) { db.exec(stmt, [1]); } else { db.exec(stmt, ["Baz"]); //…
> But one DB one app is fairly common with Postgres too That is common today, but remember that Postgres is now 40 years old. It is so old that it was originally based on QUEL rather than SQL. Back then database servers…
> Yeah my DB is the one place I want strict types. Well also RPCs. Which is why in most cases you are going to show at compile time that your code adheres to the typed structure. There is no real benefit in also double…
If you are using SQLite as an embedded database, which seems to be SQLite's primary use-case, why wouldn't you prove statically that you are not accidentally inserting the wrong type? Runtime checks are unnecessary…
Same as what moi2388 would do in the opposite scenario. Six of one, half dozen of the other.
The alternative is that you are not easily replaceable, which means that moi2389 is the one who doesn't get to do the work. Which is good for moi2388, perhaps, but what about moi2389? Either way someone is going to be…
Anything that doesn't have tests is unspecified behaviour. While it is true that a port may differ in behaviour where the behaviour is unspecified, "fail" is not the right framing as there is no definition of what it…
I find that depends on the language you are using. Some language communities had already rejected "architecture astronauts" even before LLMs were born, so the training data was highly consistent, which has lead to LLMs…
At the same time, that was historically the only reason for moving to a new programming language: everything needing to be rewritten meant all the cruft accumulated in earlier programming languages was reset.
> I can't just spontaneously decide one day [...] Sure you can. What unstoppable force is going to prevent you? You might find out there are undesirable consequences if you make that choice, but that is only if the…
An OS thread per connection can be fine for performance if you don't have to scale your connections, but if you don't need to scale connections why have connections at all? Databases are even more performant when you…
Logically there is never an expectation for one to comment for anyone but themselves, but it remains that nobody can hold something that has never been given to them.
The kid doesn't need it, but the parents need the kid to have it on him to appease the bored onlookers one digit away from calling the authorities.
Like all code discussions on HN, we have never been given the code to hold. I understand in the past HN accounts have been afraid to post code because it would reveal that they have no idea what they are doing, but now…
Code that never opens is code you can delete. If the bot hasn't deleted dead code, especially given that this is code it recognizes as being dead and documents it as such, it must believe that you plan to use it again…
In the context of an LLM using "gate" within code: obviously one can always modify the code to bypass the gate, so there is a built-in implicit assumption that the gate isn't "impossible lava". Most readers are able to…
So what you are saying is if you don’t want to read about Gates, target Linux instead of Windows?
> I am asking _you_ what _you_ are trying to claim here. I make no claims about anything "bare bones", so, again, you must clarify what you mean by it before I can do anything with it. > I am trying to figure out how…
> I am asking about your hypothetical "bare bones" "ORM" What does "bare bones ORM" mean? That seems like saying "bare bones sort", but like sort it seems to me like it is either something that happens or something that…
> Does it give me an empty list, because I didn't ask for it? That depends on the rest of your code. If you are using something like the active record or data mapper pattern then it would reach out and fetch more…
ORMs do not inherently build queries. They only provide data transformations between relations (i.e. rows and columns) and objects. Hence the literal name: Object relation mapping. Sometimes ORMs and query builders are…
> Strictly speaking, this isn't a failure of the ORM itself -- it's the fault of the developer You've got that backwards. If a tool obscures complexity such that a developer using it could be tricked into thinking their…
ORM is compatible with any schema, but perhaps you are thinking of something like the active record pattern?
No, there is no middle ground. You can either maintain relations throughout the full application or you can transform them into application-native structures, the latter of which is ORM. The article seems to be…
Zoning and related matters is what really holds the US back. You are allowed to open a restaurant nearly anywhere, but good luck renting out a random office space or garage to start any other kind of small factory…
How so? Consider the following: Schema: CREATE TABLE foo ( bar INTEGER ); Program: fn main() { stmt := "INSERT INTO foo (bar) VALUES (?)" if (now() % 2 == 0) { db.exec(stmt, [1]); } else { db.exec(stmt, ["Baz"]); //…
> But one DB one app is fairly common with Postgres too That is common today, but remember that Postgres is now 40 years old. It is so old that it was originally based on QUEL rather than SQL. Back then database servers…
> Yeah my DB is the one place I want strict types. Well also RPCs. Which is why in most cases you are going to show at compile time that your code adheres to the typed structure. There is no real benefit in also double…
If you are using SQLite as an embedded database, which seems to be SQLite's primary use-case, why wouldn't you prove statically that you are not accidentally inserting the wrong type? Runtime checks are unnecessary…
Same as what moi2388 would do in the opposite scenario. Six of one, half dozen of the other.
The alternative is that you are not easily replaceable, which means that moi2389 is the one who doesn't get to do the work. Which is good for moi2388, perhaps, but what about moi2389? Either way someone is going to be…
Anything that doesn't have tests is unspecified behaviour. While it is true that a port may differ in behaviour where the behaviour is unspecified, "fail" is not the right framing as there is no definition of what it…
I find that depends on the language you are using. Some language communities had already rejected "architecture astronauts" even before LLMs were born, so the training data was highly consistent, which has lead to LLMs…
At the same time, that was historically the only reason for moving to a new programming language: everything needing to be rewritten meant all the cruft accumulated in earlier programming languages was reset.
> I can't just spontaneously decide one day [...] Sure you can. What unstoppable force is going to prevent you? You might find out there are undesirable consequences if you make that choice, but that is only if the…
An OS thread per connection can be fine for performance if you don't have to scale your connections, but if you don't need to scale connections why have connections at all? Databases are even more performant when you…
Logically there is never an expectation for one to comment for anyone but themselves, but it remains that nobody can hold something that has never been given to them.
The kid doesn't need it, but the parents need the kid to have it on him to appease the bored onlookers one digit away from calling the authorities.
Like all code discussions on HN, we have never been given the code to hold. I understand in the past HN accounts have been afraid to post code because it would reveal that they have no idea what they are doing, but now…
Code that never opens is code you can delete. If the bot hasn't deleted dead code, especially given that this is code it recognizes as being dead and documents it as such, it must believe that you plan to use it again…
In the context of an LLM using "gate" within code: obviously one can always modify the code to bypass the gate, so there is a built-in implicit assumption that the gate isn't "impossible lava". Most readers are able to…
So what you are saying is if you don’t want to read about Gates, target Linux instead of Windows?
> I am asking _you_ what _you_ are trying to claim here. I make no claims about anything "bare bones", so, again, you must clarify what you mean by it before I can do anything with it. > I am trying to figure out how…
> I am asking about your hypothetical "bare bones" "ORM" What does "bare bones ORM" mean? That seems like saying "bare bones sort", but like sort it seems to me like it is either something that happens or something that…
> Does it give me an empty list, because I didn't ask for it? That depends on the rest of your code. If you are using something like the active record or data mapper pattern then it would reach out and fetch more…
ORMs do not inherently build queries. They only provide data transformations between relations (i.e. rows and columns) and objects. Hence the literal name: Object relation mapping. Sometimes ORMs and query builders are…
> Strictly speaking, this isn't a failure of the ORM itself -- it's the fault of the developer You've got that backwards. If a tool obscures complexity such that a developer using it could be tricked into thinking their…
ORM is compatible with any schema, but perhaps you are thinking of something like the active record pattern?
No, there is no middle ground. You can either maintain relations throughout the full application or you can transform them into application-native structures, the latter of which is ORM. The article seems to be…
Zoning and related matters is what really holds the US back. You are allowed to open a restaurant nearly anywhere, but good luck renting out a random office space or garage to start any other kind of small factory…