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

    Which is why we have keys as well as usernames. If a friend looking for you at

    gets a 404 tomorrow, they go find what update your key has signed to discover your new host/username.

    Sorry I'm jumping back a little. I just ran into this federated ID issue too.

    A difficult thing about universal IDs is that the browser generally only gives you storage per domain. That plus the webcrypto API means that you cannot re-use a private key across multiple domains. This is a place where a UCAN-like document can be useful, so you can say "DID2 is the same as DID1" and sign that message.

    Here a server could only have record of docs that link directly to itself, so here, server a only has record of a link to serverba -> b -> c

    But a client I suppose could recursively resolve all of the identity mapping

    (edited)
  2. nichoth

    Profile info is the most immediately relevant thing here. A single object of data that could be relevant to many DIDs. So for example DID A changes their avatar. Does DID C know about that?

    This is where having a server of identities becomes useful. So that there is a 'source of truth'. You would need to create a DAG map of identities in the distributed version, not, say, a graph without direction, so that way there is always a flow of authority in updates.

    (edited)
  3. giwan joined the room
  4. @wclayferguson:matrix.org

    In reply to this message

    The only arbiter of truth should be your PrivateKey. Shouldn't matter WHERE the signed data is found. A single source of truth governing usernames would be controlled by that central authority, and they would immediately begin censoring people based on their political viewpoint.

    We can't let a single centralized service have any power whatsoever over the network, or it can be used to cancel people. Hopefully that's not what you meant.

    (edited)
  5. And in case it's not obvious to everyone, no PrivateKeys should ever be stored on any servers.
  6. @timbray:matrix.org

    In reply to this message

    Which is a problem, because the vast majority of people are not capable of taking proper care of a private key. (Like, for example, me.) (And the owners of billions worth of BTC.).
  7. nichoth

    In reply to this message

    To clarify, by 'profile info' I mean things like username and avatar image. So still based on pub/priv keypairs. But I'm thinking more about the DAG created by linking several sets of keypairs
  8. @wclayferguson:matrix.org
    Definitely users are going to need a way to export/import their key, for safe storage. There's no getting around that, imo. Just like with any Crypto Wallet or anything else managing your key is not something we can offload to the server.
  9. Needs to be true E2E encryption.
  10. @timbray:matrix.org

    In reply to this message

    If you require people to understand and use wallets, you are at some risk of building something that only 1.5% of the population will use. I think the capability of doing so is worth building in, but recognize that the overwhelming majority of people will need to have someone provide a service to help them.
  11. @wclayferguson:matrix.org
    Ok valid point, people can "opt in" to key management services. But for the secure operation the system (BlueSky) needs to function perfectly well in all scenarios where the user has chosen to keep their private key private.
  12. Aaron Goldman
    I believe there are two problems here that are being completed. 1. Custody of keys 2. Consistency of certificate chains For Custody of keys both holding your own keys and appointment of a custodian are desirable. More so there are cases where you would want to go between the two options. If I want to be able to rotate keys or alter associated data then I need to be able to present a cert chain. The origin cert is the one that is hashed and put in the ID Each update cert is signed by a key defined in an earlier update or the origin. ID -hash-of-> origin cert -signs-> update -signs-> update ... Now we have a consistency problem. The holder of a key can issue two conflicting updates that are each valid but contradict each other. To solve that problem (if we want to) we need to define a consensus group to sign off on and order updates. Now a valid chain without a co-sign from the identity consensus group is not considered valid. The consensus group can't change the cert chain they can only order or reject changes from the key custodians. One option for this consensus group is the unnamed identity consortium but the minter of an id may just as likely choose another.
  13. My guess is Clay will not only want to maintain custody of his keys and run his own server for the ordering but most users will outsource.
  14. @wclayferguson:matrix.org

    In reply to this message

    Right, I would consider the least-common-denominator type of capability would be that if I want a permanent PublicKey that neither I nor anyone else can ever change, validate, or even "sign off on", then that should be the simplest use case and just work, without me doing anything special, like running my own Consensus Group Server, or anything else like that.

    All that advanced stuff will be cool, but should be "opt-in", rather than required, and able to be simply ignored by developers trying to participate in the network with minimal amount of coding. Perhaps even coding in Java or creating CAR files directly, and not even using the BlueSky TypeScript library.

    (edited)
  15. Ziad Shihab joined the room
  16. @bigpoppaken:matrix.org left the room
  17. Aaron Goldman
    Not allowing mutations ever is certainly one way to avoid inconsistent state of the certificate. `Did:key` has it's place.
  18. neodb changed their display name to NeoDB
  19. NeoDB set a profile picture
  20. @kachu:matrix.org joined the room
  21. @kachu:matrix.org
    Hi. I'm new to this group. Nice to meet you. ADX and the idea of decentralized social network is exciting to me. I am especially interested in the identity and privacy issues. I want to ask a question about privacy. Precisely, how will we implement functions like "Protected Tweets" in a decentralized way? The current docs says about using cryptography for authenticating data, but it doesn't say much about data privacy. Do you think it is a feature that the protocol should provide? And it looks to me there are fundamental conflicts between moderation and content privacy. The architecture doc emphasize quite a lot on moderation. I like the idea of separating a neutral "Speech" layer and a "Reach" layer that implements more functions. However, if we want the Reach layer to be able to take down harmful content, does it imply that the Reach layer need to read the content? Or we only need moderation on the public content and allow private content to be end-to-end encrypted?
    (edited)
  22. Aaron Goldman
    I don't think there is a singular answer there. Some use cases are served well by publicly distribution of cipher text and limited distribution of the key. Others will want to not even distribute the cipher text for secure delete reasons. If I want a curator to review content then I must expose the content to them. On the other hand we could get an embedding from someone and run it locally to score content on device and not share it. I at least am not sure where we should use which techniques.
  23. @shorty_gunny:matrix.org joined the room
  24. mikestaub
  25. @wclayferguson:matrix.org

    In reply to this message

    Cool stuff. Looks like a pretty sophisticated way to manage keys in mostly long term groups of people. ActivityPub doesn't even have "groups" yet [afaik] so any kind of group feature at all goes well beyond AP. Of course I've said before the key to replacing AP will be to create something simpler than AP, and easier for developers to implement, in pretty much any language, without expecting them to use a particular implementation or platform.
  26. Mirth joined the room
  27. @prathampatel:radiowarnerd.org joined the room
  28. @idahotokens:matrix.org joined the room
  29. @wclayferguson:matrix.org
    Message deleted
  30. @idahotokens:matrix.org left the room
  31. prathampatel changed their display name to Pratham Patel
  32. @geoffrey:geofox.org joined the room
  33. Daniel Holmgren

    In reply to this message

    hard to tell exactly without seeing the code/package.json

    • make sure that the package is built (run yarn build from directory root)
    • install the package in your workspace with the relative path (yarn add ../adx/common or whatever the path is)

    lmk if that works 🙂

    (edited)
  34. @wclayferguson:matrix.org left the room
  35. peterkaminski joined the room
  36. anderslemke joined the room
  37. paulsena joined the room
  38. kidditech joined the room
  39. Sekhar S joined the room
  40. daedalus808 joined the room
  41. @prathampatel:radiowarnerd.org left the room
  42. mikestaub
    pfrazee: The Apollo team has been doing very interesting work related to "schema management at scale with multiple stakeholders". It's definitely worth taking a look at their solutions, if only to gain inspiration. https://www.apollographql.com/blog/announcement/backend/the-supergraph-a-new-way-to-think-about-graphql/
  43. Lofty joined the room
  44. pfrazee

    In reply to this message

    thanks I'll give that a read
  45. Johannes Ernst joined the room
  46. jernst changed their display name to j12t
  47. SOL AC joined the room
  48. Ponny Wu joined the room
  49. Ponny Wu
    😊
  50. kjblumenstock joined the room
  51. Specter joined the room
  52. Jianzhong Chen joined the room
  53. tibetsprague joined the room
  54. Johannes Ernst set a profile picture
  55. j12t changed their display name to Johannes Ernst
  56. Johannes Ernst
    New guy here. A bunch of names sound familiar. Hi :-)
  57. I come with a bunch of questions ... hope you don't mind ... and should probably start with the big picture: what's the intended scope of the protocols being prototyped / defined? Maybe easiest to discuss by referring to existing products. Should "Twitter" be able to run over it? (Presumably. But: just the public part, or also private accounts and direct messages?) What about Reddit? Facebook? (public feeds? friends-only? Messenger? Groups? Marketplace? Events?)
  58. pfrazee

    In reply to this message

    Currently we're focusing on what we call "public social broadcast" (eg: twitter, medium, podcasts, instagram, youtube) which doesnt include groups (reddit, forums) or DMs
  59. project is pretty big and we figure that's a good starting point
  60. Johannes Ernst

    In reply to this message

    Gotta start somewhere, right. But would you expect that the shades of gray between not-quite-public broadcast all the way down to 1-on-1 private then might potentially use different protocols?
  61. pfrazee

    In reply to this message

    Yep. We’ll either expand the scope to add new use-cases or interop with existing systems
  62. Frando joined the room
  63. Aaron Goldman

    In reply to this message

    There are places you might expect semi-public data to integrate.

    You want the ability to pull data from multiple sources. For example you may have a large index like a Twitter or Facebook but also pull from a tiny index like your local bowling league. The home server should be able to combine posts from different indexes into a unified timeline.

    While we haven't really thought it through you could imagine an index that required authentication to access e.g. your kids school we're only people affiliated with the school could access the index and it only indexed people affiliated with the school.

    It's a natural starting point for communities of different levels of openness but requires really thinking through the ways in which data might leak from one community to the other.

  64. Johannes Ernst

    In reply to this message

    There are some hard questions about re-shareability and the like, right. I guess ultimately that has to be answered from the perspective of what which categories of users need what for which use cases, and how to protect one set of users from the (careless) actions of another set.
    Are you all planning to mostly from a tech perspective outwards to the user, or are you also planning a prong that starts with user stories and only then leads to tech like protocols?
    (edited)
  65. 谭启伟 joined the room
  66. Zeno joined the room
  67. citium.chat changed their display name to Zeno
  68. Oort Cloud joined the room
  69. @jan:cloudcheck.io

    In reply to this message

    Following these discussions a had exactly the the same Idea about sharing index (like I do with my nextcloud, only with selected friends). For me the "reshare" Problem was a show stopper, although I have to admit that it is already accepted in my current solution. For me it boils down to trust, and the possibility to be not "exploited" by commercial interests. Still I think with technology i.e. trust/identity layers evolving there is a chance, that this can be solved at some point.
  70. @californiatonn:matrix.org joined the room
  71. @californiatonn:matrix.org left the room
  72. Aaron Goldman

    In reply to this message

    I do some times wander how far we can get with machine checked etiquette.

    "
    Did you notice: You're about to share a message from a private server to a public one.

    Are you sure?
    "

  73. zuardi joined the room
  74. Irenes joined the room
  75. Irenes
    hi! I'm an ex-Google privacy expert and activist, I heard about your project and it's adjacent to some of my own ideas
  76. so I thought I had better drop by to contribute what I can through discussion
  77. Zeno
    Hi, I'm a developer sharing the vision of building a fundamental speech protocol for this blue planet. I want to learn about all the ideas behind bluesky and contribute as much as I can from my knowledge in identity and decentralized systems
  78. patatoe74 joined the room
  79. @kachu:matrix.org

    In reply to this message

    How about modeling groups as something like hashtag? I think it could be added to the social broadcast layer without complicating the base protocol. the Reach Layer could present the posts in this type in a forum UI
  80. mikestaub

    In reply to this message

    I think this only works for public groups, which is too limiting imo
  81. @lee_baker:matrix.org left the room
  82. @vitorpamplona:matrix.org joined the room
  83. @01test:matrix.org joined the room
  84. Victor Stabile joined the room
  85. Syber Weerd joined the room
  86. Tuna joined the room
  87. bluesky_events changed their display name to Tuna
  88. jcladd joined the room
  89. jcladd
    Hi, I’m a law student focusing on privacy, IP, social media, virtual reality, AI, etc and I just think your project is really cool!
  90. joannagkaufman joined the room
  91. Aaron Goldman

    In reply to this message

    May be worth distinguishing groups into some different use cases.
    Channels, Communities, and Circles

    Channels: limited publishers, self selected consumers
    Communities: limited publishers, limited consumers
    Circles: limited publishers, publisher selected consumers
    Hashtag: self selected publishers, self selected consumers

  92. rabble joined the room
  93. @numero6:codelutin.com
    👋 rabble I'm so glad to find you on Matrix (I've created #scuttlebutt-community:codelutin.com), I'm a fan of your writings: the one about twitter early story was fascinating, gonna try to read "From Indymedia to Tahrir Square" (time is scarce). I'm really looking forward to what Planetary will become and what bluesky may bring/share with it, discussions here will be so mind-blowing.
  94. zzze joined the room
  95. Nishant Sharma joined the room
  96. frostRed joined the room
  97. tmskml joined the room
  98. shiva.nandan joined the room
  99. tmskml set a profile picture
  100. samkaufman joined the room
  101. Sam Kaufman changed their display name to samkaufman
  102. Theepan Kaja joined the room
  103. John joined the room
  104. Laser Nite joined the room
  105. Adelaida (🍭, 💊) changed their display name to Adelaida (💊,⚡️)
  106. csshsh set a profile picture
  107. structbench changed their display name to csshsh
  108. John Chandler Burnham joined the room
  109. Ian Forrester joined the room
  110. cshung1994 joined the room
  111. Matt joined the room
  112. Nad changed their display name to Nad // afk until June 7th
  113. Gerson de Winter joined the room
  114. Robert Lu joined the room
  115. Robert Lu
    hope to see twitter integration.
  116. nooo y joined the room
  117. Johannes Ernst
    I'd love to understand better what you have in mind with the "federated networking model". A federation of ... a handful of internet-first companies (like Twitter, Reddit and similar) or, say, hundreds (e.g. at least one per country) or far more (e.g. any ISP and enterprise and maybe SME?). How does one get into the federation? And what exactly does it mean to be a member or not to be a member? I think the assumption is that I can still interoperate, even if I'm not a member?
  118. Aaron Goldman
    Different components are likely to have different levels of centralization/decentralization. To use the http analogy: There are a great many HTTP servers in the world and even more HTTP clients. There are relatively few search engines crawling the internet building indexes and serving search results. You could have a large number of clients some of which are full nodes but most of which upload to a high availability server to host their content. I would expect the number of servers to be much less than the number of clients but still the kind of thing anyone could run. A public indexer on the other hand probably wants to crawl millions or someday hopefully billions of servers hosting repos. There is an N*Log(N) cost to do the sorting necessary for an index.
  119. Consequently I expect a much much smaller number of public indexes than the number of servers or clients
  120. Likely there would be a few large companies running public indexers a few non-profits running public indexers with donations and some kind of DHT-based public index The distributes the effort of indexing widely but pays the performance costs of not having a data center
  121. When you say "be a member" it's not necessarily clear what that means. An HTTP server that is crawled by Google is a part of Google's index but I wouldn't say they are a member of Google
  122. Johannes Ernst

    In reply to this message

    The word "federation" to me implies a "selected group". For example, Liberty Alliance back in the days spearheaded "identity federation", and that meant that some companies got together into a club, defined the rules for the club (technical and governance) together, including who could join later and who could not, and that allowed identity data to flow within the companies that were members of that club. If that's not what you have in mind, maybe the word "federation" isn't quite the best term to use.
  123. xiaogaozi joined the room
  124. Nishant Sharma
    Message deleted
  125. dev_phantom set a profile picture
  126. gitonga joined the room
  127. Renji joined the room
  128. @anon.mad.one:tchncs.de joined the room
  129. Sam (@wedg:matrix.org) joined the room
  130. vrotekse joined the room
  131. Johnny Kessel changed their display name to Vrotekse
  132. Vrotekse changed their display name to vrotekse
  133. vrotekse set a profile picture
  134. vrotekse changed their profile picture
  135. brnllski joined the room
  136. Marcel Wilfried Onana Eko joined the room
  137. Nakul Kelkar joined the room
  138. John changed their profile picture
  139. som1 joined the room
  140. anicca8 joined the room
  141. らるたん joined the room
  142. tkmsvn joined the room
  143. tibetsprague
    Hi folks! I'm the lead developer of Hylo (https://www.hylo.com/) an open source, non-profit social platform focused on internal and cross group communication and collaboration. I also run a nascent Collaborative Technology Alliance (https://www.collaborative.tech) of platform builders who all want to work towards interoperability across our platforms. BlueSky is very intriguing to us, and I'm curious if someone on the team would be interested in joining one of our regular meetups to share about the architecture, answer questions, and participate in a conversation about why/how we should consider getting involved in this project with the possibility of our platforms adopting the BlueSky data protocol in the future. Is there someone on the team interested in participating in that? Our next meetup is Thursday June 16 2-3:30pm PDT, and after that Tuesday 6/28 10-11:30am PDT. You are all invited! You can join the Hylo group to track the conversation too https://www.hylo.com/groups/collaborative-technology-alliance/join/Ns3yUfMuTV
  144. One particular curiosity I have is about the section in the ADX architecture doc describing why a federated networking model is better than a P2P one. In particular the bullet "Peer-to-peer networks often use DHTs which tend to be slow and unreliable". As someone who has been following and very interested in Holochain as possible direction to move towards as we build Hylo, I'd be curious to hear a discussion of the advantages and disadvantages of their DHT based approach vs BlueSky's federated one, ideally with representatives from both projects. That could be another discussion we host :)
  145. Aaron Goldman

    In reply to this message

    I don't know what you are looking for in a meetup presentation but happy to talk about tradeoffs and when different approaches have advantages
  146. I had not heard of Hylo before do you have a recommendation for what to read first?
  147. I have used the Axolotl as an analogy for DHTs for years glad to see I am not the only one. 😀
  148. som1
    take a look at secure scuttlebutt
  149. Nad // afk until June 7th changed their display name to Nad
  150. @quite:matrix.org joined the room
  151. @quite:matrix.org left the room
  152. @numero6:codelutin.com
    hi tibetsprague please let me know if hylo or
    collaborative.tech
    has matrix spaces/rooms. I would add it to #decentralised-social-networks:codelutin.com (or #next-internet:codelutin.com)
    (edited)
  153. @anon.mad.one:tchncs.de removed their display name (anon.mad.one)
  154. @anon.mad.one:tchncs.de left the room
  155. Golda Velez

    In reply to this message

    hey Daniel Holmgren finally looping back on this! we (that is Nishant Sharma ) figured it out, put up https://github.com/blueskyCommunity/use-adx-demo

    Looking forward to playing with it more as the new stuff comes out!

  156. this is a first draft of a design doc for schemas. We're sharing early as a gist to start getting feedback as early as possible
  157. please feel free to share thoughts & feedback here, on the gist comments, on the tweet, or in adx's discussions
  158. @lynn:the-apothecary.club

    However the current models suffer from a great deal of runtime overhead, the gas-fee incentive to pre-optimize, and the existence of subtle complexities which lead to bugs.

    Yes this is true and smart contracts suck for this reason, your mistakes when optimizing are also eternal and can't be changed. You don't need to run programs in a distributed context with a requirement for consensus about what they do ie blockchain for them to be useful though. The biggest use case would be rendering & interaction. You would need consensus or reproducible/verifiable computation to be able to restructure the fundamentals (e.g. the very nature of the event log) but that doesn't seem to be something that is needed.

  159. pfrazee
    Yeah
  160. @lynn:the-apothecary.club
    it's also worth mentioning that a declarative schema gives you less precise validation compared to a program, it can be harder to express constraints between values
  161. pfrazee
    True
  162. @geoffrey:geofox.org left the room
  163. @ycty4pjwnr:matrix.org joined the room
  164. Vane joined the room
  165. @ycty4pjwnr:matrix.org left the room
  166. @geoah:nimona.io
    pfrazee, on the topic of "canonical records" that the schema design kinda mentions: any chances you'd consider something like Ben Laurie's "
    object hash
    " that allows consistently hashing an object independently of its serialization? There is a non negligible cost of having to serialize the object two different ways (one for transmission and one for hashing) but it does provide some benefits, my personal favorite being the ability to redact parts of the object that are no longer relevant without affecting the final hash. (There are probably some concerns when deserializing from arbitrary json objects, but since you'd be using IPLD and/or schemas those should not be an issue for you)
  167. rasca joined the room
  168. pfrazee

    In reply to this message

    That's interesting. This isn't fully my domain of expertise but afaik this isn't inherently better than any other canonical form. It should be possible to get reliably canonical cbor encodings so long as we enforce the same practices - reliable key order, no duplicate keys like json allows, and carefully-encoded floats
  169. the redacted fields are a neat feature but not sure we need them
  170. Aaron Goldman

    In reply to this message

    I will look at objecthash but for how I think about this generally:
    This tends to be a speed vs flexibility tradeoff. I could have a system where all Dicts, Lists, and Strings are treated as trees. Then when I need to hash build a merkle tree with the values. If I ever need to redact a value then I replace that value with a tombstone that indicates that the value is unavailable and to use this hash in place of that sub-tree. This means running the cryptographic hash function more times. If not carefully implemented this frequent restarting of the cryptographic hash function can lead to an explosion of allocations as you scan over the dataset consuming memory bandwidth and leading to a significant slowdown.

    If we don't want this we can set a minimum size for the redactable chunks. E.G. we could make a distinction between a large Dict, List, String, Bytes and small ones. We can build a CBOR object until we reach some threshold size say 1452 Bytes or 128 KiB and then if it is to large replace the Dicts and Lists with

    until we are back under the limit. We could even brake up Strings and Bytes if we need to in order to get the chunks under the chunk size. Now we can redact only at a chunk boundary but large objects can be pulled down in parallel from multiple hosts as they are trees and not a single linear object. Small things getting canonicalised by encoding and large things getting canonicalised by a storage independent structure. I hope something like this can avoid the pathological canonicalization that required sorting large amounts of data while trading off for reasonably large chunks to hash for throughput.

  171. Bill Ottman joined the room
  172. Mark Harding joined the room
  173. Golda Velez
    Are you guys interested in doing a live popup to discuss voice, or is that distracting?
  174. pfrazee

    In reply to this message

    I'd be down for that, maybe next week?
  175. this is to discuss schemas?
  176. Golda Velez
    ya or whatever aspects most are ripe for discussion - I think the schemas have a lot of meat. And that's awesome, name a time! (for me afternoons (noon and after) have become better but I don't necessarily have to be there - other folks will want to)
    (edited)
  177. pfrazee

    In reply to this message

    sure, 1 moment while we check calendars...
  178. Golda Velez: is that noon for you pacific time?
  179. Golda Velez
    ya most noons work except Tuesday next week, and after noon for me any day except friday at 3
  180. pfrazee
    okay how about wednesday at 5pm CST / 3pm PST ?
  181. Golda Velez
    great! We'll set it up
  182. Aaron Goldman
    work for me
  183. Golda Velez
    its ok to tweet out on our account right? We don't usually get that many, just the usual crowd generally comes
  184. pfrazee
    sure
  185. Aaron Goldman
    Voice is an interesting game. The best answer for on-demand is different the one-way live is different from two-way live.
  186. Golda Velez
    i think jitsi or zoom so we can have visuals too :-)
  187. pfrazee
    sure works for me
  188. wont have many visuals prepared but you know
  189. Golda Velez
    ya i just mean so we can share screen and point to things like in your doc
  190. i don't think you need to prepare anything else
  191. anyway I'll let this go back to the content discussions - logistics organized! schema evolution and compatibility is very much a not-well-solved-yet problem so this should be fun :-)
  192. pfrazee
    agree!
  193. jcladd left the room
  194. jcladd joined the room
  195. Ignacio Falchini joined the room
  196. Mark Foster SSI: @mfoster.io

    In reply to this message

    pfrazee: Golda Velez Aaron Goldman

    I’m interested in joining this call as well.

  197. Frando
    me too :) and hi pfrazee & everyone, i've been following adx and like quite a few things about it. i was doing things with hypercore protocol before and currently into projects about replicating community media repositories, where we're discussing very similar questions about interoperable schema modeling. looking forward to exchanging thoughts
  198. (if the time would be a couple hours earlier that'd increase chances for folks from europe to join in - but no worries in any case, there'll be other chances as well for sure)
  199. @flonxxd:matrix.org joined the room
  200. pfrazee
    Hey Franz!
  201. We could do a couple hours earlier, I think
  202. Franz changed their display name to Frando
  203. @flonxxd:matrix.org
    Message deleted by pfrazee
  204. 张岭 joined the room
  205. 张岭
    hi、
  206. Zach Eisenhauer joined the room
  207. @micbz:matrix.org joined the room
  208. @davidprieto:envs.net left the room
  209. pfrazee banned @flonxxd:matrix.org: spam
  210. mikestaub
    Is there any active collaboration with the Block team? There seems to be much overlap at the infrastructure level. https://developer.tbd.website/projects/web5/
  211. Aaron Goldman
    Their are many similarities. They tend to focus on using DIDs and the DID documents to find the current location of the Decentralized Web Node. ADX on the other hand has a focus on repositories. The DWN has advantages in that the DWN can run arbitrarily code in response to a request. The ADX repositories have the advantage that they can be cached anywhere as they are immutable. A cache can be stale but if you have a signed commit and the blobs it points to by cid(hash) you have an authoritative snapshot the the repository as of the time the commit. In both models the did and did documents are used to find the users home server and keys from the document for authentication but tbs' DWN is more like a traditional http server and our repositories are more like get repositories. Dose that help? Do you think I have misunderstood TBD's NWNs?
  212. bengo
    @aaron sounds correct
  213. eshnil joined the room
  214. Aaron Goldman
    I believe pretty strongly in repos. I want content to be able to out live the original publishers infrastructure. If I write a book and then the publisher gos out of business the book still exists. My MySpace is hard to access.
  215. Ronald Nababan joined the room
  216. @kachu:matrix.org
  217. Indeed I am a little confused about DWN. I have an impression that DWN is a typical web server where it can run arbitrarily code (much like Solid) from some high level descriptions, but the DWN spec mentioned IPFS as the lower level component which suggested it is a content addressable repository. I am still unsure which understanding is correct
    (edited)
  218. mikestaub
  219. pfrazee
  220. heytx joined the room
  221. Golda Velez

    In reply to this message

    hey Paul! Was just posting this! Should we do 9 or 10 am EST then, (12 or 1pm PT) ?
  222. This is for this Wed June 15
  223. Aaron Goldman

    In reply to this message

    9:00 AM, Eastern Time (ET) is 6:00 AM, Pacific Time (PT)
  224. Golda Velez
    haha excellent point Aaron Goldman I meant the other way round
  225. Ok pfrazee we had said okay how about wednesday at 5pm CST / 3pm PST ?. - so a couple hrs early 12 or 1 PST, 2 or 3 pm CST ?
  226. pfrazee

    In reply to this message

    that should be fine!
  227. Golda Velez
    ok awesome, pushing it out - we'll shoot for 12 noon PST / 2pm CST to be kind to the Europeans
  228. John changed their profile picture
  229. dietrich joined the room
  230. Anton Kent - Anytype

    Hello dear Bluesky team. Anton from Anytype team here.

    I have a question about The DID Consortium:

    The (currently-unnamed) DID Consortium will securely host user IDs. It will be operated by multiple different organizations who share ownership of the service.
    Consortium members will operate nodes which coordinate under a control plane run by the consortium governance. They will coordinate reads and writes to a secure append-only log which can be monitored externally, through a technique similar to Certificate Transparency.

    Does that mean that Consortium acts like a "public permissioned" service and no end-user will be able to run a node to store DID Documents?

    Could you please explain what is the idea behind that design choice?

  231. Aaron Goldman

    In reply to this message

    The Consortium will be a permissioned ledger. It will be one of the way to store and version DID Documents. The user will need a DID to publish a repo. This could be an immutable DID like DID key. If the DID Document is to be updatable there must be a consensus group to determine the latest version of the document as of some time.

    For example if you control a domain name you could use a did:web: if you want to use a public blockchain you could use something like did:ion:

    The goal with the DID Consortium is to provide users a cheap consensus group they can use to advertise the latest versions of there did documents without needing to run that infrastructure themselves and have reasonably good availability and latency for resolving did documents.

    This consortium should be optional for any user but they will need some form of did that can be resolved to a did document.

  232. Aaron Goldman
    Anton Kent - Anytype: Do you have a preferred did method for hosing your own did documents? A self hosted did document via did:web: could work but is not very web3. A did like did:ion: is hosted in a public ledger so not self hosted.
  233. Anton Kent - Anytype
    We are thinking about that trade-off. It looks like it is better to move step-by-step towards the "full decentralization" then to try building it starting from day 1. Your federated approach also makes sense.
  234. Anton Kent changed their display name to Anton Kent - Anytype
  235. Aaron Goldman
    for 1:1 use cases something like did:peer: can work but if the repos are going to stand on there own the peer is not there to ask if you have the current version of the did document
  236. Johannes Ernst
    Is anybody here tracking https://www.dsnp.org/ and has opinions on how these efforts relate or should relate? I know there is at least one person in this chat who has attempted to reach out to them and didn't get very far (plus me, who had the same experience).
    (edited)
  237. @sdsi:matrix.org joined the room
  238. mikestaub

    In reply to this message

    I have been following from the beginning. So far the projects seem compatible, likely synergistic. Their architecture leverages EVM smart-contracts ( on Polkadot ), which some users may prefer. The handle for each ID in their system can be any string, so DIDs are fine. https://github.com/LibertyDSNP/contracts/tree/main/contracts#L61 They also have a nice set of ActivityStream2.0 schemas, which can be compatible with the Bluesky schema system. https://github.com/LibertyDSNP/activity-content/blob/main/src/factories.ts
  239. Johannes Ernst
    ... and then there is
    deso.org
    , which in spite of $150m in funding few people (myself included until this week) have heard of.
  240. bloomn joined the room
  241. Tope Olofintuyi changed their display name to bloomn
  242. mikestaub

    In reply to this message

    that is a totally different project. They are storing all user content on chain and the schemas are managed by a centralized team. Basically securities fraud lol
  243. Johannes Ernst
    I know little about it, so I can't defend it, but if I understand the playbook, the idea is that a centralized team builds the initial thing, and then it gets progressively decentralized until there is no centralized team (or schema, or ...). So at the end, it would be fully decentralized, which is why I think this is a relevant project in this context.
  244. mikestaub

    In reply to this message

    I'm all for progressive decentralization, but it is illegal to offer a token until a certain threshold is reached. At least in the US.
  245. Aaron Goldman
    Lots of open source projects start at one company and are now majority community contributions. Even if the original organization is still the largest contributor if it is less then 10% of the roadmapping and contributions I would say it is a progressive decentralization win.
  246. We as a community don't necessarily do a good job of talking about the differences between decentralized governance of the protocol changes and the decentralized use of the protocol.
  247. Johannes Ernst
    The reason I bring up these other projects is that basically, they are all trying to solve more or less the same problem. And all claim they want to be decentralized. But on the trajectory they are all on, (at least that's how it looks to me) they are all competing. What, if everybody had interop -- or even avoiding needless incompatible duplication of effort -- as a core requirement from the very beginning?
  248. npd
    that's also my assessment: while "decentralization" is described as a core goal for many projects, they seem architected as complete, singular replacements that don't interoperate with existing decentralized systems
  249. Golda Velez
    hey guys want to join us live in 13 min? Will be in https://jitsi.modular.im/bluesky talking about the schemas
  250. (at 12 noon PT)
  251. In reply to this message

    I think a common schema actually helps with decentralization imho
  252. Aaron Goldman
    We have found lots of way to do schema wrong. :)
  253. heyeyyy npx activitystreams2-spec-scraped still works :)
  254. npx activitystreams2-spec-scraped | jq .
  255. bengo
    Message deleted
  256. one things content-based identifiers (or hashlinks) give you that dns or did:ion doesn't is support for offline/local-first use cases.
  257. bengo
    yknow we haven't discussed UCANs on this call yet
  258. bengo
    lenses (i put this under gist already): https://www.inkandswitch.com/cambria/
  259. Mark Foster SSI: @mfoster.io
  260. pfrazee
    big thanks to everybody for joining and sharing your thoughts
  261. bengo: Mark Foster SSI: @mfoster.io whenever yall want to setup a followup to talk a little more about RDF, I'm game
  262. Mark Foster SSI: @mfoster.io
    pfrazee: Sure let’s schedule some time here is my LDUX Research Document which stand for Linked Data User Experience
  263. @better_sleeping:converser.eu joined the room
  264. pfrazee
    Mark Foster SSI: @mfoster.io: bengo how about next tuesday?
  265. @better_sleeping:converser.eu left the room
  266. nnnn20430 joined the room
  267. Aaron Goldman
    there are so many ways to write down RDF 😥 https://ontola.io/blog/rdf-serialization-formats/
  268. In reply to this message

    headed to nyc nft and https://fundingthecommons.io/ next week. starts tuesday. prob cant make it. monday could work. i dont necessarily have more to add on this front tho. I do think
    shex.io
    looks pretty rad and worth using if possible.
  269. In reply to this message

    We can shoot for next Tuesday, I am in CST
  270. pfrazee

    In reply to this message

    okay unfortunately my tuesday just got taken. What about wednesday at 1:30pm?
  271. Eric joined the room
  272. Eric left the room
  273. Eric joined the room
  274. mikestaub
    Interesting indexing work happening on The Graph protocol: https://thegraph.com/blog/substreams-parallel-processing
  275. Mark Foster SSI: @mfoster.io

    In reply to this message

    1:30 CST?
  276. rbrands joined the room
  277. Mark Foster SSI: @mfoster.io

    In reply to this message

    Ok let’s do it!
  278. @circlebuilder:matrix.org joined the room
  279. jsson joined the room
  280. pfrazee

    In reply to this message

    okay sg
  281. pfrazee
    Mark isn't well today so we're not going to do the call
  282. Mark Foster SSI: @mfoster.io
    Sorry, I do want to reschedule as soon as possible.
  283. lk251 joined the room
  284. u H joined the room
  285. u H
  286. lk251
    hi all! very excited to learn about bluesky and decentralized social
  287. thanks sign-in with apple for this great username. will try to change it to halfway pass the turing test
  288. 7q99yksf52 changed their display name to lk251
  289. Aaron Goldman

    In reply to this message

    getting harder every day
  290. pfrazee
    Okay folks, I've got a second draft of the schemas doc based on feedback internally and externally
  291. I hope I did a good job of putting a big disclaimer about how malleable this stuff is, because... draft 2 changes things up a bit
  292. I put this one in a hackmd so folks will have an easier time commenting on specific concepts https://hackmd.io/@THqCygstRQeiEo4KXe_sWg/BJNuhFk99
  293. this draft gets way more practical (and the language gets way less high flying) so if you found draft 1 a little abstract, draft 2 should be much more approachable
  294. @rimuru:gentoo.chat changed their profile picture
  295. Mark Foster SSI: @mfoster.io
    pfrazee: What is the approach to interoperability with other systems and federated queries?
  296. pfrazee
    Mark Foster SSI: @mfoster.io: so my expectation is that we have enough type information to produce RDF forms of records (eg JSON-LD)
  297. The field pathing means a JSON Pointer should always be able to uniquely reference a field
  298. since the schemas are referenced by the records, we should always be able to form the RDF triple for a given attribute
  299. <recordBaseUrl>#displayName adx://blueskyweb.xyz/def/Profile#displayName "Alice"
  300. my main concern right now is establishing interoperability of applications within the ADX protocol, which is why I moved draft 2 in the direction I did
  301. as I said in that opening note, if there are ways to make this work better with RDF I'm open to it
  302. regarding federated queries, our approach right now is to use the views concept
  303. @shorty_gunny:matrix.org left the room
  304. エクヂケシス joined the room
  305. rbrands set a profile picture
  306. bengo

    In reply to this message

    personally im less interested in what bluesky team's approach is rather than the design process. It would be invaluable for these docs to describe 'solutions considered' even if not chosen. otoh that would be purely generous and not necessarily the job you're tasked with
  307. In reply to this message

    e.g. sparql works for federated queries for policy decisionmaking. Why can't it be used for twitting? https://arxiv.org/pdf/2106.04771.pdf
  308. pfrazee
    Well there are three concerns I have with federated queries. The first is limiting the costs of query processing for the servers that provide them. (You have this problem come up with overly general graphql endpoints as well.) The second is producing secondary indexes which are fast enough for all the needed usecases. The third is when the query itself is federated — sending the same request to multiple services and collating on the client can be difficult to make perform well
  309. mikegale joined the room
  310. @darklite:matrix.org joined the room
  311. yokota joined the room
  312. Ochieng Odero joined the room
  313. sam changed their display name to wedg
  314. Mark Foster SSI: @mfoster.io

    In reply to this message

    Is it safe to say the internal ADX team is a fan of GraphQL, I’ve seen mikestaub referencing it above.
  315. pfrazee
    No we don't have any plans for using graphql
  316. pfrazee
    we're using "view schemas," which are essentially restful endpoints with a well-defined API contract
  317. Aaron Goldman
    I get why GraphQL is useful for Facebook as it gives a more structured way of braking down a query for a microservice architecture. Im less sure if we have the same problem they do.
  318. In a datacenter a large fanout like that may be cheaper. In an environment where many of the home servers of the users you follow are a network hop away the fanout might crush performance. A kind of materialized view that pulls data local is less flexible but may have more predictable performance.
  319. pfrazee
    And more predictable output, since it's a schematized contract
  320. Mark Foster SSI: @mfoster.io

    In reply to this message

    pfrazee: What is the data store? When I think about federated queries I think about a store like RDF and a federated query engine like SPARQL. Aaron Goldman are you referring to an index store after queries have been aggregated? GraphQL is more of a query engine that can stitch several data stores together in the configuration. Have you guys checked out the SPARQL and GraphQL-LD query examples at http://query.linkeddatafragments.org/
  321. pfrazee

    In reply to this message

    Internally the data store can be anything, but our default implementations use a combination of leveldb and sqlite right now
  322. I have looked at both sparql and graphql-ld. There are things I like about both, but neither really solve the problems I’m most concerned with solving — predictable query performance and familiar DX among them
  323. Mark Foster SSI: @mfoster.io
    Ok so predictable queries
  324. Mark Foster SSI: @mfoster.io

    In reply to this message

    What DX would you like to appeal to?
  325. Mark Foster SSI: @mfoster.io
  326. Have you got a chance to watch this? Ruben does a good job of explaining the views of Client Side, Server Side, and Client/Server side indexing goals for SoLiD. He also goes through the DX which is the same as most front end developers.
  327. There are several RDF JS Libraries as well.

    https://rdf.js.org/

  328. pfrazee
    so the priority is making sure that developers can understand how to create compatible software, and succeed at doing it. Establishing non-conflicting semantics between applications is important, and that's accomplished in RDF and in what I've authored
    (edited)
  329. next you have to address the protocol of the data, so to speak. What fields are expected, and what effects are they supposed to have. Can you add a new field somewhere? How will other applications react if you do?
  330. which is where the versioning and extensions story in the doc comes into play
  331. next it needs to be relatively straightforward to author and consume new schemas. The reality is that most developers don't understand RDF or even JSON-LD, and struggle to pick it up quickly. I understand it pretty well and that required multiple deep dives through the years, and even then I struggle to work with it -- which is why I put it aside for draft 2 to revisit
  332. SPARQL is neat -- I genuinely like it -- but it's a totally new query language to most people that they'd have to train on, and they'd have to learn RDF along the way. That's on top of the difficulty of writing the query engines for it, and the difficulty of producing query results that don't overload the providers, process quickly, and contain all the data needed to satisfy the protocol of data
  333. lk251
    Where can I read more about the technical aspects of bluesky ? I’d like to know if it involves blockchain at all. I’ve only found superficial media reports. Thank you
  334. Schwentker
  335. Aaron Goldman

    In reply to this message

    Depends on what you mean by block chain. We do use hashs as content IDs (cid) but there is not a singular public ledger to totally order events.

    If you have more questions you came to the right place 😁

  336. lk251

    In reply to this message

    Aaron Goldman: thank you! i'll do some more reading before i take your time with any questions. I'm learning both about BlueSky and Tim Berners-Lee's Solid
    (edited)
  337. Aaron Goldman
    Similar tech. Solid is more focused on personal data vaults and bluesky is more focused on publishing and searching. I'll be curious to hear your comparison
  338. lk251

    In reply to this message

    i'll be sure to share it here after i learn about both! thanks for the welcoming messages
  339. any other projects I should be learning about? again thanks
  340. Aaron Goldman
    👋
  341. lk251
    excellent! cheers
  342. mikestaub

    In reply to this message

    I have used dozens of storage engines, and my favorite is still ArangoDB. Their smart-graph feature may be useful to optimize specific queries.
  343. steveklord joined the room
  344. @rimuru:gentoo.chat changed their profile picture
  345. Thib changed their profile picture
  346. Roman LI joined the room
  347. 李毅 changed their display name to Roman LI
  348. سور sor joined the room
  349. entermonke joined the room
  350. entermonke
    it seems like bluesky is being developed as a general p2p platform?
  351. Aaron Goldman

    In reply to this message

    how are you defining "general p2p platform"?
  352. entermonke
    something you can use to build apps on other than social
  353. @planetoryd:matrix.org joined the room
  354. @alex:memoryandthought.me joined the room
  355. Aaron Goldman
    I would say the goal is a public social broadcast protocol. If you had an app that published data or needed a social graph then you could use it as a way to distribute the public data or read existing public data about the users. "Build apps on" makes me think of a framework or platform where I think of it more as a library to add some functions that otherwise would be hard to get network effects for. But that may just be in my own head over reading the word "on"
  356. For an analogy I would probably not say I built my app on SQLite. It's just a library that lets me persist data without inventing a file format
  357. Aaron Goldman
    Lots of applications have some published data. Games can have leader boards. Wikis have pages and profiles of editors... Most people publish content online today. Most people don't have a domain name, a high availability server with a high availability internet connection, and an SRE to keep it up. So we delegate to web2 services. If we had a widely accepted standard protocol for publishing. We could separate publishing apps from hosting platforms. If Microsoft closed Word today I could still create .docx and you could still read them. If Google closed Google docs they're all just gone. The hope of the protocol is you could get a social network where if Bluesky PBLLC packed up and disappeared the users could just keep going. Just like if SQLite never released an update my apps that compile it in can still save and read files.
    sqlite.org
    is separate from your hard drive. Web2 the app is the persistence.
  358. But probably just ranting to the choir in this channel, sorry
  359. ursamajor joined the room
  360. @vera:fairydust.space joined the room
  361. entermonke
    google docs the app is gone but you can export your files
  362. zeronet is an interesting approximation of what you describe in that dev stopped 1.5years ago, and the platform can continue though it will probably die
  363. entermonke
    with regards to network effect, it would depend on how each layer works, you are obviously not going to have a social network from libp2p by itself but there is network effect within the software ecosystem from it, it aids faster development
  364. teatwo joined the room
  365. Mark Foster SSI: @mfoster.io

    In reply to this message

    SQLITE is still a library that has to be used and it’s not widely used for federation. We are already using DIDs which is JSON-LD. You can store a JSON-LD in a text file or any store because it is store agnostic. Because its JSON you can parse it like any other data store like firebase or mongoDB and ignore the context. If you want to use SPARQL for a federated query you have that option as well. All that needs to be done is a context or vocabulary needs to be created and the schema is done.
  366. Mark Foster SSI: @mfoster.io
    Here’s a slide show of using JSON-LD in mongoDB https://www.slideshare.net/gkellogg1/jsonld-and-mongodb
  367. Mark Foster SSI: @mfoster.io
    Message deleted
  368. Mark Foster SSI: @mfoster.io

    Here’s the JSON-LD W3C draft

    https://w3c.github.io/json-ld-cbor/

  369. Mark Foster SSI: @mfoster.io

    In reply to this message

    The real question is how can we aggregate federated query indexes after they have been executed and subscribe to user updates. Say I update my interest or something in my profile or create a schema:knows foaf:knows relationship to another DID some kind of tigger that would update the aggregated index Mastadon and the fediverse uses ActivityPub https://www.w3.org/TR/activitypub/ inboxes and outboxes which is different than ActivityStreams vocabulary https://www.w3.org/TR/activitystreams-vocabulary/ and SoLiD uses linked data notifications. https://www.w3.org/TR/ldn/
  370. bethusda joined the room
  371. Alan Zhang joined the room
  372. @mx01xz:matrix.org joined the room
  373. @mx01xz:matrix.org joined the room
  374. @mx01xz:matrix.org left the room
  375. iamnuomi joined the room
  376. Anas Qiblawi joined the room
  377. som1

    In reply to this message

    zeronet, freenet, ipfs- all these are file sharing network.
  378. entermonke
    your point?
  379. kamado joined the room
  380. Travis James joined the room
  381. Aaron Goldman
    It is nice when the core team can walk away and the network lives long enough to get your data. Or if you care a lot takeover supporting the network for your own needs.
  382. @darklite:matrix.org
    Message deleted by pfrazee
  383. entermonke

    In reply to this message

    even better the network continues for a long time
  384. Aaron Goldman
    Web is having a good run
  385. But the alphabet is impressive
  386. entermonke
    google? I guess
  387. entermonke
    good news elons twitter deal is off https://www.cnbc.com/2022/07/08/elon-musk-notifies-twitter-he-is-terminating-deal.html hopefully he will invest in this space now, so much cheaper
  388. Genbuchan changed their profile picture
  389. npd

    In reply to this message

    @admins, arcalinea can you ban this spammer please?
  390. pfrazee banned @darklite:matrix.org: Spam
  391. pfrazee

    In reply to this message

    Done
  392. vinay sabarad joined the room
  393. @rimuru:gentoo.chat changed their profile picture
  394. vanillacoffee joined the room
  395. vanillacoffee left the room
  396. vanillacoffee joined the room
  397. erich.vredenburgh joined the room
  398. Golda Velez
    hey Aaron Goldman or any core folks who care about moderation - I'm going to have a popup call with Udi Manber who did this at yahoo and youtube once a upon a time. he might also have insights into discovery. Would be great if you have time to join a quick call? Can be flexible, ideally before Monday?
  399. erich.vredenburgh
    do the calls get published?
  400. Golda Velez
    usually we have them in public, and the more formal workshops do. This one is more informal and quick chat
  401. check
    dsocialcommons.com
    under CommunityVoices and you can see all the past ones
  402. smokecharonastronoutdroughtsaltwolverine joined the room
  403. @fractal:matrix.org joined the room
  404. mikestaub
    pfrazee: inspiration for managing a set of schemas across many stakeholders: https://linked.art/about/
  405. EtherTyper changed their profile picture
  406. EtherTyper changed their profile picture
  407. EtherTyper changed their profile picture
  408. mikestaub
    pfrazee: My intuition tells me this may be a mistake. Can we at least start a side-channel to document all the complexity that led to this decision? "After multiple discussions, the Bluesky team decided to punt on private data. Every attempt to add private data to the ADX model revealed unacceptable trade-offs. Rather than add complexity to achieve a sub-par outcome, we decided to leave the question for later."
  409. pfrazee
    mikestaub: yeah we actually had some ideas after that and at least have a plan for how to do it
    (edited)
  410. The difficulty we were hitting was putting private data into the repositories. We just didn’t love any of the options, like encrypting items at rest and letting them go anywhere — just feels risky
  411. But we realized everyone has a persistent server so you can send private messages off-repo and handle a lot of usecases that way
  412. @escapetofreedom:matrix.org joined the room
  413. Nad changed their display name to Nad // away
  414. @yuenso:matrix.org joined the room
  415. bland joined the room
  416. rabble
    pfrazee: the p2panda folks are using MLS for private data. My feeling is that you're probably not wrong to punt for now, but to put it out there that these would be the needs and start a discussion about the options for a future date.
  417. pfrazee

    In reply to this message

    MLS?
  418. it's probably no longer accurate to say we're punting on private data, FWIW. What I said above is most recent -- we're basically thinking it'll require a system outside of the ADX repos
  419. nothing set in stone but the hypothetical solution is - we use the repos for public data and then either a separate private repo (or private db, whatever works best). Now every user has public and private data. Selective sharing is then accomplished by some kind of off-repo message
    (edited)
  420. if everybody's PDS can accept POST messages on behalf of the user, those POSTs could go into the user's private data. It could be structured like a mail system even, where the message being sent produces records in each private repo with information about who it went to and a UUID connecting them
  421. Johannes Ernst
    It may be useful to analyze this from a UX perspective. 1) As a user, I write something. After I have written it, I decide who should see it -- public | a group | one other person. 2) As a user, I want to shout in public. So I write and when I'm done, it gets published. 3) As a user, I want to tell my friend something privately. After I have written it, I realize this may be of interest to others. 4) Same as #3, but the next day.
  422. smokecharonastronoutdroughtsaltwolverine
    wouldn't you repost it then?
  423. Johannes Ernst

    In reply to this message

    There are different ways of doing this. Some "leak" it into the UX. Some "leak" it into the underlying data storage and transport mechanisms. (e.g. some are the equivalent of "chmod 644 private-post", some are "mv private/post public/post" if you get my drift)
  424. smokecharonastronoutdroughtsaltwolverine
    I do
  425. pfrazee
    yeah the basic issue we hit was that "chmod 644 post" just really doesn't work
  426. every concept we've looked at for access control in public crypto repos just has problems
  427. Johannes Ernst
    Did you write this up by any chance? Would be interesting to know what you found ...
  428. smokecharonastronoutdroughtsaltwolverine
    it would be interesting
  429. pfrazee
    an internal post, let me see if I can just screenshot it or if it needs more context (in which case I'll write it out here)
  430. tmw (he/they) joined the room
  431. pfrazee
  432. (sorry if that's not super easy to read, lol)
  433. smokecharonastronoutdroughtsaltwolverine
    why not use onion routing to improve 4
  434. pfrazee
    the metadata leakage I'm talking about isnt about passive observers of the wire traffic
  435. smokecharonastronoutdroughtsaltwolverine
  436. pfrazee
    the actual repository is a merkle DAG that encompasses the full dataset, including private data. The metadata leakage I'm referencing is how the ancestor hashes to the private data will change due on write
  437. smokecharonastronoutdroughtsaltwolverine
    then don't include it
  438. pfrazee
    That’s pretty much what we’re talking about — an off-repo system
  439. Nad // away changed their display name to Nad
  440. jeanluc joined the room
  441. @yuenso:matrix.org changed their profile picture
  442. Sachin Shenoy joined the room
  443. John changed their profile picture
  444. Ogulcan Selcuk joined the room
  445. @rimuru:gentoo.chat changed their profile picture
  446. @rimuru:gentoo.chat changed their profile picture
  447. pfrazee invited @jpeg07:matrix.org
  448. @jpeg07:matrix.org joined the room
  449. matt_fisher joined the room
  450. Golda Velez
    hey guys is anyone going to be at DWeb or I can try to include ADX in the demo lab?
  451. Its in late august if that's a useful target date :-)
  452. smokecharonastronoutdroughtsaltwolverine
    when does bluesky think it might have a usable prototype?
    (edited)
  453. fdgg erger joined the room
  454. Perquisas joined the room
  455. MOONCAKE BELTRE joined the room
  456. changed their display name and profile picture
  457. perquisas changed their display name to Perquisas
  458. Yosef joined the room
  459. @treethought:spherics.dev joined the room
  460. Daniel Berea joined the room
  461. Rebel joined the room
  462. rebelation changed their display name to Rebel
  463. Rebel set a profile picture
  464. Rebel
    Hi everyone! until yesterday I did not know of the existence of this project. You are doing an amazing job and I just wanted to congratulate the developers.
  465. Aaron Goldman
    hi Rebel what would you like to know about the project?
  466. Rebel
    Hi Aaron Goldman ! I just wanted to congratulate you on the initiative. I will be watching the progress. Perhaps a question. Are there any crypto assets that are currently interested in the project or collaborating with you? I apologize in advance if I'm asking a dumb question.
    (edited)
  467. pfrazee

    In reply to this message

    Hey Golda, yeah we'll be there! We're going to give a lightning talk and put together all we've got ready, but probably not "try it" time yet
  468. In reply to this message

    unfortunately I can't ballpark something quite yet. I've got my own guesses but I dont want to overpromise by suggesting a date
  469. In reply to this message

    Thanks Rebel! We're not really looking for any crypto integration at the moment
  470. Song Bwae joined the room
  471. Jayden Close joined the room
  472. Nad changed their display name to Nad // away
  473. @carlcandy10:matrix.org joined the room
  474. @carlcandy10:matrix.org
    Message deleted by Aaron Goldman
  475. @carlcandy10:matrix.org left the room
  476. pfrazee banned @carlcandy10:matrix.org: spam
  477. @lr2:matrix.org joined the room
  478. Da/v/id joined the room
  479. @lr2:matrix.org joined the room
  480. @lr2:matrix.org left the room
  481. Nad // away changed their display name to Nad
  482. @fv2:matrix.org joined the room
  483. @planetoryd:matrix.org changed their profile picture
  484. @fv2:matrix.org joined the room
  485. @fv2:matrix.org left the room
  486. wolix joined the room
  487. wolix left the room
  488. RoseByte changed their profile picture
  489. kapil123 joined the room
  490. jkrsp joined the room
  491. mikestaub
    This solution seems to be the best compromise for UX and security when it comes to owning your private keys. https://web3auth.io/docs/overview/key-management/
  492. porcuquine2 joined the room
  493. @emmorais:matrix.org joined the room
  494. cruelwolf joined the room
  495. @le1039dxl12:matrix.org joined the room
  496. @le1039dxl12:matrix.org
    Message deleted by pfrazee
  497. @le1039dxl12:matrix.org left the room
  498. pfrazee banned @le1039dxl12:matrix.org
  499. @themoon:matrix.org joined the room
  500. @rajveermalviya:matrix.org joined the room
  501. @florian:dsn.tm.kit.edu joined the room
  502. @velvet1:matrix.org joined the room
  503. @velvet1:matrix.org
    Message deleted by Aaron Goldman
  504. porcuquine2
    Oh shit, shrooms and moonrocks I'm in bro 867-5309.
  505. @themoon:matrix.org left the room
  506. @velvet1:matrix.org
    Whatsapp...+1 (843)-481-5116
Text/Call....+1 (913)-256-5209
    Wickr…….potentialvendor
    
Place your various orders. Delivery to various locations. Weed carts shrooms moonrocks Dmt lsd ecstasy Heroin coke molly mdma ice guns meth pills ecstasy pills Xanax adderalls Oxys percs opana
  507. willscott

    pfrazee: there's been some thought from protocol labs about private access to graphs of data. there's a funding call out for research at https://research.protocol.ai/blog/2022/announcing-rfp-014-the-one-with-private-retrieval/, and a set of recent talks https://www.youtube.com/playlist?list=PLuhRWgmPaHtTegfLTVFYtTtqTKQEtDvxW that might be interesting.

    There's some hope that homomorphic encryption and/or private set intersection may be able to help with some of this privacy issue in not too many years

  508. @velvet1:matrix.org
    Message deleted by Aaron Goldman
  509. @rimuru:gentoo.chat changed their profile picture
  510. kcrwfrd joined the room
  511. @velvet1:matrix.org
    Message deleted by Aaron Goldman
  512. @velvet1:matrix.org left the room
  513. s8_unst joined the room
  514. @vitorpamplona:matrix.org left the room
  515. jubin joined the room
  516. EtherTyper changed their display name to EtherTyper [eth\/typ\/er]
  517. EtherTyper [eth\/typ\/er] changed their display name to EtherTyper [eth/typ/er]
  518. EtherTyper [eth/typ/er] changed their display name to "EtherTyper [eth/typ/er]"
  519. "EtherTyper [eth/typ/er]" changed their display name to EtherTyper
  520. @rimuru:gentoo.chat changed their profile picture
  521. unclesam98 joined the room
  522. @collinchristovich:matrix.org joined the room
  523. @collinchristovich:matrix.org left the room
  524. mqrqpz26sw joined the room
  525. @ztqdn:matrix.org joined the room
  526. @ztqdn:matrix.org left the room
  527. elmustachio joined the room
  528. Tech Adept (RDD) joined the room
  529. Tech Adept (RDD) set a profile picture
  530. Adam Lake joined the room
  531. Nad changed their display name to Nad // away
  532. tmw (he/him) changed their display name to tmw (he/him/his)
  533. tmw (he/him/his) changed their display name to tmw (he/him)
  534. @hutchinson2:matrix.org joined the room
  535. @null_radix:matrix.org joined the room
  536. @jbschirtzinger:matrix.org left the room
  537. @briggssaint446:matrix.org joined the room
  538. J joined the room
  539. Henri Carnot changed their profile picture
  540. @briggssaint446:matrix.org
    Message deleted by Aaron Goldman
  541. @briggssaint446:matrix.org left the room
  542. airwaves joined the room
  543. @booklearner:matrix.org joined the room
  544. @booklearner:matrix.org left the room
  545. Anton Kent - Anytype
    Hi guys. What i great paper i have just read about "DIDs vs SBTs vs VCs" - https://arxiv.org/pdf/2208.11443.pdf ! Highly recommended, not an advertisement.
  546. Aaron Goldman

    In reply to this message

    Haven't read the whole thing yet but it seems like they are assuming the reputation system is tied to the assertion system. It doesn't have to be. If you have an identifier you care about like a did: then I could publish reputation claims about that identifier. Their is nothing to stop me from just having a url that points to a CSV full of claims about identifiers no need to be on the same chan or system as the specific did method.
  547. I the safety labelers and the safety label consumers agree on a safety label system the identifier is just a string to be looked up.
  548. The only remedy for the identified is to contest the claim with a counter claim or to abandon the identity.
  549. This is what makes negative reputation so hard. If you have a wallet bound token and the value goes negative the controller can just abandon the wallet.
  550. And it's very difficult to make a soul-bound token without the cooperation of the person to use that identity.
  551. Now we certainly use fingerprints and dental records to identify escaped convicts and return them to prisons since their fingers and teeth are soulbound but adversarial soul-bound tokens go to dark places fast
  552. And doing negative reputation without them is subject to simply abandoning the identity.
  553. World of Warcraft was able to do soulbound items without much difficulty because the value of the account remained greater than the desire to get away from some SBT items
  554. Anton Kent - Anytype
    things become even more complicated if we take into account the "private key" market :-)
  555. what you've said makes sense and very interesting. problem of "negative reputation" is really hard. yeah, it looks like it requires some separate ledger/registry because person can "drop the account" after receiving the "has murdered people" and "was sentenced to 15 years in prison"
  556. Aaron Goldman
    Yup WoW created soulbound items to put limits on the item/gold market and the users just started selling whole accounts more.
  557. mikestaub

    In reply to this message

    I think this problem is out of the scope of a reputation protocol, as the free market will likely create solutions at higher layers of abstraction. ( background checking services, etc )
  558. airwaves
    Is Bluesky affiliated with Twitter? I read something online which stated that they've parted ways now.
  559. Aaron Goldman

    In reply to this message

    Yup, background checks are about adding reputation to someone who is at zero.

    Then you can treat zero as default deny.

    You solve the negative reputation problem by not needing 'negative reputation' because you don't trust zero.

  560. Aaron Goldman

    In reply to this message

    Bluesky was always meant to be independent. The goal was a small group of protocol engineers to build a protocol for public broadcast content to move between Twitter and other networks.

    That's why it's structure is a research grant not a subsidiarity. Twitter is not even a share holder.

    The protocol needs to be neutral territory or it won't be trusted or adopted by anyone outside Twitter.

    https://twitter.com/jack/status/1562861302242226178

  561. In reply to this message

    Obviously I don't speak for Jack or Twitter 😶
  562. Sam (@wedg:matrix.org) changed their profile picture
  563. @hutchinson2:matrix.org left the room
  564. @saintbriggs:matrix.org joined the room
  565. Nad // away changed their display name to Nad
  566. @saintbriggs:matrix.org left the room
  567. Andy joined the room
  568. pfrazee

    In reply to this message

    I’ll check that out!
  569. ayrton purdy joined the room
  570. itsandy changed their display name to Andy
  571. mikestaub

    In reply to this message

    seems promising, but it reminded me of this... https://xkcd.com/927/
  572. pfrazee
    mikestaub: I'm not sure that's totally fair, but for a subtle reason that I've only recently been able to articulate -- I and, apparently, the spruce team are looking for ways to define schemas as contracts, not just as universal vocabularies, and there really isn't good tooling for that
  573. shoot got a meeting, will finish my point in a few
  574. pfrazee
    okay back! So I gave a talk explaining where my heads at. Video isnt available yet but here's the slides: https://docs.google.com/presentation/d/1K2jHEQHD-fDFhXRs-N4eeLRh5zOMXBbfH5p9m6eWL-w/edit?usp=sharing
  575. what we want is a way to define precise & machine-readable schemas, because their interpretation is very core to protocol. Part of the argument I'm making in my talk is that we ought to think of schemas as contracts (in the interface sense) because there are cases where it's really important that we preserve intent
  576. the intent/contract of vocabularies is typically specified in spec docs, often via standards bodies, and if we could introduce a machine-readable alternative then it helps teams move more quickly and reduce the potential for errors
  577. Spruce went so far as to create a new syntax, but we don't plan to do that
  578. (considered it, though)
  579. Anton Kent - Anytype
    Hey guys, what do you think about Subconscious/Noosphere? https://subconscious.substack.com/p/noosphere-a-protocol-for-thought What i don't understand how they are planning to do a "multiplayer" scenarious. Because in a single-player mode everything is pretty simple -> their "supernode server" is a tiny wrapper on top of IPFS with custom name resolver (libp2p).
  580. yes, they use UCANs too :-)
  581. pfrazee
    Anton Kent - Anytype: I'm Internet friends with Gordon. He's a smart guy and he's really passionate about the project. There are obviously a lot of differences from what we're doing because the goals of the protocol are different. The biggest similarity is using content-addressed data structures. Other than that, it's kind of like comparing Notion to Twitter
  582. Anton Kent - Anytype
    not comparing them to Bluesky, just was curious what do you think. I like what they are doing
  583. mikestaub

    In reply to this message

    Probably for the best. Looking forward to watching the talk, from the slides it seems you are focusing on exactly the right problems.
  584. thilonel joined the room
  585. Nad changed their display name to Nad // away
  586. Jayden Garnsworthy joined the room
  587. bariali07 joined the room
  588. Steven Franssen joined the room
  589. som1
    you all are snail working for few years still i dont see any progress
  590. you want to make decentralised or federated social media ?
  591. scuttlebutt protocol is good, you can work on improving that protocol, that is what can be a decentralised social media.
  592. Bill Ottman
  593. Join the party
  594. We've been working on decentralized social for years. Most things don't work. Nostr actually works.
  595. bsstoner joined the room
  596. Golda Velez
    I'm starting to think there is a use case for a variety of private-pod type solutions + a shared public data layer that is credibly neutral, but the data in the public layer is available to all And maybe some kind of semi-private solution with small groups protected by encryption with frequently rotated keys I wonder if we are conflating the social network use cases of private and public together too much?
  597. mikestaub

    In reply to this message

    I 100% agree with this. They are 2 different use-cases, but the protocol should enable both natively.
  598. mikestaub

    In reply to this message

    "First you must know them and get their public key somehow, either by asking or by seeing it referenced somewhere." This is not the use-case Bluesky is focusing on. In my opinion Signal and Telegram Groups are good enough to solve this. Decentralized global search is the hardest feature to build, which is why nobody has been able to solve it yet. We have to find a way to make it as good or better than a centralized ElasticSearch instance to compete with web2 UX.
  599. Bill Ottman

    In reply to this message

    Definitely glad to watch progress. Signal and Telegram aren't decentralized. Telegram isn't even fully open source.
  600. Ultimately what matters is what works
  601. Bill Ottman
    If identity, content and social graphs are sovereign that's a huge step in the right direction. That's what creators care about and deserve to own.
  602. The statement above about needing to know people's keys isn't always the case. Clients can implement improved search and discovery in a number of ways
  603. Steven Franssen

    In reply to this message

    signal has p2p parts
  604. Bill Ottman
    Nostr enables data storage and retrieval via a shared global network of relays
    (edited)
  605. In reply to this message

    Fair enough, but p2p isn't even necessary to achieve censorship resistance and decentralization
  606. Steven Franssen
    correct
  607. but it should be considered an optimal goal maybe
  608. the best is p2p where nodes can have different roles
  609. matrix federated servers are p2p but users are not
  610. interesting
  611. i have seen so many attempts at decentralized social all fail, they seem to get stuck in developing unnecessary things while never achieving some fundementals that will scale and so they can't scale, even matrix is severely bogged at a limit now which they are trying to fix
  612. Bill Ottman
    Synapse can't scale. We run a server for Chat at Minds and it's flakey. Dendrite needs to get finished
  613. Dozens of clients and apps on nostr like minds
  614. Even chess...
  615. Directory of apps
  616. And relays
  617. Healthiest dev ecosystem I've seen. Anon founder. Public domain
  618. Steven Franssen
  619. Bill Ottman
    Joined.
  620. Steven Franssen
    it would be worth your while to talk to sanity
  621. Steven Franssen
    Bill Ottman: nostr is really interesting thanks, it outlines the problem quite succinctly, only thing i would add is the platform should aim to support chat (latencies) as chat can become a forum but not the reverse
  622. Bill Ottman
    It does
  623. There are a few chat apps
  624. It runs over websockets
  625. Steven Franssen

    In reply to this message

    very cool, so i guess i can just take my private key generated in that app to any other app on the platform? are any apps using the same data between them?
  626. Bill Ottman
  627. There are different kinds of events
  628. I'm surprised no one from bluesky has seen this ?
  629. Steven Franssen
    i am not from bluesky
  630. they are some of the main people
  631. seems nostr and bluesky are solving the same problem
  632. Bill Ottman
    Maybe there's synergy. We've been working on a NIP for delegated event signing and keys
  633. Aaron Goldman
    Does nostr have a concept of a repo? Is each post a signed object and you ether find it or not, or can you get evidence that you have the whole data set published by a particular use
  634. Bill Ottman
    Clients publish to relay(s). Relays don't directly talk.
  635. Steven Franssen
    relays not talking seems a problem, clients really need help finding content, i used a few of the apps and they have various issues, content discovery being the biggest
  636. Nad // away changed their display name to Nad
  637. @planetoryd:matrix.org

    In reply to this message

    A transport agnostic protocol ? That's nothing new
  638. Everyone knows these cryptographic tricks
  639. @planetoryd:matrix.org
    "relays of their choice", so no routing ? this is the opposite of automation
  640. @planetoryd:matrix.org
    this protocol still depends on some social graph. no, social graph is anti anonymity, and it's not a good abstraction to start with. I mean, the entire thing can be as simple as Locutus protocol's concepts
  641. there's no problem with DHT if you can maintain stability while nodes are joining and leaving
  642. @planetoryd:matrix.org
    Out of all protocols, I favor Locutus. It has no social graph in itself. It does one thing well, routing and serving contracts. Contract is a WASM function that describes what can be put in the contract.
  643. No mandatory linked list. No mandatory publickey signing. And they all can be built in a contract. Simple and effective
    (edited)
  644. Steven Franssen
    thankyou for your criticisms @planetoryd:matrix.org: they are well thought
  645. Aaron Goldman

    In reply to this message

    Garbage collection is still a problem. What data should be preserved? Who has the writing right? GC is enough of a problem that most DHTs end up using a TTL and requiring re-advertising to the point it's mostly only useful for ephemeral data.
  646. Adam Lake

    In reply to this message

    Makes sense. Does BlueSky have some documented use cases that they are designing for? Is there an articulation of a desired set of tangible goals?
  647. Steven Franssen
    many people use multiple apps some more public or private, i know i feel weird using a public app to msg family
  648. @wings:perthchat.org joined the room
  649. @planetoryd:matrix.org

    In reply to this message

    It's not a lot of data and many metrics are available for GC ? can you elaborate
    (edited)
  650. Aaron Goldman

    In reply to this message

    For data that we want to durability store data you could imagine putting it in a DHT. If you can maintain stability while nodes are joining and leaving.

    So why is IPFS using a DHT to store records of where to find blobs for a CID instead of just storing the blob itself. The DHT would fill up with junk as the world used it for free storage.
    Instead they gate it with a max TTL if you want to store data you must re-advertise constantly. This "work" prevent the IPFS DHT from being cheap storage and moved the economics to not worth using for durable data.
    The lack of a good way to insensitive storage nodes in the DHT leads to lots of wasted effort.

    My main point was that there are lots of problems with today's DHTs and lots of research to be done before they are anywhere close to their potential.

    ... I don't think I understand how Locutus uses the DHT.

  651. Perquisas
  652. Aaron Goldman
    I don't know what that means 😢
  653. A joined the room
  654. @planetoryd:matrix.org

    In reply to this message

    Both random peers and seeders serve a contract
  655. Steven Franssen
    @planetoryd:matrix.org: i remember closeness of peers is a factor?
  656. @planetoryd:matrix.org

    In reply to this message

    ofc, it looks random tho
  657. Steven Franssen
    @planetoryd:matrix.org: well with enough peers being random and near is easy
  658. A Person joined the room
  659. @planetoryd:matrix.org

    In reply to this message

    And he also proposed a simple blind signature token system to prevent spam (centralized token issuer)
    (edited)
  660. 750K joined the room
  661. @liebebtc:matrix.org joined the room
  662. som1

    In reply to this message

    why run over websockets ?
  663. take a look at yggdrasil-network
  664. you can take to your peers directly over that network
  665. @liebebtc:matrix.org
    Message deleted by Aaron Goldman
  666. chomp joined the room
  667. Joanna joined the room
  668. @shadowislord:matrix.org joined the room
  669. @planetoryd:matrix.org

    In reply to this message

    not much difference.
  670. mtdoxx changed their display name to chomp
  671. chomp set a profile picture
  672. Sampei Omichi joined the room
  673. Valentin Baltadzhiev joined the room
  674. @liebebtc:matrix.org left the room
  675. @wings:perthchat.org changed their profile picture
  676. MZico joined the room
  677. elrondnetwork joined the room
  678. tmw (he/him) changed their display name to tmw is AFK till 9/12
  679. @rimuru:gentoo.chat changed their profile picture
  680. John changed their profile picture
  681. @shadowislord:matrix.org set a profile picture
  682. lynn changed their display name to lynn (he/they)
  683. Hi changed their display name to Hugh
  684. thomaskiml changed their display name to tmskml
  685. supernova joined the room
  686. supernova
    sup is this active?
  687. the discord was kind of intense
  688. Aaron Goldman

    In reply to this message

    The discord was about things like "why" this channel is about implementation details and APIs. Just a very different thing.
  689. In reply to this message

    What would you like to know about the architecture?
  690. Steven Franssen
    Aaron Goldman: what do you think about nostr as they seem to be achieving the goals of bluesky?
  691. Aaron Goldman
    Similar goals yes but somewhat different approaches. ADX identity doesn't use a single key but rather a set of keys they can be added to and removed over time. ADX as a concept of a repo so you can know nothing new has happened where nostr has unbundled events you can always have missed something from a publisher. Neither is strictly better just different use cases. ADX tries hard to have schemas that can evolve over time in ways application developers can deal with. Nostr has an unstructured string for its events more flexible but doesn't offer application developers help in migration. I think it's a little like comparing Django or Ruby on rails to HTTP The opinionated frameworks make it much easier to build applications where is the raw flexible protocol can live a long time but requires a lot of a structure on top of it to be useful. ADX has machinery to make building the social apps less painful. Nostr is trying to be one layer in the stack not the stack itself. Granted I'm no expert in nostr so I could be wildly misjudging it.
  692. Steven Franssen
    thanks can you elaborate on " doesn't offer application developers help in migration" the point i would make is many take a more grand approach where as nostr seems to be taking largely a first principles approach, the problem with having too many parts and particular the wrong ones is you end up optimizing them, which is what i am witnessing with matrix and their p2p project
  693. Aaron Goldman
    pfrazee: Would you like to share your slides on Schema Negotiation here?
  694. Steven Franssen
    ? i guess no
  695. Aaron Goldman
    He put together slides but I get waiting to share until he present and can point to a video
  696. Aaron Goldman
    The gist is if I want to version records we want to express concepts for optionally and if a requirement fails fallback
  697. It is a poor user experience to see a tweet that's it look at these pictures and has no attachments because your client doesn't know the schema has been versioned to include attachments
  698. If I add access control primitives and your server shares it publicly because you don't know that it's been versioned that's bad
  699. But if I can say ACL the required field and if absent no reshare then it can fail safe. This only works if the fallbacks are already present as concepts.
  700. Steven Franssen
    why is there need to be a variety in schema for attachments? maybe i need the pictures but it seems bluesky is going far beyond decentralized twitter
  701. is there an outline of the problems bluesky hopes to address?
  702. tmw is AFK till 9/12 changed their display name to tmw
  703. tmw changed their display name to tmw (he/they)
  704. In reply to this message

    it's to assist in evolvability in general. Even if we assume the tech never expands outside of some initial social usecase, social apps tend to evolve. We want the schema toolset to help us maintain correctness whenever that happens
  705. @koyu:mozilla.org joined the room
  706. @koyu:mozilla.org
    Okay, quick question, but why are you building something that literally sounds like ActivityPub with a few knobs twisted?
  707. mikestaub

    In reply to this message

    Simply because the problem is unsolved. Gab had to hardfork Mastodon just to add a groups feature.
  708. @geoah:nimona.io
    Completely offtopic, but am I the only one for whom this room is now called “pfrazee and 71 others”? :p (the number changes often) — I assume it’s a bug in my server syncing but before leaving/rejoining wanted to check if it was a more widespread issue cause it’s the first room I’m seeing this issue in.
  709. pfrazee

    In reply to this message

    I'm not seeing that
  710. @geoah:nimona.io

    In reply to this message

    Hehe figured as much. Thanks for verifying it! I’ll see if there is a way to force the server to re-sync.
  711. Ailín Pérez Valderrey joined the room
  712. fkl joined the room
  713. Ailín Pérez Valderrey set a profile picture
  714. Aaron Goldman
    Bluesky Dev to me but “pfrazee and others” has a nice ring to it. 😛
  715. @koyu:mozilla.org

    In reply to this message

    It's funny, because ActivityPub is software-independent and could be implemented into Twitter by just adding a few routes
  716. So you clearly have no idea what you're talking about, I assume
  717. Gab could've done the same by using their existing software stack, but for whatever reason they chose not to implement it on their own 🤷‍♀️
  718. The spec is here, but I have no idea why fascists can't read
  719. Aaron Goldman
    More interesting in my opinion is that ActivityPub is very URI centric. If we have repos that can be accessed `adx://username/app/dataset/record` then the ActivityPub records could then be shared in a host independent namespace giveing the portability of a content center system.
  720. @koyu:mozilla.org

    In reply to this message

    You don't need all that bullcrap, ActivityPub handles that on its own, automatically, hence why implementation would be a lot easier
  721. Aaron Goldman
    As long as the host DNS name is in your identifier migration is at the discretion of the host name controller
  722. @koyu:mozilla.org
    ActivityPub is the layer that exchanges data between different servers, why do you need such a complicated layout?
  723. If Dorsey wanted something like SMTP, ActivityPub is literally what he's looking for
  724. That's like using XML and Soap for Web APIs in 2022, it just looks like shit and every developer will hate you
    (edited)
  725. Aaron Goldman
    Yup if hosting providers always behaved well and never used their privileged position of access to users that would work well.
  726. @koyu:mozilla.org

    In reply to this message

    Or you just stop being so American and actually acknowledge that nobody wants to listen to Trump's hate speech
  727. And if you're concerned about hosting providers then there's the door, because they will do shit unless you behave like it
  728. Stop whining about Cloudflare, because Twitter has literally their own infra
  729. Aaron Goldman
    Side note: better to avoid generic degrading descriptors like 'bullcrap' in favor of technical critics such as 'inefficiently' or 'complexity'
  730. @koyu:mozilla.org

    In reply to this message

    bloat
  731. Aaron Goldman
    I like 'bloat' that's much more expressive thanks
  732. @koyu:mozilla.org
    Or as I'd describe it "A protocol that developers will joyfully deny using"
  733. @gnu_ponut:matrix.org

    In reply to this message

    BC activity pub is still centralized and data isn't replicated so it really sucks when the server you joined dies (or you just fall out with admins). Secondly activity pub still has a problem where every application implemented on AP has to specify its schemas adhoc if you want interop and then on top of that (bluesky has this problem to) every one is scared of code on the network so every client for an application has to duplicate a bunch of code. Which is a problem when it comes to people writing extensions and is really why there.s a bloat problem.
  734. Aaron Goldman

    In reply to this message

    Not sure "code on the network" solves the problem. The browser and it's JS runtime is code but the browser remains a bloated platform.

    There is a trade-off in procedural and declarative data. By sending procedural code and letting it paint pixels you get a very simple runtime but the data becomes very opaque. By sending structured schemed data the meaning is more transparent and many UIs can render the data in many ways but at the cost of needing to understand the data.

    Functions are opaque but generic structures are transparent but specific.

  735. @koyu:mozilla.org

    In reply to this message

    Ok, tell me the difference between federated and distributed
  736. Because you make it sound like everything should be distributed
  737. Which is simply not an option for most applications
  738. @gnu_ponut:matrix.org

    In reply to this message

    JS and web were designed by and for completely centralized applications though and that bleeds through the entire stack. They also didn.t have hindsight
  739. while it is a large, probably mostly unachievable piece of work to make a web browser, it's not as impossible as implementing every web page that ever could possibly exist each time (for each web client) because we didn't have JS. Which is basically what has to happen everywhere else so variety and more importantly personal control doesn't exist
    (edited)
Next group of messages