Computers are tools meant to work for their users and get out of the way. Give users freedom and control and automate everything else.
Collaboration on Open Source, platforms, APIs and protocols where possible is preferable to building walled gardens and closed systems.
Simplicity and elegance — Everything should be made as simple as possible, but no simpler.
Rump Kernels provide free, portable, componentized, kernel quality drivers such as file systems, POSIX system call handlers, PCI device drivers, a SCSI protocol stack, virtio and a TCP/IP stack. The fundamental enabling technology is the anykernel architecture of NetBSD, which enables the use of unmodified NetBSD kernel drivers.
I am currently working primarily on using Rump Kernels as Unikernels for running unmodified POSIX applications as standalone “application specific” VMs atop the Xen hypervisor.
Continuing work in distributed systems and messaging by contributing to the nanomsg project, Martin Sustrik's successor to ZeroMQ. Primarily involved in providing and maintaining build automation (Buildbot), testing and lab infrastructure.
As co-maintainer and one of the original developers of ZeroMQ, participated in directing project development and primarily worked on:
Worked with the wider Open Source developer community on establishing common processes for project contributions, project version control with Git and high level abstractions for programming language bindings.
As a member of the core iMatix team which developed AMQP and OpenAMQ, was responsible primarily for:
Apart from bug reports, various smaller contributions over the years include:
For a Slovak client, developed a custom application for mastering disks using the UDF filesystem. Using Rump Kernel components enabled the re-use of unmodified production quality NetBSD code and development of the project in record time, including integration with a GUI developed in Qt and C++.
As Principal Engineer at Boltian, researched, designed and implemented a unique child protection and network security product. Developed a custom portable firmware for embedded wireless routers (Linux/OpenWRT and other OEM) with a back-end HTTP API implemented in C, using the Symas LMDB database for on-board storage. Front-end UI was developed as a modern HTML5 “single page application” using Knockout.js.
Consulting for Hewlett-Packard Korea, advised a major South Korean financial institution on developing a custom low-latency middleware product. Worked directly with the customer's engineering team to define performance test scenarios and train the team in understanding performance measurement of low-latency systems.
Consulting for VMware Inc., developed a proof of concept implementation of the Scalability Protocol for the Linux kernel. SP is an evolution of the concepts behind ØMQ, with the goal of eventual IETF standardisation of a wire protocol for globally scalable distributed messaging.
Working with a Slovak auditor and accounting practice, developed an online application to catalogue and track paper files. While technically a simple “CRUD” application built with Ruby on Rails, the most interesting part of the work was designing the UX experience to make it as painless as possible for the client's day to day use while at the same time enforcing business processes.
On the business side of the OpenAMQ project at iMatix Corporation, took on the role of Product Manager. Responsible for the migration of an existing application at JPMorganChase bank from legacy middleware onto OpenAMQ. Worked closely with the client to successfully migrate their global deployment onto the new middleware.
Developed a custom middleware product for iMatix Corporation. The product connected GSM network operators with SMS applications, providing full message queueing and routing for SMS messages with support for multiple protocols (UCP, XMPP and custom SOAP), routing of multiple short codes, and billing. Implementation was in a mix of C and Perl, using Libero state machines to define program logic.
Worked with iMatix Corporation on an industrial automation project for CBR Belgium. Developed a custom embedded Linux distribution based on the Debian “boot floppies”, integrated the full software and hardware stack. Designed and implemented a redundant fault-tolerant architecture allowing for hot-swap of components; the embedded kiosks would boot from the network and the boot server was simply a Live CD.
Worked for Catalyst IT, a leading Open Source company in New Zealand, as lead developer on the PropertyStuff project, a nationwide real estate classifieds website which we built with HTML::Mason and Perl.
Worked for EDS (New Zealand). Developed a custom backup application for the NCR MP-RAS platform, written in C and Perl. Involved in developing, deploying, maintaining and mentoring users of an internal multi-platform software toolset, based on GNU and other free software and using RPM as a package manager.
With Martin Sústrik of 250bpm:
Victoria University of Wellington, New Zealand. 1998 — 2000, attended courses in Computer Science and Philosophy.
Photography, The Arts, Typography, Hiking.
Yachting — major voyages: