Category Archives: Projects

FxOS app development is super easy!

Over the years I’ve setup several app development environments:

  1. Meamo
  2. Android
  3. Ubuntu Touch
  4. Blackberry

None of those compare to how pleasant Firefox OS’s dev environment is. This morning in viruses class I installed the Firefox OS simulator. Unlike the above platforms the simulator is not a full weight virtualized operating system. It is nothing more than a firefox addon!

The other platforms would take a full day or more to setup their virtual machine and the compile tool chain. Instead I was making real progress on my first FxOS app before my morning’s first class was over!

Now 12 hours after starting my app is live on the Firefox Marketplace!

The app itself is here:

The source is in this git repo:

Next I plan to port the html5 WordPress Update Assistant I wrote last year. The entire process is pure fun and I am surprised at how easy FxOS has made app creation.


The FxOS app icon style appears to be circles. This is in contrast to iOS’s rounded squares, and Android’s objects.


I used Firefox’s “building blocks” which provide FxOS look and feel through css sheets. Other apps in the marketplace use bootstrap or jQuery Mobile. The high quality apps use the building blocks plus heavy themeing.


Small triumph with PPSSPP key mapping

Two months ago I started contributing to PPSSPP the PSP emulator. Through sporadic patches of development my contribution of cross platform key mapping has taking shape. Just two minutes ago the latest visible tip of my work succeed in compiling. I present to all curious:


The “Set a new key mapping” screen now shows the most recent pressed key.

Getting this far has required crawling through multiple layers of ppsspp. It is a small victory yet sweet progress. I am gunning for the next major ppsspp release 0.9

GoGo Wars! Main Menu


Golang has prove itself awesome to play with. GoGo Wars! started from a late night whim and has grown bit by bit and may become a playable game. The amazing part is how refactoring in Go has kept the codebase flexible. Yesterday I added unit collision by rewriting the adhoc shared game state into a proper shared object. 20% of the existing code got touched in some way yet the rework did not feel like drudgery. Changing object name or types did not cause a cascade of boiler plate rewrote. Yet Go still provides strict typing. So far in less than 1000 lines every major feature of go has found a use. In total golang is proving to be my new second favourite language.

WP UpdateAssistant launch

WordPress upgrades can be annoying. The upgrade itself is painless and wordpress devs have clearly put a lot of time and effort to make it so. The annoyance instead comes from the last one percent of the difficulty inherit in upgrading software. No matter how well the devs design, at the end of the day you have to manually initiate the upgrade.

Compared to what users of other content management systems have to go through to upgrade the complaint is perhaps petty. Still, if you have ten or more installs of wordpress to upgrade the monotone starts to get to you.

That is my motivation behind WordPress UpgradeAssistant

Once a webmaster has added their domains, UpgradeAssistant will check for outdated wordpress installs and highligh them in red. A link is provided directly to the wordpress upgrade panel for convenience.

No registration is required as everything is done client side.

Any bug reports, comments, or suggestions are much appreciated.

WP Markerboard Widget

I’ve seen this ‘toy’ elsewhere and after debugging Overview generation for foomatic I felt a quick break was in order so this morning I created WP Markerboard. It is a WordPress plugin that provides a “marker board” widget for visitors to play with. I built it using html5’s canvas element and jQuery.

An example can be seen below, try moving your mouse over the outlined box.

Being an html5 toy your browser must of course support the canvas element. For visitors without modern browsers the javascript fails gracefully.

The widget has four options, line color, line width, box width, and box height. Unfortunately canvas requires explicit dimensions, the default dimensions for Markerboard are 150px by 150px.

To install unzip the zip and ftp the resulting folder into your wp-contet/plugins/ directory. The plugin will then show up in WordPress’s list of plugins, active it, you may now add this widget to your sidebars.
Or simply install from wordpress’s add new plugin page as wp markerboard is hosted on’s plugin repository.
See WP Markerbaord on