Recent submissions

Comment · 1 month ago
To repurpose a famous quote - all benchmarks are wrong, but some are useful
Comment · 1 year ago
I think so but it doesn’t really matter. It’s far faster to apply at the border anyway.
Comment · 1 year ago
This is not remotely true. The gap between them as players far exceeds the gap elsewhere, combined, many times over.

People forget Kerr was a bad GM

Comment · 1 year ago
On one of these less forgiving architectures, how does one write programs that read some bytes off the network, bitcast them into a struct, and do something based on that?

On x86 you would use a packed struct that matches the wire protocol.

Wouldn’t this require extra copying if member reads were forced to be aligned?

Comment · 2 years ago
Quite the opposite actually. Simons and similar practitioners eschewed fundamental valuation techniques. Buffett is possibly a better example.
Comment · 2 years ago
To add, the set of observable mutations (beneficial or not) that occur as a result of a single point mutation is in all likelihood an extremely tiny subset of the set of all observable mutations - even after “deduping” for the observed effect.
Comment · 2 years ago
It’s an intentionally misleading tweet.

To simplify, It’s saying, if the genome were a string of some length, for any possible byte b and byte position i, there exists a person whose genome has b at position i. Unlike normal character strings, there are only 20 or so valid characters (proteins) encoded by 3 “bytes” (nucleotides) each. So you’re looking at O(10 billion) values of (i, b) that would still keep the string well-formed in its 3-bytes-per-character encoding.

Most importantly, it’s not saying anything about having some bytes b1 and b2 at the ith and jth positions or any generalization thereof.

Comment · 2 years ago
Ah okay that makes sense to me
Comment · 2 years ago
Interesting - is there a type safe way to do this? vector<variant<>>? and/or a custom “vector allocator” to hide the details?
Comment · 3 years ago
> CMake doesn't fetch your dependencies for you and ensure they're the version that your code is compatible with.

That’s a little too harsh. You can certainly make it do that via a combination of git tags (to build from source) and CMake modules/Find*, but yes, it’s much more cumbersome than cargo/npm/go

Comment · 3 years ago
Very cool! What tool did you use to simulate this? What does the code/query (if any) look like?
Comment · 3 years ago
(Author here) Thanks for explaining this more succinctly than I can :)

Just one nitpick:

> decent amount of stuff that has to be done in main before you run _start

should read

> decent amount of stuff that has to be done in _start before you run main

Analogously, cleanup code like running global destructors usually happens in _start/CRT after main returns, but I skipped that in the post for the sake of brevity.

Comment · 3 years ago
Interesting! I liked the configurability, but it was horribly slow with SSL. Possibly due to uncached DNS lookups but I didn’t dig too deep.
Comment · 4 years ago
Good answer. OP didn’t specify “blew your mind in a good way”.
Comment · 4 years ago
Out of curiosity, what field do you work in that a couple of cycles matters/is measurable?

Live from the official Hacker News API

A modern reader for Hacker News · SvelteKit + Skeleton