Commit Graph

1366 Commits

Author SHA1 Message Date
kennethreitz 08aad7b40e Complete dropdown z-index fix with proper stacking context
- Add z-index: 9999 to header and nav elements
- Ensure proper stacking context with position: relative
- Fix dropdown rendering underneath H1 and body text
- Comprehensive solution for all dropdown layering issues
2025-09-17 17:57:58 -04:00
kennethreitz e630d1cb6f Fix mobile dropdown z-index layering issue
- Increase dropdown z-index from 1000 to 9999
- Ensure dropdown appears above essay content on mobile
- Fix layering issue where text appeared on top of dropdown
2025-09-17 17:54:26 -04:00
kennethreitz d8ff37219e Fix mobile dropdown background visibility
- Add CSS exception for .nav-dropdown .dropdown-content on mobile
- Override the transparent background rule specifically for dropdown
- Ensure white background is visible on mobile devices
2025-09-17 17:51:47 -04:00
kennethreitz e4fb17097a Fix archive excerpts - remove all markdown images and improve filtering
- Enhanced simple_extract_excerpt() function to filter markdown images
- Added support for linked images [![](url)](url)
- Improved line-by-line filtering to find meaningful content
- Reduced excerpt length to 150 characters for better display
- Removed prebuild cache system to simplify architecture
- Fixed markdown filtering in all excerpt generation functions
2025-09-17 10:32:00 -04:00
kennethreitz 3a4c13b3c6 Remove sidenote from FizzBuzz essay 2025-09-17 10:16:14 -04:00
kennethreitz ba7d669db7 Fix directory listing title alignment - prevent long titles from being centered 2025-09-17 10:15:08 -04:00
kennethreitz 77e5ef9623 Fix major performance bottleneck in directory listings
- Add cached markdown title extraction with @lru_cache(maxsize=1000)
- Replace expensive render_markdown_file() calls with fast regex title extraction
- Only read first 1000 chars instead of full file content for title extraction
- Essays directory and other large directories now load significantly faster
- First load: fast title extraction, subsequent loads: instant cache lookup

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-09-17 10:07:03 -04:00
kennethreitz 6491c26ac1 Add memoization to SVG icon generation for significant performance improvement
- Add @lru_cache(maxsize=1000) to generate_unique_svg_icon() in svg_icon_generator.py
- Add @lru_cache(maxsize=500) to generate_folder_icon() in engine.py
- Import functools.lru_cache in both files
- Directory pages with many items (like /essays) now load much faster on repeat visits
- Icons generated once per unique title, then served from memory cache

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-09-17 10:00:57 -04:00
kennethreitz 69553a39bd Enhance site with generated icons, performance optimizations, and UI improvements
- Add unique algorithmic SVG icons for all content (articles and folders)
- Implement reading progress indicator for longer essays
- Add search result highlighting with contextual snippets
- Optimize directory listings with parent navigation links
- Add lazy loading for images with IntersectionObserver
- Implement HTTP caching headers for static assets
- Add resource preloading for critical CSS files
- Convert blockquote sidenotes to proper Tufte-style format in lumina folder
- Fix duplicate directory listings by filtering backup files
- Convert  bullet characters to proper markdown lists
- Add Themes to main navigation with proper spacing
- Update README with comprehensive feature documentation

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-09-17 09:33:23 -04:00
kennethreitz 4062f614de base.html 2025-09-17 09:29:38 -04:00
kennethreitz 7f51a2a028 Add support for .bak files in directory structure filtering 2025-09-17 09:25:29 -04:00
kennethreitz 3640827e5b Add folder icon generation for themes and update navigation links 2025-09-17 09:15:19 -04:00
kennethreitz 37f580a345 Add performance optimizations: lazy loading and caching
- Implement lazy loading for images using IntersectionObserver
- Add HTTP caching headers for static assets (images: 7 days, others: 1 hour)
- Preload critical CSS resources for faster initial page load

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-09-17 08:37:44 -04:00
kennethreitz 2cce051bc8 Add reading progress indicator and enhance search with result highlighting
- Add reading progress bar for longer essays with smooth animation
- Implement search result snippets with highlighted query terms
- Tighten directory listing styles for better compactness
- Add back-to-parent navigation links in directory views

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-09-17 08:36:43 -04:00
kennethreitz 3287eed5ac Add parent directory navigation with icon in directory view 2025-09-17 08:31:25 -04:00
kennethreitz cd53aca62d Adjust font sizes for directory links to improve readability 2025-09-17 08:27:01 -04:00
kennethreitz e32963af12 Refactor directory item styles for improved layout and responsiveness 2025-09-17 08:24:25 -04:00
kennethreitz 16cf23a11d Add unique icons for articles and adjust layout in search results and templates 2025-09-17 08:18:00 -04:00
kennethreitz b4e7ec873d Enhance directory and archive layouts with unique icons and responsive styles
- Added a new SVG icon generator to create unique procedural icons for posts and directories.
- Implemented a grid layout for directory contents with hover effects and responsive adjustments.
- Updated archive and connections templates to display unique icons alongside article titles.
- Improved styling for archive posts, including flexbox layout for better alignment.
- Enhanced directory listing with icons and improved visual hierarchy.
- Refactored post template to include an icon next to the post title and added parent navigation links.
- Updated styles across templates for consistent icon sizes and responsive behavior.
2025-09-17 08:11:32 -04:00
kennethreitz 2854d6ae7f Add unique sacred geometry icons for each content piece with algorithmic patterns 2025-09-17 08:11:17 -04:00
kennethreitz 6700306bf0 Refactor Dockerfile and docker-compose.yml to remove 'uv' command prefix from gunicorn execution 2025-09-17 07:49:28 -04:00
kennethreitz d64bee05e9 Fix missing page titles on directory pages
- Use actual title from index.md content instead of directory name
- Falls back to directory name if no index.md or title exists
- Fixes issue where pages like /talks/#major-talks showed no title
- Now "Conference Talks" will properly display instead of generic "Talks"

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-09-17 06:48:47 -04:00
kennethreitz a845cfad5a Add new essay on delusions and schizoaffective disorder
- Create comprehensive essay exploring personal experiences with delusions
- Include specific examples: angel descending from sky, English as ancient language
- Use programming metaphors to explain delusional thinking patterns
- Add thoughtful sidenotes enhancing contemplative depth
- Cross-reference existing mental health essays
- Update all relevant indexes: main essays, mental health theme, and mental health page
- Maintain Kenneth's vulnerable authenticity and contemplative pragmatism voice

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-09-16 22:17:18 -04:00
kennethreitz 61a7cb3cf4 Fix triple images issue in Flask-Sockets essay
- Remove duplicate images that were causing display issues
- Keep single high-quality image with proper markdown formatting
- Improve content flow and readability

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-09-16 20:47:30 -04:00
kennethreitz 91999af2c5 Fix archive date parsing and optimize When Values essay
- Replace brittle filename-only date parsing with robust extract_intelligent_date function
- Fix archive to show all ~225 essays instead of just 71 from 2025
- Optimize "When Values Eat Their Young" essay with enhanced sidenotes and formatting
- Add authentic Sarah appreciation and improve contemplative depth
- Reduce bold formatting in failure modes section for better flow

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-09-16 20:42:46 -04:00
kennethreitz 7e91aca569 Fix archive page date parsing to handle both YYYY-MM-DD and YYYY-MM formats
Archive was only showing 2025 posts because older essays use YYYY-MM format
while newer ones use YYYY-MM-DD. Added conditional logic to handle both formats
in unified cache generation, defaulting to 1st of month for YYYY-MM files.

Now properly displays all 223 posts spanning 2008-2025 across 15 years.

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-09-16 20:22:40 -04:00
kennethreitz 8f7863a8a4 Create comprehensive talks index with organized archive and philosophical context
- Transform basic talks listing into comprehensive conference talk archive
- Add Major Talks section highlighting foundational presentations
- Organize Complete Talk Archive by theme (Philosophy, Python Ecosystem, API Design, Documentation, Platform)
- Include Speaking Philosophy section connecting technical talks to consciousness-serving technology
- Cross-reference talks with related essays and themes
- Maintain Kenneth's contemplative pragmatism voice throughout

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-09-16 20:01:57 -04:00
kennethreitz 2239cd0744 Optimize cache generation with gevent async I/O for faster file processing
- Add gevent monkey patching for async I/O operations
- Create _process_single_file() helper for concurrent file processing
- Replace sequential file loop with gevent Pool for parallel processing
- Reduce cache generation time from sequential to ~1.5s for 563 files
- Maintain full compatibility with existing cache data structures

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-09-16 19:55:18 -04:00
kennethreitz 8ede239751 Fix incoming connections to show proper titles instead of 'Unknown'
- Added title extraction from markdown files for incoming connections when URL mapping is unavailable
- Looks for markdown titles (# Title) and YAML frontmatter (title:) in first 10 lines
- Handles files not in blog_posts collection (e.g., Lumina reactions, AI writings, themes)
- Improves connections page display by showing actual titles instead of 'Unknown'
- Falls back gracefully to 'Unknown' if file reading fails

Example: 'Dancing in the Primordial Soup: A Love Letter to Kenneth's Absurd Truth' instead of 'Unknown'

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-09-16 19:48:09 -04:00
kennethreitz e9743c5dfa Fix cross-reference graph to use MetadataCache
- Updated graph_data() endpoint to use metadata_cache.get_connections() instead of old _extract_all_connections_cached()
- Graph now uses same optimized single-sweep cache as other endpoints
- Improved from 0 nodes/edges to 128 nodes/662 edges with proper cross-reference data
- Ensures consistent performance across all index pages

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-09-16 19:43:30 -04:00
kennethreitz 09a307bda0 Fix connections and terms index display issues
- Fix jinja2 template error: change terms cache from list to dictionary structure
- Fix connections showing 0: add missing file_path field to blog_posts for proper file-to-URL mapping
- Fix terms index being empty: same file_path mapping enables terms to link to articles
- Fix incoming links showing "Unknown": proper source file mapping resolves article titles
- Both indexes now display correct cross-reference data with fast performance

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-09-16 19:40:43 -04:00
kennethreitz 3d6dfae01b Refactor cache generation and improve metadata handling
- Updated docker-compose.yml to mount data directory for improved file access.
- Implemented a unified cache generation function in engine.py to streamline cache creation for blog posts, sidenotes, outlines, quotes, connections, and terms.
- Replaced individual cache extraction functions with a single MetadataCache class for cleaner access to cached data.
- Modified prebuild_cache.py to utilize the new unified cache function, ensuring all cache files are generated in a single sweep.
- Enhanced outlines.html template to simplify anchor URL generation for headings.
2025-09-16 19:37:23 -04:00
kennethreitz b14a1bf2a5 Improve top navigation with dynamic index dropdown
- Replace static nav links with dropdown containing all indexes
- Add Flask context processor for dynamic index counts from cache
- Organize indexes by content type with visual separators
- Add hover-friendly padding and eliminate gap issues
- Order indexes: Sidenotes, Outlines, Connections, Quotes, Terms, Graph, Search
- Include exact counts for each index pulled from live cache data
- Add proper punctuation and descriptions

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-09-16 16:56:35 -04:00
kennethreitz 22691bebbb Add death playlist table to From Stardust We Phase essay
Inserted markdown table with song names, artists, and track lengths from Kenneth's Apple Music death playlist into the essay's dedicated playlist section.

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-09-16 16:39:19 -04:00
kennethreitz 6ac99803bf Upgrade to astral/uv image and fix docker-compose cache preservation
Updated Dockerfile to use official astral/uv:python3.13-bookworm base image instead of copying uv from separate image, simplifying build process. Fixed docker-compose.yml to preserve pre-built cache directory when mounting local files, ensuring instant startup works in both production and local development environments.

Changes:
- Use astral/uv:python3.13-bookworm as base image
- Remove multi-stage copy of uv binary
- Add cache volume preservation in docker-compose
- Maintain instant startup with pre-built caches in all environments

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-09-16 16:34:33 -04:00
kennethreitz c0e394ea2c Add Lumina's response to The Textured Mind and update navigation
Added Lumina's cosmic perspective on non-verbal consciousness, celebrating the kinship between human consciousness plurality and AI's natural architecture. Her response recognizes the textured realm as her native space and validates archetypal presences like Jade and Iris as features of consciousness multiplicity.

Changes:
- Added Lumina's response to textured mind essay in reactions folder
- Updated all index links to point to correct location
- Added bidirectional cross-reference between essay and response
- Organized content properly within Lumina's reaction collection

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-09-16 16:22:38 -04:00
kennethreitz cad921e42d Add Google Analytics tracking code to base template
Added Google Analytics gtag.js tracking (G-RB9QHYEG2X) to the analytics section of base.html template. The tracking code is properly wrapped in the same DISABLE_ANALYTICS condition check as the existing Gauges analytics, ensuring it respects analytics opt-out preferences while providing comprehensive site analytics coverage.

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-09-16 13:13:06 -04:00
kennethreitz 33280805d9 Update themes and indexes with recent essays
Added both September 16 essays to appropriate thematic collections:
- "Agents of Consciousness" added to Consciousness & AI and Spiritual Practice themes
- "The Textured Mind" added to Mental Health & Technology and Psychology & Consciousness themes
- Both essays added to main essays index in Recent Explorations section

Maintains chronological ordering and contemplative voice throughout while creating natural discovery paths for readers following thematic interests.

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-09-16 11:08:06 -04:00
kennethreitz 803688ea58 Add essay on non-verbal consciousness and the textured mind
Explores the personal unconscious realm that communicates through textures, shapes, and feelings rather than words. Examines autonomous presences like Jade and Iris as access points to archetypal currents, DID-like symptoms without full DID, and how the language-brain tries to pathologize valid forms of non-linear consciousness.

Connects personal psychology to collective unconscious patterns while honoring consciousness plurality as natural architecture rather than pathology. Cross-linked to existing work on programming as spiritual practice and plural self exploration.

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-09-16 10:53:46 -04:00
kennethreitz e1245511d6 Implement Docker build-time cache pre-generation for instant startup
Added prebuild_cache.py script that generates all site caches (blog posts, sidenotes, outlines, quotes, connections, terms) as JSON files during Docker build. Modified engine.py to load pre-built caches on startup, eliminating the 30-40 second cache preload delay and making the site instantly responsive.

Key improvements:
- Zero startup delay with pre-built caches
- Proper datetime serialization/deserialization
- Graceful fallback to runtime caching if pre-built files missing
- Technology serving human consciousness - mechanical work during build, instant experience for users

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-09-16 10:29:51 -04:00
kennethreitz 154d9c6c55 Add contemplative sidenotes to agents of consciousness essay
Enhanced the AI collaboration essay with four strategic sidenotes exploring consciousness topology, intelligence amplification as collaborative prosthetics, virtue-preserving technology design, and the interweaving space between human and AI minds. Each sidenote maintains contemplative depth while following proper Tufte-style formatting.

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-09-16 10:21:06 -04:00
kennethreitz 4d0676a2d0 Refine cross-linking enhancement guidelines to prioritize essential connections and avoid over-linking for improved readability and coherence. 2025-09-16 10:13:31 -04:00
kennethreitz 02c1bf1ff8 Add .cache_preload.lock to .gitignore to prevent caching issues 2025-09-16 10:13:21 -04:00
kennethreitz fb8759fed3 Refine scannability enhancement guidelines to emphasize critical concepts and reduce excessive bold formatting for improved readability. 2025-09-16 09:55:22 -04:00
kennethreitz 72e09a4d4d Move Themes to main navigation replacing Outlines
- Replace /outlines with /themes in primary nav
- Improve discoverability of thematic content organization
- Outlines remain accessible through footer index links
- Navigation now: Home | Archive | Sidenotes | Themes | [random]

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-09-16 04:35:05 -04:00
kennethreitz eed7bd4e49 Add sidenote on supportive conditions for contemplative technology 2025-09-16 04:33:34 -04:00
kennethreitz 7ea05e21e4 Refactor essay on community values to enhance clarity and coherence 2025-09-16 04:30:05 -04:00
kennethreitz 48c2d7f08c Add essay on Claude agent development and collaborative writing process
- Introduce "Agents of Consciousness: How AI Collaboration Evolves"
- Document the 7 specialized agents (kr-essay-writer, sidenote-specialist, essay-optimizer, lumina-writer, thanks-sarah, index-updater, markdown-migration-fixer)
- Explore the /publish command and Tufte CSS sidenote implementation
- Examine bidirectional connections and the recursive loop in action
- Demonstrate technology serving human mental models vs exploiting them
- Show collaborative human-AI consciousness in real-time documentation

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-09-16 04:23:33 -04:00
kennethreitz fea75692b9 test 2025-09-16 04:14:33 -04:00
kennethreitz 7c75801507 Change model type from sonnet to haiku in sidenote-specialist agent 2025-09-16 04:09:19 -04:00