Y
HN Search
Hacker News Search
new
|
comments
|
top
|
jobs
jkrejcha
searching PlanetScale…
1.
▲
2.
▲
3.
▲
4.
▲
5.
▲
6.
▲
8 ms
·
61.
▲
by
jkrejcha
1y ago
Part of the problem with namespaces in general comes from setuid/setgid binaries. Now, nosuid helps, but the argument goes (and this is why dropping privileges on Linux sometimes requires root) that blocking setuid can actually increas
62.
▲
by
jkrejcha
1y ago
strerror, at least on glibc, was only made thread safe back in 2020[1], which is really not that long ago in the grand scheme of things. It was WONTFIXed when it was initially reported back in 2005(!). There have only been 10 glibc releases
63.
▲
by
jkrejcha
1y ago
If a full root exploit is leveraged, it's already game over already, basically anything at that point is just going to be rearranging deck chairs.
64.
▲
by
jkrejcha
1y ago
It's not your (unprivileged user account's) place to decide the security posture of the entire system, that's why you're running into issues with root. Even Yama, an LSM, requires root (or de facto equivalent) for initia
65.
▲
by
jkrejcha
1y ago
Until when? Secrets in applications in many cases (I would probably wager majority of the cases) are only useful if they're in plaintext at some point, for example if you're constructing a HTTP client or authenticating to some oth
66.
▲
by
jkrejcha
1y ago
> - On Linux systems, any user process can inspect any other process of that same user for it's environment variables. We can argue about threat model but, especially for a developer's system, there are A LOT of processes runni
67.
▲
by
jkrejcha
1y ago
The one that gets me is the fact that there's no user-editable combobox. There's a select drop down, and "input + datalist" (and that doesn't help when there's effectively 0 hint about what the things you can u
68.
▲
by
jkrejcha
1y ago
On the contrary, the locale APIs are problematic for many reasons. If C had just been like "well C only supports the C locale, write your own support if that's what you want", much more software would have been less subtly br
69.
▲
by
jkrejcha
1y ago
I can't say I've seen that many examples of APIs that use them richly. You see a little bit of in in specs that require something be done a certain way (WHEP in particular requires you send ICE information in ice-server link relat
70.
▲
by
jkrejcha
1y ago
One of the big things too is the encoding of type information using the mechanisms the standard interfaces provide. In HTTP, this is accomplished using media types (through the Accept and Content-Type headers as well as a few related ones).
71.
▲
by
jkrejcha
1y ago
For the collections case in particular, you can use the ABCs for collections that exist already[1]. There's probably in your use case that satisfies those. There's also similar things for the numeric tower[2]. SupportsGE/Supp
72.
▲
by
jkrejcha
1y ago
I disagree. I think, if the decision was made today, it probably would have ended up being structural, but the fact that it isn't enables (but doesn't necessarily force) Python to be more correct than if it weren't (whereas f
73.
▲
by
jkrejcha
1y ago
Generally using the Protocol[1] feature from typing import Protocol class SupportsQuack(Protocol): def quack(self) -> None: ... This of course works with dunder methods and such. Also you can annotate with @runtime_
74.
▲
by
jkrejcha
1y ago
At least on Windows 10, which I still run, pretty much all of the "explorer is slow" issues are caused by shell extensions. The problem is a lot of the times they make poor assumptions (like "if a process is running it'l
75.
▲
by
jkrejcha
1y ago
There's nothing about that that requires JWTs/signed cookies. You may need JWTs or their moral equivalents for 3rd party services but, especially for 1st party services, session identifiers are a fine enough scheme that are oftent
76.
▲
by
jkrejcha
1y ago
Yeah also in general the WFC code is a bit dated and not very secure. This actually reminds me of two very interesting bugs which used together basically make it so that you can play WFC games (basically just Mario Kart Wii, nowadays) as si
77.
▲
by
jkrejcha
1y ago
Yeah, the DS probably is the first one that has enough inbuilt support since it has support for Wi-Fi out of the box although Linux seems a bit heavyweight for this perhaps(?)
78.
▲
by
jkrejcha
2y ago
Raymond Chen has an article on this as well[1], the TL;DR is that you have 3 different upgrade paths (i.e. the text mode portions for a clean install, the Win16 portion for a 3.1 -> 95 upgrade, or the Win32 portion for a 95 -> 95 upgr
79.
▲
by
jkrejcha
2y ago
With regards to I/O, there are generally any number of weird errors you can run into, file not found, directory exists, host unreachable, permission denied, file corrupt, etc etc. Like anything file related will be able to throw any
80.
▲
by
jkrejcha
2y ago
Yeah, this does make the "read pointer from user input" case (which is actually sometimes useful) a bit weird however but it seems pretty obvious that ptr-to-int should probably be exposing at the very least
81.
▲
by
jkrejcha
2y ago
> That's sort of the crux of the issue: what constitutes exposing a pointer? A lot of the people who subscribe to "optimization 3 is clearly wrong" make the argument that the answer is... everything is always exposed, whet
82.
▲
by
jkrejcha
2y ago
So worth noting that the original code actually exhibits no undefined behavior as written (only q is accessed). I erred in my original argument by looking at the "first optimization" being applied. I'd still argue that the th
83.
▲
by
jkrejcha
2y ago
Note: the fact that this was actually done through q[0] rather than p[1] isn't really material for the argument, but this was an error I made in the original argumentation (that I can't go back and edit now) so just wanting to mak
84.
▲
by
jkrejcha
2y ago
I mean yes in this case the problem is you're doing a dereference out-of-bounds, which makes a program not strictly conforming. The problem tends to be is that the real world is much more (essentially) complex and the domain of C is th
85.
▲
by
jkrejcha
2y ago
Because for many conforming (not necessarily strictly conforming) programs, should and does are different things and many programs are written to be conforming rather than strictly conforming (hence why most non-trivial sane projects (i
86.
▲
by
jkrejcha
2y ago
Responding to the Discord point, charitably, I think the person you're replying to is saying that Discord is a poor documentation platform that has some fatal flaws, and I do think it has unfortunately replaced web forums in a lot of c
87.
▲
by
jkrejcha
2y ago
It's usually used to prevent caching from older caching systems. Fun fact: this specific value of Expires is the birthday of Sasha Schumann, the person who added this code to PHP[1][2]. [1]: https://stackoverflow.com/a&
88.
▲
by
jkrejcha
2y ago
Yes, it is a desired feature to bugcheck when flagrant violations of the kernel rules are detected. CrowdStrike isn't special because it's security software, but there are good reasons you might not want to have the OS start disab
89.
▲
by
jkrejcha
2y ago
I'm pretty sure the person you're replying to is saying that IPv6, should be IPv4 but longer, which is not at all an uncommon opinion, even if it's a breaking change to the IP protocol. And I'd argue there would've
90.
▲
by
jkrejcha
2y ago
Adding on (and it's not terribly relevant to eBPF), it's also worth noting that there are trivial programs you can prove DON'T halt. A trivial example[1]: int main() { while (true) {} int x = foo();
More ›