Initial commit

This commit is contained in:
Alejandro Angulo 2022-12-09 20:58:09 -08:00
commit 1ec1de684c
Signed by: alejandro-angulo
GPG key ID: 75579581C74554B6
5 changed files with 326 additions and 0 deletions

2
.gitignore vendored Normal file
View file

@ -0,0 +1,2 @@
result
alejandro_resume.pdf

12
.pre-commit-config.yaml Normal file
View file

@ -0,0 +1,12 @@
repos:
- repo: https://github.com/pre-commit/pre-commit-hooks
rev: v4.3.0
hooks:
- id: trailing-whitespace
- id: end-of-file-fixer
- id: check-yaml
- id: check-added-large-files
- repo: https://github.com/kamadorueda/alejandra
rev: 3.0.0
hooks:
- id: alejandra-system

177
alejandro_resume.tex Normal file
View file

@ -0,0 +1,177 @@
\documentclass{article}
\usepackage{array}
\usepackage{enumitem}
\usepackage[letterpaper, portrait, margin=0.5in]{geometry}
\usepackage{hyperref}
\usepackage{multirow}
\usepackage{titlesec}
\usepackage{comment}
\usepackage[usenames, dvipsnames]{xcolor}
\definecolor{blue}{HTML}{2079C7}
\definecolor{gray}{HTML}{666666}
\newcolumntype{L}[1]{>{\raggedright\let\newline\\\arraybackslash\hspace{0pt}}m{#1}}
\newcolumntype{C}[1]{>{\centering\let\newline\\\arraybackslash\hspace{0pt}}m{#1}}
\newcolumntype{R}[1]{>{\raggedleft\let\newline\\\arraybackslash\hspace{0pt}}m{#1}}
\pagenumbering{gobble}
\renewcommand{\familydefault}{\sfdefault}
\setlist[itemize]{noitemsep}
\titleformat{\section}
{\color{blue}\normalfont\Large\bfseries}
{\color{blue}\thesection}{1em}{\large\uppercase}
\titleformat{\subsection}
{\normalfont\Large\bfseries}
{\thesection}{1em}{\normalsize}
\titleformat{\subsubsection}
{\color{gray}\normalfont\Large\bfseries}
{\color{gray}\thesection}{1em}{\small}
\titlespacing*{\section}
{0em}{0em}{0em}
\titlespacing*{\subsection}
{0em}{1em}{0em}
\titlespacing*{\subsubsection}
{0em}{0em}{0em}
\begin{document}
\noindent
\begin{minipage}[t]{\textwidth}
\begin{tabular}{L{.4\textwidth} l l}
\multirow{2}{*}{\Huge{ \textbf{Alejandro Angulo}}} & \href{https://github.com/alejandro-angulo}{https://github.com/alejandro-angulo} & \href{https://alejandr0angul0.dev}{https://alejandr0angul0.dev}\\
& \href{mailto:\email}{\email} & \phonenumber\\
\hline
\end{tabular}
\vspace{1em}
\end{minipage}
\begin{minipage}[t]{.8\textwidth}
\section*{Professional Experience}
\subsection*{Everbridge (formerly NC4) --- \textit{Software Engineer}}
\subsubsection*{October 2018 - Present}
\parbox[t]{.5\textwidth}{\raggedright%
\begin{itemize}
\vspace{-0.5em}
\item Develop and maintain Python and PHP applications
\item Migrate VCS from SVN to Git
\item Re-architect Python application to improve modularity
\item Introduce best practices (follow PEP8 for Python, begin linting code, etc.)
\end{itemize}}
\parbox[t]{.5\textwidth}{\raggedright%
\begin{itemize}
\vspace{-1.5em}
\item Streamline code review process (integrate with source control)
\item Maintain and develop a RESTful API written in Python capable of generating reports for end users
\item Work with product managers to implement "behind the scenes" changes (upgrading language versions, databases, etc.)
\end{itemize}}
\vspace{-1.5em}
\subsection*{MedQIA --- \textit{Software Engineer}}
\subsubsection*{April 2017 - September 2018}
\parbox[t]{.5\textwidth}{\raggedright%
\begin{itemize}
\vspace{-1.5em}
\item Develop and maintain a Java desktop application used by clinical readers and lab technologists to assist in clinical trials
\item Document and validate systems to comply with FDA regulations
\item Work on Python applications that keep track of the status of scans
\item Maintain and develop a web client written in PHP and JavaScript that provides a dashboard for the data team
\end{itemize}}
\parbox[t]{.5\textwidth}{\raggedright%
\vspace{-1.5em}
\begin{itemize}
\item Maintain and develop a RESTful API written in Python capable of generating reports for end users
\item Write Python scripts that plug in to a Java application in order to provide additional functionality (dynamic loading of patients, automating certain tasks for end users, etc.)
\item Automate build process for Java applications using Gradle
\end{itemize}}
\vspace{-1.5em}
\subsection*{UC Davis College of Engineering IT Shared Services --- \textit{Student Web Developer and Applications Programmer}}
\subsubsection*{May 2014 - April 2017}
\parbox[t]{.5\textwidth}{\raggedright%
\begin{itemize}
\vspace{-1.5em}
\item Migrate ITS's existing websites to a new server
\item Write PHP scripts to scrape data from third-party sites in order to visualize energy consumption
\end{itemize}}
\parbox[t]{.5\textwidth}{\raggedright%
\vspace{-1.5em}
\begin{itemize}
\item Ensure compliance with security standards
\item Design responsive layouts using CSS
\item Manage departmental sites (most running WordPress)
\end{itemize}}
\section*{Education}
\subsection*{UC Davis --- \textit{B.S. in Applied Physics}}
\subsubsection*{Sep 2012 - Jun 2016}
\parbox[t]{.5\textwidth}{\raggedright%
\textbf{Major Courses}
\begin{itemize}
\vspace{-0.6em}
\item Data Structures and Programming
\item Algorithm Design and Analysis
\item Computational Methods in Physics
\end{itemize}}
\hspace{0.3cm}
\parbox[t]{.5\textwidth}{\raggedright%
\textbf{Electives}
\begin{itemize}[topsep=0cm]
\item Theory of Computation
\item Numerical Analysis
\item Quantum Mechanics
\end{itemize}
}
\section*{Projects}
\subsection*{kilonull --- \textit{Personal Website}}
\subsubsection*{\href{https://kilonull.com/}{https://kilonull.com/}}
\begin{itemize}
\item CMS written in Python (Django app)
\item Server runs NGINX in conjunction with uWSGI on the backend
\item Tests set up to run using tox on Travis CI
\end{itemize}
\subsection*{List Category Posts --- \textit{WordPress Plugin}}
\subsubsection*{\href{https://wordpress.org/plugins/list-category-posts/}{https://wordpress.org/plugins/list-category-posts/}}
\begin{itemize}
\item Submit bug fixes and enhancements to an open source WordPress plugin written in PHP
\end{itemize}
\begin{comment}
\subsection*{Archfeed --- \textit{CLI RSS Reader}}
\subsubsection*{\href{https://github.com/vacuus/archfeed}{https://github.com/vacuus/archfeed}}
\begin{itemize}
\item RSS reader written in C
\item Fetches latest news for the Arch Linux distribution.
\end{itemize}
\end{comment}
\subsection*{Simulations for Physics Students --- \textit{Interactive Visualizations}}
\begin{itemize}
\item Developed two visualizations written in JavaScript to help students understand physical concepts.
\item Used Three.js library to simulate detection of active galactic nuclei.
\item Used Kinetic.js library to visualize how photon count can be used to detect a star's radius.
\end{itemize}
\end{minipage}%
\hspace*{0.5cm}
\begin{minipage}[t]{.2\textwidth}
\section*{Languages}
\vspace{0.8em}
\begin{itemize}
\item Python
\item PHP
\item JavaScript
\item SQL
\item BASH
\item Java
\end{itemize}
\section*{Toolset}
\vspace{0.8em}
\begin{itemize}
\item Apache
\item Django
\item Git
\item \LaTeX
\item NGINX
\item Linux
\end{itemize}
\end{minipage}
\end{document}

43
flake.lock Normal file
View file

@ -0,0 +1,43 @@
{
"nodes": {
"flake-utils": {
"locked": {
"lastModified": 1667395993,
"narHash": "sha256-nuEHfE/LcWyuSWnS8t12N1wc105Qtau+/OdUAjtQ0rA=",
"owner": "numtide",
"repo": "flake-utils",
"rev": "5aed5285a952e0b949eb3ba02c12fa4fcfef535f",
"type": "github"
},
"original": {
"owner": "numtide",
"repo": "flake-utils",
"type": "github"
}
},
"nixpkgs": {
"locked": {
"lastModified": 1670507980,
"narHash": "sha256-riNZa0xzM1it3pzxciwALeMs+0CsBMWIW2FqulzK8vM=",
"owner": "NixOS",
"repo": "nixpkgs",
"rev": "2787fc7d1e51404678614bf0fe92fc296746eec0",
"type": "github"
},
"original": {
"owner": "NixOS",
"ref": "nixos-unstable",
"repo": "nixpkgs",
"type": "github"
}
},
"root": {
"inputs": {
"flake-utils": "flake-utils",
"nixpkgs": "nixpkgs"
}
}
},
"root": "root",
"version": 7
}

92
flake.nix Normal file
View file

@ -0,0 +1,92 @@
{
description = "Resume";
inputs = {
nixpkgs.url = github:NixOS/nixpkgs/nixos-unstable;
flake-utils.url = github:numtide/flake-utils;
};
outputs = {
self,
nixpkgs,
flake-utils,
}:
with flake-utils.lib;
eachSystem allSystems (system: let
pkgs = nixpkgs.legacyPackages.${system};
tex = pkgs.texlive.combine {
# I'm being lazy and using scheme-full instead of specifying what's
# actually required
inherit (pkgs.texlive) scheme-full latex-bin latexmk;
};
vars = ["email" "phonenumber"];
# Create definitions like \def\email{1}
# Each variable will be set to the command line argument at the
# variable's position (first arg passed to resume generator will fill
# in usages of \email in the tex flie)
texvars = toString (pkgs.lib.imap1 (i: n: ''\def\${n}{${"$" + (toString i)}}'') vars);
in rec {
packages = {
alejandro-resume = pkgs.stdenvNoCC.mkDerivation rec {
name = "alejandro-resume";
src = self;
propogatedBuildInputs = [pkgs.coreutils tex];
phases = ["unpackPhase" "buildPhase" "installPhase"];
SCRIPT = ''
#!/usr/bin/env bash
prefix=${builtins.placeholder "out"}
export PATH="${pkgs.lib.makeBinPath propogatedBuildInputs}";
DIR=$(mktemp -d)
RES=$(pwd)/alejandro_resume.pdf
cd $prefix/share
mkdir -p "$DIR/.texcache/texmf-var"
env TEXFMHOME="$DIR/.texcache" TEXMFVAR="$DIR/.texcache/texmf-var" \
latexmk -interaction=nonstopmode -pdf -lualatex \
-output-directory="$DIR" \
-pretex="${texvars}"\
-usepretex alejandro_resume.tex
mv "$DIR/alejandro_resume.pdf" $RES
rm -rf $DIR
'';
buildPhase = ''
printenv SCRIPT > alejandro-resume
'';
installPhase = ''
mkdir -p $out/{bin,share}
cp alejandro_resume.tex $out/share/alejandro_resume.tex
cp alejandro-resume $out/bin/alejandro-resume
chmod u+x $out/bin/alejandro-resume
'';
};
};
defaultPackage = packages.alejandro-resume;
devShells = {
default = pkgs.mkShell {
name = "default";
buildInputs = with pkgs; [
alejandra
direnv
git
pre-commit
tex #TODO: Is this necessary?
zathura # PDF Viewer
];
shellHook = ''
PATH=${pkgs.writeShellScriptBin "nix" ''
${pkgs.nixVersions.stable}/bin/nix --experimental-features "nix-command flakes" "$@"
''}/bin:$PATH
if [ ! -f ".git/hooks/pre-commit" ]; then
pre-commit install &> /dev/null
fi
'';
};
};
});
}