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.

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 official version, currently in development, 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. 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.