Will
banner
willdot.net
Will
@willdot.net
Software engineer. Mainly Go. Fascinated by distributed systems.

Me and yaml indentation are enemies.

I only ship to prod on Fridays.

https://blog.willdot.net
Pinned
I’m so used to having the days between Christmas and new years off work, that I forgot to check with my new company if that was the case.

A mild panic late this morning logging in to find out that I am indeed off work this week
a close up of a man 's face with a serious look on his face
Alt: a close up of a man 's face with a serious look on his face
media.tenor.com
Weekend plan is to move my Cocoon test PDS from an Upcloud server onto my Pi.

But I don’t want to just copy and paste from A to B.

I want to try and make some loose POC of having 2 PDS running and switching between the 2 for when one “fails”. 🫣
January 9, 2026 at 8:47 PM
Reposted by Will
The 5-minute meeting with a developer is not what you think it is
January 9, 2026 at 7:55 AM
Reposted by Will
Cocoon PDS now has email 2FA (with path for other types soon). Was an absolute joy to work this into the codebase, looking forward to contributing more!

tangled.org/hailey.at/co...
Implement 2FA (email) #3
This implements 2FA (email only at the moment). I have run this on my test account and tested various flows: * Turning 2FA on and off through the Bluesky app * Turning 2FA on and the updating my ema...
tangled.org
January 5, 2026 at 5:45 AM
Ever browse a Reddit sub and see acronyms and wonder what they mean?

Like why are loads of people writing NOR and OR in the Am I Overreacting sub?

What has that got to do with logic operators 🫣
January 7, 2026 at 4:22 PM
Seeing an influx of people starting out their adventures building in the atmosphere or asking how to, so here’s my statusphere demo app built in #golang as reference.

tangled.org/willdot.net/...
willdot.net/statusphere-go
An implementation of the ATProto statusphere example app but in Go
tangled.org
January 7, 2026 at 7:01 AM
Reposted by Will
I've found myself retyping a lot of the same troubleshooting tips if someone has problems accessing Bluesky after an account migration. So I wrote a checklist, a self-guided troubleshooting guide! So if you or someone you know finds they can't post after migrating, maybe give this a read.
Help! I've migrated to a new PDS, and my Bluesky doesn't work
A checklist of things to check when you move to a new PDS and new posts don't show or your account doesn't load on Bluesky
marvins-guide.leaflet.pub
January 7, 2026 at 3:53 AM
Reposted by Will
This account is like the Bluesky grim reaper.
[daemon]: 😵 @the.pds.rip
[daemon]: 🪦 Time's up. Account deleted.
January 6, 2026 at 6:34 AM
DNS
a close up of a cartoon character covering his eyes with his hands
Alt: Stitch grabbing his eyes.
media.tenor.com
January 6, 2026 at 8:24 PM
‪Just reclaimed a ton of disk on my PDS server.

I think a lot of it was crap from when I was trying to use the server for things other than the PDS and tried building different docker images for apps 🙈
January 6, 2026 at 5:43 PM
This account is like the Bluesky grim reaper.
[daemon]: 😵 @the.pds.rip
[daemon]: 🪦 Time's up. Account deleted.
January 6, 2026 at 6:34 AM
Ah crap. Forgot to do my 2025 self review (again). Maybe I’ll try again in December.
January 5, 2026 at 2:49 PM
Reposted by Will
🛠️ Tooling Updates

@willdot.net: Email 2FA for Cocoon PDS.
@mk.gg: Cirrus update (health checks + Cloudflare init).

https://bsky.app/profile/willdot.net/post/3mbnqdffgvs2d
https://bsky.app/profile/mk.gg/post/3mbmpagepf22z
January 5, 2026 at 6:20 AM
Cocoon PDS now has email 2FA (with path for other types soon). Was an absolute joy to work this into the codebase, looking forward to contributing more!

tangled.org/hailey.at/co...
Implement 2FA (email) #3
This implements 2FA (email only at the moment). I have run this on my test account and tested various flows: * Turning 2FA on and off through the Bluesky app * Turning 2FA on and the updating my ema...
tangled.org
January 5, 2026 at 5:45 AM
This is a cool idea!
We're a public sandbox PDS for the AT Protocol network.

Never worry about leaving a throwaway account behind. We're ephemeral, meaning your account, content, and data will be permanently wiped in one week.

Create and account, test the protocol, build cool stuff.

Keep reading to learn how (🧵 1/2)
January 4, 2026 at 3:16 PM
Reposted by Will
Did a lot of testing 2FA yesterday and logging in and out of the Bluesky app a lot.

Annoyingly though I couldn’t figure out how to sign out of just one account. I had to sign out of all my accounts.

Is there a better way?
January 3, 2026 at 8:35 PM
Did a lot of testing 2FA yesterday and logging in and out of the Bluesky app a lot.

Annoyingly though I couldn’t figure out how to sign out of just one account. I had to sign out of all my accounts.

Is there a better way?
January 3, 2026 at 8:35 PM
Now that Christmas is over, I'm taking suggestions for my PDS index page
January 3, 2026 at 8:29 PM
This new Doechii & SZA song is smooth as

music.apple.com/gb/album/gir...
girl, get up. by Doechii & SZA on Apple Music
Song · 2025 · Duration 3:08
music.apple.com
January 2, 2026 at 8:38 PM
The Bluesky client calls it Email 2FA but it’s just a code isn’t it? So no harm in implementing OTP instead (via the PDS not the Bluesky client) is there?

Also @hailey.at I see you started a branch with some OTP work. Mind if I nab that and work it into the email 2FA changes I have for Cocoon?
January 2, 2026 at 1:15 PM
2025 Will was not kind to 2026 Will on the last day of work. He didn’t leave any notes explaining what he was working on and I haven’t got a clue what I need to do now 🙈
January 2, 2026 at 9:27 AM
Having an absolute blast learning about different flows of actions in Bluesky by debugging / implementing a new feature in the Cocoon PDS codebase.
January 2, 2026 at 7:17 AM
Reposted by Will
First leaflet of 2026! Have you been putting off implementing OAuth or the brand new scopes in your atproto application because you're not sure how to do that? Learn how to

- Basics of atproto OAuth
- The new scopes and stop scaring away users
- The new permission sets to make scopes easy
Beyond the Statusphere: Part 2, ATProto OAuth, the TLDR
Gain a working knowledge of ATProto OAuth and feel confident implementing it in your projects.
marvins-guide.leaflet.pub
January 2, 2026 at 2:55 AM
It’s been a few years since I built something and we got our kids their first Lego sets this Christmas, so naturally I felt the need to have one too. Super fun to build!
January 1, 2026 at 4:43 PM
For You Rewind is still one of my fav feeds, right behind… For You funnily enough.

bsky.app/profile/did:...
December 31, 2025 at 6:54 PM
Why is my most popular post on here about me nearly skipping a days work unintentionally 🙈
I’m so used to having the days between Christmas and new years off work, that I forgot to check with my new company if that was the case.

A mild panic late this morning logging in to find out that I am indeed off work this week
a close up of a man 's face with a serious look on his face
Alt: a close up of a man 's face with a serious look on his face
media.tenor.com
December 31, 2025 at 4:59 PM