And then the 100 lines of JS/Py ends up being way slower than the 15 lines of SQL, plus the SQL part of it is slow, plus you can't even get the SQL query to profile without running the actual thing with prints.
I never use ORMs. But slightly before 2014, there was still kind of a reason to use them, getting/setting a whole nested bag of fields at once that you don't care about individually. Json/jsonb now handles that better.
The part about durable workflows is technically correct, but it's focusing on different things than what I've ever run into in practice. Any mildly complex system will have side effects outside your DB, then you want…
So the author made a Rust to C transpiler and immediately used it to transpile... the Rust compiler. I love it.
They have an AAAA for v6 as of right now, but it wasn't always there https://www.nslookup.io/domains/news.ycombinator.com/dns-rec...
Almost all mobile carriers use v6, but not exclusively. They also hand out a v4 to every customer. The v6-only part is their internal network.
The saying is you build better abstractions if you don't build them too early.
Yep. Keyword "tried," as in they did it for a while then hit a point where it's impossible to faithfully follow the abstractions because they're wrong.
I always felt like I abstract and modularize things way less eagerly than other programmers. Was pleasantly surprised to find that LLMs do it mostly my way by default, then again they're also bad at abstracting when…
Not necessarily. I've gone down this rabbit hole in another thread, tldr there are alternatives that would've been easier initially but with the downside of leaving the routes fragmented.
I agree, also making it do useful work could detract from how well it works as bot-prevention. Recaptcha suffered from its own success eventually, having to ask people to read nearly impossible things, and now many…
This is exciting. INSERT (SELECT ...) doesn't work though, right? The docs only mention VALUES inserts.
The "transaction safety" part is confusing. What they mean is if you use SERIALIZABLE, transactions need to be retried, so your code inside the xact should be idempotent. I guess this is safer in Haskell because there…
Oh I misremembered, yeah just tested and the second INSERT errors.
> TBH I think I've seen more database use than not specifically because it serves as the central race-resolver in a system But you usually don't need serializable for this, cause READ COMMITTED locks the rows during…
Cause I want relations and SQL. But also I kinda get what you mean and would not use serializable in Postgres.
In my experience, the performance hit is so bad that it's not feasible to use that way. It's also not strictly safer behavior-wise because retries can trip people up.
Tbh I always forget the specifics soon after reading them. Basically you can do an atomic UPDATE WHERE if there are no subqueries involved. 90% of the time that's good enough, and for anything else I end up refreshing…
Was curious about the Flexcoin hack, but the article wasn't loading, so here's an archive: https://web.archive.org/web/20240423000007/https://hackingdi... Supposedly it was this simple: mybalance =…
Even if it were reproducible, realistically most people are using some service like Claude that makes no guarantee that the model or hardware didn't change. Which is fine, it doesn't need reproducibility. This is…
This is sorta how I've felt working the past ~7 years. Simple example, we've been striving for 90% unit test coverage and thorough code review when there's 0% integration test coverage. I blame the metrics only looking…
Want to add, it's not too late to do this on top of the ipv6 we have today.
If you throw away the code then yeah, but I've never seen anyone do this.
The home solution is supposed to be mDNS. I just checked right now, my mDNS isn't working on my LAN, idk why.
I'm fine with that. The part that makes it not really an abstraction is, you still deliver code in the end. It'd be different if your deliverable were prompt+conversation, and the code were merely an intermediate build…
And then the 100 lines of JS/Py ends up being way slower than the 15 lines of SQL, plus the SQL part of it is slow, plus you can't even get the SQL query to profile without running the actual thing with prints.
I never use ORMs. But slightly before 2014, there was still kind of a reason to use them, getting/setting a whole nested bag of fields at once that you don't care about individually. Json/jsonb now handles that better.
The part about durable workflows is technically correct, but it's focusing on different things than what I've ever run into in practice. Any mildly complex system will have side effects outside your DB, then you want…
So the author made a Rust to C transpiler and immediately used it to transpile... the Rust compiler. I love it.
They have an AAAA for v6 as of right now, but it wasn't always there https://www.nslookup.io/domains/news.ycombinator.com/dns-rec...
Almost all mobile carriers use v6, but not exclusively. They also hand out a v4 to every customer. The v6-only part is their internal network.
The saying is you build better abstractions if you don't build them too early.
Yep. Keyword "tried," as in they did it for a while then hit a point where it's impossible to faithfully follow the abstractions because they're wrong.
I always felt like I abstract and modularize things way less eagerly than other programmers. Was pleasantly surprised to find that LLMs do it mostly my way by default, then again they're also bad at abstracting when…
Not necessarily. I've gone down this rabbit hole in another thread, tldr there are alternatives that would've been easier initially but with the downside of leaving the routes fragmented.
I agree, also making it do useful work could detract from how well it works as bot-prevention. Recaptcha suffered from its own success eventually, having to ask people to read nearly impossible things, and now many…
This is exciting. INSERT (SELECT ...) doesn't work though, right? The docs only mention VALUES inserts.
The "transaction safety" part is confusing. What they mean is if you use SERIALIZABLE, transactions need to be retried, so your code inside the xact should be idempotent. I guess this is safer in Haskell because there…
Oh I misremembered, yeah just tested and the second INSERT errors.
> TBH I think I've seen more database use than not specifically because it serves as the central race-resolver in a system But you usually don't need serializable for this, cause READ COMMITTED locks the rows during…
Cause I want relations and SQL. But also I kinda get what you mean and would not use serializable in Postgres.
In my experience, the performance hit is so bad that it's not feasible to use that way. It's also not strictly safer behavior-wise because retries can trip people up.
Tbh I always forget the specifics soon after reading them. Basically you can do an atomic UPDATE WHERE if there are no subqueries involved. 90% of the time that's good enough, and for anything else I end up refreshing…
Was curious about the Flexcoin hack, but the article wasn't loading, so here's an archive: https://web.archive.org/web/20240423000007/https://hackingdi... Supposedly it was this simple: mybalance =…
Even if it were reproducible, realistically most people are using some service like Claude that makes no guarantee that the model or hardware didn't change. Which is fine, it doesn't need reproducibility. This is…
This is sorta how I've felt working the past ~7 years. Simple example, we've been striving for 90% unit test coverage and thorough code review when there's 0% integration test coverage. I blame the metrics only looking…
Want to add, it's not too late to do this on top of the ipv6 we have today.
If you throw away the code then yeah, but I've never seen anyone do this.
The home solution is supposed to be mDNS. I just checked right now, my mDNS isn't working on my LAN, idk why.
I'm fine with that. The part that makes it not really an abstraction is, you still deliver code in the end. It'd be different if your deliverable were prompt+conversation, and the code were merely an intermediate build…