Y
HN Search
Hacker News Search
new
|
comments
|
top
|
jobs
dbaupp
searching PlanetScale…
1.
▲
2.
▲
3.
▲
4.
▲
5.
▲
6.
▲
6 ms
·
31.
▲
by
dbaupp
2y ago
https://qntm.org/abolish explores this idea in a fair amount of detail.
32.
▲
Show HN: No-nonsense multiple QR-code generator
(huonw.github.io)
2 points
by
dbaupp
2y ago
|
0 comments
33.
▲
by
dbaupp
2y ago
Semgrep also a CLI, that can run offline and without a cloud account. At work, we use it for enforcing a bunch of custom lint rules configured as a yaml file committed directly to our repo, entirely cloud-free. (I may be overreading your co
34.
▲
by
dbaupp
2y ago
Thanks for the up-to-date info. > .NET 6 (I’m under the impression that this was released in 2021, whereas the linked Tokio post is from 2020. Hopefully that frames the Tokio post’s more accurately.)
35.
▲
by
dbaupp
2y ago
In addition to what you say, it can also be easier for a (appropriately-skilled) human to verify a small program than to verify voluminous parsing output, plus, as you say, there's the semi-automated "verification" of a very-
36.
▲
by
dbaupp
2y ago
I have a feeling we’re talking at cross purposes here: I was actively trying to write incorrect code. This post isn’t about memmap2 crate specifically at all, it just happens to be a convenient way to get the exact (“incorrect”) syscall I w
37.
▲
by
dbaupp
2y ago
> That probably should have been the first thing to try. The point of the post is not "how to make mmap work best with async/await" or "how to optimise mmap with async/await", but exploring the consequence
38.
▲
by
dbaupp
2y ago
Do you have info about current (production) implementations that increase the number of workers? In https://tokio.rs/blog/2020-04-preemption#a-note-on-blocking (2020), there's reference to .NET doing this, and an
39.
▲
by
dbaupp
2y ago
As the author, I don't think there's a clear definition of "blocking" in this space, other some vibes about an async task not switching back to the executor for too long, for some context-dependent definition of "to
40.
▲
by
dbaupp
2y ago
Yes, it couldn't not block, it's obvious... but I've encountered non-trivial amounts of "magical thinking" around both async/await ("go-fast juice") and mmap ("go-fast juice") separately ,
41.
▲
by
dbaupp
2y ago
(Author here) Thank you, you've expressed one of my goals with doing this sort of investigation/getting this data far better than I have. :) It's something that's feels obvious once the dots are connected, but I was pret
42.
▲
by
dbaupp
2y ago
Yeah, of course a synchronous call that might block the thread is blocking, I agree... but, if I didn't have the context of "we're in a comment thread about a blog post about mmap", I'm pretty sure I wouldn't
43.
▲
by
dbaupp
2y ago
(Author here.) Good point. Do you think the difference will be observable? Will it be observable on an SSD (vs. HDD)?
44.
▲
by
dbaupp
2y ago
(Author here) > The singled thread async "traditional IO" example is NOT single threaded The threads backing the single-threaded IO are an implementation detail of fulfilling the `.read().await` calls. The key is that there
45.
▲
Async hazard: MMAP is blocking IO
(huonw.github.io)
6 points
by
dbaupp
2y ago
|
0 comments
46.
▲
Ethically Sourced Lena Picture
(mortenhannemose.github.io)
46 points
by
dbaupp
2y ago
|
25 comments
47.
▲
GitHub tip-hub: habitual permalinks
(huonw.github.io)
2 points
by
dbaupp
2y ago
|
0 comments
48.
▲
by
dbaupp
2y ago
Little o is still an asymptotic statement: it doesn’t have to apply for small n. A definition of f(n) = o(g(n)) is something like lim (n -> infinity) f(n)/g(n) = 0 Or, in other words, for sufficiently large n , g grows fast
49.
▲
by
dbaupp
2y ago
Interesting idea. It looks like powers of larger primes are currently rendered with the exponent ring overlapping the "main" rings, e.g. 7 and 49 look the identical, while 343 has an overlapping 2 and 3 knot.
50.
▲
by
dbaupp
3y ago
Thanks for the kind words and the insight!
51.
▲
by
dbaupp
3y ago
Yes, the data is the bytes 00, 01, …, FF repeating, and that pattern is highly visible with a power-of-2 encodings, but not visible with other bases (for similar reasons that 0.1 as a (binary) float doesn’t behave as people expect).
52.
▲
by
dbaupp
3y ago
The base 10 is referring to conversion of bytes into a long decimal (base 10) integer, not that it's being stored in chunks of 10 bits. But yes, you're right, it would be reasonable to think of this as encoding the bytes in base 1
53.
▲
by
dbaupp
3y ago
Good catch! I should've tested. I've added a paragraph to https://huonw.github.io/blog/2024/03/qr-base10-base64/#extre... about this.
54.
▲
by
dbaupp
3y ago
Good point! I've added an analysis of this and other bases to https://huonw.github.io/blog/2024/03/qr-base10-base64/#fn:ot...
55.
▲
by
dbaupp
3y ago
(I've added an analysis of this and other bases to the article: https://huonw.github.io/blog/2024/03/qr-base10-base64/#fn:ot... )
56.
▲
by
dbaupp
3y ago
I implicitly ignored encoding schemes like base 36 and 32 (and 16, referenced elsewhere in the thread) because they're not as good as the schemes referenced in the post. The best you can get that's fully URL safe with Alphanumeric
57.
▲
by
dbaupp
3y ago
Hacker News strips leading digits targeted at "listicles" (e.g. "10 ways to fizz buzz" -> "Ways to fizz buzz"), so tricks are required if the digits are actually important.
58.
▲
by
dbaupp
3y ago
Ah, it is a good point that it might be worth comparing to, but it is far worse. Abstractly, it requires approximately log(45)/log(16) output bits per input bit, an overhead of 37%. Making this more concrete: each input byte is encoded
59.
▲
by
dbaupp
3y ago
Yeah, I had had the same question! One of my earlier articles experiments with this: https://huonw.github.io/blog/2021/09/qr-error-correction/ Figure 8 and its surrounding section are the undamaged case.
60.
▲
We Chose Pants
(klaviyo.tech)
1 points
by
dbaupp
3y ago
|
0 comments
More ›