Y
HN Search
Hacker News Search
new
|
comments
|
top
|
jobs
rcxdude
searching PlanetScale…
1.
▲
2.
▲
3.
▲
4.
▲
5.
▲
6.
▲
3 ms
·
1.
▲
by
rcxdude
5d ago
Please formulate and relate this to a concrete prediction of something that a current frontier AI cannot do (that a human can).
2.
▲
by
rcxdude
7d ago
Well yeah, but I would like to be able to make my own safe that is at least very difficult to crack if someone steals it. Companies are seemingly hellbent on stopping me owning the stuff they want to sell to me regardless, I might as well b
3.
▲
by
rcxdude
7d ago
But the effort to do so was then entirely duplicated for other editors. LSP turns an N*M effort into an N+M effort, the upshot of which being far more complete coverage for both editors and languages.
4.
▲
by
rcxdude
7d ago
I'm not sure what this has to do with my comment. I am aware of all of this. It would be nice if an infinite loop was defined to be 'do nothing, indefinitely'. On architectures with an instruction that works that works precis
5.
▲
by
rcxdude
7d ago
The bizarre thing is that the C rule is pretty deliberately narrowly scoped to still enable those optimizations, and the new C++ definition pretty much follows it except for this extra bit they tagged on that no-one was asking for.
6.
▲
by
rcxdude
7d ago
You can write very low-level code without mucking around with assembly. For example, it's obvious that ARM's cortex-M cores were designed to be possible to code for entirely in C. For example, the interrupt mechanism follow the pl
7.
▲
by
rcxdude
7d ago
Any program in an OS only gets as much resources allocated to it as the OS allows (OK, in any general-purpose OS written in the past few decades). sched_yield() doesn't actually reduce that allocation in most cases, anyhow: in fact it
8.
▲
by
rcxdude
7d ago
I would expect them to be the same or for the former to be worse. It's rarely useful to call sched_yield at all, but calling it repeatedly in a loop seems more likely to expose bad behavior in a scheduler than improve the interaction.
9.
▲
by
rcxdude
7d ago
This is true. Static initialization will often generate calls to lock functions and that can be a faff to deal with. But I don't see what the point of the sched_yield() is. Using it at all is already a code smell and calling it repeate
10.
▲
by
rcxdude
7d ago
It being undefined behaviour before doesn't make all possible definitions of that behaviour equally reasonable. The strangest thing to me is that I don't know who this behaviour definition is for . Infinite loops like this are a
11.
▲
by
rcxdude
7d ago
I do wonder if any of the language servers that insert implied type annotations would ever also show things like destructor calls in a similar manner. It seems like it would be quite useful.
12.
▲
by
rcxdude
7d ago
Those do for the most part correspond to operations which make sense in an embedded context, though.
13.
▲
by
rcxdude
7d ago
At some substantial risk to the important key material, yeah. You also don't get an offline backup.
14.
▲
by
rcxdude
7d ago
Why would you make each device have the same pressure inside it? That's a bit like hardcoding the same password in each one. Any attacker is only going to have one shot on the actual device they care about no matter how much money they
15.
▲
by
rcxdude
8d ago
Rp2350s are advertised as having quite a few anti-tamper functions. They had a bounty when it launched to find similar vulnerabilities and they worked to patch the ones that were found. This is a lot more credible than a lot of advertised a
16.
▲
by
rcxdude
8d ago
And you'd need to have a way to know what the pressure inside is beforehand.
17.
▲
by
rcxdude
8d ago
Working for millions doesn't imply a good hit rate. Google could release a feature that worked 1% of the time and manage that, as well as barely noticing if it wipes out 10% of their users. My actual experience is that almost all the p
18.
▲
by
rcxdude
8d ago
If they actually worked like SSH keys that would solve some of the problems with them. (like keeping a backup that you can still enroll into new accounts without it being present).
19.
▲
by
rcxdude
8d ago
Security as a field would be a lot less obnoxious if it did not neglect availability as an important facet of security. A 'security' system that obstructs legitimate access is also failing at its job.
20.
▲
by
rcxdude
8d ago
They still exist, though. And in my experience people in vulnerable positions have somewhere between zero and one phones at any given time, without necessarily any good continuity between them.
21.
▲
by
rcxdude
8d ago
Do you have a plan for getting home without access to any of your accounts? And one of the problems with passkeys is that it's unreasonably difficult to keep a backup key.
22.
▲
by
rcxdude
8d ago
Not necessarily what you want in that case either: it's a common pattern in cases where you want the system to halt until you can attach a debugger to inspect the state. A halt/abort instruction that trashes that state would be un
23.
▲
by
rcxdude
8d ago
they have instructions for implementing them, but the important point here is that functions are still only defined by instructions that are executing between a call and ret instruction (or their equivalent more spelled-out equivalent opera
24.
▲
by
rcxdude
8d ago
If it's truly unreachable then it's not likely to be a problem. If it is reachable and it's emerging from some macros and templates then I would be more inclined want a warning for it.
25.
▲
by
rcxdude
8d ago
It just spins the CPU in the loop, stopping execution from progressing. Technically, whether this fully halts the system depends on what else is going on: you might need to fully disable interrupts before entering the loop to get a full hal
26.
▲
by
rcxdude
8d ago
The biggest headache will probably be it getting emitted in inappropriate contexts: where there is no actual means to sched_yield for whatever reason (bare metal, kernel, whatever). The second is just that the behaviour of the infinite loop
27.
▲
by
rcxdude
8d ago
That's more why you would want them to be defined in the first place.
28.
▲
by
rcxdude
8d ago
I suspect it's more a chain of: emitting the ret is unnecessary because the infinite loop will never return -> emitting the infinite loop is unnecessary because there's no side effects within it and it's undefined behaviou
29.
▲
by
rcxdude
8d ago
Yeah, that's what UB does. You get to see the arbitrary behaviour of the underlying machine with whatever the compiler produces.
30.
▲
by
rcxdude
8d ago
With UB the compiler has no particular requirement to emit the 'ret'. (or, in the example, anything at all for the function)
More ›