Translating a page is solved. Keeping it translated isn't.
Machine translation made the first translation cheap. The hard part is every day after it: knowing what is stale, what is inconsistent, and what nobody approved.
Read the essay →Writing archive
All published essays and articles, with the newest first.
Machine translation made the first translation cheap. The hard part is every day after it: knowing what is stale, what is inconsistent, and what nobody approved.
Read the essay →Every layer we automate makes the layer above it the new bottleneck. AI is another step in an old progression — and it changes the size of the thing an engineer can hold.
Read the essay →How shared content operations could support editors, REST integrations, and AI tools.
Read on django-cms.org ↗What building the inbound side of django-xrechnung taught me about treating invoices as untrusted input, as evidence, and as data — and why "valid" is the least interesting thing an e-invoice can be.
Read the essay →AI is breaking the reciprocity that kept open source going — through licenses, reputation, and the cost of forking. What remains is the reciprocity that was always worth the most: passing knowledge on.
Read the essay →AI, mathematical discovery, and what remains when searching for answers becomes cheap.
Read the essay →How reusable Django applications can turn agency project work into accumulating product knowledge.
Read the essay →How technical component architecture becomes product design.
Read on django-cms.org ↗Adding editorial capabilities without surrendering application architecture.
Read on django-cms.org ↗Where the boundary between application and content system belongs.
Read on django-cms.org ↗On turning experience into leverage: mentoring new contributors, transferring context, and strengthening the community that sustains open source.
Read on medium.com ↗Why writing code still matters to me when building automation and systems meant to last.
Read the essay →