• i_am_not_a_robot@discuss.tchncs.de
    link
    fedilink
    arrow-up
    46
    ·
    1 year ago

    What a non-story. The username, profile picture, posts from profile, and post interactions are all required for displaying the content that the Thread’s user has subscribed to. The IP address is required for connecting to the service to retrieve that content. Facebook doesn’t get any more access to your data than necessary nor do they get any more access to your data than anybody else. This is just fear mongering.

    • BitOneZero@beehaw.org
      link
      fedilink
      arrow-up
      8
      ·
      1 year ago

      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.

      • PenguinCoder@beehaw.org
        link
        fedilink
        English
        arrow-up
        15
        ·
        1 year ago

        unrealistic expectations on GItHub project: 1) "high performance

        For sure. That seems to be the go to phrase for anything developed in Rust. By itself, Rust isn’t any safer or faster than another similar language; it takes a good developer to make it work well.

        Just because it’s written in Rust doesn’t make your app safe, or performant. Just like because your app is written in C, doesn’t mean it’s buggy and insecure.

        • BitOneZero@beehaw.org
          link
          fedilink
          arrow-up
          7
          ·
          edit-2
          1 year ago

          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.

  • Lvxferre@lemmy.ml
    link
    fedilink
    arrow-up
    33
    ·
    edit-2
    1 year ago

    On an individual (“you”) level, the data mining is only a tiny bit concerning. Sure, Meta will hoard any sort of data that you share with the Fediverse, and then share it with its “business partners”, so everyone can profile you, and then fly on circles around you, like vultures, with targetted advertisement. However:

    • The amount of data that Meta can harvest from you this way is fairly limited. Because unlike in Facebook, Instagram or WhatsApp, they have no way to force you to yield more info about you than what you’re comfortable with.
    • This info is already publicly available, and Meta can already profile you, with or without Threads. And regardless of being in the Fediverse or elsewhere, you should be conscious on what you’re sharing.

    Even then, I like Macgirvin’s take on the matter, on a collective (“the Fediverse”) level. It’s basically telling Meta “people here ara quite hostile against data vulturing, you won’t get much out of it”. It helps quite a bit against the actual threat - that Meta might try to Embrace, Extend and Extinguish the Fediverse.

  • Pete Hahnloser@beehaw.org
    link
    fedilink
    arrow-up
    19
    ·
    1 year ago

    I’d be shocked if they weren’t already harvesting publicly available data “in preparation for” federating. But bluntly, they’re going to be scraping publicly available data. As in, they’d be doing this without Threads if there was advertising money to be made, and it’s publicly available data.

    • FaceDeer@kbin.social
      link
      fedilink
      arrow-up
      16
      ·
      1 year ago

      It really annoys me how people react with such shock and alarm at how companies are “stealing” their data, when they put said data up in a public venue explicitly for the purpose of everyone seeing it. And particularly in the case of AI training there isn’t even any need for them to save a copy of that data or redistribute it to anyone once the AI has been trained.

  • AdminWorker@lemmy.ca
    link
    fedilink
    arrow-up
    14
    ·
    1 year ago

    I said this in a different post’s comments about Facebook scraping data:

    Can activity pub change it’s terms to say that all crawlers that use this must be gnu open sources and all information crawled must be open to the public on gnu open sources software (no crawling to a private enterprise)?

    My understanding is all the big tech companies are scared of what happened with router software (openwrt) and they don’t want to be forced to let competition be a foss community via gnu licensing.

    • Radiant_sir_radiant@beehaw.org
      link
      fedilink
      arrow-up
      9
      ·
      1 year ago

      I share your sentiment, but personally I don’t like the GPL’s Borg-like assimilation of anything it touches.

      How about "every crawler using the API must provide the same API free of charge for "?

    • 4dpuzzle@beehaw.org
      link
      fedilink
      English
      arrow-up
      1
      ·
      1 year ago

      If that worked, we could have easily prevented AI companies from vacuuming up data from personal websites and separately hosted git repos. We could put a condition that if they train their models using our data, then the model and its weights would automatically be under the same license as our content. Of course, those psychopaths are going to use their money to defeat such arguments in court.