Y
HN Search
Hacker News Search
new
|
comments
|
top
|
jobs
gritzko
searching PlanetScale…
1.
▲
2.
▲
3.
▲
4.
▲
5.
▲
6.
▲
12 ms
·
241.
▲
by
gritzko
1y ago
RDX works as a merge operator inside virtually any LSM database. It is strictly O(N), so almost every LSM db benchmark would be relevant here. There is an RDX-specific LSM engine BRIX, but that one is good for its Merkle properties. Chotki
242.
▲
by
gritzko
1y ago
I am the author of RDX. I let others brag about thier implementations.
243.
▲
by
gritzko
1y ago
The first CRDTs have been remarkably impractical, e.g. WOOT[0]. These days, state-of-the-art CRDT databases are not much different from your regular LSM performance-wise. For example, RDX CRDTs[1,2] are all implemented by a merge-sort-like
244.
▲
Braid and HTTP Sync
(replicated.wiki)
1 points
by
gritzko
1y ago
|
0 comments
245.
▲
Escher's Art and Computer Science
(replicated.wiki)
19 points
by
gritzko
2y ago
|
0 comments
246.
▲
by
gritzko
2y ago
So, systemd is like "doing Linux services the Microsoft way"
247.
▲
by
gritzko
2y ago
I work on a C dialect where everything is flattened. JSON and other trees in particular. Binary heaps are flat, merge sort and iterator heaps are absolutely great, can build LSM databases with that. Stacks, circular buffers, hash maps, et
248.
▲
by
gritzko
2y ago
Within my current project, I use a special C dialect. So, I have to write a lot of explanatory text for those who dare to use it. And even in solo projects, I have been in situations when I had to check my own docs to understand what'
249.
▲
BRIX CRDT database architecture (research)
(replicated.wiki)
2 points
by
gritzko
2y ago
|
0 comments
250.
▲
by
gritzko
2y ago
That is the top question, actually. Given all the billions at stake.
251.
▲
by
gritzko
2y ago
*infernonce
252.
▲
Mastering simplicity: a nested ${templating} engine in 150 lines of C
(github.com)
3 points
by
gritzko
2y ago
|
0 comments
253.
▲
by
gritzko
2y ago
I recently coded a linear-probing hash map in C and I highly recommend you to use fuzz tests. These evolve naturally from unit tests: next step table unit tests, next step property test, next step fuzzing, all steps are incremental, hence e
254.
▲
by
gritzko
2y ago
The author describes the case of overlapping concurrent splices. It is a known funky corner case, yes. If we speak of editing program code, the rabbit hole is deeper as we ideally expect a valid program as a result of a merge. There was a p
255.
▲
by
gritzko
2y ago
Append-only is a very convenient corner case for skiplists to optimize. I call it "skiplogs" because it looks really different from the general case. An average node can be 3 bytes, for example.
256.
▲
by
gritzko
2y ago
Interesting. My students used Language Server Protocol data to make syntax-aware diffs. Very promising project. Unfortunately, everyone moved on. I am currently looking for ways to revitalize it. https://github.com/shishyand
257.
▲
by
gritzko
2y ago
I think I know the author of the bug :) But I use a C dialect that has bounds-checking. Abstractions leak anyway (see Meltdown/Spectre). https://meltdownattack.com/
258.
▲
by
gritzko
2y ago
That is a lexer, so yes, it accepts almost any sequence of valid tokens. Pure Ragel only parses regular languages, but there are ways.
259.
▲
by
gritzko
2y ago
I have the experience of writing parsers (lexers) in Ragel, using Go, Java C++, and C. I must say, once you have some boilerplate generator in place, raw C is as good as the Rust code the author describes. Maybe even better because simplici
260.
▲
by
gritzko
2y ago
Nice, nice, very nice. I immediately noticed they use tables where a plain buffer would suffice.
261.
▲
ABC buffers: as simple as possible, but not simpler
(github.com)
2 points
by
gritzko
2y ago
|
0 comments
262.
▲
by
gritzko
2y ago
Looks like we overlap somewhat https://github.com/gritzko/librdx I had some success embedding CRDT into LSM databases. Those are built around merge operators.
263.
▲
by
gritzko
2y ago
A "greatest common denominator" format for data synchronization. Like, JSON done right. CRDT and very algebraic. https://github.com/gritzko/librdx
264.
▲
RDX: Replicated Data EXchange Format
(github.com)
2 points
by
gritzko
2y ago
|
0 comments
265.
▲
RDX format: algebraic JSON with diff/patch/merge
(github.com)
4 points
by
gritzko
2y ago
|
0 comments
266.
▲
Skiplog: Low-overhead binary-search data structure
(old.reddit.com)
3 points
by
gritzko
2y ago
|
0 comments
267.
▲
Handling complexity without abstraction: Algebraic Bricklaying C
(github.com)
43 points
by
gritzko
2y ago
|
6 comments
268.
▲
by
gritzko
2y ago
Yes, I had a case of an SSD drive zeroing out over 2-3 years. Must also be true for SD cards.
269.
▲
by
gritzko
2y ago
Funnily enough, I am doing these experiments in 2024. All seems to work in the short run. Please wait a year for the results :) P.S. USB flash drives failed miserably, except for maybe Samsung FIT. Very unreliable.
270.
▲
by
gritzko
2y ago
From the minutes I conclude that Rust-in-the-kernel looks like an additional complexity tax. I mean, if you write an OS from scratch, you can use the full power of your language. Plastering it to the side of an already vast codebase creat
More ›