Digital bits, one zero

1968 book “War and Peace in the Global Village” by Canadian Professor Marshall McLuhan - #WWWOpera #FinWakeIndraNet

www.WakeIndra.com
www.WWWOpera.org

“A point of view can be a dangerous luxury when substituted for insight and understanding.” ― Marshall McLuhan

  • 2 Posts
  • 38 Comments
Joined 1 year ago
cake
Cake day: June 2nd, 2023

help-circle


  • Free and open information, like Wikipedia, used to be an ideal. I have used Reddit since 2008 or earlier because it got on search engines and shared information consistently on precise topics. Twitter used to also be this way, but now mostly only puts paid subscribers on search engines.

    If you are to organize information around topics, such as a Commodore 64 community, and the protocol openly allows copies to be made via federation, I encourage people to have the attitude that information be treated like Wikipedia content. It sucks now that so much information from 10 years ago has been just entirely lost now that so many deliberately purged their Reddit comments, etc. Tragedy of the commons. And it drags down the entire planet that people squirrel away discussions on topics that are generally public. It’s like now everyone wants to monetize even their discussions on Commodore 64 or automotive repair / have behind absolute control or paywalls /etc.










  • We are in an Information War and I don’t see enough peer to peer friendships being made between The People of China and everyday people in USA, South America, Africa, North America, Europe, Australia, etc.

    I don’t see China people on GitHub and YouTube like I did 5 years ago. Maybe the real war is power over technology and all of humanity isn’t winning. Isn’t that another way to interpret Climate Change, an education mistake on a global scale? Advertising and marketing defeating science teachers? The love for the singe-passenger automobile 9 to 5 commute job - exceeding the reality of global climate physics?

    Like they say in The Orville - Dolly Parton was a hero! she basically turned out to be a great teacher, like Mr. Rogers on the true problems of childhood. 9 to 5 was kind of like showing children what your divorced single mother was having to go through. Not to say that fit the relationships in the film itself, but the office environment of white collar world. The technology of the Office Workplace and the era of typewriters as business machines. EDIT: It’s a real War: https://www.youtube.com/watch?v=V6Do6VWUxyg




  • I think public-facing they have to be that way, otherwise they would copyright infringe on their training material. Behind the scenes, I suspect that the wealthy can gain access to AI engines where the random response isn’t set so high and they can even fact-check and cite their own training material better. It’s really hard to imagine that they can debug these things without having any idea what training material influenced which pattern of associations. I sure don’t buy that they don’t have tools to trace back to training material.

    Right now consumer-facing AI wants to put in simple prompts and get back unique term papers each time you ask it the same question.



  • 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.



  • 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.