With each of us working in our sandboxes, Paul and I are making progress on all fronts.

The Price of Neutrality

The map of Belgium at 5000 yards per hex is coming along. Every time Paul shows me a demo of what he’s accomplished, at a constant risk of developing carpal tunnel syndrome, the excitement builds. Compared to his earlier efforts, this is becoming a magnum opus. The map is huge. The details at this scale are intricate. Roads, rivers, canals, etc. Building an operational map is probably an order of magnitude more difficult than a tactical map. For one thing, a tactical map can show individual contour transitions. An operational map takes in “wrinkled” terrain at that scale. How does one handle that?

(Yes, yes, “rough” terrain and all that. However, our unique handling of smooth vs. abrupt elevation changes in our tactical maps may not translate to this new scale, which prompts discussions… which get shelved until we hit that particular bridge.)

Every time I see the the progress in the map, my excitement builds. This is becoming my grail game.


Our custom web development widget set continues to evolve. As I get more experience with building custom HTML elements, I find that there are numerous ways to build one, depending on how much customization and/or atypical stuff you want to do. Some elements are simple wrappers, using slots. Others… are very custom and hands-on.

So far, I’ve built the usual suspects: vbox-panes, hbox-panes, grid-panes, flow-panes, tab-panes, accordion-panes, menu-panes, dialog boxes, popup menu controllers & svg-icons. (Yes, “panes”. I am influenced by JavaFX.) Tab panes can have a mix of closable and non-closable panes. They can also look like your typical manila folder tabs or use a macOS rounded button look & feel. Popup menus and dialog boxes sit in an overlay-pane which covers the entire HTML document / application and acts as an event filter and as a modal dialog box that you’d see in a Windows or Mac or X11 application. Popup menus can have shortcut keys and can daisy-chain to other popups, as you’d expect. Popups took me about a couple of weeks (or three or four) to implement, but they work a treat.

I still have some tweaking to do wrt ease of use and implementation, but the foundational concepts work.


Everything we do is bespoke, which is a nice way of saying that we suffer from “not invented here” syndrome. XAPI is our substitute for jQuery and others of their ilk. “Suffer”, though, is an exaggeration. The one benefit about bespoke software development that mainstream developers don’t talk about is, as the author, you know where the bodies are buried, ie: you know where the bugs will probably be. Every time in my career that I’ve worked with a 3rd party library, I have either hit bugs the developers won’t fix due to their own priorities, or I have hit design limitations, the latter manifesting as “that’s not how most people would use this library”. And, I’m sorry (not sorry), but free software is worth what you spent on it and libraries you pay for to build an application that looks like everyone else’s isn’t worth it.

So, yeah, XAPI, which stands for eXtensible API. It looks and smells like jQuery, but it’s different. I’m not going to get into details, such as APIs that I’ve written that don’t exist in jQuery (see above comment re: library usage), but WebFX knows about and uses XAPI as does our base Javascript client code. It’s a silent foundation and it just works.