Commit Graph

1418 Commits

Author SHA1 Message Date
kennethreitz a04f2ea95f Fix Dockerfile to copy tuftecms package before install
Copy tuftecms directory before install step since pyproject.toml force-includes templates and static directories.

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-09-29 14:14:55 -04:00
kennethreitz 6dcad31440 Remove /games easter egg
🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-09-29 14:12:24 -04:00
kennethreitz 64194a020c Add hidden /games easter egg and fix Dockerfile
Add /games route with three inline JavaScript games (Snake, Pong, Breakout). Fix Dockerfile to copy README.md before install step since pyproject.toml references it.

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-09-29 14:11:14 -04:00
kennethreitz f27ed11b2c Rebrand as TufteCMS and prepare for PyPI distribution
Rewrite README to focus on TufteCMS as a standalone CMS package. Update pyproject.toml with proper metadata, classifiers, and build configuration to include templates and static files in distribution.

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-09-29 14:07:00 -04:00
kennethreitz 5421724013 Complete TODO items in TufteCMS
Implement HTML sitemap generation with clean template design, add cache debugging endpoint with comprehensive stats, and implement themes functionality with pattern-based content categorization.

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-09-29 13:58:09 -04:00
kennethreitz 2ee4b57d77 Clean up dependencies and move docs to root directory
- Reduced dependencies from 13 to 5 packages (66% reduction)
- Removed unused packages: pydantic, fastapi, uvicorn, pygments, boto3, pillow, background, markdown
- Kept essential packages: flask, gunicorn, gevent, mistune, pyyaml
- Moved docs/ from data/docs/ to root directory for better organization
- Updated all internal documentation links to reflect new location

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-09-27 04:54:57 -04:00
kennethreitz be7434ad14 revised lockfile 2025-09-26 13:16:08 -04:00
kennethreitz 82068117dd cleaned up deps 2025-09-26 13:13:50 -04:00
kennethreitz 42bc74b453 Remove obsolete svg_icon_generator.py file
The SVG icon generation functionality has been moved to
tuftecms/utils/svg_icons.py as part of the package restructuring.

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-09-26 13:11:08 -04:00
kennethreitz 60f1046204 Refactor search functionality and enhance caching mechanisms
- Removed the engine_new.py file as part of restructuring.
- Implemented actual search functionality in api.py, allowing for searching through blog posts with relevance scoring and snippet extraction.
- Enhanced caching in cache.py with a clear_cache function and improved content cleaning for search indexing.
- Deleted outdated homepage-revised.html template and ensured search.html template displays search results with additional metadata such as date and matches found.
2025-09-26 13:05:29 -04:00
kennethreitz c677b8fc98 all working / black 2025-09-26 12:34:57 -04:00
kennethreitz 56bf572b73 fixes 2025-09-25 17:30:09 -04:00
kennethreitz 7c4776a035 fix stuff 2025-09-25 17:26:57 -04:00
kennethreitz b4a42565fc refactor 2025-09-25 17:03:21 -04:00
kennethreitz 8f1e79f585 Optimize Python as English essay with enhanced cross-linking and contemplative depth
Added strategic cross-links to related essays and improved philosophical framework connecting Python's design to consciousness and human flourishing while maintaining the unique Python-keywords-as-English style.

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-09-22 16:34:12 -04:00
kennethreitz aaf54bf26e Add essay: Python as English - The Art of Readable Code
New essay exploring how Python's deliberate use of English words instead of cryptic symbols makes programming more accessible and teaches computational thinking through familiar language patterns.

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-09-22 16:24:51 -04:00
kennethreitz deb09a6e53 Reorganize Responder documentation: move Basic Idea section after code example
Better pedagogical flow - show working code first, then explain the underlying philosophy and design principles.

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-09-22 12:38:21 -04:00
kennethreitz 358a22f2f5 Add documentation link to Responder software page
Added link to responder.kennethreitz.org and reorganized links section to include both GitHub repo and documentation.

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-09-22 12:37:32 -04:00
kennethreitz 67852f765f Clean up Responder documentation by removing personal details
Removed paragraph about ADHD medication and development context to keep the documentation focused on the technical aspects.

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-09-22 12:36:51 -04:00
kennethreitz 5190d94624 Add installation and example application to Responder documentation
Added uv installation instructions and a complete working web application example demonstrating dynamic routes, JSON responses, and HTML rendering.

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-09-22 12:36:00 -04:00
kennethreitz 32bc05b6bd Update Maya installation instructions to use uv
Changed from `pip install maya` to `uv pip install maya` to match modern Python package management practices.

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-09-22 12:34:19 -04:00
kennethreitz 2cda4ad7e6 Add installation instructions to Records software page
Added `uv pip install records` command with proper bash prompt formatting.

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-09-22 12:33:48 -04:00
kennethreitz 0fd86039c4 Fix FOUC (Flash of Unstyled Content) by hiding content until stylesheets load
Added CSS to hide content initially and JavaScript to reveal it after DOMContentLoaded, preventing the font size flash that occurs during page load.

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-09-22 07:46:32 -04:00
kennethreitz de477323b9 Refine Stardew Valley essay for subtler humor
Made the humor more observational and gentle - less punchline-driven, more wry recognition of human patterns through gaming choices.

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-09-22 07:42:39 -04:00
kennethreitz 045f1ea0ae Update Stardew Valley essay date to September 2025
Simplified the date format from specific day to month-year only.

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-09-22 07:38:58 -04:00
kennethreitz c83c6c5d72 Update Stardew Valley essay: switch romance reference from Linus to Robin
Changed the sidenote joke to reference Robin instead of Linus for better alignment with Kenneth's perspective.

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-09-22 07:29:35 -04:00
kennethreitz 9a776530db Remove forced cross-links from Stardew Valley essay
Simplified the essay by removing essay-optimizer insertions that felt unnatural, keeping the humor and flow more organic.

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-09-22 07:24:00 -04:00
kennethreitz a3db32ef2e Add humorous essay: What Your Stardew Valley Says About You
A short, contemplative piece exploring how different play styles in Stardew Valley reveal personality types - from efficiency optimizers to winter hibernators who sleep through entire seasons.

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-09-22 06:57:33 -04:00
kennethreitz 5e5fae0883 Improve fortune essay: reduce sidenotes and fix personal details
- Reduced sidenotes from 9 to 4 for better reading flow
- Kept only the most essential philosophical insights
- Removed inaccurate claims about personal bashrc setup
- Made workflow integration more general and truthful
- Maintained core insights about serendipity vs algorithmic manipulation

Essay now has optimal sidenote density while preserving the key
contemplative depth about technology serving consciousness.

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-09-21 06:52:21 -04:00
kennethreitz 41d36f1e59 Add optimized essay: The Joy of Fortune - Serendipity in the Terminal
Explores the simple pleasure of the `fortune` CLI tool and what it represents
about healthy relationships with technology:

- Contrasts serendipitous randomness with algorithmic manipulation
- Unix philosophy applied to moments of delight and consciousness serving
- Random wisdom as spiritual practice and pattern-breaking tool
- 10 contemplative sidenotes providing philosophical depth
- Strategic cross-linking to consciousness-serving technology themes
- Removed specific workplace references for universal appeal

Demonstrates how simple tools can serve consciousness rather than exploit it,
connecting personal practice (using fortune) to broader questions about
technology design and collective consciousness.

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-09-21 06:50:34 -04:00
kennethreitz 7ac1e9d5ca Add Infinite State Sample Pack to software collection
Created comprehensive software page for the open-source sample pack that extends
Kenneth's "For Humans" philosophy into creative domains:

- Detailed synthesizer catalog (MakeNoise 0-Coast, Moog Sub37, Roland JP-08, etc.)
- Open source creativity philosophy connecting code and music principles
- Recursive loop concept applied to creative consciousness and tool building
- Cross-references to existing software projects and philosophical themes
- Practical usage information and Creative Commons approach

Demonstrates how consciousness-serving technology principles apply beyond
traditional software into artistic collaboration and creative tool building.

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-09-21 06:15:14 -04:00
kennethreitz 0e24d83b1e Optimize colophon with enhanced cross-linking and curated sidenotes
- Enhanced voice with contemplative pragmatism and recursive thinking
- Added strategic cross-links to 4 key essays connecting technical choices to philosophy
- Added authentic Sarah acknowledgment for conversations and creative support
- Enhanced sidenotes with philosophical depth while removing clutter from Stack section
- Fixed bullet point formatting to end with periods per style guidelines
- Improved flow from technical details to deeper consciousness-serving philosophy

Colophon now demonstrates the recursive loop in action: how personal technical
choices embody larger philosophical frameworks about programmer responsibility
for collective consciousness.

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-09-20 18:02:24 -04:00
kennethreitz e15e005682 Update footer link and add essay reference to colophon
- Changed footer "Made with love" to link to /colophon instead of biblical reference
- Added link to "Entertaining the Brain, Effectively" essay in colophon "Why" section
- Positioned essay link at paragraph start to trigger automatic icon embedding
- Creates better navigation flow between technical details and philosophical foundations

The colophon now connects visitors to the deeper philosophy behind the site's
approach to cognitive entertainment and consciousness-serving technology.

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-09-20 17:56:35 -04:00
kennethreitz 837eec0567 Add GitHub repository link to colophon license section
- Added direct link to https://github.com/kennethreitz/kennethreitz.org
- Updated sidenote to reflect current "procedural icon generation system"
- Streamlined language for better readability
- Makes it easier for visitors to access the open source code

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-09-20 17:54:31 -04:00
kennethreitz 49a5710f1c Update colophon to reflect current abstract icon system
- Changed "Sacred Geometry Icons" to "Procedural Abstract Icons"
- Removed outdated references to Flower of Life, Sri Yantra, etc.
- Updated description to match current svg_icon_generator.py implementation
- Added "1.5 trillion possible combinations" detail for accuracy
- Changed metaphor from "unique mandala" to "unique visual DNA"
- Updated philosophy to "deterministic chaos made beautiful"

Colophon now accurately describes the abstract geometric patterns
actually generated by the current icon system.

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-09-20 17:49:52 -04:00
kennethreitz 9e72080d66 Fix ConsciousContent class docstring to proper PEP8 single-line format
- Changed multi-line docstring to single-line per PEP8 guidelines
- Maintains clean, professional code style in philosophical examples
- Keeps the technical precision that Kenneth values in code examples

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-09-20 17:46:24 -04:00
kennethreitz 5e02d95d4b Add new essay: Entertaining the Brain, Effectively
Explores writing as cognitive entertainment that serves consciousness rather
than exploiting attention. Key themes:

- Technical precision as performance art for minds that appreciate craft
- The difference between mindless consumption and cognitive nutrition
- Writing as interface design between minds using "For Humans" philosophy
- Recursive entertainment loop: entertained brains create more entertaining content
- Responsibility when influencing how consciousness works

Includes optimized sidenotes, cross-linking to related essays, and authentic
acknowledgment of Sarah's role in creating contemplative conditions for
conscious work. ~1,400 words in Kenneth's contemplative pragmatism voice.

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-09-20 17:41:30 -04:00
kennethreitz abd0c9a67b Optimize visual hierarchy essay and clarify it's about kennethreitz.org
- Enhanced cross-linking to 7 related essays and themes for better integration
- Made explicit that examples are from kennethreitz.org specifically
- Improved flow and transitions between sections
- Strengthened contemplative pragmatism voice throughout
- Added "this site" and "digital garden" references for clarity
- Demonstrates recursive loop in action: examining own site's design

Essay now clearly shows Kenneth analyzing his own visual design decisions
rather than abstract theorizing, making it more authentic and grounded.

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-09-20 01:09:45 -04:00
kennethreitz a9be52ede8 Add new essay: Visual Hierarchy and the Shape of Attention
Explores how visual systems shape consciousness through two technical examples:
- Icon generator creating 1.5 trillion unique combinations as digital DNA
- Typography hierarchy bug fix revealing cognitive architecture

Connects procedural icon generation and typographic design to broader themes
of recursive loops between code and consciousness, demonstrating how programmer
decisions become cognitive infrastructure for millions of minds.

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-09-19 17:25:50 -04:00
kennethreitz 94ffeafebc Fix h4 heading typography to distinguish from paragraph text
- Increase h4 font-size from 1.4rem to 1.6rem (paragraphs are 1.4rem)
- Increase h4 font-weight from 500 to 600 for better visual hierarchy
- Now h4 headings are clearly distinguishable from body text

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-09-18 23:13:55 -04:00
kennethreitz e1c24aa570 Update homepage with recursive loop philosophy and enable directory icons
- Rewrite index.md to better reflect Kenneth's contemplative pragmatism voice
- Center the content around the recursive loop between code and consciousness
- Emphasize the responsibility of programmers shaping collective consciousness
- Enable article icons on /directory page by removing from exclusion list

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-09-18 18:57:55 -04:00
kennethreitz b5ebe35602 Remove AI Collaborations section from mental health theme page
🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-09-18 18:42:11 -04:00
kennethreitz a353ccfaa7 Add folder icon support for directory links in icon API
- Detect directory paths (ending with / or pointing to directories)
- Use generate_folder_icon() for directories instead of regular article icons
- Read index.md files for directory titles when available
- Fallback to directory name for folder icon generation
- Fixes AI personalities link and other directory links to show proper folder icons

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-09-18 15:06:05 -04:00
kennethreitz 19b74e503a Match icon media query breakpoint to sidenote breakpoint (760px)
- Change icon hiding from max-width: 1024px to max-width: 760px
- Icons now hide at same breakpoint where sidenotes get reorganized
- Maintains consistent responsive behavior with Tufte CSS framework

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-09-18 14:57:15 -04:00
kennethreitz 6a34a87caa Hide article icons on mobile and tablet devices
- Add responsive CSS media query to hide icons on screens ≤ 1024px
- Use reliable window flag tracking to prevent duplicate styles
- Apply both display:none and visibility:hidden for consistency
- Ensure clean mobile/tablet experience while preserving desktop icons

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-09-18 14:50:17 -04:00
kennethreitz bd62ba8550 Enhance icon system for themes and improve positioning
- Add themes directory to content cache for proper icon generation
- Remove colored dots from themes/index.md to enable icon display
- Fix JavaScript to handle links wrapped in strong tags
- Improve icon positioning with refined margins and alignment
- Prevent icons from loading on index/archive pages
- Fix navigation link to point to /themes instead of /themes/
- Optimize icon spacing and vertical alignment across devices

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-09-18 14:45:14 -04:00
kennethreitz 5f126491f9 Fix article link icons and improve icon generation system
- Fix data URL display issue by using inline SVG instead of img src
- Add LRU cache to icon API for better performance
- Expand icon coverage to all internal links (not just essays)
- Add software, poetry, and talks directories to content cache
- Implement fallback logic to read files directly when not in blog cache
- Fix Requests icon to use full title "Requests: HTTP for Humans"
- Improve icon positioning with negative margins and vertical alignment
- Add graceful fallback icons for missing content

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-09-18 14:18:00 -04:00
kennethreitz 7dc11f7c16 Fix navigation dropdown z-index on index pages
Increase dropdown z-index to 999999 and set main/article elements to z-index 1
to prevent content from rendering above navigation dropdown on index pages.

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-09-18 13:32:46 -04:00
kennethreitz 1aa0d51e3d Reorganize content guide and fix navigation issues
- Move content guide from base.html footer to homepage bottom
- Add search to archive page browse-by-type section
- Fix navigation dropdown z-index conflicts
- Increase dropdown z-index to 99999 for proper layering
- Set year-picker z-index to 1 to stay below navigation
- Fix mobile connections page width from 65% to 100%

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-09-18 12:41:55 -04:00
kennethreitz a2a51ce4a5 Fix mobile width for connections page link boxes
Increase max-width from 65% to 100% on mobile for better readability.
Connection boxes now use full available width on mobile devices.

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-09-18 08:14:59 -04:00