Nelson Elhage
Everything, newest first — across every channel. Their profile → · Subscribe
Hiding
21 October
19 October
16 October
15 October
- New reposyncflowy
13 October
23 September
26 August
14 July
3 July
26 June
17 June
15 June
3 May
16 April
23 March
From one piece From error-handling to structured concurrency 2 beliefs, in the piece's order there
-
Their words
writing programs in this style makes it much easier to write correct and safe concurrent code
From error-handling to structured concurrencyblog.nelhage.com
-
Their words
But I struggle to envision a general, composable, concurrent paradigm without one.
From error-handling to structured concurrencyblog.nelhage.com
11 December 2025
21 October 2025
From one piece Solving regex crosswords with Z3 2 beliefs, in the piece's order there
-
Their words
I suspect the pattern generalizes: If Z3 has first-class support for your problem domain, it's worth starting there!
-
korrents.com
Augmenting a general-purpose solver with domain-specific heuristics commonly gives it a meaningful performance boost.Their words
My sense is that this hybrid is fairly common in practice; solvers aren't magical and if you can deduce additional structure using domain-specific analysis, it will often give the solver an important boost.
4 July 2025
From one piece The ITTAGE indirect branch predictor 3 beliefs, in the piece's order there
-
korrents.com
Using a neural network is likely to become easier than designing a custom-tuned prediction algorithm for many tasks.Their words
in 2025 it might end up being easier to just throw a neural net at the problem, instead of a custom-designed-and-tuned prediction algorithm!
-
korrents.com
Most conditional branches in software are strongly biased toward one outcome rather than close to fifty-fifty.Their words
most branches are heavily "biased" one way or another - e.g. a "branch taken" rate of 10% or 90% is more common than 50%
-
korrents.com
Modern CPUs can now predict the indirect dispatch jump in a bytecode interpreter loop with high accuracy.Their words
Modern CPUs mostly no longer struggle to predict the bytecode-dispatch indirect jump inside a "conventional" bytecode interpreter loop.
9 March 2025
From one piece Performance of the Python 3.14 tail-call interpreter 3 beliefs, in the piece's order there
-
Their words
I'm hopeful this framework will turn out to be a much more robust style for writing performance-sensitive code, especially over time and as compilers evolve.
-
Their words
However, with so many different software projects out there, each moving so rapidly and depending on and being used by so many other projects, it becomes practically-inevitable that some regressions "like that one" happen, almost constantly.
-
Their words
It's easy to get impressive-looking results if you're comparing against a poorly-tuned baseline, and that observation turns out to explain a surprising fraction of supposed improvements.
5 March 2025
1 March 2025
27 January 2025
From one piece Building personal software with Claude 3 beliefs, in the piece's order there
-
Their words
Also, current models, while impressive, still fall well short of expert human performance.
-
korrents.com
AI tooling and interface design lags behind the underlying models' actual capabilities.Their words
Overall, though, this experience reinforced my belief that the tooling and interface design around LLMs is lagging way behind the actual capabilities, and is an area of active experimentation and development, even aside from any future model improvements.
-
korrents.com
As AI makes code cheaper to produce, understanding and architectural design become more valuable.Their words
Thus, code is cheaper than ever, but I suspect that insight and good architectural design and understanding, at least for now, will become more valuable than ever.
3 July 2024
-
Their words
I suspect - but haven't verified - that in many corpora, we will encounter fairly bimodal Jaccard values - two clusters, near 1 and 0.
21 May 2024
From one piece Stripe's monorepo developer environment 3 beliefs, in the piece's order there
-
korrents.com
Per-engineer productivity inevitably declines somewhat as an organization and its codebase growTheir words
It is almost inevitable that per-engineer productivity drops to some extent as an organization and codebase grows, even though it's also nearly-impossible to quantify that effect.
-
korrents.com
Rapidly growing organizations need a developer environment that works well out of the box for new engineersTheir words
In a rapidly growing organization, it's much more important to have a developer environment that "just works" out of the gate, with minimal setup pain for new engineers.
-
korrents.com
Reliable, stable developer tooling matters more than which specific technical choices a team makesTheir words
The best tooling in the world will struggle to make up for "regularly losing a day debugging your environment," and so getting that aspect right can easily outweigh almost any other decisions you make.
7 May 2024
5 April 2024
4 April 2024
28 March 2024
26 January 2024
7 January 2024
18 December 2023
From one piece Performance engineering, profilers, and seeing the invisible 2 beliefs, in the piece's order there
-
korrents.com
A profiler measures time already spent in an operation, not how much time would be saved by optimizing it.Their words
a profile tells you how much time a program spent in a given operation; but not how much time it would spend if you optimized that operation.
-
korrents.com
Profilers show where time is spent but not which of that time can feasibly be reduced or is worth optimizing.Their words
Profilers can only show you "what is there"; skillful performance engineering requires understanding the information that shapes and informs the profile but is "not there" in the profile itself.
11 December 2023
8 December 2023
8 November 2023
9 October 2023
7 August 2023
24 July 2023
20 July 2023
15 April 2023
1 April 2022
23 February 2022
31 May 2021
21 May 2021
30 March 2021
15 July 2020
12 March 2020
1 March 2020
Nothing matches.
What is a korrent?
A korrent is a belief a person has stated in their own words: one sentence stating the claim, backed by a quote and a source, kept at korrents.com.
Under a name here, the quoted block is what they actually said. The korrent beneath it is the claim those words support, in korrents' wording — tap it to see the record, its source, and who else holds it.
Nobody here wrote their own korrents. They are compiled from public statements, and a person can change their mind, which is recorded too.
About the English under a post
Some people here publish in a language other than English. Where they do, this site shows a machine translation beneath the post, in this typeface — the site's own, not theirs.
The post itself is never changed, moved or hidden: what is set in the serif above is exactly what the person published, and it is what to quote them on. A translation can be wrong in ways that matter, especially about tone.
Only the post's own words are translated. A quoted post, a linked article and a belief on korrents.com are left in their original language.