Code Workshop

repositories, stories, and documentation

This image
The source for this image is an SVG file generated from a photo of my desktop, using a converter application from Adobe's website .
"Good judgement comes from experience, and experience comes from bad judgement."
- Jim Horning

Jim Fawcett
Hi, I'm Jim Fawcett. I enjoy talking about and developing software. This is my site and I'm glad you stopped by. The site is intended for anyone interested in software development, especially for developers using C++, Rust, C#, HTML, JavaScript, and CSS. All are welcome. This site is all about code: Repositories, Stories with examples, Bites that focus on language features, and bits that compare several programming languages. Site resources are divided into Tracks. Each track focuses on a specific area, e.g., languages, web development, other software development, basics, and code experiments. Each track has a button in the top menu that opens a "Track Explorer".
You are looking at a new version of the first site I built to learn Rust by trying to explain how it works. That had fairly complete content, but was too hard to use and maintain, and some contents needed simpler explanations. This NewSite structure and mechanics are complete and most content has been ported from the old site. It is simpler to use and has more content.
Disclaimer
I am building this site to learn about things that interest me and provide reference and learning materials for others. Code here is exploratory and/or expository. I make no claims of fitness for production. I think most of what you see here is correct, clearly stated, and follows accepted idioms. The earliest material may not always be so, but I do go back to make improvements. You can help by advising me here of needed improvements.
Thanks to Mike Corley for many reviews and suggestions that have helped improve the site.

1.0 Purpose

Code Workshop is a personal website serving four goals: The intended audience is software developers at any level - especially those working with C++, Rust, C#, Python, or static web technologies.

2.0 Content Tracks

The site is organized into nine topic tracks, each with its own Track Explorer and navigation tree:

Table 1. - Content Tracks

Note:
Links with red text point to threads generated by Claude Code, then modified with AI assistance.
Track Maturity Contents
Site Solid Navigation guide, site map, first thoughts on site design documentation
Rust Most complete Full story (7 chapters), bites, code bits, references, repositories
C++ Complete Story, bites, code bits, references, repositories
C# Developing Story, Bites, repositories; more bites and bits planned
Python Developing Story, Bites, a few repositories
WebDev Solid HTML, CSS, JavaScript instruction with live examples; W3C web components
SWDev Developing Design, patterns, beginning deployment, software engineering
Basics Solid Memory models, processes, kernel resources, imperative and declarative languages
Code Solid Code, AI Story, AI Bites, AI workflows, agent demos, repositories, tooling
Tutor Solid Basic tutorials for Rust, C++, C#, Python, and LLM AI

3.0 Content Formats

Each track delivers content in one or more of these formats: Stories are ebook-style multi-chapter narratives. The Rust Story, for example, moves from data models through ownership, safety, structures, traits, and generics - seven chapters in all. Bites are single-page deep dives into one language feature, related to story chapters. Rust Bites cover ownership, borrowing, moving, mutation, and more. Most tracks have Bites. Code Bits are small compilable examples in C++, Rust, C#, Python, and JavaScript. Most Bits are part of Story and Bite content. Repositories link to documented GitHub repositories holding tools, libraries, components, and demo projects organized by track. References are quick-reference guides, currently available for Rust, C++, C#, Python, and SWDev, with plans to provide for the other tracks as well.

4.0 AI Assisted Development

The site itself is built with AI assistance:
AI Usage History
  • The first version of this site started in 2019. This second version started in 2022.
  • In mid 2023 I started using browser-based ChatGPT to:
    • find syntax for complex or weakly documented code bits
    • build unit tests, starting with Rust libraries
    • create repository README.md files
    That worked well, but trying to use ChatGPT for text improvements and other code generation did not.
  • By mid 2025 AI terminals like Claude Code were released and were remarkably effective for:
    • adding new features to existing code, debugging, and finding code smells
    • creating new web pages that are similar in structure and content to existing pages, basically acting as fairly complete templates that required small amounts of editing to serve their purposes.
  • I now use Claude Code like a quick and smart assistant that may occasionally misinterpret requests. When creating code I usually start with hand-crafted code to which I add features, debug and make quality improvements using Claude Code augmented with markdown files to set context for the projects.
  • The results are surprisingly good, but need to be checked for errors in following prompt instructions, code quality, and text content. Generated code may be functionally correct but needlessly context specific so the code is hard to reuse.
At this time a small fraction of the text and code displayed in this site have been generated using guided AI assistants. AI assistants remove a lot of friction in development and are constantly being improved. I expect that I and most other developers will use AI assistants often when generating code products.

5.0 Key Takeaways

Visitors to this site find:
Repository home: https://github.com/JimFawcett
Syracuse University website: https://ecs.syr.edu/faculty/fawcett
Feedback
Comments and suggestions are welcome. Post them here. I'm especially interested in:
  • What you liked and did not like
  • Is navigation obvious and easy?
  • Which discussions are too complex or too simple?
  • Are Stories, Bites, and Code interesting?
  • Is the site visually appealing?
  • Is the SiteMap easy to use? Are widgets (expanding images, badges) intuitive?