Code Track

projects, AI tools, and code tooling

"Talk is cheap. Show me the code."
- Linus Torvalds

Figure 1. CodeWebifier ‐ source-to-HTML conversion tool

1. What is Code Track?

A Track is a focus area for code content, e.g., a programming language and applications. Each track is backed by a child directory used for this site. Track directories contain code files, Track stories and Bites, and a linked list of github repository documentation specific to the Track focus. The Code track also hosts supporting resources: code development tools, scripts, stories, and bites about current projects and AI support for their implementation. The Site contains a large set of subdirectories accessible locally if you have downloaded the NewSite repository. Otherwise available from its github repository linked in page header, above.
Locations of Code and Presentations
red - contains most useful example code
Path Description
NewSite/Root of the static documentation site
├── archive/Archived and superseded content
├── Basics/Basics programming track pages
├── Blogs/Blog posts
├── Code/Code track: projects, AI agents, tools
│ ├── AI/Python AI agents, demos, and tools
│ │ ├── Claude/Claude session context files
│ │ ├── CppCodeAnalysis/C++ static analysis scripts
│ │ ├── DemoAgent-Claude/First-gen single-pass analysis agent
│ │ ├── DemoAgent-Claude2/Interactive dev agent (primary)
│ │ ├── DemoAIConsole-Gemini/Gemini interactive console demo
│ │ ├── DemoCode-Claude/Raw Claude API call examples
│ │ ├── DemoCode-Gemini/Raw Gemini API call examples
│ │ ├── DemoLibraryAgent-Claude/Library codebase analysis agent
│ │ ├── documents/AI documentation and pattern files
│ │ ├── pictures/AI-related images
│ │ ├── ReadmeAgent-Claude/README generation agent
│ │ ├── RustCodeAnalysis/Rust static analysis scripts
│ │ ├── RustDemoAgent-Claude/Rust-focused Claude agent
│ │ ├── Scripts/Agent launch and utility scripts
│ │ └── Skills/Reusable agent skill modules
│ ├── Basics/Basic cross-language examples
│ │ └── Hello/Hello World examples
│ ├── C#/C# demo projects
│ │ ├── Basics/Basic C# demos
│ │ ├── Cs_WCF_Demos/WCF communication demos
│ │ ├── Cs_WPF_Demos/WPF GUI demos
│ │ ├── CsBasicDemos/C# language fundamentals
│ │ ├── CsBlockingQueue/Blocking queue implementation
│ │ ├── CsCommPrototype/Communication prototype
│ │ ├── CsConcurrentFileAccess/Concurrent file access demo
│ │ ├── CsDependencyAnalysis/Dependency analysis tool
│ │ ├── CsGraph/Graph implementation
│ │ ├── CsNavigator/Directory navigator
│ │ ├── CsParser/Parser implementation
│ │ ├── CsProcess/Process management demo
│ │ ├── CsPublisherSubscriber/Publisher-subscriber pattern
│ │ ├── CsRemotePluggableRepo/Remote pluggable repository
│ │ ├── CsXDocument/XML document processing
│ │ └── Hello/Hello World
│ ├── C++/C++ demo projects
│ │ ├── archive/Archived C++ files
│ │ ├── Basics/Basic C++ demos
│ │ ├── DirNav/Directory navigator
│ │ ├── Hello/Hello World
│ │ ├── NameConventions/Naming convention examples
│ │ └── TextFinder/TextFinder C++ implementation
│ ├── CodeWebifier/Source-to-HTML converter tool
│ │ └── CodeWebifier/Tool source and build files
│ ├── Components/Custom web components
│ │ ├── CodeViewerComponent/Inline code viewer component
│ │ └── ImageViewerComponent/Image viewer component
│ ├── css/Code track stylesheets
│ │ └── archive/Archived stylesheets
│ ├── DesignStructure/Rust design pattern examples
│ │ ├── archive/Archived versions
│ │ ├── BasicStructure/Basic structure pattern
│ │ ├── DataFlowStructure/Data flow pattern
│ │ ├── FactoredStructure/Factored structure pattern
│ │ ├── PlugInDataFlowStructure/Plug-in data flow pattern
│ │ ├── PlugInWithTraitObjects/Plug-in with trait objects
│ │ ├── TypeEraseDataFlowStructure/Type erasure data flow
│ │ └── TypeEraseDataFlowStructureWithTraitObjects/Type erasure with trait objects
│ ├── documents/Code track documents
│ ├── js/Code track scripts
│ ├── pictures/Code track images
│ │ └── archive/Archived images
│ ├── Projects/Multi-language project implementations
│ │ ├── archive/Archived project files
│ │ ├── documents/Project documentation
│ │ ├── Notes/Session notes
│ │ ├── PageValidator/PageValidator implementations
│ │ └── TextFinder/TextFinder implementations
│ ├── Python/Python demo scripts
│ └── Rust/Rust demo projects
│ ├── Basics/Basic Rust examples
│ └── Hello/Hello World
├── Cpp/C++ track pages
├── CSharp/C# track pages
├── css/Site-wide stylesheets
├── documents/Site documents
├── GridExplorer/Grid explorer pages
├── Help/Help track pages
├── images/Site-wide images
├── js/Site-wide scripts
├── pictures/Site-wide pictures
├── Python/Python track pages
├── Rust/Rust track pages
├── sdd/Software design development content
├── Site/Site track pages
├── SWDev/Software development track pages
├── Tests/Test files
├── Tools/Tools
├── videos/Site videos
├── Viewer/Viewer component (deprecated)
└── WebDev/Web development track pages and W3C Component code

2. Track Contents

Section Description Entry Point
Project Story Narrative chapters recording the development of multi-language projects for this site. Covers code development tools, TextFinder (regex directory search in five implementations), and PageValidator (HTML structural validation in four implementations). Includes architecture diagrams, CLI tables, performance measurements, and an optimization case study. Code Story Prologue
AI Story Twelve chapters covering AI and LLM fundamentals through practical API use. Topics include AI concepts, tokenization, prompting strategies, model selection, the Messages API, structured output, streaming, prompt caching, tool use, agent construction, reliability, and context management. AI Story Prologue
AI Bites Twelve short reference pages on using AI as a development tool. Topics include AI self-assessment, usage examples, chat bots, interactive consoles, prompt patterns, API agents, agentic workflows, spec-driven development, skill libraries, the LLM API, and a curated AI links page. AI Bites Introduction
AI Agent Demos Runnable Python agents under Code/AI/. The primary demo is DemoAgent-Claude2 - an interactive development agent with commands for code analysis, improvement, README generation, and directory inspection. Additional demos cover raw API calls, Gemini, library analysis, and a README generation pipeline. Dev Agent Demo
Repositories Index of Code track GitHub repositories. Covers the project implementations (TextFinder, PageValidator), the ReadmeAgent tool, and CodeWebifier. Each entry links to both local documentation and the GitHub repository. Repositories

3. Multi-Language Projects

The Code track builds the same tool in Rust, C++, C#, and Python to make design trade-offs and performance differences visible and measurable. Current projects:
Project Description Implementations
TextFinder Walks a directory tree and reports files whose content matches a user-supplied regular expression. Three-component architecture (CommandLine, DirNav, Output) wired by an entry point with no cross-library dependencies. Baseline Rust and an optimized variant demonstrate a 33% gain from using DirEntry::file_type() instead of Path::is_dir(). Python leads on this I/O-bound workload due to C-extension hot paths and a DFA-based regex engine. Rust
C++
C#
Python
PageValidator Checks HTML files for structural correctness using a four-component pipeline: Tokenizer, Lexer, Validator, EntryPoint. Enforces eight rules: DOCTYPE, root element, head, body, tag nesting, void elements, attribute quotes, and duplicate IDs. C++ leads on this CPU-bound workload; Python is slowest because the character-by-character tokenizer loop runs in pure Python. The language comparison table maps how Token is expressed as enum / std::variant / abstract record / dataclass across all four. Rust
C++
C#
Python
CommCompare Compares socket-based message-passing communicators built in Rust and C++. Evaluates performance, complexity, code size, and safety side-by-side. Developed with collaborator Mike Corley to explore practical Rust versus C++ trade-offs in a networked application setting. Comm Compare

4. Code Tooling

Tool Description Entry Point
CodeWebifier A .NET application that converts source files to syntax-highlighted HTML pages. Used to produce all code display pages across the site. Accepts a directory path and emits one HTML file per source file, preserving indentation and applying language-appropriate highlighting. Code Webifier
Project Templates Starter templates for new multi-language projects: _template_cpp, _template_csharp, _template_python, _template_rust. Each provides the component directory layout, Constitution.md, and a new_project.py scaffolder used to bootstrap new implementations from the template. Code Track Map
DesignStructure Seven Rust design pattern examples under Code/DesignStructure/: BasicStructure, DataFlowStructure, FactoredStructure, PlugInDataFlowStructure, PlugInWithTraitObjects, TypeEraseDataFlowStructure, and TypeEraseDataFlowStructureWithTraitObjects. Each is a runnable Cargo workspace demonstrating one structural pattern. Code Track Map
Spec-Driven Generation Each project implementation carries a generate_part.py script that calls the Claude API to regenerate any component from its Spec.md. Constitution.md sets hard constraints, Structure.md defines the component layout, and Spec.md provides function signatures and contracts that drive generation. Spec-Driven Dev
Scripts Utility scripts supporting the Code track: agent launch scripts (run_agent.bat, run_agent.ps1), project timing runners (tf_timer.py, pa_timer.py), code metrics reporter (code_metrics.py), and project scaffolder (new_project.py). Located under Code/AI/Scripts/ and each project directory. Code Track Map
Utilities Timing and metrics scripts used across both projects. tf_timer.py and pa_timer.py run each implementation 20 times and report min/median/max elapsed times. code_metrics.py reports line counts and scope counts per file. Experiment Arena

5. Getting Started

  1. Browse the Repositories page for an overview of current project implementations. Pick a language you know and read the TextFinder implementation in that language first.
  2. Read the same project in a second language and compare design choices directly - ownership and traits in Rust, named modules in C++, records in C#, dataclasses in Python.
  3. Work through the Code Story chapters in order. The Experiment Arena chapter covers the timing and metrics tools used in the performance sections of the project chapters.
  4. For AI-assisted development, start with AI Story for concepts, then read AI Bites for workflow-focused pages. The agent demos under Code/AI/ are runnable immediately if you have an Anthropic API key.
  5. For language feature comparisons, the Imperative Story and Declarative Story can be read in any order - each chapter is self-contained.

6. References

Resource Description
The Rust Book Official introduction to Rust - ownership, borrowing, traits, and the standard library.
cppreference.com Comprehensive C++ language and standard library reference, C++11 through C++23.
C# Documentation Microsoft's official C# reference - language features, .NET libraries, and runtime.
Python Docs Official Python 3 documentation - language reference, standard library, and tutorial.
Anthropic API Docs Full reference for the Claude API - models, endpoints, tool use, agents, and the Python SDK.
Claude Code Anthropic's CLI tool for AI-assisted development - interactive sessions, file editing, agent workflows.
AI Links Curated links to AI tools, documentation, tutorials, and research for code development.
Track Repositories Index of all Code track GitHub repositories, organized by project and language.