daniel 🫠
@dholms.xyz
24K followers 1K following 3.8K posts
dreaming of protocol level sovereignty bsky team 🌅
Posts Media Videos Starter Packs
Pinned
dholms.xyz
This is an article that I've wanted to write for over a year, and I finally got the chance to do it!

Atproto Ethos is a deep dive into how we think about protocol design - its influences, the core innovations, and the opinionated takes that we've adopted
Atproto Ethos - AT Protocol
A deep dive into the philosophical and aesthetic principles underlying the design of AT Protocol.
atproto.com
dholms.xyz
hmm i think the sync tool has a much narrower job

it's trying to be a lightweight/flexible offloader for doing the sync bit of AT and then hand off control to the application

my understanding is slices is a much more full stack solution that handles record-indexing & api generation
dholms.xyz
you can say that again

sending strength & love 💙
dholms.xyz
sounds pretty incredible tbh

i'll save it for a gloomy saturday this winter lol
dholms.xyz
yeah i need to watch the film - just gotta find 7 hours for it 😅
dholms.xyz
blood meridian makes you trudge through it in the hot sun, satantango let's it seep into your bones in a cool damp spider-infested corner
dholms.xyz
it's funny it came out the same year as blood meridian because they really remind me of each other -

both exploring shattered myths, the despair of the material/rational world & the allure of its false salvation and yet (imo) gesturing toward some hope of finding the infinite in it
dholms.xyz
type of book you wish you could read in the original hungarian, but i have to imagine the translation does it some type of justice because it's a very powerful read

takes a second to get going but once you do the writing sucks you into this weird depressed/paranoid/labyrinthine state of mind
dholms.xyz
lower than that, it's just bounded by the feasibility of "mining" a key with a large number of leading 0s. bitcoin blocks are like ~80 leading zeros rn so if you threw the whole hashpower of the bitcoin network at mining MST keys you could make an MST with height 40 in about 10 minutes
dholms.xyz
key height is determined by hash value. AT uses a 2-bit grouping scheme & sha256 so it's hard bounded at a height of 128
dholms.xyz
it's not "sqlite backend", it's "sqlites (plural) backend"
dholms.xyz
i'm hoping we can wrap this up in a real simple one-click deploy for something like railway/fly.io
dholms.xyz
ah got it got it

yeah the output would be validated operations for your application to consume. basically it should handle all the AT stuff and just hand the application "this record was created, this record was deleted"

then the application can do whatever indexing it wants to
dholms.xyz
probably not regex, but will allow filtering based on collection!

this would probably be a small stateful service that a developer runs and then exposes the validated/filtered stream as either a websocket or webhooks to their application
dholms.xyz
really anyone that needs to sync some subset of the network. mainly have applications in mind. should work for anything from bluesky-sized appviews to new small applications

and no haven't landed that stuff yet, but it is on the radar!
dholms.xyz
it would make it easier to build alternate apps

essentially what Rudy describes here would be more approachable

bsky.app/profile/rude...
rude1.blacksky.team
I hear and see your concerns. Over the weekend, a couple users hosted on Blacksky's PDS were banned from the Bluesky app and thus the Bluesky API servers. This was a weakness of our system I've been aware of and hoped we had more time to address before any kind of public incident. 1/11
dholms.xyz
nice thanks for the feedback

and yeah cutover sucks, helping with that is one of my main goals!
dholms.xyz
no

(but i am dusting off my Go for this one)
dholms.xyz
not yet! i'm hoping this is something we can get to in maybe 2-3 mo time. i'll try to post updates as we get to it, but if you have any thoughts in the meantime i'm eager to hear them

fwiw, i think it'll always be worth it to have a non-PDS migration utility esp in the case of adversarial migration
dholms.xyz
totally! it should work downstream of anything that has a firehose
dholms.xyz
we're gonna need a bigger truck
dholms.xyz
goals contd:
- does all the sync 1.1 semantics including resyncing desynchronized repos
- this is a tool we distribute not a service we run
dholms.xyz
some goals:
- this does the full lifecycle of backfilling for your app & then handling the firehose - including the cutover
- dynamically configurable to sync only certain DIDs/collections
- handles cursor management & offer other interfaces to sends events to your application (like webhooks)