A very light update this week. I've been taking it a bit easy and working on other hobbies and just general relaxing. It has felt a bit like one frying pan to the next lately so I wanted to take it easy this past week. I wouldn't say I'm quite burned out, but I have been getting close and slightly discouraged in other areas. So, it's always good to take a break, work on some lower profile things or just have fun for a bit, and that's what I did.

What days did I work on what?

May only care about certain things. So this is a bit of a guide on which days I talk about what if you wanted to skim to those parts

  • ❓ Missing Blobs - Sunday

  • 👾 Hollow Knight - Sunday

  • 🎵 teal.fm - Monday, Wednesday

  • 👾 GBA Development - Thursday

  • ⏩ Future plans - Friday


Sunday, September 21st, 2025

Missing Blobs

Had one small issue with missing.pdsmoover.com. There was a user who had a custom domain name set via /.well-known/atproto-did only and could not do a DNS record. I see these pop up a lot like neocities.org domains where users can have their own mini site on a website so they add the atproto-did json so they can use it as an atproto handle. Since they usually don't have full control of that domain CORS disallows calls to it. And since the missing tool runs completely in the web browser it cannot resolve that handle. I usually consider these bit of a fun loophole. I think I've seen a total of 3 show up in my atproto time. You can also set logins to use the did instead of handle. So I just allowed users to use did or handle to login to resolve the issue for the user

Hollow Knight

Finally sat down and played a bit more Hollow Knight as well. I finally got the dash and feeling like I can move around a bit more. I'm starting to enjoy the game a lot more than I was. I think it works well for something to play for 30 mins to an hour. Take a 10 min break, then come back. Also finding benches more often than I thought I would so feeling like I can be a bit more casual with playing.


Monday, September 22nd, 2025

teal.fm

I'm working on teal.fm a tiny bit this week. @natalie.sh asked for a review on a piper pr. So I took a look and tested out the Spotify side since I think I'm the only one who uses Spotify working on piper. All looked great and the PR has a very cool new feature added to piper!

For those who don't know teal.fm is an atproto powered music tracking service like last.fm. Piper is the part that checks your music streaming service and gets what you're listening to and creates the records on your atproto repo. Currently it just supports Spotify and last.fm. But I have the hopes to eventually add Apple Music to it one of these days. So while I was reviewing the pr and testing I figured no time like the present to at least make a start towards that.

Part of that is adding in some UI via a js library. Piper currently just renders out its UI's via strings like below. Simple and works well.

But it's easy to get turned around, so I've been moving them over to their own html files before I start making some UI changes for the Apple sign in.

Hoping with these now being in their own files it will be easier to make UI changes and will allow others who may not be as familiar with Go or backend development to make changes as well.


Tuesday, September 23rd, 2025

Didn't really do a lot of coding besides my day job. But I did go on a 2mi walk, played Skate, and ate spaghetti. So that was a pretty good day in my book


Wednesday, September 24th, 2025

teal.fm

Finished up moving all the html strings found in the handlers to their own .gohtml template files. I also setup tailwindcss for the project as well for styling. I used the tailwindcss cli for that since it was the simplest approach. It does feel a bit odd to bring in a node-ish dependency when it was not needed before, but it does give developers working on the UI a familiar tool and I think that's pretty important. I also learned today with the new cli tool it just searches all your files if it's not in the .gitignore (or a few other places)for tailwindcss names, if it sees one it adds it to the compiled CSS, and it's FAST. Wrapped it all up and made this PR. Wasn't the most interesting work ever done, but I am hoping it's a big steppingstone for a new UI and implementing Apple Music easier on down the road.


Thursday, September 25th, 2025

GBA Development

Came back to working on my GBA game. I didn't do a ton besides load in the sprite I'm using as the player, This lower res goose that I animated and took down to 16x16. Added in a bit of a loop so I can have a start, playing, and end screen. Looks a bit like this

loop {
    match game.game_state {
        GameState::Start => {
            button_controller.update();

            if let Some(letter) = text_layout.next() {
                text_renderer.show(&mut bg, &letter);
            }
            if button_controller.is_just_pressed(Button::START) {
                game.game_state = GameState::Playing;
            }
            let mut gfx = gba.graphics.get();
            let mut frame = gfx.frame();

            bg.show(&mut frame);

            frame.commit();
        }
        GameState::Playing => {
            game.run(&mut gba);
        }
        GameState::GameOver => {}
    }
}

The idea is there is a main game loop (what's shown here). Once the game starts it goes into another loop that is the actual "game play" loop where the goose is flapping around.Then when you loose it flips the GameState to GameOver :( and does a break to the top loop again. The gameplay currently kind of looks like this

Bailey Townsend 🦀's avatar
Bailey Townsend 🦀
@baileytownsend.dev

Don't mind me just needed an embedded video for a leaflet

And that's about where I am now. I guess next would be doing the actual start screen besides just the proof of concept I have there. Then onto finishing out the actual gameplay. Leaning towards trying my hand at making my own sprites for the rest of the game. I'm thinking the bottom pipes will be skyscrapers, and maybe clouds or cranes as the top ones? Not sure. Still thinking on it.


Friday, September 26th, 2025

Future Plans

Surprise, taking it easier again today. This weekend I am also going to be mostly afk, so the retrospective is getting another early publish.

I know it's a retrospective, but I thought I would take the time to lay out my shortlist of future work I have planned. No real order.

  • Finish the GBA game

  • Clean up and finish the 1.0.5 AT Toolbox release. This will bring some bugfixes and constellation 🌌 shortcut actions. Mostly done just have to add in bsky video posting, quote option for bsky posts, test, and write up some new example actions

  • Write up a Terms of service and Privacy policy for selfhosted.social. I want to open the door to more people with the selfhosted.social PDS, but I am a bit nervous to do so in some aspects. So I plan on drafting these up, get the input from current residents and see about opening it up more.

  • Work on at://advent. Winter is coming.

  • Add Apple Music support to teal.fm

  • Learn a bit more Svelte and turn the landing page on selfhosted.social into a bit of a mini app view just for the PDS. I want to add like counts, comments on recent posts, etc.


Saturday, September 27th, 2025