Free stuff (etc.)!

In our books and courses, we describe various goodies that you can have for free. Some of these goodies are code. There are no warranties or guarantees for any of this code - it is not production code, and it is shared with you for experimentation purposes only. All this code is released under the GNU General Public License.

Are you suffering from existential angst? Are you feeling that it might all somehow be more worthwhile if only you had more tat? (Spoiler alert - it won't). Do you need more landfill?? Don’t despair! Visit the Clear View Training Tat Shop on Cafe Press. 


A few of our readers really like some of the figures in Generative Analysis, so we are making them available inscribed on precious, heirloom quality, tat, such as mugs and T shirts. We’re starting with our Dissonant Duck, because we all know someone like that, don’t we...

The Semantic Highlighter

This is a very simple (but quite useful) tool that I describe in detail in “Generative Analysis”. I have recently simplified all the code, and moved it from Python 2.7/wxPython to Python 3/TkInter. It is now much easier to use and to modify, should you need to. The SemanticHighlighterREADME.pdf will tell you how to set it up, and how it works.

I have also created a more advanced version that has integration (via the Natural Language Tool Kit) with Princeton WordNet,

Idea: How about making this a plug-in for Microsoft Word????

Idea: How about integrating this with Generative AI????

Ruby Workspaces

An implementation of Smalltalk workspaces for Ruby. What does this mean? A workspace is a simple text editor in which you can write text and embed and execute Ruby code. This allows you to create "booklets" of executable Ruby snippets. The workspace idea is in some ways superior to IRB, because whilst you have the same level of interactivity as IRB, you can see everything you have typed and executed on one page. You can also save the pages to refer to later.

I also have a version for Python, but this has been superseded by Jupyter Notebooks, which work on much the same principle.

Rules Engine

A simple Python implementation of the Rule Archetype Pattern from "Enterprise Patterns and MDA". Note: this is written in as general way as possible (Python almost as pseudo-code) so that it can be easily ported to other languages - it is definitely NOT idiomatic Python, nor is it meant to be. The Rules Engine can actually be implemented in just a few lines of idiomatic Python. I will publish that here when I get around to it. Although the Rules Engine was provided for illustrative purposes only, it has found its way into a surprising amount of production code. Perhaps this is because it is simple and just works.

Worked Example from
"UML 2 and the Unified Process"

This worked example is getting old and wrinkly now. But, like many old, wrinkly, things it is still useful. It has been superseded by the incredibly detailed (and largely wrinkle free) worked example in "Generative Analysis", which uses Generative AI.

Electronics etc.

As a hobby, Jim occasionally does a bit of writing for Nuts And Volts electronics magazine. He is particularly interested in inventing devices for electronic music comprising MIDI and Eurorack controllers and instruments. If you are into electronics, Nuts And Volts is a great magazine!


Jim is also the inventor of the Art of Well-Permutation. You can find permutations of several works by J. S. Bach (and some other stuff) on Jim's SoundCloud page.