In this post I am speaking as a Beehaw fanatic and not as an admin. That is why it is placed in the chat community. To be clear, I am not speaking on behalf of the Beehaw admin team nor the community as a whole.
Currently, we have $5,430 that is in our collective purse to be used to further this endeavor. When I take a step back, and look at that amount of money, I am humbled. That is hope…it is an expression of where we want to go and what we want to preserve.
You may be wondering where we are with the testing of alternative platforms and any other considerations.
The testing phase, as far as I can tell, is over. We are, I believe, in a stage of digesting all of it. And, I have a feeling, that we are holding out hope that there could be other options we haven’t encountered yet.
I appreciate the patience of everyone involved and I don’t want to make a hasty decision.
Thankfully, we have had persons such as PenguinCoder to rescue us from the huge Reddit exodus and all the technical problems associated with the Lemmy software platform that we rely on right now.
There have been whispers that PenguinCoder could be working on a new platform for the Beehaw project.
Thank you all for grabbing onto our northern star, be(e) nice, and running with it.
For whatever it’s worth, if whatever this community transitions to isn’t federated - I’m out. There is simply not enough content on beehaw alone to satisfy my consumption. I love the community, do not get me wrong, but I need more.
I thank you and the other admins for all you do.
Sadly the same. I’m all for pulling in a new instance, but I run an instance with users and we enjoy a good mix of content, beehaw and not. If they leave, I wouldn’t be joining. Now if they find an alternative to Lemmy that’s worth my users migrating then maybe we look into that, I’m not exactly thrilled with what the devs have been working on, but I do believe in the Fediverse and want to see it succeed. Lemmy specifically, well, there are definitely things that need work.
I think the tantamount goal should be uniting users, not dividing them even more post-reddit. Focus on tooling that makes it easier to mod and repel attacks rather than putting up more walled gardens, so to speak
20 years ago we went to different forums and had different types of discussiuns on each. I guess I don’t really understand why we need the whole internet on one site?
Yea, totally with you. Thing is, as trite as it is to say … things change and you can’t so easily go back to the way things were.
Sure, 20 years ago it may have been fine to jump around various forums. But we’ve now had 10-15 years of the opposite of that, which was popular for a reason. While I’m nostalgic for the pre-facebook internet too, part of the appeal of federation to me is that it’s a “why not both” solution. The convenience and power of bringing things together into a more coherent and manageable toolset or interface is just too attractive to put it aside. In fact, I’m often critical of the fediverse for not doing a better job at making easier for the user to unify their experience.
Beyond convenience … something of the “chance encounter … I just saw this random thing on my big social platform” experience may be something many do not want to lose and which requires interconnectivity as the big social platforms and federation can provide.
Additionally, the internet and our experience on it now is probably just more than what was the case 20 years ago. More web pages, more tools, more logins, more devices, more apps … just more things to manage and navigate. Against that backdrop, going back to complete segregation just may not make as much sense as it did then.
Software wise, developing a new platform is software work, one way or another, so … why not have it federate? I’m sure it’s more work but also maybe worth the payoff?
All that being said … reality is that the internet is pretty fragmented at the moment I’d say and more than I feel many understand/appreciate/admit.
why not have it federate?
Because activitypub is a hot mess and Lemmy’s implementation on top of it, is problematic.
Because activitypub is a hot mess and Lemmy’s implementation on top of it, is problematic.
- I believe you, but that doesn’t quite answer whether it’s worth it or not, software often being a hot mess to some extent anyway (said by someone who’s never developed against AP/Lemmy)
- I’m genuinely interested in your critiques … do you have any prior posts of your or someone else’s that you could point me to … or a rant you’re happy to drop here?
- EDITL Lemmy-UI deleted my !@#$#% links because I used the standard Markdown of less than and greater than symbols for a link.
1.)
-
https://overengineer.dev/blog/2019/01/13/activitypub-final-thoughts-one-year-later.html
-
https://gist.github.com/jdarcy/60107fe4e653819138396257df302eef
2.)
My comment on a deleted post
These are my opinions, probably not shared with others and surely not the end all be all to ‘why not Rust?’
Rust is hard. Rust is slow to iterate with and compile. Here’s a highlevel overview of the things you’d need to learn to effectively understand Rust code; not even speaking to learning enough of that to write it. Rust gets touted as secure, and it is more secure than other low level languages like C/C++. That does not make it invulnerable to exploits. It gives a false sense of security to developers who think My app can’t be hacked, it’s written in Rust!!. While Rust is better at memory management and protecting against run time errors related to memory issues, that doesn’t make it 100% safe. That removes almost one class of potential exploits, not all of them, and can’t protect the developer against other developer created issues. Rust code is still written by people. People still write insecure code even in Rust. Computers are dumb as hell; but fast. People are smart as hell, but SLOW. Combine the two and you get stupid things faster; not smarter things better.
- Rust development is hard, hard to learn, very hard to do right
- Rust is not suited for a web application. Would you tell someone to go write the web application and web page in C/C++? Nope. There’s a reason for that. Not suited to it. Square peg, round hole
- There’s always exploits being discovered. Rust handles some things better, but uhhh… Go look at some Lemmy Rust code. Definitely still has vulnerabilities; Rust won’t save you from yourself.
Something like Golang is much better choice for development of a web service that has sane API handling. By the time to add in more error handling, more type checking, more passing around of this function or that data, and more checking it on the sender and receiver side…etc. By the time you’re writing Rust safely and correctly; it is much slower than what you may be lead to believe.
Go is primarily designed for speed of development (including compilation times), rather than speed of execution. Go programmers tend to value clear code over fast code. Why does a microsecond longer matter for a website? Maybe in some backend PLC land there’s a damn good use for that performance. For a networked web application; it’s a pointless metric. That is not going to be your bottleneck.
Rust is hard to understand just reading it let alone determine why it’s doing something.
Rust
fn does_what(n: u64) -> bool { match n { 0...1 => false, _ => !(2..n).any(|d| n % d == 0), } }
Golang
func doesWhat(value int) bool { for i := 2; i <= int(math.Floor(float64(value)/2)); i++ { if value %i == 0 { return false } } return value > 1 }
Not talking about the functionality merits of the two, but in comparing the _code itself. One of those is much easier to determine what’s going on and what it should be doing versus the other. I don’t feel like fighting my code. Programming is a tool to help. If it takes more work to use the tool to achieve your goal, it’s the wrong tool. Rust is the wrong tool for web development.
Meh, I’ve programmed in both. Rust is “hard”. I wouldn’t ask a company to write in it, because it might be hard to get devs for it. However, open source is different. Rust is not hard enough for most developers to learn, and most developers love it when they learn it. On top of that, GoLang is practically an expert in hidden, annoying bugs that rust almost categorically eliminates. Golangs panics don’t backtrace unless you write them in a certain way, you have to know the golang “culture” of error handling, and then without a good match statement or ? macro you are left with ifs under every goddam line of code to do your own manual error checking. Golang goroutines are not as intuitive as one might think with how they close when the scope they come in from closes and their channel patterns. And the “context” passing takes a long time to learn how to do right. It’s an intuitive language at its core, its docpage being one page, but it’s culture is like python’s, needing a year or more to really know what best practices are. I tbh think they are just about exactly as hard as one another, but one, golang, leads to more bugs. Compile time is not that important when you can ensure that at compile time the thing will run.
Refactoring rust sucks, but by keeping your structs small you can usually avoid it.
Thanks!
About your specific example I find the Rust code to be much simpler to understand than your equivalent Golang code…
To understand the Rust code I just have to understand each case. 0…1 returns false. Ok. 2…n returns true iff no divider was found between 2 and n-1. Ok the function is primality test
The Golang code is much harder. I do not take into account the division by 2 because its not part of the original Rust code.
A for loop starting at 2 that look for divisors. Then the return value > 1. Why is it OK to just return
value > 1
? Oh that’s because the loop did not return. Why did it not? Either no dividor was found or we did not get into the loop at all. If value > 1 we have the guarantee the loop was executed so it’s really a primal number. If value <= 1 it is either 0 or 1 which are not primal. Ok, so we return value > 1.I think people dislike Rust because it has a lot of functional languages constructs and people are not used to code in functional languages.
Whatever you fight in Rust you end up saving time by avoiding runtime bugs that would have plagued your productivity anyway. I’d much rather have a language with a hard entry but with solid and maintainable code rather than fast-written spaghetti that no one knows what it is supposed to do 2 years after.
Reading your other links I don’t understand why you take this stance
The problem with forking Lemmy is in starting from all the bad that is inherently there, and trying to make it better. That is way more work than starting fresh with more developers. IE, not using Rust for a web app and UI, better database queries from the start, better logging/functions from the start; not adding on bandaids. A fork of Lemmy will have all of Lemmy’s problems but now you’re responsible for them instead.
Assuming you are an experienced developer, as am I, I have said this almost a thousand times. It’s almost always wrong. Lemmy’s codebase is decently clean and organized, and seems to be around 50,000 lines. All you are going to get by forking is having to rewrite a bunch of CRUD.
The other option is writing tools and plugins to interface with Rust’s API. Lastly, as long as you keep your history clean on your fork, you can continue to rebase onto the original. I think rewriting is just a terrible idea.
Anyway, if you do end up leaving lemmy, why not just go to one of the many standard forums? Discourse is nice.
Back then, there may have been fewer topics, but there was discussions all abound. On communities like this one, the discussions are much fewer despite there being a fair amount of topics. I need more things to consume to pique my interests because the comments are few and far between. Sure there are a few posts that get a fair amount of comments, but there’s not enough of that.
I was more meaning… if Beehaw moves off lemmy, why do you have to choose between beehaw and lemmy? Por que nos los dos?
Already have a thousand logins for sites, personally I’m not interested in adding another one. Plus it’s obvious when you have time to kill that there is one app you prefer over another, it makes sense to keep aggregation services like this federated into one feed.
Because beehaw is my ideal home base for lemmy. The comments are better here, and it’s nice to be able to venture out to the greater fediverse from here. Without beehaw, I’d care less about lemmy as a whole.
Honestly, the solution will sadly end up being that Beehaw’s discussions get posted elsewhere like to Lemmy and potentially better conversations happening on Lemmy won’t make it back to Beehaw’s closed system. That said maybe that’s not a bad thing.
potentially better conversations happening on Lemmy
I honestly have the opposite opinion. I feel like better discussion happens in small select groups. I’ve not been impressed by the discussions I see in large groups of people. They almost always devolve into things like slurs, gender stereotypes, and worse.
But then I’m a frequent user of raddle, and my favorite discord server has 8 people, so that’s more my pace.
The best conversations happen among small groups of people selected out of a huge, huge pool of people.
Niche interests and discussions need to be able to advertise their existence to millions in order to persuade that dozen people to actually participate.
deleted by creator
I both agree and disagree with you on that one. While I agree that it is the largest and most active, it alone is still not large enough to harbor the kinds of discussions I’d like to see on its own.
This is true but I think we need to remember the internet with less rose colored glasses as well.
There was a lot more decentralization to the older web, but most general discussion still revolved around a handful of big name message boards. Sure you had more smaller forums for specific hobby’s like photography or knitting , but there was usually a big photography forum and a big knitting forum and a bunch of mostly dead ones.
Then there are the communities we all fondly remember. Our message board of international internet friends, but slowly but surely those message boards started to just die off as users left and moved on and discussion dried up.
I feel like federation gives us a sort of best of both worlds in theory, though in practice I’m not sure if it will work like that.
Also I feel like regarding beehaw specifically, as it exists this community is broad enough that it benefits from a bigger user base, but understandably its hard to maintain the standard they want. Overall I think the issue for me when it comes to following beehaw where they go is that Im here more for the general stuff and I imagine that the shift will lead to a big reduction in activity in conversation about say technology and news and health and the like. I remember how smaller message boards got on and while beehaw is currently one of the bigger more active lemmy instances I suspect that the majority of users wont follow. Even now most of the content we have sits at less than 10 replies.
I wish everyone luck, and I know the founders were on lemmy long before the reddit bump changed things so they are happy and able to continue on as a smaller more compact entity, but I’m probably not going to move on. That said it’s a shame because lemmy discourse and attitude is one of the better parts of lemmy so its very possible that without beehaw I drop lemmy as well(outside I guess mander and @startrek stuff maybe)
Thank you again for your work!
Just a few days ago, I posted that I’d leave Lemmy, if Beehaw leaves. Since then, I got temp-banned on lemmy.ml for calling fascists fascists, decided that it was the proverbial straw, deleted my instance after 4 months, my backup account, and created a new account on Beehaw that is not subscribing to anything federated, but only local communities. I used Lemmy not because I thought it was amazing, but because I simply hated spez more. But the quality of discourse was low.
One exception was usually posts in Beehaw communities. That, together with some comments in What is the current thinking about what platform Beehaw should be on? Stick with Lemmy or try something else? (the comment chain disappeared with my old account, though), made me create a new account on Beehaw after I left the “Fediverse”.
A lot of words to say, I’ll follow Beehaw to whatever software is used, as I treat it like just another small discussion site like tildes or HN anyway.
yeah I was initially all for the fediverse but it seems the more and more I interact outside of beehaw, the less and less I seem to enjoy it. Even just browsing comment threads makes me almost pissed off the way people are talking to each other. It feels like a very recent trend too. I try sometimes to tell people that I’m not fighting them but for some reason people outside of beehaw that I talk to almost universally get extremely hostile when I just talk to them about things. It’s such an odd reaction. People on beehaw seem to be fine though.
I guess people come on here just to fight and then get confused when somebody doesn’t want to fight.
And not to wave fingers at people, but I have noticed that whenever posts on beehaw get sour it’s often from the non-beehaw accounts.
It feels like a very recent trend too.
I’m disagreeing there. It was always common in large Reddit communities. And because so many people browse with All on Lemmy instead of subscribed, even small communities have that issue on Lemmy.
almost universally get extremely hostile when I just talk to them about things
There’s a great German word, “Streitkultur (German wikipedia)”, roughly “argument culture”, but with a positive tinge, about people having a positive argument about differing point of views. And sadly, that is lacking for most people. The lack thereof in politics made me get disgusted and leave politics alone over a decade ago.
I know it was always common but im trying to say it feels like there’s been a recent spike in the hostility.
Maybe its from the Israel-Palestine stuff but I feel like it’s been going on for a bit longer.
Some people on the fediverse do not want their views challenged and react with hostility. It’s not like that all over, but it can certainly be frustrating if some users treat this as a walled garden of thought and lash out at others for challenging their viewpoints.
Most of the time I don’t even challenge they’re viewpoints, I just talk to people. Not even agreeing even, just chatting.
I think maybe some people want to throw out their thoughts into the void and get frustrated when they get replies on a site built around replying.
Sorry to hear that. Mileage probably varies a lot depending on the communities. I usually stick to a few tight but active communities, and discussion is pleasant
Man, a lot of what you said resonates with me even if I’m still sticking with this fediverse thing. It’s like the transition from the hopeful vision of the internet from the 90s to the cluttered mess we got around late 2000s and so on.
Lemmy and fediverse can grow in size and popularity, but so does the potential for harmful accusations from outsiders, using instances embracing extremist views as source. As long as Lemmy has members holding onto that rose-tinted Freedom Max ™ view, it can and will be an issue.
Wherever beehaw goes, I will gladly follow. I’d have a lot more content to share if I didn’t fear an onslaught of bad takes and debatelords from other instances.
I agree, and this is likely a big reason why others don’t post more content. I also think posting has slowed down here since the announcement that Beehaw might be moving. Maybe people don’t want to invest more in a community that might not be on Lemmy longterm. Both of these issues will be alleviated by Beehaw creating its own place, so I’m willing to follow and see what we can build!
deleted by creator
Let’s spend dev time making lemmy great, not developing yet another thing.
@penguincoder@beehaw.org is a pretty active dev for Beehaw, has been very open about his views that the lemmy software is built on very shaky foundations, including the programming language and architecture choices underpinning the whole thing, making moderation unnecessarily difficult and making it hard to comply with legal requirements of hosting such a service, and providing severe limits to scale. It might make more sense to build up a new forum from the ground up, compatible with ActivityPub, than to try to fork Lemmy, or persuade Lemmy’s existing maintainers to start accepting big patches.
I mean Rust is a godsend as a decision for the language to use. Kbin for example uses Php, which means I’ll never contribute to it. Other alternatives would be like Python, Node, or Golang, but why? The first two won’t scale as well on a single node and all will have worse static typing (especially Golang). When I examined the code, it seemed like a standard sql+rust stack. I can’t imagine anything even major needing changing, let alone a full rewrite.
I mean Rust is a godsend as a decision for the language to use.
I have no dog in the fight, but Penguincoder has been pretty vocal about Rust being the wrong choice for a web service: slow to develop and modify, easy to make mistakes that take much more work to fix later (and blames this fact for the state of the lemmy codebase). Its greatest strength is the speed of execution, but that doesn’t really matter for web servers, that are basically never CPU limited.
I can’t imagine anything even major needing changing, let alone a full rewrite.
I think the moderation tool examples given sound pretty broken, and it isn’t just Beehaw admins complaining about them. Lemmy.world and a few others have instance admins complaining about how hard it is to remove images from the server (deleting posts/users/comments just orphans the image file without deleting the associated file), how all the moderation functions seem not to contemplate the federation issue (removing an abusive comment or banning a user on one instance does nothing to address that same problematic content already federated to another instance).
All that being said, a rewrite is still harder. Think how much work kbin and lemmy have put in. Think of all the apps that have been developed around them. It’s still sql driven, meaning you can easily write any kind of moderation tool you want in any language of your choice.
I think the Rust vs Golang question is just opinionated, and until there’s something better than activitypub there’s nothing even a fork can really do about those issues, and I’d really want the FSF to deal with those kinds of complaints.
Speaking as someone who joined during the “Reddit Exodus,” when I left Reddit I was not anticipating (or actively searching out) a direct Reddit replacement. I was happy to look for forums that worked for me, but wound up stumbling on Lemmy first.
All this to say that I was already ready to face accounts on different sites (or at least browse different sites) and I don’t think not being federated would be a dealbreaker for me.
I would certainly be concerned about the level of discussion without federation, though. To me, as an individual who has not had to deal with the struggles of Lemmy mod tools (or lack thereof), the contributions from other instances definitely help get a conversation going. And with troublemaker instances blacklisted I find more often than not they are adding and not detracting.
Obviously that’s all with the added benefit of me not having to be a mod. I guess at the end of the day, my hope is that PenguinCoder’s developing platform will play nice with ActivityPub, so we can still work with other instances. I suppose if it worked really well, other instances may want to even migrate to it (assuming it was robust enough).
It seems like eventually you guys are just going to wind up on an message board. At the end of the day it seems what beehaw wants more than anything is just a safe well maintained space to discuss and isnt hung up on federation or growth.
Federation was a nice way to be(e) seen and get new like minded members, but if the lack of mod tools make curating this community difficult, then its not a good fit. Unless some better lemmy compatible alternative or fork rises that gives you what you need, it sounds like the choice will inevitably be what kind of message board software you want to run.
If there were a good forum software that had decent threading and strong mod tools, I would honestly be fine with that. I have no interest nor investment in federation. As it stands right now, it’s a liability that allows a community to be overrun from sources that are totally out of your control.
If there were a good forum software that had decent threading and strong mod tools
Agreed and that is something we are aiming for with whatever software we’ve been looking at. Good user experience and mod tools.
With Pebble shutting down already, I’m going to stick with Beehaw where it ends up. The ethos around discussion and understanding is the reason I have this account.
I know of someone making a replacement for the core of Lemmy with a focus on good architecture for administration and moderation tools. It’ll have a compatible API so the apps and front-end doesn’t have to change to use the new core. He says he’s more that 1/3 through to something that can be released in alpha. I’ll keep you and the Beehaw crowd in the loop for when the alpha release is ready.
OK. Thanks.
this is exciting! 🐝
I’ll probably stick with kbin and hope you guys join a threadiverse standard again at some point.
Is there any reason why you can’t start by improving KBin for moderation needs? It seems like they could use the extra help.
Apologies if this is out of scope and annoying (as I’m not on top of where beehaw is up to with its issues with lemmy’s mod features)
Just saw this 3rd party moderation interface/tool that someone has just started. I’d bet it doesn’t really help any of the issues here, but nonetheless figured it’s an interesting approach to beehaw’s issues, where instead of writing a new platform and ditching federation, writing a moderation interface may be an alternative, though I’d imagine there are things beehaw feels they need that can only be done on the backend.
Entering in your credentials as an instance admin, mod, or otherwise, into a third party website is an absolute no-go.
From what I gathered it’s a tool you can run yourself alongside your instance.