TE
TechEcho
Home24h TopNewestBestAskShowJobs
GitHubTwitter
Home

TechEcho

A tech news platform built with Next.js, providing global tech news and discussions.

GitHubTwitter

Home

HomeNewestBestAskShowJobs

Resources

HackerNews APIOriginal HackerNewsNext.js

© 2025 TechEcho. All rights reserved.

Twitter's Recommendation Algorithm

1700 pointsby jonkneeabout 2 years ago

110 comments

jonathanmayerabout 2 years ago
Context: I teach at Princeton and study social media and recommendation systems.<p>From a very quick skim of the repositories, this appears to be quite limited transparency. The documentation gives a decent high-level overview of how Tweet recommendation works—no surprises—and the code tracks that roadmap. Those are meaningful positive steps. But the underlying policies and models are almost entirely missing (there are a couple valuable components in [1]). Without those, we can&#x27;t evaluate the behavior and possible effects of &quot;the algorithm.&quot;<p>[1] <a href="https:&#x2F;&#x2F;github.com&#x2F;twitter&#x2F;the-algorithm-ml">https:&#x2F;&#x2F;github.com&#x2F;twitter&#x2F;the-algorithm-ml</a>
评论 #35398003 未加载
评论 #35392451 未加载
评论 #35391923 未加载
评论 #35393533 未加载
评论 #35391989 未加载
评论 #35392513 未加载
评论 #35393592 未加载
评论 #35395439 未加载
评论 #35392131 未加载
评论 #35398461 未加载
评论 #35395926 未加载
评论 #35392761 未加载
评论 #35394000 未加载
评论 #35392143 未加载
评论 #35392329 未加载
评论 #35393871 未加载
corbuloabout 2 years ago
It&#x27;s disappointing the comments are so obsessed with the political angle to this that there&#x27;s a total lack of appreciation (or discussion) of opening up the most influential social media platform in the world.
评论 #35393856 未加载
评论 #35393439 未加载
评论 #35396742 未加载
评论 #35394682 未加载
评论 #35394237 未加载
评论 #35397784 未加载
评论 #35394647 未加载
评论 #35394168 未加载
评论 #35395984 未加载
评论 #35408202 未加载
评论 #35395582 未加载
phailhausabout 2 years ago
Great! But nothing is going to change until people realize that the problem is the <i>feedback loop</i>. It&#x27;s not the recommendation engine itself, it&#x27;s the fact that there&#x27;s no way &quot;out&quot; of the feed that the engine produces. It recommends you stuff, you have little choice but to engage with it, and then <i>it trains on that information</i>.<p>This is the problem with most of social media today. It is a very well known problem in ML [1], but nobody is willing to do anything about it because it&#x27;s a fundamental UX change. Facebook, Twitter, YouTube, TikTok, they have <i>defined</i> themselves by their recommendation engines.<p>[1] <a href="https:&#x2F;&#x2F;towardsdatascience.com&#x2F;dangerous-feedback-loops-in-ml-e9394f2e8f43" rel="nofollow">https:&#x2F;&#x2F;towardsdatascience.com&#x2F;dangerous-feedback-loops-in-m...</a>
评论 #35392911 未加载
评论 #35392655 未加载
评论 #35394179 未加载
评论 #35394320 未加载
评论 #35402635 未加载
评论 #35399826 未加载
评论 #35399604 未加载
PenguinRevolverabout 2 years ago
Great pull request here which improves the algorithm: <a href="https:&#x2F;&#x2F;github.com&#x2F;twitter&#x2F;the-algorithm&#x2F;pull&#x2F;17">https:&#x2F;&#x2F;github.com&#x2F;twitter&#x2F;the-algorithm&#x2F;pull&#x2F;17</a>
评论 #35391991 未加载
评论 #35393315 未加载
评论 #35391856 未加载
评论 #35393923 未加载
评论 #35392649 未加载
评论 #35397777 未加载
评论 #35394556 未加载
评论 #35391803 未加载
评论 #35391831 未加载
评论 #35392128 未加载
jillesvangurpabout 2 years ago
The irony is that I prefer Mastodon&#x27;s sort by time and don&#x27;t try to be clever approach to this expensive and futile attempt to feed me an endless stream of click bait. I objectively spend more time on Mastodon than on Twitter at this point. It&#x27;s more engaging for me. It&#x27;s how Twitter used to work when it was still nice to use.<p>If Twitter wants to put a stop to the user exodus and save lots of money in the process, here&#x27;s what they could do:<p>1) Add an off switch to the for you feed. I&#x27;ll click it right away and never turn it on again. Stop wasting minutes of CPU time on my behalf. I never asked for it. It doesn&#x27;t do anything for me that I need or want.<p>2) Sort by time, filter by hashtag. Twitter used to be about real time information. I don&#x27;t care about things that happened days or weeks ago. I don&#x27;t need to see all of it. This is the core feature that made Twitter popular. Mastodon has it and it is absorbing users from Twitter by the millions. It still works. Restore this feature and make it the default.<p>3) Join the fediverse. That&#x27;s where a lot of the former hard core users went. They still exist. They still post messages. They still engage with each other. They just don&#x27;t use Twitter anymore. Allow people to follow mastodon users. Allow mastodon users to follow Twitter users. Not that hard to implement and probably would do wonders for user engagement.
评论 #35396975 未加载
评论 #35396301 未加载
HellsMaddyabout 2 years ago
Interesting:<p><pre><code> &#x2F;&#x2F; we only keep unfollows in the past 90 days due to the huge size of this dataset, &#x2F;&#x2F; and to prevent permanent &quot;shadow-banning&quot; in the event of accidental unfollows. &#x2F;&#x2F; we treat unfollows as less critical than above 4 negative signals, since it deals more with &#x2F;&#x2F; interest than health typically, which might change over time. val unfollows: SCollection[InteractionGraphRawInput] = GraphUtil .getSocialGraphFeatures( readSnapshot(SocialgraphUnfollowsScalaDataset, sc), FeatureName.NumUnfollows, endTs) .filter(_.age &lt; 90) </code></pre> <a href="https:&#x2F;&#x2F;github.com&#x2F;twitter&#x2F;the-algorithm&#x2F;blob&#x2F;main&#x2F;src&#x2F;scala&#x2F;com&#x2F;twitter&#x2F;interaction_graph&#x2F;scio&#x2F;agg_negative&#x2F;InteractionGraphNegativeJob.scala#L76-L86">https:&#x2F;&#x2F;github.com&#x2F;twitter&#x2F;the-algorithm&#x2F;blob&#x2F;main&#x2F;src&#x2F;scala...</a>
评论 #35394609 未加载
tricabout 2 years ago
From <a href="https:&#x2F;&#x2F;github.com&#x2F;twitter&#x2F;the-algorithm&#x2F;blob&#x2F;7f90d0ca342b928b479b512ec51ac2c3821f5922&#x2F;home-mixer&#x2F;server&#x2F;src&#x2F;main&#x2F;scala&#x2F;com&#x2F;twitter&#x2F;home_mixer&#x2F;functional_component&#x2F;decorator&#x2F;HomeTweetTypePredicates.scala#L225">https:&#x2F;&#x2F;github.com&#x2F;twitter&#x2F;the-algorithm&#x2F;blob&#x2F;7f90d0ca342b92...</a><p><pre><code> ( &quot;author_is_elon&quot;, candidate =&gt; candidate .getOrElse(AuthorIdFeature, None).contains(candidate.getOrElse(DDGStatsElonFeature, 0L))), ( &quot;author_is_power_user&quot;, candidate =&gt; candidate .getOrElse(AuthorIdFeature, None) .exists(candidate.getOrElse(DDGStatsVitsFeature, Set.empty[Long]).contains)), ( &quot;author_is_democrat&quot;, candidate =&gt; candidate .getOrElse(AuthorIdFeature, None) .exists(candidate.getOrElse(DDGStatsDemocratsFeature, Set.empty[Long]).contains)), ( &quot;author_is_republican&quot;, candidate =&gt; candidate .getOrElse(AuthorIdFeature, None) .exists(candidate.getOrElse(DDGStatsRepublicansFeature, Set.empty[Long]).contains)), )</code></pre>
评论 #35391896 未加载
评论 #35392681 未加载
评论 #35391776 未加载
评论 #35392662 未加载
评论 #35395000 未加载
评论 #35391936 未加载
评论 #35393995 未加载
评论 #35391874 未加载
评论 #35395546 未加载
评论 #35391778 未加载
评论 #35393665 未加载
评论 #35394136 未加载
评论 #35393793 未加载
评论 #35403451 未加载
评论 #35395460 未加载
评论 #35395506 未加载
评论 #35410697 未加载
评论 #35406752 未加载
评论 #35395003 未加载
评论 #35393594 未加载
评论 #35394842 未加载
评论 #35400595 未加载
评论 #35395014 未加载
评论 #35396001 未加载
评论 #35394291 未加载
评论 #35410759 未加载
评论 #35393559 未加载
评论 #35395993 未加载
评论 #35404359 未加载
评论 #35392524 未加载
koolbaabout 2 years ago
It&#x27;s reassuring to know that billion dollar tech companies write CI exactly like I do:<p><a href="https:&#x2F;&#x2F;github.com&#x2F;twitter&#x2F;the-algorithm&#x2F;blob&#x2F;main&#x2F;ci&#x2F;ci.sh">https:&#x2F;&#x2F;github.com&#x2F;twitter&#x2F;the-algorithm&#x2F;blob&#x2F;main&#x2F;ci&#x2F;ci.sh</a><p>Permalink: <a href="https:&#x2F;&#x2F;github.com&#x2F;twitter&#x2F;the-algorithm&#x2F;blob&#x2F;7f90d0ca342b928b479b512ec51ac2c3821f5922&#x2F;ci&#x2F;ci.sh">https:&#x2F;&#x2F;github.com&#x2F;twitter&#x2F;the-algorithm&#x2F;blob&#x2F;7f90d0ca342b92...</a>
评论 #35393495 未加载
评论 #35392230 未加载
评论 #35393019 未加载
评论 #35397157 未加载
评论 #35397980 未加载
评论 #35399307 未加载
评论 #35393617 未加载
评论 #35392768 未加载
sillysaurusxabout 2 years ago
Say what you will about Elon, but this wouldn&#x27;t have happened without him. Thanks!<p>And thank you to everyone at Twitter who helped organize this release. Open sourcing something like this is no small effort.
评论 #35392341 未加载
评论 #35392178 未加载
评论 #35392205 未加载
tech234aabout 2 years ago
I wonder what the &quot;author_is_elon&quot;, &quot;author_is_power_user&quot;, &quot;author_is_democrat&quot;, and &quot;author_is_republican&quot; labels are for [1].<p>[1]: <a href="https:&#x2F;&#x2F;github.com&#x2F;twitter&#x2F;the-algorithm&#x2F;blob&#x2F;main&#x2F;home-mixer&#x2F;server&#x2F;src&#x2F;main&#x2F;scala&#x2F;com&#x2F;twitter&#x2F;home_mixer&#x2F;functional_component&#x2F;decorator&#x2F;HomeTweetTypePredicates.scala#L224-L247">https:&#x2F;&#x2F;github.com&#x2F;twitter&#x2F;the-algorithm&#x2F;blob&#x2F;main&#x2F;home-mixe...</a>
评论 #35392660 未加载
评论 #35392219 未加载
评论 #35392785 未加载
评论 #35392166 未加载
评论 #35393255 未加载
评论 #35392556 未加载
评论 #35392218 未加载
评论 #35392754 未加载
评论 #35398370 未加载
评论 #35393171 未加载
评论 #35392656 未加载
评论 #35392060 未加载
summarityabout 2 years ago
Main repos:<p>- <a href="https:&#x2F;&#x2F;github.com&#x2F;twitter&#x2F;the-algorithm">https:&#x2F;&#x2F;github.com&#x2F;twitter&#x2F;the-algorithm</a><p>- <a href="https:&#x2F;&#x2F;github.com&#x2F;twitter&#x2F;the-algorithm-ml">https:&#x2F;&#x2F;github.com&#x2F;twitter&#x2F;the-algorithm-ml</a><p>Blogs:<p>- Eng: <a href="https:&#x2F;&#x2F;blog.twitter.com&#x2F;engineering&#x2F;en_us&#x2F;topics&#x2F;open-source&#x2F;2023&#x2F;twitter-recommendation-algorithm" rel="nofollow">https:&#x2F;&#x2F;blog.twitter.com&#x2F;engineering&#x2F;en_us&#x2F;topics&#x2F;open-sourc...</a><p>- Biz: <a href="https:&#x2F;&#x2F;blog.twitter.com&#x2F;en_us&#x2F;topics&#x2F;company&#x2F;2023&#x2F;a-new-era-of-transparency-for-twitter" rel="nofollow">https:&#x2F;&#x2F;blog.twitter.com&#x2F;en_us&#x2F;topics&#x2F;company&#x2F;2023&#x2F;a-new-era...</a>
评论 #35391986 未加载
rogerallenabout 2 years ago
&quot;Today, the For You timeline consists of 50% In-Network Tweets and 50% Out-of-Network Tweets on average, though this may vary from user to user.&quot;<p>I have spent significant effort creating a network and there you go choosing to ignore my efforts by putting in 50% of crap-I-don&#x27;t-want-to-see.<p>That is why I despise your algorithm.
评论 #35392046 未加载
评论 #35392437 未加载
评论 #35393375 未加载
anderspitmanabout 2 years ago
I&#x27;m not opposed to social media feeds having complex recommendation algorithms. I just wish they allowed you to opt in to a reverse chronological feed of only people you follow, like RSS.
评论 #35391788 未加载
评论 #35391821 未加载
dansoabout 2 years ago
&gt; <i>Twitter has several Candidate Sources that we use to retrieve recent and relevant Tweets for a user. For each request, we attempt to extract the best 1500 Tweets from a pool of hundreds of millions through these sources. We find candidates from people you follow (In-Network) and from people you don’t follow (Out-of-Network).</i><p>&gt; <i>Today, the For You timeline consists of 50% In-Network Tweets and 50% Out-of-Network Tweets on average, though this may vary from user to user.</i><p>It would’ve been interesting to see what changes were made since Musk’s takeover. As someone who followed 5,000+ users, I know I never saw a tweet that wasn’t either from nor retweeted by someone I followed — e.g. I never saw those “[user you follow] liked [someone you don’t follow] tweet”<p>50%&#x2F;50% in FYP seems to reflect my experience today — which is much worse, to the point that I’ll regularly switch to viewing by List b&#x2F;c I miss seeing people who I want to read.<p>I wonder how much testing and analysis went into deciding on the 50&#x2F;50 ratio — e.g. how does it impact user engagement and behavior. Because it sounds like an easy round value that you’d land on when thinking “users should be pushed out of their bubbles”
评论 #35392641 未加载
评论 #35392600 未加载
d_scabout 2 years ago
I think they have a bug here here: <a href="https:&#x2F;&#x2F;github.com&#x2F;twitter&#x2F;the-algorithm&#x2F;blob&#x2F;7f90d0ca342b928b479b512ec51ac2c3821f5922&#x2F;home-mixer&#x2F;server&#x2F;src&#x2F;main&#x2F;scala&#x2F;com&#x2F;twitter&#x2F;home_mixer&#x2F;functional_component&#x2F;decorator&#x2F;HomeTweetTypePredicates.scala#L163">https:&#x2F;&#x2F;github.com&#x2F;twitter&#x2F;the-algorithm&#x2F;blob&#x2F;7f90d0ca342b92...</a><p>Code: ( &quot;has_gte_10k_favs&quot;, _.getOrElse(EarlybirdFeature, None).exists(_.favCountV2.exists(_ &gt;= 1000))),<p>Should be: ( &quot;has_gte_10k_favs&quot;, _.getOrElse(EarlybirdFeature, None).exists(_.favCountV2.exists(_ &gt;= 10000))),
评论 #35409089 未加载
roddylindsayabout 2 years ago
<p><pre><code> For ranking the candidates these predictions are combined into a score by weighting them: &quot;recap.engagement.is_favorited&quot;: 0.5 &quot;recap.engagement.is_good_clicked_convo_desc_favorited_or_replied&quot;: 11* (the maximum prediction from these two &quot;good click&quot; features is used and weighted by 11, the other prediction is ignored). &quot;recap.engagement.is_good_clicked_convo_desc_v2&quot;: 11* &quot;recap.engagement.is_negative_feedback_v2&quot;: -74 &quot;recap.engagement.is_profile_clicked_and_profile_engaged&quot;: 12 &quot;recap.engagement.is_replied&quot;: 27 &quot;recap.engagement.is_replied_reply_engaged_by_author&quot;: 75 &quot;recap.engagement.is_report_tweet_clicked&quot;: -369 &quot;recap.engagement.is_retweeted&quot;: 1 &quot;recap.engagement.is_video_playback_50&quot;: 0.005 </code></pre> Who set those weights, and why were they chosen?
评论 #35392798 未加载
评论 #35394574 未加载
评论 #35409107 未加载
ryzvonusefabout 2 years ago
<a href="https:&#x2F;&#x2F;twitter.com&#x2F;jarokrolewski&#x2F;status&#x2F;1641892148084629504" rel="nofollow">https:&#x2F;&#x2F;twitter.com&#x2F;jarokrolewski&#x2F;status&#x2F;1641892148084629504</a><p><pre><code> &gt; the main neural network part of @Twitter recsys algo is based on 2021 work of #SinaWeibo - Chinese clone of Twitter </code></pre> interesting claim
评论 #35393018 未加载
评论 #35398494 未加载
评论 #35393286 未加载
varjagabout 2 years ago
<i>Rank each Tweet using a machine learning model.</i><p>This does a lot of heavy lifting here.
评论 #35391759 未加载
simonsarrisabout 2 years ago
This is pretty limited. I picked a term used in the diagram to see what I could find out about it. But there seems to be <i>next to nothing</i> in the released code about the mentioned &quot;author diversity&quot;. No real code or description.
评论 #35392335 未加载
crop_rotationabout 2 years ago
Wouldn&#x27;t any such system depend on 10 other internal systems, 20 databases directly or indirectly, each affecting the behaviour of the recommendation engine. That makes me doubtful studying such a recommendation engine is any better than a purely academic exercise.
评论 #35391755 未加载
评论 #35391698 未加载
评论 #35391692 未加载
jonkneeabout 2 years ago
projects&#x2F;home&#x2F;recap&#x2F;FEATURES.md has some interesting stuff:<p><a href="https:&#x2F;&#x2F;github.com&#x2F;twitter&#x2F;the-algorithm-ml&#x2F;blob&#x2F;main&#x2F;projects&#x2F;home&#x2F;recap&#x2F;FEATURES.md">https:&#x2F;&#x2F;github.com&#x2F;twitter&#x2F;the-algorithm-ml&#x2F;blob&#x2F;main&#x2F;projec...</a><p>In realgraph you can see some of the things they keep track of, which include what you have in your address book, total time spent &quot;dwelling&quot; and a few other interesting nuggets.
评论 #35395261 未加载
paxysabout 2 years ago
Since this is what most people are going to want to see:<p>&gt; We also took additional steps to ensure that user safety and privacy would be protected, including our decision not to release training data or model weights associated with the Twitter algorithm at this point.
评论 #35396079 未加载
paxysabout 2 years ago
While open sourcing code is always great, and kudos on them for doing so, let&#x27;s be real most people didn&#x27;t care about the internal plumbing of how their recommendation system runs. It&#x27;s going to be a mess of decades old code, microservices and ML pipelines just like one would expect. If you want to dig deeper to check for biases (the reason they claimed to be open sourcing it in the first place), you will however run into:<p>&gt; We also took additional steps to ensure that user safety and privacy would be protected, including our decision not to release training data or model weights associated with the Twitter algorithm at this point.<p>which is a shame.
etc_passwdabout 2 years ago
Democrats &#x2F; Republicans looks like it was added outside of SDLC [1]. This order without those features is sorted, likely by a linter, suggesting Elon and Vits are properly implemented, and Democrats&#x2F;Republicans was just inserted alongside the Elon feature, perhaps just for this extract. Sorting it now results in a different order than the commit.<p>[1]: <a href="https:&#x2F;&#x2F;github.com&#x2F;twitter&#x2F;the-algorithm&#x2F;blob&#x2F;7f90d0ca342b928b479b512ec51ac2c3821f5922&#x2F;home-mixer&#x2F;server&#x2F;src&#x2F;main&#x2F;scala&#x2F;com&#x2F;twitter&#x2F;home_mixer&#x2F;functional_component&#x2F;feature_hydrator&#x2F;RequestQueryFeatureHydrator.scala#L36-L57">https:&#x2F;&#x2F;github.com&#x2F;twitter&#x2F;the-algorithm&#x2F;blob&#x2F;7f90d0ca342b92...</a>
评论 #35393507 未加载
tricabout 2 years ago
GitHub repo: <a href="https:&#x2F;&#x2F;github.com&#x2F;twitter&#x2F;the-algorithm&#x2F;">https:&#x2F;&#x2F;github.com&#x2F;twitter&#x2F;the-algorithm&#x2F;</a>
评论 #35391511 未加载
评论 #35391743 未加载
评论 #35391517 未加载
jongjongabout 2 years ago
WTF is AuthorIsEligibleForConnectBoostFeature? I guess this may explain why some people seem to accumulate a lot of followers very quickly while all those trying to grow organically seem to struggle. You can imagine if a lot of people benefit from this Connect Boost feature, it would make it impossible for others to be noticed through the noise created by all of these boosted individuals. That&#x27;s essentially what Twitter feels like ATM. Recently, I manually unfollowed anyone who I suspect may have received a special boost from the algorithms.
Me1000about 2 years ago
Squashing the commit history before releasing it was an interesting (and completely predictable) decision.
评论 #35392554 未加载
评论 #35392595 未加载
评论 #35393794 未加载
sudo_navenduabout 2 years ago
Weights on different metrics. From <a href="https:&#x2F;&#x2F;github.com&#x2F;twitter&#x2F;the-algorithm&#x2F;blob&#x2F;ec83d01dcaebf369444d75ed04b3625a0a645eb9&#x2F;cr-mixer&#x2F;server&#x2F;src&#x2F;main&#x2F;scala&#x2F;com&#x2F;twitter&#x2F;cr_mixer&#x2F;similarity_engine&#x2F;EarlybirdTensorflowBasedSimilarityEngine.scala#L142">https:&#x2F;&#x2F;github.com&#x2F;twitter&#x2F;the-algorithm&#x2F;blob&#x2F;ec83d01dcaebf3...</a><p>private def getLinearRankingParams: ThriftRankingParams = { ThriftRankingParams( `type` = Some(ThriftScoringFunctionType.Linear), minScore = -1.0e100, retweetCountParams = Some(ThriftLinearFeatureRankingParams(weight = 20.0)), replyCountParams = Some(ThriftLinearFeatureRankingParams(weight = 1.0)), reputationParams = Some(ThriftLinearFeatureRankingParams(weight = 0.2)), luceneScoreParams = Some(ThriftLinearFeatureRankingParams(weight = 2.0)), textScoreParams = Some(ThriftLinearFeatureRankingParams(weight = 0.18)), urlParams = Some(ThriftLinearFeatureRankingParams(weight = 2.0)), isReplyParams = Some(ThriftLinearFeatureRankingParams(weight = 1.0)), favCountParams = Some(ThriftLinearFeatureRankingParams(weight = 30.0)), langEnglishUIBoost = 0.5, langEnglishTweetBoost = 0.2, langDefaultBoost = 0.02, unknownLanguageBoost = 0.05, offensiveBoost = 0.1, inTrustedCircleBoost = 3.0, multipleHashtagsOrTrendsBoost = 0.6, inDirectFollowBoost = 4.0, tweetHasTrendBoost = 1.1, selfTweetBoost = 2.0, tweetHasImageUrlBoost = 2.0, tweetHasVideoUrlBoost = 2.0, useUserLanguageInfo = true, ageDecayParams = Some(ThriftAgeDecayRankingParams(slope = 0.005, base = 1.0)) ) }
evantahlerabout 2 years ago
So uh... they use BigQuery and here&#x27;s the dataset <a href="https:&#x2F;&#x2F;github.com&#x2F;twitter&#x2F;the-algorithm&#x2F;blob&#x2F;main&#x2F;ann&#x2F;src&#x2F;main&#x2F;python&#x2F;dataflow&#x2F;bq.sql#LL1C51-L1C105">https:&#x2F;&#x2F;github.com&#x2F;twitter&#x2F;the-algorithm&#x2F;blob&#x2F;main&#x2F;ann&#x2F;src&#x2F;m...</a>
rco8786about 2 years ago
So as expected, there is exactly nothing that favors posters from one side of the political spectrum. I don&#x27;t expect that this article will do anything to calm down those who are convinced otherwise though.<p>Well written article, from an engineer&#x27;s perspective.
评论 #35392647 未加载
评论 #35396394 未加载
评论 #35394126 未加载
评论 #35394568 未加载
Egoistabout 2 years ago
Aaaand the issues turned into a shitpost
评论 #35394341 未加载
评论 #35392398 未加载
quotemstrabout 2 years ago
Typically, we expect to be able to run &quot;open source&quot; software ourselves. If you open-source your C compiler, I can compile a C program with it. In a few recent high-profile cases though, companies have &quot;open sourced&quot; ML systems without releasing the model weights. This practice is just like your releasing the builds scripts for your C compiler, but not the compiler itself. While more transparency from social media will be enlightening, calling a release like this (or LLaMA) &quot;open source&quot; feels like equivocation. I&#x27;d love to see more full releases, weights included.
评论 #35392045 未加载
robopsychologyabout 2 years ago
Why are there two spaces instead of four in this Python code, it hurts my soul
评论 #35392376 未加载
评论 #35392364 未加载
评论 #35398677 未加载
评论 #35393859 未加载
评论 #35393275 未加载
Laaasabout 2 years ago
Praise where praise is due. Wasn&#x27;t completely sure whether they would in fact release it or keep posturing.
srousseyabout 2 years ago
Does it show the part where is recommends Elon more than anyone else?
评论 #35391963 未加载
评论 #35391909 未加载
评论 #35391985 未加载
评论 #35391828 未加载
dangabout 2 years ago
Url changed from <a href="https:&#x2F;&#x2F;github.com&#x2F;twitter&#x2F;the-algorithm-ml">https:&#x2F;&#x2F;github.com&#x2F;twitter&#x2F;the-algorithm-ml</a>, which points to this.
abalajiabout 2 years ago
huh, legit open source too with &#x27;Affero-GPL&#x27;
评论 #35392087 未加载
juntoabout 2 years ago
Did anyone else notice this below? I can’t even begin to imagine how many CPU’s that would require and what the cost must be… just for a recommendation engine.<p>&gt; The pipeline above runs approximately 5 billion times per day and completes in under 1.5 seconds on average. A single pipeline execution requires 220 seconds of CPU time, nearly 150x the latency you perceive on the app.
评论 #35398884 未加载
sho_hnabout 2 years ago
My main questions: Will these repositories be used in production by Twitter? Is this now the mainline, not a semi-regularly-synced mirror?
评论 #35392469 未加载
评论 #35392664 未加载
Weidenwalkerabout 2 years ago
I visualized this codebase here: <a href="https:&#x2F;&#x2F;codeatlas.dev&#x2F;github&#x2F;codeatlasHQ&#x2F;the-algorithm&#x2F;main" rel="nofollow">https:&#x2F;&#x2F;codeatlas.dev&#x2F;github&#x2F;codeatlasHQ&#x2F;the-algorithm&#x2F;main</a><p>Maybe this is helpful to anyone for navigating what&#x27;s in there!
froggychairsabout 2 years ago
Why is nobody pointing out that this is likely an April Fools joke? We just deployed our April Fools joke into production today too.
评论 #35392870 未加载
评论 #35393599 未加载
thumbsup-_-about 2 years ago
The barebones ReadMe makes me feel this repository was open-sourced against the wish of engineers and with a top down directive
评论 #35393195 未加载
mateszabout 2 years ago
It is really nice to see how bazel is used in the wild. It looks so clean. Why we are not using it for everything?
评论 #35397827 未加载
ryanisnanabout 2 years ago
I want to go back to a world where there isn&#x27;t an algorithm feeding me what someone &quot;thinks&quot; I want to read.<p>I want to see a chronological list of things sources I follow have posted.<p>Yes, I understand you can do this on Twitter still, but I would guess most people are more influenced by &quot;the algorithm&quot;.
stusmallabout 2 years ago
I thought it was an april fools joke when I saw this: <a href="https:&#x2F;&#x2F;github.com&#x2F;twitter&#x2F;the-algorithm&#x2F;blob&#x2F;main&#x2F;ci&#x2F;ci.sh">https:&#x2F;&#x2F;github.com&#x2F;twitter&#x2F;the-algorithm&#x2F;blob&#x2F;main&#x2F;ci&#x2F;ci.sh</a><p>Like a dig at the code quality.
评论 #35393565 未加载
bagelsabout 2 years ago
&quot;Written by the Twitter Team&quot;<p>I found it interesting that there is no attribution. Most other companies list the authors on engineering blogs (eg. Facebook, Uber, etc.)<p>This topic seems to draw the attention of unhinged people, so I suppose I wouldn&#x27;t want my name on it either.
评论 #35394806 未加载
NicoJuicyabout 2 years ago
Are they measuring getting more republican posts? Because I&#x27;m getting a ton of those, which i constantly need to mute and ban ( mostly dumb remarks).<p>And i don&#x27;t even live in the US.<p>It would explain why they are tracking it, to increase visibility.
AlbertCoryabout 2 years ago
I haven&#x27;t read the &quot;algorithm&quot; and this observation might be seriously out of date, but:<p>for Google Ads, you couldn&#x27;t easily know what ads would be shown for a given query, without a whole lot of data that&#x27;s not contained in any code: the experiment settings in the server, for one thing. And the user who&#x27;s doing the query, for another.<p>An &quot;experiment&quot; could apply to 100% of the traffic, so it&#x27;s not really an experiment anymore. And even if you <i>think</i> X has been put into production, there is still a &quot;holdback&quot; experiment, where some part of the traffic does not get X applied to it.
rblionabout 2 years ago
First thing I would like to see gone is business bros sharing &#x27;guides&#x27; after you follow them, threatening to start charging real soon. Go fuck yourself, get a real job.
oulu2006about 2 years ago
&lt;tounge-in-cheek&gt; didn&#x27;t twitter already opensource their code?<p><a href="https:&#x2F;&#x2F;www.databreachtoday.com&#x2F;twitter-says-source-code-leaked-on-github-files-subpoena-a-21536?rf=2023-03-28_ENEWS_ACQ_DBT__Slot1_ART21536&amp;mkt_tok=MDUxLVpYSS0yMzcAAAGKxplP5P-4WFZ4Ilq1JKRdIP9IFavk2i8CqKpW-EENIAL26VvYZiVT720unDQ5tO8Ttx_1Adnr8nuqtkc85L82W6S9Jw7G7UL8Zb79uOv4nhU4Ikgy" rel="nofollow">https:&#x2F;&#x2F;www.databreachtoday.com&#x2F;twitter-says-source-code-lea...</a>
cmcknabout 2 years ago
Including the search engine itself in “the algorithm” repo is an interesting choice. Obviously it’s a major player in what gets returned to clients, but the details of that infrastructure aren’t really relevant and is a notable portion of their secret sauce.<p><a href="https:&#x2F;&#x2F;github.com&#x2F;twitter&#x2F;the-algorithm&#x2F;tree&#x2F;main&#x2F;src&#x2F;java&#x2F;com&#x2F;twitter&#x2F;search">https:&#x2F;&#x2F;github.com&#x2F;twitter&#x2F;the-algorithm&#x2F;tree&#x2F;main&#x2F;src&#x2F;java&#x2F;...</a>
vonwoodsonabout 2 years ago
Folks talk about media bias: Twitter popularity <i>is</i> a media bias. It’s the most lazy journalism to be able to write a “news” article about what Kim, or Don, or Elon’s PR team tweeted. But, as far as “social” this media is: Twitter is a one-way street. There’s no one actually responding or interacting with Tweets. It’s just a comment section to flame bait.<p>Maybe we’ll all get lucky and Elon will cause Twitter to go away forever.
amqabout 2 years ago
Surprised no one mentioned this:<p><pre><code> s.SpaceSafetyLabelType.MedicalMisinfo -&gt; MedicalMisinfo, s.SpaceSafetyLabelType.GenericMisinfo -&gt; GenericMisinfo, s.SpaceSafetyLabelType.DmcaWithheld -&gt; DmcaWithheld, s.SpaceSafetyLabelType.HatefulHighRecall -&gt; HatefulHighRecall, ... s.SpaceSafetyLabelType.UkraineCrisisTopic -&gt; UkraineCrisisTopic, </code></pre> <a href="https:&#x2F;&#x2F;github.com&#x2F;twitter&#x2F;the-algorithm&#x2F;blob&#x2F;ec83d01dcaebf369444d75ed04b3625a0a645eb9&#x2F;visibilitylib&#x2F;src&#x2F;main&#x2F;scala&#x2F;com&#x2F;twitter&#x2F;visibility&#x2F;models&#x2F;SpaceSafetyLabelType.scala#L39">https:&#x2F;&#x2F;github.com&#x2F;twitter&#x2F;the-algorithm&#x2F;blob&#x2F;ec83d01dcaebf3...</a>
评论 #35408781 未加载
belterabout 2 years ago
Unless a trusted third party, forensically audits Twitter, there is no guarantee the published code corresponds to the actual live code in Production. Also multiple parts are not present as stated in the blog.<p>This should be seen as a possible snapshot of some code, that might have run, might run in the future, or is possibly running in some parts of the production infrastructure at Twitter.
frobabout 2 years ago
Well that was a giant nothing-burger. This seems to be your standard ranking stack. We find candidates based on who you follow, who they follow, who is trending, and what we think you like. We then rank them based on how likely you are to engage with them and continue to come back and give us money via our subscription service and ad views. We then try to remove spam and other negative experiences.<p>Where&#x27;s the beef?
Reason077about 2 years ago
One flaw I&#x27;ve noticed in Twitter&#x27;s recommendations recently is the tendency to send notifications for &quot;BREAKING NEWS&quot;-type Tweets. Great, except they&#x27;re usually for news that happened in the past - typically 12-24 hours ago!<p>The algorithm really needs to recognise when tweets are time-sensitive and not recommend them just because they got a lot of engagement the previous day!
pramabout 2 years ago
I wonder what determines &#x27;cred&#x27; for this part:<p><a href="https:&#x2F;&#x2F;github.com&#x2F;twitter&#x2F;the-algorithm&#x2F;blob&#x2F;7f90d0ca342b928b479b512ec51ac2c3821f5922&#x2F;src&#x2F;java&#x2F;com&#x2F;twitter&#x2F;search&#x2F;earlybird&#x2F;search&#x2F;queries&#x2F;BadUserRepFilter.java">https:&#x2F;&#x2F;github.com&#x2F;twitter&#x2F;the-algorithm&#x2F;blob&#x2F;7f90d0ca342b92...</a>
评论 #35391942 未加载
beebmamabout 2 years ago
I don&#x27;t use Twitter, but this is awesome. I hope this will help more people realize how complex it is to build and operate web services.
kossTKRabout 2 years ago
I&#x27;ve pretty much ignored all of the superficial political theatre but noticed the actual algo worsening over the last 6 months.<p>I get way to much random crap now, promoted tweets, &quot;thing that might interest me&quot;, users that seem to never get on my feed etc.<p>Twitter seems to go in the direction of all other social media, feeds that are 100% digital crack with no way to control your media diet.
HAL3000about 2 years ago
Expect to see A LOT more spam on Twitter after this release. It&#x27;s like giving SEO spammers access to google search ranking algorithm.
评论 #35394557 未加载
评论 #35394550 未加载
muratsuabout 2 years ago
Given the complex relationship between advertisers, platform, and users I don&#x27;t know if any meaningful contribution can be made to the algorithm without pissing anyone off. The following tab already gave people who&#x27;re not interested in algo recommendations a way out. I don&#x27;t quite understand the reasoning behind open sourcing the algorithm. Any thoughts?
WhereIsTheTruthabout 2 years ago
Is it even what they use in production?<p>There is code that favor Elon&#x27;s tweets so I&#x27;d yes that&#x27;s probably what they use
评论 #35392325 未加载
评论 #35392306 未加载
anshumankmrabout 2 years ago
Oh god... The MR&#x27;s opened today are the craziest ones ever. <a href="https:&#x2F;&#x2F;github.com&#x2F;twitter&#x2F;the-algorithm&#x2F;pulls?q=is%3Apr+is%3Aopen+sort%3Aupdated-desc">https:&#x2F;&#x2F;github.com&#x2F;twitter&#x2F;the-algorithm&#x2F;pulls?q=is%3Apr+is%...</a><p>They made my morning
ourafabout 2 years ago
Honestly, there&#x27;s too much garbage in the code dump they made.<p>Maybe an UML graph or even a presentation or written guide on how they measure and apply each weigh or group policy would make it easier to have some solid take on how it works
perceptronasabout 2 years ago
It seems most of the code in the repository is just simple Scala. Codebase is easy to read and understand.<p>I don&#x27;t see any Typelevel stuff. This probably lets them hire and train engineers faster while still gaining most of the benefits<p>I hope this will encourage more companies to pick Scala.
13yearsabout 2 years ago
A feature proposal to put you in control of the algorithm<p><a href="https:&#x2F;&#x2F;github.com&#x2F;twitter&#x2F;the-algorithm&#x2F;issues&#x2F;1363">https:&#x2F;&#x2F;github.com&#x2F;twitter&#x2F;the-algorithm&#x2F;issues&#x2F;1363</a>
jerrygoyalabout 2 years ago
&gt; The goal of our open source endeavor is to provide full transparency to you, our users, about how our systems work<p>the majority of users didn&#x27;t ask for the this so not sure what&#x27;s the exact motive behind thier efforts. it could be a PR stunt.
wslhabout 2 years ago
It&#x27;s the data, stupid [1] (not the algorithm).<p>[1] <a href="https:&#x2F;&#x2F;en.wikipedia.org&#x2F;wiki&#x2F;It%27s_the_economy,_stupid" rel="nofollow">https:&#x2F;&#x2F;en.wikipedia.org&#x2F;wiki&#x2F;It%27s_the_economy,_stupid</a>
evntdrvnabout 2 years ago
it would be super interesting if when logged in to Twitter, you could take a look at your current calculated scores&#x2F;weights for all the params that are part of these algorithms. Similar to the Netflix &quot;Stats for nerds&quot; menu...
WAabout 2 years ago
Will this make it easier to game the algo or does it depend so heavily on individual user interaction that it’s close to impossible to game it? For example, by carefully crafting Tweets or by buying likes&#x2F;retweets etc?
tcmart14about 2 years ago
Repo has 1.5% rust code and no<p><pre><code> author_is_uwu </code></pre> That is the biggest problem.
rvzabout 2 years ago
If Twitter was &#x27;dead&#x27; why on earth are we still talking so much about this blue bird site?<p>It looks like once again these lot predicting that he won&#x27;t open source the algorithm and are going to start eating their words again [0], just like they did around incorrectly predicting Twitter&#x27;s <i>immediate</i> collapse [1] and will look at the source code anyway and continue to talk about &quot;Twitter&quot; again.<p>If Twitter can open-source their algorithm, Why not TikTok? Either way, the bots are now going to have a very expensive time on Twitter.<p>[0] <a href="https:&#x2F;&#x2F;news.ycombinator.com&#x2F;item?id=35213213" rel="nofollow">https:&#x2F;&#x2F;news.ycombinator.com&#x2F;item?id=35213213</a><p>[1] <a href="https:&#x2F;&#x2F;news.ycombinator.com&#x2F;item?id=33701371" rel="nofollow">https:&#x2F;&#x2F;news.ycombinator.com&#x2F;item?id=33701371</a>
评论 #35392558 未加载
woolionabout 2 years ago
So, the day after the headline that Twitter is artificially promoting polarizing political voices, Twitter open-sources their algorithm!<p>What does the commit history say? There are 3 commits, like a very very real programming project. The issues and pull requests show how much people are fooled by this very transparent move.<p>So this is an obvious attempt at a digital potemkin village, that like the real one, poorly succeeds in hiding the truth. Elon does not not want to upset the apple cart (political economical or ideological) but make his followers believe in it, and so we get this. Great spectacle, if that&#x27;s what you&#x27;re interested in.
hotpathdevabout 2 years ago
The issue tracker and pull requests are being hit with very funny suggestions. Many people suspect this is an April Fools joke. It&#x27;s possible this entire repo was generated by a LLM to appear plausible.<p>I especially like the suggestions to rewrite the algorithm in Rust [1] and this pull request which simplifies the algorithm to a single c file [2].<p>[1] <a href="https:&#x2F;&#x2F;github.com&#x2F;twitter&#x2F;the-algorithm&#x2F;issues?q=is%3Aissue+rust+">https:&#x2F;&#x2F;github.com&#x2F;twitter&#x2F;the-algorithm&#x2F;issues?q=is%3Aissue...</a> [2] <a href="https:&#x2F;&#x2F;github.com&#x2F;twitter&#x2F;the-algorithm&#x2F;pull&#x2F;712">https:&#x2F;&#x2F;github.com&#x2F;twitter&#x2F;the-algorithm&#x2F;pull&#x2F;712</a>
say_it_as_it_isabout 2 years ago
And yet they require their software engineer applicants to be well versed in algorithms and data structures? These tech company managers know nothing about how the sausage is made.
picturabout 2 years ago
It&#x27;s a really scary codebase. Do you really need that much code for the world&#x27;s crappiest recommendation algorithm? I think you can do more crap with less code. we trust you elon.
mkl95about 2 years ago
I couldn&#x27;t care less about Twitter&#x27;s high level abstractions. They were never renowned for those. Their database schemas and infrastructure on the other hand...
javajoshabout 2 years ago
Is there demand for a service that simply shows you the things the people you follow wrote? (It would be up to you not follow so many people that you can&#x27;t keep up.)
Repturabout 2 years ago
They didn&#x27;t open source the data the censoring abusive, toxicity, and nsfw the algorithms check against, so I&#x27;d call it a partial open-sourcing.
cwkossabout 2 years ago
The twitter algorithm sucks balls and heavily overweights who&#x27;s paid for a checkmark.<p>The default feed view has grown increasingly useless over the past ~6 months.
评论 #35393091 未加载
pledessabout 2 years ago
there may be a hint of which elections were of interest:<p><a href="https:&#x2F;&#x2F;github.com&#x2F;twitter&#x2F;the-algorithm&#x2F;blob&#x2F;7f90d0ca342b928b479b512ec51ac2c3821f5922&#x2F;visibilitylib&#x2F;src&#x2F;main&#x2F;scala&#x2F;com&#x2F;twitter&#x2F;visibility&#x2F;models&#x2F;TweetSafetyLabel.scala#L175-L179">https:&#x2F;&#x2F;github.com&#x2F;twitter&#x2F;the-algorithm&#x2F;blob&#x2F;7f90d0ca342b92...</a>
jml2about 2 years ago
( &quot;has_toxicity_score_above_threshold&quot;, _.getOrElse(EarlybirdFeature, None).exists(_.toxicityScore.exists(_ &gt; 0.91)) )
评论 #35393649 未加载
infamouscowabout 2 years ago
I&#x27;m glad to see this is licensed AGPL. I hope this sets a precedent for everyone else in the space to do the same.
abdnafeesabout 2 years ago
I think it&#x27;s April fools. It&#x27;s a joke at the expense of open source and should be taken down ASAP.
jeffbeeabout 2 years ago
Why does anyone use &quot;for you&quot;?
评论 #35399208 未加载
评论 #35400210 未加载
评论 #35395551 未加载
评论 #35392938 未加载
评论 #35392122 未加载
whalesaladabout 2 years ago
Two space indent in .py? Provocative.
m1117about 2 years ago
As I understand, they open sourced only the abstraction, but still have a way to control anything.
capablewebabout 2 years ago
I&#x27;m no fan of either Twitter nor Elon Musk, but this is a great move and I hope other companies follow what Twitter did here and start open sourcing more core parts like this. Maybe it&#x27;s mostly useful for learning how it works, not for directly using it in your own product, but the amount of transparency it gives users cannot be understated. As long as that actually is the code they run, but there would be no way for anyone but Twitter to verify that.
评论 #35392748 未加载
firstSpeakerabout 2 years ago
Would it be developed in open as well or there will be frequent merge from their internal repos?
doolsabout 2 years ago
And yet my Twitter feed was always so boring.<p>Reminds me of the Sirius Cybernetics Nutri-matic drinks machine.
systemvoltageabout 2 years ago
Astounding amount of cynicism here, so I&#x27;ll say something positive: Transparency is undoubtly important, I&#x27;m glad we can see how all of this works and what sort of effort goes into building a social media system. It&#x27;s licensed under GPL which is a bummer (would have preferred BSD) but it&#x27;s better than nothing.
评论 #35391992 未加载
评论 #35392200 未加载
bastardoperatorabout 2 years ago
My favorite is ci&#x2F;ci.sh<p><pre><code> #!&#x2F;bin&#x2F;sh exit 0</code></pre>
kilianinboxabout 2 years ago
Summary this far • Code from Twitter&#x27;s algorithm GitHub repository shared • Algorithm checks for specific author types (e.g., Elon Musk, power users, Democrats, Republicans) • Author ID lists used for metrics collection in A&#x2F;B experimentation platform • Metrics tracked in A&#x2F;B tests to avoid negative impacts on specific groups • VIPs like Musk, LeBron James, AOC used as indicators for algorithm&#x27;s behavior • Algorithm changes that negatively affect Musk unlikely to go live • Speculation about code changes pre- and post-Elon&#x27;s purchase of Twitter • Discussion on the importance of measuring and testing for potential biases • Debate on moral decisions in the context of Twitter&#x27;s algorithm and content moderation
inparenabout 2 years ago
Issue list is growing rapidly for a repo created an hour ago.
评论 #35393021 未加载
bluelightning2kabout 2 years ago
Late to the party here so unlikely anyone sees this comment. But the double take for me was seeing the article end with &quot;if this sounds interesting to you, come join us!&quot;
benatkinabout 2 years ago
Party in the issues: <a href="https:&#x2F;&#x2F;github.com&#x2F;twitter&#x2F;the-algorithm&#x2F;issues">https:&#x2F;&#x2F;github.com&#x2F;twitter&#x2F;the-algorithm&#x2F;issues</a>
paulddraperabout 2 years ago
&gt; 1.4k forks<p>Wow, we&#x27;re getting some collaboration going!
Thaxllabout 2 years ago
Let&#x27;s dig into Twitter code quality.
评论 #35391841 未加载
throwaway689236about 2 years ago
It&#x27;s better than nothing.
drakonkaabout 2 years ago
Is this not an April Fools joke?
diebeforei485about 2 years ago
Kudos for open-sourcing this.
voz_about 2 years ago
hmmm <a href="https:&#x2F;&#x2F;github.com&#x2F;search?q=repo%3Atwitter%2Fthe-algorithm-ml+torch.comile&amp;type=code">https:&#x2F;&#x2F;github.com&#x2F;search?q=repo%3Atwitter%2Fthe-algorithm-m...</a><p>Twitter hmu if you need help trying Pytorch 2.0 ;)
elashriabout 2 years ago
I wonder if it will be possible in one day to know what is values of `author_is_power_user`, `author_is_democrat` and `author_is_republican` for your account. Does GDPR help with that? probably not because maybe they do it for people inside the us only so it is not related to EU anyway.
bilekasabout 2 years ago
I&#x27;m supposed to be going out in 20 mins....
throwayyy479087about 2 years ago
You gotta hand it to Elon - he actually did it.
评论 #35391641 未加载
评论 #35391680 未加载
评论 #35392429 未加载
评论 #35391981 未加载
评论 #35391738 未加载
评论 #35392553 未加载
评论 #35391647 未加载
distrillabout 2 years ago
the-algorithm is such a pretentious name for a repo
评论 #35391914 未加载
评论 #35391952 未加载
anoncowabout 2 years ago
This is the latest comment.
评论 #35400501 未加载
Patrickmiabout 2 years ago
Didn’t Elon check the codebase before open sourcing it, like was he expecting everyone to be happy when seeing author_is_elon ?
ericzawoabout 2 years ago
It&#x27;s really dismaying watching the space man light this website on fire.<p><a href="https:&#x2F;&#x2F;twitter.com&#x2F;alexblechman&#x2F;status&#x2F;1641905502043926530?s=46&amp;t=gdzyd7ke8OVzSFH62rz2Fg" rel="nofollow">https:&#x2F;&#x2F;twitter.com&#x2F;alexblechman&#x2F;status&#x2F;1641905502043926530?...</a>
photochemsynabout 2 years ago
I generally have a very low opinion of social media platforms, but I did create a Twitter account for the first time after Musk bought the platform.<p>My conclusion is that it&#x27;s basically entertainment, with very little of what I&#x27;d call high-quality useful information that deserves further examination (unlike a lot of HN posts, in contrast). I also notice something of a Tik-Tok approach to video being implemented, which is not surprising given Tik-Tok&#x27;s success (and makes one wonder who exactly it is lobbying so hard for a Tik-Tok ban, and whether it&#x27;s just a commercial competition issue more than anything else).<p>As far as the recommendation algorithm, it appears to be a siloing setup - look at content of one particular flavor, it gives you more of that flavor. A &#x27;flush settings&#x27; or &#x27;forget browsing history&#x27; or &#x27;reset to defaults&#x27; button would be useful, if probably not what advertisers want in terms of delivering to target audiences. I suppose setting up multiple accounts is something of a solution, although too much effort to be that interesting.<p>In terms of news reports, it&#x27;s broader in scope than traditional corporate media outlets, so that&#x27;s a plus in its favor. Reliability is perhaps similar (i.e. low).
评论 #35392759 未加载