Y
HN Search
Hacker News Search
new
|
comments
|
top
|
jobs
EdSchouten
searching PlanetScale…
1.
▲
2.
▲
3.
▲
4.
▲
5.
▲
6.
▲
8 ms
·
61.
▲
by
EdSchouten
3y ago
What I find annoying about using parser generators is that it always feels messy integrating the resulting parser into your application. So you write a file that contains the grammar and generate a parser out of that. Now you build it into
62.
▲
by
EdSchouten
3y ago
Porpoisely!
63.
▲
by
EdSchouten
3y ago
Previously discussed here: https://news.ycombinator.com/item?id=32726166
64.
▲
by
EdSchouten
3y ago
Object-capability models really shine there: https://en.m.wikipedia.org/wiki/Object-capability_model What if the only way to access the file system was to call methods on an object that was provided to main()? Then lib
65.
▲
by
EdSchouten
3y ago
Even though not all architectures have an RTC or strong PRNG instructions, almost all of them have writable storage in the form of NVRAM/NAND/disk. Why can’t they just patch up the kernel to persist PRNG state there and require th
66.
▲
by
EdSchouten
3y ago
> What is much less prevalent is a demand from average C++ users for memory safety features; they’re much more concerned about compilation speed. When most C++ developers haven’t adopted tools like Coverity and C++ core guidelines checke
67.
▲
by
EdSchouten
3y ago
In that sense .then_some() is sort of a footgun. Compared to a regular if-statement it invites people to write code in a less efficient (and in this case an incorrect manner). It could just have taken a closure instead. Edit: it turns out t
68.
▲
by
EdSchouten
3y ago
Worth mentioning that if you use NFSv4, file handles can be up to 128 bytes in size. That’s big enough that you can sometimes get away with dumping the entire file state in it. For Buildbarn (a distributed build cluster for Bazel) I also wr
69.
▲
by
EdSchouten
3y ago
For me it’s actually the opposite. I dislike the container/heap functions for the fact that Push() and Pop() try to pass through values in the first place. Especially for Pop() it’s completely gratuitous. It’s fairly common that you wa
70.
▲
by
EdSchouten
3y ago
Another option is simply to print less, but expose more events in the form of counters. Unfortunately, within a kernel that’s as big as Linux, that would leave you with many, many, many counters. All of which need to be exported and monitor
71.
▲
by
EdSchouten
3y ago
You can use a CDC algorith, but if you know that duplication mostly occurs at power-of-two boundaries, there is no need to use that. Deduplicating on a binary tree basis is sufficient.
72.
▲
by
EdSchouten
3y ago
Imagine the case where you're trying to create a storage system for a large number of virtual machine images (e.g., you're trying to build your own equivalent of AWS Machine Images). There is obviously a lot of duplication between
73.
▲
by
EdSchouten
3y ago
What I dislike about BLAKE3 is that they added explicit logic to ensure that identical chunks stored at different offsets result in different Merkle tree nodes (a.k.a. the ‘chunk counter’). Though this feature is well intended, it makes thi
74.
▲
by
EdSchouten
3y ago
I really think that this is a quality of implementation issue. Even though most implementations do so, there is no requirement to implement fd_set as a bitmap. It could also be an array of integers. Though this still won’t allow you to sele
75.
▲
by
EdSchouten
3y ago
I don't know how I should feel about changes like this. My concern with 'spinlocks in userspace' (i.e., locks that don't just call into the futex API when they run into contention) is that they merely try to optimize for
76.
▲
by
EdSchouten
3y ago
On Linux, it likely calls sched_getaffinity().
77.
▲
by
EdSchouten
3y ago
There are actually a couple of games that were like that. I remember Ridge Racer 1 also allowed it.
78.
▲
by
EdSchouten
3y ago
Megametres per Siemens.
79.
▲
by
EdSchouten
3y ago
I don't doubt you can generate ~100 watts cycling forward for hours. But the approach this system uses is that you need to cycle backwards. As far as I know, that's pretty annoying way to move your legs.
80.
▲
by
EdSchouten
3y ago
What’s the advantage of using those bicycles, as opposed to just having a crank on it? Pedaling a bicycle backwards isn’t really ergonomic.
81.
▲
by
EdSchouten
3y ago
This construct is still used a lot in Dutch (‘which’ -> ‘welke’).
82.
▲
by
EdSchouten
3y ago
NFSv4.1 and later do, via a callback operation named CB_NOTIFY.
83.
▲
by
EdSchouten
3y ago
Which is also what you want, right? The issue is that with compound calls there is some state that’s carried over between operations (current/saved file handle), so you’d need to implement that yourself anyway.
84.
▲
by
EdSchouten
3y ago
Note that there’s absolutely no requirement to support more advanced features such as locking and delegations. Even if a client offers to accept a delegation, a server may just deny/ignore it as part of OPEN.
85.
▲
by
EdSchouten
3y ago
Look at RFC 7531. XDR definitions for NFSv4 exists, and they can also be used to generate C bindings if you want.
86.
▲
by
EdSchouten
3y ago
Also keep in mind that NFSv4 is mostly adds necessary complexity. Not accidental complexity. For example, NFSv4 supports accessing files that have been unlinked, but still have one or more open file descriptors. NFSv3 does not. It needs to
87.
▲
by
EdSchouten
3y ago
For people who are interested in doing something similar in Go, some time ago I implemented a generic VFS that can be exposed both via FUSE and NFSv4. It’s part of Buildbarn, a distributed build cluster for Bazel, but it can also easily be
88.
▲
by
EdSchouten
3y ago
Regardless of what the answer to your question is, X is not a newspaper.
89.
▲
by
EdSchouten
3y ago
> Of course, the job does not end with these patches; there is still a lot of functionality provided by futex(), including priority inheritance, that is not available with the new API. This is always unclear to me. If there's work b
90.
▲
by
EdSchouten
3y ago
Vapor ring would be a better translation, right? Because “vocht” is moisture.
More ›