Projects

May 2019

I no longer maintain this page, but keep it here as some older applications refer to it. The projects below are still on github, but some older play store apps haven't been republished following constantly-changing app store requirements. See my github profile for newer activity.
[ barryoneill @ github ]
HoldMail

HoldMail

HoldMail is a fake SMTP server that doesn't deliver email! Instead, the messages are stored in a database, where they can be queried via a web application, or even better, a REST API - allowing for automated testing of email notifications. I created this application to solve a testing need for my team at work (Sparta Systems) and realised others could benefit from it!
[ GitHub ]
Hosted Graphite

Hosted Graphite

The guys over at Hosted Graphite are running an increasingly popular service, providing Graphite (a popular metrics graphing tool) as a hosted service. In August, they asked me to develop an Android app to let customers monitor their configured graphs on the move. In September, we pushed the beta live!
[ Play Store | Hosted Graphite FAQ ]
WolframCA

WolframCA

WolframCA is an Android application to demonstrate 1-dimensional cellular automaton (CA). More information on CAs can be found on Wolfram Mathworld. The app allows selection of one of the 256 (rules 0-255) elementary cellular automata - as you scroll down the screen, it will generate the appropriate number of time steps to fill the available space. WolframCA makes use of the TiledBitmapView project (below).
[ Play Store | GitHub ]
TiledBitmapView

TiledBitmapView

This Android library provides a scrollable SurfaceView implementation, in which the tiles that make up the surface are loaded on demand from a TileProvider as the user scrolls around. The library project also comes with a demo application. This demo's TileProvider simply generates a set of tiles which make up a tileable image (a pattern of stones).
[ Play Store (demo app) | GitHub ]
Pingly

Pingly

Pingly was the first Android application that I wrote. It allows you to configure tests (called probes) to check whether a host or service is alive. These probes can be run manually, but also scheduled to run once in the future, or in a repeating manner, logging the outcomes.
[ Play Store | GitHub ]