These days I am of the opinion that we don’t need a real IDL. Instead one should choose a “primary language” and define the schema in that language. All other language bindings are generated from that canonical language. Then for wire format you’d just pick something workable from pb json msgpack etc. This replaces all the Google codegen intermediate layer, and for the primary language it naturally becomes very ergonomic.
Those three things you mentioned kind of live in the same niche - offline data storage and querying. In that world yes everything has become columnar since it’s just better. Row-oriented is still the solution for online streaming use cases.
If you don’t like what Anthropic is doing, stop paying them money. There’s plenty of competition to go around. They can’t keep this up for long if users flock elsewhere.
One could argue the reinterpret_cast makes the intent more explicit which is a good thing.
That said I don’t have much against the use of void* or even char* here. If it works in C, it works in C++ just fine. std::span is not the right tool for this.
I think there are situations where AI is good for quick advice, provided you _also_ have a professional to talk to if needed. I sometimes seek advice about dealing with difficult colleagues, or ask for opinions about things I said at work while a little emotional. These don’t affect my personal life that much so the stakes are lower.
I am not very well versed here but I think due to the requirement for assembly and single-instruction commit, practical uses of rseq is generally very simple. It is nowhere near the usefulness of locks.
IIUC rseq is similar to thread-local data with the additional benefit that it scales with number of CPU cores, not threads. However if you are an application developer and is able to control all the threads in an application, then rseq isn’t that superior.
I fully agree that rseq should be more easily available to Linux developers, though.
The point about feedback is spot on. However the generalization to system software seems a little sloppy. Something being system software doesn’t inherently make it more testable. You can have feedback-abundant and feedback-scarce pieces in both system and user-facing software.
It’s shocking to me that you of all people should have financial issues. You are a legend in the community! By all means, take things closed source if it even just helps a little bit. As a profession we’ve all been hurt by over-sharing.
https://research.swtch.com/
https://danluu.com/
https://apenwarr.ca/log/