Show HN: I made a tool to port tweets to Bluesky mantaining their original date
bluemigrate.comBluesky allows to backdate their posts with their API, so I made this tool to copy your twitter (X) profile to Bluesky keeping the backdated dates of your tweets, showing as if they were posted back then
Interesting tool, but I'm very surprised that they allow backdating posts.
Backdating posts opens up a world of social engineering scams. You can create an account that appears to have predicted a lot of past events, sports scores, or stock prices with timestamps prior to those events occurring. The scam is to create an account that appears to have great stock advice or sports betting predictions and then charge people for it.
I believe this is possible because of how the AT Protocol works. Bluesky shows a warning[1] on these posts and displays both times, but sorts them by the backdated time.
[1]: https://bsky.app/profile/bluemigrate.com/post/3lc3r4fqen62l
I think the reason it works that way is because they want strong guarantees for the future portability of your skeets. It's sort of a correction for Mastodon's reliance on server admins' goodwill.
>skeets
I’m cackling over here. How have I never heard this when people talk about blue sky?
To the windoooooooooooooooooooow....
Surely this is what he was talking about. Lil John was decades ahead of his time.
A Lil Jon reference on a HN thread about Bluesky was most definitely not on my 2025 bingo card. But I'll take it.
Talking of "Jon" and "Skeet", there is a fairly well known programmer called Jon Skeet. If you are a C# developer good chance he has answered you stack overflow question!
If you are a bit older, you'd remember the same guy fighting for Java in bloody flame wars against C and C++ on Usenet. When I first saw him as a C# devotee on Stack Overflow, I was surprised it's the same guy.
I use bluesky all the time and have yet to use the term "skeet".
I don't think it's important. What is important is using a sane environment. X is completely crazy.
Make a community on X and only let sane people in.
can we just come up with one common term to to refer to all of my these between sites
"post"
"tweet"
No. Let twitter burn and be forgotten.
People certainly talk about this _on_ bluesky. No idea how much it's escaped outside.
To the window, to the wall! To my social media feed I crawl!
does anybody in this thread actually know what skeet means? i’m laughing as well at the idea of a bunch of people thinking they’re getting back at twitter by skeeting on the internet.
Some people got the idea it has something to do with some song because (not an actual dictionary) Urban Dictionary said so when the actual meaning is "sky tweet."
> (not an actual dictionary) Urban Dictionary
<troll> The definition of dictionary is just "Words about words" (source: Urban Dictionary), so I'd say that Urban Dictionary qualifies. </troll>
They need to come up with their own term or confirm they are OK that the name skeet is a sex act. You don't get to just pretend the term doesn't exist because you didn't listen to one of the most popular songs of that decade using an already well established term. It's also heavily used in one of the most popular comedy shows of that decade as well The meaning is well established
I mean, the CEO of bsky used skeet unironically in interviews so I'd say it's a-ok
UD documents existing connotations of words and expressions. That you don't think it's an actual dictionary doesn't change the fact that those connotations exist.
"sky tweet" is also a stupid name since a tweet is already the name for a post on a very specific platform.
I'm not sure I get why "sky tweet" is a stupid name. "Tweet" was a pretty arbitrarily chosen name for a post on Twitter, but now that "tweet" is a pretty established word, it seems reasonable to use a portmanteau based on that word for a platform based on that platform.
Though in practice I think "skeet" was a bit of a fad to be provocative, and most people just call them tweets, even on bluesky.
The song didn’t create the word, it just popularized a word that was already in use when the song came out.
UD has been quoted in court cases, it's absolutely a dictionary.
> not an actual dictionary
Go on, tell us what you think an "actual dictionary" is.
hah, good one
It'd be cool if they also verified the dates to get rid of the warning of honest backdated posts.
What constitutes an honest backdated post? How would they be able to verify it?
they could fetch the post reference on x.com with the real date, and store a zkProof of its existance, relying the verfiability-trust then to x not messing with them
Or use the Wayback Machine? You can trust its captures, courts do. Queue archiving jobs per handle, backfill from the archives after the initial archiving request has completed.
https://katharinabrunner.de/2024/02/archiving-websites-the-i...
https://x.com/paulmcgorrery/status/1178561480385421312 (Dyno Nobel Inc v Orica Explosives Technology Pty Ltd (no 2) [2019] FCA 1552)
https://www.michbar.org/journal/Details/Old-websites-seldom-...
https://www.lexisnexis.com/community/insights/legal/b/though...
Wouldn't that require a very expensive API contract that X would be quite uninterested in signing?
> they could fetch the post reference on x.com with the real date
Twitter posts are only available to authenticated users, and the API is really quite expensive now - that was one of the many reasons people have wanted to move off it!
Open a PR
You going to donate your CPU for that? Only about a billion or ten tweets.
You don't need to migrate everything, just getting the ones from users that migrated from twitter would help a lot seeding Bluesky profiles.
You can also link Twitter to Bluesky with either OAuth, or a Twitter post with a Bluesky challenge to prove you have control of the account.
That sounds like a lot of manual work, as I don’t expect Twitter to offer an API for departing users…
Not an API but if you're a departing user: https://www.theverge.com/23453703/twitter-archive-download-h.... Bottom line: it's possible to download all account history with tweets in JSON format with dates, and more.
nope. post here from 9/11 2001, no warning [0]. it's fine if they added a check recently to flag backdated posts, but there's no telling how many incorrectly-timed things went up before they added that ([0] is from about a year ago, fwiw). the whole early history of the platform is questionable, and it's just shoddy protocol design.
[0] https://bsky.app/profile/lul4.bsky.social/post/3kgaesbxs7f25
(if you work for bsky please don't add a flag to that, it's my favorite party trick)
Looking at the JSON data in dev tools, it looks like there are separate `createdAt` and `indexedAt` fields, the latter of which was probably a later addition. For your—likely pre-migration—post, both are set to 9/11. On more recent posts, they're separate dates.
That post does indeed predate bluesky tracking index times, I remember seeing it before they announced that change. I believe it was motivated by other migration services becoming popular. Forward-dating was fixed even earlier, I think, since it might allow people to "pin" their posts to the top of reverse-chronological feeds.
Some of my favourite backdated posts are from the years 1776 and 1.
More specifically the reason we didn’t have an index time for that post was an architectural migration which lost our prior witness times. That was pretty early on. At this point we’d take pains to preserve those timestamps, and I’m fairly sure we will need to publish them for other folks to use at some point
Very nice.
You can still do that even without changing the timestamp. Back in the old days of the internet, people used to get famous by claiming they predicted all the results of the FIFA World Cup by posting every possible outcome and then deleting those where they were wrong. Then, they would publicize their account just before the final match, and people would go wild.
before this people used to send out stock predictions by mail to power of 2 people with each prediction and its opposite, eventually you get down to a person who you have always sent the correct prediction.
That was a scam used for betting. Call this phone number for your free “lock”. Half got team a, half team b. They did it twice then asked those who were winning and kept calling to pay for the next prediction.
oh that scales nicely
Just realized the French lottery is only 19 068 840 combinations. You could send spam to 19 millions people, each with a number saying you can predict the lottery, and if they send you 10 000 euros in BTC, you could give them the next one.
I am more surprised by how we got to this world where people think in terms of what software developers "allows" us to do, or not do.
> in terms of what software developers "allows" us to do, or not do.
You can do whatever you want with the the software. It's right here: https://github.com/bluesky-social
You cannot do whatever you want on someone else's hosted website. They don't allow you to delete other users and edit other people's posts because everyone agrees that would make it useless.
> You cannot do whatever you want on someone else's hosted website
The whole thing with Bluesky and decentralized protocols is no server can enforce special rules.
Sure, they could come up with something that says "our PDS will not accept backdated events", but they will not be able to stop someone else to set up a server that does that without any issue.
Network authority models are more nuanced than “nobody can tell me what to do” vs “one person controls everything.”
Indeed, but you are not answering the question: how can you reconcile the idea that ATProto is meant to be decentralized (i.e, no single authority) and at the same time have rules that are enforced (purely by software, I'm not arguing that rules could be enforced socially) by any particular server?
You would need some form of distributed consensus mechanism, but then you either end up with some exclusive club to implement Paxos or you will need some blockchain-y solution, no?
Atproto and ActivityPub are both multi-polar governance, though AP more aggressively so (though we hope not for long as we pursue some lower-cost execution models for the appview). Consequently the realpolitik is, what's the business logic of the applications with the most users.
Bluesky consists of PDSs and a central indexing server. Bluesky themselves can say that their indexing server won't accept backdated posts, thus making all posts on the Bluesky app itself have valid dates, but others would then be able to make another version of Bluesky with the same posts that also does accept backdated posts.
> a central indexing server.
Then can we drop the pretense that ATProto is actually usable without Bluesky's AppView? [0]
> posts on the Bluesky app itself have valid dates
Who's to say what is a "valid date" in a decentralized system that (in theory) does not have a central authority nor depends on a consensus mechanism?
[0]: https://news.ycombinator.com/item?id=42634786
ATProto is usable without Bluesky’s AppView. You just need to create another centralized indexing server of your own and have it index all PDSs. This is certainly less decentralized than other systems since there’s a barrier to entry (getting the compute power to index all PDSs), but that’s the tradeoff you make by not having server-specific namespaces like Mastodon does. They seem to also make their AppView implementation open-source, which seems to show their goodwill.
You do still get the benefits of being able to interoperate between different apps that may not know each other exist without the disadvantages of having server-specific namespaces, which is of course the point.
“A valid date” would be determined by said server (BlueSky’s or yours). You could choose to write a server that enforces consistent dates or one that does not, and the definition of a valid date would be different per AppView.
I acknowledge the other way of doing it which ActivityPub uses has some benefits as well.
ActivityPods implements ActivityPub vocabulary while using SOLID data stores. You get your identity and data, you can interact with other ActivityPub software and you do not need to rely or set up any centralized indexer.
There is no "goodwill". Bluesky's plan (from day one!) has been to create something that could have been used by Twitter to keep them as the gatekeeper of the data while removing them from any liability for custody. They know that their moat is on their expensive indexer and they will not take any measure that gives this power to end users.
One of our current projects is to create a partial sync model so that self hosted appviews can be run more cheaply. After that, it’s really just the cost of physics
Surprised why? A culture based around systems with privileged "root" and "admins" was always going to be fundamentally hierarchical. It was an accident of history that the network layer ended up getting developed in locations with a more horizontal culture (which partly explains why our network protocols are so loose and insecure). It took a big, conscious effort (Free Software) to force open at least some elements of it.
Without strong and deliberate efforts to maintain a culture of openness and freedom, IT is a heartless cager of men.
I fight for the Users!
If you look at the imported posts, they have a badge that says the date they were imported and says the date on the post is unverified.
Yes, but this badge is generated at their Appview index layer and not at your PDS.
If you are syncing data from another PDS, there is no way to verify that posts have an accurate date, unless you have some central ledger which is antithetical to allowing self-hosting and being distributed.
Correct. The trade-off here is on Bluesky you can delete or re-order your posts which you cannot do on a network with strict message ordering. Your PDS webmaster can also rewrite your messages for you if they become unhappy with your messaging.
This isn't quite true. Your PDS can't rewrite your messages: all messages are signed with a key unique to your account.
That said, the PDS is effectively also your private key custodian. Most people who aren't nerds are happy to let Bluesky PBC manage their keys. But if that's your threat model, you should absolutely move to a self-managed PDS.
The protocol also actually allows you to manage your keys differently. You could in theory have a "read-only" PDS, and generate all your posts locally using a local key (conceptually much closer to a crypto wallet.)
In that scenario, the validity of posts as originating from a known identity is extremely strong.
Yes, and what if they had a tab in the Bluesky app where you generated a keypair, registered the pubkey at your PDS and then began signing messages in the app? You could rotate keys on demand and update the PDS every time you make a new one.
Originally that was the design. We just felt it wasn’t feasible as the primary operation.
The PLC registry supports an override key for adversarial migrations, which was our chosen alternative
I don't think it should be the primary operation, not with the scale that Bluesky has achieved. We need this in the Bluesky App so a handful of p2p weirdos can feel they are authentically using a distributed social platform without caesars and all of that.
I'll look into the registry override too, maybe I can hack something together around that.
Yeah but if you lost your phone you'd be screwed.
There's ways around it... the identity mechanism supports multiple keys so you could have a backup in escrow.
But most people don't want to worry about key management at that level. Hell, I know exactly how everything works, and key management still scares me. The consequences of a mistake are huge.
Yes, that key is screwed because it's lost, stolen, at the bottom of the river, etc. But this is when you generate a new key and store that pubkey at your PDS so the Appview can find and index your new posts from your new phone. It's the same thing that happens when I reinstall Debian on my Thinkpad and upload a new ed25519 pubkey to Github so I can push again.
Edit: or we could backup the key.
Your PDS webmaster has a signing key for your repo, because they for all intents and purposes are you. That's the trust structure of how PDS' are setup. If you don't trust someone else to modify your repo don't give them your private (sub)key.
The fact it's a subkey means that you are also able to rotate the key that the PDS has access to and modify your repo back to pre-defaced state if need be.
Exactly, this is the benefit of having a Bluesky!
Imagine if Github worked this way, then I wouldn't have to worry about storing my ssh keys on my local machine. Imagine the possibilities if Github could pull my repo instead of me having to go through all that darned trouble of pushing it.
Take snapshots with the Internet Archive and have that be canonical/source of truth?
As demonstrated by the Waddle Dee Knows case.
https://arstechnica.com/gaming/2022/02/how-to-become-a-fake-...
Bluesky was developed with backdated posts as a stated goal, see Jay's original prototype: https://github.com/arcalinea/smor-serve
One of the many flaws of AT Protocol.
[dead]
This is neat but I choose not to do this when it was clear the API allowed it. I was on Twitter for over 17 years and I think 99% of what I posted is useless and not noteworthy.
I welcome the blank slate that Bluesky provides.
Incidentally, I'm kind of surprised or maybe dissapointed that people want to move onto an alternative after being on what seems like a largely pointless platform from probably their teens well into their 30s or equivalent timespan. It's nice to have a clean break and let the past be the past when it comes to social media. When Facebook died, I was quite happy to just let my account rot, checking in occasionally to see if I got any messages from my Gen X relatives or whatever. When I first deleted my Twitter account, I used the 't' cli and their built-in export to backup my account in case I ever wanted to re-activate it, and the urge has never come up. I'm still on Instagram but barely post, it's just brainrot, I'll let it die when it dies. Proor to deleting the Twitter account nearly 10 damn years ago, I'd been convincing myself it was useful, so much so that I'd be a pariah if I weren't on there, but I realized I didn't need any of it, and tossed it away. Much like high school friends, it seems important to let life carry on without dragging all the baggage of past me along for the ride.
I was on Twitter briefly despite knowing better. It was great to connect with fellow programmers doing creative things, and having blocked the sidebar and all political hashtags, it was a net positive for a while. Ultimately though, it incentivizes people to post every "clever" thought that pops into their brains, and after posting hundreds of your own clever thoughts and reading tens of thousands of other people's, it instills in one the urge to live alone in the mountains under a vow of silence.
Though… it occurs to me that my cursed "cleverness" may have followed me to HN.
Ya, I followed a similar path; it quickly became something habitual, and I realized that I couldn't avoid the preachy political crap from even people I would otherwise probably align with. It felt like I was chronically checking it, and nearly always being bombarded with messaging about what I was supposed to be mad about that day, whereas if I'd not been on the platform I probably wouldn't have regularly fluctuation intense emotions about irrelevant issues.
HN is kind of a bad habit, but it's just a forum to me, I don't follow people, people aren't following me, I don't need to be signup up in order to find out what's going on in municipal government, it's just discourse about common interests if that's what I want. I can get a weekly digest and I know that's quite enough if that's the relationship I want to have with it, and everyone sees the same content.
I agree, that's how I feel exactly about both forums. My cleverness-on-HN remark was auto-referring to my cheeky vow-of-silence comment, which I felt proud of while writing and then a little stupid about while posting ;)
I hear you. I certainly post much less and am happier for that. I like the emerging community there but I’m nowhere near as absorbed.
I like the blank slate analogy. I'm in the same boat.
I have tens of thousands of tweets (why, oh why) but personally have no desire to move them over. I realize that's important for some people. For me, it's enough to just download the archive and save it somewhere, in case I ever need to reference it again.
I have been deleting my tweets every year anyway.
So the plan is moving from a centralised platform to another centralised platform? As a loop? :)
This is something I don't understand either. Why is everyone so eager to move from one centralized platform to another? Sounds counterproductive to me.
Btw do you have any good suggestions for distributed platforms? Would Mastodon be considered a distributed platform?
> Why is everyone so eager to move from one centralized platform to another?
Personally, I'm eager because it's not just another centralized platform but a sufficiently distributed one. Most of the infrastructure you need for ATProto, you can run yourself today.
Mastodon/ActivityPub is neat too, but personally I don't find it as easy to find interesting stuff there, especially if you try to run your own solo instance and need to make sure you connect to interesting parts of the ActivityPub-net.
> Most of the infrastructure you need for ATProto, you can run yourself today.
Citation needed. Without the AppView and their relays you are left only with your identity and your data, which by itself is not a social media/messaging platform.
…both of which you can run yourself
As I understand it, there's an argument that while in theory you can, in practice you cannot so easily, e.g. you needed 5 terabyte of storage for a relay already some months ago.
I think this[0] was on HN some time ago with good reasoning about bluesky offering a "potentially decentralized enough" while not actually being so.
0: https://dustycloud.org/blog/how-decentralized-is-bluesky/
> you needed 5 terabyte of storage for a relay
I have sixteen terabytes mirrored sitting next to my television. It's 2025. Sixteen terabytes is not that much any more.
But rather than the only options being "global megacorp" or "individual", I think people should consider the possibility of medium-sized collective organizations for doing this kind of thing. You could club together to run a PDS. There are more options for organizational scale than "huge" or "atomized".
> I have sixteen terabytes mirrored sitting next to my television. It's 2025. Sixteen terabytes is not that much any more.
I have a 512GB laptop and a 64GB phone, that's all the local storage I own.
A 5TB drive would cost more than 100€. Definitely more than I would like to spend on joining a social network.
And how much would it cost me to run the app view?
An AppView is a bit more than just the code. In example, you have to do moderation, which involves paying people for a thankless, awful task. (unless you are just a thin client to Bluesky records and rely on their moderation)
Because X was (initially) good, while every attempt to make something distributed has been relatively bad.
I don't really care how the platform works so long as the content is the content I want. Nor does 99% of users. And that's the precise reason the centralized platforms are the good ones: that's where people are.
If a truly distributed platform could be created that had the content/people/appearance of the centralized one, then great. I'd want that. But if it would be slightly slower or harder to use, or lack the people/content of a centralized platform then I'm not interested.
Decentralized could be fine for communicating with a _community_ of some kind. But that's not why I'm on X/Bluesky. It's to drink from the firehose of the current times. If something happens in the world I want to see the actual people who drive those events. Read the instant comments of the biggest most famous commenters of the same events.
There are couple of things going on in that question.
1. There's a contingent that does not like the management of X, so they want to move elsewhere.
2. The technology aspect of it is irrelevant in the decision making, because most people don't understand it.
3. Moreover, a truly free, federated system doesn't alleviate any of their complaints about the platform, because, in that case, they would be unable to effectively quarantine the others.
> Why is everyone so eager to move from one centralized platform to another?
There's good content there. Distributed is better than centralized, but it doesn't matter if the people I'm interested in talking to and hearing from aren't there.
Mastodon and nostr are two good alternatives with pro and cons of course. nostr is probably and imho the best implementation, but at the moment it’s a bitcoiner echo chamber.
The reasons I have heard are not related to it being a centralized platform. More that people like the features of bluesky over x.
https://nostr.com
Maybe they don’t care as much as you do about whether a service is decentralized?
Platforms age/enshittify. Twitter wasn't the first, bluesky won't be the last.
People want something that feels as much like Twitter as possible, without the enshittification. Both in terms of stupid UX features and stupid political features.
Having been interested in how people use social communication systems since the BBS era, I'm pretty confident that most people don't really want fully distributed systems, they want a single system with good governance. Because governance is hard work and anarcholibertarianism makes it everyone's problem. However, "Exit, Voice, And Loyalty" applies here: by providing a theoretical Exit option in some sort of decentralization, even if someone never takes that option, they feel a benefit from having the option.
https://en.wikipedia.org/wiki/Exit,_Voice,_and_Loyalty
In terms of centralization, if you are in the tech sphere, you should have learned by now from the crypto fiasco that decentralization leads to abuse by people with money to game the system.
But in general, if you don't understand why people are moving to Bluesky, you probably need to be more in tune with US politics and realize we have a nazi in the white house who also happens to own Twitter.
You’re conflating decentralization with financialization. Just because something is decentralized (e.g. BitTorrent, Mastodon) doesn’t mean it’ll be abused by people with money. Decentralization just means “not keeping everything in one server / something controlled by a single person”
>Decentralization just means “not keeping everything in one server / something controlled by a single person”
Except that servers cost money, and internet is not free.
Im all for setting up mesh networks with appropriate protocols that are truly decentralized, but people have to be willing to accept lots of pain points and slowness along the way, which quickly makes people not care.
[flagged]
creeps want an echo chamber, got it thanks
Yes, the creeps who are own and stay on Twitter obviously want an echo chamber, as evidenced by their content promotion algorithms.
I don’t think they want one, they are just ending up with one naturally as the normal people leave Twitter.
Come back to this comment when its 2028 and US doesn't have a federal election because Trump declares fraud and gives himself emergency powers.
AFAIK it’s SaaPS - software as a political statement
It's even worse... you move from a centralized platform that has reach and is highly relevant to one that has zero reach and is a closed off and completely irrelevant echo chamber.
the ATProto missed a lot by using websocket.
If it allows polling static pages, then everyone can host their timeline on Github Pages or something. That would be much better decentralized.
[dead]
[flagged]
this is literally the only reason. talk about cutting off the nose to spite the face, sheesh
What is the appeal of Bluesky? I'm surprised to see how much traction it has, when Mastodon already exists and works quite well technically - it seems that Bluesky is simply better at marketing?
It's a much better protocol in practice, in my view.
Mastodon is server/instance centric and permanently anchors your identity to a given server. On Bluesky, you can use any domain you control DNS for as your handle, since content hosting and identity management are decoupled at the protocol layer.
On top of that, hosting is also decoupled from aggregation/discovery, which allows for things like global search that are intrinsically hard on Mastodon.
> Mastodon is server/instance centric and permanently anchors your identity to a given server. On Bluesky, you can use any domain you control DNS for as your handle, since content hosting and identity management are decoupled at the protocol layer.
What does this mean? I can host my own fediverse instance, and have, three times.
It means that your identity is tied to the server. If you ever got tired of running your server and decided to just use someone else's server, you can not just bring your keys and make a DNS change to point to the new place.
Just because there isn't such a mechanism in use currently, doesn't mean that there's something preventing ActivityPub actors using the same type of DNS pointing to DID, or IRI mechanism ATProtocol is using.
There are some extensions proposed, but to this day all AP actors are controlled by the server. No ActivityPub software today is built in a way where the client can provide their own keys. They are all generated in the server.
Even the "Client-to-Server" AP spec is written in a way where the "client" does not interact with the outside web, but always initiates every interaction through the outbox hosted by the server.
I'm not saying this just for pedantry. I'm saying this because I actually wrote a server that implements ActivityPub according to the spec [0], and realized that identity portability is not possible unless you deliberately break away from the AP spec.
[0]: https://activitypub.mushroomlabs.com
I'd consider the effort of migrating the entire ecosystem to a fundamentally different identity resolution mechanism somewhat of a barrier.
how many bluesky "servers" are there?
Look who is moving the goal posts!
We are talking about ActivityPub tying identity to the server. ATProto is designed from the ground to separate user data from your identity (through its Personal Data Servers), so the answer to your question is "many. There are many servers out there."
Bluesky has many issues (and I for one still think it has fundamental flaws that still make me prefer AP), but identity coupling is not one of them.
I think i just don't understand the distinction. I have a domain, so i set up my domain so i have an identity on bluesky. I'm with you on that part.
and then what? i can take my identity and do what with it? change PDS? but bluesky itself shows everyone that i am the same person?
i didn't move the goalposts, i just don't get the distinction everyone is making here with "identity", of course if i prove i own a domain i can verify, but i can do that on mastodon, too, I can add the below to my domain that will checkmark my username on mastodon. I assume if i move servers and want people to follow me, i will just do the same on that server, too; they know it's me because the service says so.
> <a rel="me" href="https://fosstodon.org/@picofarad">Mastodon</a>
that is all i have to do to prove i own that username on that instance - put that on a domain i own and add it to one of the user editable fields on my public profile.
so maybe you understand my confusion. i never received a bluesky invite nor do i want to pay (a couple mentions here of paying for it).
> Verifying your identity on Mastodon is for everyone. Based on open web standards, now and forever free. All you need is a personal website that people recognize you by. When you link to this website from your profile, we will check that the website links back to your profile and show a visual indicator on it. The link on your website can be invisible. The important part is rel="me" which prevents impersonation on websites with user-generated content. You can even use a link tag in the header of the page instead of <a>, but the HTML must be accessible without executing JavaScript.
i can also export all my followers, so when i join a new instance, i can direct message them all and let them know i've moved, and they can see it's the same person because the service says so, because i own the same domain.
Can and Must are two different things. Wikipedia has a website, and owns the domain to that website. Their domain is the way they verifiy themselves on Bluesky. But they don't have a reason to run an instance, so they don't run one, and never will.
Yes, and in fact you have to, and from the very beginning, if you want to self-custody your identity.
That’s a high bar compared to just registering a domain and updating a DNS record.
For me, it's pure network effect. The people I want to hear from and be heard by are on Bluesky but not Mastodon.
Had enough of shitty self hosted mastodon servers getting linked, makes me wary to click any mastodon link because they are so likely to be dead
Imo that's a complete killer to adoption. The vibe people get from it is that it's always down, they don't care that "oh just switch to another shard" that's too much effort
Yeah, it should be content addressable and replicated by Favourite (Like) similarly how IPFS pining works, then your post would die when the last hoarder forgets about it.
Convenience factor. Bluesky is single site. Mastodon is multiple sites.
I also find Bluesky's underlying tech interesting. The more i looked into Mastodon the less interesting it felt. I especially didn't like that as a small Mastodon instance i'd struggle to get my updates fed into the larger instances and struggle to get updates as quickly. Instances prioritized updates to/from larger instances.
This was all quite early though and i'm sure i misunderstood things. Just answering the question as i personally perceived Mastodon.
On the non-tech side, i find Bluesky's model for moderation to be really neat. I hope it continues to expand in features/implementations.
Check out the User Intent proposal, it's kind of like robots.txt, not enforceable, but also richer in semantics
https://github.com/bluesky-social/proposals/tree/main/0008-u...
Here is one nice appeal:
Has a great and free API.
Now, Bluesky has this great API that allows you to do cool automated things on top of it. Twitter had it too, but they decided in the last 2, maybe 3 years, to play with the API so many times that there are no new coding tutorials that use Twitter API as an example. So except social media platforms, there are probably no more tools built on top of Twitter API as they damaged their reputation among developers. And they deserve it being so unfriendly towards developers.
I find the AT protocol interesting.
But, now they have network effects; > 30 million users -- that's a big market to build for.
Bluesky/AT Protocol hits a much better balance of mostly decentralized while having an intuitive user experience.
On the other hand, ask the average social media user to try to do the below tasks on Mastodon/ActivityPub, and you'll quickly see how half-baked and disjointed of a user experience it is.
- Search for posts or a user.
- Interact with a Mastodon post that's on a different instance than the one they're registered to.
- Figure out what to do if one day, they wake up and their instance has shut down.
Bluesky implements algorithmic feeds so content is easier to find. Mastodon mostly is original Twitter model - you have to follow accounts yourself. It's significant friction and filters 90% of normal people.
Algorithmic feeds, chicken soup for the soul.
Mastodon is fragmented by design, federation is mostly theoretical even if mastodon.social displays many other instances' content and lets you interact with it.
You can't search across instances nor can you (afaik) maintain identity across them.
Centralised so easy to use. Why don't more people use PGP and web of trust? Convenience and security rarely align, and people will choose convenience every time.
it's a turbo left version of truth social. so people into that flock to use bluesky.
Bluesky appeals to people that don’t wish to meet or interact with anyone from the other side of the aisle - like a left wing version of Truth Social.
This is very cool. These features would be useful:
As far as competitors, go https://blueark.app/ seems like the most complete. I remember seeing another one, a desktop app, but I can't remember what it was called.Much appreciated, but wouldn't this allow anyone to "migrate" somebody else's tweets over to bluesky, basically impersonate them with 1-click ? What's missing is some sort of verification.
Unreliable datetimes is just part of AT and something you need to deal with. The moment you start ingesting the firehose you'll see plenty of backdated or forward dated traffic. If you build feeds you need to be careful when using posted timestamps to sort feeds because of backdating and because there's no real centralized way to verify your timestamps. For my feeds I just reject posts that are beyond a certain delta from now and sort my feed by ingestion time rather than post time.
There's probably some sort of blockchain-based time-attestation like [1] that could help but this is beyond the scope of AT and something that probably needs a lot more thought before a serious proposal comes forth.
[1]: https://opentimestamps.org/
> something you need to deal with
Who is the "you" here?
> The moment you start ingesting the firehose
Probably someone who started ingesting the firehose
What is a firehose?
All posts being made on Bluesky, as they get indexed.
See https://firesky.tv
PS: I had a similar migration idea when bsky came out, but never thought they would allow backdating.
I came to the conclusion that it would make sense to confirm a user's identity on the platform to migrate from (egress) by giving them a random word or sentence for them to post over there, so you can verify that their original profile is really theirs.
Well, if the source is publicly available, anyone can copy it anyway. So, you need anyway to announce on the original account where it has been migrated to.
this can be done, and it’s suspect when someone’s done it to build a following and it’s not clear if they own the tweets.
I tail the firehose sometimes , filtering for post dates that don’t contain 2025. Bottom line this has been happening since day one and backdated/imported posts were about 1/16th or so of the overall post volume in any random sampling I’ve taken. It’s a lot.
But the few I spot checked , all checked out. The people importing their posts were all mentioning their new bluesky on LinkedIn or Twitter . I haven’t caught a spammer yet. It’s something I look at when I am extremely bored.
Am I the only one who finds it weird that people want to migrate their tweets? Is it just sentimental feelings or what is the purpose of that? To me tweets have always just been in-the-moment brain farts. People have tens of thousands of tweets with the vast majority being just completely irrelevant now and really rather uninteresting. This reminds me of people who keep all their school notebooks in shelves from when they were 5 years old, as if you'd ever go back and look at some scribbles from 50 years ago.
Many people use Twitter for blogging, whether in the old tweet-storm style or the newly supported long-post style.
They would want to port over the content just like someone migrating from Wordpress to Jekyll.
Can I upload my archive of tweets that I exported from Twitter immediately after it changed ownership and subsequently deleted my Twitter profile?
I made a similar tool a while back, https://pleasenox.com – Mine relies on a "poster" account doing the work rather than the current user's account.
cool, listed on bskyinfo:
https://www.bskyinfo.com/tools/bluemigrate/
Interesting tool but the main problem with BlueSky is that I get barely any interactions/reach compared to Twitter/X.
It is all about which "circles" have migrated. A lot of the people I follow have reported that while having a lot fewer followers, they have a lot more interactions - and a LOT less bot-interference.
the worst part of bluesky is all the people asking for it to be twitter.
That and people posting screenshots of their own tweets...
I see around 80% of videos on X (Twitter) to be from TikTok originally. Probably because TikTok allows you to save - and so to spread - videos you like but X doesn’t.
It literally comes from the original Twitter, it's meant to be what X killed in Twitter.
Didn't come from Twitter, it came from Dorsey. He also said that it went badly astray early on, and abandoned it completely.
https://www.piratewires.com/p/interview-with-jack-dorsey-mik...
It was initially created as a group inside of twitter. They spun it off into a separate company pretty early though.
Heh, this is kind of complicated. It was Dorsey's initiative. The project's goal was to produce a technology that Twitter could move to. However, nobody on the team was from Twitter.
Found this related to this https://jymfox.com/bleetinthepast/ Fun to post from 0 BC
But... there isn't a 0 BC! The Gregorian calendar goes straight from 1 BCE to 1 CE.
(That said, most datetime libraries, in practice, tend to behave very weirdly if you go back a few thousand years, if they'll put up with it at all...)
If you extend Gregorian calendar before 1582, I think it's reasonable to interpret numerical year number as 1 => AD 1, 0 => 1 BC, -1 => 2 BC (that would be proleptic Gregorian calendar with astronomical year numbering?)
When they were removing the Christ from dates they should have just made it an integer.
I imported all my Tweets into Bluesky a long time ago and all my Tweets kept their original date which has confused people.
For example:
https://bsky.app/profile/abu.guru/post/3la7w6bxkip2j
This is interesting, but it raises concerns about the integrity of timestamps on Bluesky. Allowing backdated posts could lead to misuse, such as manipulating historical context or creating a false impression of long-term presence on the platform.
On the other hand, it could be useful for users who want to maintain a consistent archive of their content across platforms. But the question remains: should platforms allow this kind of timestamp manipulation?
Is there some authoritative source for knowing when Bluesky posts were made, approximately?
(For example, does Bluesky themselves record the timestamp of when they first see a given message, and make this info available, either publicly or with subpoena/warrant?)
I think the import date is available in the API and client, separate from the posted date.
[dead]
A tool like this for the Fediverse / ActivityPub would be awesome.
> A tool like this for the Fediverse / ActivityPub would be awesome.
Currently not ~~possible~~ that easy, sadly, because the Mastodon spec (which is basically what everyone uses) doesn't have the concept of backdated posts and, more importantly, even if you fudge your server to allow a date in your `Status` when posting[0], it'll still go "oh, this needs sending out to everyone"[1] as if it were a new post and let me tell you, the clients also do not know about backdated posts and things get confused real fast[2].
(I don't think it'd be a huge change to the spec to allow backdated statuses but getting consensus about how that actually works for, e.g., sending out, client handling, etc. would be a lot of work.)
[0] I did this on my Akkoma server to import 15 years of Twitter bot posts.
[1] Sadly my Elixir knowledge didn't extend far enough to be able to figure out how to prevent this for backdated posts.
[2] To the point where I and everyone else had to unsubscribe from the Fedi bot whilst it was doing the backimport.
Sadly I’ve already deleted every single tweet I had under my Twitter account (other than a pinned tweet saying I’ve moved to BlueSky). It’s mostly symbolic, but I felt it was necessary.
Awesome, the more people we can convince to switch from Twitter the better.
The protocol should show a flag that states if the date was sent by the client. That way you allow this feature while at the same time you can warn users.
Good stuff! I didn't mind the fresh start with BlueSky but it'll be nice to import my last hundred posts with the free trial.
Ha interesting > Bluesky allows to backdate their posts with their API
As an eX-user who deleted their footprint long ago, I imagine some people would be interested in doing this from an archive.
Seems like this is already doable:
https://typefully.com/blog/import-twitter-to-bluesky#:~:text...
[dead]
It's cool idea, congrats
Can you do the same for Mastodon? What about Mastodon to Bluesky?
This is only for your own tweets? What about replies / RTs?
Is there a way to delete all your tweets from X afterwards?
Back in the early days of the Web, there was a company started that would allow anyone to annotate any web site - basically, you could go to any site, and add your own little notes to it, for others to view.
It didn't last long - there was some sort of rebellion against them as a service and it turned out they couldn't find a way to make money with it. (Akin to that push service that pushed news to everyones' screensavers, which seemed like a good idea at the time)
This feels like that.
I wonder how long it will last until the door is closed for folks to re-purpose others content in this way?
Nice tool and it's great to see BlueSky allows you to backdate posts!
My main problem with BlueSky is that I get barely any interactions compared to my old Twitter (which also wasn't stellar). It's becoming a tool to listen to a few good devs (which I periodically check on), while trying to ignore all the pr0n, but not a social network I can use.
Building an audience seems way harder.
Okay, this made me chuckle: “ i’m enjoying my japanese lessons so much i might start writing ruby”
https://bsky.app/profile/jdan.me/post/3lkoklkirgs27
Now give me the tool that lets me import my Bluesky history to X! ;)
[dead]
[dead]
[dead]
[dead]
[flagged]
[dead]
[flagged]
[flagged]
Public posts are public regardless. I don’t see how your choice of network affects this in the slightest.
Posts might be public, but data connecting an individual to a post, such as email or phone number, might not be.
And its why I am posting from a throwaway account as well.
Why are you worried about being deported if you have a visa?
The new administration are talking about revoking birthright citizenship. I can see why a mere visa holder would be concerned.
[flagged]
[flagged]
Isn't the warning about backdated post displayed client-side?
[flagged]
I'm not a bluesky user, I'm asking questions because I don't know. Thanks for the helpful and kind response.
tf are you talking about. Also, it does allow more than 1 main server.
[dead]
[flagged]
[flagged]
Constantly making new accounts is against the hn rules, fyi.
[flagged]
lol they let you spoof timestamps on this site?
It seems so, and it’s funny lol.