Skip Navigation

Posts
35
Comments
112
Joined
2 yr. ago

  • Reddit grew to a point that the focus became constant refreshes and the most recent 6 hours of postings... and reposts became the normal means of revisiting a topic. And when a topic gets more than 1500 comments, a repost resets that. It's just a machine that rolls the clock constantly in favor of "new".

  • Lemmy and Kbin both lack a lot in moderation and anti-spam measures. Both apps are taking about having features to specifically throttle new local members. And anti-spam in terms of server to server doesn't really exist at all.

  • Beehaw has been online for over 18 months, it was well established when there were only 30 Lemmy servers and then Reddit API change came along in May... the sign-up page and application process couldn't even cope with hundreds of users per day.

    Then 1000 new instance servers went online in just a couple months where your 18-month established presence was suddenly getting all kinds of server to server action.

    You have been on the front-line of a lot of people motivated by hate of Reddit. Not love of Beehaw.

  • Everyone wants a fork. Nobody wants to be the fork.

    Rust and ORM makes changes incredibly slow and even recent editions like sanitizing for JavaScript exploits have been buggy.

    We need a small group of motivated and skilled developers to get together and decide “we’re doing this”, and actually go beyond announcing an empty Git repo.

    Lemmy had one major thing that kbin and other apps did not have in 2023... a working API. And that happened to be what Reddit decided to start charging for in May. Kbin is right now adding an API, but it isn't compatible with Lemmy. Lemmy could also use a streamlined API, there is opportunity right now to make a combined Lemmy and kbin API since federation normalizes a lot of the features between the two. I hope people see this opportunity that is open right now and the one big strength.

  • All that being said, Lemmy (the software that Beehaw runs on) development is incredibly slow and is riddled with problems

    The developers of Lemmy have been running it on the Internet for over 4.5 years, but they only had a few thousands posts in 4 years... it lacks moderation (and spam) tools and it drops and alters data silently that shows they really don't use it or focus on the data.

    kbin is newer, but it is only now starting to have an API - so Lemmy has attracted all the app developers because of API - and kbin also struggles with moderation and spam.

    we may want to consider leaving the Fediverse for another software platform that does NOT include ActivityPub.

    I can entirely understand that. Reinventing the wheel of basic forum features ties up a lot of kbin and lemmy development - and federation is the wild west. People can participate in your forum without having the context or understanding, or worse, to do attacks at an entire server to server level - manipulating votes and having wildly different policies.

    Thank you for sharing your thinking.

  • I'd say the debate about using a strongly typed relational database and ORM is probably more of an impact on end-user turn around than typed language.

  • Outside of the internet, I ask this question.

    I find people think the Internet and the "real world" are two different things. I don't find this to be true, and I've seen people I know well entirely change their personality after hours of being angry just because a telephone call rings and they are practiced at changing for it. Similarly, I witness people who change while driving an automobile compared to their normal domestic behavior. It's all part of the same person and acting like it isn't real is denial of a lot of human history of other media.

    All your points about homeless and and male identity crisis with mental health I find are true. And we clearly have the resources and information systems of connecting real people to real problems, one on one. But there hasn't really been a social movement of the Internet to make friends and use real identities - even when social media often started that way with local area-code BBS systems and users groups... and even LAN gaming.

    We need true social leaders who cross national boundaries and say the kind of things that were said during civil rights movements. Someone could start with doing a world-wide grieving over the pandemic deaths, we weren't allowed to visit the people who died at the hospital or in quarantine at home. It seems like an obvious social positive to have a funeral, every society has a funeral, why not a world wide one for a world-wide pandemic? But I keep watching as nobody organizes it.

  • What's changed is the ability to travel anywhere in the world and to project technology. It used to be a much slower process and oceans kept things split and at a much slower pace.

    It’s literally in our DNA to cooperate with each other.

    Is this supposed to be a scientific challenge to me? Like can you point to it? What I see is that forming gangs and armies is a human behavior characteristic. Did you here how Japanese people behaved in attacking all over the world, even Perl Harbor, in the 1920's to 1950? Did you know about the Crusades of people from Europe going all the way to the Middle East to attack each other over a book that says one part of land is more important than others? Are you aware of the complete destruction of cultures by the Spaniards when they came to the Americas?

    Your answer seems wildly simplistic.

    It’s literally in our DNA to cooperate with each other.

    Mutually Assured Destruction, MAD, seems to be in the human behavior once technology comes into the picture. Multiple human groups arrive at the same solution. China, USA, Russia - and form alliances around it. People barely protest it and vote for politicians in democratic (much like voting on Beehaw) methods to continue to support it. It is reality of how humans address their differences, with 45 minute delivery of nuclear destruction ready 24 hours a day, 365 days a year.

  • Humanity really does not have a good history interacting with the Earth or with each other. People have to make a choice not to follow signals or create powerful leaders that don't get so competitive that they just start wrecking things on larger and larger scales.

    People have to choose to create something better and enjoy it. And many are deciding that peace and kindness is just 'too boring' for them. Take care.

  • In the world of post-truth drama, it makes sense. Nothing turns around the loyalty he builds when he captures the hearts and minds of his voters. Even if he dies of a heart attack, people will still seek out the kind of attitude he has been iconic for. Eton Musk is 25 years younger, but seems to be following Trump as a behavior model of successful businessman icon.

  • At some point I was searching for an open source car pooling service.

    I have been observing how much as a society we have been relying on route planning software.

    I think social factors for car pooling are far bigger than route planning. Getting a group of people on the same schedule with the same general destination would seem the problem most haven't taken on. The route planning would probably be better done with real-time data once you have identified people within reasonable distances willing to share transportation at a similar time.

    There are open source routing efforts: https://wiki.openstreetmap.org/wiki/Routing

  • We have way more complex queries

    It isn't the complexity that is the problem. It is the open-ended nature. It lacks any WHERE clause that specifies which posts to get. It just kicks off join after join without restricting what it is looking for. It relies on the "LIMIT 50" that Lemmy restricts post listings too. Which worked OK in March 2023 when Lemmy was over 4 years old and still had very tiny amounts of data in all these tables that it joins, but once even a modest amount of data got point in the open-ended nature of the WHERE clause kept making it slower and slower as more and more content.

  • Try without being logged in, incognito or private and see if it all appears. Almost always this problem comes about when someone fiddles with their language settings and Lemmy doesn't show the rest. Or some other setting like not showing already read posts. The apps really need to say "5xx posts not shown due to your preferences".

  • The thing they want to conserve is the way society is, or rather, the way it was back in the mid-1900’s.

    I don't even find that to be true. They adopt technology based on the whims of advertising they consume. Donald Trump was king of Twitter and they ate that up. They just don't follow what they say. They say they hate California, but consume every bit of technology (like Twitter, Apple, Disney, sports teams) they can that comes out of it.

  • I find the whole self-labeling of conservative to be founded on shaky grounds. Basically it's authoritarianism by another term. I often don't see conservatives actually cite some great example of it by some philosopher or even a nation. Because they don't want to face that Middle East nations are what conservatism looks like. The Taliban taking over Afghanistan and regulating women and building a class system is the kind of thing they seem to express in roundabout ways as the desired outcome. But, of course, they don't just outright say "I want to be like the Taliban". But the threatening people with guns, economic system that favors those in power, women's rights, anti-education, discrimination against other faith systems... all fits. And, monarchy, I see them praise powerful monarchy. Many want business kings they admire to rule everyone with an iron fist.

    Donald Trump has sure inspired a lot of follower who are incredibly loyal, and he openly praises North Korea as some kind of model nation. But I notice the followers are unwilling to outright say "we want things run like North Korea" either... they just describe a system of powerful rulers who "fix" problems using the same techniques.

  • serous problems with scalability, it works fine if there is little data in the system.

  • Just because it’s written in Rust doesn’t make your app safe, or performant.

    Lemmy 0.18.4 listing posts, frequently via ORM Diesel:

     
        
                SELECT "post"."id", "post"."name", "post"."url", "post"."body", "post"."creator_id", "post"."community_id", "post"."removed",
                  "post"."locked", "post"."published", "post"."updated", "post"."deleted", "post"."nsfw", "post"."embed_title", "post"."embed_description",
                  "post"."thumbnail_url", "post"."ap_id", "post"."local", "post"."embed_video_url", "post"."language_id", "post"."featured_community",
                  "post"."featured_local",
                  "person"."id", "person"."name", "person"."display_name", "person"."avatar", "person"."banned", "person"."published", "person"."updated",
                  "person"."actor_id", "person"."bio", "person"."local", "person"."private_key", "person"."public_key", "person"."last_refreshed_at",
                  "person"."banner", "person"."deleted", "person"."inbox_url", "person"."shared_inbox_url", "person"."matrix_user_id",
                  "person"."admin",
                  "person"."bot_account", "person"."ban_expires", "person"."instance_id",
                  "community"."id", "community"."name", "community"."title", "community"."description", "community"."removed", "community"."published",
                  "community"."updated", "community"."deleted", "community"."nsfw", "community"."actor_id", "community"."local", "community"."private_key",
                  "community"."public_key", "community"."last_refreshed_at", "community"."icon", "community"."banner", "community"."followers_url",
                  "community"."inbox_url", "community"."shared_inbox_url", "community"."hidden", "community"."posting_restricted_to_mods",
                  "community"."instance_id", "community"."moderators_url", "community"."featured_url",
                  ("community_person_ban"."id" IS NOT NULL),
                  "post_aggregates"."id", "post_aggregates"."post_id", "post_aggregates"."comments", "post_aggregates"."score", "post_aggregates"."upvotes",
                  "post_aggregates"."downvotes", "post_aggregates"."published", "post_aggregates"."newest_comment_time_necro",
                  "post_aggregates"."newest_comment_time", "post_aggregates"."featured_community", "post_aggregates"."featured_local",
                  "post_aggregates"."hot_rank", "post_aggregates"."hot_rank_active", "post_aggregates"."community_id", "post_aggregates"."creator_id",
                  "post_aggregates"."controversy_rank", "community_follower"."pending",
                  ("post_saved"."id" IS NOT NULL),
                  ("post_read"."id" IS NOT NULL),
                  ("person_block"."id" IS NOT NULL),
                  "post_like"."score",
                  coalesce(("post_aggregates"."comments" - "person_post_aggregates"."read_comments"),
                  "post_aggregates"."comments")
                 
                  FROM ((((((((((((
                    ("post_aggregates"
                       INNER JOIN "person" ON ("post_aggregates"."creator_id" = "person"."id"))
                    INNER JOIN "community" ON ("post_aggregates"."community_id" = "community"."id"))
                    LEFT OUTER JOIN "community_person_ban" ON (("post_aggregates"."community_id" = "community_person_ban"."community_id") AND ("community_person_ban"."person_id" = "post_aggregates"."creator_id"))
                    )
                    INNER JOIN "post" ON ("post_aggregates"."post_id" = "post"."id")
                    )
                    LEFT OUTER JOIN "community_follower" ON (("post_aggregates"."community_id" = "community_follower"."community_id") AND ("community_follower"."person_id" = $1))
                    )
                    LEFT OUTER JOIN "community_moderator" ON (("post"."community_id" = "community_moderator"."community_id") AND ("community_moderator"."person_id" = $1))
                    )
                    LEFT OUTER JOIN "post_saved" ON (("post_aggregates"."post_id" = "post_saved"."post_id") AND ("post_saved"."person_id" = $1))
                    )
                    LEFT OUTER JOIN "post_read" ON (("post_aggregates"."post_id" = "post_read"."post_id") AND ("post_read"."person_id" = $1))
                    )
                    LEFT OUTER JOIN "person_block" ON (("post_aggregates"."creator_id" = "person_block"."target_id") AND ("person_block"."person_id" = $1))
                    )
                    LEFT OUTER JOIN "post_like" ON (("post_aggregates"."post_id" = "post_like"."post_id") AND ("post_like"."person_id" = $1))
                    )
                    LEFT OUTER JOIN "person_post_aggregates" ON (("post_aggregates"."post_id" = "person_post_aggregates"."post_id") AND ("person_post_aggregates"."person_id" = $1))
                    )
                    LEFT OUTER JOIN "community_block" ON (("post_aggregates"."community_id" = "community_block"."community_id") AND ("community_block"."person_id" = $1))
                    )
                    LEFT OUTER JOIN "local_user_language" ON (("post"."language_id" = "local_user_language"."language_id") AND ("local_user_language"."local_user_id" = $2))
                    )
                    
                    WHERE
                    (((
                        (((
                        (
                        ("community"."removed" = $3) AND ("post"."removed" = $4))
                        AND ("community_follower"."pending" IS NOT NULL)
                        )
                        AND ("post"."nsfw" = $5)
                        )
                        AND ("community"."nsfw" = $6)
                        )
                        AND ("local_user_language"."language_id" IS NOT NULL)
                        )
                        AND ("community_block"."person_id" IS NULL)
                        )
                        AND ("person_block"."person_id" IS NULL)
                        )
                        
                    ORDER BY "post_aggregates"."featured_local" DESC , "post_aggregates"."hot_rank_active" DESC , "post_aggregates"."published" DESC
                        
                    LIMIT $7
                    OFFSET $8
                ;`
    
    
    
      

    That is with hand-optimized person_id = $1, which the Rust code does not do.

  • "Terms of service" checkmarks are their reality

  • What a non-story.

    Lemmy project set wild unrealistic expectations on GItHub project: 1) "high performance', maybe the Rust code but PostgreSQL logic is the ORM madness. 2) "full erase" while sending all your public comments and posts to ActivePub without agreement on concept of delete.