HNHacker News
TopNewBestAskShowJobs

fay59

259 karma · joined June 23, 2020

submissionscomments
fay59··on Lesser known tricks, quirks and features of C
The former is ideally resolved with attribute((format_arg)), the latter with attribute((format)).
fay59··on Lesser known tricks, quirks and features of C
The flag is -Wformat-nonliteral or -Wformat=2. -Wformat-security only includes a weaker variant that will warn if you pass a variable and no arguments to printf.
fay59··on Apple offers $970 in trade-in value for $52,199 Mac Pro
5 years seems like a low for Apple device longevity. I think that there’s an enormous difference between today’s Macs and Macs from 5 years ago and maybe the leap is accelerate deprecation, but there was a long period of stagnating macOS requirements. Hope we return to that for Apple Silicon Macs.
fay59··on Figuring out round, floor and ceil with integer division
> We could stop right here but this suffers from overflow limitations if translated into C.

FWIW, the final version also suffers from integer overflow limitations. If the difference between an and INT_MIN/INT_MAX (depending on whether you floor or ceil) is <= b/2, you will have integer overflow.

fay59··on Computer proof ‘blows up’ centuries-old fluid equations
In context, it sounds like they relied on simulations that don’t use exact numbers. I’m guessing that they saw an IEEE-754 floating-point infinity and then had to determine whether they got it because the accurate result was infinity or if the infinity they saw was the result of floating-point calculation artifacts.
fay59··on Nearly all binary searches and mergesorts are broken (2006)
I feel that it’s so simple that many people will overlook that it even exists. In languages that have both, it’s hard for functions to compete with operators. I don’t think that this is the best design to promote correctness.
fay59··on Chess is just poker now
The “battle of preparedness” for grandmasters looks miserable. My experience being bad at chess is pretty cool, though.

If anyone’s looking to pick up chess, it’s a pretty good time to do it even if the people making a living out if it aren’t enjoying it anymore. It used to be that computers would only crush you without helping, but now they’re able to point at your mistakes and show you where the game shifted from one player to the other.

fay59··on Android 13 requires devices to have more than 2GB RAM and 16GB storage
Yes, but your 1995 Windows NT 4.0 PC ran a 640x480 display at 60Hz and graphics compositing had, at best, one-bit transparency. It took 3 minutes to boot. Websites could bluescreen it with `<img src="con">`. A malicious attachment could trick your email client into deleting your whole hard drive.
fay59··on After self-hosting my email for twenty-three years I have thrown in the towel
How does one verify that their server has never ever sent spam, for instance through a security breach?
fay59··on Xz format considered inadequate for long-term archiving (2016)
This is fairly old. When it came up last time, there were robust arguments that xz was characterized unfairly, and that the author’s format wasn’t very good at recovering in most cases either.
fay59··on A Kernel Hacker Meets Fuchsia OS
No, logic bug consequences are fundamentally different from memory corruption bugs. A bug with an access check for one resource in the kernel means you get access to that specific resource. A missing bounds check in the kernel—anywhere in the kernel—means you get arbitrary code execution. Sure, _sometimes_ you can escalate from one resource to another with an access check issue, but that’s a _sometimes_. One memory corruption bug _anywhere_ defeats the protection of _all resources, all the time_. Not only that, but memory corruption bugs have well-understood exploit recipes that attackers can make once and reuse any time they find a new bug to save work, whereas an attacker has to write a new distinct exploit for most logic bugs.

There is no equivalence to make. Memory corruption bugs are unambiguously, unequivocally better exploitation primitives than logic bugs.

No one is claiming that memory-safe languages solve logic problems. The claim is that most memory corruption bugs are conveniently exploitable and any exploit can reach for anything in the address space, and logic bugs often can’t. You could as well say that you’d rather promote chess pawns to knights instead of queens. Like, that makes sense sometimes, but it’s a bad default.

fay59··on A Kernel Hacker Meets Fuchsia OS
What the missing access check protected was a stream of information that could defeat ASLR. If Zircon was written in a memory-safe language, that would have been the end of the issue. Logic bugs and missing access checks are still possible, but defeating them has fairly well definable consequences. Since Zircon isn’t written in a memory-safe language, the author was able to use that to fully compromise the kernel instead. I don’t mean that you can’t write bugs in memory-safe languages, but in the end the attacker still has to play by your rules. With a memory safety bug, attackers play by no one’s rules.
fay59··on A Kernel Hacker Meets Fuchsia OS
That’s not really a “but” to the comment, which was that you need to find one bug and it’s game over. We’ve known for a long time that best practices aren’t enough to prevent memory corruption in large enough C++ code bases, so it’s likely a motivated attacker would eventually find something.
fay59··on A Kernel Hacker Meets Fuchsia OS
The intent of the post isn’t to claim that any Fuschia device currently sold is vulnerable. Unless Fuschia never graduates to running third-party code, that seemed like the right assessment to me.
fay59··on Chris Lattner on garbage collection vs. Automatic Reference Counting (2017)
One data point from the Prodfiler folks was that even if the GC cost to throughput is relatively low, some programs will still spend up to 25% of their time doing garbage collection. This will show up on your cloud bill even if it doesn’t show up to that extent in your performance analysis.
fay59··on Column – a chartered bank for developers
Can I, uh, make a bank account for _myself_ without being a corporate customer?
fay59··on BBEdit is 30 years old today
Big fan of BBEdit, didn’t realize it’s just barely younger than me. I started using it probably about 20 years ago.

These days I use it mostly for one-offs and as a scratch pad. It’s doing a very good job at that.

fay59··on Dall-E 2 illustrations of Twitter bios
Someone should make an online version of Mysterium that uses Dall-E to make the picture cards!
fay59··on Twitter is using its embedded JavaScript to hide tweets that have been deleted
It kinda sucks, but “tampering with the public record”? Is Twitter liable for holding the public record now?
fay59··on What happens if you try to download and install Firefox on Windows
For a while, there would be a macOS notification suggesting that you try Safari after updating. This notification should be gone with the latest macOS. Are you talking about something else?
fay59··on Visa's marketing opt-out has been down for over a week. Is this a legal issue?
CAN-SPAM does not create a private right of action. I have generally no idea what I’m talking about when it comes to legal stuff but I think this means only the government can sue them over it.
fay59··on MDN Plus
Criticism is not always respectful and it stings more often than not but it’s important to long-term success. What would help the open web even more would be to address issues instead of asking that no one brings up. (You’re also very much allowed to be tired of reading it over and over without it being invalid.)

It’s completely fair game to criticize the overhead costs of charities: it’s one of the most common things to criticize about charities, in fact.

fay59··on MDN Plus
The difference with other services is that what people want when they subscribe to Spotify is access to music. What (at least some) people want when they subscribe to MDN Plus is ensure that Firefox and other open Web projects stay relevant. If people paid for Spotify merely so that Spotify stayed relevant, they would probably care in similar measure how Spotify spends its money.
fay59··on Nintendo Switch prevents downgrades by irreparably blowing its own fuses (2020)
And what are the boundaries of the law?
fay59··on Nintendo Switch prevents downgrades by irreparably blowing its own fuses (2020)
The reason it’s not that easy is that platform holders have contractual obligations with content providers about their content being secure. These obligations are an incentive to content production.
fay59··on Nvidia Grace CPU
They also made the “Hopper” architecture to complement it.
fay59··on Addressing Criticism of RISC-V Microprocessors
All of the ARM assembly is wrong. AArch64 uses “x” or “w” to identify general purpose registers, “r” isn’t a thing.
fay59··on Ragingbull.com to pay $2.4M for bogus earnings claims, subscription charges
Is there a dedicated way to create a temporary card number or do you do this by requesting a new number (that replaces the one you had before)?
fay59··on Trapped in Silicon Valley’s hidden caste system
You could just as well ask a racist why they don’t like black people.
fay59··on Google Tag Manager, the new anti-adblock weapon (2020)
Saying that Adblock users want it 100% to block ads and 0% to protect their privacy is a misleadingly narrow analysis, even this use isn’t completely effective.
Page 1 of 4Next →