Justin Duke
jmduke.com
Justin Duke
@jmduke.com
Founder @buttondown.com
New post: October 2025.
October 2025
buttondown.com
November 9, 2025 at 4:16 AM
New post: October, 2025.
October, 2025
jmduke.com
November 9, 2025 at 4:16 AM
we have been deep in the skunkworks about this, so to speak, but a fun fact is that the above screenshots are a ten-line CSS theme applied atop our "real" new theme, which I've taken to call "Operation CSS Zen Garden"

bsky.app/profile/did:...
couldn't agree more. some work in progress:
November 7, 2025 at 12:40 PM
Some WIP from today.
November 4, 2025 at 2:56 AM
New post: Eucharist.
Eucharist
jmduke.com
November 3, 2025 at 2:48 AM
New post: Picnic.
Picnic
jmduke.com
November 2, 2025 at 3:40 AM
huge discovery for "everything should be gofmt" boosters like myself

bsky.app/profile/davi...
vale is a neat tool for enforcing prose style rules (e.g., for a big pile of docs site content) but I've never been able to get good enough at it to take advantage

turns out Claude Code can just run the checker and tweak the rule until it gets the errors you want. then it fixes the errors
Vale: Your style, our editor
Vale is a command-line tool that brings code-like linting to prose. Vale is cross-platform (Windows, macOS, and Linux), written in Go, and available on GitHub.
vale.sh
November 1, 2025 at 11:44 PM
November 1, 2025 at 2:32 AM
October 30, 2025 at 3:22 AM
New post: Cheetah II.
Cheetah II
jmduke.com
October 30, 2025 at 1:33 AM
Feel like I've gotten worse at incorporating new tools over time, and not sure if this is because I care less about tools or because I'm more susceptible to the clarion call of muscle memory
October 29, 2025 at 1:43 PM
WIP.
October 29, 2025 at 2:52 AM
Very happy with how this turned out.

demo.buttondown.com/settings/des...
October 29, 2025 at 12:37 AM
Am I missing something obvious, or is there still no great solution for "pipe every social mention from every social network into a Slack channel"
October 27, 2025 at 7:22 PM
New post: Vercel's abstractions.
Vercel's abstractions
jmduke.com
October 25, 2025 at 2:23 PM
New post: Business as authorship.
Business as authorship
jmduke.com
October 24, 2025 at 4:33 AM
WIP.
October 24, 2025 at 1:11 AM
Columnar re-arrangement: only five people will ever use this because it's impossible to make discoverable, but those five people will love it!
October 20, 2025 at 4:51 PM
This week's weeknotes: dogfooding the API, Anki, public postmortems, and Mise.

weeknotes.buttondown.email/archive/mise...
October 20, 2025 at 2:36 AM
New post: Someone built it; someone has to build it.
Someone built it; someone has to build it
jmduke.com
October 17, 2025 at 2:48 AM
New post: .
jmduke.com
October 17, 2025 at 2:48 AM
New post: Cheetah.
Cheetah
jmduke.com
October 13, 2025 at 6:22 PM
New post: Adding imports to the Django shell.
Adding imports to the Django shell
jmduke.com
October 11, 2025 at 3:13 AM
October 11, 2025 at 2:19 AM
Reposted by Justin Duke
❤️ “Django nails doing the hard stuff both at an API level (user modeling and everything therein; ORM; routing and middlewares) and an existential level (friendliness and commitment to politesse; extremely good documentation).” #Django
October 10, 2025 at 11:22 AM