1,759 karma · joined April 13, 2009
That said, Reddit moderation seems stuck in a weird limbo where moderators have a lot of power on paper but completely ineffectual tooling to combat organized and systemic abuse.
Given those limitations I find it hard to imagine Reddit modding ending up any other way.
What I'm trying to say is that if you see Rust evangelists everywhere, your label is either so wide-ranging as to be useless or you need to rm your rust_evangelist_evidence.txt because it's likely taking up a disproportionate amount of headspace.
The reason why C++ is as popular as it is is in large part due to how easy it is to upgrade an existing C codebase in-place. Doing a complete RAII rewrite is at best a long term objective, if not often completely out of the question.
Acknowledging this reality means giving affordances like `defer` that allow upgrading C codebases and C++ code written in a C style easier without having to rewrite the universe. Because if you're asking me to rewrite code in a C++ style all in one go, I might not pick C++.
EDIT: It also occurs to me that destructors also have limitations. They can't throw, which means that if you encounter an issue in a dtor you often have to ignore it and hope it wasn't important.
I ran into this particular annoyance when I was writing my own stream abstractions - I had to hope that closing the stream in the dtor didn't run into trouble.
Though I do wonder what the chances are that the C subset of C++ will ever add this feature. I use my own homespun "scope exit" which runs a lambda in a destructor quite a bit, but every time I use it I wish I could just "defer" instead.
That being said, after thinking about it, I actually have done what you're talking about before - just not on Discord. When I find someone, I simply add them on Steam, PSN, or whichever account the game uses.
However, from a community space point of view, it seems to be more similar to IRC than Discord. Much like an IRC server, there's a public list of channels and you join them individually. There is voice and video chat, but as far as I can tell it's only person to person without any voice and video conferencing like Discord has, and I've never actually tried them to see how well they work.
Some organizations, such as Mozilla, run their own Matrix server in order to corral the community into one place, but more often than not I see communities creating a single channel on the primary matrix.org server, and "expand" by adding more channels, IRC style.
As an IRC replacement, I think it's perfect. But if you are expecting something more similar to Discord in terms of functionality, you'll likely be looking elsewhere. Stoat is what I see most frequently touted, but I can't speak to it personally.
And that is what Discord alternatives will have to solve - the ease of setting up a new Discord "server" by any old random user is hard to beat in terms of convenience. Matrix is the only real alternative on that front.
However, if you have an established community and have at least a little hosting knowledge among the staff, the moat is shallow to nonexistent, and it's just a matter of how much of a pain in the neck Discord decides to be.
More importantly, Discord's communities are silo'ed, private by default, and administered and moderated by human beings with almost no oversight from Discord proper.
There is no equivalent on Twitter. On Reddit, going dark makes you subject to administrative subreddit takeover. But if someone runs a Discord community that they want to migrate to another platform, they could easily lock the entire server to posting and post a link to the alternative community. Done.
...and not on Hacker News. Too many pseudo-anonymous jerks, too many throwaways, too much faith placed in gamified moderation tools.
Obviously vim doesn't need AI, but one feature I really wish vim had was native support for multiple cursors.
It's the feature that lured me away to Sublime Text in the first place many years ago, and it's a pre-requisite for pretty much every editor I use these days, from VSCode to Zed.
There are plugins, but multicursor is such a powerful force-multiplier that I think a native implementation would benefit.
You know what else is common in the games industry? C# and NDA's.
C# means that game development is no longer a C/C++ monoculture, and if someone can make their engine or middleware usable with C# through an API shim, Native AOT, or some other integration, there are similar paths forward for using Rust, Zig, or whatever else.
NDA's means that making source available isn't as much of a concern. Quite a bit of the modern game development stack is actually source-available, especially when you're talking about game engines.
C++ on the other hand? Possibly, though I think that it's just as much because of the own-goals of the C++ standards committee as it is the successes of Rust. I don't really consider Zig a competitor in this space because if you're reaching for C++, you are reaching for a level of abstraction that Zig is unwilling to provide.
In theory. In practice the standards committee, consisting of compiler vendors and some of their users, shape the standard, and thus the standard just so happens to conspire to avoid ABI breakages.
This is in part why Google bowed out of C++ standardization years ago.
I remember when learning Zig, the documentation for the language itself was extensive, complete, and easily greppable due to being all on one page.
The standard library was a lot less intuitive, but I suspect that has more to do with the amount of churn it's still going through.
The build system also needs more extensive documentation in the same way that the stdlib does, but it has a guide that got me reasonably far with what came out of the box.
> The correct response when someone oversteps your stated boundaries is not debate. It is telling them to stop. There is no one to convince about the legitimacy of your boundaries. They just are.
Sometimes, an appropriate response or argument isn't some sort of addressing of whatever nonsense the AI spat out, but simply pointing out the unprofessionalism and absurdity of using AI to try and cancel a maintainer for rejecting their AI pull request.
"Fuck off, clanker" is not enough by itself merely because it's too terse, too ambiguous.
I believe it is possible to make an argument that is dismissive of them, but is persuasive to the crowd.
"Fuck off clanker" doesn't really accomplish the latter, but if I were in the maintainer's shoes, my response would be closer to that than trying to reason with the bad faith AI user.
If someone is demonstrating bad faith, the goal is no longer to convince them of anything, but to convince onlookers. You don't necessarily need to put in a ton of effort to do so, and sometimes - such as in this case - the crowd is already on your side.
Winning the attention economy against a internet troll is a strategy almost as old as the existence of internet trolls themselves.
Writing a hitpiece with AI because your AI pull request got rejected seems to be the definition of bad faith.
Why should anyone put any more effort into a response than what it took to generate?
Recognizing what is going on for what it is would be a good first step.
I disagree, because what seems to always be the logical next step is "My monoculture is superior, and deserves dominion above your monoculture, which deserves eradication. And oh by the way, if you don't like our monoculture and try to escape it, we'll invade that place too."
That's kind of what the "mono" in monoculture implies. Multiculturalism isn't an asset because it's the most stable form of soceity, rather it's best we've figured out when the alternative is bloodshed between warring tribes.
What I actually said was that it was the second language I have seen to do so at any appreciable scale. I never claimed to know all languages. There was also an implication that I think that even if a language claims to be a C replacement, its ability to do so might exceed its ambition.
That said I also hold no ill will towards Walter Bright, and in fact was hoping that someone like him would hop into the conversation to try and sell people on why their language was also worthy of consideration. I don't even mind the response to Walter's post, because they bring real-world Dlang experience to the table as a rebuttal.
On the other hand, I find it difficult to find value in your post except as a misguided and arguably bad-faith attempt to stir the pot.
I'm not so familiar with D, what is the state of this sort of feature? Is it a built-in tool, or are you talking about the ctod project I found?
In most languages, I've found that source translation features to be woefully lacking and almost always require human intervention. By contrast, it feels like Zig's `translate-c` goes the extra mile in trying to convert the source to something that Zig can work with as-is. It does this by making use of language features and compiler built-ins that are rather rare to see outside of `translate-c`.
Obviously the stacks of @as, @fooCast, and @truncate you are left with isn't idiomatic Zig, but I find it easier to start with working, yet non-idiomatic code than 90% working code that merely underwent a syntactic change.
I find it helpful to think of HN like one would any other social media site. There are things they could be doing to curtail these sorts of accounts. They have apparently chosen not to.