lesser daemon
brent bailey's personal weblog
11
Oct

Cat Lexicon Server Prototype

I'm short on time again - had a wedding ceremony to attend last night and a reception to attend today - so today's another 5-minute throwaway. I set up a quick server prototype that I can run some basic curl commands to and from and that validates my lexicon schema. This is all local for now and not attached to a PDS, so URIs are fake.

lexicons.js:

import express from 'express'
import { TID } from '@atproto/common-web'
import { lex } from './lexicons.js'

const app = express()
const PORT = 3000

// In-memory storage for records
const records = new Map()

app.use(
Read more
4 min read
10
Oct

A Lexicon For A Cat

About five weeks before our wedding K and I adopted a kitten we named Ffion. He is our pride and joy. He is also the most rambunctious motherfucker on the planet - this is standard for kittens, and especially for ginger kittens, but never having raised a kitten before I am still often shocked by the sheer amount of energy the little guy has.

I have been toying around with some ideas for pet projects and one that seems both fun to me and like a nice little gift for K is a social network based on ATProto that gives

Read more
2 min read
09
Oct

Exploring the ATmosphere

I need a day's break from code after going down the did:web rabbit hole this week, and I'm short on time, so today I'm just exploring some non-Bluesky atproto stuff I've either bookmarked or meant to check out and writing down quick notes for future reference. Let this serve as proof that I am committed to doing something every day even if it's low-effort.

Apps

slices.network: this is an automated appview builder that I'm really interested to try, not least because it would give me a chance to validate some of my theories about the weirdness I

Read more
2 min read
08
Oct

Exploring the AppView; knowing when to admit defeat

Thanks to some helpful guidance from Bailey Townsend I discovered that the getProfile endpoint on my own PDS is just proxying the Bluesky API, which means that the point of failure is the Bluesky AppView. This is backed up by another post linked in the thread that directly states that once a did:web is deleted Bluesky's AppView treats that deletion as permanent.

Funnily enough I had theorized that this might be the case yesterday but then figured I was being dumb since I could run the request against my own PDS's API. AppViews are one of the more opaque

Read more
4 min read
07
Oct

Over my skis; posting into the void

I managed to nerd snipe myself yesterday by seemingly breaking the Bluesky profile attached to my self-hosted did:web when I deleted and rebuilt it. I am well out of my comfort zone right now - I don't really understand JWTs, dids, or the various application layers involved in the process of actually having a self-hosted PDS talk to an atproto app yet. Only way to learn is by doing, though, so here are the results of my initial investigations.

I ended up spending a few hours on this iterating with Claude and reading and re-reading the API docs. I

Read more
5 min read