• 0 Posts
  • 10 Comments
Joined 11 months ago
cake
Cake day: August 14th, 2023

help-circle
  • Yeah, timestamps should always be stored in UTC, but actual planning of anything needs to be conscious of local time zones, including daylight savings. Coming up with a description of when a place is open in local time might be simple when described in local time but clunkier in UTC when accounting for daylight savings, local holidays, etc.



  • I’d say the real world doesn’t reward being actually gifted.

    More accurately, the real world punishes being below average at any one of like a dozen skillets. You can’t min/max your stats because being 99th percentile at something won’t make up for being 30th percentile at something else. Better to be 75th percentile at both.

    The real world requires cross-disciplinary coordination, which means thriving requires both soft skills and multiple hard skills.





  • It basically varies from chip to chip, and program to program.

    Speculative execution is when a program hits some kind of branch (like an if-then statement) and the CPU just goes ahead and calculates as if it’s true, and progresses down that line until it learns “oh wait it was false, just scrub all that work I did so far down this branch.” So it really depends on what that specific chip was doing in that moment, for that specific program.

    It’s a very real performance boost for normal operations, but for cryptographic operations you want every function to perform in exactly the same amount of time, so that something outside that program can’t see how long it took and infer secret information.

    These timing/side channel attacks generally work like this: imagine you have a program that tests if variable X is a prime number, by testing if every number smaller than X can divide evenly, from 2 on to X. Well, the bigger X is, the longer that particular function will take. So if the function takes a really long time, you’ve got a pretty good idea of what X is. So if you have a separate program that isn’t allowed to read the value of X, but can watch another program operate on X, you might be able to learn bits of information about X.

    Patches for these vulnerabilities changes the software to make those programs/function in fixed time, but then you lose all the efficiency gains of being able to finish faster, when you slow the program down to the weakest link, so to speak.


  • This particular class of vulnerabilities, where modern processors try to predict what operations might come next and perform them before they’re actually needed, has been found in basically all modern CPUs/GPUs. Spectre/Meldown, Downfall, Retbleed, etc., are all a class of hardware vulnerabilities that can leak crypographic secrets. Patching them generally slows down performance considerably, because the actual hardware vulnerability can’t be fixed directly.

    It’s not even the first one for the Apple M-series chips. PACMAN was a vulnerability in M1 chips.

    Researchers will almost certainly continue to find these, in all major vendors’ CPUs.