"Good judgement comes from experience, and experience comes from bad judgement."
- Jim Horning
Click on image to enlarge, refresh to restore
The primary purpose of this site is to provide access to, and documentation for, a collection
of code resources, like the TextFinder tool shown in the diagrams here. A lot of this code was
developed for my Syracuse University classes. New code will appear here for other things of
interest now.
All of the code C++ repositories are described in an annotated list that
is accessed via the "Repositories" button on the top menu. Each repository is accompanied by
a code story describing its concept, design, implementation, and operation. A few of the stories will
describe ideas on which the design is founded in some detail.
Site Contents:
CppRepositories contain code for utilties, tools, reusable components, platform specific
libraries for Windows and Linux, larger projects, and small language specific demos.
Most of the code is written in C++, but soon C# repositories will be added.
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 language reference materials. For now, that focuses exclusively
on C++, but eventually the site will add references for C#, Java, and a few other languages.
Structure:
The site now has three levels where a level is simply a collection of pages that all have the same "level"
menu.
The Home level menu provides access to an annotated list
of C++ repositories, and to other reference materials, Notes, Blogs, ... about software development and use of this site.
The Repositories level provides quick access 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.
Every page in the site can be accessed via menus, specific to each level, at the top of
the page.
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".
Construction started on this site after I retired from Syracuse University on May 31, 2019. For a while you may find some incorrect links and
missing content.
Some of the current content was ported from my University Website
and may not be entirely relevant in this context. I will be modifying or removing that over the
next few weeks.
You will find more information about the site goals, design, and status in
SiteDesign.html.
This site will host a fairly large number of code repositories,
each with documentation to aid understanding and use
of that code, and with links to related design and implementation ideas.
Repositories are hosted on https://github.com/JimFawcett
with most focused on a single software component or project.
Access repository documentation and code via any of:
Home > Top Menu > Repositories
Top Menu > About > select Repository webpages
Top Menu > About > select SiteMap
Home > Top Menu > Repositories > Top Menu > [repo type] > select repo
Notes
Notes are "how-to" discussions of design, implementation, and interesting projects.
Access via Home > Top Menu > Design Notes > select note
Blogs
Blogs are discussions of architectural ideas, implementations, and
surveys of language and library features.
Access via Home > Top Menu > Blogs > select blog
Resources
Useful tutorials, helpers, and guides
Access via Home > Top Menu > Resources > select resource
Prog Lang
Pages with notes, links to demo repositories, and tutorials for
the languages I use or expect to use.
Access via Home > Top Menu > Prog Lang.
About
Information about this website
Access via Top Menu > About > select page