%!TEX TS-program = xelatex
%!TEX encoding = UTF-8 Unicode

\documentclass[11pt, letterpaper]{article}

% LAYOUT
%--------------------------------
% Margins
\usepackage{geometry} 
\geometry{margin=0in}

% Do not indent paragraphs
\setlength\parindent{0in}

% Enable multicolumns
\usepackage{vwcol}
\usepackage{multicol}

% Colors
\usepackage{xcolor}
\definecolor{sidebar}{HTML}{$primary}
\definecolor{content}{HTML}{$secondary}
\definecolor{topbar}{HTML}{$tertiary}
\definecolor{text}{HTML}{$text}
\definecolor{accent}{HTML}{$tertiary}
\color{text}

% Uncomment to suppress page numbers
\pagenumbering{gobble}

% LANGUAGE
%--------------------------------
% Set the main language
% List Indents
\usepackage{enumitem}

% TYPOGRAPHY
%--------------------------------
% Font Awesome
\usepackage{fontawesome5}
\usepackage{fontspec} 
\usepackage{xunicode}
\usepackage{xltxtra}
% converts LaTeX specials (quotes, dashes etc.) to Unicode
\defaultfontfeatures{Mapping=tex-text}
\setromanfont [Ligatures={Common}, Numbers={OldStyle}]{Roboto}
\newfontfamily{\fallbackfont}{FiraCode Nerd Font}
% Special characters
\newcommand{\amper}{{\fontspec[Scale=.95]{Roboto}\selectfont\itshape\&}}
\newcommand{\fullstar}{{\scriptsize\faStar}}
\newcommand{\emptystar}{{\scriptsize\faStar[regular]}}

% GRAPHICS
\usepackage{tikz}
\usepackage{eso-pic}

% HEADINGS
%--------------------------------
\usepackage{sectsty} 
\usepackage[normalem]{ulem} 
\sectionfont{\rmfamily\mdseries} 
\subsectionfont{\rmfamily\mdseries\scshape\normalsize} 
\subsubsectionfont{\rmfamily\bfseries\upshape\normalsize} 

% SHAMELESSLY STOLEN STUFF
% ----------------------------------------------------------------------------
% based on https://tex.stackexchange.com/questions/65731
\makeatletter
\def\cv@hrulefill{{\color{accent}\leavevmode\leaders\hrule height 1pt\hfill\kern\z@}}

% line before and after text (some tweaking is required here) 
% based on https://tex.stackexchange.com/questions/15119
\NewDocumentCommand{\ruleline}{m}{\par\noindent\raisebox{\baselineskip/4}{\makebox[\linewidth]{\cv@hrulefill\hspace{1ex}\raisebox{-\baselineskip/4}{#1}\hspace{1ex}\cv@hrulefill}}}
\makeatother

% PDF SETUP
%--------------------------------
\usepackage{hyperref}
\hypersetup
{
	pdfauthor={Connor Johnstone},
	pdfsubject={Connor Johnstone's CV},
	pdftitle={Connor Johnstone's CV},
	colorlinks, breaklinks, xetex, bookmarks,
	filecolor=black,
	urlcolor=[HTML]{$tertiary},
	linkcolor=[HTML]{$tertiary},
	citecolor=[HTML]{$tertiary}
}

%=============================================================================
\begin{document}

% Basically the margins of each box section
\setlength\fboxsep{10pt}
% Set this to 1pt to see the box outlines
\setlength\fboxrule{0pt}

% BACKGROUND -----------------------------------------------------------------
\hspace{-10pt}
\vspace{0.15in}
\begin{tikzpicture}[remember picture, overlay]
	\filldraw[sidebar, opacity=0.6] (current page.north west) -- (0in,-12in) -- (2.75in,-12in) -- (2.75in,1in) -- cycle;
	\filldraw[topbar, opacity=0.6] (current page.north west) -- (0,-0.7in) -- (10in,-1.4in) -- (current page.north east) -- cycle;
	\filldraw[white] (1.325in,-0.79275in) circle (0.6in);
	\node (logo) at (1.325in,-0.79275in) {\includegraphics[width=1.25in]{logo.png}};
\end{tikzpicture}

% TOP BAR --------------------------------------------------------------------
\hspace{3.25in}
\noindent\fbox{%
\begin{minipage}[t][0.4in]{4.5in}
	\begin{center}
		\Huge Richard \strong{Connor} Johnstone
	\end{center}
\end{minipage}}
\vspace{0.5in}

% LEFT SIDEBAR ---------------------------------------------------------------
\noindent\fbox{%
\begin{minipage}[t][9in]{2.35in}
	\vspace{5pt}
	\hspace{1.25pt}\href{mailto:c@rcjohnstone.com}{\faEnvelope \hspace{10pt} c@rcjohnstone.com}

	\href{https://rcjohnstone.com}{\faWifi \hspace{9.25pt} rcjohnstone.com}

	\hspace{1.25pt}\href{https://gitlab.rcjohnstone.com}{\faGitlab \hspace{10pt} gitlab.rcjohnstone.com}

	\hspace{1.5pt}\href{https://www.linkedin.com/in/rconnorjohnstone/}{\faLinkedin \hspace{10pt} rconnorjohnstone}

	\vspace{10pt}

	\setlength\columnsep{2pt}

	\ruleline{Programming Languages}
	\vspace{-25pt}
	\begin{multicols}{2}
		\begin{flushright}
			\footnotesize
			Python \fullstar\fullstar\fullstar\fullstar \\
			Rust \fullstar\fullstar\fullstar\fullstar \\
			Julia \fullstar\fullstar\fullstar\fullstar \\
			C++ \fullstar\fullstar\fullstar\emptystar \\
			LaTeX \fullstar\fullstar\fullstar\emptystar \\
			Javascript \fullstar\fullstar\fullstar\emptystar \\
			HTML \fullstar\fullstar\fullstar\emptystar \\
			Matlab \fullstar\fullstar\emptystar\emptystar \\
			CSS \fullstar\fullstar\emptystar\emptystar \\
			Haskell \fullstar\fullstar\emptystar\emptystar \\
			Bash \fullstar\fullstar\emptystar\emptystar \\
			FORTRAN \fullstar\fullstar\emptystar\emptystar
		\end{flushright}
	\end{multicols}

	\ruleline{Languages}
	\vspace{-25pt}
	\begin{multicols}{2}
		\begin{center}
			\footnotesize
			English (Native) \\
			Italian (B2)
		\end{center}
	\end{multicols}

	\ruleline{Technologies}
	\vspace{-25pt}
	\begin{multicols}{2}
		\begin{flushright}
			\footnotesize
			Docker \fullstar\fullstar\fullstar\fullstar \\
			REST \fullstar\fullstar\fullstar\fullstar \\
			AWS \fullstar\fullstar\fullstar\emptystar \\
			Actix-Web \fullstar\fullstar\fullstar\emptystar \\
			Kubernetes \fullstar\fullstar\emptystar\emptystar
		\end{flushright}
	\end{multicols}

	\ruleline{Other}
	\vspace{-25pt}
	\begin{multicols}{2}
		\begin{center}
			\footnotesize
			Git \\
			Vim \\
			GNU/Linux \\
			CI/CD \\
			Microsoft Office365 \\
			Agile
		\end{center}
	\end{multicols}

	\ruleline{Skills}

	\vspace{-35pt}
	\subsection*{\center{\textbf{Astrodynamics}}}
	\vspace{-5pt}
	\footnotesize{
		Experience writing software for satellite estimation, guidance, navigation, and control,
		including statistical orbit determination using Kalman Filters, and orbital propagation
		including multiple special perturbations.
	}

	\vspace{-35pt}
	\subsection*{\center{\textbf{ADCS}}}
	\vspace{-5pt}
	\footnotesize{
		Experience writing, testing, and debugging spacecraft attitude determination and control
		software for multiple on-orbit spacecraft.
	}

	\vspace{-35pt}
	\subsection*{\center{\textbf{Trajectory Optimization}}}
	\vspace{-5pt}
	\footnotesize{
		Academic and on-the-job experience writing optimal control laws for low and impulsive thrust
		spacecraft thrust systems.
	}

	\vspace{-35pt}
	\subsection*{\center{\textbf{REST Microservices}}}
	\vspace{-5pt}
	\footnotesize{
		Experience architecting, developing, and deploying operationalized assimilative
		space-weather models as well as a handful of other projects. Well versed in the
		lifecycle of RESTful HTTP microservice applications.
	}

	\vspace{-35pt}
	\subsection*{\center{\textbf{Embedded Software}}}
	\vspace{-5pt}
	\footnotesize{
		Some experience writing on-board satellite flight software for a variety of applications.
	}

\end{minipage}}
\hspace{-5pt}
% MAIN CONTENT ---------------------------------------------------------------
\noindent\fbox{%
\begin{minipage}[t][9in]{\dimexpr\textwidth-4\fboxsep-2.35in\relax}

	\vspace{-10pt}

	\subsection*{\textbf{Education}}
	\vspace{-18pt}
	\hrulefill \\
	Master's of Science -- \textbf{Aerospace Engineering} -- University of Colorado at Boulder \\
	\textit{Focus Area: Astrodynamics} \\
	\vspace{-5pt}

	Bachelor's of Science -- \textbf{Mechanical Engineering} -- University of Kentucky \\
	Bachelor's of Science -- \textbf{Physics} -- University of Kentucky \\
	\textit{Magna Cum Laude, Patterson Scholar, Math Minor} \\

	\vspace{-20pt}

	\subsection*{\textbf{Experience}}
	\vspace{-18pt}
	\hrulefill \\
	\textbf{Orion Space Solutions} -- Aerospace Software Engineer -- \textit{Louisville, CO} \\
	Developed astrodynamics software and satellite control algorithms for multiple cube-sat projects
	in LEO and VLEO (under 300km altitude). Also developed and debugged attitude and determination
	software code for use in the validation of on-orbit ADCS systems.

	Architected, led and contributed to numerous space-weather models of the thermosphere and
	ionosphere. During this effort, I led the push to operationalize scientific code in Fortran and
	IDL into a modern RESTful architecture of containerized micro-services, often beginning by
	breaking down complicated scientific models into requisite components and leading a team to
	develop the core components in modern Rust and Python-based API containers.

	\vspace{5pt}

	\textbf{Maxar Space Infrastructure} -- Satellite Flight Software Engineer -- \textit{Westminster, CO} \\
	Developed several embedded algorithms onboard the RTOS flight software for the OSAM-1 satellite
	re-fueling mission, including mission-critical Fault Detection and Recovery algorithms, as well
	as operational solar array code. During this time, I also led a large push for the modernization
	of Maxar SI's software development life cycle, including the inclusion of modern VCS and CI/CD
	best practices.

	\vspace{5pt}

	\textbf{Palski and Associates} -- Associate Systems Engineer -- \textit{Colorado Springs, CO} \\
	Maintained and improved both front and back end of a web application, written in Angular and
	deployed through AWS, that provides satellite commanding simulations for the US Air Force in
	conjunction with an educational training program designed to train upcoming satellite operators.
	Also spent several months working on a development initiative to leverage hardware and
	computer-vision tools to create a realistic laboratory simulation of common rendesvous and
	proximity satellite operations using a 1/32 scale model of an operational satellite as well as
	several months developing the tools to perform satellite observations and orbit determination
	using imagery generated from our in-house telescope.

	\subsection*{\textbf{Research}}
	\vspace{-18pt}
	\hrulefill \\
	\textbf{University of Kentucky} -- Active/Passive Magnetic Shielding -- \textit{Lexington, KY} \\
	Spent two years working on a project that utilized the passive magnetic field shielding
	capabilities of µ-metal material and combined it with an active shielding concept utilizing a
	Helmholtz-coil design.

	\vspace{5pt}

	\textbf{University of Kentucky} -- IEC Plasma Generation -- \textit{Lexington, KY} \\
	As a Senior Capstone design project I led a team of Mechanical Engineering students to create an
	inertial-electrostatically confined plasma generated in a vaccuum environment using a Paaschen
	discharge event. Demonstrated applications in high voltage circuitry design and spectrographic
	analysis of plasma in a spacecraft propulsion capacity

\end{minipage}}
\end{document}
