Bailey Townsend 🦀
@baileytownsend.dev
2.3K followers 1.4K following 7.8K posts
Bandaid Engineer. I post mostly about coding, ATProto, embedded devices, and things like that. Sometimes serious, mostly just killing time. Y'all means all 🏳️‍🌈 📍Middle Tennessee ⚽️Nashville SC
Posts Media Videos Starter Packs
Pinned
baileytownsend.dev
Hey👋

I have a goal to write a blog post every month this year. I’m going to use this 🧵 to link all the ones I’ve written so far and future ones.
baileytownsend.dev
Welcome to my mega 🧵 on getting started with Rust on the RP2040! This thread aims to get you started with writing Rust on the Raspberry Pi Pico. The actual end result will just be a blinking on-board LED. It’s up to YOU to take this foundation and make awesome projects from it.
Workspace featuring various Raspberry Pi boards, including a Raspberry Pi Pico on a breadboard, two Pico W boards, and a Raspberry Pi Debug Probe in its case. A Pimoroni Badger 2040 W e-ink display shows developer information and Wi-Fi details in the background. Electronics components are neatly arranged on a wooden desk, with cables and packaging nearby.
baileytownsend.dev
Then always have old faithful of just following along to what happens on the createRecord endpoint on the PDS and see it in code
github.com/bluesky-soci...
github.com
baileytownsend.dev
May have to think on this one a bit and may need a definition on a design researcher 😅. Sorry for being a bit dense on that one, might also just need another coffee
baileytownsend.dev
Thank you! Means a lot to read this and I'm glad I'm able to help out!
baileytownsend.dev
PDSls also checks out on trying to resolve it cause of CORS issues so may want to make sure that is set right. I don't think the AppView would follow that, but never know

pdsls.dev/did:web:atpr...
baileytownsend.dev
dug a bit more cause it's an interesting one that's for sure. That "Profile not found" not found from your PDS is a proxy to the AppView request. The AppView is having a hard time resolving your did doc I think.

public.api.bsky.app/xrpc/app.bsk...
public.api.bsky.app
baileytownsend.dev
I think i'll have to research it a bit more. But I think there may be a bit of overlap going on with the handle and did:web being the same if I'm reading it right. May try using different ones for each like maybe did:web:yeehaw.bront.rodeo as the did web and use atproto.bront.rodeo as the handle
baileytownsend.dev
I'm not sure if relay's are finding PDSs on their own. But can call this XRPC endpoint on a relay to add it to the crawl list. So I think as long as that gets passed along to a Bluesky controlled relay it all passes between them

docs.bsky.app/docs/api/com...
com.atproto.sync.requestCrawl | Bluesky
This endpoint is part of the atproto repository synchronization APIs. Requests usually do not require authentication, and can be made to PDS instances or Relay instances.*
docs.bsky.app
baileytownsend.dev
The relay's subscribe to the PDS. So a atproto action happens on the PDS, the PDS sends it on a websocket, Relay picks it up and sends it back out if i'm not mistaken. A bit of a fan out thing, many PDSs to a relay so AppViews don't sub scribe to each PDS
baileytownsend.dev
I think with proper lay out and using S3 for blobs you can hit the thousands of users for about $50 a month on a VPS
baileytownsend.dev
A few here and there. From personal experience my first PDS ran well on the $6 a month Digital Ocean droplet

Selfhosted.social sitting at 16 active accounts is $23ish a month ($14 2g ram droplet, $4.20 for nightly backups, $5 for S3 bucket for blobs). Should be able to handle a few hundred users
Selfhosted.social
Landing page for selfhosted.social, an ATProto PDS
Selfhosted.social
Reposted by Bailey Townsend 🦀
tennesseelookout.com
Just in: Justin J. Pearson, a Memphis state representative who rose to national prominence for his protest against gun violence, plans to challenge longtime U.S. Rep. Steve Cohen in the 2026 Democratic primary.
Memphis state Rep. Justin Pearson to challenge U.S. Rep. Steve Cohen in 2026 Democratic primary • Tennessee Lookout
Tennessee state Rep. Justin J. Pearson of Memphis plans to challenge long-time U.S. Rep. Steve Cohen in the 2026 Democratic primary.
tennesseelookout.com
baileytownsend.dev
yeah! that would be perfect
baileytownsend.dev
it's so tempting. been on the back of mind my all week lol. so many other things to do atm
baileytownsend.dev
I may be a bit slower getting to answers with this AMAA, but will check in during the day and answer them as I have free time.
baileytownsend.dev
I'm doing an AMAA, ask me anything atproto, for the rest of the day. Got a question you've always wondered about ATProtocol and the atmosphere? Ask below and I will do my best to answer or at least point you in the right direction! As always there's no dumb questions, we all started somewhere.
baileytownsend.dev
Some other things is.

- Be nice to have it’s own upvote button as a universal like to know what’s popular

- combine with things like leaflet comments to know if a post is popular
baileytownsend.dev
Been thinking on it lately. The idea is pretty much a feed of all the popular lexicon types. A link aggregator of popular things on the atmosphere and take into account what’s popular with your friends.

The goal is each post has a custom ui for that lexicon and invite the creators to design them
baileytownsend.dev
I need a morning newspaper AppView.

Show me the previous days top bsky posts, tangled repos, played songs, leaflets, books marked reading, TV shows, and so on from my neighborhood of the atmosphere
baileytownsend.dev
It hit me once I came back to the post to make sure I read it right and realized it was an og:image haha. Looking good!
baileytownsend.dev
Not me clicking on the repo to see what that repo had to do with generating og:images 😳
Reposted by Bailey Townsend 🦀
tangled.org
*ahem*
tangled.org/@danabra.mov...

that was not a three hour change btw :)
baileytownsend.dev
dropped an example here too if you need it

bsky.app/profile/bail...
baileytownsend.dev
Yeah! So can call the /xrpc/com.atproto.sync.listReposByCollection on a relay and it gives you a list of DIDs with that collection. So then know which repos you need to get the records from. Here's an example with a teal.fm record

relay1.us-east.bsky.network/xrpc/com.atp...
teal.fm - Your music journey, beautifully tracked
Track your music listening across all platforms with teal.fm - The most beautiful way to scrobble and analyze your music history. Coming soon.
teal.fm