Elektrine
Log in Register
Paige Chat Timeline Gallery Friends Email Drive DNS Private DNS Domains VPN Kairo Nerve
Remote

Chandler Carruth

@chandlerc@hachyderm.io
mastodon 4.7.3
  • Open on hachyderm.io

Software, performance, optimization, programming languages, security, open source, #CarbonLang lead, #LLVM, #Clang, C++. 🏳️‍🌈 http://pronoun.is/he or http://pronoun.is/they

2105 Followers
195 Following
43 Posts
Joined November 06, 2022
Blog:
https://chandlerc.blog/
Open post
Chandler Carruth @chandlerc@hachyderm.io
· 2w ago
So the whole thing of cleaning wine decanters with steel bearings? We decided to finally try it out. Recommendation: DO NOT USE THESE -- THEY ARE AGENTS OF CHAOS They're actually really easy to use, they clean wine stains off _remarkably_ well, and didn't damage the decanter at all. That part went great. But they are a complete and absolute nightmare as soon as you take them out of the decanter. Have to clean them and dry them, in a little strainer. But they bounce, fly around, are tiny, and get everywhere. EVERYWHERE. Including in your garbage disposal, a remarkably bad place for STEEL BALL BEARINGS. And worse, you may decide to be "clever" and fish them out with a magnet. And then you will have a magnet _and_ steel bearings in your disposal. Which is worse. And you may not find all of the bearings because they are tiny and run away and hide. Until you replace the now useless garbage disposal with a brand new one. Then they will leap out of hiding and jump into the new disposal. Literally before the plumber finishes testing it. The plumber will not be amused. The tiny steel bearings are AGENTS OF COMPLETE CHAOS AND DESTRUCTION, release them at your peril.
8
1
1
0
Open post
Chandler Carruth @chandlerc@hachyderm.io
· 1mo ago

An attempt at striking a balance....

https://github.com/carbon-language/carbon-lang/pull/7694

#CarbonLang

github.com
7
0
2
0
Open post
Chandler Carruth @chandlerc@hachyderm.io
· 1mo ago

RE: @gloriouscow@oldbytes.space

Scroll up to the start of this thread, and take it the whole way through. It is amazing. Just amazing.

oldbytes.space
14
0
7
0
Open post
Chandler Carruth @chandlerc@hachyderm.io
· 2mo ago
Boosted by @joe@f.duriansoftware.com

RE: https://hachyderm.io/@chandlerc/116734192778208742

We have a recording available of this early preview now!!

Video: https://drive.google.com/file/d/1tQlzpnbWZfn2WtTFMoJgF93QteByBBwm/view?usp=sharing

Slides: https://chandlerc.blog/slides/2026-memory-safety-deep-3/

Transcript: https://docs.google.com/document/d/1JB9H3KzVixAPC5WIytS4AMyrvjwzC7TXqp596veLT34/edit?usp=sharing

See my post below for some big caveats -- this is just the very first, rough description of the model we're looking at. We still have lots to do to write it all up in a cohesive document, go through the exercise of fully mapping it onto a real set of standard library APIs, and of course, implementing it which is a huge future item of work.

But if you're interested in a peak at where we're going and like early-stage PL design, take a look!

PS: sorry I didn't post more updates about the live version, but thanks everyone who joined! The recording isn't the live version, just Josh presenting it, but it benefitted from the live presentation, all the questions asked, and all the feedback we've already received.

Open quoted post
Quoting
Chandler Carruth
@chandlerc@hachyderm.io

Would you be interested in an early preview of the design we're converging on for Carbon's memory safety model?

If so, Josh on the Carbon team is planning to give a 2 hour talk covering:

  • What the design is
  • How it prevents use after free and data races
  • What expressivity we expect it to support
  • How it will support a transition from C++

It will only lightly cover comparisons with Rust's memory safety approach.

Again, this is an early preview, before we have started on implementation or even a more polished end-to-end write-up. Some of the design may change, and there are still some open questions, but the core looks reasonably solid and very promising.

What we are hoping to achieve with the presentation:

  • Get folks up to speed on what we are thinking.
  • Getting feedback earlier in our process while making changes is easier.
  • Help us refine our exposition.

This talk will not go into:

  • How we arrived at this design
  • Concerns we had with alternatives we considered
  • How the design will be implemented

We are totally okay if you would rather wait until we are further along -- we hope to give regular updates to the community. Also, while this session won't be recorded, we do plan to record the presentation in case you'd prefer to consume a video instead of attending live. And last but not least, our next step is a reasonably polished and complete written design if you would prefer to read a document.

We also expect detailed feedback on our approach and how we are describing the approach would mostly be asynchronous after you've had some time to digest the talk. We only expect to have time for minimal initial reactions and clarifying questions given the depth and complexity of the subject. Our plan is to follow-up afterward in email and/or a document to collect this feedback.

If you're interested in attending live, please put when would work for you here: https://www.when2meet.com/?36904183-wO2j2 and DM me or reach out on our Discord server: https://discord.com/channels/655572317891461132/708431848715452476

We'll post an update with the time(s) selectad and the join link (we use Google Meet for better or worse) to that Discord channel.

Open quoted post
hachyderm.io
20
4
12
1
Open post
Chandler Carruth @chandlerc@hachyderm.io
· 1mo ago

I've always wanted a tool that allowed actual, real SSH to behave mostly like `mosh`. I wanted durability across connection changes, laptop open/shut, etc. I could easily give up the nice latency hiding features of `mosh` (predictive echo, etc) for being truely an SSH replacement: agent forwarding, port forwarding, the works.

Unfortunately, I'm not a networking person, and so this had a pretty steap learning curve for me. Just too much for me to really commit the time and tackle it.

But _wow_ have AI coding tools gotten effective... I have successfully nudged AI coding tools to produce a `mosh`-like tool that uses vanilla `ssh` over its existing `ProxyCommand` capabilities through a fancy UDP / NAT-punching QUIC bridge. At least with black-box testing, it seems to pretty clearly do what I wanted on the tin...

That said, I'm not about to do anything with this w/o going through the code and understanding it. I still care about actual quality, understanding how code works, etc. But I'd love to have help from anyone interested in a solution to this problem, and willing to sift through AI-generated code and call it out on its BS or decide "yeah, this is reasonable". It's 100% Rust code, open source, etc. Would anyone be up for helping?

Eventually, I think I might be willing to shell out to even pay for a proper security review from a reputable firm, but want to make sure the basic software engineering of the core is legit first.

3
2
1
0
Open post
Chandler Carruth @chandlerc@hachyderm.io
· 9mo ago

Happy new year everyone!

111
0
49
0
Open post
Chandler Carruth @chandlerc@hachyderm.io
· 6mo ago

RE: @mekkaokereke@hachyderm.io

Yep.

And if you're worried that rich people will get richer because they benefit from these free services, there is also a solution to that categorically easier than means testing.

Ready? Wait for it ....

WEALTH TAX

It's really that easy. Like, so easy. So much easier than any kind of means testing. And instantly more constructive and effective.

And it is literally a return to the historical ways of sustaining a functioning society. Some receipts for those curious: https://itep.org/america-used-to-have-a-wealth-tax-the-forgotten-history-of-the-general-property-tax/ https://stantcheva.scholars.harvard.edu/sites/g/files/omnuum7746/files/2025-11/draft_v40.pdf

hachyderm.io
40
1
16
0
Open post
Chandler Carruth @chandlerc@hachyderm.io
· 4mo ago

Really frustrating to see the "official story" C++ documentary, absent all the voices and perspectives of people refused to participate in it, and worse, those who were never asked to participate...

I even largely agree with what is said in it (at least about the language), I'm just sad about all the things _not_ said, and all the voices _not_ heard here...

19
3
4
0
Open post
Chandler Carruth @chandlerc@hachyderm.io
· 3mo ago
Boosted by @joe@f.duriansoftware.com

Would you be interested in an early preview of the design we're converging on for Carbon's memory safety model?

If so, Josh on the Carbon team is planning to give a 2 hour talk covering:

  • What the design is
  • How it prevents use after free and data races
  • What expressivity we expect it to support
  • How it will support a transition from C++

It will only lightly cover comparisons with Rust's memory safety approach.

Again, this is an early preview, before we have started on implementation or even a more polished end-to-end write-up. Some of the design may change, and there are still some open questions, but the core looks reasonably solid and very promising.

What we are hoping to achieve with the presentation:

  • Get folks up to speed on what we are thinking.
  • Getting feedback earlier in our process while making changes is easier.
  • Help us refine our exposition.

This talk will not go into:

  • How we arrived at this design
  • Concerns we had with alternatives we considered
  • How the design will be implemented

We are totally okay if you would rather wait until we are further along -- we hope to give regular updates to the community. Also, while this session won't be recorded, we do plan to record the presentation in case you'd prefer to consume a video instead of attending live. And last but not least, our next step is a reasonably polished and complete written design if you would prefer to read a document.

We also expect detailed feedback on our approach and how we are describing the approach would mostly be asynchronous after you've had some time to digest the talk. We only expect to have time for minimal initial reactions and clarifying questions given the depth and complexity of the subject. Our plan is to follow-up afterward in email and/or a document to collect this feedback.

If you're interested in attending live, please put when would work for you here: https://www.when2meet.com/?36904183-wO2j2 and DM me or reach out on our Discord server: https://discord.com/channels/655572317891461132/708431848715452476

We'll post an update with the time(s) selectad and the join link (we use Google Meet for better or worse) to that Discord channel.

when2meet.com
17
0
12
1
Open post
Chandler Carruth @chandlerc@hachyderm.io
· 44mo ago

Love to see how mad the Onion is here. More folks should be this mad about this.

If you want a really solid critique, it's actually here too. They put their *all* into this piece and while it's sarcastic as usual, it really does cover *so many* aspects of how horrible the current trend of "news" in this space has been.

Go read it:
https://www.theonion.com/it-is-journalism-s-sacred-duty-to-endanger-the-lives-of-1850126997

theonion.com
1257
27
1015
0
Open post
Chandler Carruth @chandlerc@hachyderm.io
· 6mo ago

Been mulling something... (No, this is not actually a sub-toot) Not sure I have it _quite_ articulated well yet, but getting close... Here is my current best attempt...

I think one thing that really misses the mark in culture efforts, inclusivity efforts, and things like codes-of-conduct for organizations & companies is trying to replicate the approach taken by government/state structures.

For example, using legalistic language to try and establish precision of wording in a CoC. Or structuring moderation rules or response policy as-if rules of law and governments. Or demand "adjudication" of moderation/CoC claims with an innocent unless proven guilty, shadow of a doubt, precise evidentiary rules, etc.

Fundamentally, the context here is critically _different_, and trying to apply the approach of one to the other is a mistake. In both directions.

Open source communities, even companies, are not sovereign states. They do not employ an armed police force or military to backstop their rules. If the state decides "you may not say that", they mean, "you may not say that and live as part of this state". And that determination is backed by the threat of violence. The state and the government _should_ be held to the highest possible standard. Judging someone guilty of a crime and enforcing it through state-backed violence of incarceration had _better_ be innocent until proven guilty, and proven with the highest standard of evidence, oversight, and rigor.

Getting banned from an open source community, or even being fired from a hot-shot tech job is _incredibly_ different. That's not to say that either of these is an inconsequential event -- they can be very consequential. And so folks I think feel motivated to push them to the higher standard. But we also need to be realistic, as these are not state-violence backed judgements. This is not the literal forced removal of your freedom or life. This is at _most_ the loss of an especially lucrative career that must be replaced with a categorically less lucrative career. And that's the worst case. Most moderation decisions are _hilariously_ less consequential. And it's entirely reasonable to use a less consequential process to arrive at them.

31
9
13
0
Open post
Chandler Carruth @chandlerc@hachyderm.io
· 4mo ago

Well, I'm 42 and still have no answers... Not sure what that means....

14
5
0
0
Open post
Chandler Carruth @chandlerc@hachyderm.io
· 4mo ago

We lost our kitty today after 18 years. She had CKD and survived over a year after reaching stage 3, which was remarkable... But still, completely devastated and lost without her...

Will likely be alternating between hiding from my grief with coding and even work, and collapsing under it. Apologies for any chaos this causes.

16
7
0
0
Open post
Chandler Carruth @chandlerc@hachyderm.io
· 3mo ago
Replying to
@Mara@hachyderm.io .... Ok, I need to know what machine now....
8
9
0
0
Open post
Chandler Carruth @chandlerc@hachyderm.io
· 2mo ago

RE: @chandlerc@hachyderm.io

So I ran this poll, thanks folks for voting, and ... gotta say, I didn't expect it to be essentially a tie.

When I started, my bias was 100% "infinite columns". It seemed like the best option.

But the more I've thought about it, I've weirdly come around to the "80 columns" side. Going to give my rationale, and re-run the poll to see if I get a different result. Or who knows, maybe you all will decide to Boaty-McBoatface my poll out of any meaning, that works too.

Rationale for 80-columns: If the wrapping that happens when a line is too long is _good_, neither answer hurts. It only really matters when the wrapping of a line is both _bad_ and _necessary_.

When we wrap to 80-columns, we make necessary bad wrapping _worse_, but its already quite, quite bad. For example: we get 3 one-word bad wraps for example instead of 2-3 many-word bad wraps.

But we also make wrapping at all less necessary a decent fraction of the time. The benefit there (perfectly readable rendering) probably out-strips the slight worsening of an already bad state.

Also, if we wrap to 80-columns, then users hitting the bad state actually have a much better chance of being able to work around it by resizing a window in some way. At least, strictly more chances than infinite-width!

So, surprisingly, I'm now inclined to the 80-columns. WDYT?

hachyderm.io
3
0
2
0
Open post
Chandler Carruth @chandlerc@hachyderm.io
· 8mo ago
Replying to

@meowray@hachyderm.io FWIW, strongly disagree here.

I think it is entirely possible to have quality, velocity, and open contribution.

I'm not saying there isn't a tradeoff, but I think the above three can be preserved sufficiently.

For example, in LLVM, I think the bigger challenge than quality is that people view "contribution" as much more about "sending a patch" and not "reviewing a patch. As a consequence, the project has lost community and cultural prioritization of code review as an active and necessary part of contribution.

Also, "open contribution" doesn't mean you have to accept contributions. I think a project can still have meaningfully open contribution while insisting contributors balance their contributions between patches and review, and where contributions that are extractive are rejected until the contributor figures out how to make them constructive.

IMO, criteria for sustaining both quality & velocity in OSS:

  • Strong expectation of total community code review in balance to total new patches -- this means that long-time contributors (maintainers) must do more review than new patches.
  • Strong expectation of patches from new contributors rapidly rising to the quality bar where they are efficient to review and non-extractive.
  • Strong testing culture that ensures a large fraction of quality is mechanically ensured
  • Excellent infrastructure use to provide efficient review and CI so tests are effective

I think LLVM struggles with the first and last of these. The last is improving recently though!

20
16
9
0
Open post
Chandler Carruth @chandlerc@hachyderm.io
· 2mo ago
Replying to
@Gankra@toot.cat oooof, sad to learn that folks used the unsafe thing as an attempt to dismiss Rust wholesale... Thats just... :sigh: I understand why and how people do this, but it makes me sad, and exactly as you say, is super disingenuous. =/ Like... even if true, a) the delta here is small. It may matter, but it is still orders of magnitude smaller than the delta from _safe_ Rust to C++... anyways, mostly expressing sympathy for having to deal with that. How unsafe the unsafe dialect of _any_ language is should only be a talking point about how and when to use that unsafe dialect, not anything to do with the safe dialect or language as a whole... blarg. anyways. In a fun twist, Google (and I would guess lots of others) also turn off TBAA even for C++. I'm a big fan of optimizing with _lax_ alias assumptions outside of very narrow, small regions of code. Like an order of magnitude or two less than even unsafe code.
3
0
0
0
Open post
Chandler Carruth @chandlerc@hachyderm.io
· 5mo ago

Really sad to miss CppNow this year... =/ Wanted to attend, but have to be very selective in travel right now due to an very elderly kitty who needs a lot of medical care... Making it to NDC Toronto was the limit of the travel I could manage in the first half of the year.

That said, hope all the folks in Aspen are enjoying it and hope to see many of you next year!

8
0
0
0
Open post
Chandler Carruth @chandlerc@hachyderm.io
· 5mo ago

Very sad to miss #EuroLLVM this year... Hope the conference goes well!

(I'm currently minimizing travel due to an elderly / sick kitty, but will certainly return in the future.)

hachyderm.io
9
1
0
0
Open post
Chandler Carruth @chandlerc@hachyderm.io
· 2mo ago
Replying to
@Gankra@toot.cat First off, awesome thoughts just from the slide skim -- super happy to have this kind of feedback. Regarding writing interfaces -- that's definitely something we're thinking about. Are there specific examples off the top of your head that seem worrisome here? If so, super useful to know, and we can probably work some examples with them to see how it plays out. FWIW, the interfaces we've sketched so far look OK -- not as simple as Rust, but that was never an option. But they seem to be progressive in pulling in complexity, and provide a meaningful generic semantic model. That said, one of our next efforts specifically to build some of the primitives of the standard library in the model, as well as some of the canonical layers on top to evaluate. As I said, if you have thoughts of what might be interesting or hard, happy to try and include them in these. And if they surface problems, we can still change this easily. =] Regarding iterators (and slices) -- the whole system is designed to allow all of these to be abstract in the same way as pointers, and in a consistent way across all three. But definitely, this is going to be a critical thing to see how it plays out. Regarding unsafe code -- our plan is specifically to _not_ allow optimizing based on safety assumptions. That gives up some optimizations, but we largely don't have them in C++ today (what safety assumptions...), and so we think we can survive. If we need an optimization assumption, we'll add that as a separate and distinct unsafe feature so we can be wildly more cautious about it. So the hope is that the soundness bar for unsafe code is generally much lower (at the price of optimizer not leveraging assumptions). And regarding non-strict mode -- again, the hope is that we can lower the soundness bar to roughly that of C++. Which isn't perfect, but seems like an attainable state and a reasonable tradeoff point. We'll still have to see what it plays out as though. =]
2
1
0
0
Open post
Chandler Carruth @chandlerc@hachyderm.io
· 8mo ago
Boosted by @ferrix@mastodon.online
Anyone who would be interested in doing some commission art? I'd kind-of like some silly propaganda style posters about modern performance optimization ideas. Still brainstorming on all the slogans and such, but curious if there was anyone interested in this and what the prices would be. I'd be happy for the result to also be made more publicly available under a relevant, reasonably permissive CC license if that was appealing or not at the artist's preference.
11
10
25
0
Open post
Chandler Carruth @chandlerc@hachyderm.io
· 2mo ago
Replying to
@malwareminigun@infosec.exchange I would argue that empirically I have not known terminals to know how to wrap in useful ways.... ;] But its also a bit moot -- this primarily comes up in CI/CD with your favorite pseudo rendering of the text output on a webpage.
1
1
0
0
Open post
Chandler Carruth @chandlerc@hachyderm.io
· 6mo ago

Really enjoying this interesting and challenging write up about software engineering as it is changing underneath us: https://apenwarr.ca/log/20260316

I'm not sure I'm fully bought into the conclusions, but I find the core idea of quality being better achieved through a differnet process quite compelling. At least as an idea. Anyways, you should read it and have your own thoughts.

Choice pull-quotes for me:
"""
Every time something goes wrong, you have to ask, “How did this happen?” and then do a whole post-mortem and the Five Whys (or however many Whys are in fashion nowadays) and fix the underlying Root Causes so that it doesn’t happen again. “The coder did it wrong” is never a root cause, only a symptom. Why was it possible for the coder to get it wrong?
"""

"""
Maybe we finally have a compelling enough excuse to fix the 20 years of problems hidden by code review culture, and replace it with a real culture of quality.

I think the optimists have half of the right idea. Reducing review stages, even to an uncomfortable degree, is going to be needed. But you can’t just reduce review stages without something to replace them. That way lies the Ford Pinto or any recent Boeing aircraft.
"""

"""
Every team has some monoliths that are a little too big, and too many layers of reviews. Maybe we won't get all the way to Singularity. But, we can engineer a much better world. Our problems are solvable.

It just takes trust.
"""

apenwarr.ca
6
5
2
0
Open post
Chandler Carruth @chandlerc@hachyderm.io
· 5mo ago
Replying to
@Catfish_Man I don't, but I'm happy to be a driver for a day if you can't find anything else.
3
2
0
0
Open post
Chandler Carruth @chandlerc@hachyderm.io
· 8mo ago
Replying to

@boomanaiden154@hachyderm.io @meowray@hachyderm.io

LLVM also isn’t as good as it could be at turning contributors into maintainers interested in doing review

I strongly agree FWIW.

I think there are a lot of different factors here, but one I want to highlight: do folks in the community work to recognize, reward, and make it desirable to do reviews? Do they support the reviewers and create a culture than doesn't just indicate "you need to" but causes people to want to participate in code review? To, literally, find joy and fun in it?

Speaking just for myself, this (in various forms, and combined with depression and other mental health issues) is what burned me out, and caused me to pull back from the LLVM community many years ago.

We've been trying to find a way to healthfully sustain this kind of review culture in Carbon and are having some good success. And as I'm doing better on the mental health front in the last year, I'm also trying to come back to being a bit more involved in LLVM. In large part, my goal and what I want is to figure out how to help nudge the culture in this direction.

3
1
1
0
Open post
Chandler Carruth @chandlerc@hachyderm.io
· 4mo ago

FYI, https://ddbeck.com/notes/jj-git-push-bookmark-template/ is pretty nice!

I wrote up my own slugify function though:

```
"slugify(str)" = '''
truncate_end(
40,
str.first_line()
.replace(regex:'\. .*$', '')
.replace(regex:'^\[([^\]]+)\]\s+', '$1/')
.replace(regex:'[^[[:alnum:]] -]', '')
.replace(regex:'-{2,}', '-')
.replace(regex:'\s+', '-')
.lower()
)
'''
```

Think I might still want some more tweaks to this, but so far quite liking a bit more details in the branch name for when I see it in various surfaces like GitHub code reviews.

ddbeck.com
1
0
0
0
Open post
Chandler Carruth @chandlerc@hachyderm.io
· 8mo ago
Replying to
@meowray@hachyderm.io @boomanaiden154@hachyderm.io @shafik@hachyderm.io I'm not just describing something that is purely hypothetical or theoretical. There are open source projects that are (IMO) doing are fairly effective at striving towards this. For all of its failings, the Linux Kernel IMO does a decent job of this specific thing. I think both Rust and GCC are doing a bit better than LLVM with this specific aspect recently, although both still struggle somewhat. I think various parts of Go (but maybe not all of it) do pretty well here, etc. I also think a (much) bigger challenge than institutional incentives is the culture established by the leaders in the community: do they prioritize this? Do they do so in way that shows empathy, and makes people _want_ to join them in the effort? Do they bulid buy in with others in the community so that the _entire_ culture shifts in this direction?
2
1
0
0
Open post
Chandler Carruth @chandlerc@hachyderm.io
· 6mo ago
Replying to
@curiouserrandy Yeah, there is a type difference.... But I think I've skipped over another aspect. The rules and processes of state-backed laws and such are also optimized _for the most extreme_ versions of the state-monopoly on violence. We don't really have a legal system well tuned to handling fines and such. Don't get me started on how we respond to property damage or theft .... It's pretty nonsensical all around. But if you look at _dramatically_ violent responses enabled by laws like life-long incarceration in a way untethered to human rights and dignity.... all of a sudden, many aspects of the process make more sense. (Not all of them, but some. And more in their ideas than the practical realities. There is a long critique of legal systems that is warranted but off topic here.) The result is that the structures and approach to establishing culpability are skewed somewhat wildly toward enabling .... rather extreme forms of reprisal, that I think also preclude a complete inversion due to the perception differences of the different types of response. And my whole point here is to encourage communities is to avoid reaching for these excessively strong and ultimately self-defeating standards of operating when setting up things like moderation. Instead, embrace a more practical, simple, and judgement-call oriented approach. Because the stakes, while high, are worlds different from the stakes that legalistic mechanisms optimize for: literally violent destruction of every aspect of your life.
1
1
0
0
Open post
Chandler Carruth @chandlerc@hachyderm.io
· 6mo ago
Replying to
@modulux First, you can't "push back" on the notion that losing employment is trivial or unimportant. From my post: "That's not to say that either of these is an inconsequential event -- they can be very consequential." -- pretty freaking clear that I'm not calling this trivial or unimportant. Personally, I actually disagree about grounds for dismissal, but very explicitly only in a context with credible UBI. The absence of which I agree complicates the matter. But I don't think there is a "right" to a career that includes inherently high-trust interactions with other humans. That kind of career is inherently a social contract rather than a fundamental right. But we don't have UBI in any interesting context, and so that makes everything horribly complicated. But _none_ of these positions are "trivial" or "unimportant", and I was very explicit about that in my post. To your second point, the existence of bad actors or the ability of bad actors to manipulate a system is _completely_ orthogonal and irrelevant to the point I'm making. It's also hilariously blown out of proportion -- every piece of actual evidence (as opposed to anecdote) clearly shows that bad-faith actions are a sharp minority of the already small fraction of _any_ kind of bad behavior.
1
0
0
0
Open post
Chandler Carruth @chandlerc@hachyderm.io
· 6mo ago
Replying to
@curiouserrandy I definitely _agree_ with how essential trust is. There may be some bias, but I have too many data points that back it up... I'm not sure I disagree with anything in the article TBH, but the part I'm still thinking about before making up my mind is around code reviews being in essence a form of layered-QA that was shown to not actually achieve the desired quality in a manufacturing context. The historical lesson is pretty clear cut, but I have questions about whether the analogy applies effectively to software. But it is a really interesting challenge my assumptions about software and so something I'm continuing to ponder.
1
2
0
0
Open post
Chandler Carruth @chandlerc@hachyderm.io
· 8mo ago
Replying to
@shafik@hachyderm.io @boomanaiden154@hachyderm.io @meowray@hachyderm.io I think the key thing I would emphasize is to attack the meta-problem rather than your personal ratio here -- how do we create a culture and community that _consistently_ pushes for a healthy and sustainable balance. That's where I think individuals can make the most difference here.
1
0
0
0
Open post
Chandler Carruth @chandlerc@hachyderm.io
· 8mo ago
Replying to
@boomanaiden154@hachyderm.io @shafik@hachyderm.io @meowray@hachyderm.io FWIW, I actually don't think the incentives are that hard to align here.... I think the problem is that we've gotten burned by a tempting but implausible fiction of prioritizing patches over review / maintenance / building community. I'm being completely genuine when I say this is tempting, and incredibly hard to resist. But I think that culture is the dominant factor here, and with the right culture, the community can establish and uphold the necessary incentives.
1
0
0
0
Open post
Chandler Carruth @chandlerc@hachyderm.io
· 44mo ago
Replying to
@DavidM_yeg Yep. Zero punches pulled. I love it.
8
0
0
0
Open post
Chandler Carruth @chandlerc@hachyderm.io
· 32mo ago
Replying to
@mcc@mastodon.social I constantly do this on so many video websites these days. Even ones where I've been able to disable the auto-play because I just assume a hostile environment. :sigh:
3
0
0
0
Open post
Chandler Carruth @chandlerc@hachyderm.io
· 18mo ago
Replying to
@AsahiLinux Is Open Collective preferred over GitHub sponsorships if I'm happy either way? Any other tradeoffs for those on the project?
1
1
0
0
Open post
Chandler Carruth @chandlerc@hachyderm.io
· 7mo ago
Replying to
@boomanaiden154@hachyderm.io @malwareminigun@infosec.exchange @AaronBallman@social.vivaldi.net @meowray@hachyderm.io I agree the pre-merge CI is OK, and improving a lot these days. But I also think there is a lot more we can do here. For example, I'd really love us to have some execution testing and/or real-world compilation testing of Clang. I also think we can apply a lot more tooling to the correctness side of things once we close out the unsoundness issues. So I'm still pretty optimistic overall about our ability to ramp up the QA level we can do upstream and automatically.
0
0
0
0
Open post
Chandler Carruth @chandlerc@hachyderm.io
· 2mo ago
What should a friendly compiler do when rendering diagnostics visually (let's assume it has a separate and good screen reader mode, which it should) when there is no column-width information from the terminal, but it otherwise looks like it fully supports colors, unicode, the works?

What should a friendly compiler do when rendering diagnostics visually (let's assume it has a separate and good screen reader mode, which it should) when there is no column-width information from the terminal, but it otherwise looks like it fully supports colors, unicode, the works?

0
1
1
0
Open post
Chandler Carruth @chandlerc@hachyderm.io
· 7mo ago
Replying to
@boomanaiden154@hachyderm.io @meowray@hachyderm.io PRs, and really leveraging all the tools GitHub gives you for PRs are another really useful bit of infrastructure. I think the new test setup on GitHub is already a _huge_ step here -- you need reliable CI that actually matches the expected support surface. Using tools like pre-commit to have CI-style checking of lots of "non test" things (formatting, etc), and to do this not in a one-off (the current formatting bots) but as a systematic thing that can easily be extended again and again to automate every step possible. Expand testing and CI to cover much more integration testing and system testing so that more things can be caught early and automatically. FWIW, systems like Bazel really pay dividends here... =/ And once you have the CI automating as much as you can, tie it into a merge queue with no direct commit.
0
0
0
0
Open post
Chandler Carruth @chandlerc@hachyderm.io
· 6mo ago
Replying to
@curiouserrandy I feel like I tried to directly address that fear: """ That's not to say that either of these is an inconsequential event -- they can be very consequential. And so folks I think feel motivated to push them to the higher standard. """ And in _this_ post, I'm not trying to address this fear being weaponized (agree it is, and that's a big problem, just not for this post). All I'm trying to highlight that the standard we reach for to address this fear shouldn't be the _same_ standard that we use for state-backed "ostracization" of incarceration and physical violence. The standard that is used there is probably not well optimized for addressing the real, but categorically lower, risks of ostracization from an OSS community or collection of work colleagues. And when we *do* reach for that higher standard, it gives IMO a very damaging impression of conflating these two risks as of a similar magnitude. But banning you from an online space is very different from physical assault, hand cuffing, and incarceration. =/
0
3
0
0
Open post
Chandler Carruth @chandlerc@hachyderm.io
· 2mo ago
Replying to
@malwareminigun@infosec.exchange The use of tabs in source code was a mistake. :micdrop:
0
1
0
0
Open post
Chandler Carruth @chandlerc@hachyderm.io
· 8mo ago
Replying to
@shafik@hachyderm.io @meowray@hachyderm.io I still think the key is the cultural prioritization of balanced contributions between new patches and review. But I completely agree that sustaining that cultural prioritization without _significant_ funding so that people are actually paid for these balanced activities is almost impossible for large projects. And this kind of funding means either sustained long-term commitment from large corps, or something like Igalia, Lenaro, RedHat, or a dedicated foundation. However, I think LLVM _has_ this kind of long-term large-org commitment. But it has struggled to channel that commitment to some of the needed code review and maintenance needs of the project. We're actually making good progress on changing this within G, although still lots to do. But I want to point out that this won't work with one or a few organizations -- the entire community needs to embrace the culture shift, _and push large orgs to uphold it_, for it to succeed.
0
0
0
0
Open post
Chandler Carruth @chandlerc@hachyderm.io
· 6mo ago
Replying to

@curiouserrandy

Yeah, I am also thinking along similar lines.

The more I think about it recently, code review has ended up in an awkward place:

  • Try to do optional code review, it just never happens
  • Eventually, make it mandatory and pre-commit to ensure it happens
  • Ooops, now it's not just a second set of eyes, it's a layer of review process to make progress

Pair programming I think neatly side-steps this doom loop, which in nice. But it has its own challenge due to its synchronous nature: timezones. This makes it incredibly difficult to insist on, especially in environments like open source projects.

What I want is an async code review process that feels more like pair programming rather than a layer of review, and so doesn't explode to the 10x cost. But not sure how to achieve that (yet).

0
0
0
0
Open post
Chandler Carruth @chandlerc@hachyderm.io
· 40mo ago
Replying to
@LadyDragonfly@universeodon.com This seems relevant to @ian@hachyderm.io 's interests....
0
0
0
0
Back
313k7r1n3
Elektrine

Tor hidden service

elekhj7afj4qnrr4yd3bkzslsyo5jgfxw3orgjkhlcxifueodybyiiad.onion

I2P eepsite

j6b6cyk6gjmepjih7jjadxgxvvf3lzzujljuu2v4biemzpg3naya.b32.i2p

Platform

  • Email
  • Chat
  • Timeline
  • VPN
  • DNS

Company

  • About
  • Contact
  • FAQ
  • Lite (no JS)

Legal

  • Terms of Service
  • Privacy Policy
  • Transparency Report
  • Report Abuse
  • Warrant Canary
  • VPN Policy

Support

  • support@elektrine.com
  • Report Security Issue
Mail client setup IMAP mail.elektrine.com:993 POP3 mail.elektrine.com:995 SMTP mail.elektrine.com:465
© 2026 Elektrine. All rights reserved. Server: 12:35:33 UTC