Brian Easton Kirkpatrick
Engineer Extraordinaire!
Personal Projects
Master's Thesis
Horizon Simulation Framework: Picasso Interface
Tools: C#, Windows Forms, XML, Regular Expressions, MS Visual Studio
Systems toolkit interface for satellite modeling, including COE catalog, import tools, multi-threaded execution, scripting support, and result / state visualizations.
Kifiew (Kifu Viewer)
Tools: HTML5, CSS, JavaScript, require.js, svg, d3.js
Basic web application with HTML5 File support for drag-and-dropping SGF files for easy playback of matches from the board game go. You can find the source on GitHub, and the live deployment on a subdomain of my personal server. If you need some SGF files to test, try my favorite source, GoKifu!

Artemis Application Engine
Tools: C++, OpenGL, SDL
Cross-platform application library for rapid development of programs with fast and high-quality graphics and interface requirements.

PacMan: Vengeance
Tools: C++, SDL, Artemis Engine
Pacman, the iconic evildoer, has invaded the ancestral ghost lands for the last time. Use your arrow keys to hunt down Pacman with Blinky, Pinky, Inky, and Clyde, and eliminate him!

CFD Programs
MacCormacks Algorithm for Rocket Nozzles
Tools: Fluid Dynamics, Iterative Numerics, C++, Artemis engine
Simulates properties of supersonic flow in rocket nozzle with known geometry using iterative (MacCormack's) techniques in 1d, including 3d model of subject nozzle, real-time state plots, and user-controlled iteration.

MOC Nozzle Geometry
Tools: Fluid Dynamics, Method of Characteristics, C++, Artemis engine
Calculates optimal minimum-length nozzle geometry for a desired exit speed (corresponds to ideal environmental pressure).

Grid Generation
Tools: C++, Artemis engine
Given boundary geometry, generates an interpolated grid of desired density for computational schemes.
LUCCA: Library of Utilities for C/C++ Astrodynamics
Tools: C/C++, Astrodynamics, Numerical Mathematics
The Library of Utilities for C/C++ Astrodynamics (LUCCA) is an open-source (MIT license) collection of methods and classes for solving both common and complex problems in aerospace engineering. It is designed and written in C/C++ for fast execution and near-universal platform support. Problems include a variety of propagation models, orbit determination, kinematics, launch models, and orbit controllers.
CUBEN: C/C++ Computational Numerics
Tools: C/C++, Numerical Mathematics
The C/C++ Computational Numerics library (CUBEN) is an open-source (MIT license) set of methods and classes for solving both common and complex problems in numerical mathematics. It is designed and written in C/C++ (leveraging the Eigen library for vector and matrix support) for fast execution and near-universal platform support. Problems include multiple root-finding algorithms, numerous methods for solving systems of equations, classes for modeling different categories of numerical functions, ODE and PDE solvers, pseudo-random number generation, least-squares tools, and many others.
QuX: Queried XML
Tools: C/C++, File I/O Data Interfaces, SQL, XMl
Queries XML (QuX) is an experimental proof-of-concept demonstrating an alternative to traditional XML interfaces for low-level languages like C++. I've found the traditional, official approaches to be very redundant, overly complex, heavy on resources, and overly abstract. Queries XML, or QuX, is a way to use traditional SQL-style SELECT, INSERT, and UPDATE queries to manipulate XML files and data structures. QuX is very useful for simple, lightweight serialization, state / data management, and other data-intensive operations that engineers frequently face. Developers needing to interface low-level code with XML data, like design requirements, will also find QuX useful.
Web Tools
Tools: Python, cherrypy
Thin-layer data server for providing uniform RESTful query access to a multitude of data formats by drag-and-drop copy, including tabular (.CSV, .XLSX, .SQL) and document (.JSON, .UNQ, .XML) formats. My first fully-deployed PyPi package! You can find the source code on GitHub.

Impulse web application toolkit
Tools: HTML5, CSS, JavaScript, require.js, Handlebars, Node.js, CherryPy
Impulse is an instantaneous web application starter kit. It is NOT a framework--there are no new programming languages, markups, or abstractions to learn that you don't probably already know. To create a new web application, you simple copy and paste the project contents into a new folder and bam! you're on your way! Check out the source code on GitHub to get started. When you're ready, building into a distributable installer or executable with electron-builder is a snap.

'Kirke' Website CMS
Lightweight and node-based website CMS for management of personal websites, with database support and node abstraction for content, users, and other custom forms of data.
Papers & Articles
Procedural Vignette Generation
Tools: Systems Engineering, Space Architecting, Scenarios and Vignettes
Outlines an approach designed to procedurally generate vignettes for arbitrary architectures and mission areas, specific to given threat sets and scenario-driven contexts.

Resilience as Stability
Tools: Systems Engineering, Space Architecting, Controls Engineering
Proposes a methodology by which resilience of complex architectures can be construed and approached as a problem of stability in the control of an architecture. Controls techniques are applied to the architecting process to ensure satisfaction of resilience requirements.

Controls Engineering Overview
Tools: Controls Engineering, LaTeX, Education
Article introducing the basic elements of controls engineering to other engineers.
« Back to Resume «