LemmyBB, a federated bulletin board
join-lemmy.org
join-lemmy.org
Now, if only someone implemented the old IPB theme! Pic: https://images.sftcdn.net/images/t_app-cover-m,f_auto/p/3753...
It was also, well, optional. None of that algoboosted dopamine-head datamining freakshow that's leaking into the world in a way that the AI alarmists seem to be ignoring entirely.
What got the initial critical mass of people hooked, is that they were already familiar with the idea of an online conversation space, and liked expressing themselves through that medium. So the idea of a unified global forum was alluring, and the ego-boost of personal bubbles, as well as the fact that the admins were staying out of sight, no doubt sealed the deal.
And then, well, you know what they say about boiling a frog. By the point the experience degraded beyond pointless, there was already enough of a data corpus to build the dopamine loops, and a critical mass of users - so that everybody would be "there" because everybody else would be "there".
Then, it started "replacing reality" by privatizing the means of social consensus. Any manipulative person will tell you (or won't) that normal human emotions are, in the end, quite predictable. If there's truth to "AI risk", who's to say it won't get to us through our emotions, like drugs do? Perfect crime against humanity, in plain sight. Not exaggerating in the slightest.
Thankfully there's enough "weirdos" to remember what the old Internet was all about, so an alternative is at least technically possible.
Source: I was marginally involved in the project early on, before political ideology got in the way.
Can't work with someone who is radicalized, they tend to take criticism as attacks and will attack back, sometimes preemptively if they get paranoid and start seeing ghosts.
In those cases only use it if you can maintain it and fork it. Because you can't trust that someone with so extreme political views will not remove the software because they don't agree with whatever downstream group using it.
Makes sense, but it might as well not be the case.
I guess it depends in exactly what they believe and how they think it should be achieved, since I've met people who were extreme in their positions, but capable of accepting others and staunch critics of their side.
Thinking about it, I guess the main difference with these two guys was that they didn't preach and were old as hell. Probably age earned wisdom, who knows.
With federated services, then at very least the people making the technical decisions around the protocols should try to be politically neutral.
The cost of the actual implementation being under the control of political idealogues is less, since forking doesn't impact the API - but it's still not desireable.
The stated reason for not removing it or making it configurable was "to make it as difficult as possible for far right instances to use Lemmy", but all it really seems to have resulted in is a dozen or so forks dedicated to removing the slur filter and at least one missed customer who doesn't like dealing with "computer says no" nonsense (by which I mean me, I always like trying out fedi tools).
It eventually did get configurable if memory serves me right, but that took several years. I'm sure there's more, these sorts of ideology driven projects always end up with similarly crappy anti-features.
This seems to be along similar lines (though considering how other Reddit alternatives ended up, I guess that's fair enough!)
you mean the guy who uses che guevara as profile picture on github has some strong political views?
I bet they'd be all riled up if someone used Mussolini or Franco as their profile picture.
It shouldn't be acceptable to glorify neither of: Hitler, Franco, Mussolini, Mao, Stalin, Fidel, Guevara, Hussein, Pinochet, Ceaucescu, Gaddafi, etc.
My point is that authoritarian murderers are authoritarian murderers no matter their political affiliation and should not be glorified. You can be against one extreme without supporting the other.
Although I'd say the tag kind of fits, but Bush is in another category. All the people I mentioned had in common the persecution, imprisonment and execution of their own people at a massive level and maintained power by force. Bush went after other countries and was voted out in the end.
Profile pictures are not necessary used for glorification. It often used for trolling also, especially on classic forums.
Does "federated" mean decentralized?
Their list of instances is likely curated to ignore instances that don't match their beliefs.
Hopefully, as all should be.
I could understand going as far as Go, but further than that it just feels not the right trade-off for the productivity lost.
Oh so many reasons:
Lemmy is a socialist project. Rust is a project that has it roots in FLOSS movement and Mozilla foundation. Go, otoh, is Google's thingy; a tech/advertising multi-national.
Technically Go is in some ways less low level than Rust. See the null guards everywhere in Go, and the idiomatic abstractions that Rust provides for this in the stdlib. Rust has sum types that allow for really high-level abstractions, was designed with generics in mind.
I personally find it more intellectually rewarding to program in Rust, over Go or say Python. The stack overflow favorite list shows more people like Rust as a language.
You call it "more trouble than it's worth", but that's up to the Lemmy devs to decide. As a FLOSS project, expecting they put in the effort of love there...
Sure Go was a viable alternative; but would the devs enjoy writing it in Go? Also then they would be skilled in Go, maybe that's not what they want.
As in the project itself is socialist? What does this mean?
I myself am guilty of this, I wrote a web app recently using Rust, mainly because I wanted to learn Rust. I probably wouldn't reach for Rust next time as implementing my project in it has felt like overkill throughout.
Sure, there used to be a tradeoff between performance and expressivity in a language, such that a "low-level" language would just become crufty and kludgy up to the point that someone would decide "screw it, we'll implement a safer but less performant language in this less safe but more performant one".
Today, the hardware is much more powerful, and the theory and practice of software development is more advanced. Thanks to open source, devs have been exposed to good ideas from all corners of the ecosystem, so all that would remain is coming up with sane syntax and semantics - and Rust positively excels in that regard.
I'm fluent in Python and JS, but I put off learning "low-level" languages because of the innumerable footguns. Go looks like it has plenty of those, too, and TypeScript is... just a mess. Rust is next-gen stuff in my opinion, and categorizing it as just a "systems-level" language makes no sense. It's "systems" all the way down, and the more kinds of systems a language can efficiently cover, the more good things can come out of it.
Rust exposes low level primitives and is efficient, that's nice and all, but you mostly don't actually think about them when programming non-low-level applications.
What it does force you to think about a lot is it's correctness guarantees. Things like only letting you modify data that no one else currently has a reference to, and things like forcing you to check error conditions by wrapping them behind an "enum" (algebraic data type). Rust is making a tradeoff here between friction in writing code, and the the amount of time it takes to understand code as well as the number of bugs you write.
All in all, for most large programming projects there is no language I think I'd be more productive in than rust. For small scripts, the tradeoff can be less worth it (in which case I tend to use python, or for even smaller ones bash), but those scale poorly to giant projects where you want to be able to do things like refactor without introducing bugs in a file you forgot about.
It happens to be the case that rust maps many of it's primitive types directly to low level types that you can reason about in a low level fashion (e.g. ADTs are tagged unions, references are actually just pointers - maybe with a second vtable pointer depending on the type) - but you don't need to do that unless you're worrying about optimizing the constants for performance or doing terrible hacks with unsafe.
You're moving around strings and talking to a database, and possibly doing some templating. It's not rocket science, and provides the same story as Go with regards to build + deploy.
Rust says "a String is a valid Unicode sequence, an OsString is a valid filename according to your OS, and a &[u8] is a sequence of bytes; I'll enforce the validity of these types for you". Go says "a string is a sequence of bytes, make sure you use them correctly."
Rust says "here's an Iterator interface, with hundreds of methods for your convenience". Go says "we didn't have polymorphism when the standard library was developed, so there aren't any fancy iterators; how about you use a for loop?"
Rust says "error handling is important, so there's syntax built into the language for it (the '?' operator)." Go says "just write `res, err = func(); if (err) { handleErr }` over and over again."
Rust says "please think carefully about the difference between shared references, mutable references, and ownership; I'll be checking your work." Go says "you don't need to think about that, I'll keep track of it with GC for you (unless your sharing data between threads in which case you do and you're on your own)".
In the last instance, Rust is lower level than Go. But in the rest, it's higher level.
Yet it has a lot of nice abstractions you usually see in much higher level languages like Scala or Lisp.
So if you already learned C, you can learn Rust and see it as higher level than the usual Java/Go.
If you skipped C and this is your first time learning heap memory management and pointers, then yeah, Rust will feel lower level
This situation is why there is such a big disconnect on people's opinions on rust I think. That and that it's oddly popular among total programming noobs. Not anything wrong with that but I don't recommend it as a first language anymore than C, for the same reasons. Might as well walk before running
They all suck in their own special way.
Something that has some intelligence on top and shows only the most relevant path through a thread (based on replies and mentions) and somehow puts less emphasis on all of the off topic discussion that tend to happen in forums.
https://meta.stackexchange.com/questions/2267/are-there-any-...
If you federate one of these with a reply tree based lemmy instance, do all the comments from one instance have absolutely horrid organization on the other instance? I guess you could just always just not do that (federate cross reply style) though.
Personally I don't find it so hard to follow conversations, but my UI also helps with following the discussion you find interesting, as the comment a comment is replying to is visible as a "quote" in the reply, and there is a link to go back to it as well, that also has a "quote" of the previous comment, and so on.
It's also nice to be able to hit refresh in the browser and see exactly what comments are new, if it's a submission I'm very interested in seeing all comments in.
Finally, doing research in some topics I sometimes search on HN for information, opening up all the discussions in Ditzes for a flat view helps making that research more efficient.
I really wanted to see something like this for Matrix but despite seeing some functional prototypes, it doesn't seem like anyone stuck with it...
Looks great.
I don't know how many generic AP backend servers are out there, but it looks like Lemmy is becoming one. I hope they keep with the AP spec and allow any functionality in addition to it to be modular.
Looks like a cool concept. The last topic on the federated link on the Flagship instance for lemmyBB,
https://fedibb.ml/viewforum?f=3#:~:text=LemmyBB%20on%20Lemmy...
...is just a dead link. I'd like to see how the federated aspect works as a user.
In context:
https://fedibb.ml/viewforum?f=3#:~:text=LemmyBB%20on%20Lemmy...
Link that breaks:
> This instance runs Lemmy as backend, so it can federate with Lemmy, and all other compatible software. But for now, nothing is actually federating. You can enter a community or post url in the search field to fetch some remote objects and interact with them.
Same with Mastodon.
Then my options are docker or ansible? Why yunohost if I want to build from source? What is that even?
Is there a demo? I can't find one.
Just FYI: Hmm, send user a private message https://fedibb.ml/ucp.php?i=pm&mode=compose&u=356301 return a 404.
Woohoo! Glad to see this being implemented in practice. I'm excited.
> Hey I don't think a hardcoded slur filter is a good idea due to good reasons a, b, and c that don't relate to actually being a troll or calling people slurs in a hostile way
> Screw you racist, we're never going to remove it
I feel like their priority is no longer to provide a flexible tool other people can use as a communication platform in the way that best suits their community, but instead to impose a narrow-minded agenda on everybody. After that, even if they change their mind later, who's to say they won't change it again at some point?
Having a slur filter is not "narrow-minded agenda", it's mainstream. And, well, it's open source, so anyone can maintain a fork that removes it with not much work.
Nevermind the fact that art such as film frequently relies on the use of slurs when dealing with this subject matter.
We aren't protected in real life from being called words. I've certainly had my fair share hurled at me. By having to deal with it both at a young age and in adulthood, I've grown a thick skin and strong defense system.
I worry that this attitude is more dangerous that what is trying to be accomplished.
I'm a white american and I think I agree with this. Making sure that only one race of people can say bad words on the internet doesn't seem practical to me. If we don't want some races saying a word, I don't see a way of preventing that which doesn't sacrifice either anonymity or black people being able to say that.
There's only one implementation that I can imagine, and it's pretty impractical and ethically dubious. The idea is to have some kind of verification process to prove that you're a certain race, and somehow publicly store the public keys of people in each category. Then, when someone want to post a word that only some races can say, they submit a zero-knowledge proof that the message was written by someone who controls the private key of one of the public keys in the appropriate category. But I'm pretty sure that a registry of people organized by race is neither practical or desirable.
There was no need, and is quite malicious, to imply and talk down to their own users/supporters of their software as anything"-ist" in their motivations, which in many cases is considered a more corrosive/ruinous label (court of public opinion) than "convicted criminal" (court of law) in the West.
I think it does display a narrow-minded agenda for the authors of hosting software intended to potentially host a wide variety of forums to declare unilaterally that all sites hosted using their software must use a particular slur filter declared by them, or else create and maintain a fork.
I would add, lemmy doesn't seem to be about pure free speech, or free speech above all else. They've made it clear that slurs are not acceptable, and anyone who doesn't agree is free to go somewhere else.
The Scunthorpe Problem[1] has been known for over 25 years. Plenty of people have names that incorporate a word that, on its own, would be a slur. Many English-language slurs are also words with entirely different meanings in other languages. Naively regex-matching all incoming text to see if it contains any of a hard-coded list of words means that you're going to get a lot of false positives, which the instance administrators can do nothing to prevent. Meanwhile, you are requiring only the level of creativity of an unremarkable eight-year-old on behalf of those who wish to evade the filter by creatively mis-spelling something. This is all very very obvious to anyone who has ever worked on content filtering, and not much less obvious to someone who hasn't and just sits thinking for five minutes or so.
Possibly. But looking at lemmy, it seems like most interaction is in English. As such, it seems reasonable to expect people to make a good faith effort to learn what isn't acceptable on a mostly english language website.
>It's just that hard-coding a list of English-language bad words, then matching on them in an extremely naive way, is not an excellent way of manifesting those principles in code.
I imagine there are better ways to do it, but this goes back to who owns the instance, and what type of community do they want to foster.
More to the point, the github issue originally linked was resolved (to the extent it can be) by having user created filters.
https://join-lemmy.org/docs/en/administration/configuration....
I have an interest in linguistics (complete with degree - so I'm not just saying that to be racist), and discussing something like 'how the use of ethnic slurs has changed over time in English speaking countries' or how the euphemism treadmill functions with regard to insults would be impossible with this filter in place. Similar as to how a hard coded 'no swears' would make it hard to discuss English infixes since the most obvious infix is 'fuck'.
Which is the exact kind of niche, pedantic, really nerdy small group discussion that is a good match for this.
You're free to think so. I for one don't care to censor those who disagree with me. Note that there's a number of deleted comments, and neither of us know what those say.
> anyone who doesn't agree is free to go somewhere else
Fair enough, and I just said above that that's exactly what I intend to do.
I think it needs to be remembered here that their project is attempting to build a forum hosting tool, not a particular forum. If a particular forum intends to censor any slur list they choose, I have no issue with that, that's entirely their right, and I'll post on it or not. But I feel it's highly inappropriate for a team building a hosting tool to impose a particular chosen slur list on anyone using their tool to host a forum, with no regard to what the purpose or character of that forum is intended to be. I shall indeed choose not to use such a tool.
Does that mean you get to just create a narrative? Dessalines is the closest in that thread with telling people they can use voat or gab if they want to use slurs, which at least implies some racism but that other dev Nutomic has a pretty inoffensive stance when he says
>If you dont like it, fork it. Stop bothering us about it, we will never fully remove the slur filter.
Eh? GP was pretty clear in showing that the developers of the project are pro-censorship, not only in hard-coding in naive badword filters, but also in how they handle responses to requests on their own project
>Dessalines is the closest in that thread with telling people they can use voat or gab if they want to use slurs, which at least implies some racism
There is no "some" in their statement. They are saying that if you have a problem with blanket-filtering language, then that means that you want to use words that are designated as bad, and that only bad people use those words. It's purely black-and-white. Nobody could ever want to use those words in any other context, according to them
>that other dev Nutomic has a pretty inoffensive stance when he says "If you dont like it, fork it. Stop bothering us about it, we will never fully remove the slur filter."
On the contrary, saying that anyone who disagrees with you is a "bother" is offensive, especially if you flip-flop on your position and plug the change in anyways, which is what they did
> Screw you racist, we're never going to remove it
That's creating a narrative, it was never said.
>On the contrary, saying that anyone who disagrees with you is a "bother" is offensive, especially if you flip-flop on your position and plug the change in anyways, which is what they did
Literally anytime you talk to someone and they don't want you to, that's bothering them. There's a discussion to be had if its reasonable to be bothered by the behavior, but whether or not its is bothering someone is literally defined by that person's belief.
On that note, if you find what Nutomic said offensive, I think thats a little too trigger happy on being offended.
In what context would you want to write out a slur against someone as part of some online discussion? Even if you were quoting some external source, you could just censor the slur/hate speech, and still carry on with the discussion.
There are other contexts than using a slur against someone. For example, describing an instance where a slur was used against you personally, explaining historical contexts of the slur, and so on. The existence of a slur does not mean that it's only ever going to be used in cases where it's being thrown at someone else
who will you complain to when a user violates Corey Ehmke's Ten Commandments? the cyber police?
its a generic phrase. I definetly would have thought that if I was reading a github page; but not necessarily when I have to read a COC for joining a Discord.
Apparently it's getting tough to operate outside of everyone's random (usually poorly written) CoC on the net.
"If you dont like it, fork it. Stop bothering us about it, we will never fully remove the slur filter."
"stop bothering us about it" is , in my experience, a huge red-flag to run into while perusing issues and commits.
a 'code of conduct' that dictates all use cases for software for the forever-future is a cute concept -- but 1) it has never worked, and 2) it's basically untenable in the open-source environment.
If the software IS workable, it WILL be forked, and your power-from-on-high to force behaviour on people crumbles. If the goal really is to force your political/ethical position on people who use your software it's probably better to do so more transparently so as to not scare the herd into another avenue of control from another actor.
As with any software tool in my preferred catalog of tools I prefer one that doesn't foist it's own methods and standards onto me; furthermore I prefer my tools don't foist their politics and societal standards onto me. I don't think that's the purpose of a tool.
>I would add, lemmy doesn't seem to be about pure free speech, or free speech above all else.
that moral absolutism doesn't need to exist within software. We know that hard-coded lists of restrictions hidden deep within software are a Bad Thing for a long variety of actual technical reasons -- there is nothing stopping the developers of Lemmy from shipping a filter-list that reflects their values right along side their software; the choice towards inflexibility and zero-tolerance just makes the software less reliable, less maintainable, more opinionated, and less popular.
In regards to the technical side, the original linked github issue was resolved. See:
https://github.com/LemmyNet/lemmy/issues/622 https://join-lemmy.org/docs/en/administration/configuration....
Then there are edge cases like history forums where they have a valid use case for posting transcriptions with words that are currently deemed not appropriate.
Their response can drive possible adopters away because they could only think in US centric politics.
Also, why is it wrong to expect non native speakers to eventually work out what is and isn't acceptable in day to day conversations with native speakers?
Why would some non English speaking person be forced to change their language because someone in the USA decided that an innocuous word in their language is now a slur?
Also USA is not the only country speaking English and some words considered slurs or offensive in the US are not in other countries that also speak English.
They did in the end made it configurable and that's good, but their initial response is a major turnoff for anyone thinking on seriously running the software without planning to maintain a fork in the future.
[1]: https://github.com/LemmyNet/lemmy/issues/622#issuecomment-89...
[2]: https://github.com/LemmyNet/lemmy/blob/235cc8b22897bfb3e71ba...
Was (not is) is correct: https://github.com/LemmyNet/lemmy/blob/71aed94a000c951ddfdb4...
Even beyond whole legitimate words, it filtered inside legitimate words-- you'd think people would consider the Sremovedhorpe problem by now.
It's too bad as I really like the idea. I suspect and hope more things like this will pop up with recent events. Ultimately it is their project and their choice. I think I will stick with phpBB [1] as a forum, UnrealIRCD for the deep dark places [2], uMurmur for real time text and voice and the Mumla app to access uMurmur from my phone but that is just my personal preference.
[1] - https://www.phpbb.com/
If you're interested in a different federating link aggregator there's also lotide https://sr.ht/~vpzom/lotide/ which looks promising as well, and littr.me/littr.go/brutalinks https://sr.ht/~mariusor/brutalinks/ which is single community oriented like HN.
But I see no point in using software that has such disdain for downstream users. I'd rather use software that treats me like an adult.
> Hard coding (also hard-coding or hardcoding) is the software development practice of embedding data directly into the source code of a program or other executable object, as opposed to obtaining the data from external sources or generating it at runtime.
Why do you feel they are obligated to cater to your needs?
Be more Lemmy.
Hilarious that like every fucking google chrome tab uses like 1 gig of ram PER TAB!
I've got 80 tabs open, many terminals, thunderbird (with several large inboxes) and my system has 32GB ram, only 9.4G is used.
Maybe you mean 1GB of virtual memory (mostly shared libraries) and which are shared across all tab.