I care a lot about finding the right solution to a problem and helping the humans tackling the hard problems with technology. Sometimes that involves writing code, other times it can be more complicated.

This is a selection of some programming and software engineering projects I have been involved in, it is by no means an exhaustive list.

Palantir Technologies

Fullstack development (August 2018 - present)

Product development on mission planning and operations applications for some of the most critical/high consequence events ongoing in the world. Some features developed Included multi user collaboration on high scale map applications, data visualization, and security. Specialized in front end development with TypeScript and React. Designed complex features that utilized and coordinated multiple services.

Worked on the Gaia team which is the map application powering Gotham. Used in live operations with multiple users collaborating on the same map with high scale data. Gaia helped the United States and its allies combat the war on terror and deter near-peer conflict with larger nations.

Worked on a suite of mission planning applications for modeling potential real-world conflicts and possible outcomes. These applications also were also used to run exercises in large government organizations and inform future decisions for resource allocation and unit readiness. Integrated with a number of proprietary government systems and interoperable with the Palantir Gotham and Foundry products.

Sandia National Labs

Fullstack development (December 2016 - August 2018)

Teamed with and consulted a variety of software development teams in 2-4 week sprints. Rapidly implemented both backend and frontend code and taught others full stack development. TS-SCI DOE Security Clearance.

Created data-dense web applications with TypeScript, React, Redux, Golden Layout, and other frontend technologies. Implemented backend services with Python that used Flask with extensions, GraphQL, and SQLAlchemy.

Provisioned OpenStack machines, networks, and volumes with Terraform and Ansible. Deployed Docker images to OpenStack using Docker-Compose. Practiced Kanban/Agile/Scrum using GitLab Kanban and issue boards.

Software Frameworks (May 2015 - December 2016)

Developed software frameworks for satellite ground systems in C++, Java, and Python. Worked with cloud enabling technologies such as Docker, Kubernetes, ZeroMQ (ZMQ), and Redis. Created an automated code generation platform in Python with Jinja2 templates that mapped software architecture models to library implementations such as Protocol Buffers, HDF5, and JSON Schemas which were used by 6 other development teams.

Enabled REST endpoints for status and configuration libraries of native services using Swagger and the XML Telemetric & Command Exchange (XTCE) standard. Project was run under the Scaled Agile Framework (SAFE). Practiced Scrum and followed test driven development (TDD), continuous integration, pair programming, and code reviews. Performed technical and behavioral interviews.

Intern (March 2012 - May 2015)

C++ Tool Development

Created 2 separate Clang C++ command line standalone tools using the LibTooling library. These tools replaced legacy tools that were written for IBM’s Rational Rose modeling tool. Some of the functionality included inheritance hierarchy analysis, AST matching algorithms, and source-to-source code transformations.

Java Algorithm Visualization

Interactive graph representations of an algorithm’s execution displayed in a Swing GUI with actions bound to toolbars, mouse and keyboard, and context sensitive actions. Also developed an Eclipse Rich Client Platform (RCP) port.

Python Web Application for Code Generation

Created a Python web application using CherryPy for HTTP server development, SQLAlchemy for ORM functionality from a SQLite database to Python objects, and Jinja2 for the HTML templating engine. This tool interfaced with existing XML documents that were used to populate the database and describe the data model that was then exported to Excel, Word, PDF, and C++ classes. This tool implemented a custom version control system to track changes to individual elements over a period of time.

IBM Requisite Pro Plugin

Created a Java tool that interfaced with the IBM Requisite Pro requirements management suite that analyzed requirements and processed various attributes in order to ensure that the database was internally consistent. Included a full Swing GUI with customizable runtime settings, and export functionality to text formats.

Masters and Bachelors in CS from UNM

The University of New Mexico - Graduate

  • Machine Learning (CS 529)
  • Database Management (CS 564)
  • Big Data (CS 591 Special Topic)
  • Robust Artificial Life (CS 591 Special Topic)
  • Digital Image Processing (CS 523)
  • Advanced Functional Programming (CS 591 Special Topic)
  • Software Foundations (CS 558)

The University of New Mexico - Bachelors

  • Artificial Intelligence (CS 427)
  • Complex Adaptive Systems (CS 423)
  • Advanced Functional Programming (CS 491 Special Topic)
  • Software Engineering (CS 460)
  • Algorithms (CS361 & CS362)

Machine learning

Stock market price prediction using linear and polynomial regression models (Poster PDF) (Paper PDF)

Software foundations

Lambda calculus parser and interpreter. Implements unification, constraint-based typing, and step-by-step evaluation relation. (40 page PDF)

Complex adaptive systems

Generating fractals with genetic algorithms (Poster PDF)

Advanced declarative programming

Bootstrap 3 Blaze HTML library extension

Image processing

Used a high level Haskell and Lisp image processing library to do the following:

  • Feature detection and extraction for calculating the monetary value of coins in an image
  • Daubechies 4 wavelet
  • Laplacian pyramid
  • Geometric projections