The last time I tweeted was December 22. (It was, unsurprisingly, a link to a blog post about Mastodon.) Today I wondered what percentage of the people who appear on my Mastodon timeline today also appeared on Twitter today.
To get started, I wrote this query, which tries to match Twitter and Mastodon usernames. When it finds a match, it reports the day 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 type of Steampipe query: two different APIs, each represented as a Postgres table, combined with an SQL JOIN
.
The result looks like this, with null values 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 is 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 beeps pictured here were created by 93 people who beeped 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 on my Mastodon timeline (when I tested it just now) also appeared on Twitter today.
These series:
- Autonomy, pack size, friction, fanout and speed
- Create a Mastodon panel with Steampipe
- Navigating the fediverse
- A Bloomberg terminal for Mastodon
- Create your own Mastodon UX
- Lists and people on Mastodon
- How many people on my Mastodon feed also tweeted today?
- Qualified Mastodon URLs per instance
- Mastodon Ratio Charts
- Working with Mastodon lists
- Images considered harmful (sometimes)
- Mapping the broader fediverse
Copyright © 2023 IDG Communications, Inc.
Be First to Comment