Commit Graph

1611 Commits

Author SHA1 Message Date
kennethreitz efced60c35 Serve raw files (images, etc.) from data directory in catch-all
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-22 14:20:35 -04:00
kennethreitz dd751105ec Fix data file serving for nested paths (images in galleries)
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-22 14:18:58 -04:00
kennethreitz c0501c6e3c Add essay: This Site Now Runs on Responder
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-22 14:17:39 -04:00
kennethreitz 029083d526 Fix static file serving — add explicit route before catch-all
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-22 14:10:35 -04:00
kennethreitz 5cd48abb90 Port site to Responder (#8)
* Initial Responder port — core content serving working

Homepage, markdown pages, directory listings, image galleries
all rendering. Flask template compatibility via RequestWrapper
and FakeConfig shims.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>

* Complete Responder port — all routes working

Ported all routes from Flask blueprints: archive, search, OG images,
RSS, sitemap, robots.txt, API endpoints, directory browser.
All 25+ routes returning 200.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>

* Update Dockerfile for Responder, warm caches on import

CMD now runs engine_responder:api via uvicorn.
Cache warming happens on module import for production.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>

* Rename engine_responder.py to engine.py

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>

* Update colophon for Responder

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>

* Fix essay pages, OG images, and PDF export

- Fix find_related_posts and find_adjacent_posts call signatures
- Fix OG image route to use path:path for nested paths
- Add PDF export route with WeasyPrint
- All test plan items passing

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>

---------

Co-authored-by: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-22 14:03:05 -04:00
kennethreitz ddd1dd7334 Rewrite music section — OP-XY, cohesive album pages, gear history
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-22 05:07:46 -04:00
kennethreitz 1268e854d1 Add (see archive) link to Recent Writing header
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-22 05:04:40 -04:00
kennethreitz 443725e60b Revert to hardcoded Recent Writing — curation beats automation
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-22 05:04:24 -04:00
kennethreitz ea18d2a05f Make Recent Writing on homepage dynamic from blog cache
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-22 05:03:23 -04:00
kennethreitz c55a773d54 Reorder opening — thesis first, personal context after
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-22 04:57:46 -04:00
kennethreitz c7c8bf8d81 Remove hr after opening
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-22 04:56:33 -04:00
kennethreitz 89320d15cc Add hr after opening acknowledgment
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-22 04:55:34 -04:00
kennethreitz 71641774d3 Restore Zen of Python and design philosophy to software index
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-22 04:54:27 -04:00
kennethreitz 75d39f4ced Rewrite software index — categorized, cleaner, includes kjvstudy
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-22 04:53:39 -04:00
kennethreitz 2f0faacd61 Separate closing line on Pipenv page
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-22 04:52:46 -04:00
kennethreitz c3f2180b15 Mention uv as Pipenv's spiritual successor
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-22 04:51:50 -04:00
kennethreitz 6e2f5e03ff Tweak opening line
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-22 04:50:33 -04:00
kennethreitz 7c9e28b915 Shift maintainer essay from memoir to universal essay
Reduce first-person from 51 to 38 references. Move personal
details into sidenotes. Open with acknowledgment of mistakes.
The essay is about maintainers, not about Kenneth.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-22 04:49:49 -04:00
kennethreitz 88fc5e0b8c Remove AI writing tells from maintainer essay
Cut throat-clearing ("I want to be direct"), over-explaining
("the structural reality is that"), redundant restatements,
and the "here's where the metaphor gets useful" announcements.
Tighter, less performative.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-22 04:46:57 -04:00
kennethreitz 84a82ec4c1 Add ESL contributor perspective to maintainer essay
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-22 04:45:10 -04:00
kennethreitz b1aa45ebc6 Format CONTRIBUTING.md as inline code
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-22 04:44:26 -04:00
kennethreitz 33c982d505 Add supply chain security angle to maintainer essay
Burned-out maintainers are vulnerable maintainers, and vulnerable
maintainers with keys to critical infrastructure are attack vectors.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-22 04:43:22 -04:00
kennethreitz 5af97fe212 Acknowledge Certifi has new maintainers now
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-22 04:42:22 -04:00
kennethreitz 45ac66b704 Fix Certifi download claim — don't fabricate specific numbers
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-22 04:41:44 -04:00
kennethreitz 8273cc97bc Add 4 more sidenotes and link httpbin.org in maintainer essay
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-22 04:40:14 -04:00
kennethreitz 6df755f960 Tighten maintainer essay: cut redundancy, add sidenotes, keep code blocks
Removed verbose sections, merged closing, added 4 sidenotes
for depth. Kept code blocks but trimmed FirstContribution.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-22 04:39:08 -04:00
kennethreitz d15032a227 Add multi-project burnout compounding to maintainer essay
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-22 04:34:18 -04:00
kennethreitz a6fda8e3ea Fix facts: BDFL not primary maintainer, 30M/day not tens of millions/month
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-22 04:29:42 -04:00
kennethreitz 52d23b0bdf Acknowledge co-maintainers in maintainer essay
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-22 04:29:05 -04:00
kennethreitz d3cbadd4c5 Fix bullet point spacing in code block
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-22 04:28:23 -04:00
kennethreitz 8edb72e134 Remove indent from bullet points in code block
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-22 04:27:21 -04:00
kennethreitz eae45d72b3 Format API/maintainer design parallels as bullet points
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-22 04:27:03 -04:00
kennethreitz 8459271d45 Add $ prefix to all uv pip install commands in software pages
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-22 04:26:07 -04:00
kennethreitz 0616f277a8 Italic docstrings (not grayed), link Be Cordial essay
Docstrings now italic but full color — they read as prose, not marginalia.
Comments stay gray italic.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-22 04:25:39 -04:00
kennethreitz 5a26d30406 Rewrite all software pages with code examples and personal context
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-22 04:24:50 -04:00
kennethreitz a489af795a Bold variable assignment targets in code blocks
Literary code: bold for nouns, italic for marginalia.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-22 04:20:30 -04:00
kennethreitz b22aabe2c3 Fix // in URLs triggering comment highlighting
Only match // comments at line start, not inside URLs.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-22 04:19:06 -04:00
kennethreitz 1f4a131a61 Remove highlight.js, keep minimal comment-only highlighting
The literary aesthetic of comment-only highlighting is intentional.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-22 04:18:20 -04:00
kennethreitz d325d34c90 Fix syntax highlighting dark mode, use uv pip install
Sync highlight.js theme with dark mode toggle via MutationObserver.
Use github-dark-dimmed for dark mode. Override backgrounds to
match site theme.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-22 04:17:33 -04:00
kennethreitz a808da2699 Add syntax highlighting with highlight.js, fix great books text
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-22 04:15:51 -04:00
kennethreitz 1ab743c006 Rewrite great books page with personal context for each entry
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-22 04:14:16 -04:00
kennethreitz 154c3279c7 Polish homepage closing section, fix timeline date order
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-22 04:13:22 -04:00
kennethreitz 9218731311 Rewrite Requests page with code examples and full story
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-22 04:12:41 -04:00
kennethreitz d4f52013fc Rewrite homepage — new content with visual polish restored
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-22 04:10:33 -04:00
kennethreitz e6b8e2456d Add essay: The Maintainer Is the Interface
With real examples, burnout erosion, the famous 'No' response,
and lessons learned section.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-22 04:09:26 -04:00
kennethreitz 96957dac22 Add The Interface Is the Subconscious to theme indexes
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-20 14:55:34 -04:00
kennethreitz 336495f851 Add essay: The Interface Is the Subconscious
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-20 14:52:10 -04:00
kennethreitz 9f539e3f24 Rewrite all theme indexes — concise, verified links, 2026 essays added
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-20 14:40:08 -04:00
kennethreitz d76be1d993 Re-enable Depot builder in Fly deploy workflow
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-20 14:23:14 -04:00
kennethreitz 506933211b Fix themes nav link to /themes
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-20 14:18:02 -04:00