Y
HN Search
Hacker News Search
new
|
comments
|
top
|
jobs
matklad
searching PlanetScale…
1.
▲
2.
▲
3.
▲
4.
▲
5.
▲
6.
▲
6 ms
·
31.
▲
by
matklad
1y ago
Good catch of != thanks!
32.
▲
Don't Forget to Flush [video]
(youtube.com)
3 points
by
matklad
1y ago
|
0 comments
33.
▲
by
matklad
1y ago
This scheme _can_ be made to work in the context of Cargo. You can have all of: * Absence of lockfiles * Absence of the central registry * Cryptographically checksummed dependency trees * Semver-style unification of compatible dependencies
34.
▲
by
matklad
1y ago
To clarify, "specify @font-face inline" meant to say that the font's URL should be in the `head`, not the actual font bytes. The linked page includes `<link href="/fonts/GeistVF.woff2" rel="preload
35.
▲
by
matklad
1y ago
(I work on TigerBeetle) +100, context is the key thing, both TigerBeetle and rust-analyzer have strong culture of how the things are done, but the _specific_ culture is quite different, because they solve very different problems. That being
36.
▲
by
matklad
1y ago
I used to do frontend development ([1], [2]), now I am more of a database person ([3]), though it mostly is just prompting llvm to generate the right code! [1] https://github.com/intellij-rust/intellij-rust [2] https:
37.
▲
by
matklad
1y ago
To add to what aphyr says, you generally need three components for generative testing of distributed systems: 1. Some sort of environment, which can run the system. The simplest environment is to spin up a real cluster of machines, but idea
38.
▲
by
matklad
1y ago
Oh, important clarification from andrewrk( https://lobste.rs/c/tf6jng ), which I totally missed myself: this isn't actually a dereference of uninitialized pointer, it's a defer of a pointer which is explicitly
39.
▲
by
matklad
1y ago
Note that this works because we have strict serializability. With weaker consistency guarantees, there isn't necessarily a single global consistent timeline. This is an interesting meta pattern where doing something _harder_ actually s
40.
▲
by
matklad
1y ago
From the user's perspective, this doesn't matter at all. Zig is implementation detail, what we actually ship is a fully statically linked native executable for the database, and "links only libc" (because thread locals!)
41.
▲
by
matklad
1y ago
See https://news.ycombinator.com/item?id=44201189 . We did have one bug where Rust would've saved our bacon (instead, the bacon was saved by an assertion, so it was just slightly crispy, not charred). EDIT: But, yeah, t
42.
▲
by
matklad
1y ago
Just to clarify, our _model_ totally assumes bit/byte error! It's just that our fuzzer was buggy and wasn't actually exercising those faults!
43.
▲
by
matklad
1y ago
Note that that's a bug in the client, in the Zig-java FFI code, which is inherently unsafe. We'd likely made an a similar bug in Rust. Which is, yeah, one of the bigger technical challenges for us --- we ship language-native libra
44.
▲
Elm Test Distributions
(martin.janiczek.cz)
2 points
by
matklad
1y ago
|
0 comments
45.
▲
by
matklad
1y ago
I'd flip it over and say that C++ has overloading&SFINAE to enable polymorphism which it otherwise can't express.
46.
▲
by
matklad
1y ago
Yeah, that one Zig can not do, hence "-lite".
47.
▲
by
matklad
1y ago
>I'm not saying it may not have other problems, but that is very novel. Just to explicitly acknowledge this, it inherits the C++ problem that you don't get type errors inside a function until you call the function and, when tha
48.
▲
by
matklad
1y ago
> Dependent types are types that depend on values. Like this? fn f(comptime x: bool) if (x) u32 else bool { return if (x) 0 else false; }
49.
▲
by
matklad
1y ago
The thing is, this is not type-level programming, this is term-level programming. That there's no separate language of types is the feature. Functional/imperative is orthogonal. You can imagine functional Zig which writes Pa
50.
▲
by
matklad
1y ago
>for Zig enthusiasts, the set of features that Zig has appeals to them. Just like enthusiasts of every programming language. I find it rather amusing that it's a Java and a Rust enthusiast who are extolling Zig approach here! I am n
51.
▲
by
matklad
1y ago
The second one. `git clone` only gets slower with time, so it's important to optimize for it.
52.
▲
by
matklad
2y ago
Was waiting for this comment :P The API used handles string interpolation correctly: the string literal is parsed at compile time, and the interpolated arguments are never concatenated or escaped, and end up directly as an element of arv ar
53.
▲
Majjit LSP
(matklad.github.io)
3 points
by
matklad
2y ago
|
0 comments
54.
▲
by
matklad
2y ago
I was not actually aware of the paper, and it is indeed pure gold, thanks for linking it. It is _also_ extremely timely, as with my current project (TigerBeetle), we are exactly at the point of transition from first-principles back-of-the-e
55.
▲
by
matklad
2y ago
And https://rust-analyzer.github.io/blog/2020/07/20/three-archit... Is a must-read if you are to build your own LSP server!
56.
▲
by
matklad
2y ago
The answer is clear: just don’t have a malloc implementation in your process' address space!
57.
▲
by
matklad
2y ago
* https://github.com/matklad/config/blob/a6ee2271a303fd4e6ea50... * https://github.com/matklad/config/blob/a6ee2271a303fd4e6ea50...
58.
▲
by
matklad
2y ago
Do you have a model problem which is tricky to shrink? I implemented a stupid simple shrinker for arbitrary, and I’d love to know a specific example where it fails to shrink in a good way: https://github.com/matklad/arb
59.
▲
by
matklad
3y ago
For comparison, this is how the message looks when wrapped manually: https://github.com/matklad/repros/commit/7d7dc3e3539e8cc68e5... (Every time I see someone advocating for _not_ wrapping plain text formats,
60.
▲
by
matklad
3y ago
>I don't know of an interface other than email that doesn't wrap them. Here are some common examples: 1. GitHub's single commit view word-wraps at monitor width, not at a reasonable line length: https://github.c
More ›