Software


This page contains an (incomplete) list of the software projects for which I am the principal author or to which I have contributed. In general, this list does not include any software which I have written for my employers.

My Recent Projects

Revelation Password Manager to KeePassXC Converter

This tool converts a Revelation XML export files to a CSV format comptable with KeePassXC. It preserves the organizational structure and all fields in the Revelation XML output. The Code is OpenSource (GPLv3) and posted on GitHub. Amusingly, this was the first Open Source project for which I received a monetary donation.

AAVSO APASS Photometric Reduction Software

I wrote a new, massively parallel photometric reduction pipeline for the American Association of Variable Star Observers (AAVSO) AAVSO Photometric All-Sky Survey (APASS) program. The software permitted all 21 TB of the survey’s data to be re-reduced for Data Release 10. The pipeline is open source and can be downloaded from here.

Older Code

  • ArrayFire Benchmark Library - I wrote the benchmark library for the ArrayFire GPU computing library. This tool was used to evaluate performance between releases. The code is freely distributed on GitHub
  • Optec SSP-4 Control Software - I wrote new control software for Optec Inc’s SSP-4 Near-Infrared (NIR) photometer. This device is controlled via. a RS-232 serial connection. This software unlocks the full capabilities of the device by permitting integration times from 0.01 - 65.53 seconds and 1-9999 exposures. The code is written in C# using Microsoft Visual Studio 2005 and distributed on GitHub.
  • SIMTOI - The SImulation and Modeling Tool for Optical Interferometry is a fast, GPU-enabled geometric model fitting program for optical interferometric data. The program supports a variety of models that are rendered in a 3D, fully time-dependent environment. This code is open source (GPL v3) and distributed on GitHub.
  • LIBOI - The OpenCL Interferometry Library (liboi) implements several commonly needed routines in optical interferometry in the a heterogeneous computing environment using OpenCL. This library serves as the backend for SIMTOI and GPAIR. This code is open source (LGPL) and distributed on GitHub.
  • OIFITS Simulator Software - The OIFITS SIMulator is a tool to assist in observation planning or in reconstructed image artefact analysis. The program has the ability to either (1) simulate the data from an interferometer given a list of observational hour angles and a FITS image of what the source looks like, or (2) copy the UV coverage of an existing observation and simulate the data given a FITS image of the source. The code is open source and distributed under a GPLv3 license.
  • Spectracyber Control Software - Control software for Radio Astronomy Supplies 1420 MHz hydrogen line spectrometer which I wrote as part of undergraduate computer science senior project. The code is written in C# and interfaces with the Spectracyber via. an RS-232 serial connection. Data collected is stored in a MS Access database. This code is open source (GPL v3) and distributed on GitHub. I do not intend to develop this code any further so please contact me if you are interested in becoming the maintainer of the package.

Contributions

Below is a list of several open-source projects to which I have contributed:

  • ArrayFire GPU Computing Library while I worked for ArrayFire as a Research Scientist. I made a significant number of contributions to their build system, installers, documentation, and example code.
  • The v4l portion of the Linux Kernel v2.6.31. I added a verticle flip for the m5602_s5k4aa webcam found in MSI GX700 laptops.
  • Stellarium astronomical / planetarium software to which I added some missing Qt style attributes for buttons.
  • Celero benchmark library where I fixed issues in their build system that caused disruptions in CMake output.
  • btrfs-snap a snapshot tool for the BTRFS filesystem. I added support for subvolume detection and snapshots.