Y
HN Search
Hacker News Search
new
|
comments
|
top
|
jobs
zbentley
searching PlanetScale…
1.
▲
2.
▲
3.
▲
4.
▲
5.
▲
6.
▲
46 ms
·
781.
▲
by
zbentley
1y ago
I'm mostly just surprised that the doctor didn't lock the workstation when they left the room. Especially if it was a radiology workstation (rather than e.g. exam room EMR workstations); the sensitive data risk from leaving it unl
782.
▲
by
zbentley
1y ago
This has been happening for years, long pre-dating LLMs or the current AI hype. There are a huge number of companies in the medical transcription space. Some are software companies that ingest data to the cloud as you say. Some are remote&#
783.
▲
by
zbentley
1y ago
Eh, I’m not so sure. We didn’t see adoption nearly this fast for poetry, pipenv, or conda (or hatch or PDM, but I never saw those as even reaching critical mass in the first place). Those tools got pretty popular, but it took a long time an
784.
▲
by
zbentley
1y ago
> Why do I have to provide it? The burden is the other way around. Well, it sounds like you have an axe to grind, but I didn’t ask to “prove” anything; I was curious to learn what was meant by the bad-performance claim. I don’t program i
785.
▲
by
zbentley
1y ago
Say more?
786.
▲
by
zbentley
1y ago
As a total outsider to sqlx, those issues don’t surprise me: any application on any platform that uses a SQLite in-memory DB concurrently is likely to violate many assumptions made by client-side connection pooling tools. In-memory SQLite i
787.
▲
by
zbentley
1y ago
Agree. If genuine pre-emptive cancellation from the outside is needed, all languages support the primitive which allows that: a process. Many of the tradeoffs that come from using a process rather than a thread descend directly from that pr
788.
▲
Ask HN: Any recommended classes/trainings for an already-talented junior SWE?
3 points
by
zbentley
1y ago
|
1 comments
789.
▲
by
zbentley
1y ago
> Evaluate ideas (or bills) for their merits, not based on who originated them. Ideas? Sure. Bills? No. So much of how a piece of legislation affects society has to do with the agendas of the people behind it (no matter what it says in t
790.
▲
by
zbentley
1y ago
So why did this happen now as opposed to 5-10 years ago? What changed?
791.
▲
by
zbentley
1y ago
Even if that’s true (and it gets repeated as a very general statement without general data to back it up, so I’m not sure), then why couldn’t payment processors either a) charge retailers in high-risk segments a higher transaction fee, b) c
792.
▲
by
zbentley
1y ago
There is also a thriving wink-and-nod category of “personal massager” tools which are sold in many department stores in the US. They’re usually not in supermarkets, but I get the impression that’s mostly due to supermarkets not having many
793.
▲
by
zbentley
1y ago
It’s a lot easier to ID-gate food based on whether it contains some amount of a substance (alcohol) than it is to ID-gate media. For extremely explicit stuff, sure, the adults-only line might be clear for a lot of folks. But other stuff is
794.
▲
by
zbentley
1y ago
Say more?
795.
▲
Sigsegv as control flow – How the JVM optimizes your null checks (2015)
(jcdav.is)
2 points
by
zbentley
1y ago
|
0 comments
796.
▲
by
zbentley
1y ago
> a segfault is completely unintentional Usually, but not always! https://jcdav.is/2015/10/06/SIGSEGV-as-control-flow/
797.
▲
by
zbentley
1y ago
Not GP, but that definition seems not to be the one in use when describing languages like Rust--or even tools like valgrind. Those tools value a definition of "memory safety" that is a superset (a big one) of the definition refere
798.
▲
by
zbentley
1y ago
Well, there aren't reasons why Python couldn't have that, but there certainly are good reasons why the Python maintainers decided that type of runtime was not appropriate for that specific language--not least among them that mai
799.
▲
by
zbentley
1y ago
You're mostly right; computers are fast at core/thread parallelism now and leaving capacity on the table is bad. But there are a lot of common problems where the overhead of threads shows up a lot earlier in the scaling process
800.
▲
by
zbentley
1y ago
Not for I/O. If many goroutines all request a socket read, the golang runtime shoves them all onto an IO multiplexing event loop very similar to Python's asyncio stdlib event loops: https://www.sobyte.net/post/
801.
▲
by
zbentley
1y ago
The two don't really compete, because async/await is primarily about parallelizing IO. If I want to (say) probe a dozen URLs for liveness in parallel, or write data to/from thousands of client sockets from my webserver, doing
802.
▲
by
zbentley
1y ago
Not really; the problem is that languages with IO monads often provide a runtime that can schedule IO-ful things concurrently (or, in Haskell's case, lazily) based on the type. Python has no such scheduler; users have to run their own
803.
▲
by
zbentley
1y ago
I also have a hunch that socket activation allows for more predictability around what a not-running/listening-for-activation service's port is doing at the syscall/kernel level, which in turn makes power saving and/or sl
804.
▲
by
zbentley
1y ago
As someone for whom Nix and MacPorts are a bit too much of a chore, I find that three things massively improve the Homebrew user experience: 1. If you do Python development, use “uv” or any other Python interpreter-management tool which use
805.
▲
by
zbentley
1y ago
I used to take this approach (didn’t worry about late interpolation for debug logs unless in a tight loop), but I was wrong and got bitten several times. Now I very strongly tend to favor lazy interpolation for logging. The reason is that f
806.
▲
by
zbentley
1y ago
It’s reassuring that a lot (feels like a majority) of these are noted as resolved or turned into errors that make more sense than confusing behaviors in later editions of the language. Python 3.5, which is what the WTFs use by default, is r
807.
▲
by
zbentley
1y ago
An easy solve for this is to buy public domains for the sites you want to use, run a static website on them that says “turn on tailscale to access this site, set that up here (link to download a client preconfigured for my tailnet, invite o
808.
▲
by
zbentley
1y ago
No, so long as the rows in there are transactionally guaranteed to be present or not, a sweeper script can handle removing failed “publishes” (notifys that didn’t delete their row) later. This does sacrifice ordering and increases the risk
809.
▲
by
zbentley
1y ago
This is roughly the “transactional outbox” pattern—and an elegant use of it, since the only service invoked during the “publish” RPC is also the database, reducing distributed reliability concerns. …of course, you need dedup/support fo
810.
▲
by
zbentley
1y ago
> Instead of "the balance is the sum of the transactions", execute several transaction writes (to the database) and read back the resulting balance Er, doesn’t this boil down to saying “not testing database end state (trusting
More ›