Y
HN Search
Hacker News Search
new
|
comments
|
top
|
jobs
NobodyNada
searching PlanetScale…
1.
▲
2.
▲
3.
▲
4.
▲
5.
▲
6.
▲
13 ms
·
61.
▲
by
NobodyNada
10mo ago
That's exactly right. There's a really good article about it here: https://www.pagetable.com/?p=39
62.
▲
by
NobodyNada
10mo ago
Let's throw this into godbolt: https://clang.godbolt.org/z/qW3qx13qT is_divisible_by_6(int): test dil, 1 jne .LBB0_1 imul eax, edi, -1431655765 add eax, 71582788
63.
▲
by
NobodyNada
11mo ago
That's pretty close to escaping the Earth's gravity well, but not quite out, since the Moon is definitely still orbiting the Earth.
64.
▲
by
NobodyNada
11mo ago
Humans have not left Earth's gravity well. We've built probes that have, but humans have only gotten as far as orbit.
65.
▲
by
NobodyNada
11mo ago
> On one hand, the fact that the same sound can be named A# and Bb may be puzzling for a kid I think that, given the toy is (currently) diatonic, and doesn't really have any ability to visualize the chromatic scale (like a piano key
66.
▲
by
NobodyNada
11mo ago
That is fantastic, I love it! If I may submit an extremely pedantic music nerd bug report: at 46s in the video demo ( https://www.youtube.com/watch?v=qboig3a0YS0&t=46s ), the display should read Bb instead of A#, as the k
67.
▲
by
NobodyNada
11mo ago
If no references are involved, writing unsafe Rust is significantly easier than writing correct C, because the semantics are much clearer and easier to find in the documentation, and there's no insane things like type-based aliasing ru
68.
▲
by
NobodyNada
11mo ago
Every reverse engineer learns very quickly that "add [rax], al" has the machine code representation "00 00".
69.
▲
by
NobodyNada
11mo ago
> There's a "logical" bit order that these operations follow, which starts with the MSBit and ends with the LSBit Well, normally when bits are numbered, "bit 0" is the least significant bit. The MSB is usually wr
70.
▲
by
NobodyNada
11mo ago
CDs use 44.1kHz because your sample rate needs to be double the highest frequency you want to encode to avoid aliasing artifacts: https://en.wikipedia.org/wiki/Nyquist%E2%80%93Shannon_sampli... 20kHz is the top of the
71.
▲
by
NobodyNada
11mo ago
> publicly disclosing these for small resource constrained open source project probably creates a lot more risk than reward. You can never be sure that you're the only one in the world that has discovered or will discover a vulnerab
72.
▲
by
NobodyNada
11mo ago
> it's just silly to draw a a particular sharp line between Rust and Zig because they perform exactly the same (in terms of sound guarantees; we're ignoring any softer effects) for most top weaknesses. There is a very clear sha
73.
▲
by
NobodyNada
11mo ago
Limiting to the "top 5" vulnerabilities by number of CVEs feels like cherry-picking. It's true that spatial memory safety is lower-hanging fruit than temporal memory safety, sure; but the CVE list is dominated by vulnerabilit
74.
▲
by
NobodyNada
11mo ago
> As a small example wrt Rust: resetting an arraylist/vector while reusing its memory is a weirdly complicated trick A bit of a nitpick here: the trick is for creating a new vector of a different type , that reuses the allocation o
75.
▲
by
NobodyNada
11mo ago
> I'm not familiar with the guy Graydon Hoare is the creator of Rust. So of course he likes Rust. And of course his blog post is going to be comparing Fil-C to Rust. Anyone can write a blog post evaluating Fil-C, but only Graydon ca
76.
▲
by
NobodyNada
11mo ago
I think that both languages deserve to be evaluated on their technical merits, of which there are many. I would say they are both very well-designed languages that occupy different points in the design space and each have unique innovations
77.
▲
by
NobodyNada
11mo ago
> people who didn't like Rust flocked to Zig as an alternative, and were keen to promote it as an alternative to Rust by criticising Rust, as wider usage would provide them more of an ecosystem to use in their own Zig programs. >
78.
▲
by
NobodyNada
11mo ago
I was sloppy with my wording, I should have said "it doesn't run all the futures to completion". > making them all tasks means that they are all polled and therefore continue progressing until they are dropped. It doesn&
79.
▲
by
NobodyNada
11mo ago
> if tokio::select!() only accepted tasks (or implicitly turned any futures it receives into tasks, like Python's asyncio.gather() does) then it wouldn't have this problem? Yes, this is correct. However, many of the use cases f
80.
▲
by
NobodyNada
1y ago
Note that the courts ruled this technique invalid in Sega v. Accolade : https://en.wikipedia.org/wiki/Sega_v._Accolade But that was in a pre-DMCA world, before the anti-circumvention provisions gave these companies mo
81.
▲
by
NobodyNada
1y ago
> Stackful coroutines need more memory, because you need to pre-allocate large enough stack for the entire lifetime. With stackless coroutines, you only need the current state, but with the disadvantage that you need frequent allocations
82.
▲
by
NobodyNada
1y ago
> The Rust folks adopted async with callbacks Rust's async is not based on callbacks, it's based on polling. So really there are three ways to implement async: - The callback approach used by e.g. Node.js and Swift, where a fun
83.
▲
by
NobodyNada
1y ago
It's definitely not a collective singular, you say "the moving parts are", not "the moving parts is"; and "there are hard problems", not "there is hard problems". Either way, the usage in the ori
84.
▲
by
NobodyNada
1y ago
That's not correct; you can say sentences like "The only moving parts in a dishwasher are the two pumps, the sprayer arms, the water inlet valve, and the detergent dispenser"; or "there are only two hard problems in comp
85.
▲
by
NobodyNada
1y ago
This is because the final few minutes of a contended game are the most strategically complex, as the teams are fighting not just for scoring and control of the ball but also for control of the clock. Usually, the team that's behind is
86.
▲
by
NobodyNada
1y ago
Isn't one "recharge cycle" a full discharge / recharge? So charging from 68% to 75% at work would just be 7% of a cycle, and about the same amount of wear as if you'd skipped that top up and just fully charged at ho
87.
▲
by
NobodyNada
1y ago
> I was asked to relay this to binutils/LKML. > As of 2025, the following are in active use by a corporate entity other than Intel/AMD. > Any collisions with them should be avoided. What's the purpose of sending this
88.
▲
by
NobodyNada
1y ago
> But (if I understand correctly) these are checks implicitly added by the compiler. This is a dubious statement. In Rust, the array indexing operator arr[i] is syntactic sugar for calling the function arr.index(i), and the implementatio
89.
▲
by
NobodyNada
1y ago
It's interesting to consider (and the whole page is very well-reasoned), but I don't think that the argument holds up to scrutiny. If such an automatic bounds-check fails, then the program would have exhibited undefined behavior w
90.
▲
by
NobodyNada
1y ago
> Follow the car ahead of me, if it’s autonomous. The statement in the article is not conditional: > follow the car in front of them (if that car is an autonomous one, it will know exactly when to continue or stop) If the car in front
More ›