I am a Distributed Systems Engineer at Nimbula. As a software researcher, I work to architect novel systems and improve the way that we build software. My focus is on distributed systems and software engineering research.
Prior to joining Nimbula I was a researcher at the IBM Almaden Research Center. While at IBM, I acted as software architect and development lead for the Linear Tape File System for both LTFS Single Drive Edition (LTFS-SDE) and LTFS Library Edition (LTFS-LE).
While at IBM prior to the LTFS project, I focused on developing distributed architectures that are fault-tolerant, highly available, and allow easy extension to meet changing requirements. I have implemented these architectures in a distributed storage runtime for the IBM Information Archive, and in a distributed analytics platform for medical decision-support.
I am a software generalist, with deep experience in a broad range of computing. My experience to date includes: distributed systems; storage systems; language and application runtimes; code-generation; API and Framework design; programming languages; and software evolution.
My PhD work focused on with developing appropriate mechanisms and support infrastructure to allow migration of software components between distributed application servers. This work required me to implement a Lightweight Enterprise JavaBeans server aptly named LJB. This application server supports both component-migration and remote reflection.
I held various positions to support my existence as a student. These included a stint as a photo imaging guru for two Sydney metropolitan newspapers. Along with a masochistic interval maintaining a dubious COBOL database system. I have spent time in various hells performing user support. Overall, I still claim that my most instructive 6 months was spent working as a fishmonger.
My continuing research interests involve systems engineering; distributed and cloud computing systems; data storage; mobility; programming languages; and collaborative user interface systems. I am particularly interested in the intersections between these fields. My wider interests include cognitive user interface design, development environment design, and the social implications of computing technology.
— Michael Richmond