GCC already solved it:
https://gcc.gnu.org/onlinedocs/gcc/Vector-Extensions.html
The operations behave like C++ valarrays. Addition is defined as the addition of the corresponding elements of the operands. For example, in the code below, each of the 4 elements in a is added to the corresponding 4 elements in b and the resulting vector is stored in c.
Those type attributes are also used for the x86 intrinsics API, and they override default C behaviors like promotions and presumptions around aliasing (ironically they make type punning easier, though maybe it was just the few use cases I explored, and this isn't an area where I have alot of experience). C23 also gained the _BitInt type, which discards all the old promotion rules, which should help autovectorization.
I think ISPC is still the proper way to go. But these days everybody wants One Language to Rule Them All along with standard libraries for doing everything out-of-the-box. And while in principle ISPC's approach could be stitched into C or C++ in a fairly clean manner (perhaps with well-defined and enforced segregation of constructs to minimize complexity), it's just not gonna happen: C++ is too enamored with constructing libraries through deeply complex templated types (hammer, nail, yada yada), and C is just too conservative (though if GCC or clang went the distance with a full implementation, there's a good chance the C committee would adopt it).
Here and on reddit, AI debugging is viewed as some weird shallow
pattern-matching that obviously fails to spot real stuff and
overload the maintainers. Instead of getting to "spotless record"
of zero flaws, the people start rationalizing that "X is not a real bug"
and inventing justifications for their(obviously bad) code,
which is critique they can't accept from AI, only through human
debate that they can't close with a WONTFIX.
Once the bug is actually usable, the tune changes completely.
> Here and on reddit, AI debugging is viewed as some weird shallow pattern-matching that obviously fails to spot real stuff and overload the maintainers.
That's because that is what a lot of people did in the last years [1] to pad their resumes or to force developers to backport patches to older (but supported) kernel versions that wouldn't have gone in if they didn't have a CVE attached [2]. Maintainers have been legitimately swamped with low-quality spam for a very long time. Only recently, in the last few months, AI actually got "good enough", the problem is that maintainers still have to differentiate between AI slop by wannabes and by AI-assisted reports reviewed and refined by actual human professionals.
At the end of the day attackers don't give a fuck. "Waaa waaa, AI was bad 6 months ago so I'm going to throw a little fit" doesn't work when it's currently actively exploiting your shit. No one gives a damn if there are 4000 bullshit security PRs lined up. The one real RCE in there mean that everything you hold dear has already been carted off by nation states, and probably rediscovered by 3 or 4 other exploitation groups by this point.
It's time for all the little snowflake software writers to pull up their pantaloons and realize that Linus' vision has become real. With enough AIs all security bugs become shallow. And that software affects the real word, real money, and real people in it. That they are also under attack by well financed groups with rather evil motivations. If I'm attacking some group using your software (such as another nation) I'm going to flood the fuck out of your PR system till you give up hope and die. I'm going to make you attack your contributors. I'm going to sow confusion so I have the maximum amount of time to lay waste to my enemies and profit to the max.
The internet is hostile. Software is hostile. There are sharks looking to eat you.
More than half the money spent on Conferences and Salaries with the rest being functional expenses. Nothing in the "grants" or "benefits to members" column. Prima facie this would not be an organization I would ever donate to.
Which is good because most of their revenue comes from fees and services rendered.
IFUNC should be implemented by software itself,
like switching functions on runtime/compile checks.
Why bother having a slower, insecure version that is less
flexible than a function pointer? I have to agree with author.
Glibc is filled with even more nasty hacks ripe for new exploits.
I agree so much and wished this was the main focus of the debate. It's more a question of why does this exist in the first place and not of how did they abuse it. Building only from source is the minimum required transparency and a CI/CD pipeline able to manipulate the artifact before release takes this away. I remember the outrage, when serde (i think it was) wanted to ship parts as pre-compiled binaries for build performance reasons...
Less indirection means faster code. If the dynamic loader is already using a level of indirection and you patch into that same indirection instead of adding another, you're not making it slower.
Try to listen to music in language you don't understand.
The effects of having lyrics don't appear unless you focus on them to repeat the memory of song.
Of course instrumentals are better, but lyrics lift the mood by virtue of having some "virtual social context" simulation.
Sure, is there anyone nostalgic for debugging bash files by hand?
Any sense of grief for writing C++ template headers, with all boilerplate?
Hmm, does anyone like manually re-writing makefiles these days?
I suspect the enthusiasts of coding craft will struggle to maintain their wonder
after ~4h deep in any of these magical adventures, which surely
involve inventing ad-hoc duct tape and novel, never-before-seen algorithms.
When you make forums you compete with forum aggregators
with more history and social clout, i.e. a reddit replacement.
If someone made better Reddit, it could have a chance, however
reddit-type aggregators crypronite is hosting their own videos/media,
which makes it prohibitively expensive for small companies without
ads and sponsored posts which in turn make them less of "forum aggregator" and
more like facebook social feeds: mainly video/image based dopamine rides
instead of actual knowledge worth keeping.
People are allowed to make niche websites. We can disaggregate. It's probably better for the web if we did disaggregate given how many of the aggregators such as Wikia and Reddit and more have shown the tragedy of the commons that an aggregator over-specialize in being ad companies (or other questionable business models) over the long term rather than directly continuing to benefit the communities that trusted them as hosts in the first place, and often to the detriment and diaspora of those vary communities as they lose trust piecemeal and have fewer chances to "lift and shift" the entire community as a whole out of the aggregator in the same semi-easy manner they were aggregated in the first place.
The "social clout" advantage the giant aggregators have gained they are often working to lose a few communities at a time. Building a niche community site outside of the aggregators isn't competing with them in the same way any longer.
Maybe it is a time for building smaller niche sites again?