Bus Projects, or How I Came to Write Software No One Uses

The software which I publish on this site support both my hobbies and my need to keep learning.

GMControl App is written in Java — in which I have a LOT of experience. But it was my first attempt at a desktop application written in JavaFX. JavaFX is way better than AWT or Swing or SWT in terms of expressiveness and conciseness. This application is also the first one where I attempt — somewhat, if not entirely, successfully — to produce an installer for all the major platforms (Windows, Mac, Linux). The application itself has some warts and isn’t really complete (although I’ve used it in real GURPS games to manage combat turns and damage).

Incanter’s Aide is written in Dart. The cool thing about Dart is that it feels like a modern language with objects, a sensible type system, functions-as-objects, closures, generics, etc. Basically everything that Java ought to be, but can’tbecause of 20 years of cruft. AND — Dart can compile to byte code, and run in its own VM, or it can compile to Javascript and run natively in the browser.Incanter’s Aide is a web app and indistinguishable from any other JavaScript application.

Dart also has a cross-platform mobile app creation framework called Flutter. I plan to do some Flutter development so that I can compare it with using Apple’s Swift. More on that as I get to it.

By the way, these are “passion projects” (thanks Lesley for pointing this out!). At Google or another startup with similar culture, they might be called a “20% project”, but my company does NOT provide us with time to do this type of exploration. Instead, most of the work occurs on a commuter bus between my home and my office. Thus, I call them my “bus projects”.

Oh! One more thing. Incanter’s Aide is also my first jump into using git as my source code control system. I have a public GitHub account for several projects. Feel free to check out the source code for Incanter’s Aide here:

gurps-incantation-magic-dart — the “model” for the application.

gurps-incantation-magic-webapp — the “web view” of the application.

If you play with either of these apps or look at the source code, feel free to leave me comments here!