Y
HN Search
Hacker News Search
new
|
comments
|
top
|
jobs
Leszek
searching PlanetScale…
1.
▲
2.
▲
3.
▲
4.
▲
5.
▲
6.
▲
7 ms
·
31.
▲
by
Leszek
2y ago
Related is the raven paradox ( https://en.wikipedia.org/wiki/Raven_paradox ), where for the statement "All of my hats are green", seeing _anything_ non-green that is not one of my hats is evidence in favour of
32.
▲
by
Leszek
2y ago
Agreed, NuN tagging is an awesome use of the NaN space, and it has the same benefits of being a no-op for pointers. I would only consider this for cases where NuN tagging is impossible, e.g. some system that needs more pointer bits than NuN
33.
▲
by
Leszek
2y ago
Because Unicode 1.0 had already defined characters both at the start and end of the 16-bit range ( https://www.unicode.org/versions/Unicode1.0.0/CodeCharts1.pd... ), and UCS-2/UTF-16 had to be compatible with t
34.
▲
by
Leszek
2y ago
To be fair, pointer compression is morally and memory-wise similar to indexing a vector.
35.
▲
by
Leszek
2y ago
I've always been partial to this visual: https://analyticsindiamag.com/wp-content/uploads/2018/12/sim...
36.
▲
by
Leszek
2y ago
Hi also from Germany - works fine here
37.
▲
by
Leszek
2y ago
Ah metrics, always a great thing to optimise for. The article does mention that there was a "high degree of agreement with the expert physicians in their grading", but it's nevertheless sad how much the report focuses on time
38.
▲
by
Leszek
2y ago
Yes: https://www.weforum.org/agenda/2024/07/rising-sea-levels-glo...
39.
▲
by
Leszek
2y ago
Use `git log --first-parent` and if you merge, write useful merge commit messages. There, I've resolved the difference between merge and rebase forever.
40.
▲
by
Leszek
2y ago
No one is surprised. People are saying that this _could_ be an Android app, and _should_ be an Android app -- and now it's been shown that it _already is_ an Android app.
41.
▲
by
Leszek
3y ago
You should have read a few more lines of that source - it also sends an "active" message to the tab, which is what adds and removes the copy/cut/paste event handlers.
42.
▲
by
Leszek
3y ago
13th-century Chinese rockets weren't landing on the moon either so both are simplifications.
43.
▲
by
Leszek
3y ago
I'm pretty sure it isn't, the write up only uses 517 to get an arbitrary write primitive and then did a pretty standard chain into a sandbox escape via wasm (disclaimer - I work on V8).
44.
▲
by
Leszek
3y ago
I've always preferred this alternative rewrite: https://imgs.xkcd.com/blag/spirit_rewrite_unknown_author.png
45.
▲
by
Leszek
3y ago
That's a different bug (CVE-2024-0517 vs CVE-2024-0519)
46.
▲
by
Leszek
3y ago
If you do any kind of probing other than linear probing (e.g. quadratic probing) this approach doesn't work anymore, because your collisions are no longer densely grouped together.
47.
▲
by
Leszek
3y ago
A system that tells you the location of (actively flashing) police cars sounds somewhat abusable.
48.
▲
by
Leszek
3y ago
It's a very clear infinite recursion at best, and a buggy definition for odd `n` if that's fixed. I wouldn't imagine making either error if just looping...
49.
▲
by
Leszek
3y ago
With out of order execution, speculation, and SMT, it's hard to say if an instruction stalling means that the CPU can't process something else; CPUs are complex parallel streams of processing and trying to think of them in linear
50.
▲
by
Leszek
4y ago
I like the mental image of this being a very precise matching -- as the sun traces across the sky, the responsibility of on-call passes from desk to desk, town to town, country to country; two engineers on a boat in the Atlantic race to kee
51.
▲
by
Leszek
4y ago
Same place any other distance-based potential energy (like gravity) comes from: being far away from the magnets -- and on repeated firings of a ball, from pulling it away from the magnets.
52.
▲
by
Leszek
4y ago
It's a bit confusing, I agree -- Oilpan is part of the V8 sources for shipping-the-org-chart reasons, but it isn't actually the GC used by V8 itself for JavaScript objects and the JS heap, it's the GC used by Blink for DOM ob
53.
▲
by
Leszek
4y ago
To be clear, maybe I was a bit negative, but I was just talking about the technical intro. The rest of the article on not accidentally leaking references through globals and timers, and what tools to use to catch them, is pretty solid.
54.
▲
by
Leszek
4y ago
You're talking about semantics and you're totally right, there's plenty of cases in the implementation where things are not copied when they should be (string slices) or copied when they shouldn't be (boxed double writes
55.
▲
by
Leszek
4y ago
From the article, "Data types stored in the stack include: [...] string"
56.
▲
by
Leszek
4y ago
V8 dev here. Yes, please avoid leaking memory -- but the intro to this article is incorrect in almost all major points: > In JavaScript, primitives are assigned/passed by value and not by reference. If you assign a primitive type&#x
57.
▲
by
Leszek
4y ago
You're looking at Oilpan, which is the C++ GC for Blink, not the one for V8. But, the V8 one is very similar in many respects (the same team works on both), including linear allocation buffers.
58.
▲
by
Leszek
4y ago
Browsers do a fast partial parse to figure out things like scoping and variable names, but skip actually building an AST so it's still a lot quicker than full parsing (e.g. https://v8.dev/blog/preparser )
59.
▲
by
Leszek
4y ago
Oh weird, I was just reading about that.
60.
▲
by
Leszek
5y ago
It's because `f = new Number(0)` is a boxed number (therefore it's an object), and `!f` calls ToBoolean on this object which unconditionally returns true ( https://tc39.es/ecma262/#table-toboolean-conversions )
More ›