I updated my browser demo to use the new Jetstream just now - hit "connect" and scroll down the page to see the events flowing past: https://tools.simonwillison.net/bluesky-firehose
This is new jetstream:
wss://jetstream.us-east.bsky.network/subscribe
In case of data loss, replaying the jetstream was not possible. This v2 with history is perfect.
Google's task is much easier on this one : they only show those who've paid ads at high zoom (well at least, that's what we can guess). We're trying to be exaustive, but it's too much in this case.
https://codeberg.org/cartes/web/issues/2661#issuecomment-210...
We could use this to fix some of DNS's long running problems. Like, we could add upstream cryptographic signatures to DNS records. And put TLS certificates in there too. We might be able to ditch TTL entries. In a DNS server, records should update via server-push from the firehose. You shouldn't have to wait for TTL to expire.
I think it'd make a nice little system.
---
There are at least three parts that you'd need to solve:
1. AFAIK there is no single globally canonical Firehose. Different relays aggregate different sets of PDSes, and some might decide not to include your PDS if they don't like your content. The Firehose also isn't really the authority here. It transports signed updates from account repositories.
2. In theory you could make up a new kind of DNS record instead of NS, called PDS, PLC, or something. You'd ask your TLD registry to publish something like `PLC <did>` instead of the NS records for your DNS server.
The value should probably be the account DID (that's the PLC mentioned above), rather than the address of its PDS. The account DID is the stable identity that signs the repository updates. The PDS is just the server currently hosting that account's repository, and its address can change.
3. You then have a bootstrap problem. To get from an account DID to its PDS, you resolve the DID document and look for its `#atproto_pds` service entry. But `did:web` resolution uses HTTPS and therefore DNS. `did:plc` uses the PLC directory, but reaching that directory and then reaching the PDS URL also normally requires DNS.
So the DNS replacement would depend on the old DNS system to discover the server containing its DNS records.
---
Then, as an example, Google's DNS resolver at 8.8.8.8 would subscribe to one or more Firehoses, index DNS records from account repositories, and verify that their updates were signed by the DID named in the registry record.
Querying would then be something like: you look at the top-level record for the domain, see that there is no NS entry, find the PDS or DID entry, and look in your local Firehose-derived database for DNS entries signed by that account.
If the records aren't there, you might resolve the DID, find the current PDS, and fetch the repository directly. But that brings you back to the bootstrap problem.
Maybe the registry record would need to include both the DID and some kind of glue-like PDS address. Or perhaps the new system would need an independent way of resolving DIDs and locating PDSes without using DNS. I'm not sure what that would look like, especially once you include PDS migration and key rotation, but I think this is an additional part the proposal would need to solve.
/shrug
If I'm understanding this codebase right, it's a hand-rolled framework based on MDX and Next.js; the UI elements you're referring to were designed from scratch and aren't based on any existing CMS theme.
I disable animations entirely on devices I use where possible. They just waste time and that adds up if you use something regularly.
Despite all the openness and github repos and what not it's very difficult to get straight answers or just like find a place where issues or changes to the platform are addressed easily.
Related:
Bluesky's active user base is shrinking as its focus expands beyond the app
Then I had to add bsky support when everyone and their mother migrared there. I used the atproto Python library and holy smokes, whener I need to touch that part of the code I feel sad.
Didn't they terminate free API access? How does your client work?
Also the VC-backed funding for this infrastructure will run out eventually. It's not self-sustaining, and Bluesky have no viable route to profitability.
We haven't had many of the good sets of these to get any proof
I use Bluesky regularly and have a fine experience. Yes, there’s an irritating minority of users. But so goes any social network, Twitter especially. At least the owners of Bluesky aren’t espousing Great Replacement Theory…
Of course, the same applies to whatever remains of Twitter now.