Those arguments are applicable to X as well, though.
1. Your username can be your website. On Bluesky, domain verification (by DNS) maps to a `did:plc` identifier – ˋAppView`s (bsky.app, the Bluesky smartphone app, etc.) only look up to plc.directory, a “database” owned by Bluesky. For your username to REALLY be your domain name, Bluesky would need to support the `did:web` kind of identifiers, which they don’t. In short, your username maps to an internal database, which is what X does too.
2. Bluesky’s basically Twitter before it needed to give money back to investors. I’d bet money that we will be seeing more broken features ten years from now when Bluesky will have to focus on how to give the money back to investors.
(Yes, I am slightly biased towards ActivityPub, even though Bluesky has better architecture.)
The AT Protocol supports it (in the “standard”), but Bluesky itself doesn’t, at least not yet.
Let’s say you are the owner of the example.org domain, and would like to federate your content to the Bluesky servers. The Bluesky servers are currently unable to make use of a `did:web:example.org` DID (that would induce a request to https://example.org/.well-known/did.json).
All you can do is tell all the Bluesky AppViews that your @example.org nickname is an alias to your `did:plc` in Bluesky’s plc.directory “database”. So it’s just a local mapping between a domain and an account, that’s somehow secured by a DNS verification (but non-techies don’t know it, and someone on X could very well make use of your domain as a local nickname too).
This is the reason I initially got on the waitlist to join Bluesky.
11 years ago I made a social media aggregator where users had to have a verified domain to join - think using your domain as username and using you domain to authenticate your social media profiles. My show HN: https://news.ycombinator.com/item?id=6529523
This probably sounds silly but in the end I didn’t actually use Bluesky because they don’t support emoji domains.
Did you try using the emoji domain as-is, or did you use the punycode version? e.g. <US flag>.com vs xn--w77hd.com
Because I can imagine them not implementing support to limit lookalike codepoints being used in handles, or they just hadn't gotten around to supporting punycode in their domain verifier.
I attempted both the emoji character and punycode.
Emojis are tricky, most domain registrars can’t get them right, most browsers can’t get at least some right (usually the ones with ZWJ characters.
So by no means a knock on Bluesky, but I was waiting for an invite code for so long just to be able to use an emoji as my identity.
Not directed at you, but not sure why my initial comment was downvoted, it’s pretty damn hard for new social media platforms to get users from other platforms - and as domain identity/usernames is a main competitive feature and I was super excited then didn’t end up using it, sharing my experience might be worth more than downvoting
Well, the last time I checked (it was 2 years ago so maybe something has changed since), all of the emojis were explicitly on the list of codepoints that are prohibited from appearing in IDNs. So all those domain registrars that accept emojis in the domain names just simply didn't bother to read the standards they were supposed to implement.
Yes I believe that is correct emojis are not IDNs; however, ICANN authorizes ccTLDs support emojis separately I think it’s just considered punycode.
Only about a dozen ccTLDs have authorized support for them and allow them to be registered.
Browsers support them, it’s just certain emojis a nearly universally problematic and don’t resolve. Otherwise long as the ccTLD supports DNSSEC the emoji domain names support DNSSEC just the same include those that don’t resolve it browsers.
ICANN rules allow ccTLDs to create emoji/punycode domains - domain registrars and TLD owners are not going rouge and allowing registration of domains in violation of ICANN rules or policies.
Not sure if you know Ben he’s launched a lot of small projects here on HN a few hitting front page and going viral in the HN/product hunt communities, but one of them was Mailoji - basically a cool story of him registering hundreds of single emoji domains and creating email (forwarding) service with them. As one might imagine it didn’t just go viral on HN/product hunt but on TikTok with the kids.
As far as Bluesky they definitely could support emoji domains, I understand the argument that it takes extra effort to do that and they may not see it as worth the time and effort - but I’d be more open minded about the opportunity and appeal to younger users.
> ICANN rules allow ccTLDs to create emoji/punycode domains
Well, they can't prohibit it, strictly speaking, they don't have such authority, but I remember them strongly discouraging it and advicing against delegation of such domains. Did something change their stance? I'd like to read that.
And the rules of IDNA2008 certainly did not change, they still prohibit emoji in domain names.
I jumped on Bluesky, Mastodon and Threads during earlier exodi. They all waned for various reasons (Mastodon was slow and unreliable, Threads was basically an Instagram feed of nothingness, and Bluesky was dead at the time).
This wave does feel very different though. People joining in large numbers (I gained more followers in a day than in a year on Mastodon). The Bluesky app itself is actually very nice. Twitter is becoming more and more unbearable with the force-feeding of ads and totally broken search (that's without even mentioning the post-election environment).
You might be right, but I do feel like this time is different. Let's check back in 12 months and see.
@nickfisherau.bsky.social if anyone wants to say hello.
Agree, mastodon always had a big UX problem and threads never gives me anything I want. I’ve actually really been enjoying bsky, it has the early social network feel right now where everything is just fun
I wonder if instead of black+repeating images (assumption here is that's the display and not an artifact of the firehose, the same unique image often repeats a lot in the same short instance) it'd be cleaner to have some sort of exponential backoff queue (the closer it is to empty the slower it empties like 0.5s/numInQueue, last element in queue will wait no less than 0.5s but also wait for the next element to queue). This would make the flow a bit more consistent, never blank, and never repeating.
Is there any way to make it flash less? I'm not epileptic, and I appreciate that you put a warning first, but it's still highly unpleasant after around 2 seconds. If I could look at it for a bit long it would be a cool experiment.
I have an important account on Twitter where I publish manually posts, thoughts, links, announcement, etc. I tried to look for a way to crosspost to Threads and Bluesky automatically, but I couldn't find anything. Any suggestions?
I found Yup but I don't want to change the place where I originally post. I want to keep posting on Twitter using the web interface, and then automatically replicate that in Bluesky and Threads. I think it may not be possible due to the lack of Threads API.
I mean, the punch line of this post is that the "firehose" of even a successful social network is trivial to handle. Even Twitter at its pinnacle of popularity barely breached ~10000 posts/second intraday peaks. If you only want to observe and transiently store such traffic you barely even need a computer.
I was consuming the full authenticated firehose (not jetstream) with tens of megabytes of RAM with python+sqlite (unfortunately I ran out of bandwidth on my cheapo VPS, I've yet to refactor to use jetstream instead)
I dont understand why I would build on bluesky when it seems like it would have the same medium term issues that the twitter api had anyway, but enjoy it while it lasts I guess.
Are there efforts to build a similar type of network which rewards running a public relay? I'm not sure how, for instance, Mastodon solves this problem
In Activity Pub each node is essentially the full stack of what ATProto breaks up into individual entities. This means that each node in the fediverse is incented to connect to other nodes in the network, to provide good coverage to their users.
decentralized social media is the achilles heel of democrats. they just keep throwing themselves at it and it never works and never will work. while democrats work feverishly on this concept, X continues to grow daily. i would put money on this if polymarket hadnt just been the victim of a politically motivated FBI raid…
Two reasons to like BlueSky:
1. Your username can be your website. I'm @bradgessler.com.
2. Copy and pasting images into a message works on iOS (this has been broken on X/Twitter for a long time).
There's more reasons to like it, but these two feel pretty great.
I put a Ruby hacker starter pack together if you're looking for a way in:
https://go.bsky.app/HXB2cPh
There's tons of other ones and communities as well.
> Your username can be your website. I'm @bradgessler.com.
But more importantly, you have to verify that you own the domain. I can't sign up as google.com
Was it on Nostr that someone realized "s3.amazonaws.com/.well-known" was a valid unused bucket name and did that?
Nope, bluesky itself
https://chaos.social/@jonty/110307532009155432
https://news.ycombinator.com/item?id=35820815
Those arguments are applicable to X as well, though.
1. Your username can be your website. On Bluesky, domain verification (by DNS) maps to a `did:plc` identifier – ˋAppView`s (bsky.app, the Bluesky smartphone app, etc.) only look up to plc.directory, a “database” owned by Bluesky. For your username to REALLY be your domain name, Bluesky would need to support the `did:web` kind of identifiers, which they don’t. In short, your username maps to an internal database, which is what X does too.
2. Bluesky’s basically Twitter before it needed to give money back to investors. I’d bet money that we will be seeing more broken features ten years from now when Bluesky will have to focus on how to give the money back to investors.
(Yes, I am slightly biased towards ActivityPub, even though Bluesky has better architecture.)
As far as I know BlueSky does support did:web
https://atproto.com/specs/did
The AT Protocol supports it (in the “standard”), but Bluesky itself doesn’t, at least not yet.
Let’s say you are the owner of the example.org domain, and would like to federate your content to the Bluesky servers. The Bluesky servers are currently unable to make use of a `did:web:example.org` DID (that would induce a request to https://example.org/.well-known/did.json).
All you can do is tell all the Bluesky AppViews that your @example.org nickname is an alias to your `did:plc` in Bluesky’s plc.directory “database”. So it’s just a local mapping between a domain and an account, that’s somehow secured by a DNS verification (but non-techies don’t know it, and someone on X could very well make use of your domain as a local nickname too).
I would appreciate being proven wrong, though!
This is the reason I initially got on the waitlist to join Bluesky.
11 years ago I made a social media aggregator where users had to have a verified domain to join - think using your domain as username and using you domain to authenticate your social media profiles. My show HN: https://news.ycombinator.com/item?id=6529523
This probably sounds silly but in the end I didn’t actually use Bluesky because they don’t support emoji domains.
Did you try using the emoji domain as-is, or did you use the punycode version? e.g. <US flag>.com vs xn--w77hd.com
Because I can imagine them not implementing support to limit lookalike codepoints being used in handles, or they just hadn't gotten around to supporting punycode in their domain verifier.
I attempted both the emoji character and punycode.
Emojis are tricky, most domain registrars can’t get them right, most browsers can’t get at least some right (usually the ones with ZWJ characters.
So by no means a knock on Bluesky, but I was waiting for an invite code for so long just to be able to use an emoji as my identity.
Not directed at you, but not sure why my initial comment was downvoted, it’s pretty damn hard for new social media platforms to get users from other platforms - and as domain identity/usernames is a main competitive feature and I was super excited then didn’t end up using it, sharing my experience might be worth more than downvoting
Well, the last time I checked (it was 2 years ago so maybe something has changed since), all of the emojis were explicitly on the list of codepoints that are prohibited from appearing in IDNs. So all those domain registrars that accept emojis in the domain names just simply didn't bother to read the standards they were supposed to implement.
Yes I believe that is correct emojis are not IDNs; however, ICANN authorizes ccTLDs support emojis separately I think it’s just considered punycode.
Only about a dozen ccTLDs have authorized support for them and allow them to be registered.
Browsers support them, it’s just certain emojis a nearly universally problematic and don’t resolve. Otherwise long as the ccTLD supports DNSSEC the emoji domain names support DNSSEC just the same include those that don’t resolve it browsers.
ICANN rules allow ccTLDs to create emoji/punycode domains - domain registrars and TLD owners are not going rouge and allowing registration of domains in violation of ICANN rules or policies.
Not sure if you know Ben he’s launched a lot of small projects here on HN a few hitting front page and going viral in the HN/product hunt communities, but one of them was Mailoji - basically a cool story of him registering hundreds of single emoji domains and creating email (forwarding) service with them. As one might imagine it didn’t just go viral on HN/product hunt but on TikTok with the kids.
As far as Bluesky they definitely could support emoji domains, I understand the argument that it takes extra effort to do that and they may not see it as worth the time and effort - but I’d be more open minded about the opportunity and appeal to younger users.
> ICANN rules allow ccTLDs to create emoji/punycode domains
Well, they can't prohibit it, strictly speaking, they don't have such authority, but I remember them strongly discouraging it and advicing against delegation of such domains. Did something change their stance? I'd like to read that.
And the rules of IDNA2008 certainly did not change, they still prohibit emoji in domain names.
It’s going to go the way of Threads and Mastadon. Lukewarm results at best, but glad you are enjoying it.
I jumped on Bluesky, Mastodon and Threads during earlier exodi. They all waned for various reasons (Mastodon was slow and unreliable, Threads was basically an Instagram feed of nothingness, and Bluesky was dead at the time).
This wave does feel very different though. People joining in large numbers (I gained more followers in a day than in a year on Mastodon). The Bluesky app itself is actually very nice. Twitter is becoming more and more unbearable with the force-feeding of ads and totally broken search (that's without even mentioning the post-election environment).
You might be right, but I do feel like this time is different. Let's check back in 12 months and see.
@nickfisherau.bsky.social if anyone wants to say hello.
Agree, mastodon always had a big UX problem and threads never gives me anything I want. I’ve actually really been enjoying bsky, it has the early social network feel right now where everything is just fun
Perhaps, but I haven’t seen this level of momentum and consensus behind a text-based social network since early Twitter.
Time will tell—ultimately it’s a self-fulfilling prophecy. If people “believe” and sign up, it will happen.
Ooo we're back in the old good days of twitter again! The time where you could build against it and do things.
I wrote a contest winning bot back at one tie:
https://theexceptioncatcher.com/blog/2015/11/how-i-got-my-bo...
The bsky firehose is really fun and feels like a misty-eyed throwback to 2005.
I used it last weekend to throw together this very silly little thing: https://bigmood.blue/
Very nifty, I like it quite a bit.
I wonder if instead of black+repeating images (assumption here is that's the display and not an artifact of the firehose, the same unique image often repeats a lot in the same short instance) it'd be cleaner to have some sort of exponential backoff queue (the closer it is to empty the slower it empties like 0.5s/numInQueue, last element in queue will wait no less than 0.5s but also wait for the next element to queue). This would make the flow a bit more consistent, never blank, and never repeating.
Also if images kept their aspect ratio.
I like the concept, but it is flashing way too fast. Maybe do a random selection every 1 sec, rather than a straight fire hose ?
Is there any way to make it flash less? I'm not epileptic, and I appreciate that you put a warning first, but it's still highly unpleasant after around 2 seconds. If I could look at it for a bit long it would be a cool experiment.
+1
Would be good if it just tiled the images, and then wrapped around after the screen is filled
I've got the perfect soundtrack for it (flashing lights warning) https://www.youtube.com/watch?v=wNtxgxYY7sI&t=66s
Thank you! Perfect.
> feels like a misty-eyed throwback to 2005.
Feels like let's get people to invest in our platform and once they're locked in make them pay.
This is cool and a big reason to root for BlueSky over X, all politics aside.
I wonder if they (or some third party) offers zip files of dumps of various kinds? It seems that would go easier on thier servers.
It was fun playing with Twitters firehose way back when that was accessible to the common developer. Excited to see the idea make a comeback!
Wow this is neat!
Stark contrast to the stupid locked-down new API rules twitter rolled out post-Elon.
I'm still irate Twitter broke all my automaton and then had the gal to try to charge me $100 a month!? Looks like it's up to $200 now.
That's as much as my car loan... No normal individual can justify that.
I sense this becoming training data for some AI/LLM in the near future.
Only two outcomes: either everyone can access it or only few big companies can. While not ideal, the former is much better.
It really isn't when you realize everyone includes people who sell home burglary as a service as scale.
Better that everyone have access to the data rather than just a couple large corporations.
TBF, a walk down the street where cctv cameras are present is likely already training data for some AI.
Possibly even training the model that will go into the police automaton that will kill you some day.
The future is already here!
https://www.reuters.com/world/europe/moscow-uses-facial-reco...
I think researchers want vintage data thats not contaminated with llm vomit
You mean uncurated 100 character blurbs of plausible sounding words isn't quick diddle making sense to the time of the hour?
your single word firehose demo is awesome. I can see a lot of creative people doing really cool things with this
I have an important account on Twitter where I publish manually posts, thoughts, links, announcement, etc. I tried to look for a way to crosspost to Threads and Bluesky automatically, but I couldn't find anything. Any suggestions?
I think that's another issue; there is no viable way to migrate social media data as if it were possible it would be abused mostly.
I don't need to migrate existing data, just posts (and not replies, obviously) from now and onwards.
The problem right now is to either get it from or to Twitter requires API access and that's not cheap.
There are some apps (OpenVibe and Yup) that let you post to multiple places.
I found Yup but I don't want to change the place where I originally post. I want to keep posting on Twitter using the web interface, and then automatically replicate that in Bluesky and Threads. I think it may not be possible due to the lack of Threads API.
I mean, the punch line of this post is that the "firehose" of even a successful social network is trivial to handle. Even Twitter at its pinnacle of popularity barely breached ~10000 posts/second intraday peaks. If you only want to observe and transiently store such traffic you barely even need a computer.
The firehose of peak twitter was 80MB/s of compressed json IIRC. That more around x00k posts/s
Great opening line!
> It's fun to play with data[citation needed]
What language are you using for the backend server? 256MB is pretty tight unless you are using something like Go.
I was consuming the full authenticated firehose (not jetstream) with tens of megabytes of RAM with python+sqlite (unfortunately I ran out of bandwidth on my cheapo VPS, I've yet to refactor to use jetstream instead)
I dont understand why I would build on bluesky when it seems like it would have the same medium term issues that the twitter api had anyway, but enjoy it while it lasts I guess.
say more? I thought the protocol was designed to be able to handle decentralization
There is still major centralization. Essentially, the relays crawl the network and provide an aggregated data stream, their firehose.
Independent relays can exist, which is better than the fully centralized options.
There is no financial incentive to bear the cost of running a public relay.
Thank you for the explanation!
Are there efforts to build a similar type of network which rewards running a public relay? I'm not sure how, for instance, Mastodon solves this problem
Mastodon has a completely different architecture.
In Activity Pub each node is essentially the full stack of what ATProto breaks up into individual entities. This means that each node in the fediverse is incented to connect to other nodes in the network, to provide good coverage to their users.
So a firehose isn't different than re-hosting Bluesky and it encourages re-hosting?
If you're critiquing, could you spell out your point more plainly?
[flagged]
decentralized social media is the achilles heel of democrats. they just keep throwing themselves at it and it never works and never will work. while democrats work feverishly on this concept, X continues to grow daily. i would put money on this if polymarket hadnt just been the victim of a politically motivated FBI raid…