"Good judgement comes from experience, and experience comes from bad judgement."
- Jim Horning
This site contains code repositories with documentation, stories about programming languages, and lots of
resources. You will find the top menu helps you figure out what is here and find things by viewing the
dropdowns. A lot of site
pages reside in linked lists of pages, so if you see Prev and Next buttons on the top menu you can
follow those threads easily (this page is not in a list).
The badges, below, direct you to areas of the site you may find interesting. Rust is a relatively new and
clever language that I believe will continue to grow in popularity and use. C++ is an older workhorse
language with a very large application base, widely used in industry.
This site is intended to provide access to, and documentation for, a collection
of code resources, like the TextFinder tool shown in the diagrams at the
A lot of these resources are useful reusable parts rather than complete applications.
developed for my Syracuse University classes. New code will appear here for other things of
Another intent is to experiment with ways to document and deploy code: how to provide
quick access to important code fragments as well as an entire product with multiple packages, how to
balance browser view space between non-trivial text descriptions, diagrams, and images, and how to provide
intuitive navigation through large collections of code and resources.
If you wish to provide constructive feedback about this site, visit my Piazza.com
site and join Class 1: 001: JimFawcett. You won't get any direct emails, but can see any responses
I make by viewing the Q&A section.
The primary contents of this site are Repositories and Stories. Repositories can be accessed from
any home level page from the Repos button on the top menu.
Repos (Repositories) contain code for utilties, tools, reusable components, platform specific
libraries for Windows and Linux, larger projects, and small language specific demos.
Much of the code is written in C++, some
Other language repositories will be added eventually.
All of the code repositories are described in annotated lists that
are accessed via the "Repos" button on the top menu. Each repository is accompanied by
documentation describing its concept, design, implementation, and operation. A few will
describe ideas on which the design is founded in some detail.
Stories are sequences of pages focused on a single topic. They are all related to the content
of this site. You can access them from any home level page from the Stories
button in the top menu.
You will find discussions of ideas and principles for software development in a
series of blogs. Some contain design details about code in a few of the repositories.
For example, there are discussions about designs for a NoSQL database, Parsing, and Directed Graphs.
Also, there are a lot of programming and language reference materials. For now, language references focus
on C++, but eventually the site will add references for Rust, C#, Java, and a few other languages.
Here are places to look for language support:
Resources (Res) dropdown menu at top of the home level pages.
The Stories dropdown has C++ and Rust story tutorials. Eventually there will be other language
stories as well.
The C++ Repositories have a lot of C++ code examples and projects.
The Rust Repositories are now acquiring code examples and projects.
Fig 4. Site Layout
The site now has four levels where a level is simply a collection of pages that all have the same "level"
The Home level menu provides access to annotated lists
of repositories, and to other reference materials, Notes, Blogs, ... about software development and use of this site.
to all the repositories for this site.
You can find a specific repository simply by hovering over each of the categories and viewing its
dropdown list. Each repository menu item links to a documentation page, which in turn links to the repository code.
The Language level provides language feature specific discussions and code examples,
now exclusively for C++, but more languages will be added soon.
The Stories level holds sequences of pages for "stories", e.g.,
CppStory, SiteStory, ...
Every page in the site can be accessed via menus, specific to each level, at the top of
If you get lost, all of the menus have an "About" button with dropdown menu
that includes the first page of each level, and also a "Site Map".
The goals and status for this site are:
Goal: Brief, but relatively complete documentation for every repository.
Status: Every repository has documentation, but about half are not yet complete.
Goal: Code for demonstration and test cases for each package in each repository.
Status: Every repository has demonstration code, but only a few have sets of test cases.
Status: There is a substantial amount of tutorial material for C++ organized into
site pages and stories. A Rust story is being constructed.
Building this will be an on-going process.
You will find more information about the site goals, design, and status in