@thephd@pony.social
@thephd@pony.social avatar

thephd

@thephd@pony.social

🎇 Somehow Is A C Expert ✨ Smooches Unicode-kun 💕 The C Standard Cannot Be Replaced And Will Never Be Destroyed. 🧟‍♀️ Pixel Art is Cool ✨ Banner

This profile is from a federated server and may be incomplete. Browse more on the original instance.

thephd, to random
@thephd@pony.social avatar

Made the mistake of keeping up with the Bad Place and got introduced to this fucking Banger of a tweet on @jntrnr's post.

I regret to inform you that despite:

  • fixing widespread industrial problems, including with the oldest and most popular language in existence;
  • writing full frameworks people study to get good at code;
  • authoring and drafting full-fledged fixes to the entire encoding situation for C and C++; and,
  • editing fucking ISO/IEC 9899:2023/4,

I am apparently a diversity hire, who's only here to be a drain on the Smart Rust People's resources.

Anyways I've blocked the person, because they wouldn't want to be reading stuff from a "diversity hire" like myself, would they?

On god I need to finish my own programming language, even if I'm the ONLY USER I will NEVER have to look these pricks in the eye EVER AGAIN.

thephd, to random
@thephd@pony.social avatar

So, after a full day and a lot of back and forth, a few very important things have come to light. I'll try to summarize them here because I've been posting primarily in the Bad Places® rather than the Good Places™, so that nobody's lost.

  • It looks like somebody from inside the Rust Project, but not with the consensus of all leadership, tried to downgrade my talk (or perhaps have it outright retracted) because they did not like the direction the compile-time work I was doing. (Learned from: https://www.jntrnr.com/why-i-left-rust/)
  • The decision to downgrade my talk, once it was known I was going to talk about Compile-Time Reflection in Rust, came anywhere from 4 to 8 days before I was actually told this past Friday and had to release the blog post stepping away. However, as evidenced by much of the public statements from existing, ex, and now-ex Rust Project members, the decision to unilaterally downgrade was not known to many of them until they read my post.
  • Downgrading the keynote was NEVER voted on like inviting me to do the keynote in the first place.

All in all, this reeks of someone trying to run-around the consensus of the Rust Project because they don't like Shepherd Oasis's or my work (detailed here: https://soasis.org/posts/a-mirror-for-rust-a-plan-for-generic-compile-time-introspection-in-rust/).

I don't know how to handle this going forward. The Rust Project has effectively ultimate commit rights to rustc and all of the projects our work would touch are under the control of the organization that did this. Even if we do the work, they could effectively unwind and undo a lot of our work, or indefinitely block it with an endless slew of "reasonable concerns" from ranking project members who seem to have problems but don't want to communicate them except by taking potshots at the status of my now-gone RustConf talk.

I don't know what to do. I'm pretty lost, it's Sunday, and I have a shitload of things I still need to do, not including this whole trainwreck.

thephd, to random
@thephd@pony.social avatar

Got Stun Locked Again, so it's time to dump a rant I made elsewhere:

C is not a language for direct control of the hardware. C is a langauge that is coded to the semantics of an Abstract Machine specified in a document. It's no more capable of hardware control that e.g. Rust or Zig. What it has is a wide variety of pre-existing implementations that allow you to touch that hardware, but most of that control was programmed in an assembly language or worked into the hardware/firmware by somebody.

C is not more suitable for hardware and your computer is not a PDP-11. (This is part of why "Nobody writes ISO C" is a thing. C, the language K&R made, the language that got standardized, at any point in its lifetime, was never good enough for a kernel. It just let people coordinate stuff in the cheapest way possible and accepted extensions.)

The part that's extra nutso is that the last 20 years were people who held this exact belief -- that C was just a thin layer over the hardware -- get bodied, over and over again. Compiler vendors gave them the big middle finger every time they said "wait, no, UB is for hardware!", and compiler vendors traded in UB for (sometimes negligible) speed ups.

To still believe C is "for the hardware" in today's day and age where GCC will literally run your for loop for eternity because you tried to access an array out-of-bounds and it found out about it, or Clang will solve fermat's last theorem due to a loop, is magic shroom thinking. You can access the hardware just as good with Java by using the Pointer class, you can hit the same register that the shitty ISA Manual fucking lied about by writing the same integer address into the Pointer class and dumping out a 2-byte integer to the right place.

C is not magic and you're not improving its design by insisting it is, for the love of God start Evaluating Your Tools Properly. Yer an engineer, not a fucking wizard, Harry.

thephd, to random
@thephd@pony.social avatar

I deserve better than this opaque, institutional bickerings from a mature, open-source programming language.

The Pasture | I Am No Longer Speaking at RustConf 2023 | https://thephd.dev/i-am-no-longer-speaking-at-rustconf-2023

thephd, to random
@thephd@pony.social avatar

"Why are you working on C?"

I wrote this in an e-mail to people, but I figured I'd copy part of the response here since people keep asking.

We have people writing critical software. They are not migrating to new software anytime soon (modulo regulation-based incentives). But they have serious problems. Everything from vulnerabilities that are used by nation-state actors to quell dissidents, to not being able to change a typedef like intmax_t because the functions tied to it are baked into specific named symbols in an invisible way (ABI), to constantly seeing people's names getting butchered by Airlines, Databases, and Governments because they're using software that relies on the C locale and mangles names.

These are C problems. Not C++ problems. Not Java problems. Not Rust problems.

C problems.

My job is to solve C problems. That's the motivation. That's the coherent plan. When we stop having long-term, 20-to-40+ year problems, with 30+-year implemented existing practice that we never standardize despite it solving a wide variety of problems, that's when I'll stop writing C proposals.

thephd, to random
@thephd@pony.social avatar

As I have no intention of being publicly smeared but private apologized to, I am writing this post as an immortal (for as long as my instance lasts, anyways) record of my response to an e-mail I have just received from David Tolnay. My response is brief and enclosed just below:

“Dear David,

I have no intention to have a (private) video call to resolve an intensely public and, at this point, explosively volatile situation that never needed to be. I have also pulled out of the work and we will not be engaging with the Rust Specification work or anything related to compile-time reflection, so there's no reason to apologize at this point because the (metaphorical) vase is already broken.
As I stated over 3 months ago when this first kicked off, the only thing (even if it was published anonymously, again, before this ever blew up) was a technical critique of the work presented. If you do not have a technical critique to offer, then I would like to not hear from you or anyone else on the subject material for the next few years at a minimum.

JeanHeyd”

As ever, I am consistent: the damage is done, but several people have spoken up that they would like to continue the work. If you fervently believe this was a fuck up, you will write out why the compile-time direction Shepherd Oasis wasted tons of money supporting me through and collaborated on by a dozen+ different people who are titans in their respective focuses is Bad, Actually so we can put the idea to rest and the Rust Project can go do more productive things.

It would also probably help if that response did not take a peer's work, label it a bungling failure, and then use it as a projection field to say the work would never be ready, too.

That would also be helpful.

thephd, to random
@thephd@pony.social avatar

When someone decides to make up entire bungles of horse shit in their "explanation" and "apology" ( https://archive.ph/Utaz1 ) about the weird shit they did.

I want off this fucking ride.

"Postpone to 2024"? Present at a "tier 2 conference"? My reasoning is contained directly in my blog post ( https://thephd.dev/i-am-no-longer-speaking-at-rustconf-2023#-huh ). If you're going to fucking lie about me at least try and be fucking accurate about it:

“It is also deeply confusing and ultimately insulting for them not to contact me beforehand and simply ask me if I would disclaimer my work to make it clear that they did not explicitly endorse this direction. Multiple times before the RustConf schedule and program was released, I made it obscenely clear that there was not going going to be an RFC for the work I was talking about (“Pre-RFC” is the exact wording I used when talking to individuals involved with Rust Project Leadership), that this might bias folks, and whether or not it would be okay to do this. Individuals in contact with me both inside and outside RustConf leadership made it abundantly clearly that this topic was perfectly fine. Furthermore, they had already met to discuss my work before hand, so at no point should anyone be confused about what my intentions and goals are.”
That someone would try to use game-of-telephone bullshit to make it seem like I deserved to have my keynote outright removed (which was the ACTUAL SUGGESTION given to RustConf, and they changed it to a DOWNGRADE to prevent bigger fallout from Triplett and Tolnay's CLEAR oversteps and, apparently, outright lies here!), or that I was in agreement with such a removal, when I literally took the required time to make a proper assessment of the situation and respond like an ADULT, is some WILD nonsense!

Is this a common Rust Project occurrence? Do people just do this ALL THE TIME? WHAT IS GOING ON OVER THERE?!

Edit: added some fucking alt-text because I'm so fucking annoyed at this bullshit.

thephd, to random
@thephd@pony.social avatar

You know what makes this whole thing extra foolish? There's supposed to be a technical rebuttal. Somewhere in that statement, some allusion to what was wrong with the compile-time reflection work. What we got instead?

A bunch of excuses.

I break my back and pick brains and do a crapload of heavy lifting and back it with technical reasons and I pull in experts and everything and they can just tank it by saying... "I have some bad vibes and I wasn't sure some people okayed it."

These places are never about Merit.

All of them were holding water for these apparent enormous technical objections. These well-founded, deeply grounded reasons why these things couldn't work.

Buncha bureaucracy and a whole lot of nothing! Just.

Wouldn't it be nice. If we evaluated.

The #*$% work.

thephd, to random
@thephd@pony.social avatar

I go touch grass for a few days and when I come back C is illegal????

thephd, to random
@thephd@pony.social avatar

Remember, everyone:

PREFIX YOUR MACROS
PREFIX YOUR MACROS
PREFIX YOUR MACROS
PREFIX YOUR MACROS

PREFIX.

YOUR.

MACROS!!!!!!

https://gitlab.freedesktop.org/mesa/mesa/-/issues/10803

thephd, to random
@thephd@pony.social avatar

The FSF should no longer exist.

thephd, to random
@thephd@pony.social avatar

Sigh. I, Shepherd, and everyone else are officially out, now.

https://soasis.org/posts/statement-on-rustconf-compile-time-introspection/

thephd, to random
@thephd@pony.social avatar

I cosign everything in this blog and I want to emphasize that I will do everything in my power to provide a solution for the C problems present here!

https://davidben.net/2024/01/15/empty-slices.html

thephd, to random
@thephd@pony.social avatar

https://lobste.rs/s/sgoshm/serde_is_no_longer_shipping_precompiled#c_5cye7q

Case in point: dtolnay was also the one thus far unnamed by anyone speaking for the project person who was involved in ThePHD’s talk being downgraded from a keynote.

.... Excuse me?

thephd, to random
@thephd@pony.social avatar

In which I get aggro'd and baited into thoroughly documenting, testing, and tearing apart the entire goddamn C and C++ standard API, before making my own that does not suck.

The Pasture | cuneicode, and the Future of Text in C | https://thephd.dev/cuneicode-and-the-future-of-text-in-c

thephd, to random
@thephd@pony.social avatar

It's not lost on me that C and C++ toolchains, loaded with static analyzers, could barely reach ASIL B and just barely scratched ASIL C, but Rust got to ASIL D on its first publicly-released verified toolchain.

Just getting our asses spanked over and over and over, meanwhile we have people writing proposals (derogatory) about safety and security and giving keynotes where they barely understand the material instead of inviting actual experts to give us their industry-hardened opinions.

thephd, to random
@thephd@pony.social avatar

It's time.

RAII in C, and why nobody's getting it right with the increasingly "simple" juggling that keeps getting tossed to me like table scraps for a dog.

The Pasture | Why Not Just Do Simple C++ RAII in C? | https://thephd.dev/just-put-raii-in-c-bro-please-bro-just-one-more-destructor-bro-cmon-im-good-for-it

thephd, to random
@thephd@pony.social avatar
thephd, to random
@thephd@pony.social avatar

.... You're telling me fucking webp wasn't running basic fuzzers on its bloody image parsing shit?

Did I just get transported back to 2001? The fuck??

thephd, to random
@thephd@pony.social avatar

I am such a fucking adult, I just sent like 22 goddamn e-mails without needing to PAUSE or take a BREAK.

HELL YEAH.

Nobody can out-adult me I am COORDINATING, I am TOUCHING BASE, I am SYNCING UP OFFLINE, I am promoting SYNERGIES hitherto not fully SYNERGIZED BEFORE,

thephd, to random
@thephd@pony.social avatar

Please read share, and comment:

C2y/C3a Proposal - Improved attribute((cleanup(...))) through defer
https://thephd.dev/

thephd, to random
@thephd@pony.social avatar

Whoever wrote this damn document: https://www.regulations.gov/comment/ONCD-2023-0002-0020

You sound exactly like the C people when C++ came along, and it's actually embarrassing.

thephd,
@thephd@pony.social avatar

"Just teach harder"

"Just tool harder"

"Just program better"

"It's too expensive to move to a different language"

Imbecilic takes from shortsighted people, especially when you have trillion dollar marketcap companies shoveling money into new languages.

"I bet you can't fund your way out of this one!"

Companies: "Bet??"

Jesus, christ!

thephd, to random
@thephd@pony.social avatar

Something that bothers me a lot in Python is not really Python's fault but when I use it and make a bug and my brain immediately goes

"Nye heh heh heh, if you just had a type system that wouldn't have happened!"

It's just really hard to argue with "this thing that would have otherwise stopped the build and told you to fix your shit is now a runtime error that manifests under specific conditions with a client" and it's just so much wasted comms 'n' work for an easily-caught problem.

This isn't meant to be type system propaganda or whatever, it just keeps smacking me in the face every time I go work in some dynamic language, and every time it just makes me mad. Like, yeah, I get it, I'm an idiot, but that's why we have the tool.

To cover me being stupid.

thephd, to random
@thephd@pony.social avatar

Me, ignorant: "Going over CVEs is a great way to learn what exploited weaknesses C has and the things human beings truly struggle with that are at risk."

Linux kernel, snorting a fat line: "Weeeeeoohaaaaa!! What if we turned every fix commit into its own CVE using grep???"

thephd, to random
@thephd@pony.social avatar

”Within the C committee, there’s been a lot of talk about what the C charter means and whether it should be updated or not.“

I have SO many thoughts about this. But, let's read over this take! (It's from @AaronBallman's blog!)

thephd,
@thephd@pony.social avatar

> ”Trust the programmer, as a goal, is outdated in respect to the security and safety programming communities.

. I don’t think this goes far enough. I think “trust the programmer” has lead to decades of security vulnerabilities, to the point that major government agencies are now recommending against using C (and C++).“

Yeah, seconded. We've done colossal damage because a good portion of C (and C++) are actually very dangerous to use by-default, and "trusting the programmer" has resulted in a ton of low-hanging, easy-access vulnerabilities and problems that a slightly different design for a lot of these functions could have easily avoided.

There's a lot LESS to do in C++ than C to make it apparent, but both languages are absolutely slouching and should pull their collective heads out of their sleeping stupor and start listening to the security experts who came to them decades about about this stuff.

"But we deprecated gets!" Woo. One function. Congratulations.

  • All
  • Subscribed
  • Moderated
  • Favorites
  • Leos
  • thenastyranch
  • rosin
  • everett
  • cisconetworking
  • love
  • Youngstown
  • slotface
  • Durango
  • ngwrru68w68
  • kavyap
  • tacticalgear
  • DreamBathrooms
  • mdbf
  • megavids
  • magazineikmin
  • cubers
  • modclub
  • InstantRegret
  • ethstaker
  • osvaldo12
  • GTA5RPClips
  • khanakhh
  • anitta
  • provamag3
  • normalnudes
  • tester
  • JUstTest
  • All magazines