I'd argue that it is completely useless. They have the actual parser that runs in production and then a separate "test parser" that doesn't actually reflect reality? Why?
I read that they pushed a new configuration file, so possibly they don't consider that a "software update" and pushed it to everyone. Which is obviously insane. If I am publishing software, it doesn't matter if I've changed a .py file or a .yaml file. A change is a change and it's going to be tagged with a new version.
So how do people handle this in practice if the users table in this example has a ton of traffic? It might not ever succeed even with exponential backoff. It also seems strange that Postgres would need to lock the entire table just to add a new column.
I'm in a really similar position to you. I'm currently engineer #1 at a seed stage startup making $155k with 1.5% equity. But a year in I'm realizing I've built their entire product from scratch while they do sales and outreach. Obviously those things are important but I'm a leg of a tripod holding the whole thing up and yet I have a fraction of the equity they have. Makes no sense.
Oracle Park is kind of uniquely great, though. Amazing views and right next to public transportation. The more typical experience is something like Kauffman Stadium, where the only way to get there is by car and there is nothing to look at other than the game itself.
I use the same technique to maintain a json file mapping Slack channel names to channel IDs, as Slack for some reason doesn't have an API endpoint for getting a channel ID from its name.
And according to the article, the issue isn't that TS doesn't realize it's the same object, it's that the object might have more keys than what is declared in your interface.
Perhaps what you meant to say is that you can directly use `val` instead of `obj[key]`.
> The less code you need to solve your problem, the better.
Couldn't agree more. I always reject PRs with dead code in them. The author will argue that they added it for some future use case, but in my opinion it is never acceptable to have dead / unreachable code. It's confusing for future readers of your code and you can always add it later if your imaginary use case ever becomes real.
I'm not sure I understand. What is the purpose of the privileged LLM? Couldn't it be replaced with code written by a developer? And aren't you still passing untrusted content into the function call either way? Perhaps a code example of this dual LLM setup would be helpful. Do you know of any examples?
Did they just now discover abstract base classes?