Viewing profile — viega
viega
HN member- Joined
- Tue, Apr 30, 2024, 1:39 PM UTC
- HN karma
- 94
- Public activity
- 62 items
- HN profile
- View on Hacker News ↗
About viega
Recent public activity
- story
-
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…
-
comment
Comment #47260298
.* does NOT match newlines, so always will stop a match at the end of a line.
-
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 …
-
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…
-
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…
-
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…
-
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…
-
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 …
-
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 …
-
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…
- story
-
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…
-
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…
-
comment
Comment #45868237
No, should have said '50'. Have fixed that, thanks.
-
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…
-
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…
-
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…
-
comment
Comment #45840781
If my google fu is that bad, it's pretty much impossible to be.
-
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…
-
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 …
-
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.
-
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…
-
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…
-
comment
Comment #45831669
Wow, you are a braver person than I. Well done.