Live data from Hacker News

Viewing profile — viega

viega

HN member
Joined
Tue, Apr 30, 2024, 1:39 PM UTC
HN karma
94
Public activity
62 items

About viega

25 years of security + development, but really I never stopped being a compiler person. Co-author of AES-GCM. Co-founder of Crash Override.

Recent public activity

  1. story
  2. comment
    Comment #47664390

    Interesting; while I knew about `preserve_all` and `preserve_most` attributes, I didn't have an inkling that they've added `preserve_none`. But that's much cleaner that the traditi…

  3. comment
    Comment #47260298

    .* does NOT match newlines, so always will stop a match at the end of a line.

  4. comment
    Comment #46294030

    For me, I’ve got use cases where it’s valuable to keep event data interleaved because it will also get used in flight. It works well enough I also use it for things where it’s not …

  5. comment
    Comment #46289589

    BTW, should be noted that the need to issue a cache line lock on x86 does seem to slow down 128-bit CAS quite a bit on x86-64 platforms. On arm64, there's no reason to skimp with a…

  6. comment
    Comment #46289568

    You can use a 64-bit CAS if you want to use a 32-bit epoch and a pointer compression scheme of any kind, or just a 32-bit index into regions that are thread specific. I think I did…

  7. comment
    Comment #46289198

    Yes, I meant to clarify the memory model discussion; I had tried to simplify and did a poor job; I got similar feedback after it was published, and never remembered to get to it. W…

  8. comment
    Comment #46289142

    So that work came after mine, and seems to be a FIFO not a ring buffer. The library I built at the time also had FIFOs and LIFOs that were tweaks on previous algorithms, but nothin…

  9. comment
    Comment #46289105

    I don't think I even saw this until I published the article. I don't think it was academically published, or googled well back in 2000. Nor did it match my needs for a ring buffer …

  10. comment
    Comment #46288770

    Well, when I was doing the original work on it (about 5 years ago now), I spent a lot of time trying to find something else in the literature. I couldn't find anything that wasn't …

  11. comment
    Comment #45903070

    Agreed that this is not a critical problem, and the cooperative side channel can be useful in otherwise uncooperative environments. The article does mention wanting to coordinate a…

  12. story
  13. comment
    Comment #45868390

    By the way, the run-time type checking is one of the use cases where I really would like to have a tractable interface for hashing at compile time, preventing unbounded strcmps, an…

  14. comment
    Comment #45868324

    Oh, this is very good. Some of the stuff you're doing in the library I've also been doing recently, and has been working well, like using the string of the type name to allow for r…

  15. comment
    Comment #45868237

    No, should have said '50'. Have fixed that, thanks.

  16. comment
    Comment #45868176

    From my read, that article doesn't have anything in it that isn't standards compliant C. My memory is getting worse as I get older, but I'd say by C17 all that was standard, and de…

  17. comment
    Comment #45840898

    It is-- if you click in to their full list, you should see it near the top in their "above the water" section, under `#pragma once`. I suspect it was added after the meme image was…

  18. comment
    Comment #45840818

    To be clear, the example I provided for the other person explains the bit you're missing where the names aren't working... if you carefully follow the rules, the # and ## operators…

  19. comment
    Comment #45840781

    If my google fu is that bad, it's pretty much impossible to be.

  20. comment
    Comment #45840762

    Thanks. Also, per another person in the thread, here are the two annotations he or she was asking for, heavily annotated. They are both only a couple lines, but it deals with thing…

  21. comment
    Comment #45840713

    Okay, finally found some time to provide you with a fully annotated example of your original ask here, assuming you wanted to transform the arguments passed to F into IDs, and the …

  22. comment
    Comment #45839778

    If you can give me specifics on how it's not clear, I'd very much want to improve it. Please DM me about it.

  23. comment
    Comment #45836600

    Yes, 100%. And since CPP doesn't actually understand C, it's not too hard to do some lightweight preprocessing that requires some real additional parsing. But while CPP is pretty f…

  24. comment
    Comment #45835388

    Well, I've done it that way if I'm willing to limit myself to pointers or ints up to a pointer size, but that doesn't work with floats or doubles, for instance. Ergonomically, I ha…

  25. comment
    Comment #45831669

    Wow, you are a braver person than I. Well done.