dansup

ActivityPub addict, aspiring astronaut, community creator, and determined dreamer.

Currently building @pixelfed, @loops, @supapp, @fedidb, and more.

Gay Métis creator living on and respecting the Indigenous lands of the Dane-zaa (Beaver), Nehiyawak (Cree), Dene, and Métis peoples in the Grande Prairie, Alberta region.

Committed to LGBTQIA2S+ inclusion, racial justice, Indigenous rights, and transgender rights.

Building the future we deserve, for all of us. 🚀

dansup boosted:
2026-01-11
Image with a yellow background and the Loops logo and text underneath that says "Your Voice Matters." and in smaller text below that says "joinloops.org/governance"
dansupdansup
2026-01-11

Longest Streak === Current streak 💪

TRMNL showing my Github data, showing a 93 day current streak that matches my longest streak count
dansupdansup
2026-01-11

@grosser_mensch oh good point, i'm not sure we handle local url search properly, I'll add the fix to my todo list once i am working on Loops again!

dansupdansup
2026-01-11

Writing a new fediverse platform from scratch along with mobile apps and a project website in 5 months did teach me a few things.

The most important one: never give up.

Despite a barrage of criticism and campaigns against me, I focused on building a solid foundation.

Every point proved wrong, with a fully open and federated platform, just goes to show that you can really do ANYTHING.

Don't let anyone stop you from achieving your dreams.

Because you will. ❤️

joinloops.org/our-mission

dansupdansup
2026-01-11

Working on Loops was such a vibe, and is now very stable with the iOS app launching soon!

But, I did really miss Pixelfed.

I learned a few new tricks with Loops, and am now working on a major refactor to fix bugs, improve stability, redesign the UI and leverage a more resilient ActivityPub system, borrowed from Loops.

2026 will be a huge year for @PixelFed and @loops

🚀

dansupdansup
2026-01-11

@bojanlandekic the long numbers are the keys to each video, but are long, so we convert them to a shorter alphanumeric string by leveraging a longer "alphabet" to represent the numbers more efficiently.

dansupdansup
2026-01-11
dansupdansup
2026-01-11

Ask Fedi: Should Loops profiles have a comments tab that shows scope appropriate (public/followers-only/private) comments?

Next month when I jump from Pixelfed back to Loops, I will need to address this.

dansupdansup
2026-01-11

@joergi yeah, you just need to click "Show all comments" on Loops.

For Pixelfed, I'm currently working on a major refactor that will bring us more in line with Mastodon, including reply fetching

dansupdansup
2026-01-11

Also, shout out to the notable mentions that made waves across the in 2025 🚀

fedidb.com/year-in-review/2025

dansupdansup
2026-01-11

Edit: Thanks! End of Jan 2026 it is!

github.com/fedidb/fedidb-nuxt/

Ask Fedi: How long should I keep on the fedidb.com nav menu?

The page will remain accessible forever, but I don't think it belongs on the nav menu forever.

fedidb.com/year-in-review/2025

dansupdansup
2026-01-11

There is no ETA, likely will be able to get to this next month, but for now I'm laser focused on Pixelfed!

dansupdansup
2026-01-11

I've been approached by a few people regarding FediDB and being able to get an export of data for various purposes, without having to tax the API by crawling all 40,000 servers.

I am planning an automated export of basic details (domain, software, version, users, mau) that will be updated bi-weekly, and available for download on fedidb.com

The data only contains nodeinfo info, and exists from other sources, I just want to make it easier to use.

dansupdansup
2026-01-11

@mpjgregoire I forgot to add the scheduled task, but I just deployed it so it will run on the first at 18:00 UTC, every month. Please do lmk if it doesn't auto update next month, and I will take a closer look!

dansupdansup
2026-01-11

Loops also uses snowflake ids for ActivityPub actor identifiers!

I noticed that Mastodon has adopted this too, great to see. I will be bringing this to Pixelfed later this year as well 😁

browser.pub/https://loops.vide

dansupdansup
2026-01-11

Notice how short Loops URLs are?

loops.video/v/d86zgftFT9

Do you know why and how?

Great URLs never change.
But usernames can.

Not including usernames in URLs means we can properly support username changes without breaking federation!

How we do this is a combination of snowflake ids (hard to guess, to prevent enumeration) and hash ids (to base encode huge ids to shorten them).

We can easily decode and encode 18 digit numbers into 10 chars.

Also, they federate ✨

browser.pub/https://loops.vide

dansupdansup
2026-01-11

RE: mastodon.social/@dansup/115876

They also are ActivityPub objects that expand to the full id ✨

We use snowflake ids, then hashids in permalinks that expand. It's beautifully simple, yet clever.

d9VqOD2_gu => 236972985113375774

browser.pub/https://loops.vide

dansupdansup
2026-01-11

I'm super proud of how I implemented deeply nested comment permalinks in Loops.

It's a bit trickier than say Mastodon, where you just need the parent post context (and maybe children) since we only display comments in the video permalink.

And the UI I designed for this makes it really easy to view the comment and even the parent if applicable.

Parent: loops.video/v/d86zgftFT9?cid=d

Child: loops.video/v/d86zgftFT9?rid=d

Client Info

Server: https://mastodon.social
Version: 2025.07
Repository: https://github.com/cyevgeniy/lmst