Y
HN Search
Hacker News Search
new
|
comments
|
top
|
jobs
zbentley
searching PlanetScale…
1.
▲
2.
▲
3.
▲
4.
▲
5.
▲
6.
▲
50 ms
·
751.
▲
by
zbentley
1y ago
Among other things, a CDN. If it were to take a sustained outage, lots of important online systems would stop working shortly thereafter. And I’m not talking about developer tools; bigger sites/apps than you think are reliant on GH bei
752.
▲
by
zbentley
1y ago
I don't love Python's async API either, but I think a lot of its complained-about complexity arises from two things: making "when does the coroutine start running" a very explicit point in code (hence the Task/await
753.
▲
by
zbentley
1y ago
Correct, sorry! My phrasing was off-the-cuff and less than precise. File descriptor = reference/pointer-ish thing. File description = referenced data. close(2) = decrement refcount to description by closing descriptor; actual destructi
754.
▲
by
zbentley
1y ago
> One way to do it would be to guard all DLL-implemented functions, and all access to DLL-associated resources, with a reference-counted token, or otherwise use a language-level mechanism (such as Rust's lifetimes) to ensure that al
755.
▲
by
zbentley
1y ago
You joke, but there are programs that do exactly this.
756.
▲
by
zbentley
1y ago
Not only is dlclose(3) not guaranteed to close/unload the library, close(2) isn't guaranteed to close a file! . If the same file descriptor is open in another process (e.g. one that has it via fork(2) FD sharing either without ch
757.
▲
by
zbentley
1y ago
I’m with the sibling commenter: Python’s heavy-weight-ness and overhead is a thing, yes, but it’s not the same kind of overhead that gets us to power hungry bloated systems—that stuff has more to do with (on the server) wakeups, memory thra
758.
▲
by
zbentley
1y ago
> same chemical process Our digestive systems heat and oxidize hydrocarbons to generate kinetic energy? You sure about that?
759.
▲
by
zbentley
1y ago
> The core gripe is that I want running computer programs on Linux to be easy and reliable. It is not. No argument here. What's interesting, though, is that package managers on Linux are the attempted solution to that problem. Wit
760.
▲
by
zbentley
1y ago
Okay, but . . . how would that work? A syscall gives back a pointer (I thought the point was to avoid syscalls/context switches)? An io_malloc userspace function (great, now how do I manage lifetimes of the buffers it hands out)? Somet
761.
▲
by
zbentley
1y ago
Looks interesting; does it take a different architectural approach than WarpStream did? That’s not coded “you’re reinventing the wheel”; WarpStream had some significant drawbacks, so I’m truly curious about different approaches in the messa
762.
▲
by
zbentley
1y ago
It would, hence why major cloud providers currently disable io_uring in many of their compute environments.
763.
▲
by
zbentley
1y ago
Eh, not really. Async (in this semantic context) is generally about cooperative concurrency and also often about concurrent or multiplexed I/O . Pthreads aren't async by those definitions, though you can run async code within a
764.
▲
by
zbentley
1y ago
I think it's not quite that bad (and I know that this has been litigated to death all over the programmer internet). If you are forking from a language/ecosystem that is extremely thread-friendly, (e.g. Go, Java, Erlang) fork is m
765.
▲
by
zbentley
1y ago
Let's say a function "foo" calls "fn bar(_: &mut T) -> ()". When passing a mutable reference, the lifetime of the object is largely decided by "foo" (with some caveats). Now, let's say that &qu
766.
▲
by
zbentley
1y ago
> what you really want is to ask io_uring to allocate the pages itself so that for reads it gives you pages that were allocated by the kernel Okay, but what about writes? If I have a memory region that I want io_uring to write, it's
767.
▲
by
zbentley
1y ago
> I’m increasingly convinced that the mere existence of a package manager (for programs, not source code) is a sign of a failed platform design > Steam does not have this problem. Download game, play game. These statements seem contra
768.
▲
by
zbentley
1y ago
> this is a solved problem It really isn't. The addition of an index was an example, and a relatively straightforward/simple one, of general schema migration pain. And even index additions aren't a solved problem: CONCURRE
769.
▲
by
zbentley
1y ago
It was for spreading load out. If someone was managing resources in a bunch of accounts and always defaulted to, say, 1b, AWS randomized what AZs corresponded to what datacenter segments to avoid hot spots. The canonical AZ naming was provi
770.
▲
by
zbentley
1y ago
TiddlyWiki is another (20+ year old and still being updated!) took in this space. It looks like hyperclay is a bit more oriented towards multitenancy and database-backed persistence than TiddlyWiki (very much trying to be a single-writing-u
771.
▲
by
zbentley
1y ago
I was also onboard with GP’s comment until I got to this part. Audit data in the same DB is great, because it can be written transactionally for relatively cheap (multi table updates, triggers, actual transactions with multiple writes, etc)
772.
▲
by
zbentley
1y ago
There are valid reasons to avoid complex ORM/query result representations, but this isn’t one of them. I have very rarely seen or even heard of the result representation data structure for an SQL query being a bottleneck. The additiona
773.
▲
by
zbentley
1y ago
I think most of the discussion in this thread assumes that “customers” of the interface are other groups in the same organization using the database for a shared overarching business/goal, not external end user customers. For external
774.
▲
by
zbentley
1y ago
I’m generally pro SQL-as-interface, but this is just wrong. Not only are there all sorts of bizarre constraints imposed by databases on migration behavior that application code can’t express (for example, how can I implement a transaction-
775.
▲
by
zbentley
1y ago
And when the underlying tables have to change, what then? Views are good, and help with this situation. But if the data is complicated, big, and even somewhat frequently changes shape (DDL), views only help a little. That said, I think that
776.
▲
by
zbentley
1y ago
There are several! Some focus on generating content that can be served to waste crawler time: crates.io/crates/iocaine/2.1.0 Some focus on generating linked pages: https://hackaday.com/2025/01/23
777.
▲
by
zbentley
1y ago
This feels like neglected software to me. It has a strong odor of a product that the owning team does not consider a major priority and takes an ‘is it working well enough?’ approach to issues rather than an ‘is it working well ?’ approach
778.
▲
by
zbentley
1y ago
> Terse is not harsh or rude, its condensed, which carries a fine distinction. Ironically, I suspect that terseness would improve your communication here. The significant repetitiveness and length of your posts is both contributing to ot
779.
▲
by
zbentley
1y ago
No, but many political figures have proposed banning the distribution/possession/operation of tools (e.g. Signal, Tor) which can be used to circumvent surveillance.
780.
▲
by
zbentley
1y ago
I expanded on this in an adjacent comment: smartcards might be a cheap and easy solve here. Insert the card to log in, pull the card and you get logged out. Bonus points if the smartcard is also your access card for e.g. the break room.
More ›