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 compatible with KeePassXC. It preserves the organizational structure and all fields in the Revelation XML output. The Code is Open Source (GPL-v3) 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 artifact 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 GPL-v3 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 vertical 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 sub-volume detection and snapshots.