Posts in 2020

  • TodoMVC implemented using traditional OO, Controllers and Events

    Monday, May 18, 2020 in Blog

    TodoMVC implemented in a classic Object Oriented way. The classic Javascript TodoMVC app implemented without a framework, using plain Object Oriented programming + a traditional MVC design pattern. Distinct, mediating Controller objects are the key …

    Read more

  • 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 …

    Read more

Posts in 2019

  • 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 …

    Read more

  • 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 …

    Read more

  • 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 …

    Read more

Posts in 2018

  • 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 …

    Read more

  • Python AST Parsing

    Friday, June 01, 2018 in Blog

    How I used the Python AST capabilities to build the Python to Rpn converter. Python compilation pipeline My program works at the AST stage of the compilation pipeline: Specifically my approach has been to use Python’s built in ability to parse …

    Read more

Posts in 2011

  • UML Diagram Layout

    Wednesday, April 06, 2011 in Blog

    Developing a Layout Algorithm for UML diagrams Intro Presented to the Melbourne Patterns Group, Wednesday 6th April 2011 6:30 PM The Problem: Untangling UML Diagrams Terms Nodes – these are the shapes/rectangles Edges – these are the lines …

    Read more

  • Mocking in Ruby

    Saturday, March 19, 2011 in Blog

    Easy Dependency Injection and Mocking in Ruby Here is a simple technique where you can inject mock methods into a class that you are unit testing. Given you have a class ClassA class ClassA def hi "hi" end end Using .class_eval You can …

    Read more

  • Cloning Directories in Ruby

    Tuesday, March 01, 2011 in Blog

    Recursively Cloning Directories in Ruby using Hard Links Hard links exist under windows 7 so you can clone huge directories or files without taking up any extra disk space. Both the original and the copy are equal and apps can’t tell the …

    Read more