Bluesky Dev
Community discussion of the AT Protocol and Bluesky. (This room is not officially affiliated with the Bluesky team.)
Previous group of messages
  1. @davidprieto:arada.club
    For the "copy the data repo", would it be possible to e.g. back it up to a local computer and then upload it to a different PDS?
  2. kcchu

    In reply to this message

    The repo is location independent (like git repo), so technically you can download it and upload it again and continue to work
  3. So, yes, personal backup (perhaps automatically backup to iCloud/Google drive) is a good way to make sure you can migrate your account even if the PDS shut down or ban you
    (edited)
  4. @davidprieto:arada.club
    Ah, that's great
  5. @davidprieto:arada.club
    One more question, if I may. Does the protocol have something similar to matrix's .wellknown system, where you can put your PDS on https://pds.example.com, but your users' handles are @
    user.example.com
    instead of @
    user.pds.example.com
    ?
  6. kcchu

    In reply to this message

    You can already do that. If you have a domain name you can use it as your user handle.
  7. @davidprieto:arada.club

    In reply to this message

    I mean do it automatically, for all the users of your PDS, without them having to do anything
  8. kcchu
    User handle is independent of the address of PDS. The *.
    bsky.social
    domain name is offered help user onboarding but technically it can be any domain name
  9. @davidprieto:arada.club
    Yeah, I know they can change their handle, I'm talking about the default handles I give them when they create an account on my PDS
  10. kcchu
    I mean the handle and the location of PDS is really independent. So, there wasn’t even a default that you need to offer user handle as
    user.pds.example.com
    when the PDS is
    pds.example.com
    . As a PDS operator, you could offer any domain name for users to sign up. It is also possible to not offer any domain and require users to bring their own domain.

    So, in short, you could do what you said. But it is not done in matrix’s or ActivityPub’s way
    (edited)
  11. @davidprieto:arada.club

    In reply to this message

    Oh, now I get what you meant, thanks
  12. @davidprieto:arada.club

    So, right now there seem to be two federations: one called Bluesky and another called Sandbox.

    https://atscan.net/pds

    I'd like to know, can one PDS be part of more than one federation?

  13. retr0id
    In theory yes but it's not advisable to straddle both sandbox and non-sandbox networks
  14. and mirroring DIDs between the sandbox and prod PLC servers is against the rules
  15. but there's nothing technically preventing it
  16. @davidprieto:arada.club

    In reply to this message

    Oh, I meant hypothetically. In the future, in case there's ever more than one federation running
  17. retr0id
    the sandbox is a special case, other than that, there's no clear "border" between different (sub)networks
  18. minus people blocking each other, any BGS can federate with any PDS
  19. @davidprieto:arada.club
    I was referring more to the PLC, which I understood is more centralized 
  20. retr0id
    there can only really be one PLC
  21. with the current design at least
  22. @davidprieto:arada.club
    Oh. I thought one PLC equals one federation, is that not so?
  23. retr0id
    I guess that's one way of looking at it
  24. by the way, I opened an issue suggesting a way to partition different PLCs from each other https://github.com/bluesky-social/did-method-plc/issues/33
  25. if you wanted to use multiple PLCs at once, you'd need to specify a whole bunch of logic about how to prioritise the two data sources and how to resolve conflicting information
  26. I can't really think of a coherent way of doing it
  27. kcchu
    Indeed, I think the sandbox PLC is only a stopgap before shipping federation in main. Once federation, I can’t see a reason why a sandbox should be maintained
  28. Tim Burks joined the room
  29. @davidprieto:arada.club

    One more question, if I may. On Mastodon, the server hosts not only the content created by its users, but also the content created by everyone followed by its users. Which results in lots of duplication.

    Does that happen on Bluesky too?

  30. valka
    No, the pds only hosts data which is from its own users. The BGS consumes that data and then provides it to the appview which then provides it to the end user client
  31. David Moncada joined the room
  32. David Moncada
    Hello, just to ask, if I wanted to contribute to the bluesky social mobile app project on GitHub, does that mean I need an invite code for that? And, if so, how can I go about getting one? I've already requested one from the
    bsky.app
    site some 3 weeks ago and still haven't got one :(
  33. @samme:schizo.cafe

    In reply to this message

    https://github.com/bluesky-social/pds you can create (or join) a server in the federation sandbox
  34. @davidprieto:arada.club
    That's great
  35. David Moncada

    In reply to this message

    Sweet, thanks a lot for the info, will try to set up a pds and generate a code for myself
  36. @davidprieto:arada.club
    From what I've been told, though, the BGS does not necessarily consume the whole thing. What happens in that case? Does the client download it from the original PDS?
  37. valka
    The BGS does consume the whole thing, at least that's the idea. It consumes and indexes the entire stream of all data therefore it's a very large endeavor to run one. You could also theoretically run a BGS which only consumes a subset of data, but currently the BGS has all data, which prevents the pds getting overloaded when a traffic spike happens, for example if a post gets popular/goes viral
  38. ejmg
    setting up a pds isn't hard, the instructions will get you up and going along with that setup script
  39. @davidprieto:arada.club

    Let's suppose the BGS Alice is using does not consume the whole thing, only whatever is necessary for it to function.

    Would Alice's client download any necessary data from the original PDS?

  40. In reply to this message

    It's two commands really. I was impressed how easy it was
  41. Kyle
    I sent a support email last Monday and haven't heard back, any idea what else I can do? Need some account support
    (edited)
  42. retr0id
    like, account recovery support? if I had to guess, they don't have robust procedures in place for that sort of thing yet
  43. Kyle
    Yeah, that makes sense. I put myself on the waitlist again unless I can find an invite
  44. @richiyuuki:matrix.org joined the room
  45. Aaron Goldman

    Your User Agent always talks to your PDS. Your PDS then ether serves that data from cache or dose the request to Alice's PDS

    1. Your PDS cache
    2. Your PDS's BGS
    3. Alice's PDS

    The assumption is that your PDS has much cheaper bandwidth than your User Agent.
    If it can download and filter content only sending down content that did well in the ranking algorithm you will save client battery and bandwith.

  46. moved to @shreyan:beeper.com@shreyanjain:matrix.org

    In reply to this message

    I think that maps a bit more cleanly to a BGS rather than a PLC
  47. Aaron Goldman
    Your PDS is probably caching repos of controller not on that PDS if the content is recent and popular, or pinned by one of its users. We have not even started thinking about the api for a user to indicate what content from other PDS's they want their PDS to Pin. But I think a pinning api will be important eventually. 🤷‍♂️
  48. In reply to this message

    If we are lucky there will be only one plc directory.

    Not counting dev sandbox that gets deleted periodically and without warning.

    There are plenty of other places to do censorship so hopefully we can just have the one very open directory. If we have politics then PDSs may end up needing to pick their directory and that would just add needless complexity.

  49. We talked about putting the directory you wanted to use in the DID Document so that the DID Document controller could pick one the liked. Much like how the CA system lets you pick your certificate authority. We ended up going the opposite way. Don't let the repo controller tell a PDS who to trust as a directory let the PDS pick who they want to trust.
  50. Aaron Goldman
    So there is no directory in the DID Document you just call
    plc.directory
    . Someone like retr0id has a choose they can mirror the
    plc.directory
    exactly as is or they could replace the createdAt with the time that thier server heard about the delta.
  51. not too hard to miror just pull once a minute for DIDs after the last one you saw
  52. retr0id

    In reply to this message

    I'm planning on preserving timestamps exactly, because they're important for verifying the 72h recovery key window
  53. Aaron Goldman
    My recommendation is that you serv us is an exact copy but that you also store in your SQL the time your server first saw a delta. That way if
    plc.directory
    starts giving new timestamps in the future or past you will have a record of what happened. The directory is the most centralized place in the protocol and we should assume it will become malevolent so that it doesn't.
  54. retr0id
    fair enough
  55. Nezteb

    Quick Q about custom feeds: https://github.com/bluesky-social/feed-generator

    I've got the feed generator hosted with the whats-alf example (but I renamed mine to elixir, all the code is the same though), and I've filled out all the env vars set correctly. I ran the publish script, and got the Done message with no errors. But I don't see the feed in the bigsky app. Do folks who have done this before have any good debugging tips?

    EDIT: The url for the feed is https://elixir-bluesky-feed.replit.app, and I kept the feedgen port to 3000, but the docs also say that the app needs to respond on port 443, so I'm not sure if I'm supposed to change that env var to 443? My replit logs do say forwarding local port 3000 to external port 1104, which I didn't specify, but trying that port doesn't seem to work either.

    If I do a GET for https://elixir-bluesky-feed.replit.app:3000/xrpc/app.bsky.feed.getFeedSkeleton?feed=at://did:example:alice/app.bsky.feed.generator/elixir my request just times out.

    (edited)
  56. Mikayla Maki joined the room
  57. Mikayla Maki
    Hi everyone :D
  58. Just been looking to contribute to bluesky, and getting plugged into the associated social spaces :)
  59. Aaron Goldman

    In reply to this message

    Cool, what are you looking to contribute?
  60. kcchu

    In reply to this message

    I am not optimistic about the chance that a centralized DID won’t become an hot political area for moderation and censorship decisions, especially under this political polarized atmosphere. It is really the easiest pressure point for banning a user globally.
    (edited)
  61. kcchu
    And having PDS choose its directory mirror of
    plc.directory
    will results in inconsistency and fragmentation. e.g. users exists in some directory but not in other, and inconsistent DID document of the same user in different directories. This will cripple the UX because users have to choose PLC when signing up (a major pain point of Fediverse) and force users to stay on the latest directory because of the network effect.
    (edited)
  62. retr0id
    I don't wanna say the b-word but maybe it could be useful for improving PLC
  63. because yeah, at some point there's gonna be pressure for censorship to happen at the PLC layer, and it would make a mess
  64. and I don't think censorship-resistance is a useful property for the network at large, but for PLC specifically it would make sense
  65. kcchu
    I appreciate some kind of moderation but I would rather it happens on BGS or app layer which is closer to their users and there are freedom of choice. The DID directory is some critical infrastructure that we probably don’t want it to politicalize as much as we don’t want ICANN to politicalize
  66. retr0id

    In reply to this message

    right, I agree with that
  67. moved to @shreyan:beeper.com@shreyanjain:matrix.org

    In reply to this message

    one of the few things where it could actually be the best solution
  68. There's also the interesting idea of nostr dids, but i don't think that would be the best thing for PLC to do

    https://github.com/TBD54566975/did-nostr

  69. kcchu

    In reply to this message

    I skimmed it but couldn’t understand how the DID document modification will be stored. Is it in relay? Then what if the relay shut down?
  70. moved to @shreyan:beeper.com@shreyanjain:matrix.org
    usually you would publish to as many relays as possible.
  71. kcchu
    When there is multiple source of truth there is consistency issues. What if the many relays return disagreeing data?
  72. scatterflower
    why exactly is the wildcard dns record required for a multiple-user pds?
  73. Aaron Goldman

    In reply to this message

    If I am user.mydomain.example then
    http://user.mydomain.example/.well-known/atproto-did should return your DID.
  74. So your handel should ether have a DNS record for _atproto.user.mydomain.example TXT did=your_did Or an A record direct you to a server that serves http://user.mydomain.example/.well-known/atproto-did
  75. If you have many users that are user.pds_name.example then *.pds_name.example is much easier than an A record for every existing user.
  76. moved to @shreyan:beeper.com@shreyanjain:matrix.org

    In reply to this message

    fwiw, nostr uses cryptographic signatures and expects you to verify everything client-side
  77. Aaron Goldman
    -The- A annoying thing with identifiers is that you don't have to worry about forking the identity with disagreement between directories if you enforce the you send the same deltas in the same order. But the reason you need to rotate your key is exactly when you lose control of your key. So you don't need to worry about forking except in the situation that is why we need rotation in the first place. 😠
  78. @darknesstobright:matrix.org left the room
  79. @davidprieto:arada.club

    In reply to this message

    Yes, that's what I fear too
  80. In reply to this message

    The way I understood it, a PLC is basically like a DNS server, but for users.

    Don't DNS servers have the same problem? How do they handle it?

  81. moved to @shreyan:beeper.com@shreyanjain:matrix.org
  82. valka

    In reply to this message

    ive been thinking this for awhile now
  83. @davidprieto:arada.club
    Sorry, what's the b-word?
  84. kcchu

    In reply to this message

    DNS has very elaborated structure to separate power of each individual entity. Each TLD registries operates independently (e.g. .com is Verisign). ICANN approves and oversees individual registry’s policy.

    ICANN controls the root zone but does not participate in day-to-day registration and dispute resolution. It adopted a multistakeholder model for governance to restrict influence from governments. Since 2016, it is freed from any oversight from US gov.

    Individual domain name could be removed by a registry due to its policy or local law, but banning a user to have a DNS name in ALL TLD is very unlikely.

    (edited)
  85. Freezlex changed their profile picture
  86. kcchu

    In reply to this message

    Interesting. How it’s done?
  87. Rishav joined the room
  88. Nezteb

    In reply to this message

    Has anyone successfully deployed a custom feed before using the Bluesky feed generator template?
  89. they should definitely special case .well-known
  90. open redirects are all over the web
  91. moved to @shreyan:beeper.com@shreyanjain:matrix.org

    In reply to this message

    bl*ckchain
  92. Aaron Goldman
    Narwhal and Tusk https://arxiv.org/abs/2105.11827 was the one we considered before punting since there needs to be many PDS operators before PLC can mean PDS Legger Consortium.
  93. Dmitry Ostrovsky joined the room
  94. slickdomique joined the room
  95. slickdomique
    hey! I'm not sure who's active here and what talks exactly are taking place here but I thought it's worth a try. Maybe you did see the post I made that updates itself with like and repost counter along with latest timestamp. While I made it funny, unharmful I think that's a pretty serious hole that could be used by malicious actor to steal credentials and boost other posts effectively fully occupying a what's hot feed with whatever they want. I'm not sure if ability to do that is oversight or a design decision but nevertheless ability to keep post with its activity but changing content and timestamp is not a good thing
  96. moved to @shreyan:beeper.com@shreyanjain:matrix.org
    fwiw, i think this is more of a hole in the current implementation than the protocol itself. each record has two identifiers- the at:// uri, which is mutable, and the cid, which is immutable. the main change that has to happen is for appviews and clients to care more about the CIDs
  97. slickdomique
    in my case at:// is still not changed though
  98. moved to @shreyan:beeper.com@shreyanjain:matrix.org
    you can modify a record while keeping the same at:// uri, but the cid changes every time
  99. slickdomique
    okay, got it. Yes, changing the focus from at to cid could fix this
  100. kcchu

    In reply to this message

    This sounds like a bug
  101. moved to @shreyan:beeper.com@shreyanjain:matrix.org
    not necessarily, it allows modifying a record while preserving previous versions and their attached information. since all likes, reposts, replies, quotes, etc. all have both the at://uri and cid attached, it's pretty trivial to create a sort of "version history" and allow you to find out which version of a record all its referencing records were meant to be associated with
  102. Jazil Zaim
    is there any possible plans for Stories in the future?
  103. or DMs?
  104. kcchu

    In reply to this message

    Right, i shouldn’t say it is a bug as replacing a record is an intended function of the MST. But I think post editing is better implemented as adding record to the MST rather than replacing records to persist edit history. Even old edits are still stored in data repo, in theory old commits could be purged from the repo to compact data. And it is quite inefficient to enumerate data repo commits to lookup edit history of a post
  105. Aaron Goldman
  106. we actually talk about this at the beginning
  107. we were try to decide whether to add a commit cid to the url
  108. at:// handle @ commit / path
  109. this would allow for ether a latest dereference or a at that commit dereference
  110. dholms decided that we could just as the cid to any record that had a at: url to serv as the fixed point rather than including it in the url.
  111. A client that is counting likes could use the cid to group the responses by the state of the record at the time it was referenced
  112. moved to @shreyan:beeper.com@shreyanjain:matrix.org
    I'm guessing once putRecord is turned on it will be better for this purpose than the current delete, then createRecord with same rkey
  113. Aaron Goldman
    granted they are not perfectly equivalent as including the hash of the commit is a commitment to the state of the full repo not just a commitment to the bytes of the post you are responding to
  114. but the mental model should be that a repo can update an existing record not just create new ones
  115. I get why having 3 ways to resolve a url is confusing but I still kinda wish we had the commit hash in the at: urls
  116. at least as an option
  117. retr0id

    In reply to this message

    something I've been doing in my very WIP client is at://repo/collection/rkey#cid (mainly as an informational thing)
  118. like, purely in the frontend
  119. Aaron Goldman
    you like the cid in the fragment better then the @ notation?
    (edited)
  120. retr0id
    well, in my case it's a purely practical thing. visiting http://webclient/at://repo/collection/rkey renders a thread view, and each post has its HTML id attribute set to its corresponding CID, so the browser can jump to and highlight the linked post without any JS needed
    (edited)
  121. Aaron Goldman
    cool
  122. moved to @shreyan:beeper.com@shreyanjain:matrix.org
    for actual protocol level stuff i would prefer the @ notation, since it simulates git
  123. moved to @shreyan:beeper.com@shreyanjain:matrix.org
    it would also be nice if clients gave more respect to the createdAt on a record
  124. retr0id
    in my client I have a hover tooltip that shows both timestamps
  125. Aaron Goldman

    But it is better than git.

    git is broken because the branches don't have identity. If I give you a git hash and ask you to get the latest for that branch you can't
    In theory you could have an index and find all commits that have your commit as a parent and recur to find all descendants but that would not give you an authoritative latest.

    This is why we end up in centralized services like git hub.

    I can reference a file like
    https://github.com/bluesky-social/atproto/blob/318736816c65e86a554e09cb9dc2e095dff636c4/README.md
    but that is only a moment in time.

    I can reference a file like
    https://github.com/bluesky-social/atproto/blob/main/README.md
    but that is only the branch name and dose not commit to any particular state

    I wanted a way to have all the commitment of a git hash and all the authoritative latest of a GitHub.com/user/repository/branch/path
    at://controller@commit/path the controler means cryptographically strong authoritative updates and commit hash means a cryptographically strong commitment to the exact bytes of the whole repo. The web gets a new href for committed to bytes and authoritative updates. Without fear of losing your name because you didn't pay the name bill on time.
    If I want to move from github to gitlab or

    I will break all the links out in the world. If I want to move from one PDS to a different PDS I just update the DID Document.

    Authenticated Data eXchange gives the opportunity for linked web of documents that have the git like powers of distributed version control and the http like powers of authoritative updates. Let's do to the web what git did to source code

    The power of http by letting people register and control names.
    The power of git by atomically moving from one commit to the next.
    The ability to handle large fanout trees becuse MST avoids large directory problem.
    The ability to handle very deep trees becuse MST avoids deep directory problem.
    The ability to handle large files becuse we can brake in to a tree and MST is good at breadth and depth.

    Authenticated Data eXchange is a powerful primitive to build on.

  126. mssamantha joined the room
  127. chris joined the room
  128. shreyanjain changed their display name to moved to @shreyan:onbeeper.org
  129. moved to @shreyan:onbeeper.org changed their display name to moved to @shreyan:beeper.com
  130. shreyan joined the room
  131. Özkan Demir joined the room
  132. u64 changed their profile picture
  133. u64 changed their profile picture
  134. Strad joined the room
  135. @sanktmax:matrix.org removed their display name (sanktmax)
  136. @sanktmax:matrix.org left the room
  137. manaken0522 set a profile picture
  138. SARTHAK joined the room
  139. Public Universal Girlfriend joined the room
  140. Dom joined the room
  141. Domenico Vilone changed their display name to Dom
  142. @parfait:filly.chat joined the room
  143. Karl Abbott changed their display name to Karl Abbott (Away until 17-July-2023)
  144. radyolist joined the room
  145. mdmazing changed their display name to azing
  146. frcharron joined the room
  147. @parfait:filly.chat changed their profile picture
  148. Skyler Hawthorne

    Well this was a fun bug to find in did:web resolution

    https://github.com/bluesky-social/atproto/issues/1338

  149. shreyan
    That bug does indeed look very fun
  150. It's such a rare use case it's probably slipped completely under the radar so far
  151. justloyld (she/her) joined the room
  152. justloyld (she/her)
    hey is there a general discussion room related to this or even a support for bluesky?
  153. @parfait:filly.chat changed their profile picture
  154. steve_coldham changed their display name to ambrose _j
  155. @steve_coldham:matrix.org
    Message deleted by Aaron Goldman
  156. Skyler Hawthorne

    In reply to this message

    I mean it's not that weird of a case, it's just ipv6. The bigger shocker to me is that there's a self-purported HTTP library that can't make requests to ipv6 hosts
  157. Sarthak Walia joined the room
  158. omellko joined the room
  159. Skyler Hawthorne

    In reply to this message

    Actually with a repl, doing a get on an ipv6 only host works just fine

    axios.get('https://ipv6.google.com')

    So maybe this really is an edge case with link local resolution

  160. retr0id
    I believe the
    bsky.social
    infra is currently v4 only
  161. so it's not an issue with the codebase itself (I think?), just how its been deployed
    (edited)
  162. although re-reading Jacob's comment makes me assume there could be other logistical issues I haven't considered
  163. Skyler Hawthorne

    In reply to this message

    This seems to be an issue with network requests to the host in the handle of the DID; I don't think it has anything to do with bsky's infra
  164. retr0id
    if their infra has no ipv6 network interface (which appears to be the case), they're gonna have a hard time connecting to v6-only hosts
  165. Skyler Hawthorne

    In reply to this message

    My host is not v6 only, it's both. It just so happens that the FQDN is resolving to the link local address when the request is made from the same box, and that local address happens to be ipv6. The issue is the box making a request to itself, not to anything external
  166. Take a read through the issue
  167. retr0id
  168. wjboll.es joined the room
  169. you can bank your hard-earned money on failure joined the room
  170. curiouskoa
    Message deleted
  171. xormetric joined the room
  172. Kousuke Ebihara joined the room
  173. @anjuhime:matrix.org set their display name to mkanju
  174. @anjuhime:matrix.org removed their display name (mkanju)
  175. @anjuhime:matrix.org left the room
  176. @glassofwater369:the-apothecary.club left the room
  177. Matthew
    /me sends positive vibes to the bsky team, who look to be at the bottom of a massive dogpile
  178. (and notes that
    matrix.org
    doesn’t impose any rule matching on usernames at all at signup, and synapse doesn’t even have config for that; i wonder if we should :/)
  179. kcchu
    +1 (Also the fact that bsky team took down the account within 40 minutes after it was reported and deployed SW changes to prevent this from happening again within days)
  180. Skyler Hawthorne
    Any context for those of us still not invited?
  181. kcchu

    In reply to this message

    I have invite to share. Dm me with your GitHub and Twitter profile.
  182. @davidprieto:arada.club

    In reply to this message

    One user used a racial slur as their handle and was banned after 40 minutes; now big groups of people are harassing the devs and demanding that they apologize for the damage they caused.
  183. Özkan Demir
    I need invite code please 🙏
  184. @steve_coldham:matrix.org
    Message deleted by Aaron Goldman
  185. @planetoryd:matrix.org

    In reply to this message

    Aaron Goldman: ^
    (edited)
  186. @planetoryd:matrix.org
    Matthew: have u talked to
    @iancjclarke:matrix.org
    , just in case. Is it actually a good idea to use his freenet to solve matrix's performance problem ?
    (edited)
  187. Matthew
    i think we’ve already fixed matrix’s perf problems? https://element.io/blog/element-x-experience-the-future-of-element etc
  188. @planetoryd:matrix.org
    I mean the full mesh routing problem
  189. Matthew
    at least i’m in 5000 rooms containing around 650K users, and it works ok for me :)
  190. i’m not sure fullmesh is a big problem atm for matrix perf tbh.
    arewep2pyet.com
    is the long term solution to this though
  191. although p2p work is currently on hold due to funding problems :|
  192. @planetoryd:matrix.org
    It still works like Email, right, which forwards a message to every server
  193. Matthew
    (i’ll get into trouble if i talk about matrix in here tho - thanks to the pointer to ian tho; didn’t know he was in matrix)
  194. @planetoryd:matrix.org
  195. @steve_coldham:matrix.org left the room
  196. @taylor_smith:matrix.org joined the room
  197. @taylor_smith:matrix.org
    Message deleted by Aaron Goldman
  198. jmcasey
    tell me more
  199. @darkflame72:matrix.darkflame.dev left the room
  200. @davidprieto:matrix.org joined the room
  201. Nil Kraunis changed their profile picture
  202. @coreatom:matrix.org joined the room
  203. @coreatom:matrix.org
    Message deleted
  204. @coreatom:matrix.org changed their profile picture
  205. @itspranitsingh:matrix.org joined the room
  206. @itspranitsingh:matrix.org left the room
  207. Aaron Goldman
    I would prefer 🎵 beats 🎵but it doesn't look like it is going that way.
  208. m1kola
    Most of the time I refer to social media posts as "posts". Facebook post, twitter post. Probably a habit from forums. I think I'm old fashioned.
  209. Aaron Goldman
    Posts sounds good to me
  210. @coreatom:matrix.org left the room
  211. m1kola
    I'm looking into running PDS (want to play with sandbox). In the readme I see mentions of Digital Ocean and Vultr for hosting, but I would like to run it locally (I'm being lazy - don't want to deal with cloud providers at this point). Before I go down this route - are there any pitfalls? Does it make sense at all? The plan is to fiddle a bit with my DNS (my IP is dynamic and I will either be manually updating DNS records or will come up with a script for that) and to make my router accept ingress traffic and forward it to my machine.
  212. alexwwww joined the room
  213. Aaron Goldman

    In reply to this message

    The PDS won't help you with the dynamic DNS. As you say you would need your own script for that. When your PDS is unreachable other PDSs won't be able to fetch the heads of your user's repos but once they have repos catched locally they will have the data.

    Set up with flakey connectivity to a PDS is a good test case for the federation. The ideals of authenticated data is that once you give the repo to anyone they can share it around so following a repo on a flakey PDS should not be a problem.

    Obviously the users of your PDS can't publish new posts when the PDS is not reachable.

  214. In the extreme case of a PDS that is gone forever there will not be new head retrieval but the repo in the world will remain valid as long as someone has a copy
  215. m1kola
    Yeah, after reading on federation I got the impression that architecture should be resilient to PDS disappearing completely. It was explicitly called out somewhere that users should be able to migrate to another PDS using a copy. Given that + the fact that shit happens (outages, etc) I assumed that bringing PDS down should be fine.
  216. Thanks for your answer. Hopefully I'll have some time next week to try this. Will keep you posted in case of any issues :)
  217. retr0id
    something you might want to consider, as a slightly more resilient alternative to ddns: https://tailscale.com/blog/introducing-tailscale-funnel/
  218. m1kola
    Thanks for the suggestion. IIRC I tried tailscale for something similar but ended up just updating DNS for some reason. My domains are with cloudflare and it is pretty easy to update records with them both manually and programmatically. But I might give it another go.
  219. Jacob changed their profile picture
  220. retr0id
    oh if you're already using cloudflare, they do have a similar product to tailscale funnel
  221. cloudflare tunnel, I think
  222. trashheap64 joined the room
  223. @taylor_smith:matrix.org
    Message deleted by Aaron Goldman
  224. Sabir Ibrahim
    It's odd that spammers would target a platform that's so far off the mainstream radar.
  225. @rin:psps.cat left the room
  226. retr0id
    matrix pretty big as a whole, lots of spammers to go around
  227. shreyan changed their display name to off the grid (shreyan)
  228. Skyler Hawthorne

    So far, my understanding is that a PDS signs your posts and hosts them, and that your DID document contains the public key of the repo signing key, which is shared across all accounts of the PDS.

    If you were to move to a different PDS, e.g. move to your own after Bluesky's instance is federated, what happens to your data? Does it somehow get copied to the new PDS and re-signed with the PDS's key, or is all content left in the original PDS and still referenced whenever old posts are queried?

  229. Aaron Goldman

    In reply to this message

    The thing that is signed is not a post but a repo containing all posts that you have not removed. When you move to a new PDS upload the full repo to the new PDS and update your DID Document. The next post you send to the new PDS has signed the root of the repo so all not removed posts are now being served from the new PDS.
  230. If the old PDS is still up then you probably want to have the new PDS get the repo from the old PDS if it is gone or for some other reason not hosting your repo anymore then you will need to upload the repo from your user agent
  231. Aaron Goldman
    Side note / personal pet peeve: The AtProto does not say anything about who signs the commits only that they are signed. One of the main values of the merkle hash trees in general and MST in particular is that it makes it cheap to have client side signing of the repository. This is because when I add a record to the tree I only need the path to the root to sign the new repo I don't need the bulk of the repo to fit on the client. The current fairly centralized implementation of the demo PDS dose all the signing server side but the keys that sign the commits to the repo and deltas to the DID Document can live on the client for responsible users or on the server for users that don't trust themselves with key management.
  232. Aaron Goldman
    While you probably want a rescue phrase for the DID on a physical paper you can store security. There you may not need the repo keys to be anything other than non-extractable keys in the TPMs of your personal devices.
  233. Aaron Goldman
    The roles that the PDS are responsible for by protocol are being the repo host of last resort and acceptor of a new head. By having a host of last resort we cap retrieval latency. Caches can improve performance but performance can't fall below that of the PDS. By having an acceptor for updating the head we can have ACID properties. If a commit would have violated the ACID properties by becoming the new head the PDS simply dose not accept the new head and the client must rebace and retry or accept the failure to update.
  234. retr0id

    In reply to this message

    iiuc you can only have one repo signing key at any given time, right now (unlike plc rotation keys), which would make using multiple devices a bit awkward if you wanted non-extractable keys on each.
    (edited)
  235. @davidprieto:arada.club left the room
  236. @iamusualguy:var1able.network left the room
  237. J L joined the room
  238. pere changed their profile picture
  239. Karl Abbott (Away until 17-July-2023) changed their display name to Karl Abbott
  240. Skyler Hawthorne

    In reply to this message

    Interesting, thanks for the detailed reply! I'm specifically considering the case of how to move off of bsky's instance once they turn on federation. How would I transfer the repo to my PDS once this is possible?
  241. @taylor_smith:matrix.org
    Message deleted by Aaron Goldman
  242. Skyler Hawthorne
    Would this be a call to
    getRepo
    ?
  243. AlexxiS joined the room
  244. Midou (Moved to envs.net, same username. Please invite me to another room if it seems necessary, and if i do happen to be admin somewhere ping me.) changed their profile picture
  245. @0xnima:matrix.org left the room
  246. retr0id
    why hasn't @taylor_smith:matrix.org been banned yet lmao
  247. In reply to this message

    getrepo, and all your blobs, and your preferences json, and some way to export your mute list (there's an xrpc to enumerate them but I don't know off the top of my head)
  248. and probably a few other things I'm forgetting
  249. retr0id
    oh feed subscriptions are outside of the repo too, I think they might be in the preferences json though
  250. @taylor_smith:matrix.org left the room
  251. Matthew

    In reply to this message

    (done)
  252. In reply to this message

    matrix is trying to be mainstream, much as bluesky. complete with spam :|
  253. Skyler Hawthorne

    In reply to this message

    I mean if anything it can be seen as a weird kind of success. Enough people are using it that spammers find it worth their time
  254. In reply to this message

    Sounds like it could use some documentation 🙂
  255. @parfait:filly.chat

    In reply to this message

    sounds like this chat could use a mjolnir bot or a few other moderators
  256. @tthh5577:matrix.org left the room
  257. retr0id

    In reply to this message

    I have an open github issue regarding this btw
  258. Roshi Master joined the room
  259. m4h4nk4l1 joined the room
  260. A.Gharbeia joined the room
  261. @emmanuel_davidsone:matrix.org joined the room
  262. @arteymix:matrix.org left the room
  263. zopbop changed their profile picture
  264. @r.t.redreovic:envs.net joined the room
  265. denis

    Hi folks. We are working on our implementation of ATProto.

    We checked Bluesky FAQ and there are some interesting answers to our questions. Currently the main problem for us is Bluesky team decision to use lexicon and xrpc. 

     

    Unfortunately, DX of those new custom protocols is not good enough for us. So we prefer to see OpenAPI spec for the protocol. It will allow us to use rich ecosystem of tools built around it.

     

    So we started kinda fork of the protocol to define resources in terms of OpenAPI. But maybe there are some projects which already are doing something similar? We would like to avoid double efforts.

     

    Thanks 

  266. denis
    Maybe bnewbold or someone else from Bluesky team could help here? Sorry for tagging 
  267. denis set a profile picture
  268. @numero6:codelutin.com

    In reply to this message

    do you have a matrix chatroom for your project?
  269. denis

    In reply to this message

    we don’t have a public room yet because it requires more collaboration efforts and we are super limited in resources. 

     

    but we plan to launch it in September 

  270. denis

    btw I’m a person who sent you the email about customising typify from oxide for ATProto a while ago

     

    https://github.com/oxidecomputer/typify

  271. @r.t.redreovic:envs.net left the room
  272. bnewbold
    Lexicons line up pretty closely with JSON-Schema and OpenAPI, though they also handle things like WebSocket stream with CBOR data (the firehose)
  273. a few weeks ago we iterated on the specs at
    atproto.com
    , with a lot more details about Lexicons, the overall data model, etc
  274. there are some projects like https://github.com/rdmurphy/atproto-openapi-types which automatically turn Lexicons in to OpenAPI specs
  275. similar things could be built for all the other popular schema definition languages and API tooling systems. at the end of the day, this is all just JSON over HTTP, which is extremely common and simple to work with
  276. off the grid (shreyan) changed their display name to shreyan
  277. @bewildee:matrix.org left the room
  278. @ignitedpotato:computational.beauty joined the room
  279. oldrego joined the room
  280. @vyach:matrix.org left the room
  281. @danny-hpy:matrix.org left the room
  282. Long Yujie joined the room
  283. @rimuru:gentoo.chat changed their profile picture
  284. Public Universal Girlfriend
    Hope you're all doing well, miss everyone enjoying the TL
  285. Naomi (@xhaunt:matrix.org) joined the room
  286. @emmanuel_davidsone:matrix.org changed their profile picture
  287. Aaron Goldman

    In reply to this message

    My advice is to focus more on interoperability at the repo layer than the API/xrpc layer.

    As long as repos are signed it's an implementation detail of how you got the blocks. xrpc, Open API rest API, mailed a hardrive full of repos to someone, ... whatever.

  288. Wire protocols are a matter of support on both ends and so can mutate a lot over time. Persistence formats are forever or they take the stored data down with them.
  289. Moving git from ssh to https no big deal. Moving git from Sha2 to Sha256 the transition will never be "complete"
  290. @kaorit:matrix.org changed their profile picture
  291. Hyolobrika changed their display name and profile picture
  292. sinisterlight joined the room
  293. ninjaraven joined the room
  294. @wendy:forso.me joined the room
  295. Skyler Hawthorne

    In reply to this message

    Very confused by this. HTTP / JSON is about as standard as it gets. Pretty much the only uncommon thing is the path component of URIs and the way the schema is communicated.
  296. kcchu
    Message deleted
  297. thespacefrog joined the room
  298. Eren changed their profile picture
  299. @wendy:forso.me left the room
  300. denis
    Fully agree here, thanks for the suggestion
  301. denis
    I agree that JSON itself is pretty straightforward. However, there is a gap between OpenAPI tooling vs lexicon tooling. For example, Swift OpenAPI generator was released recently. It makes CI much easier.
  302. Aaron Goldman
    How long would it take to write a lexicon to Open API yaml converter 🤔
  303. denis
    It feels like bluesky dev community sometimes uses too sarcastic tone of voice to answer simple questions about alignment with existing standards. Kinda cool kids vibes. Pretty dissapointing.
  304. Sabir Ibrahim changed their profile picture
  305. @pjticus:matrix.org joined the room
  306. @pjticus:matrix.org
    Message deleted
  307. @pjticus:matrix.org
    Message deleted
  308. @pjticus:matrix.org left the room
  309. Aaron Goldman
    Not sure if you totally follow this comment. There is certainly a lot of sarcasm but also trying to be inclusive as a community. Can you give a little more detail on where we made you feel excluded? Our community only stays healthy if we retro exclusive interactions.
  310. kcchu
    (Move my reply into thread) I think the value of lexicon is a schema for extensible and composable types. IMO OpenAPI spec isn’t a good fit because the scheme is expected to be centrally maintained. If anything JSON-LD would be closer as an alternative
    (edited)
  311. @4223et:chat.ccc-p.org left the room
  312. chinchillas joined the room
  313. @red6leader9:matrix.org joined the room
  314. ThatLinuxUser
    Hey, are you allowed to ask for invites in this chat room?
  315. Sorry for asking
  316. @red6leader9:matrix.org

    Asking if you’re allowed to ask for invites? Interesting strategy lol

    Edit: don’t mind my bad grammar, I am a native English speaker educated in the US.

    (edited)
  317. ThatLinuxUser
  318. @planetoryd:matrix.org
    I never wanted to ask invites. Do not send me an invite.
  319. @red6leader9:matrix.org
    Stand up your own PDS, demand federation, demand decentralization, fuck unions, get rich, hail capitalism. Don’t know what else you can do.
  320. In reply to this message

    Can I DM? 😂
  321. @planetoryd:matrix.org
    I got random DMs from this room for invites, by lurking for 2 minutes
    (edited)
  322. ThatLinuxUser
    I'm really not surprised and probably bogs this place down
  323. starts dming people
  324. @red6leader9:matrix.org
    But seriously, if you actually run Linux just stand up your own PDS.
  325. ThatLinuxUser
    (/j)
  326. Wait you can already start a new instance?
  327. I thought that was still in development
  328. (not instance, PDS)
  329. @red6leader9:matrix.org
    The instructions on GitHub made it seem doable
  330. @embers-sub:comm.cx joined the room
  331. golden_lib joined the room
  332. ThatLinuxUser

    In reply to this message

    Can you dm me a link? 😅 😂
  333. The fact they are using GitHub rather than GitLab upsets me but w/e
  334. ThatLinuxUser
    I'll certainly look into doing that after work, thank you!
  335. @red6leader9:matrix.org
    The invite only gimmick, with all the promises for “creators, developers, and users” seems like another social media platform circa 2013
  336. ThatLinuxUser
    I mean the platform is practically emulating pre-2016 Twitter right now
  337. But I absolutely see what you mean, it's like something you'd hear when 'Web 2.0' was a common phrase
    (edited)
  338. ThatLinuxUser
  339. Oh I can see why PDS isn't exactly big yet, as it seems to not fully replace the need for invites in order to join.
  340. I'm still going to do it regardless, thank you!
  341. ploxxy joined the room
  342. @red6leader9:matrix.org
    Well, again, until the Bluesky devs implement federation, you’re on your own social media island, but that’s the point. It doesn’t allow you to talk to Bluesky Socials network until they allow it AND you allow it. You’re always in control of what you see and who sees you.
  343. The issue is none of us know what Bluesky looks like right now, or specifically how it’s better than diaspora or mastodon.
  344. Stuff like this paints a grim picture tho.

    Don’t monopolize the conversation

    We welcome engagement, but if you are always the noisiest poster, the mods may ask you to take a step back to make room for others.”

  345. Public Universal Girlfriend
    Is that from mastodon or a bluesky doc I haven't seen?
  346. @red6leader9:matrix.org
    Blueskys matrix chat rules 😅
  347. They also talk about concepts like using the ACLU as a source of moderation.
  348. Public Universal Girlfriend
    That's more of a polite don't be a jerk rule, I think
  349. @red6leader9:matrix.org
    Maybe, but it doesn’t bode well for decentralized platforms imo
  350. @planetoryd:matrix.org
    @samme:schizo.cafe: nice domain name
  351. @emmanuel_davidsone:matrix.org changed their profile picture
  352. shreyan

    In reply to this message

    why?
  353. @red6leader9:matrix.org
    Well, unless they’ve developed some crazy new methodology that has never been theorized before. Moderation requires centralized control at some level, last I checked, that was the opposite of what we are aiming for with decentralized social media
  354. Public Universal Girlfriend
    I think most people seeking it are looking to define rules within their own spaces and hope to have everyone have their own space, which naturally requires that people moderate their own spaces.
  355. kcchu
    Moderation usually requires authorities, but it doesn’t have to be one centralized authority. Email spam filtering can be considered a form of moderation, and it can be done by individual services without centralized (aka singular) control
    (edited)
  356. @red6leader9:matrix.org

    In reply to this message

    Except today, most spam filtering is provided by several of maybe a dozen sources, and unless you run your own email server, you are at the mercy of whoever your email provider chooses.
  357. shreyan

    In reply to this message

    That rule is specifically for this Matrix chat, not BlueSky as a whole :0
  358. @red6leader9:matrix.org
    Yes, but per blueskys own documentation, they want to allow ACLU to provide content filters and moderation tags.
  359. shreyan
    not just the ACLU, of course. The ACLU is just one example of an org who might run a moderation service
  360. Brad Brown
    and it's used literally just as an example of "anyone can provide labels/tags for anyone else who so chooses to make use of"
  361. @red6leader9:matrix.org

    So let’s say Bluesky uses ACLU or any org, doesn’t matter really, for its content moderation. Why does that org have access to my content? Unless they are given some kind of special permissions by Bluesky.

    Alternatively, I saw something about community moderation. What’s to stop a country’s government from using this to silence dissidents.

  362. Either my content is mine and I can control who sees it and what content I see or there’s centralized control, even if its several centralized controls.
  363. shreyan
    being able to control who sees your content is the wrong way to think about it. imagine it more like people being able to control what content they see
  364. @planetoryd:matrix.org

    In reply to this message

    they trained a philospher king AI model that runs on blockchain
  365. @red6leader9:matrix.org

    In reply to this message

    So creators have no control over their content once it’s on the platform? IE today I can block whoever I want on twitter and they can’t see my content.
    (edited)
  366. In reply to this message

    That sounds interesting, I’ll look into that.
  367. Brad Brown

    In reply to this message

    You get to control what you put out into the world, and readers get to control what they choose to see.
  368. @red6leader9:matrix.org
    Sounds like more of the same big social media. We make the content, platform owns the content.
  369. shreyan
    not really, it's basically how the open web works. you can publish anything you want, and those who want to read it can read it
  370. @red6leader9:matrix.org
    Yes but I can limit who access my content on basically every current platform.
  371. In this model, I have no control over who views it.
  372. Brad Brown
    are you wanting to force people to see your stuff when they've chosen not to?
  373. shreyan
    you can block people on bluesky, but also, even on platforms, being able to limit who accesses your content is an illusion when something is on the public web
  374. @red6leader9:matrix.org

    In reply to this message

    No, I want to prevent people from seeing my content.
  375. If I don’t want my ex to see my pictures of my new girlfriend and kids, I should be able to reasonably prevent that without explicitly blocking her. If basically any org is granted view all privileges to my data, that’s not even reasonably possible.
  376. foxlet
    Has the invite waiting list moved up at all?
  377. @red6leader9:matrix.org
    I shouldn’t have to block everyone at my company to ensure my employer doesn’t have access to my social media.
  378. shreyan
    ...how do you do this on existing platforms?
  379. @red6leader9:matrix.org
    I limit who can view my content?
  380. Facebook calls it a friends list, and I can limit posts to only friends.
  381. shreyan
    as in creating a private account?
  382. bluesky's design right now is not really good for private data but someday it could be
  383. @red6leader9:matrix.org
    If it isn’t built for data privacy from the start, it will never be good for data privacy.
  384. Public Universal Girlfriend
    I think you answered your own questions, then.
  385. shreyan
    it's a bit strange to expect "designed for data privacy" from a protocol explicitly built for public data and conversation
  386. @red6leader9:matrix.org
    Matrix is built for conversation and interconnecting tons of public data.
  387. Is it really strange to demand privacy?
  388. @planetoryd:matrix.org
    public content. private PII.
  389. @red6leader9:matrix.org
    My email is tied to my account on Bluesky?
  390. shreyan
    To say Matrix is especially good at privacy is also a misleading argument - there's currently a bot run by
    matrix.org
    that crawls public matrix rooms to archive their content
  391. @red6leader9:matrix.org
    Public rooms you say?
  392. shreyan

    In reply to this message

    on
    bsky.social
    , yes - another PDS can choose to tie your identity to something else
  393. @red6leader9:matrix.org

    Meaning it can join those rooms because the content owners have made the decision to allow anyone to join.

    I can create private rooms on

    , or dozens of other home servers that may not be federated to
    matrix.org
    . Suggesting matrix is not built for privacy is misleading. It may not be great at it yet, but it was certainly designed with privacy in mind.

  394. shreyan
    that's true
  395. however matrix and bluesky's purposes are very different
  396. one of them is explicitly for chat-style conversations like this one, while the other one is designed like the web itself but with more social interactions
  397. @red6leader9:matrix.org
    It’s designed like the web itself? I don’t think so. It’s more designed to draw in users with promises of control and then impose its creators views on them. Content moderation by anyone other than individual users themselves will always be a giant mistake, as it fundamentally requires data be viewable by people the user doesn’t necessarily want viewing it.
  398. @madpat:wolfcave.me joined the room
  399. vaulto joined the room
  400. vaulto set a profile picture
  401. Sabir Ibrahim

    In reply to this message

    That's kind of an inherent aspect of it though. You simply can't escape centralization entirely. There can't be spokes without hubs. For example, there are extremely few people who host their own email server. Most everyone just relies on third parties like Google, Microsoft, et al.

    The whole point of data portability is that if you don't like the policies of the server you're on, you can pack up, go elsewhere, and not miss a beat. My understanding is that's part of the reason Bluesky decided to create a new protocol instead of just building on top of ActivityPub.

  402. @red6leader9:matrix.org
    Data portability is great, and agreed, we always need some solid hubs to act as the connection points, but that doesn’t mean they should have access to our data.
  403. @red6leader9:matrix.org
    Don’t get me wrong, I think data portability is a HUGE accomplishment and very important feature.
  404. @daley_:matrix.org joined the room
  405. @rimuru:gentoo.chat changed their profile picture
  406. 0xtobi joined the room
  407. pizzaknight

    In reply to this message

    Users can always run their own PDS and clients to exercise full control over moderation if they want, it isn't a hard fast rule that moderation be handled by third-parties on Bluesky.
  408. also you want a private experience, then ignore bluesky, spin up your own client + PDS, disconnect from bluesky's BGS and all public indexers, there, private experience.
  409. watercityflame joined the room
  410. Aaron Goldman

    In reply to this message

    One analogy I like for why you might want authenticated data is the comparison between a phone call and a bookstore. If you ask everyone that wants to learn from you to call you then you can give custom answers to each caller. For example not sharing with one specific person. But it is inherently expensive as you have to have enough bandwidth to talk to each and every individual that wishes to learn from you.

    If you publish a book you record the ideas once. Someone who gets a copy of your book can make a copy. There's a lot of ancient wisdom where we don't have the originals. We do have the copies of the copies of the copies of the copies of the copies. But this comes at a cost. If you publish a book and it is in bookstores newsstands and libraries you can't then say "but that one guy I don't like is not allowed to read it".

    AtProto is a protocol for authenticated data exchange.
    Does my belief that this can fundamentally change the economics of content distribution.
    HTTPS gives you nice properties that AtProto does not have. However the unlimited ability to cash the data anywhere and index the data anywhere without losing authenticity changes the Nash equilibrium that led to a small number of very large social media providers.

  411. kcchu

    In reply to this message

    Exactly. There is a dozen of large spam filtering services (plus many smaller services), not one service. And users could easily switch to another service if what they are using become too shitty. Companies may also enter the market without much barrier. Users may also choose to not use any spam filtering service if they want to.

    I think this model is pretty good for social network moderation too

  412. Aaron Goldman
    Choosing not to use anything for filtering is probably a bad idea and you will get mostly ads.
  413. @red6leader9:matrix.org
    Not if everything is opt in…I should never see ads on a decentralized and open source platform unless I’ve subscribed to that.
  414. Aaron Goldman

    In reply to this message

    Ah, that is explicitly counter to the original goals of AtProto. RSS is actually quite good at just following feeds. The goals with AtProto were explicitly around a big world view of data.
    There was value in the fact that Twitter was one big conversation. Then you could follow a hashtag and interact with people who you would have never met or otherwise interacted with. Activity Pub let's re-posts jump from server to server and get great distance but only for posts not really tags or topics. What was needed was a way to make something very crawlable by making it cheap to check for or subscribe to updates.
  415. This is what makes the BGS much cheaper than a https search engine
  416. @red6leader9:matrix.org

    In reply to this message

    OOOOOHHHHHH
  417. Okay, that changes my viewpoint, a lot.
  418. I actually forgot hashtags had an functional purpose beyond people being obnoxious trying to get retweets and likes.
  419. Aaron Goldman
    For some people being obnoxious gives them purpose 😔
  420. @red6leader9:matrix.org
    Okay, I kinda get it now. I’m still not sold on the content moderation portion, but given the context I think it’s a moral compromise
  421. Aaron Goldman
    But there are definitely use cases where matrix fit's much better
  422. @red6leader9:matrix.org
    I mean, matrix doesn’t do groups or comments or threads very well. There is a LOT matrix doesn’t do and it shouldn’t do.
  423. I think in terms of imbedded chat, sure matrix is the future.

    But I’d love for a twitter replacement that is free and open, but I guess secure/private is a little bit different of a question and I need to adjust the lens I’m looking at it through

    (edited)
  424. Aaron Goldman
    The thing is that there are multiple parties that each have preference. The publisher has things they want to say. The client has things they want to hear. The infrastructure provider has things they don't want to host. For personal or legal reasons. A publisher can find a PDS that is willing to host them or run their own. The client will pick a PDS whose moderation preference mach their own. The PDS will subscribe to content labelers that help the not host things they find objectionable
  425. @red6leader9:matrix.org
    Can I quote that to others?
  426. That really clearly paints a picture of bluesky that’s understandable.
  427. Aaron Goldman
    I imagine a content labeler that is just doing legal in your country will be much cheaper than one doing viewpoint labeling
  428. I think our blog post about this was titled "freedom of speech not freedom of reach"
  429. kcchu
    Message deleted
  430. kcchu

    In reply to this message

    Maybe I misunderstood your view, but i think ads are not antithetical to decentralization or open source. Ads shown by the service you use in a decentralized social network seems okay to me, as long as users have choice.
  431. @red6leader9:matrix.org

    In reply to this message

    Yea, that’s agreeable. I just don’t want user on PDS A to agree to ads and I as a user on PDS B who is federated with PDS A to also receive those ads directly from advertisers, unless a user reposts them.
  432. jcon
    hello everyone, can anyone slide me an invite?
  433. @red6leader9:matrix.org

    Build your own PDS, then federate with the staging environment. If you can do that and make a meaningful commit to the project you’ll probably get one.

    Disclosure: I have no interest in actually getting you an invite, the whole thing reminds me of Ello, I just wanna see as many PDSs built as possible as quickly as possible.

  434. @wvrld:matrix.org joined the room
  435. @itechgeek:matrix.org joined the room
  436. morethan joined the room
  437. @mifhadi:matrix.org joined the room
  438. @mifhadi:matrix.org
    Message deleted
  439. @embers-sub:comm.cx

    In reply to this message

    Is it possible to RSS feed from bluesky yet?
  440. Faith Humphrey Hill joined the room
  441. shreyan
    there is a third party project which allows that
  442. ThatLinuxUser
    Thinking about it who actually has access to bluesky in this chatroom
  443. ThatLinuxUser
    Message deleted
  444. ThatLinuxUser
    I am still going to set up a staging PDS lol
  445. But I wanna determine if this chatroom is more for people to yell into the void for invites
    (edited)
  446. @wvrld:matrix.org

    In reply to this message

    i thought you can only do sanbox version ?
  447. Theo joined the room
  448. @wvrld:matrix.org
    as like i own one but i thought you can have only sandbox version
  449. ThatLinuxUser
    It is
  450. But it also seems to help with development
  451. @wvrld:matrix.org
    but as soon as it will be possible to own staging pds
  452. i am gonna own one 😂
  453. ThatLinuxUser

    In reply to this message

    referring to this lol
  454. @red6leader9:matrix.org
    Well, based on the name and room description on blueskys website, I’m gonna guess this room is mostly for software devs building of ATP and contributing to the source code
  455. @wvrld:matrix.org

    In reply to this message

    same same
  456. ThatLinuxUser

    In reply to this message

    Though devs are hard to come by in here 🤔
    But obviously that is the intended use
  457. Maybe I should retract the "into the void for invites part", though that has certainly happened before.
  458. @wvrld:matrix.org
    matrix isnt that popular
  459. ThatLinuxUser
    For everyday users, yeah. Though do bare in mind it's still often used by developers... And governments apparently.
  460. It has its niche is what I'm saying
  461. ThatLinuxUser
    I have set up a PDS but I am not able to actually interact in the dev environment because I keep getting "User not Found" and "Actor Not Found", any suggestions to how I should debug?
  462. @wvrld:matrix.org
    did you setup the dns properly ?
  463. ThatLinuxUser
    I have the A records pointing to my domain name of choice and the my domain name was entered while doing the bluesky automatic setup
  464. Perhaps I should've done the manual install?
  465. @wvrld:matrix.org
    and did you setup the *.
    linuxnerd.party
  466. ThatLinuxUser
    (This is on a hetzner vps, not on a local server if I need to say that.)
  467. @wvrld:matrix.org
    nope, just in your DNS you need to have those records
  468. wait
  469. ThatLinuxUser

    In reply to this message

    Wait I didn't, my mistake.
  470. @wvrld:matrix.org
  471. it needs to look like this
  472. pointing to IP of server
  473. ThatLinuxUser
    I've done it
  474. @wvrld:matrix.org
    normally it takes about 3 minutes to update
  475. you can check it in https://dnschecker.org/
  476. looks good
  477. should work now
  478. ThatLinuxUser
    Okay
  479. ThatLinuxUser
    That still didn't fix it
  480. @wvrld:matrix.org
    really ?
  481. ThatLinuxUser
  482. Any other suggestions?
  483. @wvrld:matrix.org
    can we go private, show me the DNS configuration
  484. also
  485. do you have open ports ?
  486. ThatLinuxUser
    I'll check that.
  487. @wvrld:matrix.org
    yep
  488. $ sudo ufw allow 80/tcp $ sudo ufw allow 443/tcp
  489. like this
  490. ThatLinuxUser
    I know how to open ports
  491. @wvrld:matrix.org
    sorry, it wasnt meant to be rude, just to save you time
  492. also i am not sure if thats causing the error but i have my pds on subdomain and i also used the auto script
  493. ThatLinuxUser
    Given ubuntu firewall wasn't even on (obviously I turned it on and opened those ports) I don't think ports are the problem.
  494. Honestly I thought those were part of the auto script, seems to have not been the case lol
  495. @wvrld:matrix.org
    hmm, like its really weird, i installed mine this morning and it is working smoothly
  496. @pita_789.:matrix.org joined the room
  497. nerd joined the room
  498. ThatLinuxUser
    So looking at this none of my DIDs or my PDS actually shows up on https://atscan.net
  499. This leaves me somewhat confused to what the problem could be
  500. saucehammer joined the room
  501. ubanis joined the room
  502. saucehammer changed their profile picture
  503. @likecoin:matrix.org left the room
  504. retr0id
    atscan's DID listings are according to
    plc.directory
    (and the sandbox equivalent)
  505. PDS listings likewise, I believe
  506. In reply to this message

    what steps did you take, to set up a PDS?
  507. @sages:envs.net left the room
  508. classofaspect joined the room
  509. classofaspect
    Hello, i just wanted to ask something: What determines how fast people get invite codes?
  510. retr0id
    every time someone asks, the next invite code drop is delayed by an hour
  511. classofaspect
    It's just, i'm waiting for two weeks and i'm curious. It doesn't seem that there's an answer though. Also, does it happen that often? I skimmed through messages and didn't find anyone else ask that, yet.
  512. I do see many people asking for the codes themselves though.
  513. retr0id
    If you're on the waitlist, expect to wait ~forever
  514. you're more likely to get an invite through someone you know, than through the waitlist
  515. classofaspect
    Well then, that's unfortunate.
  516. ThatLinuxUser

    In reply to this message

    I set up the DNS records first then did the automated install, running
    wget https://raw.githubusercontent.com/bluesky-social/pds/main/installer.sh
    sudo bash installer.sh
  517. ThatLinuxUser

    In reply to this message

    As far as I'm concerned the best chances of getting one currently is magically getting a hold of Jack Dorsey or Bluesky's CEO lmao
    (edited)
  518. If anything I'd say get mastodon in the mean time as that'd probably fill the void, given that's already what a large part of Twitter's former users migrated to.
    (edited)
  519. @chadkoh:matrix.org left the room
  520. josh Gray joined the room
  521. josh Gray
    Does federation exist yet? I can't seem to find answers on Google.
  522. I'd be interested in self-hosting Mastadon style or joining an alternative instance
  523. josh Gray
    Alternatively, is there a bridge between AT and ActivityPub?
  524. @planetoryd:matrix.org

    In reply to this message

    iirc they said no
  525. shreyan
    you can try the federation sandbox for now, but you won't be federating with
    bsky.social
  526. josh Gray
    Oh I see
  527. Thank you
  528. Is federating something they're doing soon? Or is it more of a long-term goal?
  529. shreyan
    I would guess they turn it on sometime in the next few months, but that's just a guess
  530. Sabir Ibrahim

    In reply to this message

    I would imagine that this is a feature that requires a LOT of testing and QA given what's at stake, so I definitely don't fault Bluesky for taking its time with it.
  531. @red6leader9:matrix.org
    Yea I think bluesky missed a big opportunity to take over some market competition by not opening up invites prior to Threads debut
  532. Sabir Ibrahim

    In reply to this message

    I really hope that Bluesky and W3 (steward of ActivityPub) can work together and and find a way for the two protocols to federate or at least communicate on some level so that we don't end up with another format war. But if not, I guess that opens up opportunities for companies to build third party integrations.
  533. @red6leader9:matrix.org
    Aren’t we already there essentially?
  534. @madpat:wolfcave.me left the room
  535. @planetoryd:matrix.org

    In reply to this message

    no. Activitypub is inherently centralized and sucks
  536. shreyan
    that is a strong opinion
  537. @red6leader9:matrix.org
    that IS a strong opinion and I’m all about it. Tell me more
    (edited)
  538. @planetoryd:matrix.org
    Read their docs and that's exactly the reason they invented a new protocol
  539. shreyan

    In reply to this message

    lol i think the hostility between the protocols is kinda sad
  540. Sabir Ibrahim

    In reply to this message

    Technically yes, but the concept of decentralized content platforms is still nascent and off-the-radar for most people. Even in tech circles, the discourse is dominated by "sexier" trends like AI and crypto. If and when decentralized platforms and federation take center stage, a format war will be a bigger problem.
  541. shreyan

    In reply to this message

    is that centralization, or just tying accounts too much to the server?
  542. @planetoryd:matrix.org
    Both
  543. @red6leader9:matrix.org
    I guess their theory is tying accounts to a server IS centralization
  544. Which I don’t disagree with
  545. @planetoryd:matrix.org
    Also you have load balancing problems. Tying an account to a server make you vulnerable to bans and censorship
  546. ThatLinuxUser

    In reply to this message

    Do remember it's only in beta right now, I highly doubt they'd be developing the AT protocol if the goal was purely centralization
    (edited)
  547. Sabir Ibrahim

    In reply to this message

    Yeah but it's a huge leap to say that ActivityPub sucks just because AT Protocol has advantages in some areas. Like most things in life, each has its pluses and minuses.
  548. @red6leader9:matrix.org

    In reply to this message

    No I meant activitypub
  549. ThatLinuxUser
    Ah sorry, I don't think?
  550. To refer to Sabir's statement
    (edited)
  551. Sabir Ibrahim

    In reply to this message

    In reply to
    ThatLinuxUser
    To refer to Sabir's statement

    In reply to


    To refer to Sabir's statement

    What do you mean? I don't follow.

    (edited)
  552. @planetoryd:matrix.org

    In reply to this message

    “everything has pros and cons" true and useless statement. Do you have any technological (or of anything worthy) argument to back your support for Activitypub.
  553. @pine:catgirl.cloud joined the room
  554. @pine:catgirl.cloud left the room
  555. Sabir Ibrahim

    In reply to this message

    Bro, I'm not supporting ActivityPub. I actually think Bluesky/AT Protocol have more potential than Mastodon/ActivityPub. What I'm saying is that there's no need to go to the mattresses on this issue. This ain't the Cold War, my guy.
  556. @rimuru:gentoo.chat changed their profile picture
  557. ThatLinuxUser

    In reply to this message

    What you said in regards to it being a leap to say ActivityPub sucks because of AT Protocol's advantages. Sorry if I was unclear.
  558. Sabir Ibrahim

    In reply to this message

    What about it? I still don't follow.
  559. Sorry if I'm slow. I didn't have my coffee this morning, lol.
  560. ThatLinuxUser
    I said that in response to redleader stating that ActivityPub's (goal?) was centralization.
  561. Looking through the discussion I might've misunderstood something, I'm still very new to the AT Protocol and bluesky.
    (edited)
  562. ¯\_(ツ)_/¯
    (edited)
  563. Aaron Goldman
    @planetoryd:matrix.org: @red6leader9:matrix.org: Let's try to keep criticisms more technical and less ad homonym. E.g. " Placing a domain name you don't control in your ID can leave you dependent on the domain name controller. " Is probably better than " Activitypub is inherently centralized and sucks "
  564. Thanks 🙏
  565. Aaron Goldman

    In reply to this message

    Interop is a tricky topic. Activity Pub thinks in terms of connection and AtProto thinks in terms of signed content.

    The AtProto repo is self authenticated data so if you distributed the repo using Activity Pub it should just work but when putting Activity Pub events into an AtProto repo who signs that repo?

    You could have a bridge that witnesses that the events were retrieved with https and trust the testimony of the bridge but it is still a little awkward.

  566. Frankly AtProto and Nostr are far more likely to merge or interoperate than AtProto and Activity Pub
  567. As they are both authenticated data
    (edited)
  568. Trusted connections and trusted content are just different kinds of approaches.
  569. Obviously my personal opinion is that trusted content can scale much further. Primarily because it can be cached and reshared without knowing the author's keys.
  570. Drewry Pope
    That would be neat, though the protocols seem somewhat different
  571. Sabir Ibrahim

    In reply to this message

    Ah, got it.
  572. In reply to this message

    I think everyone is new to it at this point 😀
  573. Aaron Goldman
    It's annoyingly hard to have 10 years experience with a 1 year old protocol
  574. Oliver joined the room
  575. retr0id
    unless you're a 10x dev, of course
  576. shreyan

    In reply to this message

    Between all of us we might
  577. pzingg joined the room
  578. pzingg

    I am experimenting with an idea of multiple user "personas" all under the umbrella of a single identity, which is represented by a did.

    Each persona has its own display name, user name, domain name, and profile information (description, avatar, banner).

    The identity did holds the single hashed password for authentication. Any of the personas linked to the did can use this password for authentication.

    The thing I'm finding difficult to understand from the Bluesky protocols, is where the private keys for the "signing key" (a public-private keypair) and for the "rotation keys" (each one a keypair) come from, and if and where they need to be stored.

    The

    seems to use a single, server-wide signing key, read at start up from a "server.key" file on disk in the function cmd.laputa.main.run.

    When user accounts are created in the pds.handlers.handleComAtprotoServerCreateAccount function, the recovery key is optional and is passed in via arguments.
    Its did (public key, potentially empty) is stored with the user, and if the key is not given in the command input, the server-wide signing key is used as the single rotation key for the did that is created for the user.

    The command-line command gosky newAccount does not parse or send a recovery key, so in effect the user always has an empty string its recoveryKey field.

    To sign documents and verify documents, indigo uses a KeyManager interface. When signing, the KeyManager must hold a valid private keypair in its signingKey field, although this seems never to be set. Instead, the only signing is inside the api.plc.CreateDID function, which gets passed the server-wide signing key as an argument.

    To verify did documents, the document is resolved and the KeyManager extracts the public key from the "#atproto" verification method.

    Thus no private key is ever stored in a database, but is it safe to use a single site-wide key this way?

    (edited)
  579. retr0id
    It's suboptimal, but I wouldn't call it unsafe
  580. iirc the rationale for having a single key is that cloud HSM products charge on per-key basis, or something along those lines
  581. Aaron Goldman
    You do want to have an online key for signing repos and an offline key for recovery
  582. Can you say more about what you mean by personas. The idea in general is one repo per DID. You could make one DID more than one with something like `did:plc:234?persona=work`
  583. Aaron Goldman
    Putting a password hash in a DID Document may not be the best plan. For a traditional web service you have one password per service. So you can send the password to them to hash it and check the password. For a DID Document that is public it's usually better to put a public key e.g. did:key Rather than sending a password to the service you sign a challenge nonce from the service. This way many services can use the same credentials from the DID Document. If you still want the user experience of a Password-Based Key Derivation Function to generate the key pair locally from the password but never disclose that password to the web services. Changing your password is just updating the derivative did:key in the DID Document.
  584. Ilya MZP joined the room
  585. pzingg

    To be honest I am thinking more about nomadic identities for the Fediverse, but at some point maybe there would be a merging of sorts with wherever the AT protocol goes.

    One did could have a bunch of alsoKnownAs handles, some with the at:// scheme and others with Mastodon-like https://instance/users/xxx handles. Each handle = a persona. The personas would all be under the control of one human being (“user”) but would represent different presences: home / work / hobby / focus; or perhaps “repos” / content managed by servers with different capabilities: text / photo / video / project management, etc.

  586. Aaron Goldman
    Why not just have many DIDs? Then Link or unlink with the AKA field
  587. Aaron Goldman
    Proof I am not the only one putting DAGs into filesystems. https://youtu.be/mXaBncNCTWQ Shh, don't tell anyone that an AtProto repo is a filesystem.
  588. mifhadi changed their display name to mif
  589. @mifhadi:matrix.org removed their display name (mif)
  590. @mifhadi:matrix.org left the room
  591. ThatLinuxUser

    In reply to this message

    Isn't that a myth propagated by HR departments to make normal devs feel bad
  592. 🤔.
    (edited)
  593. Aaron Goldman
  594. I think it is a myth propagated by the very uneven value of code. A developer's most productive week could change the world more than their least productive 10 years. D. Richard Hipp did not make SQL but did make SQLite. Putting SQLite in the iPod meant that you could find your music by artist, album, title. By building up filters a user could find one song from tens of thousands. This made the iPod and saved apple from dying in 2001. This depended on a lot of exploration to get SQL and a lot of exploitation of SQLite by other people. Does that mean D. Richard Hipp's SQLite code is worth 3.06 trillion USD maybe not but the right code in the right place and time can be the difference between bankruptcy and 3.06 trillion USD market capitalization.
  595. Aaron Goldman
    There is a lot of exploration work on distributed and decentralized systems going on now and it looks very unproductive. Once we come to a clean set of abstractions were the data structures and transfer protocols are well understood someone will make a simple clean product that exposes all these abilities in a small reusable library and do to all these complicated decentralized systems what SQLite did to database management systems. At that point exploitation of distributed and decentralized systems will be done all over software with little thought or effort for grate value.
  596. but only because of the seemingly unproductive exploration happening now.
  597. Anyway, that's why I think we get the myth propagated of the 10x engineer there just are knees in the curve.
  598. Aaron Goldman
    123456  PDS                                did count   delta count    sum bytes     first                      last
    | https://bsky.social              |   406,600 |     479,100 |  331,216,195 | 2022-11-17T00:35:16.391Z | 2023-07-27T21:34:56.038Z |
    | https://uwu                      |    11,714 |      11,714 |   86,648,128 | 2023-05-30T06:32:05.019Z | 2023-06-30T18:52:10.965Z |
    | https://stems.social             |     5,044 |       5,897 |    4,048,359 | 2023-04-16T09:28:40.041Z | 2023-07-05T17:31:28.795Z |
    | https://boobee.blue              |     1,601 |       3,016 |    2,137,698 | 2023-03-12T15:11:56.675Z | 2023-07-27T04:54:07.696Z |
    | https://atproto.forza7.org       |        51 |          61 |       42,236 | 2023-04-13T14:10:14.176Z | 2023-06-05T09:50:10.998Z |
    

    oh look there are more than 400,000

    DIDs

  599. @daley_:matrix.org set a profile picture
  600. @daley_:matrix.org changed their profile picture
  601. RandomHuman changed their display name to random()
  602. @daley_:matrix.org
    Message deleted by Aaron Goldman
  603. ThatLinuxUser
    I'm more interested in how UwU has nearly 12,000
  604. More seriously, that is a nice milestone!
  605. Aaron Goldman
    So for a federation protocol, do you think we need anything more than 1) an endpoint to post a list of DIDs (or *) and get back a list of head CIDs 2) an endpoint to post a list of CIDs and get back a CAR file with the blocks ?
  606. jmcasey
    i do like the discovery implications of that
  607. retr0id

    In reply to this message

    someone using
    plc.directory
    for free cloud storage
    (edited)
  608. tamimi joined the room
  609. Aaron Goldman
    UwU seems rude to me but I don't really know what they are trying to store. 🤷‍♂️
  610. Chris Lynch joined the room
  611. ThatLinuxUser
    Oh, not so nice actually.
  612. meowycat983 joined the room
  613. meowycat983
    What is Bluesky?
  614. @wvrld:matrix.org
    💀😭
  615. meowycat983
    Is it yet another Mastodon alternative?
  616. @wvrld:matrix.org
    better
  617. bluesky >>
  618. meowycat983
    How to make account on Bluesky?
  619. @wvrld:matrix.org
    you need invite
  620. meowycat983
    Is it possible to selfhost it without invite?
  621. Or is it some proprietary spyware?
  622. @wvrld:matrix.org
    its decentralized
  623. meowycat983
    How to selfhost it?
  624. @wvrld:matrix.org

    In reply to this message

    you can selfhost your own pds
  625. meowycat983
    Can you tell me how?
  626. @wvrld:matrix.org
    ofc, no problem
  627. heres a step by step tutorial
  628. if you run into any problems, just tell me.
  629. meowycat983
    Okayy
  630. @wvrld:matrix.org

    In reply to this message

    how did it go ? good ?
  631. @daley_:matrix.org
    Message deleted by Aaron Goldman
  632. @red6leader9:matrix.org
    Does anyone know if Bluesky plans to have a built in proxy function or VPN setting within the mobile app. For years social media platforms have neglected this.
  633. @planetoryd:matrix.org
    Message deleted
  634. @planetoryd:matrix.org

    In reply to this message

    Generally it's not secure to do it at application-level.
  635. I prefer it done at kernel
  636. @red6leader9:matrix.org
    Ermmmm, I mean sure, but last I checked iPhones suck at application layer routing
  637. IE, I want bluesky to go out a different path than say Facebook.
  638. @red6leader9:matrix.org
    Syphon offers a proxy, and sure there’s possibility of data leakage it’s usually good enough.
  639. @planetoryd:matrix.org
    that's why im developing a tool for linux for that purpose
  640. @red6leader9:matrix.org
    Wait? Linux can already do that tho?
  641. @wvrld:matrix.org

    In reply to this message

    do you already has some version ? i am down to download.
  642. @planetoryd:matrix.org

    In reply to this message

    https://github.com/planetoryd/netns-proxy/ . It's a prototype. I'm refactoring it now
  643. Aaron Goldman
    Message deleted
  644. @red6leader9:matrix.org
    Soooo hashtags apparently don’t work on bluesky?
  645. Matthew changed their display name to Matthew (away)
  646. manhattanparadox joined the room
  647. @rimuru:gentoo.chat changed their profile picture
  648. Aaron Goldman

    In reply to this message

    Let's split the question in two.
    Is it proprietary?
    In increasing proprietary order:

    • The protocol is an open protocol that anyone could implement.
    • The PDS written by Bluesky PBC is open source. You can fork it but need Bluesky PBC's permission to contribute.
    • The
      bsky.social
      PDS is a service run by Bluesky PBC like any web2 service operator.

    Is it spyware?
    AtProto in general and Bluesky in particular is a publication protocal.
    The repos are public and can be mirrored with or without your co-operation.
    As an effect of this there is no true delete. Instead, there are three concepts.

    • Retract: Take a record out of your repo. Will remain in your history.
    • Unpin: Tell your PDS you don't want a record to count agent your storage quota. May be deleted at any time.
    • Purge Request: Affirmatively request that a record be deleted. A PDS may charge for Purge as it will force them to access the data to remove it timely. Indexers may honor the request by deleting the record or hiding the record from search results. Or they may ignore the request. Local laws and contracts will determine what any one indexer does with the data after a Purge Request. Purge Request can't be technologically enforced.

    So different parts are varied levels of proprietary. With the open protocal being the most important to belong to the community.
    AtProto is very much not a secret distribution system. The repos are public and the fact that they are public is what enables the separation of local caching and indexing from publishing.

    (edited)
  649. @vinay-keshava:mozilla.org left the room
  650. @paulooze:matrix.org joined the room
  651. @paulooze:matrix.org left the room
  652. @rstuginski:matrix.org left the room
  653. tamimi
    Question: what is bluesky icon!? Is there an official svg icon can be downloaded?
  654. @jerrylerman:matrix.org left the room
  655. In reply to this message

    do those fit you use case
  656. tamimi
    Thanks! It does, the cube will do it! Because googling it gave me several icons didn’t know which one in the official one.
  657. commie★Ⓐ☭

    In reply to this message

    what do you mean by "work"?
  658. @red6leader9:matrix.org
    Like there’s no way to search the terms well, or click on them.
  659. Also Jesus Christ your avatar.
  660. @embers-sub:comm.cx left the room
  661. m1kola

    In reply to this message

    "The PDS written by Bluesky PBC is open source. You can fork it but need Bluesky PBC's permission to contribute."

    What do you mean? What sort of permission? Isn't it MIT-licensed?

  662. Aaron Goldman

    In reply to this message

    you have permission to fork you need permission to change the official github repo
  663. there is not for example a communaty edition for features they don't care about
  664. but that is fine you can fork
  665. m1kola
    So you mean it is maintainer's decision to accept or decline a pull request.
  666. Aaron Goldman
  667. @red6leader9:matrix.org
    Aaron Goldman are you not on the dev team?
  668. Aaron Goldman
    I was ... now I am not 😥
  669. @red6leader9:matrix.org
    Oh, is this chat still linked to the dev team?
  670. Joanna

    In reply to this message

    I don’t like this logo

    why not oppen a bidding for a new logo?

  671. What if we all vote ?
  672. Is Bluesky a democracy ?
  673. @red6leader9:matrix.org
    I don’t even know if the decision makers are in here anymore
  674. @wvrld:matrix.org

    In reply to this message

    PLEASE
  675. @red6leader9:matrix.org

    In reply to this message

    Hopefully not
  676. @wvrld:matrix.org
    I hate the logo too
  677. Joanna
    Is awful
  678. @wvrld:matrix.org

    In reply to this message

    i agree but the logo needs to change 😂
  679. @red6leader9:matrix.org
    Could you imagine bluesky turning into twitter a year ago?!?
  680. Aaron Goldman
    Propose one see if you can get it to go viral
  681. Joanna

    In reply to this message

    All of us are decision makers
  682. @wvrld:matrix.org
  683. how about this one ?
  684. Joanna
    Who is in charge of the Bsky Governance ?
  685. In reply to this message

    I love X and the meaning of the letter
  686. But the logo is horrible
  687. @wvrld:matrix.org

    In reply to this message

    whats the meaning of X ?
  688. nsfw stuff ?
  689. Joanna
    Ask ChatGPT
  690. @wvrld:matrix.org
    🙄
  691. term for kiss
  692. Joanna

    In reply to this message

    Yes, will do
  693. @wvrld:matrix.org
  694. Joanna

    In reply to this message

    Exactly
  695. @wvrld:matrix.org

    In reply to this message

    i believe in you and i will vote for you
  696. Joanna
    I love that
  697. We need love
  698. @wvrld:matrix.org
  699. @red6leader9:matrix.org
    We need less love. The 90s was peak society
  700. @wvrld:matrix.org
    hugs and kisses, i need that lmao
  701. In reply to this message

    bro i have zero love what do you mean less love i am at absolute zero in love
  702. Aaron Goldman
    90s?
  703. @wvrld:matrix.org

    In reply to this message

    but 90s were great
  704. but i think there was enough love already
  705. @red6leader9:matrix.org
    The internet still had a barrier of entry if you wanted to be heard, but you could easily consume and ingest random bullshit.
  706. Joanna

    In reply to this message

    Is not
  707. We are in war
    We are all divided
  708. @red6leader9:matrix.org
    We were in war in the 90s. What changed?
  709. We can all express our opinions to each other and polarize and divide ourselves
  710. Joanna
    We need to unite
    Our relationships are in crisis
  711. @red6leader9:matrix.org
    Mass communication has done society very few favors and caused a lot of problems
  712. Joanna
    Look the Nation states
    One entire society fighting with another
  713. This is Not love
  714. In reply to this message

    Agree
  715. @red6leader9:matrix.org

    In reply to this message

    Always has been
  716. We just did it more clandestinely back in the day.
  717. Joanna
    And we are not taking the meaningful conversations in social media yet
  718. Democracy conversations
  719. @red6leader9:matrix.org

    In reply to this message

    What?
  720. Joanna
    I want to take care of Bsky Governance
  721. Who here is working on it ?
  722. @red6leader9:matrix.org
    Governance?
  723. @wvrld:matrix.org

    In reply to this message

    we ?
  724. Joanna
  725. GOVERNANCE
  726. @red6leader9:matrix.org
    I’m sure they’ll trust a random internet person.
  727. @wvrld:matrix.org

    In reply to this message

    not mine, she aint going nowhere, i am locking her in the basement (its a joke if some goverment agency is watching this chat)
  728. Joanna

    In reply to this message

    We all the world
    Social media has to be open for all
  729. @wvrld:matrix.org

    In reply to this message

    i am not in war
  730. @red6leader9:matrix.org

    In reply to this message

    But you wanna govern it?
  731. Aaron Goldman
    I liked a kinda b as the icon
  732. @red6leader9:matrix.org

    In reply to this message

    You are now motherfucker
  733. Joanna

    In reply to this message

    You are
    All of us are in war
    Because our Nations decided
    We never voted
  734. @red6leader9:matrix.org
    🚀🚀🚀🚀🚀🚀🚀
  735. @wvrld:matrix.org
    and social media are like 90% opened to all if ISIS can have twitter account
  736. In reply to this message

    i live in Switzerland, we were never at war :D
  737. Aaron Goldman
    or something that looks like a treded conversation
  738. @wvrld:matrix.org

    In reply to this message

    nooo
  739. Joanna
    You are because you belong to our planet earth
  740. We are all humanity
  741. We are all citizens of the world
  742. @wvrld:matrix.org
    Message deleted by Daniel Holmgren
  743. @red6leader9:matrix.org
    Message deleted by Daniel Holmgren
  744. Aaron Goldman
    I think yall are off topic
  745. Joanna
    This is the most important topic
  746. @red6leader9:matrix.org
    Message deleted by Daniel Holmgren
  747. Joanna
    And we are not taking the meaningful conversation
  748. @wvrld:matrix.org
    Message deleted by Daniel Holmgren
  749. Message deleted by Daniel Holmgren
  750. Joanna
    I’m Dev too, but this is more important than any program/software
    (edited)
  751. @wvrld:matrix.org
    Message deleted by Daniel Holmgren
  752. Joanna
    We need to program entire humanity to wake up
  753. @red6leader9:matrix.org
    Message deleted by Daniel Holmgren
  754. Joanna
    Right here, right now
  755. @wvrld:matrix.org
    Message deleted by Daniel Holmgren
  756. Joanna
    Is not communism
  757. @red6leader9:matrix.org
    Message deleted by Daniel Holmgren
  758. Joanna
    Is our right to decide in which kind of world we want to live and to take responsibility
  759. That’s power
  760. People Power
  761. @wvrld:matrix.org
    Message deleted by Daniel Holmgren
  762. @red6leader9:matrix.org
    Message deleted by Daniel Holmgren
  763. @wvrld:matrix.org
    Message deleted by Daniel Holmgren
  764. @red6leader9:matrix.org
    Message deleted by Daniel Holmgren
  765. @wvrld:matrix.org
    Message deleted by Daniel Holmgren
  766. Joanna
    Lead the world, together
  767. @red6leader9:matrix.org
    Message deleted by Daniel Holmgren
  768. Joanna
    Declare the independence of the internet
  769. Give power to people
  770. @wvrld:matrix.org
    Message deleted by Daniel Holmgren
  771. Aaron Goldman

    In reply to this message

    What do you want the bot to do?
    Dose the federated architecture change this plan vs how you would run a bot on twitter
  772. @red6leader9:matrix.org
    Message deleted by Daniel Holmgren
  773. Joanna
    And to be the third party globally that judges all others: Nation States and Corporations
  774. @wvrld:matrix.org
    Message deleted by Daniel Holmgren
  775. @red6leader9:matrix.org
    Message deleted by Daniel Holmgren
  776. Aaron Goldman

    In reply to this message

    for your client do you plan to sign the repos or derfer keys to the PDS
  777. @red6leader9:matrix.org
    Message deleted by Daniel Holmgren
  778. Joanna
    Not bots guys
    We the real human beings have to take care of this
  779. @red6leader9:matrix.org
    Message deleted by Daniel Holmgren
  780. Message deleted by Daniel Holmgren
  781. Joanna
    all of Us
  782. @red6leader9:matrix.org
    Message deleted by Daniel Holmgren
  783. Joanna