787 karma · joined January 30, 2017
I only tried ChatGPT which gives me 5 incorrect answers in a row.
Killer Feature #1 is the room system, which can be a great source of inspiration if you don't know what you want to build. Killer Feature #2 is the overall charm you would expect from a modern Dragon Quest game, especially the NPCs. DQB1 has the better story mode (in my opinion), while DQB2 gives you much more freedom to build.
https://developer.hashicorp.com/terraform/language/syntax/js...
Multiple times in my career I've taken ownership of a codebase written by someone else. Some of the most pleasant ones had very little test coverage, but the code quality was high enough to make the lack of tests not really matter. On the other hand, some code is so bad covering it with tests adds nothing of value; it's just one more thing I have to analyze and decide what to do with.
I agree with most of the author's points in general, but I think that most programmers who are capable of writing good tests are also capable of recognizing situations when it's not worth the trouble.
The article is talking about simple "bundle of values" types; the example is the CreateSubscriptionRequest. This is not an abstraction. It is simply a declaration of all the fields that must be provided if you want to create a subscription. And it is usually superior to passing those N fields around individually.
Which can be an extremely significant difference. If you're already using a single object and add a 6th field, you only need to update the places where the object is constructed and where the new field is consumed. If you're using individual variables, you also need to update all the code that those 5, now 6, variables simply pass through.
A million times yes!
> I think the end game is doing SSR of web content inside the RDBMS
That feels like one step too far for me. I think things like authorization and HTML rendering belong in a separate layer.
But I do believe that more than 90% of today's "server side code" actually belongs in the RDBMS, and I blame the weakness of SQL as the reason no one wants to do this.
It wouldn't. I'm just assuming that the thrust of the hypothetical negligence accusation was "The schema is useless unless you have SQL injection holes. So give us the schema or admit you are negligent!" But you're correct that there are other justifications one could make to keep the schema secret.
It doesn't. It just means that as soon as you find one, you can immediately begin crafting valid queries instead of randomly guessing table names and columns, therefore not setting off the "DB query failed" alert.
EDIT: I guess this is the part I missed:
> To have a meaningful chance of blind-one-shotting a query, getting a TRUE/FALSE answer about susceptibility without ever generating a SQL syntax error, I would need to see the queries themselves.
Really? I guess I have to take your word for it because I've never attempted it, but I would have thought that in some (horribly broken) systems `bobby tables' or 1=1 --` would have a very reasonable chance of detecting SQL injection without alerting anyone.
> Of all the things you listed about Trump, I’d only really take issue with two
So then you agree that he tried to overthrow an election? This is the wild part to me. I don't know whether his actions after losing the 2020 election were technically illegal or not, but in my opinion this was the clearest threat to America's peaceful transition of power I've ever witnessed. I thought "okay, this is at least 50x worse than Watergate, even Trump won't survive this." Then amazingly (to me), he won in 2024. My only hypothesis for how that happened is that 99% of people who voted for him believed his unfounded claims regarding the 2020 election. But you seem to be an interesting counterexample.
Consider how many of these complaints are equally valid against KQL: https://www.scattered-thoughts.net/writing/against-sql/
The correct solution is to protect one of the options and then choose the other option.
The real challenge is coming up with appropriate flavor text for this idea, but I think I'll get it eventually.
We only know that if the problem tells us. Sometimes it doesn't.
> There are no ambiguities in the Monty Hall problem
The problem has been written up thousands of times. I'm sure that some writeups are sufficiently unambiguous, but many are not. For example, consider the two "variants" described by this comment https://news.ycombinator.com/item?id=8664550
> The host selects one of the doors with a goat from the remaining two doors, and opens it.
> The host chooses one of the remaining two doors at random and opens it, showing a goat.
This commenter was trying hard for semantic precision, and yet, I think if you encountered the first variant in isolation it would be perfectly reasonable to interpret it as "The host [randomly] selects one of the doors with a goat [although he might have selected the prize]" even though this is clearly not what the commenter was attempting. If you disagree, that only proves my point: this problem is prone to silly and wasteful semantic debate, rather than the interesting probability result it should be focused on.
I need to write a blog post or something convincing everyone we need to stop talking about the Monty Hall problem and replace it with a new problem with all the ambiguities removed. (Unless ambiguity is the point, then Monty Hall is fine.)
> The team’s results may not lead to any immediate applications
I don't understand why it wouldn't lead to immediate applications. Is this a situation where analysis of real-world use cases allows you to tune your hash implementation better than what a purely mathematical approach would get you?
Presumably this was published by DOGE: https://www.whitehouse.gov/fact-sheets/2025/02/at-usaid-wast...
I encourage everyone to follow the links and determine the accuracy of the claims being made.
False dichotomy. It's possible that in some situations DEI could replace cronyism and produce better hires. I have no idea how often that actually happens, but I know that cronyism happens a lot.
> Joins and source tables are automatically resolved in Trilogy. You won't ever explicitly specify one in your query; you're declaring what you want, not how to get it. The responsibility of how to get it is delegated to the semantic model.
I don't fully understand how the semantic model is created (is this documented anywhere?), but I don't think I would enjoy a hard separation between the query layer and the semantic layer regardless.
I would prefer a continuum of "how much indirection do I really want" to be available to the user. My own exploration of this topic is https://docs.racket-lang.org/plisqin/index.html and you can compare section 2 (Using define-schema) to section 7.2 (Plisqin Desugared) if you want to know what I mean about a continuum.
Unrelated, the article we are commenting on has inspired me such that I think I have an answer to the big type system questions that eluded me when I decided to put Plisqin on the shelf. Maybe time to pick it up again... but probably not.
Got any recommendations? That's a serious question, I've tried many (and built my own) and some are okay but none feel remotely good enough when you consider how much progress we've made basically everywhere else in the wider world of software engineering. Relational databases are so good; they deserve better than SQL!
(Okay, maybe you can find a few cases where stored procs work decently, but in general both composability and performance will be much worse than the proposed functors.)