X Engineering Blog
blog.x.com · Company blog · on HN since 2024
The engineering and company blog of Twitter, now X, covering its algorithms, infrastructure, moderation decisions, and product features like Birdwatch.
What HN saysHN links it for the open-sourced recommendation algorithm and for Birdwatch's origins, and cites it in arguments over the Trump ban and moderation.
18HN people shared it
16linked it in comments
2stories submitted
4story points
5 months agolast shared
2024people per year2026
Most-shared posts
- 1Twitter's Recommendation Algorithm (2023)3 people · 3 points · first shared 2024 · 2 comments on HN
- 2Suspension3 people · first shared 2024
- 3Deterministic Aperture: A distributed, load balancing algorithm (2019)2 people · 1 points · first shared 2024 · discussion on HN
- 4Introducing birdwatch a community based approach to misinformation2 people · first shared 2025
- 5Manhattan our real time multi tenant distributed database for twitter scale2 people · first shared 2024
- 6Dynamic configuration at twitter1 people · first shared 2026
- 7An update on our work to tackle child sexual exploitation on x1 people · first shared 2026
- 8Shutting down spammers1 people · first shared 2024
- 9Bot or not1 people · first shared 2024
- 10Murder fast datacenter code deploys using bittorrent1 people · first shared 2024
- 11Worldleaders20191 people · first shared 2024
What HN people wrote when they linked it
ImJamal · 2024-08-06
They did not ban Trump for "continued calls for violence and election interference".
Look at the two Tweets they used as a justification of his ban [1]
> The 75,000,000 great American Patriots who voted for me, AMERICA FIRST, and MAKE AMERICA GREAT AGAIN, will have a GIANT VOICE long into the future. They will not be disrespected or treated unfairly in any way, shape or form!!!
And
> To all of those who have asked, I will not be going to the Inauguration on January 20th.
Of course, in the blog post, Twitter claims to have "assessed the two Tweets referenced above under our Glorification of Violence policy"
If those two tweets are glorification of violence, then your post is calling for genocide.
[1] https://blog.x.com/en_us/topics/company/2020/suspension
ElijahLynn · 2024-05-16
mike_hearn · 2024-07-29
> reCAPTCHAv2 checkbox presents itself as a complete vulnerability disguised as a security tool ... It can be concluded that the true purpose of reCAPTCHAv2 is as a tracking cookie farm for advertising profit masquerading as a security service.
Woof, some super high quality "research" going on here. Their basis for this claim is that they found a paper from 2016 where the authors did some cookie aging, found it worked and passed that on to Google, who then fixed it. The authors cite this "blatant vulnerability" but then seem to assume that ReCAPTCHA being versioned means that v2 has never changed since it launched? Then they discover the amazing fact that CAPTCHAs require energy and disappear down a conspiracy theory rabbit hole before concluding the entire product - that people pay money for - is actually useless.
The reality is that academics can't contribute much directly to modern anti-spam work and that has been true for a long time. They aren't genuinely spammers so tend to act in ways that don't trigger anti-spam systems (which is correct behavior). The possibility that their simulations of bad activity aren't accurate enough just doesn't occur to them, so then they run around reporting "vulnerabilities". Usually it's easier to tweak the system to make them happy than have them go to the press and cause a scene, so they think they're doing useful work, but it's actually just distracting employees from the actual job of spam fighting. Back in 2020 Twitter publicly…
latexr · 2026-04-09
> Community Notes wouldn’t have happened without X.
Community Notes did happen without X. It was a feature introduced in January 2021 under the name Birdwatch.
https://blog.x.com/en_us/topics/product/2021/introducing-birdwatch-a-c…
Twitter’s acquisition only started over a year later.
https://en.wikipedia.org/wiki/Acquisition_of_Twitter_by_Elon_Musk
ceejayoz · 2025-07-09
Long tweets: 2017 (https://techcrunch.com/2017/11/07/twitter-officially-expands-its-chara…
Subscriptions: 2021 (https://www.reuters.com/technology/twitter-launches-subscription-based…
Community Notes: 2021 (https://blog.x.com/en_us/topics/product/2021/introducing-birdwatch-a-c…
Native video: 2012-2015 (https://en.wikipedia.org/wiki/Vine_(service) / https://en.wikipedia.org/wiki/Periscope_(service) / https://www.videonuze.com/article/twitter-unveils-30-second-native-vid…
Musk buys Twitter: late 2022.
That leaves… Grok.
ein0p · 2025-02-27
Not true according to their own press release: https://blog.x.com/en_us/topics/company/2020/suspension
mey · 2024-11-14
I deleted Twitter back when they changed their community guidelines to carve out exemptions for important people (Trump as president), looks like that was 2019. Figured it was downhill from there...
https://blog.x.com/en_us/topics/company/2019/worldleaders2019
nepthar · 2024-10-31
We used a deterministic aperture load balancing to solve this at twitter - https://blog.x.com/engineering/en_us/topics/infrastructure/2019/dapert…
Cool to see some other approaches, although I believe they've complicated theirs a bit more than necessary.
samuli · 2024-10-29
Here's how Twitter did it 15 years ago: https://blog.x.com/engineering/en_us/a/2010/murder-fast-datacenter-cod…
petre · 2024-09-01
Maybe there was no need to do so because they banned the accounts themselves. They even banned the acting president's account.
https://blog.x.com/en_us/topics/company/2020/suspension
dewey · 2024-07-01
> And the t.co example isn't actually useful for spam prevention
Don't take my word for it, that's how Twitter described it when they launched it here: https://blog.x.com/en_us/a/2012/shutting-down-spammers
From a scale perspective it also seems a lot easier to remove one redirect from happening vs. finding every Tweet that contains a certain url you want to remove.
> Additionally, we now use our link shortener (t.co) to analyze whether a tweeted link leads to malware or malicious content. This helps us prevent users from visiting malicious links and helps us shut down hundreds of thousands of abusive accounts.
protus · 2024-04-01
I believe the main pitfall of this approach is related to what the author of the og article mentioned around r/w and query latency from S3. I like the old Twitter eng blog post on their distributed kv store called Manhattan (https://blog.x.com/engineering/en_us/a/2014/manhattan-our-real-time-mu… For any serious real-time data, we probably still need some semblance of fast R/W storage, but analytics workloads or long-running tasks can def benefit for cheap blob storage.
chambers · 2026-05-27
Yes, feature flags are conflated with dynamic configs (or "remote configs"). The difference is crucial, hence why people are talking past each other.
Feature flags are gates for whether a piece of code runs; basically, an if-condition. Dynamic configs are a mechanism for changing runtime values without redeploying[1].
For example:
# Feature flag — variant gate for rollout
flag = SOME_CONSTANT_DEFINED_IN_MY_REPO # remote config not needed
if flag == 'open':
render_new_checkout()
elif flag == 'warning':
render_warning_checkout()
else:
render_old_checkout()
# Raw dynamic/remote config pulled — structured values for tuning behavior
config = sdk.get_config(user, "checkout_settings")
timeout_ms = config.get("timeout_ms", 5000)
max_items = config.get("max_items", 50)
allowed_tlds = config.get("allowed_tlds", [".com", ".org"])
In practice, feature flags use dynamic configs to remotely handle the temporary lifecycle of a feature — aka, ship a new block of code, ramp its execution up to 100%, then delete the flag. Whereas dynamic configs don't use feature flags, they exist independently for semi-permanent operations like rate limits or business rules you'd expect a PM to change like the text copy on a marketing website.
As I've seen: the forcing function for the separation of the two concepts are experimentation platforms: when human-control of feature flags is shared with a new automated allocation system that manipulates dynamic…
arjie · 2025-11-18
> I steer clear of showing vulnerability online, but there was a particularly bad interaction with a user last summer that made me realise that I need to take a step back and find a healthier relationship with the project, ultimately serving as the impetus to begin this restructuring process.
Many of these microblogging sites seem to be populated by people with extreme views. One of the pleasant things about old Internet forums is that they were like a local bar: there's some kind of community with some local code there. Reddit etc. function like forum aggregators and get halfway there, but the microblogging sites seem like a completely flat layer. There isn't really a community sense there.
Twitter used to have SimClusters[0] but either they decided against that or the tech as it was no longer functions to prevent context escape.
Personally, I've found that I end up being 'infected' by these angry people and I also post outrageous nonsense in response - so there's some sort of virality to this behaviour. I stopped using Twitter around the time of the Charlie Kirk killing because I figured that everything was going to get twice as inflamed as it already was and it was honestly worse than I actually wanted anyway.
The other day I went to the For You tab and I was struck by how insane it seemed to me. A few days away and suddenly everything looks ridiculous. I have noticed that I do have these interactions on Hacker News as well, so I wrote up a quick server and Chrome…
jmyeet · 2026-03-25
Someone else suggested I was misremembering the Twitter Cassandra timeline so I went back and checked. No, Twitter droped MySQL for Cassandra in 2010 [1], after Facebook open-sourced it in 2008 [2].
Twitter claimed they were using Cassandra (or at least planned to) for storing tweets [3] but had rolled something else entirely (called Manhattan) by 2014 [4][5].
So yes it was originally released by Facebook but it was Twitter who spent a massive effort trying to make it work in production. And failed.
[1]: https://www.informationweek.com/it-infrastructure/twitter-drops-mysql-…
[2]: https://en.wikipedia.org/wiki/Apache_Cassandra
[3]: https://highscalability.com/so-why-is-twitter-really-not-using-cassand…
[4]: https://blog.x.com/engineering/en_us/a/2014/manhattan-our-real-time-mu…
]5]: https://news.ycombinator.com/item?id=7515995