Mastodon tooters also tweet
Mastodon tooters also tweet
I lasted tweeted on Dec 22. (It was, unsurprisingly, a link to a blog post about Mastodon.) Today I wondered what percentage of the people who appear in my Mastodon timeline today also appeared on Twitter today.
To start, I wrote this query, which tries to match Twitter and Mastodon usernames. When it finds a match, it reports the day on which that person last tweeted.
with mastodon as ( select substring(username from 1 for 15) as username, -- twitter names are max 15 chars 'from:' || substring(username from 1 for 15) as query -- we will query twitter using, e.g., 'from:judell' from mastodon_toot where timeline = 'home' limit 500 ) select m.username as mastodon_person, t.author->>'username' as twitter_person, max(to_char(t.created_at, 'YYYY-MM-DD')) as last_tweet_day from mastodon m left join twitter_search_recent t -- see https://hub.steampipe.io/plugins/turbot/twitter/tables/twitter_search_recent on t.query = m.query group by mastodon_person, twitter_person order by last_tweet_day desc
This is my favorite kind of Steampipe query: two different APIs, each represented as a Postgres table, combined with a SQL JOIN
.
The result looks like this, with nulls for failed matches.
+-----------------+-----------------+----------------+ | mastodon_person | twitter_person | last_tweet_day | +-----------------+-----------------+----------------+ | AlanSill | null | null | | Colarusso | null | null | | ... | | williamgunn | null | null | | xian | null | null | | ... | | futurebird | futurebird | 2022-12-29 | | glynmoody | glynmoody | 2022-12-29 | | ... | | khinsen | khinsen | 2022-12-23 | | blaine | blaine | 2022-12-23 | +-----------------+-----------------+----------------+
Next I created a table from the above query.
create table public.mastdon_twitter as -- sql as above
And then ran this query.
select last_tweet_day, count(*) from mastodon_twitter where last_tweet_day is not null group by last_tweet_day order by last_tweet_day desc
Here’s the result.
+----------------+-------+ | last_tweet_day | count | +----------------+-------+ | 2022-12-29 | 36 | | 2022-12-28 | 6 | | 2022-12-27 | 1 | | 2022-12-26 | 1 | | 2022-12-25 | 2 | | 2022-12-23 | 2 | +----------------+-------+
The 500 toots represented here were created by 93 people who tooted today.
select count(*) from mastodon_twitter +-------+ | count | +-------+ | 93 | +-------+
Of those 93 people, 48 have matching usernames.
select count(*) from mastodon_twitter where last_tweet_day is not null +-------+ | count | +-------+ | 48 | +-------+
Of the 48 with matching usernames, 36 also tweeted today.
So there’s my answer: 75% of the people who appeared in my Mastodon home timeline (when I sampled it just now) also appeared on Twitter today.
See also:
- Hope for the fediverse
- Build a Mastodon dashboard with Steampipe
- Browsing the fediverse
- A Bloomberg terminal for Mastodon
- Create your own Mastodon UX
- Lists and people on Mastodon
- Mastodon tooters also tweet