-
Annotating UML with Design Patterns as Visual Objects
Wednesday, September 09, 2026 in Blog
Conventional UML has a blind spot. Once a diagram grows beyond a handful of classes, you can see all the classes and relationships perfectly well — but you have to mentally recognise that “oh, these four classes are actually an Observer …
-
Plain Text Diagrams
Wednesday, January 29, 2025 in Blog
Plain Text Diagrams are a way of representing diagrams of code structure and behaviour in a plain text format. Plain Text ‘diagrams’ - aren’t really diagrams but are nested, indented text files that can be rapidly parsed by the …
-
GUI Showdown
Friday, February 11, 2022 in Blog
Andy’s GUI Showdown - The same application, implemented in various ways - which is better, cleaner, more understandable etc? Like the TodoMVC “Rosetta Stone” project, but uses a different example application, and includes Python as …
-
History of this Blog
Friday, January 21, 2022 in Blog
These blog posts are often based on presentations that I have given to live audiences at various programmer enthusiast user groups or conferences. Talks given but unfortunately no website presentation materials 2007 July - Object Role Modeling - What …
-
TodoMVC implemented using traditional OO, Controllers and Events
Monday, May 18, 2020 in Blog
TodoMVC implemented in a classic Object Oriented way. TodoMVC is a long standing web project showing how a ToDo app can be built in numerous frameworks. The classic Javascript TodoMVC app implemented without a framework, using plain Object Oriented …
-
TodoMVC implemented using a game architecture — ECS
Monday, May 18, 2020 in Blog
Building traditional GUIs with the Entity Component System. Is the Entity Component System any good for building traditional GUIs? It turns out that the answer is yes! Whilst ECS is most commonly used in building games, it can also be used for …
-
Django View logging is back-the-front
Wednesday, September 04, 2019 in Blog
Have you ever looked through your Django log files and console messages, felt something was out of order and didn’t make sense, but couldn’t quite put your finger on it? Here is an example of what I mean. Here is some view code: def …
-
Getting wxPython apps into the Ubuntu app store
Saturday, April 06, 2019 in Blog
Have you ever dreamt of getting your own apps in the Ubuntu app store? Here’s how. I wanted to get my UML tool for Python, Pynsource, into the Ubuntu/Snapcraft app store for a long time. This is the story of how I made that happen. It certainly …
-
Async/await for wxPython
Saturday, March 02, 2019 in Blog
How to build Python 3 GUI apps with asynchronous functionality. Python 3’s support of async/await is the new hotness, allowing cooperative computation with reduced complexity and without needing threads — as long as you use async compatible libraries …
-
Building a Python-Electron App
Wednesday, October 03, 2018 in Blog
Building a normal, deployable application for Mac or Windows, using Python 3 is hard. There is nothing like Visual Studio or Delphi (remember that?) for Python where you can drag and drop to design a GUI, press a button and get an .exe or .app to …