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. Kevin Harder joined the room
  2. Amit Verma joined the room
  3. blaz89 joined the room
  4. blaz89
    Hey guys. Is there any luck to get a new inv code?
  5. I know this chat is not for this purpose actually but who does not try does not get rewarded
  6. Please excuse me if am mistaken here :)
  7. Just would like to be a tester of the blue sky.
  8. whyrusleeping
    Are the ones above used up?
  9. arcalinea
    you should probably DM them to people if you want to make sure they get them, just leaving them in the chat will mean someone else could claim it
  10. blaz89
    Unfortunately yes
  11. bolix joined the room
  12. Kevin Harder
    I would love to have a code as well if you still have one.
  13. behnam joined the room
  14. behnam

    Hi 🙏🏻

    I need bluesky invite code. Thank you if you send it to me.

  15. George Antoniadis

    In reply to this message

    Scroll up, why has shared a couple that should be still valid.
  16. Ariel Acosta joined the room
  17. tonykent@tonykent:lisbon.ems.host
    Please give me an invite, I’m so long with you guys! :-)
  18. tiaog joined the room
  19. whyrusleeping
    Yeah just dm me if you want an invite
  20. @tiaog:matrix.org set their display name to tiaog
  21. tiaog set a profile picture
  22. paulghostsuk
    Hi any chance of a invite cold for me thank you
  23. sylphrenetic
    check the latest message in the main chat my guy
  24. @tareqanati:matrix.org joined the room
  25. @tareqanati:matrix.org
    Message deleted
  26. olly.dgb
    Any chance of an invite?
  27. Nick
    Ya'll gotta use reverse psychology. Nobody give me an invite....
  28. @tareqanati:matrix.org
    Message deleted
  29. olly.dgb
    Our friend tareq here is demanding $30 for an invite which means he is either a scammer or a dick or both.
  30. behnam
    I can not believe! Some sell the invitation code!
  31. tiaog

    In reply to this message

    He wanted to charge me 50$
  32. c.lace
    Get some invites
  33. olly.dgb

    In reply to this message

    That is clearly the VIP price
  34. b0gg3r
    That's wild
  35. @tareqanati:matrix.org
    Message deleted
  36. @kappaseijin:matrix.org joined the room
  37. @tareqanati:matrix.org left the room
  38. Soohan Park (Heartade)

    In reply to this message

    Oh, I meant the account. My bad. There have been a lot of invites here but... I guess that's not enough to cover most of us, right? Or am I the only one here without an account
  39. I've never been this jealous for iPhone users 😕
  40. tiaog
    Still waiting for a code too 😐️
  41. Soohan Park (Heartade)
    Wait this room now has more than 800 people? That's wild
  42. Soohan Park (Heartade)
    Btw has anyone tried setting up their own instance? AFAIK the atproto repo includes a server implementation but I've been too busy to try setting it up myself
  43. @syui:syui.cf

    yes, build atproto

    123cd packages/dev-env
    vim src/index.ts
    node dist/cli.js
    
  44. however, if you deploy on a hosted domain and create an account, you will get a verify token error
  45. 1lerna run verify --stream
    
  46. please wait while I take a video
  47. Ken joined the room
  48. @syui:syui.cf
  49. self-hosting test
  50. Soohan Park (Heartade)
    Does the server print any logs about it?
  51. @syui:syui.cf
  52. Why it doesn't work, perhaps this is it
    (edited)
  53. 1231. vim packages/dev-env/src/index.ts && lerna run verify --stream
    2. availableUserDomains: ['.test','.bsky.syui.cf'],
    3. const db = PDSDatabase.memory(), plc.Database.memory()
    
  54. i set DB_POSTGRES_URL
  55. @syui:syui.cf
    currently availableUserDomains works for certain
  56. @syui:syui.cf
    there are many things I don't understand either
  57. Soohan Park (Heartade)
    I'm just looking at the code on my phone in the metro atm, hoping to be able to dig more into it once I'm off work
  58. @syui:syui.cf
  59. @jlsgo:matrix.org
    whyrusleeping: thanks bro!
  60. cryptojcdenton joined the room
  61. Bev Robb @teksquisite changed their display name to teksquisite
  62. cryptojcdenton set a profile picture
  63. @tareqanati:matrix.org joined the room
  64. shirshxk joined the room
  65. shirshxk
    yo guys
  66. any chance we can open bluesky on pc
  67. or is it launched only in ios
  68. Shirshak Shrestha (शिर्षक) changed their display name to shirshxk
  69. shirshxk set a profile picture
  70. amazingca

    In reply to this message

    According to Bluesky’s devs, their web client is in the works but not released atm. If you’re just curious to look at the posts on Bluesky Social, I made a little thing for that:
    blue.amazingca.dev
    . Also recommend checking out Syui’s creation too:
    syui.cf/bsky
  71. @syui:syui.cf
    mac runs ios apps, install from apple store
  72. amazingca
    As long as you have an Apple silicon-based cpu (M1/M2)
  73. ReminexD joined the room
  74. wolix
    Guys iam got for invite of bluesky
  75. Ronalds Vilciņš
    is there way to get invite? 😊
  76. wolix
    Yeah actually his start sending people mails for selection who be on bluesky
  77. amazingca

    In reply to this message

    Dm whyrusleeping
  78. wolix
    People iam liked how devs of bluesky his working jobs connect community on one way
  79. Here why iam excited
    (edited)
  80. Actually his finished android version of app and seems on mail his have android for selection
  81. tsny joined the room
  82. Mehmet Palabıyık joined the room
  83. Mehmet Palabıyık
  84. Mehmet Palabıyık
    Message deleted
  85. Mehmet Palabıyık
    Can I get invite code?
  86. wtf is bug
  87. Sorry for spam , its little bug
  88. @syui:syui.cf
  89. @kappaseijin:matrix.org
  90. Mehmet Palabıyık
    Do u have invite code bro ? @syui:syui.cf
  91. @syui:syui.cf
    Message deleted
  92. @syui:syui.cf
    no, post search
    bsky.social
    -xxx
    (edited)
  93. amazingca

    In reply to this message

    Dm whyrusleeping
  94. whyrusleeping
    👋
  95. @tareqanati:matrix.org left the room
  96. @softinio:matrix.org joined the room
  97. @softinio:matrix.org
    👋
  98. harshveer14
    Push notifications 🙌
  99. @softinio:matrix.org
    Joined waitlist while ago any timeline ? 
  100. b0gg3r
    Soon
  101. sylphrenetic
    Soon™️
  102. Philo joined the room
  103. Philo
    Howdy
  104. Philo set a profile picture
  105. Phillip Reed (Philo) changed their display name to Philo
  106. @syui:syui.cf
  107. stoic.alchemist joined the room
  108. Cale joined the room
  109. mohamed hussein joined the room
  110. Aws joined the room
  111. Aws
    Message deleted
  112. Aws
    I want invite code
  113. @furqantabani:matrix.org joined the room
  114. @furqantabani:matrix.org left the room
  115. 💔
  116. 3ws changed their display name to Awa
  117. Awa changed their display name to Aws
  118. Aws set a profile picture
  119. Aws left the room
  120. Aws joined the room
  121. @iecruz:matrix.org joined the room
  122. KamatsuKyoto
    Can i report a bug here?
  123. Alan Motta Cardoso changed their display name to KamatsuKyoto
  124. valueclick
    Due to the protocol specifications, a full launch of Nostr seems a long way off. However, an excellent feature has been implemented at this time. It is a function that translates foreign language posts and displays them. It is limited to some apps, but it translates them on its own.
    Bluesky.social
    itself does not have a translation engine, but users can use it by signing up with DeepL, getting an authentication key used for DeepL API, and registering with
    Bluesky.social
    .
    Bluesky.social
    itself does not have a translation engine.
  125. snarfed

    In reply to this message

    The initial plan is to bridge ATP to web sites, not AP, but hopefully AP eventually too. The bridge will generate dids for ATP that it handles, and convert between to domain- or AP-based identifiers, ie it's a proxy. https://fed.brid.gy/ already does this between AP and webmention+mf2, feel free to look at how that works as an example
  126. @andrew:trivial.business
    Is the testflight full? I have an invite and am using the app store released app, but im curious.
  127. @swelch:matrix.org left the room
  128. あすらも/heguro joined the room
  129. Adam The Victini joined the room
  130. Carls Freitas joined the room
  131. Count Von joined the room
  132. Christian von Uffel changed their display name to Count Von
  133. ruza joined the room
  134. Carls Freitas set a profile picture
  135. Rob Pickering joined the room
  136. Amir joined the room
  137. Amir
    Hello everyone! Is there anyone here who can give me an invite code? I am so curious to try the app. 🫠
  138. Count Von
    Hey y’all! 👋🏻 Christian here. Excited to see what Bluesky is actually like. Been on the waitlist for awhile. Looking to explore how the added benefits actually work
  139. josuesantos joined the room
  140. josuesantos
    For the app begin fine... is necessary to be launch to android
  141. Aaron Goldman: what u think of idea of launch to android system Aaron? In this moment that are just begin.
  142. derosky joined the room
  143. derosky
    hi guys. any invites?
  144. Hacklet
    All the ones I got don't work so -- Shrug :)
  145. derosky
    got some that doesn’t work too. thanks
  146. @kaorit:matrix.org joined the room
  147. cokeiv joined the room
  148. diogoodev joined the room
  149. @kaorit:matrix.org
  150. @syui:syui.cf
  151. Nick
    Well hi
  152. bnewbold
    we put out a blog post about the private beta and what we are working on: https://blueskyweb.xyz/blog/3-2-2023-bluesky-beta-app
  153. Yahya Kerba joined the room
  154. @salehr:matrix.org joined the room
  155. @salehr:matrix.org
  156. @salehr:matrix.org joined the room
  157. b0gg3r
    That's up to you @salehr. I need a working beta on my desk by EOD
  158. tolo joined the room
  159. tolo
    what countries is the app listed in currently?
  160. Metaverse Room joined the room
  161. @marianatt10:matrix.org joined the room
  162. lauranotpalmer joined the room
  163. @marianatt10:matrix.org
    Hi any invites?
  164. Schumi changed their display name to Anselm Schumacher
  165. Anselm Schumacher (@anselm:schumacher.berlin) changed their profile picture
  166. lauranotpalmer set a profile picture
  167. marianatt10 changed their display name to Mariana
  168. @marianatt10:matrix.org set a profile picture
  169. lauranotpalmer

    In reply to this message

    amazing!
    can wait to find a invite that works so i can try by myself
  170. In reply to this message

    eventually for sure
  171. @marianatt10:matrix.org
    lauranotpalmer: can u send me an invite?
  172. lauranotpalmer
    don’t have it
  173. pcdkd joined the room
  174. pcdkd
    Interesting to see how this fits in with nostr, mastodon and farcaster
  175. Malte joined the room
  176. pcdkd
    imo, nostr already supremely better than mastodon.
  177. Remains to be seen with farcaster and bsky
  178. Malte
    👋 hello! came here via twitter and am curious to discover bluesky. Might anyone have an invite to spare?
  179. amazingca

    In reply to this message

    Dm whyrusleeping
  180. Malte set a profile picture
  181. maltenuhn changed their display name to Malte
  182. Metaverse Room

    In reply to this message

    hi sir
  183. Metaverse Room set a profile picture
  184. @syui:syui.cf
    Aws:
    Dm whyrusleeping
  185. @syui:syui.cf
    Message deleted
  186. Guilherme Ferreira joined the room
  187. @guzzlima:matrix.org joined the room
  188. Gabriel Lima joined the room
  189. Gabriel Lima
    hi guys ! any invites?
  190. amazingca

    In reply to this message

    Dm whyrusleeping
  191. Gabriel Lima
    ok ! thank youu
  192. amazingca
    np 👍
  193. Metaverse Room
    Done DM. thanks
  194. Gabriel Lima
    done dm too ! i’m waiting
  195. Mehdy Haghy joined the room
  196. diogoodev
    Greetings! I'm interested in learning more about Bluesky. Would anyone happen to have an invitation available?
  197. Bruno (@brunomuriel:matrix.org) joined the room
  198. Bruno@brunomuriel:matrix.org
    Hi, anyone with invites available?
  199. Metaverse Room
    Can anyone help me to login with code? how to use? Does it have to be via cellphone? i'm using a laptop
  200. @marianatt10:matrix.org

    In reply to this message

    i download the app and there is a line for the code
  201. Metaverse Room

    In reply to this message

    thanks, aviliable on android?
  202. @marianatt10:matrix.org
    No just iOS
  203. In reply to this message

    No, just iOS
  204. Metaverse Room

    In reply to this message

    thanks
  205. @marianatt10:matrix.org

    In reply to this message

    Do u have an invite?
  206. Gabriel Lima

    In reply to this message

    have you already received the invitation?
  207. Metaverse Room

    In reply to this message

    yes
  208. @marianatt10:matrix.org

    In reply to this message

    Can u send me if it’s available?
  209. valueclick
    I can no longer see the comments that the accounts I follow have replied to.
  210. yancyscot
    Still waiting for my invite code as well.
  211. Gabriel Lima

    In reply to this message

    me too
  212. Metaverse Room

    In reply to this message

    i will use in my ios
  213. @rafaelmelo.adv:matrix.org left the room
  214. Gabriel Lima

    In reply to this message

    how long did it take to send you the invite?
  215. i’m so looking forward to this social network 😩
  216. kamakura joined the room
  217. 鎌倉 changed their display name to kamakura
  218. Metaverse Room

    In reply to this message

    I'm fast, maybe my name unique
  219. Ryuta Ishimoto joined the room
  220. Brendan A. Miller joined the room
  221. tolo
    Hi everyone, I'm looking for an invite as an it student interested in emerging social media
    (edited)
  222. amazingca

    In reply to this message

    Dm whyrusleeping
  223. dwither joined the room
  224. borismann joined the room
  225. Ryan Swart joined the room
  226. @nobodyu:matrix.org joined the room
  227. @nobodyu:matrix.org
  228. @kaorit:matrix.org
  229. @nobodyu:matrix.org joined the room
  230. kamakura
  231. @kappaseijin:matrix.org set a profile picture
  232. yousefed joined the room
  233. Bibek joined the room
  234. Bibek
    Is there anyone who got invitation and have been using bluesky? How is your experience so far?
  235. 0xb1b3k changed their display name to Bibek
  236. hocka10 joined the room
  237. leonardofed joined the room
  238. @pranitsingh:matrix.org joined the room
  239. hornobster joined the room
  240. andrenoari joined the room
  241. andrenoari
    Hey Devs
  242. andrenoari set a profile picture
  243. @caiostob:matrix.org joined the room
  244. @caiostob:matrix.org
  245. tolo
    I'm really interested to see how the "Composable moderation & reputation systems" work!
    (edited)
  246. It would be cool if the reputation was based on each users content/attitude preferences, so each user ranks other users differently
  247. @caiostob:matrix.org
  248. b0gg3r
    You could do something with their data repo It contains every like, post, and repost "Can I install the filter that blocks anyone who hasn't liked at least two pictures of cats"
  249. Malte
    do invite codes expire?
  250. got mine at 2am here and was asleep :D
  251. George Antoniadis
    I think they have a max number of times they can be used
  252. @pranitsingh:matrix.org left the room
  253. @syui:syui.cf
    dm = matrix dm
  254. Malte
    I guess I should have realised that's not a good idea if I'm DMing someone with the handle 'whyrusleeping' :)
  255. George Antoniadis
    It's most probably a timezone issue :P I think everyone on the bsky team as US based.
  256. Malte
    yepp will just try again later (and not go to sleep until I'm signed up..)
  257. Minas joined the room
  258. Minas
    Hey hey, does anyone have an invite? 🫣
  259. Minas Nustas changed their display name to Minas
  260. radiolarium joined the room
  261. zoltron joined the room
  262. mimonelu set a profile picture
  263. Samson Yee joined the room
  264. productofsociety joined the room
  265. Oren joined the room
  266. myoud changed their display name to Owen
  267. Oren set a profile picture
  268. citizenziggy joined the room
  269. Giuseppe Bertone joined the room
  270. dibi91 joined the room
  271. g4bb0_90 joined the room
  272. @quevas:matrix.org joined the room
  273. @quevas:matrix.org left the room
  274. ginza joined the room
  275. Martin Korski joined the room
  276. Soohan Park (Heartade)
    seems like "dm whyrusleeping" should be our motto and slogan
  277. Martin Korski
    Hi, anyone with invites available?
  278. George Antoniadis
    this channel has devolved into an invite request thread :/
  279. xtianpu
    🤣🤣🤣🤣
  280. Soohan Park (Heartade)

    In reply to this message

    By website do you mean, like, piping the feed of ATP activities to a website as new posts, or being able to embed specific activities? Both are extremely cool tho.
  281. In reply to this message

    I feel like there should be separate rooms for general user discussions and developer stuff
  282. In reply to this message

    Yeah, the team said one of the main goals was 'algorithmic choice' and I'm really interested in how that's going to be implemented!
  283. Suggestion/moderation algorithms usually work based on large heaps of user data, so making it work with decentralized system seems like an intriguing challenge
  284. I was thinking that they were going to work based on upvote/downvote data, but I guess bsky now doesn't have a downvote? (Haven't used the app or looked a lot into the code yet)
  285. @cesvlc:matrix.org joined the room
  286. @cesvlc:matrix.org set a profile picture
  287. brunomuriel changed their display name to Bruno
  288. Bruno (@brunomuriel:matrix.org) set a profile picture
  289. @cesvlc:matrix.org
    Message deleted
  290. gab joined the room
  291. gab
    Message deleted
  292. Marcin Korski changed their display name to Martin Korski
  293. Giuseppe Bertone
    Using Matrix as communication method? You won my attention! 💪
    I read the doc on the website, very interesting idea. I subscribed to the waiting list, I hope I can start testing soon.
  294. iecruz changed their display name to i11
  295. Thiago De Souza joined the room
  296. julijulijuli joined the room
  297. Thiago De Souza
    hey, does anyone have an invite code for me? o/
  298. sylphrenetic
    can we filter the word "invite" maybe
  299. @planetoryd:matrix.org
    1nvite
  300. Aaron Goldman

    In reply to this message

    "algorithmic choice" turns out to be more complicated than it first seems. Isn't it always.
    I think about it in three layers.

    Client, PDS, Indexer

    The client is the final arbiter of what gets shown to the user. If you don't believe that install an ad blocker. If something is flagged I say violence or sexual should the client put in a label, put in a click through, hide that it was even there? The client should have local rules for hiding and re-ranking at the edge.

    PDS desides what goes to the client. The client can't reorder what it doesn't know about. The bulk of the work of personalisation is on the PDS. Does this post deserve to consume your cell phone bandwidth and battery, does it warrant a push notification. To change this behavior you are limited by what the PDS has as options.

    Last but most contentious are the choices for what indexes to build. As the network grows most repos will not have anyone on your PDS following that repo. But we wanted a large world network. The PDS can build indexes over the repos it follows but will also need to query an Indexer. The Indexers are following all the repos they can. Building large but generic indexes. The PDSs are limited to the queries that are efficient given the way the Indexers sort the data.

    In the end the client is very personal but has minimal scope for ranking. The PDS has lots of bandwidth, processing, and power but need to limit what you can do to not interfere with the other users. The Indexers have no personal behavior reading and sorting everything in the hope they have the indexes PDSs want to build their algorithms on.

  301. @oscarrdg:matrix.org left the room
  302. Joanna
    algos are social structures
  303. we crave full autonomy, but this means to hold more responsibility
    are we ready to exercise our power?
    are we ready to moderate our protocols?
  304. C= > C#
  305. But we cannot get c= without c#
  306. Aaron Goldman
    c= ?
  307. snarfed

    In reply to this message

    the former. basically, wrap traditional blog posts etc in Bluesky formatting and protocols in order to federate (not copy) them into ATP. the result is that a traditional web site/blog itself becomes a first class ATP account, with complete bidirectional interactivity.
  308. this is what https://fed.brid.gy/ has been doing for many years to federate existing web sites/blogs into the fediverse by wrapping them in AP/AS2.
  309. also, the Bluesky people have planned and designed for people creating and using ATP accounts on their own domains, via did:web etc. that's great! this takes the next step, beyond just using your web site as your ATP identity, to federating your web site's content into ATP as well, not just posts but also interactions like reposts, likes, follows, etc, and federating those interactions from ATP back into your site.
    (edited)
  310. Joanna
  311. @salehr:matrix.org left the room
  312. Martin Korski
    I need invite, pls
  313. In reply to this message

    I need invite, pls
  314. hkiko joined the room
  315. Asher joined the room
  316. mlb1boy joined the room
  317. Asher
    Message deleted
  318. whyrusleeping
    ^probably not real
  319. Thiago De Souza
    👀
  320. 58robertas joined the room
  321. whyrusleeping
    No more asking in here for invites, just DM me
  322. Lets get the conversation back to a technical place
  323. c.lace
    Message deleted by whyrusleeping
  324. whyrusleeping
  325. s_ota joined the room
  326. s_ota set a profile picture
  327. Joanna
  328. In reply to this message

    we are getting closer, my fav is Unity
    (edited)
  329. kauatorres joined the room
  330. kindablue joined the room
  331. topg123 joined the room
  332. Trankten joined the room
  333. Nick (@nickba:matrix.org) joined the room
  334. zqn changed their display name to zq
  335. DezNotCompute joined the room
  336. peterrood joined the room
  337. Aaron Goldman
    I am curious what kinds of knobs people would expect for tuning an algorithm?
  338. Tushar Bhushan joined the room
  339. kauatorres
    Hi Aaron, can you view the DM?
  340. Aaron Goldman
    I can start with two: Discount rate - the amount I down rank old content in favor of new. 1 All time best, 0 reverse chronological, .5 power law Personalization - how much I discount others opinion 1 most popular globally, 0 only my likes taken in to account, .5 power law me> friends > friends of friends...
  341. Nick
    I would also consider Representation - How much people are discounted by their current # of visible posts. Where the extreme end represents everyone as equally as possible over a given timeframe.
  342. @syui:syui.cf

    hi, update done

  343. @syui:syui.cf
    I haven't been able to test the operation much yet, so please let me know if you have any problems
  344. Aaron Goldman

    In reply to this message

    So if I understand. 1 pure random, 0 only majority views, .5 More popular views have more representation than less popular views
  345. forza7 joined the room
  346. fcnmkwcmyz joined the room
  347. dkjrcw6h4j joined the room
  348. Nick
    I think that's close to what I have in mind. But with less emphasis on popularity and more emphasis on how frequently a source is represented. The use case I imagine is if you're following 1-3 celebrities whose content is both frequent and popular. In my experience most algorithms will over represent those celebrities and overshadow all the other people you follow. In that scenario I'd want to be able to control things so that all of the people I'm following are equally presented to me and not just those that are popular or frequently posting.
  349. guedes joined the room
  350. reishis joined the room
  351. @tareqanati:matrix.org joined the room
  352. @marianatt10:matrix.org

    In reply to this message

    Hey I want an invite please
  353. xtianpu

    In reply to this message

    I'm still confused, so who will provide the large indexer then? It looks like a search engine crawler instead of crawling the PDS keep providing posts to the indexer, doesn't it?
  354. xtianpu

    In reply to this message

    I'm just wondering if the user can tune those 3 variables represented by percentage. Most social media users used their timeline curated, with the default value algorithmic timeline based on popular will make their transition to bluesky easier imho
  355. xed101 joined the room
  356. @themrv:matrix.org joined the room
  357. @tareqanati:matrix.org left the room
  358. tampaflight joined the room
  359. H joined the room
  360. Hadzar Nur Ikhram changed their display name to H
  361. bnewbold
    yeah, I'm pretty interested in this kind of thing. i want to follow people with a "budget" of how many times a week they can end up in my feed. eg "follow for 3 posts/week max". would be nice to get "best" within that bound, might be tricky to implement that (feed changes over time)
  362. numpad0 joined the room
  363. @themrv:matrix.org left the room
  364. hiroki_su joined the room
  365. Soohan Park (Heartade)
    How do we filter out / moderate inappropriate or unlikable posts?
  366. ka2n joined the room
  367. Fred joined the room
  368. Fred
    Hello Devs
  369. Is there anyway to get an invite to test the bsky beta app
  370. Fred set a profile picture
  371. Frederick Abila changed their display name to Fred
  372. @syui:syui.cf
    yes, but atproto build
    Message
  373. @neos21:matrix.org joined the room
  374. Owen changed their display name to Oren
  375. birdie joined the room
  376. hadesincarnate joined the room
  377. hadesincarnate
    Hello!
  378. cryptotusa joined the room
  379. cryptotusa
    Hello 👋
  380. zyun joined the room
  381. hadesincarnate
    This is all so exciting
  382. snowcrush joined the room
  383. Ri99999 joined the room
  384. Shunsuke Uemoto changed their display name to Ri99999
  385. 遠野るん joined the room
  386. koteitan joined the room
  387. koteitan
  388. Jason Man joined the room
  389. koteitan
    I joined bluesky so joined here too
  390. eay joined the room
  391. birdie79 changed their display name to birdie
  392. birdie set a profile picture
  393. eay set a profile picture
  394. birdie
    Hello!
  395. hadesincarnate

    In reply to this message

    Yello!
  396. nan1125 joined the room
  397. @marianatt10:matrix.org left the room
  398. mtx_ac joined the room
  399. alisamix joined the room
  400. mtx_ac
    Hello!
  401. mtx_ac set a profile picture
  402. Alec Larson joined the room
  403. Alec Larson
    what is the URL for private beta server?
  404. mcurrington
    Good morning to everyone! Has anyone got a spare invite I may please take off their hands? I have been interested in BlueSky for some time now. Thanks in advance. Matt
  405. sylphrenetic

    In reply to this message

    I feel like a set number of times they can show up is too restrictive. instead it'd be better to have Representation just be one more factor contributing to Presentation (what I'm calling whether a post is shown to you). that way if you have seen 3 of their posts this week their content has weight against it from the Representation portion of the algorithm, but other factors might overpower it, like if you've selected to see more popular posts than niche ones and this person has a post pop off then you might end up seeing it anyway, because one factor overpowered another.
  406. ngerakines

    Good morning. I've been reading through the spec and am trying to write a small lexicon parser, but I'm seeing some differences between the lexicon documentation and the lexicons.

    The main thing is that the lexicon structure includes top level elements like parameters, input, output, etc. that are nested inside of {"defs": { "main": {} } }. That behavior is described in the lexicon documentation.

    Can anyone shed some light on this?

  407. sylphrenetic

    In reply to this message

    can you specify exactly which fields are at odds?
  408. ngerakines

    Sure, let's take this typescript code from the schema documentation on the lexicon page:

    1234 type: 'query' | 'procedure' | 'record' | 'token'
      // if type == record
      key?: string
      record?: JSONSchema
    

    That would lead me to expect those top level elements, key and record, to either be present (or not) inside of record type structures. Given the type attribute isn't marked as optional (no question mark), I also expect it to be present.

  409. But if I look at https://atproto.com/lexicons/app-bsky-system#appbskysystemdeclaration I see

    1234567891011121314151617181920212223242526{
      "lexicon": 1,
      "id": "app.bsky.system.declaration",
      "defs": {
        "main": {
          "description": "Context for an account that is considered intrinsic to it and alters the fundamental understanding of an account of changed. A declaration should be treated as immutable.",
          "type": "record",
          "key": "literal:self",
          "record": {
            "type": "object",
            "required": [
              "actorType"
            ],
            "properties": {
              "actorType": {
                "type": "string",
                "knownValues": [
                  "app.bsky.system.actorUser",
                  "app.bsky.system.actorScene"
                ]
              }
            }
          }
        }
      }
    }
    

    The type attribute is nested along with the key and record attributes.

    (edited)
  410. So I suppose my question is, is the lexicon json schema definition supposed to be contained within the top level defs/main and if so, can that be documented and the example typescript structure updated?
  411. If that's not the case, then all of the lexicons on the site don't reflect the lexicon documentation.
  412. Alternatively, is there a json schema structure for lexicons themselves?
  413. sylphrenetic
    this might give you a better idea https://atproto.com/specs/lexicon#interface
  414. ngerakines
    Oh that's super helpful
  415. sylphrenetic
    I think you're right that the schema format on this page isn't technically correct https://atproto.com/guides/lexicon#schema-format
  416. but yea that link I gave for the lexicon spec, not the guide, is much more comprehensive on defining each interface
  417. ngerakines
    Yep, I completely missed this. Thanks for pointing me in the right direction.
  418. sylphrenetic
    no prob :)
  419. Shayan Nabi joined the room
  420. sylphrenetic
    I personally do think that the LexUserType interface could be renamed though
  421. ngerakines
    Yeah, that reads more like LexBaseType or something given everthing extends it.
  422. sylphrenetic
    exactly
  423. hadesincarnate
    Will everyone selected from the waiting list recieve the email form mentioned above?
  424. whyrusleeping
  425. Its apparently really hard to send millions of emails
  426. You have to do it slowly and consistently
  427. Brad Brown
    prolly better just to tell everyone to join here and @ you for invites, then 😂
  428. @luizgustavoaf:matrix.org joined the room
  429. hadesincarnate
    Was only asking so I know what to look for in my inbox
  430. @luizgustavoaf:matrix.org
  431. hadesincarnate

    In reply to this message

    Hello!
  432. @luizgustavoaf:matrix.org
  433. hadesincarnate

    In reply to this message

    Join the waitlist on the website
  434. @luizgustavoaf:matrix.org
  435. @luizgustavoaf:matrix.org joined the room
  436. ngerakines

    Ok, one more thing that doesn't seem clear.

    The https://atproto.com/lexicons/com-atproto-handle#comatprotohandleresolve lexicon has the parameters attribute and it doesn't seem to line up with the lexicon schema.

    123456789101112    "main": {
          "type": "query",
          "description": "Provides the DID of a repo.",
          "parameters": {
            "type": "params",
            "properties": {
              "handle": {
                "type": "string",
                "description": "The handle to resolve. If not supplied, will resolve the host's own handle."
              }
            }
          }
    

    Where the lexicon schema looks like this:

    123456interface LexXrpcQuery extends LexUserType {
      type = 'query'
      parameters?: Record<string, LexPrimitive>
      output?: LexXrpcBody
      errors?: LexXrpcError[]
    }
    

    Is that a typo?

  437. Thiago Medwiros joined the room
  438. ngerakines
    According to the lexicon, I wouldn't expect the parameters object to have a type attribute with nested properties.
  439. Thiago Medwiros set a profile picture
  440. ngerakines

    On the Lexicon guide at https://atproto.com/guides/lexicon#rpc-methods, it looks like there is a more accurate view of what that properties structure would look like:

    123456      "properties": {
            "did": {"type": "string"},
            "name": {"type": "string"},
            "displayName": {"type": "string", "maxLength": 64},
            "description": {"type": "string", "maxLength": 256}
          }
    
  441. Anselm Schumacher (@anselm:schumacher.berlin) left the room
  442. Thiago Medwiros
    Hiiii, I came here with the intention of knowing more about this new social network, I don't have a lot of programming skills but I am extremely enthusiastic about new technologies, discovering that this new social network is open source and different from the others, so I'm very interested and curious to find out
  443. timehack changed their display name to Thiago Medwiros
  444. Thiago Medwiros
    I am a bachelor's of mathematics, it may be that this knowledge I have can serve in some way here ,-, (or not)
  445. @reyg0r:matrix.org joined the room
  446. @reyg0r:matrix.org left the room
  447. KlonAmy joined the room
  448. Ryan Silva joined the room
  449. Ryan Silva
    Hello, how do I access the Beta version?
  450. Amane Natsuko joined the room
  451. Konrad Wiktor joined the room
  452. Konrad Wiktor
    hello how do i access to beta?
  453. thrden joined the room
  454. Aaron Goldman
    There are also artists that only post 1 or 2 times a year but I want to know when they do. E.g. national weather service for my zip code.
  455. thrden
    Aaron Goldman: reactive accounts would be wildly cool. Basically mini-apps
  456. Aaron Goldman

    In reply to this message

    The Indexers will probably look less like a crawler and more pubsub like. When a client makes a post they send it to their PDS. Their PDS probably has a list of Indexers and other PDSs that care about that repo and can notify them of the new content.
  457. thrden
    1 weather service, and when you follow it you can pass it some info and it would be able to customize its tweets to you, wildly out of scope
  458. Bob Wyman
    Message deleted
  459. thrden
    but a lovely concept
  460. Aaron Goldman
    Crawling would be slow
  461. A back and forth of replying probably requires a sense of livness
  462. @skarnio joined the room
  463. Antony Batistella joined the room
  464. RichAdams joined the room
  465. masumiaoya joined the room
  466. okihika joined the room
  467. Matheus Webber joined the room
  468. Matheus Webber
    hello how do i access to beta?
  469. hamano joined the room
  470. nighthaven joined the room
  471. nighthaven
    Hello.
  472. Code ?
  473. b0gg3r
    Code: ++++++++++[>+++++++>++++++++++>+++>+++++++++++>++++++++++++<<<<<-]>++.>---.+++++++.-------.>++.>-.<<.+++.+.>.>>+.<++.>----.<<.>---.+++..----.
  474. Ryan Silva
    How can I get the Beta version of the app?
  475. nighthaven

    In reply to this message

    lol
  476. Ryan Silva
    How do I get access to the app?
  477. Ryan Silva
    mine is android anyway thanks
  478. A Japanese nostr engineer developed this service for blower based Bluesky client.
  479. So even Android users can use Bluesky with this service.
  480. @syui:syui.cf
    skylight, i also tried to mention
  481. skylight, singin ok?
  482. nighthaven

    In reply to this message

    If you have an invitation code but no iOS device, you cannot use Bluesky. But with the tools we are Nostrian have created, you can even create an account from any browser. However, this is a different tool from Skylight.
  483. nighthaven
    We, the Japanese Nostrians, need more invitation codes to scale the Bluesky usage environment.
  484. @syui:syui.cf
    ...I don't think the developer has anything to do with the Japanese
  485. Especially in communities where dev gather
  486. b0gg3r
    Countries don't exist on the internet
  487. In reply to this message

    Fuck yeah dude, nice
  488. @syui:syui.cf
    I wanted to express that
  489. nighthaven
    Sure
  490. @syui:syui.cf
    Thank you from the bottom of my heart
  491. radec joined the room
  492. Aaron Goldman

    In reply to this message

    You did.
  493. nighthaven
    Just a joke:) I will also contribute to the development of Bluesky.
  494. @tdelenikas:matrix.org joined the room
  495. sylphrenetic
    one potential feature of the iOS app that I think would really help with adoption in the very near future (esp. with federation coming) is the ability to give someone a list of ATP users to follow and them be able to import it and automatically follow all or a subset of them that they choose. this is kiiind of possible right now in twitter through their "recommended follows" feature which gives you a list of similar users to follow, which I love, but I think to start out the easiest win is just to allow me to create a list of users within the app, give the list a name, and either post the list or be able to share the list via SMS or something, which would be imported by the recipient's app and allow them to select which users in that list they want to follow. I'm envisioning the community creating all these different lists of users they think are good follows for certain kinds of memes, journalism, or certain content creators.
    (edited)
  496. 4ras joined the room
  497. ゆら joined the room
  498. Amin Mansouri joined the room
  499. RichAdams
    Hello everyone
    Please there Is something I don’t understand…
    In the traditional web we have central database to store informations
    In Nostr we have relays that store information
    In the AtProto, where the data are stored ?
  500. RichAdams set a profile picture
  501. richadams changed their display name to RichAdams
  502. hadesincarnate

    In reply to this message

    Make me look you did!
  503. George Antoniadis

    In reply to this message

    In at proto data are stored in data repositories, similar to federated systems like mastodon in that aspect. https://atproto.com/guides/data-repos
  504. RichAdams

    In reply to this message

    So to develop a social media app in atproto I don’t need databases ?
  505. George Antoniadis

    In reply to this message

    If you are building just a client you will only talk to the various servers that will host the data. — I assume that your client will need a local datastore/database in order to keep local caches and improve performance though.
  506. RichAdams

    In reply to this message

    So different servers will host the data…
    But can I run my server that will host all the data related to my client stuffs ?
    And talk to that server by default in my client ?

    Also, can an already existing social media move to atproto and still conserve its business logic ?

  507. George Antoniadis

    In reply to this message

    Atp’s selling point is to allow users to move between clients and repositories and interact with users from other repos. If you don’t want that functionality I think you’d be better off with a more straightforward backend for your app. (This is my personal opinion which might not be shared with others or atp devs)

    As for your second question; Atproto allows you to define your own types in order to extend the existing functionality. Other clients can then add support for those types. That should in theory allow you to match the functionality of an existing social media. Think of them as nostr nips since you seem to be familiar with nostr. Not all clients implement all nips.

  508. evertaoo joined the room
  509. rockinhawke joined the room
  510. rockinhawke set a profile picture
  511. RichAdams

    In reply to this message

    Okay thanks so much 👏
    Another question if you don’t mind :
    Is a data migration possible ? For example form firebase (NoSql database) to repos ?
    The migration will be instanced by the user and the goal is to migrate his data to atproto ?
    Of course by considering that I already added all the nips necessary for this migration ?
    And also… can big companies be created on atproto ? Can a business logic be implemented and money flows out from users interactions ? If yes, then who own this money if I consider that I don’t have a server and I just built a client with transactions and premium subscriptions ?
  512. @evbogue:matrix.org
    What is the premium subscription for?
  513. guedes

    In reply to this message

    don’t ask, just let the question die in the dark and pretend it never happened. the more you think the worse it gets. believe me.
  514. please forget about that
  515. RichAdams

    In reply to this message

    I don’t know if a kind of premium subscription is possible in atproto…

    I don’t understand well the concept that’s why I am asking
    For example a premium feature to add more stuffs like traditional social media

  516. In reply to this message

    Everyone starts somewhere. I started learning these technologies so it’s totally understandable that I don’t get the point…
If you think that it’s in letting the question die in the dark the best solution then thanks.
Maybe someone will help me and teach me
    (edited)
  517. @evbogue:matrix.org
    Well how much do you know already?
  518. @neos21:matrix.org left the room
  519. RichAdams

    In reply to this message

    I started learning traditional manner of doing things in September.
    I am participating in a hackathon where I am creating a traditional social media.I launched it on 20th January for anyone to test it and it’s already working an I have 12K users (testers) on it right now and everything is going well.
    Suddenly in February I heard about nostr while creating it… that’s why I want to restructure it to use atproto or nostr (didn’t decide yet) because I learned basic concepts of these protocols and I think that it’s better than traditional manner of Doing things
    I know how how to make a traditional client-server website, mobile applications (backend and front)
    I know how to make a smart contract and their deployment
  520. George Antoniadis

    In reply to this message

    That’s not very nice :p
  521. In reply to this message

    I think these are outside of the scope of the protocol at this point and would be very specific to the application you are trying to build.
  522. In reply to this message

    My suggestion would be to start small in order to better understand the basic building blocks that are available to you. Check out the protocols in detail, build a basic client for both nostr and atproto and see what it takes and how everything fits together. Nostr will be easy but understanding atproto indepth might be a bit more time consuming due to its internals (see ipld).

    By then you should have a better understanding and more specific questions or suggestions about the protocols.

  523. RichAdams

    In reply to this message

    Okay thanks
    My last question : can a developer get incomes from its client ?
    I mean : if I Create a widely used client: can I get incomes from it ?
  524. George Antoniadis

    In reply to this message

    Nothing stopping you from making a great paid client with features users would be happy to pay for. There are quite a few paid twitter and mastodon clients that offer features the official one did not.
  525. RichAdams

    In reply to this message

    Okay thanks
  526. nekotto joined the room
  527. lino.jr joined the room
  528. Djamkite C joined the room
  529. @therealg:matrix.org joined the room
  530. @therealg:matrix.org left the room
  531. malan joined the room
  532. ngerakines
    Conceptually, I'm trying to understand the relationship between users and repositories. Given the repository at://alice.host.com / at://did:plc:bv6ggog3tya2z3vxsub7hnal, if I create a collection of songs like at://alice.host.com/io.example.song with one of them being at://alice.host.com/io.example.song/3yI5-c1z-cc2p-1a is that unique song record id at://alice.host.com/io.example.song/3yI5-c1z-cc2p-1a going to stay the same if I move to a different repository?
  533. Or is the general idea that a user may move between repositories, but the content created at those repositories is permanently associated with those repositories?
  534. Aaron Goldman

    In reply to this message

    I like to use the analogy of a podcast.
    RSS is an open protocol.
    Any podcast app can pull from any server.
    Any server can serve any podcast app.
    So do you need a server to make a podcast app? No but many will whether it's just for updates or for features like syncing which podcast you listen to.

    You're the client developer is separate from the podcast host.

    At protocol takes this one step further. There are three parties. The app developer. The content controller. And the personal data server.

    The app developer doesn't need a server anymore than the podcast app developer did but they may want to for their own features.
    The PDS personal data server just stores in the repo whatever the content controller wants them to. This could be like producing a podcast or simply rating one.

    The content controller, identified by a DID, uses the applications to create content and adds that content to the repo they control.

    We have transitioned from a two-party web for one party is the server and the other is the client to a three-party web where we have server, client, and content creator.
    Once I have a PDS I could use many apps but those apps don't own my data My data lives in my repository not my applications database. The PDS is serving my data but it is not the PDS's data I can move my data to a new PDS whenever I want.

    Web2: client, server
    Web3: client, controller, server

    The server is still required and most users will want to keep a copy of their data in case their PDS disappeared suddenly but you no longer have to be able to run infrastructure to be a publisher or an app developer just a PDS operator.

    I don't know if that made things clearer or more confusing let me know if I inspired any questions.

  535. spiderham joined the room
  536. RichAdams

    In reply to this message

    Thank you for your explanation. I will copy paste this message somewhere and check it sometimes as I consider it very useful and contains basic terms to explain the concept 👏❤️
  537. Aaron Goldman
    Also since the repo is signed it is self authenticated data so any cache of the data is equally authoritative as getting it straight from the controller's PDS
  538. I should note my definitions of web2, web3 is not universally accepted. It is a somewhat contested term.
  539. ngerakines
    So with all of that said, if a user is on
    pds-one.com
    but wants to migrate to
    pds-two.com
    , because all of the content on
    pds-one.com
    is signed by the PDS, if
    pds-one.com
    goes away, none of the content is able to be verified anymore, right?
    (edited)
  540. Aaron Goldman
    So if the number of existing copies gos to zero the data is obviously gone. If
    pds-one.com
    disappears and you have a copy of your repo you just upload it to
    pds-two.com
    and update your DID Document to point to
    pds-two.com
    and you are migrated. If you don't have a copy of your own repo you would contact the PDSs of your followers and Indexers and ask if one of them has a copy. If you have followers they use different PDSs then it is likely you can find a copy of your own repo on someone else's server.
  541. ngerakines
    So that makes sense with data that isn't signed, but there is a signing key involved. When a user migrates from
    pds-one.com
    to
    pds-two.com
    , is there some sort of negotiation between the user,
    pds-one.com
    , and
    pds-two.com
    to transfer or rotate those private keys?
  542. Aaron Goldman
    The key is rotated by updating your DID Document. the DID method will determine how this is done. did:web - update the website (https) did:plc - update the
    plc.directory
    did:ion - Bitcoin transaction did:key - no rotation sorry ... There are many did methods most of which will never be supported by PDSs
  543. ngerakines
    Yeah, so I guess what I'm really getting at is this question: Is the intention that users have control of and access to the private keys referenced in their DID document?
  544. Aaron Goldman
    It was one of the design goals that you never need your PDSs permission to leave.
  545. Yeah the controller needs to keep a recovery key.
  546. If you let your old PDS sign the repo for you they have that key so you need to rotate away from that key to the new PDSs key.
  547. ngerakines
    Got it, that all makes sense now.
  548. So a "well behaved" PDS will encourage you to create and keep your recovery key, and then use that as part of the account creation process. During migration, clients should handle idea that existing accounts need to rotate keys and use them with the destination PDS.
  549. Aaron Goldman
    PDSs can't assert control of a did:PLC so the client needs to check the did document is signed by the directory.
  550. Well co-signed did PLC is a little more complicated to prevent the directory from rotating keys. The directory doesn't know your recovery key so it can't rotate by it self
  551. ngerakines
    Yeah, that makes sense.
  552. Anselm Schumacher (@anselm:schumacher.berlin) joined the room
  553. ginza changed their profile picture
  554. keyhan joined the room
  555. bnewbold

    In reply to this message

    In the Bluesky beta? Right now you can "mute" users (on the user profile). if there is illegal content it can be reported for "hard takedown" at the infrastructure level, but that is only for extreme (eg, actually illegal) cases. we are still wrapping up our federated moderation system, which will also build on the report workflow. that will get written up when it is ready
  556. bnewbold

    In reply to this message

    we are about to do a polish pass on the lexicons themselves, as perhaps the last "not backwards compatible" changes. some endpoints will be removed, and some things renamed or re-organized. also adding a couple small features to the schema language itself.
    there will probably be an iteration of the docs after that, so they should end up more consistent soon
  557. b0gg3r
    That "hard takedown" is (from a protocol perspective) an operating choice of the PDS?
  558. bnewbold

    In reply to this message

    part of this might slot in with our concept of multiple feeds and multiple feed generators. eg, you could subscribe to a feed with content from a specific community or on a topic, even if you follow nobody (yet)
  559. bnewbold

    In reply to this message

    I think the closest technical analogy is with git. the information is in a repository, and the repository usually ends up with a canonical location (online, always available), but other people often have copies (eg, maybe on your laptop). in bluesky it will be more common than with git to not have a full copy on your phone and just interact remotely ("light client"), but in theory there is nothing preventing a "heavy client" that works on the repo on-device
  560. In reply to this message

    correct, the PDS or any service/infrastructure provider (eg, crawlers, indexers)
  561. bnewbold

    In reply to this message

    these are really great questions!
    it is true that if you use a URI like at://alice.bsky.social/io.example.song/abc123, and are hosted at bsky.social, then move to newsky.io and close your old bsky.social account (or bsky.social shuts down), the old alice.bsky.social handle wlil not resolve and there could be problems. for this reason, we usually try to use the "DID version" of URIs, like at://did:plc:bv6asdf123/io.example.song/abc123, because these will continue to work after any migrations. but, of course, the handle-based URI is more human-friendly.
    another aspect is that you will (soon!) be able to use handles which are domains separate from your PDS host. right now everybody has bsky.social as their PDS and their handle is on *.bsky.social. we are adding support to import so you can use a personal domain like alice2000.io, or something like alice2000.student.uni.edu or whatever, but still have bsky.social as your host. in that situation you could switch to newsky.io as PDS, and the handle would not change. but, we will still allow people to get *.bsky.social handles if they want
  562. by the way, we moved the did:plc registry code to a new git repo, made some small tweaks to the "operation" schema, and have updated docs: https://github.com/bluesky-social/did-method-plc
  563. (oh, or maybe we didn't update README 😅)
  564. bnewbold
    the big change is that there is a single signing key (for writing to the atproto repo), and multiple recovery keys (not just one). the signing key does not have the power to update did:plc by default, but the signing key can be included in the list of recovery keys, and then it can. this can further reduce the trust needed in a PDS service provider, because they would have no power to hijack your did:plc, even if you miss the recovery key "window". having multiple recovery keys gives you the option to use multiple hardware key devices, or an offline key, or delegate to a third party, or any combination of these. the recovery keys have a ranked order of priority. to be transparent, we have not yet implemented behaviors in the client app to create and register a recovery key by default. the default behavior is for the PDS to still have the signing key and recovery key (control of did:plc) by default. the backend stuff is all there, just need to be careful how we do this onboarding flow so folks don't accidentally get locked out permanently
  565. valueclick
    I can access
    Bluesky.social
    (?) from my pc browser! Thank you very much. I will use it.
  566. valueclick
    Message deleted
  567. valueclick
    I am not a developer.
  568. ngerakines
    bnewbold: That makes sense. I was wondering if the recovery key would be some sort of generated key from words like I've seen become popular with zero-trust services and wallets.
  569. valueclick
    MetaMask and Alby are both Wallet, but the notation of the private key that must be memorized is different.I am not a developer.
  570. People who use both Peepeth and Nostr have two wallets. I am not a developer.
  571. ngerakines
    bnewbold / Aaron Goldman: can one of you read through a small doc that I wrote to make sure my understanding of the relationship between signing keys and recovery keys? https://github.com/ngerakines/atproto-rs/blob/main/QUESTIONS.md
  572. ngerakines
    full disclosure: I'm going a little blind by purposefully not looking at other implementations and without access to the beta for the time being.
  573. Aaron Goldman
    The DID is `did:plc:<hash of initial state>` so a client can validate the initial state of the DID Document. Subsequent to the initial state updates need to be signed by the recovery key.
  574. xtianpu

    In reply to this message

    Really? I can't access it.
  575. Is the web client already launched bro Aaron Goldman: ?
  576. bnewbold
    when things stabilize a bit more we can write some simple cross-language interop tests. it would be great to eventually have a full protocol test suite ("acceptance tests"), but that is a bunch of work
  577. ngerakines
    yeah
  578. bnewbold
    ngerakines: your notes mention handles with "@" in front. technically the handle is the full domain, with no "@"; that is just a convention for display. we might be automagically handling @handle and prefixes (not full-qualified handles) in some endpoints, but I wouldn't rely on that
  579. Julia Hung joined the room
  580. @unyyyuuuuuu:matrix.org joined the room
  581. valueclick

    In reply to this message

    The name of the web app is not "Bluesky", but I was able to jump to it by stepping on the URL in front of this page.
  582. zq changed their display name to Asher
  583. Asher set a profile picture
  584. narendasan joined the room
  585. valueclick
    With the web app, I can access Bluesky from Android without the Android app. This helped me too. I have an iPhone and an XPERIA. I am not a developer.
  586. b0gg3r
    If this continues without someone posting a link, I'm forced by company policy to presume you are a troll
  587. @evbogue:matrix.org
    Well anyone can sign a hash, so there is nothing to troll
  588. amazingca

    In reply to this message

    I don’t think it’s currently possible to view Bluesky’s web client as it is currently in development. But there’s some third party adaptations that work pretty well.
  589. Super Frogs joined the room
  590. Ricardo Grego joined the room
  591. kakakaya joined the room
  592. avenue-photography joined the room
  593. janniks joined the room
  594. janniks
    Any invites available? Would love to test and try to develop on this protocol 🙏🏻
  595. kottilabo joined the room
  596. amazingca

    In reply to this message

    Dm whyrusleeping
  597. arunwadhwa

    In reply to this message

    Didn’t someone create a web interface to preview BlueSky posts?
  598. George Antoniadis

    In reply to this message

    Only one I've seen is https://blue.amazingca.dev might -- have been snarfed ? sorry don't recall
  599. arunwadhwa

    In reply to this message

    Yep, that’s the one I saw.
  600. It’s funny I was talking about amazingca’s wrapper while replying to amazingca only. 🙈
  601. arshs joined the room
  602. amazingca

    In reply to this message

    Also a pretty good one
  603. arshs
    Message deleted
  604. arshs
    I'm a dev building at Harvard, just tried to dm an admin and message is incapable of being delivered. Wanted to join Bluesky so I could learn more about AT as well <3 can anyone assist? whyrusleeping ?
    (edited)
  605. Thanks for making something awesome arcalinea and team :)
  606. Grateful!
  607. @kachu:matrix.org left the room
  608. kcchu joined the room
  609. kcchu set a profile picture
  610. os7on joined the room
  611. os7on
    Please can anyone help with a Bluesky invite code?
  612. foxytanuki joined the room
  613. foxytanuki set a profile picture
  614. sylphrenetic
    are DMs supported by ATproto, or will those be tackled individually by applications? it seems like from looking at the ATproto repo that all of the lexicons for objects like posts and reposts are defined at the application level, namely the app.bsky lexicons for now. are those lexicons intended to be used as a part of the base protocol, just as like default implementations, or are they exclusively used by Bluesky the application, and other applications need to define their own lexicons, including DMs?
  615. ben-geometry joined the room
  616. sylphrenetic
    another question. re: moderation, I see from here https://atproto.com/guides/overview#algorithmic-choice that content discovery is governed by indexers. could I then understand indexers to basically be servers that provide the output of algorithms to an application at certain endpoints, and that applications call these endpoints to receive the latest feed based on which algorithm they choose? or do indexers themselves not do any filtering, algorithms must live on separate servers which pull all data from indexers and then applications would need to follow the endpoints from the algo servers and not the indexers themselves?
  617. Soohan Park (Heartade)

    In reply to this message

    My understanding is that indexers only do indexing and pds providers provide algorithms based on the data on the indexers
  618. In reply to this message

    Other apps can use app.bsky lexicons, and it will likely be the case when other apps emerge. But bsky doesn't have stuff like DM and private posts for now if I remember correctly
  619. Soohan Park (Heartade)

    In reply to this message

    Amazing work!! I was thinking I should make one but you got it before I even started lol
  620. Aaron Goldman

    ngerakines: there are three ways to do a recovery key that makes sense to me. (Not necessarily atproto)

    1: hardware TPM has a non-extractible key. You must have the hardware to use the key. Examples Yubikey (FiDo key), phone, laptop.

    2: Long strong seed words. Example https://www.eff.org/dice EFF's Short Wordlist #2 [.txt] has 1296 words that is 10.3 bits of entropy per word. 25 words is 258.4 bit so plenty for a 256 bit key. Just use sha256 or whatever to hash to a 256 bit key.

    3: Salted Slowed key derivation. Pick a random 256 bit public salt and a slow key derivation function like PBKDF2, bcrypt or scrypt. Use the public salt and your seed words to generate the secret key. Store in your DID Document both the public key and the public salt. When you need to regenerate the recovery_key pull the DID Document find your seed words and regenerate the key.
    Since this process is slow and individualized, we need far less entropy in the seed words. Most of the entropy is provided by the public salt. 6-8 word from EFF's Short Wordlist #2 would be sufficient for your seed words giving you 62-82.7 bits.

    60-80 bits would not have been enough if we were using a fast hash and no salt as someone could generate billons of billons of keys hoping to find a valuable one but it plenty of entropy if they have to attack your specific public salt by running a slow function billons of billons of times.

    So hardware TPM, 25 seed words fast hash, or 6 seed words + 256 bit public salt slow hash would be how I would store the recovery key.

    Specifically I would use a physical piece of paper with the did:plc:ex234 and the 6 seed words printed on it and the public salt in the DID Document next to the recovery key. e.g. did:key:z6MknqfvFLUGULzfP2KSV1mquSzfkUZizuPefmePx5xRVi9X#recovery_key_4b503e0cb36927afec3b9081d518fb9007be35dfe327dd904b7c21d43471c07f

  621. arunwadhwa

    In reply to this message

    How about implementing something like Apple Passkeys? https://developer.apple.com/passkeys/
  622. Aaron Goldman

    In reply to this message

    Passkey is an extractible FiDo key stored in the Devices TPM. The advantage of extractable FiDo keys is that you can sync them e.g. iCloud. The advantage of non-extractable keys is you know your key is not clowned somewhere else.
    But yes, this is also a viable option and when you authorize a new device as a recovery device you don't need to update the DID Document with the new devices key you just copy the key to the new TPM.
  623. bip-0039 is also a good choice for word list if you care more about an integer number of bits then easy dice generation of the secret https://github.com/bitcoin/bips/blob/master/bip-0039/english.txt
  624. Aaron Goldman
    but I like https://www.eff.org/dice EFF's Short Wordlist #2 [.txt] 😁
  625. Wilmer Alzate Roman joined the room
  626. Alec Larson set a profile picture
  627. Thib changed their display name to Thib (away on March 7 ✊)
  628. Aaron Goldman
    oh look, dids are being moved between domains https://plc.directory/export?after=2023-03-06T18:45 😄
  629. @cesvlc:matrix.org left the room
  630. Aaron Goldman
    Side note: @Chrome application/jsonlines is a text file not a binary. Don't download it show it. This is why people use application/jsonlines+json which is a lie but at least chrome shows it.
  631. jmcasey
    For any other smartarses out there, I would recommend waiting for Daniel Holmgren 's guide for updating your handle lest you bork your bsky account
    (edited)
  632. @unyyyuuuuuu:matrix.org left the room
  633. mkloouo joined the room
  634. panji.bsky.social joined the room
  635. panji.bsky.social
    Is bluesky social available on android yet?
  636. PascalCGN joined the room
  637. Aaron Goldman
    Available is a fuzzy term in an open system https://blue.amazingca.dev
  638. panji.bsky.social
    I am still waiting for invite code. Like years ago. Is theres other solutions?
  639. amazingca
    Dm whyrusleeping
  640. jmcasey

    In reply to this message

    (issue mostly resolve but edges are a lil bloody)
  641. josuesantos

    In reply to this message

    Also gonna know
  642. panji.bsky.social
  643. In reply to this message

    syui: is it normal?
  644. b0gg3r
    Yup, that's live and worked
  645. @syui:syui.cf
  646. @syui:syui.cf

    How do you do the domain name handle?

    123{
      "did": "did:plc:uqzpqmrjnptsxezjx4xuh2mn"
    }
    
  647. dns ?

    1txt : _atproto.exmaple.com, did=did:plc:uqzpqmrjnptsxezjx4xuh2mn.
    
  648. @syui:syui.cf
    oh, done
    com.atproto.handle.update
  649. amyli joined the room
  650. Amy Li changed their display name to amyli
  651. amyli
  652. @syui:syui.cf
  653. heylo joined the room
  654. jmcasey
    You can confirm a successful handle rotation here: https://plc.directory/export?after=2023-03-06T23:00
  655. Thanks Aaron Goldman , didn't realise that was available
  656. @syui:syui.cf
    thx!
  657. avrong joined the room
  658. @l_tan:matrix.org joined the room
  659. @l_tan:matrix.org joined the room
  660. al-1s joined the room
  661. okome joined the room
  662. Seth joined the room
  663. @evbogue:matrix.org
    Yah changing your signing key means signing your new public key. It'd be cool to have a browser app.
  664. panji.bsky.social

    In reply to this message

    on iOS/android or web?
  665. @evbogue:matrix.org
    It shouldn't matter
  666. If it doesn't work on a boat with whatever computer you have, scuttle it.
  667. @syui:syui.cf
  668. err : username -> mail login
  669. Some clients may not support
  670. Aaron Goldman

    In reply to this message

    Not sure whether I understand the question. The repo's are authenticated data so you can validate them no matter how you got them. If a client had nearby or airdrop you should be able to gossip around the repo's.

    Granted the demo client in beta now doesn't support local network connections it bounces everything off the PDS. You would need a client that held an account locally rather than server side signing.

  671. Actually now that I think about it. Even with the server side signing configuration you couldn't publish new commits but you could still gossip around any already signed ones.
  672. @evbogue:matrix.org
    Messages can be signed everywhere by anyone.
  673. Aaron Goldman
    Anyone with the keys sure.
  674. @evbogue:matrix.org
    And they all can have them.
  675. Aaron Goldman
    The PDS is responsible for ordering events so if something is signed by the account key but not timestamped by the PDS it's like read-uncommitted. The update is not final until the PDS orders the commit. But if I am going into database consistently models we should probably go to a thread and not the main channel. I don't think most people here care
  676. @evbogue:matrix.org
    Everytime I hear PDS I think Twilight Imperium.
  677. But yah, distributed everything is not hard!
  678. Make a keypair
  679. Sign a message
  680. What everyone is asking for is equality in their appspace
  681. Not some Macintosh-stuck exclusive universe where someone else signs their messages
  682. Build a castle, it will sign your messages. When a boat will do!
  683. Aaron Goldman
    We have a CAP theorem choice. If we want Available then sure distribute the keys sign locally. If we want Consistent then you need a consensus group, here the PDS. Both choices are reasonable for different applications.
  684. @evbogue:matrix.org
    You can have all of it.
  685. And on all platforms
  686. Aaron Goldman
    Is this the Twilight Imperium you are referring to? https://en.m.wikipedia.org/wiki/Twilight_Imperium Playing time 5–14 hours, 😨
  687. @evbogue:matrix.org
    Dude, epic
  688. You ever want to play a 12 hr board game
  689. Call me
  690. But PDSs defend the planets in the game
  691. Aaron Goldman
    As long as it's shorter than Axis and Allies. I have never gotten to the end with at some point giving up and agreeing to ignore some of the rules.
  692. @evbogue:matrix.org
    I'm pretty sure it's longer
  693. Aaron Goldman
    Ah, Planetary Defence Systems
  694. @evbogue:matrix.org
    and we gotta have 6 players
  695. Otherwise the game doesn't work
  696. Seems kind of offtopic, but actually 10 years ago I got into signing and hashing because of that game
  697. Aaron Goldman
    I wander who will build the first board game over AtProto app. 🤔
  698. snarfed
    for everyone jumping the gun on rotating their bluesky dids onto their DNS domains: any idea how the PDS handles the initial *.
    bsky.social
    username you rotate off of?
  699. ie, is it freed up for other users? or is it blocked for future use for now?
  700. @evbogue:matrix.org
    Ok so to explain web5. You generate a keypair and sign a hash of a message. If you want a human readable pointer to the public key that can be whatever.
  701. Generically, sans Macintoshes
  702. Like I email my mom all the time. "hey my pubkey is ezVThYBx5hoRMnVB1uAF+WT5t9soXvbxUqq0j8tMEZI=
  703. No PDS needed
  704. And if I want to establish a new identify I just generate a new pubkey and sign off on the old one
  705. Aaron Goldman
    How do you rotate the key? Can you keep the same identifier?
  706. @evbogue:matrix.org
    Not if you use cryptography
  707. You have to start with one and then link to the next one
  708. And really
  709. 99% of uxers just lose their private keys anyway so
  710. You might as well give them a username and password
  711. Teach them cryptography
  712. Aaron Goldman
    Not sure I follow. I was thinking about the scenarios where a user gets a new phone and wants to de-authorize the old one.
  713. In did:plc they would sign an operation that adds the new key and removes the old key. The DID stays the same.
  714. @evbogue:matrix.org
    It doesn't work
  715. Or do anything
  716. Unless you build a castle with a king who decides what is what
  717. Aaron Goldman
    Or a council of barons did:keri https://identity.foundation/keri/did_methods/ Or a council of hash power did:ion https://identity.foundation/ion/
  718. @evbogue:matrix.org
    Or you can just generate keypairs
  719. Which verify
  720. And hashes
  721. Which verify
  722. Aaron Goldman
  723. @evbogue:matrix.org
    In Twilight Imperium, you don't want anyone else controlling your PDSs
  724. whyrusleeping

    In reply to this message

    It does appear to be freed up, we’re gonna discuss the implications there tomorrow
  725. Maybe it makes sense to “freeze” the handle for some time period
  726. snarfed
    definitely, some time period or maybe even permanently
  727. Aaron Goldman

    In reply to this message

    oy
  728. snarfed
    (thanks!)
  729. whyrusleeping
    But also if we do that then we need to limit how often people can change handles
  730. snarfed
    this is the road toward the "welcome to hell" of social networks: policy and its implementation
  731. not the fun parts of plumbing or product development, but it crops up pretty quickly once you have real people doing real things. whee!
  732. @evbogue:matrix.org
    so say we all
  733. whyrusleeping
    Yeah… we’re aware of the path weve chosen to walk
Next group of messages