CronWorks is a business I started a few years ago with the single purpose of contributing to open source software, and I am committed to the local and global open source and nonprofit communities.

Below are some examples of typical projects I have worked on, focusing on various technologies and approaches, under a wide range of constraints and challenges.

Please feel free to contact me for project information.

API Gateway

At Disney I was the lead engineer on a project to implement a new on-prem API Gateway managing traffic for Parks, Resorts, Cruises, European commerce sites, messaging, parts of ESPN and ABC, and a handful of other internal platforms.

This system was written in Java as a ground-up redesign of a C++ code base. It used the low-level Java NIO library for streaming request-response I/O, Redis for response caching, and MongoDB for control plane persistence and synchronization between control and data planes. The design goals for the project were feature parity with the previous C++ code base and to support 300kRPM daily average with seasonal sustained spikes to 600k, with a fleet of 10 reasonably sized VMs (~1000 transactions/sec per VM). We also aimed to limit the number of technologies in play, opting for the simplicity of fewer moving parts at the expense of more engineering. For instance, we decided to eliminate Hazelcast and RabbitMQ from early designs in favor of a Mongo-based broadcast algorithm.

In the end, we were able to beat all our design goals and even outperform the load test infrastructure, as well as delivering a lower cost/performance ratio than cloud alternatives.

De-Duplication Tool for 1M+ Images

While working for a confidential client through Rooster Park Consulting, I was tasked with finding duplicate and near-duplicate images within a collection of up to one million images, with the potential to grow even larger. I was able to build a complete system, including LDAP-based authentication, token security, and other integrated information systems for the team to use.

This tool computes image hashes based on the Discrete Cosine Transform (DCT), compares them using a binary Hamming Distance, and optimizes the comparisons by using a VP-Tree for proximity searches. The application itself is built using Spring Boot, AngularJS and the Twitter Bootstrap CSS library.

k.LAB/ARIES System Architecture

After finishing my Master thesis with Prof. Ferdinando Villa at the Basque Center for Climate Change in Bilbao, Spain, I stayed on as a consultant to provide further improvements to the k.LAB modeling and simulation system, which is used for socioeconomic and ecosystem modeling but has wide-ranging applications elsewhere. My primary work with BC3 during this time has been to re-design the security and communication protocol for the distributed modeling engines which provide the core functionality of k.LAB and to develop a new data upload and management tool, allowing users to upload, share and use data sets in the new cloud-based modeling features of k.LAB.

Master Thesis: Multi-Scale Agent Simulation

While working toward a MSc in Computer Science at the University of Luxembourg, I was fortunate to come into contact with Jonathan Kochmer at Earth Economics, who introduced me to Prof. Ferdinando Villa at the Basque Center for Climate Change in Bilbao, Spain.

I became part of the development effort for the k.LAB simulation system, which is used at BC3 for socioeconomic and ecosystem modeling. I created the agent subsystem of k.LAB, which includes autonomous agents, temporally dynamic simulations, observation semantics and scale mediation between agents.

From this work came my Master thesis, which I defended in Luxembourg in September 2013. The manuscript and related work can be downloaded below.

Ecosystem Valuation Toolkit (Earth Economics)

I learned of Earth Economics while traveling in Europe between sessions at the University of Luxembourg. I was interested in what they were doing, so I decided to provide them some pro-bono work during the break. Eventually I became a part of their Ecosystem Service Valuation (ESV) Toolkit project by building a data migration tool as well as providing technical direction for ESV platform development.

GreenCloud Simulator

I became involved with Prof. Pascal Bouvry's team at the University of Luxembourg and was able to help them streamline the development, version management and build process for their GreenCloud datacenter simulator. I also created a fully pre-configured virtual machine for universally compatible, minimal-effort installation and a Javascript/JQuery-based reporting front-end for the tool.

Inkless Contract Management

I developed the Inkless contract manager based on an earlier tool I had made for generating leases for rental properties. It generates contracts with professional quality typesetting by using the LaTeX typesetting program and provides tools to generate contracts dynamically, using not just field replacements, but also content structure changes depending on the specific rental property or other custom settings.

I created a proof of concept using the Django MVC , a relational data store and a fixed-width theme. The V1 version of the tool uses Flask, MongoDB, RequireJS, Backbone, Knockout and the Twitter Bootstrap adaptive CSS toolkit.

Temporal Data Extension (Doctrine ORM)

I developed and contributed a Temporal Data extension for the Doctrine 1.1/1.2 ORM while working at Decision Health in 2008. Its purpose is to automate storage, retrieval and traversal logic for time-oriented data. It was used as part of the new CRM module that I wrote to replace the out-dated one that had been in use while I worked there.

I also created a training video, as well as training documentation, which served as system reference material for the sales and administration staff when the system went live.