Viewing profile — nelhage
nelhage
HN member- Joined
- Sun, Feb 17, 2008, 3:28 AM UTC
- HN karma
- 1,489
- Public activity
- 68 items
- HN profile
- View on Hacker News ↗
About nelhage
No profile information was provided.
Recent public activity
-
comment
Comment #43322110
(author here) > The problem is 95% about laying out the instruction dispatching code for the branch predictor to work optimally. A fun fact I learned while writing this post is tha…
-
comment
Comment #43321831
> Btw, what about some clang18.tc comparison (post author here) Oh, this is something I could have called out explicitly: The tail-calling interpreter relies on a feature (the `pre…
-
comment
Comment #30892265
(author here) I actually did a v0 writeup in Go, but I wanted a language that had a bit more powerful type system and more support for a fluent/functional style in some of the expr…
- story
- story
-
comment
Comment #23366978
We used precisely this optimization in [sorbet]( https://sorbet.org ), a brand-new type checker for Ruby, which also contains a high-performance LSP server. We wrote the entire thi…
- story
-
comment
Comment #10485576
Better yet, just run this on a t2.micro on a throwaway EC2 account. Doesn't matter if they own the box, they get literally nothing they couldn't get for free from Amazon anyways.
-
comment
Comment #10112055
zero-width matches (and empty lines) were a huge source of stupid edge-case bugs in livegrep[1], and being rigorous about maintaining this mental model definitely helped a lot. [1]…
-
comment
Comment #10112042
I get into this a bit later on, but I think the exact same model applies to pointers: You're much better off in most cases thinking of pointers as pointing at the zero-width points…
- story
-
comment
Comment #10057257
Live data, but they're stored redacted, and/or with sensitive data (e.g. credit card numbers) replaced with opaque tokens that reference an encrypted store that's carefully access-…
-
comment
Comment #10056085
This is a great question, and it's definitely a problem we have. We don't have a single answer we use for every system we work on, but we employ a few common patterns, ranging from…
-
comment
Comment #10055970
Our testing running infrastructure spins up a pool of database instances on each worker machine, one for each worker process. The test spinup and teardown code handles schema manag…
- story
- story
-
comment
Comment #9367889
Why do we think the blur is sufficient? The blur loses information, but there are presumably a small number of watermarked versions, and a lot of frames. It's almost certainly poss…
- story
-
comment
Comment #7105791
You're getting that even with a statically-compiled binary? What's the output of "file ./level0"?
-
comment
Comment #5339282
(author here) Yeah, there are a lot of such tools, and they can be invaluable. In my experience, though, if you're working with a large, complex system, including pieces like Ruby …
- story
-
comment
Comment #5172925
We've been pretty happy so far. There have been a few rough edges getting it up and keeping it running, but we've been very impressed with the performance so far. I've passed your …
-
comment
Comment #5172718
There isn't support. It's definitely something I've pondered. If you're interested in adding support, I'd be happy to hear from you at (my username) AT stripe.com.
-
comment
Comment #5172711
MoSQL will just throw any fields it doesn't recognize into a JSON "extra_props" field (if you ask it to). So everything will work fine, and existing SQL code (which doesn't know ab…
-
comment
Comment #5172670
They each have different advantages and strengths. MongoDB is great for failover and for rapid development or prototyping. SQL is great for reporting or analytics, since you can do…