.---..-----------------------------------------------..---.
| ||.---------------------------------------------.|| |
| o ||| _0_o O/oo _0_ \O/ _ _0_ O_0_o_O/ooO _0_ ||| o |
| _ |||O oo _0_ _0_o\O _O/~' O oo__0_ _0_o\O ||| _ |
|(_)|||_0_ \O oo /) _0_ \O_0_ \O oo |||(_)|
| |||---------------------------------------------||| |
|.-.||| __....------------------------....___ |||.-.|
| o |||---'' _.--._ ` ||| o |
|`-'||| _.--._ 'O---O-' |||`-'|
| ||| _.--._ 'O---O-'_.--._ _.--._ ||| |
|.-.||| 'O---O-' 'O---O-''O---O-' |||.-.|
| O |||__,,...,----------------------....___ ||| O |
|`-'||`---------------------------------------------'||`-'|
`---'`-----------------------------------------------'`---'
_||_ It's Race Day _||_
MJP /____\ unless you look like my teams car /____\
get outta my face
This is how a piece of writing goes from being a draft on my laptop to published in my capsule.
Sometimes I write in the terminal, other times I use a IDE with a GUI:
Gram, my GUI editor of choice
Micro, for when I'm already in a terminal
Posts are drafted in Markdown and converted to Gemtext with a tool I built. Pages meant only for the capsule get written in Gemtext directly.
The capsule source lives in a git-tracked folder on my machine that mirrors the remote directory structure:
oldnet/pink/ → ~/public_gemini/ on tilde.pink index.gmi → gemini://tilde.pink/~brennan/ about.gmi → gemini://tilde.pink/~brennan/about.gmi guides/index.gmi → gemini://tilde.pink/~brennan/guides/ gemlog/ → dated gemlog posts poetry/ → Gemini-only poems
Because the local tree mirrors the remote one, a link that works locally works on the capsule.
One command, which can be ran from anywhere:
rsync -avz --exclude='.DS_Store' ~/Projects/brennan.day/oldnet/pink/ tilde.pink:public_gemini/
The flags:
`tilde.pink` resolves through my ~/.ssh/config, which sets the username and identity key:
Host tilde.pink
HostName tilde.pink
User brennan
IdentityFile ~/.ssh/id_ed25519
Only changed files get transferred, so re-running the command after edits is fast and safe. I don't use --delete, so files that only exist on the server are never removed.
Opening the page in Lagrange is a quick check. But you can also run a raw protocol check without a client:
printf 'gemini://tilde.pink/~brennan/\r\n' | openssl s_client -connect tilde.pink:1965 -quiet -servername tilde.pink
A healthy capsule responds `20 text/gemini` followed by the page.
Main Site
Gemini capsule
Contact
© 2026 Brennan Kenneth Brown. Content available under CC BY-SA