Y
HN Search
Hacker News Search
new
|
comments
|
top
|
jobs
josephg
searching PlanetScale…
1.
▲
2.
▲
3.
▲
4.
▲
5.
▲
6.
▲
36 ms
·
751.
▲
by
josephg
10mo ago
There is no recovery. When an invariant is violated, the system is in a corrupted state. Usually the only sensible thing to do is crash. If there's a known bug in a program, you can try and write recovery code to work around it. But it
752.
▲
by
josephg
10mo ago
Thanks for writing this up and posting it! So: - It’s not E2ee. It’s not even client side encrypted. - You encrypt at rest. But using a key that you control anyway. The master key presumably is never stored in the database, which is a nice
753.
▲
by
josephg
10mo ago
I hear you, but sometimes this is what I want. For example, I’m pretty sure some complex invariant holds. Checking it is expensive, and I don’t want to actually check the invariant every time this function runs in the final build. However,
754.
▲
by
josephg
10mo ago
It really depends on the language you use. Personally I like the way rust does this: - assert!() (always checked), - debug_assert!() (only run in debug builds) - unreachable!() (panics) - unsafe unreachable_unchecked() (tells the compiler i
755.
▲
by
josephg
10mo ago
Yes, this has been my experience too! Another tool in the toolbox is property / fuzz testing. Especially for data structures, and anything that looks like a state machine. My typical setup is this: 1. Make a list of invariants. (Eg if
756.
▲
by
josephg
10mo ago
Yep. Kids still love engaging with decent content. As any parent knows. Bluey / Peppa pig / Paw patrol / etc do huge numbers. Children haven’t changed.
757.
▲
by
josephg
10mo ago
Where are the keys stored? If you encrypt the data but just have the keys in another database table, I don’t really see the point of having it encrypted at all. I agree with others. I wouldn’t use this unless I trust how you’re handling my
758.
▲
by
josephg
10mo ago
Thanks for your work on react. I just realised who I’m talking to sweats . I agree that the functional reactive model is a very different programming model than VB6. We all owe a lot to react, even though I personally don’t use the react l
759.
▲
by
josephg
10mo ago
> That's not true. React only re-renders down from where the update happens. And it skips over stuff that is provably unchanged -- which, fair, involves manual memoization hints. React only skips over stuff that's provably unch
760.
▲
by
josephg
10mo ago
> The result: roughly 50 distinct issues uncovered across multiple kernel subsystems > Our goal isn’t to break FreeBSD, but to highlight the systemic difficulty of maintaining strict isolation in a large, mature codebase. 50 distinct
761.
▲
by
josephg
10mo ago
That’s possible, but the hardware (a rodecaster pro 2 connected over usb) works just fine in other Linux apps. I can record audio in audacity. And I can play back audio in resolve. I just can’t record audio in resolve. I think it’s a softwa
762.
▲
by
josephg
10mo ago
> and why all modern native UI frameworks have a similar model these days. Personally I much rather the approach taken by solidjs / svelte. React’s approach is very inefficient - the entire view tree is rerendered when any change ha
763.
▲
by
josephg
10mo ago
Audio is still broken pretty regularly in davinci resolve on Linux. Sometimes I need to restart the application to make audio work. And I can’t record sound within resolve at all. It doesn’t help that they only officially support rocky Linu
764.
▲
by
josephg
10mo ago
Yep. But docker doesn’t help you with desktop apps. And everything becomes so big! I think Rob pike has the right idea with go just statically link everything wherever possible. These days I try to do the same, because so much less can go w
765.
▲
by
josephg
10mo ago
I like FreeBSD for the same reason. The whole system is sane and coherent. Illumos is the same. I wish either of those systems had the same hardware & software support. I’d swap my desktop over in a heartbeat if I could.
766.
▲
by
josephg
10mo ago
I think he still considers this to be the case. He was interviewed on Linus tech tips recently. And he bemoaned in passing the terrible application ecosystem on Linux. It makes sense. Every distribution wants to be in charge of what set of
767.
▲
by
josephg
10mo ago
The people we happen to work with is an incredibly biased sample set of all software engineers. As an example, almost everyone I’ve worked with in my career likes using macOS and Linux. But there are entire software engineering sub communit
768.
▲
by
josephg
10mo ago
I agree, but bigints are missing from json because the json spec defines all numbers as 64 bit floats. Any other kind of number in JSON is nonstandard. JavaScript itself supports bigint literals just fine. Just put an ‘n’ after your number
769.
▲
by
josephg
10mo ago
Typescript also has significantly better performance. This is largely thanks to the browser wars funnelling an insane amount of engineering effort toward JavaScript engines over the last couple decades. Nodejs runs v8, which is the JavaScri
770.
▲
by
josephg
10mo ago
Is there a way to do this in vlc? I run into this problem constantly - especially when 5.1 audio gets down mixed to my stereo setup.
771.
▲
by
josephg
10mo ago
German peasants in the 17th century seemed to manage just fine without 24/7 news coverage. Almost all news that's actually important - that might actually affect your life - will find you one way or another. Most news isn't i
772.
▲
by
josephg
10mo ago
The thing I can't get past with PGP / GPG is that it tries to work around MITM attacks by encouraging users to place their social network on the public record (via public key attestation). This is so insane to me. The whole point
773.
▲
by
josephg
10mo ago
> Right. So at that point all those contributing developers are free to fork, and maintain the fork. You have just as much control as you always did. Yep. And we've seen this happen. Eg, MariaDB forked off from MySQL. Illumos forked
774.
▲
by
josephg
10mo ago
> You can’t verify LLM’s output. And thus, any form of trust is faith, not rational logic. Well, you can verify an LLM's output all sorts of ways. But even if you couldn't, its still very rational to be judicious with how you u
775.
▲
by
josephg
10mo ago
> What I would love would be an interactive script that asked me what I was trying to do and constructed a command line for me while explaining what it would do and the meaning of each argument. And of course it should favour commands th
776.
▲
by
josephg
10mo ago
It is that hard for some. Empathy requires actually going out and talking to people. And then listening to them describe their experiences, without editorialising or interrupting. I've met plenty of engineers who would rather spend 2 w
777.
▲
by
josephg
10mo ago
Consistent ordering of concurrent operations is easy though. Just detect this case (via logical clocks) then order using node ids or transaction ids if the logical clocks show the transactions as being concurrent. Am I missing something? Th
778.
▲
by
josephg
10mo ago
> When two transactions happen at nearly the same time on different nodes, the database must determine which happened first. If clocks are out of sync, the database might order them incorrectly, violating consistency guarantees. This is
779.
▲
by
josephg
10mo ago
Yeah you’ve been able to do this for over a decade. They can’t really stop it: - Git commits form an immutable merkel dag. So commits can’t be changed without changing all subsequent hashes in a git tree - Commits by default embed your emai
780.
▲
by
josephg
10mo ago
Have you ever used windows on a $100 second hand laptop? Imagine for a second that you don't know much about computers. You buy something crap like that and turn it on. Windows is of course already installed. Along with 18 antivirus pr
More ›