it was created by nazis for a nazi agenda.
Source on that? I’m serious. I did a bit of googling and do see that the likes of Ben Shapiro have been using it, but that’s definitely not where I have it from, and you’ll also see plenty of left-wing uses of it.
I have zero patience for people who side with fascism.
I referred you to a quite precise definition of what I mean by the term. Can you explain to me how criticising the things encompassed by that definition would put me “on the side of fascism”? Fascists have come up with plenty of terms leftists use all the time, an obvious example would be the word “fascist”. Allegiance to fascism, I’d say, cannot be inferred merely by use of some shared vocabulary, you have to go deeper than that.
In any case, and I hope you see the irony, going nuclear over the use of such a term, to drill down on syntax instead of semantics, is not unlikely to fit the wokescold pattern of behaviour. Depends a bit on how you do it but overall I’d say it’s likely you’d hit at least some of the checkboxes Zena+Poppy are giving.
I’ll just quote Zena+Poppy on the term. You may not like it, you might prefer clinical analytical language such as “puritanical progressive” or whatever, but from the context I used it in (making direct reference to social dynamics) it should be obvious that I used it in that sense.
And, no, tankie is not a “horrible fucking word”. It is precise and succinct, also, tankies hate it.
What, the term “tankie”? A term coined within the Communist Party of Great Britain? The CPGP is alt-right, now?
Calling the term “alt-right” is just a quick way of telling me you’re a tankie without telling me you’re a tankie.
Oh. “wokescold” is another possibility but that’s rather unlikely, while the right has appropriated “woke” I’ve never heard them use “wokescold” which is precisely used by people who know and understand the original meaning and simply want to call out certain problematic behaviours done in the name of, but not to the benefit of, wokeness.
Rojava is a decentralized capitalist region
And the USSR was a centralised state capitalist system. China has even left the “state” part behind and is nowhere nearer abolishing class than it was at the start of the revolution. It actually regressed in that regard.
But, fine, call Rojava that if you will. Just shows how you can’t see any possible roads to communism that don’t involve the failed experiment that is state capitalism.
though it was managed centrally by the EZLN
The EZLN does not manage centrally. The EZLN is not even a governing body. It’s a decentralised milita that councils tasked with matters of military security. It is those councils which are the governing body, not the EZLN. Rojava operates alongside the same lines, though details differ because cultural, material, and other differences.
I know it might be incomprehensible to you: A literal army, with all the capability it could wish for to order the local population around, sat down with the local population and told them about their ideas. The population then told them about theirs. They discussed, mutually refined their ideas until there was a consensus on how to move ahead, leading to what you see now. No shot was fired, noone was sent to gulag. They’ve also been capable of large organisational reforms, deliberated to consensus, implementation happened just a couple of months ago.
Maybe you should set aside some time and actually study those regions, not just read tankie cliff notes about how they supposedly work, or don’t, or are secretly authoritarian, or whatever.
The Bolsheviks who established the USSR were also “social democrats”
The Bolsheviks were never democrats and the French social democrats still call themselves communists. But that’s rather besides the point: The Cuban revolution was in the late 50, by then the split between SocDems and communists (both liberal and authoritarian) was not just done it had hardened. Heck the revolution ended in 59, after the word tankie had been established, which was 56, in direct reaction to the Soviet invasion of Hungary.
The point I’m making here is that Fidel & Co came to the US, said “We’re eyeing doing something like your European allies are doing and want to be friends, you know, unions, welfare, worker’s rights”, the US said “nope, can’t have you not be slaves to Bacardi and United Fruit you’re our colony after all”, Cuba said “never mind then we thought we could be friends then we’ll go with our second choice, the USSR”. The USSR, then, demanded from their allies a heavily authoritarian slant, so Cuba adopted it, in the interest of national survival not out of preference. Which is also why they are by far the furthest along among the surviving ML states when it comes to democratisation. Vietnam is second, with quite some distance, China makes no moves in that regard and North Korea, well, North Korea is only ever getting worse, not better. Oh, Eritrea. Same.
You can’t create a stateless, classless communist society from capitalism without a transitional socialist state that breaks the monopoly on force and propaganda that capitalist states have — specially in a world ruled by capitalist superpowers like the US which constantly coups and invades non-capitalist states.
Ask the Zapatista. Yes, the US tried to get rid of them, couldn’t, learned better and now is just letting them be. Rojava is an even better example as the US wilfully allied with them.
Figures if your revolution isn’t centrally organised by Moscow or China post-McCarthy US doesn’t actually care. Present-day US would’ve also let Cuba be SocDem, as was the original intent of the revolutionaries, instead of pushing them into alliance with the USSR.
lemmygrad is full of full-on tankies, the type who would willingly send birthday greetings to comrade Stalin while imprisoned in a gulag, lemmy.ml once was a default instance and thus has random folks on it but is admin-wise run by tankies and generally seems to serve as the preferred instance for lemmygrad folks to have alts on. Stay away from political communities there e.g. their worldnews community is a silly place. Hexbear is hit and miss, not so much hardened tankies there but wokescolds and random lefties who don’t quite realise who they associate with, why that kind of social dynamics is no good. Might have some inane takes, occasionally prone to dogpiling, but at least you can have a conversation with them.
I might be a tad out of touch, which can probably be inferred by the ctl
part, but it’s the concept that matters, and this applies to any daemon: You configure, you start, you possibly change the config, and you tell the thing to reload the config.
On my system everything gets switched all at once with nixos-rebuild switch
or home-manager switch
: File systems get mounted and unmounted, daemons stopped and started, the whole system gets upgraded if necessary. It can be that easy. If it isn’t, maybe that’s a thing to look into before looking into plugins.
I mean, there’s a reason why Godot is slowly-but-surely taking over the world of Game Engines and I have never heard of bevy before now. Ease of use and ease of development (overall) trumps performance every time.
Godot set out to be an open source unity, bevy set out to finally build an ECS-centric game engine with performance as its top goal. Bevy is also quite a bit younger, and not yet feature complete, but also far from a small hobby project it’s serious business.
We’re looking to expand the pool of people who are technically able to run fediverse servers. Not shrink it.
Why would an admin care if setting a particular setting in a config file causes compilation of a custom binary, or the standard binary, once started, compiling/loading a dynamic plugin? There’s no discernible end-user difference. In both cases you do the equivalent of ./lemmyctl [start|reload] --config my-config.json
or such.
Like it would be absolutely inane if Godot asked gamedevs to recompile Godot from source to add shared functionality.
They do, for a lot of things: Not everything you can do with modules can be done with plugins, while everything that can be done with plugins can be done with modules. And bevy requires it for everything: If you want a scripting layer you have to bring your own, the project doesn’t, and won’t, provide one. The envisioned editor indeed involves building everything from scratch, not just loading things into a pre-compiled runtime.
and you’re suggesting they set up CI/CD pipelines!
Nah I suggest they run them. Either as-is or after tweaking some knobs. And frankly speaking running a server is not like opening MS Paint, if you don’t have some background technical knowledge if the software doesn’t eat you then the next botnet will.
It’s still plugins. It’s still configurable without need to write code, or know Rust. Just the compilation step occurs ahead of time instead of at runtime.
And plenty of software is written that way btw though more often in the commercial and embedded sector. This goes into the general direction of a Software product line. As you mentioned godot: Game engines also tend to do it, simply for performance reasons. You can implement quest logic in a dynamic layer, but if you need custom physics or such it needs to get baked into the binary. Godot calls those things modules instead of plugins but really it’s the same thing at a different point in compilation time.
Deploy? I’m a programmer, not devops. I’m barred from production.
Erm. Anyway. If you do it right you can have one nix flake that people can edit and the thing itself then decides whether it can use a standard binary or needs to do a custom build, no difference to the admin. The code needs to be compiled one way or the other, with Rust it just happens to be simpler, and just as automatable, to do it ahead of time instead of at runtime.
Compiling a custom binary can be streamlined (Rust certainly already has a quite painless in-bult mechanism), and you can mix and match dependency injection that’s not an issue. It may not be a fancy wheel but it’s a sturdy wheel and a wheel that doesn’t need to be invented yet.
Why introduce a dynamic scripting layer if you can dependency-inject a crate, compile your custom version, and replace whatever is running just as if you’d be restarting the server, picking up where it left because all the important stuff is ACID? (Or at least I hope that’s how lemmy works, never actually had a look at the code).
Certainly less development effort, gets as cheap as putting the function to be customised in a lazy static. The difficult part is the API that goes along with it, providing a stable interface to plugin writers because if you don’t have that you can just as well tell people to patch the function directly. And at the same time lemmy’s version number starts with 0 which doesn’t exactly sound compatible with API stability, and bugs need fixing. As such it comes down to the same thing: If people want a plugin system, they’ll have to contribute as dessalines and nutomic seem to be perfectly busy keeping the ship afloat.
Python is a dynamic language just as PHP, you can monkey patch there. Neither are anywhere close to the performance level of Rust or C++. I wouldn’t call their approach better: It’s very brittle, nothing tends to be well-specced, things easily become bug-compatible and a nightmare to maintain.
Godot has fixed extension points, which on top of that are accessible via gdscript or C#, not C++. Things you can hook into. Figuring out for which things that should be possible for, and how the interfaces should look like, is not something where eyeballing works.
Doing it the godot way would be rather pointless with lemmy as there’s no need to extend the server’s functionality while it’s running, you can just replace the whole binary which is way simpler to do but the sensible way to go about it dynamically would be to use wasm. In both cases you’d need to figure out exactly where plugins should be able to hook into, there’s no way around that without eating PHP’s and Python’s performance and maintainability costs. Also, rewrite everything.
in a way that people think to be very intransparent, undemocratic.
Of course they call the shots. But you can do that in various ways.
Go to github, look at the tickets, look at the PRs, look at the discussions. How is that intransparent. And, no, just like science FLOSS is not a democracy, and wikipedia is not a FLOSS project they’re a bunch of dictionary editors paying people to work on mediawiki, the software that runs the site.
Go on have a look at open tickets tagged “enhancement” and the same for the web interface. Go there and tell me again how it’s all intransparent, and how the devs don’t know what the users of the software (first and foremost admins btw) want.
Look at that massive list and then switch from “enhancement” to “bug” and possibly understand why some of that stuff might take some time before it gets addressed.
Look at the massive amount of pull requests that get merged, authored by a gazillion of different people. None of them from beehaw.
popular
Is generally not how software development works. If you always do the most popular thing first what you end up is with a lightyear of duct tape holding together an abomination of technical debt. Also, to paraphrase Henry Ford: “If I had asked people what they wanted I’d have bred faster horses”.
Regardless, I don’t see how they could dictate anything since they lack power over the devs.
Lacking power doesn’t mean that no attempts are made. You can be as polite as you want if I don’t want to build that observation post and you keep pestering me that’s an attempt to dictate what I do with my time. Even just dealing with the pestering is a time sink.
You keep characterizing them in negative ways, what’s that about? I feel like I’m missing something here
I’ve dealt with entitled users before. The wider FLOSS community has oodles of experiences with toxic behaviour from users, nothing about this is new or even surprising if you’ve been in the space for a while, it’s all the same pattern: First they act like they’re paying customers, then you tell them that they’re not (but that patches are welcome), then they say “well I’ll never use your software if your attitude is like that”, then you say “fine with me”, then they either leave or start to shout, at which point you block them. A FLOSS project needs healthy erm ego boundaries or it dies because nothing ever gets done.
FLOSS developers contribute because they want to build a specific thing. Conversely, if you want a specific thing that noone else already built or is excited to build, you have to contribute. There’s no such thing as a free lunch.
a problem is they they feel like their code contributions will not even be accepted for lack of shared goals. For example showing voting totals.
They’re free to not run the upstream version but their own patched one. Not being willing to write code will certainly not make that feature landing any more likely.
Plugins in Rust are a whole can of worms, what with AOT compiling and static linking, you can’t just monkey patch everything like in PHP. Essentially a plugin system would be a way to organise patches, to dependency inject admin-provided libraries instead of default implementations. Having a collection of patches should help designing such a thing, Personally I wouldn’t even consider designing such a thing before it’s clear what it will need to do, where it needs to provide hooks, also, that it will be used.
What, exactly, do you think entitles beehaw to dictate what the lemmy devs should prioritise?
If I’m getting the neighbourhood together to build a playground for the kids, and you come along and says “You must now build an observation post for my bird watching club”, how would you expect me to respond? Especially while I’m holding up a heavy beam frantically looking for something to rest it on so the whole structure doesn’t collapse?
I think answering “I have no objections to you building that observation post” is a perfectly adequate response. I don’t owe your bird watching club jackshit, and neither do the lemmy devs owe beehaw jackshit.
Indeed I’ll stay an anarchist no matter how much tankies and/or wokescolds whine. Have a good day.