The source code itself: https://github.com/edgcpp/compiler
Documentation: https://edgcpp.org/doc/
And for those curious the license SPDX is: Apache-2.0 WITH LLVM-exception
i.e.
1,259 karma · joined February 22, 2025
The source code itself: https://github.com/edgcpp/compiler
Documentation: https://edgcpp.org/doc/
And for those curious the license SPDX is: Apache-2.0 WITH LLVM-exception
i.e.
TLDR EDG C++ is a compiler frontend developed by EDG since the 80s which has been used under the hood for a whole bunch of commercial C and C++ compilers, static analyzers, linters, and IDE code completion tools.
Odds are if you are familiar with a closed source tool in one of those categories above, there's a decent chance it uses EDG's frontend somewhere in it under the hood.
It was just outright more cost effective and as college students we just didn't have money for the alternative so most of the time it was hard liquor and maybe once a week we'd go out to drink and then it was mostly rail liquor mixed drinks or outright shots and shooters.
Which is of course its own interesting thing given that almost every European vineyards is grafted from American vines following the wine blight. Like the number of vineyards in Europe that aren't grafted from American vines can be counted on one hand.
So at the end of the day the groundbreaking work wasn't the model itself inherently but the way it was trained and then the way the harness interacts with it.
So this demo here is showing the harness side of things afaict but then TypeSafe's Jev takes it a step further via a specific training regimine.
Every chinese frontier lab releases their model weights and often more under FOSS terms (or more restrictive but still generally open terms).
If models for public inference use are required to be open weight in the US give or take some amount of limited fine tuning, then the US and China would be on the exact same playing field. Frontier labs would be pushing functionality for functionality's sake and would either be supported by govt funding or would be supported by domestic inference providers.
And then at the end of the day everyone is just either doing open research, is an inference, fine tuning, and training provider, or is the govt.
It's easy and straight forward and pushes everybody in the market towards common standards and interoperability.
AFAIUI though GOS does intend on providing an RCS impl eventually even if it takes years to do.
This has been my issue with PlantUML and Mermaid. The routing tends to blow up when you have a bunch of lines that run out to a thing (i.e. rather than snaking together they just go everywhere).
1. they very much have things they want to fix and they list them on said website.
2. Don't forget that WMF fired 7 people for trying to start the formation of this union. It had a peaceful formation at the end of the day but even if it's currently a pleasant workplace, that doesn't mean management won't throw you to the wayside the moment they see you as a threat or a liability. That's why you want a union. So you can fix shit and be ready to react should something happen in the future.
It's also raised in solidarity and in support.
And either way a raised fist is just basic union iconography and I don't see any issue
Long term it's far cheaper and gets you more, higher quality images than trying to hunt down images and negotiate license terms on each one.
The fist is a fist none the less because the workers have the power if they need to use it. The hope is that they never have to but if changes in management force the workers' hands it is far better to be already organised and ready to correct management than for the workers to have to scramble to organise after the fact.
Half goes directly to engineering and support for infra. ~17% goes to equity projects. ~10% goes to safety & integrity. And the remaining 23% goes to "effectiveness" goaled projects.
The projects in the equity category are focused on supporting various smaller language Wikipedia communities get established and cross-translate articles.
The safety and integrity projects put a lot of work into protecting volunteers well being, general moderation stuff, legal compliance, etc.
The effectiveness category is a little weirder but it's mostly various "experimental" projects that attempt to address longstanding issues across the WMF without forcing them under a particular sub-org's budget potentially taking away funding from essential services.
NGL They could cut back across the board in various ways and save some money but if they have the money (and they do), I don't see anything outright wasteful that they are spending on. Everything seems pretty clearly like hedged bets to make things gradually better for the future.
And notably these are expenses. There's a gap between expenses and revenue and all that extra revenue gets invested into the endowment, etc to gradually support more and more of their operating expenses with time.
9M goes to paying donation processing fees.
3.5M goes towards network infra.
~2M of in-kind services were donated (i.e. doing free work or donating goods) and that shows up as a dedicated expense.
Professional Services (accounting, consulting, etc) make up another 15M (same as the total management/admin cost).
General operating expenses (property, taxes, office software, office equipment, etc) make up 8M.
Conference and Travel is 6M.
And then 4.5M is expensed as depreciation and amortization of owned assets.
-------
So to be entirely clear here. WMF projects make up 147M / over three quarters of the total expenses for the year. Fundraising makes up 20M all together (half being essentially fees and the other half is people running fundraising campaigns). And the remaining 21M / 11% is general admin.
11% is quite good for such a large foundation.
And if you want to nail down into it that 75% for projects is going towards a lot of engineering work to support long standing gripes with wikipedia's tooling and infra.
https://wikimediafoundation.org/annualreports/2024-2025-annu...
https://meta.wikimedia.org/wiki/Wikimedia_Foundation_reports...
https://meta.wikimedia.org/wiki/Wikimedia_Foundation_Annual_...
Unions are a compromise and frankly exist to provide a democratic path and open dialogue towards resolving issues before the workers are sufficiently pissed off that the only option left is a full on strike.
Some unions start with a strike but it's by no means a requirement.
The raised fist is union iconography. It is commonplace among all kinds of trade union, union, and other labor orgs.
And this is one of the things that's really annoying about trying to explain the appeal of unionising. You don't need to have a bad workplace first to have a union.
You can have a good workplace and it's better if you do. The point of the union is to codify structures that empower workers to keep their workplace good and drag it back to being good if problems arise.
This is a solidarity union and therefore the leadership are not paid. They are exist to provide a counterbalance against the management chain and provide a safe avenue for workers to communicate concerns and have them addressed. Notably one where they are on the side of the worker and not the side of the company (HR has its use but it's also often going to side with the company).
The wikimedia union's purpose according to https://wikiworkersunited.org/focus-areas/:
Our international union will officially empower the Wikimedia Foundation (WMF) workers to work together with WMF management to address long-standing concerns, including:
- Encouraging transparency and accountability on various issues from WMF leadership toward both the WMF staff and the Wikimedia movement communities
- Ensuring staff are heard and have effective ways to provide input on policy changes or annual planning (ideally while in deliberation and not as post-factum pushback)
- Prevent questionable or unclear hiring, firing, promotion and other HR practices
- Guarantee ability to safely express dissent
- Advocate for mental health support for staff
- Advocate for pay and benefits equity that makes sense to the staff
- Hold management accountable to promises made to staff
Many of the concerns above have been raised by staff repeatedly over several years. Through unionizing, WMF workers can take proactive steps to address them in collaboration with management.
-----
Those are reasonable complaints and a union makes sense to provide a continuous mechanism towards improving on those concerns.
https://www.irs.gov/e-file-providers/free-file-fillable-form...
Even if you haven't done anything "wrong", you may have engaged in speech or activities that the current US admin has deemed problematic and will try to punish you for if they can find any evidence.
Likewise if it's because a language is being lazy with how it handles memory (see: wireguard-go SEGV_MTESERR because golang's string implementation was being overly permissive with pointers).
And of course this only applies to SEGV_MTESERR. SEGV_MTESERR has a much higher runtime overhead that Google and co would not tolerate (but Graphene does) so they'd likely only be willing to use SEGV_MTEAERR which provides traces that point at a completely different place than where the fault occurred (but still provide a little bit of useful info).
So the TLDR is that the main issue is that it causes a whole bunch of stuff to segfault when bad memory accesses occur but where they wouldn't segfault without MTE. It makes the phone feel unstable to average users since stuff just crashes with no real end-user-facing explanations.
MTE ships two modes. synchronous mode and asynchronous mode. SYNC is slower but gives you far better traces and throws an SEGV_MTESERR as soon as violations happen. ASYNC however is async so there's a bit of a delay between a violation and the "catch" that throws SEGV_MTEAERR.
Strictly speaking async is worse for security because there's a brief window of time where the process "gets away with it" but the main differentiator is that because things don't stop the moment the violation occurs, SEGV_MTEAERR traces tend to be some degree of "out of date" vs SEGV_MTESERR which capture the exact state of the world the moment the error occurs.
The main tradeoff here is that async MTE has basically negligible cost. Something like 1-5% in practice but in microbenchmarks you can see up to 50%. Vs synchronous MTE where the penalty is on average closer to like 10-15% but in microbenchmarks it can be like 5-6x slower.
So yeah the perf cost is there but it's really not a major issue.
------------
The main issue is that apps and services crash when an MTE segfault occurs. So this means that to the uninformed end user apps appear spuriously unstable with no meaningful context. And it's not just apps. On graphene I see MTE segfaults semi regularly from various system daemons (mainly related to GPS/nav) and occasionally in Google Play Services itself.
From time to time I get them in Youtube and I constantly get them in the Twitch app. It's very annoying and the apps just crash when you happen to do some particular action leaving you walking on your toes to avoid accidentally tapping whatever magic pattern happens to invoke a MTE SIGSEGV until the next update. Doubly so since most apps provide no meaningful interface for uploading log traces to report these issues.
-------------
If Google wanted to roll this out without the spurious crashes they'd need to deploy it and eat the minor perf hit but they'd need to register a global signal handler to capture these MTE SIGSEGVs and report them back to the services in question without crashing the app.
And most app devs don't care so they'd be taking a minor (or major) perf hit in exchange for logging errors that developers always ignore. Doubly so in the modern day of "just have AI fix/do XYZ and who cares about the consequences as long as it runs".
I'm not surprised they dropped it but I do honestly wish they'd forced the issue and just deployed it and forced apps to fix their shit.
But it's really quite fast compared to more general balance card services like NFC/tap to pay, etc.
If there's a problem with a plan then there's a problem with the plan. If there's a problem with the implementation then there's a problem with the implementation.
But when you bypass that entire process and go roll out a bunch of changes and efforts that you claim will be flawless and dole out no-bid contracts that balloon past their estimates despite ending in complete or near complete failures then that's entirely on the leadership that kicked it off.
There is no transparency here and it's not even possible to point to specific things that went wrong because it's effectively all undocumented and intentionally done outside of the existing systems and rules. And it happens again and again with different projects.
Each time it's the leadership's fault because they chose to step outside the normal processes and accountability leaving us with no way to learn from mistakes made during the exercise beyond "the processes exist for a reason, stop ignoring them".