Brian Easton Kirkpatrick
Engineer Extraordinaire!
Personal Projects
(For an always-up-to-date list, see my GitHub profile!)
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.
Entertainment
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.
Libraries
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
Pyroclast
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. But what really gets crazy is when you use it to wrap an Excel spreadsheet in a Docker image. Drop-in containerized datastore with complete transparency and multi-table storage, for a single file!

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
Tools: PHP, MySQL, HTML, CSS
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.
In Space, No One Can Hear You 'Oorah'
Tools: Space Mission Analysis, Contemporary Military Doctrine, Space Policy
This paper outlines an evolution roadmap of crewed space military operations, or CSMOs, for future Marine-like expeditionary forces operating in the space domain, including TTPs and OTE structures. Originally presented at NavyCon 2021 as a commentary on the commnon "space marine" archetype in science fiction, this has since received coverage from other publications like the military community news site "Task & Purpose".

Post-Sparse Data Architecture Standards for Modern SSA
Tools: Systems Engineering, Data Architecting, DevSecOps
The volume and diversity of SSA data is increasing at an exponential rate, even as flight safety, security, and traffic management requirements impose greater demands on analysis and prediction such data drives. New tools, technologies, and development methods are required to keep pace with an evolving data environment and operator needs. Data architects must face the need to relax structure requirements to maintain flexibility in the face of a multiplicity of data fusees and widely-varying precision and accuracy.

We outline several key technologies that can enable rapid turnaround of software and pipeline architecting for an evolving SSA data environment. These include robust standards for both end-client and data-pipeline nodes across synchronous-poll and asynchronous-socket use cases. The end result is a near-real-time common analysis environment supporting collaborative users and transparent processing.


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 «