commit 191f8bcd510f8203983621c46c0cd5e0d35ebcd3 Author: zack Date: Sun May 5 22:04:20 2024 -0400 inital commit diff --git a/.envrc b/.envrc new file mode 100644 index 0000000..44610e5 --- /dev/null +++ b/.envrc @@ -0,0 +1 @@ +use flake; diff --git a/catppuccin.sty b/catppuccin.sty new file mode 100644 index 0000000..92243e7 --- /dev/null +++ b/catppuccin.sty @@ -0,0 +1,131 @@ +\NeedsTeXFormat{LaTeX2e} +\ProvidesPackage{catppuccin}[2024/02/13 Catppuccin theme for LaTeX documents] +\RequirePackage{xcolor} + +\newcommand{\mocha}{ + \definecolor{ctpRosewater} {RGB} {245, 224, 220} + \definecolor{ctpFlamingo} {RGB} {242, 205, 205} + \definecolor{ctpPink} {RGB} {245, 194, 231} + \definecolor{ctpMauve} {RGB} {203, 166, 247} + \definecolor{ctpRed} {RGB} {243, 139, 168} + \definecolor{ctpMaroon} {RGB} {235, 160, 172} + \definecolor{ctpPeach} {RGB} {250, 179, 135} + \definecolor{ctpYellow} {RGB} {249, 226, 175} + \definecolor{ctpGreen} {RGB} {166, 227, 161} + \definecolor{ctpTeal} {RGB} {148, 226, 213} + \definecolor{ctpSky} {RGB} {137, 220, 235} + \definecolor{ctpSapphire} {RGB} {116, 199, 236} + \definecolor{ctpBlue} {RGB} {137, 180, 250} + \definecolor{ctpLavender} {RGB} {180, 190, 254} + \definecolor{ctpText} {RGB} {205, 214, 244} + \definecolor{ctpSubtext1} {RGB} {186, 194, 222} + \definecolor{ctpSubtext0} {RGB} {166, 173, 200} + \definecolor{ctpOverlay2} {RGB} {147, 153, 178} + \definecolor{ctpOverlay1} {RGB} {127, 132, 156} + \definecolor{ctpOverlay0} {RGB} {108, 112, 134} + \definecolor{ctpSurface2} {RGB} {88, 91, 112} + \definecolor{ctpSurface1} {RGB} {69, 71, 90} + \definecolor{ctpSurface0} {RGB} {49, 50, 68} + \definecolor{ctpBase} {RGB} {30, 30, 46} + \definecolor{ctpMantle} {RGB} {24, 24, 37} + \definecolor{ctpCrust} {RGB} {17, 17, 27} +} + +% Define mocha flavor colors as the default +\mocha + +% Define mocha option to prevent error +% when 'mocha' option is passed in +\DeclareOption{mocha}{} + +\DeclareOption{latte}{ + \definecolor{ctpRosewater} {RGB} {220, 138, 120} + \definecolor{ctpFlamingo} {RGB} {221, 120, 120} + \definecolor{ctpPink} {RGB} {234, 118, 203} + \definecolor{ctpMauve} {RGB} {136, 57, 239} + \definecolor{ctpRed} {RGB} {210, 15, 57} + \definecolor{ctpMaroon} {RGB} {230, 69, 83} + \definecolor{ctpPeach} {RGB} {254, 100, 11} + \definecolor{ctpYellow} {RGB} {223, 142, 29} + \definecolor{ctpGreen} {RGB} {64, 160, 43} + \definecolor{ctpTeal} {RGB} {23, 146, 153} + \definecolor{ctpSky} {RGB} {4, 165, 229} + \definecolor{ctpSapphire} {RGB} {32, 159, 181} + \definecolor{ctpBlue} {RGB} {30, 102, 245} + \definecolor{ctpLavender} {RGB} {114, 135, 253} + \definecolor{ctpText} {RGB} {76, 79, 105} + \definecolor{ctpSubtext1} {RGB} {92, 95, 119} + \definecolor{ctpSubtext0} {RGB} {108, 111, 133} + \definecolor{ctpOverlay2} {RGB} {124, 127, 147} + \definecolor{ctpOverlay1} {RGB} {140, 143, 161} + \definecolor{ctpOverlay0} {RGB} {156, 160, 176} + \definecolor{ctpSurface2} {RGB} {172, 176, 190} + \definecolor{ctpSurface1} {RGB} {188, 192, 204} + \definecolor{ctpSurface0} {RGB} {204, 208, 218} + \definecolor{ctpBase} {RGB} {239, 241, 245} + \definecolor{ctpMantle} {RGB} {230, 233, 239} + \definecolor{ctpCrust} {RGB} {220, 224, 232} +} + +\DeclareOption{frappe}{ + \definecolor{ctpRosewater} {RGB} {242, 213, 207} + \definecolor{ctpFlamingo} {RGB} {238, 190, 190} + \definecolor{ctpPink} {RGB} {244, 184, 228} + \definecolor{ctpMauve} {RGB} {202, 158, 230} + \definecolor{ctpRed} {RGB} {231, 130, 132} + \definecolor{ctpMaroon} {RGB} {234, 153, 156} + \definecolor{ctpPeach} {RGB} {239, 159, 118} + \definecolor{ctpYellow} {RGB} {229, 200, 144} + \definecolor{ctpGreen} {RGB} {166, 209, 137} + \definecolor{ctpTeal} {RGB} {129, 200, 190} + \definecolor{ctpSky} {RGB} {153, 209, 219} + \definecolor{ctpSapphire} {RGB} {133, 193, 220} + \definecolor{ctpBlue} {RGB} {140, 170, 238} + \definecolor{ctpLavender} {RGB} {186, 187, 241} + \definecolor{ctpText} {RGB} {198, 208, 245} + \definecolor{ctpSubtext1} {RGB} {181, 191, 226} + \definecolor{ctpSubtext0} {RGB} {165, 173, 206} + \definecolor{ctpOverlay2} {RGB} {148, 156, 187} + \definecolor{ctpOverlay1} {RGB} {131, 139, 167} + \definecolor{ctpOverlay0} {RGB} {115, 121, 148} + \definecolor{ctpSurface2} {RGB} {98, 104, 128} + \definecolor{ctpSurface1} {RGB} {81, 87, 109} + \definecolor{ctpSurface0} {RGB} {65, 69, 89} + \definecolor{ctpBase} {RGB} {48, 52, 70} + \definecolor{ctpMantle} {RGB} {41, 44, 60} + \definecolor{ctpCrust} {RGB} {35, 38, 52} +} + +\DeclareOption{macchiato}{ + \definecolor{ctpRosewater} {RGB} {244, 219, 214} + \definecolor{ctpFlamingo} {RGB} {240, 198, 198} + \definecolor{ctpPink} {RGB} {245, 189, 230} + \definecolor{ctpMauve} {RGB} {198, 160, 246} + \definecolor{ctpRed} {RGB} {237, 135, 150} + \definecolor{ctpMaroon} {RGB} {238, 153, 160} + \definecolor{ctpPeach} {RGB} {245, 169, 127} + \definecolor{ctpYellow} {RGB} {238, 212, 159} + \definecolor{ctpGreen} {RGB} {166, 218, 149} + \definecolor{ctpTeal} {RGB} {139, 213, 202} + \definecolor{ctpSky} {RGB} {145, 215, 227} + \definecolor{ctpSapphire} {RGB} {125, 196, 228} + \definecolor{ctpBlue} {RGB} {138, 173, 244} + \definecolor{ctpLavender} {RGB} {183, 189, 248} + \definecolor{ctpText} {RGB} {202, 211, 245} + \definecolor{ctpSubtext1} {RGB} {184, 192, 224} + \definecolor{ctpSubtext0} {RGB} {165, 173, 203} + \definecolor{ctpOverlay2} {RGB} {147, 154, 183} + \definecolor{ctpOverlay1} {RGB} {128, 135, 162} + \definecolor{ctpOverlay0} {RGB} {110, 115, 141} + \definecolor{ctpSurface2} {RGB} {91, 96, 120} + \definecolor{ctpSurface1} {RGB} {73, 77, 100} + \definecolor{ctpSurface0} {RGB} {54, 58, 79} + \definecolor{ctpBase} {RGB} {36, 39, 58} + \definecolor{ctpMantle} {RGB} {30, 32, 48} + \definecolor{ctpCrust} {RGB} {24, 25, 38} +} + +\ProcessOptions\relax + +\pagecolor{ctpBase} +\color{ctpText} diff --git a/flake.lock b/flake.lock new file mode 100644 index 0000000..fb1082f --- /dev/null +++ b/flake.lock @@ -0,0 +1,43 @@ +{ + "nodes": { + "nixpkgs": { + "locked": { + "lastModified": 1712883908, + "narHash": "sha256-icE1IJE9fHcbDfJ0+qWoDdcBXUoZCcIJxME4lMHwvSM=", + "owner": "NixOS", + "repo": "nixpkgs", + "rev": "a0c9e3aee1000ac2bfb0e5b98c94c946a5d180a9", + "type": "github" + }, + "original": { + "owner": "NixOS", + "ref": "nixpkgs-unstable", + "repo": "nixpkgs", + "type": "github" + } + }, + "root": { + "inputs": { + "nixpkgs": "nixpkgs", + "systems": "systems" + } + }, + "systems": { + "locked": { + "lastModified": 1681028828, + "narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=", + "owner": "nix-systems", + "repo": "default", + "rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e", + "type": "github" + }, + "original": { + "owner": "nix-systems", + "repo": "default", + "type": "github" + } + } + }, + "root": "root", + "version": 7 +} diff --git a/flake.nix b/flake.nix new file mode 100644 index 0000000..556832f --- /dev/null +++ b/flake.nix @@ -0,0 +1,28 @@ +{ + inputs = { + nixpkgs.url = "github:NixOS/nixpkgs/nixpkgs-unstable"; + systems.url = "github:nix-systems/default"; + }; + + outputs = { + systems, + nixpkgs, + ... + } @ inputs: let + eachSystem = f: + nixpkgs.lib.genAttrs (import systems) ( + system: + f nixpkgs.legacyPackages.${system} + ); + in { + devShells = eachSystem (pkgs: { + default = pkgs.mkShell { + buildInputs = [ + pkgs.texlive.combined.scheme-full + pkgs.texlab + pkgs.termpdfpy + ]; + }; + }); + }; +} diff --git a/monitor.sh b/monitor.sh new file mode 100755 index 0000000..3855a28 --- /dev/null +++ b/monitor.sh @@ -0,0 +1,11 @@ +#!/usr/bin/env bash + +while true; do + termpdf.py resume.pdf + if [ $? -ne 0 ]; then + echo "The command failed, restarting..." + else + echo "crashed, trying again" + fi + sleep 1 # Optional: sleep for 1 second before rerunning the command +done diff --git a/resume.pdf b/resume.pdf new file mode 100644 index 0000000..a17cd0a Binary files /dev/null and b/resume.pdf differ diff --git a/resume.tex b/resume.tex new file mode 100644 index 0000000..600f02c --- /dev/null +++ b/resume.tex @@ -0,0 +1,190 @@ +%------------------------- +% Resume in Latex +% Author : Zachary Myers +% License : MIT +%------------------------ + +\documentclass[letterpaper,5pt]{article} + +\usepackage[mocha]{catppuccin} +\usepackage{latexsym} +\usepackage[empty]{fullpage} +\usepackage{titlesec} +\usepackage{marvosym} +\usepackage[hidelinks]{hyperref} +\usepackage{fancyhdr} +\usepackage[english]{babel} +\usepackage{tabularx} +\usepackage{fontawesome5} +% \input{glyphtounicode} + +\setlength{\footskip}{3.60004pt} +\pagestyle{fancy} +\fancyhf{} % clear all header and footer fields +\fancyfoot{} +\renewcommand{\headrulewidth}{0pt} +\renewcommand{\footrulewidth}{0pt} + +% Adjust margins +\addtolength{\oddsidemargin}{-0.5in} +\addtolength{\evensidemargin}{-0.5in} +\addtolength{\textwidth}{1in} +\addtolength{\topmargin}{-.5in} +\addtolength{\textheight}{1.0in} + +\urlstyle{same} + +\raggedbottom +\raggedright +\setlength{\tabcolsep}{0in} + +% Sections formatting +\titleformat{\section}{ + \vspace{-2pt}\scshape\raggedright\large +}{}{0em}{}[\color{ctpSurface0}\titlerule \vspace{-5pt}] + +% Ensure that generate pdf is machine readable/ATS parsable +% \pdfgentounicode=1 + +%------------------------- +% Custom commands +\newcommand{\resumeItem}[2]{ + \item\small{ + \textbf{#1}{: #2 \vspace{-12pt}} + } +} + +% Just in case someone needs a heading that does not need to be in a list +\newcommand{\resumeHeading}[4]{ + \begin{tabular*}{0.99\textwidth}[t]{l@{\extracolsep{\fill}}r} + \textbf{#1} & #2 \\ + \textit{\small#3} & \textit{\small #4} \\ + \end{tabular*}\vspace{0pt} +} + +\newcommand{\resumeSubheading}[4]{ + \vspace{-5pt}\item + \begin{tabular*}{0.97\textwidth}[t]{l@{\extracolsep{\fill}}r} + \textbf{\color{ctpRed}#1} & \color{ctpSapphire}#2 \\ + \textit{\small\color{ctpSubtext1}#3} & \textit{\small\color{ctpSubtext0} #4} \\ + \end{tabular*}\vspace{-3pt} +} + +\newcommand{\resumeSubSubheading}[2]{ + \begin{tabular*}{0.97\textwidth}{l@{\extracolsep{\fill}}r} + \textit{\small#1} & \textit{\small #2} \\ + \end{tabular*}\vspace{-20pt} +} + +\newcommand{\resumeSubItem}[2]{\resumeItem{\color{ctpGreen}#1}{#2}\vspace{5pt}} +\renewcommand{\labelitemii}{$\circ$} + + +\newcommand{\resumeItemListStart}{ + \begin{itemize} + \setlength\itemsep{0.05em} +} +\newcommand{\resumeItemListEnd}{\end{itemize}\vspace{0pt}} + +%------------------------------------------- +%%%%%% CV STARTS HERE %%%%%%%%%%%%%%%%%%%%%%%%%%%% + + +\begin{document} + +%----------HEADING----------------- +\begin{tabular*}{\textwidth}{l@{\extracolsep{\fill}}r} + \textbf{\href{https://zackmyers.io/}{\Large \color{ctpBlue}Zachary Myers}} & {\faIcon{envelope}\space}Email : \href{me@zackmyers.io}{me@zackmyers.io}\\ + {\faLinkedin\space\href{https://www.linkedin.com/in/zachary-myers-b9a150186/}{\underline{Zachary Myers}}} {\space\space\space} \hspace {\faIcon{github}\space\href{https://github.com/zackartz}{\underline{zackartz}}} {\space\space\space} + {\faIcon{user}\space\href{https://zackmyers.io/}{\underline{Website}} {\space\space\space} + {\faIcon{passport}\space{{US Citizen}}}{\space\space\space} + {\faIcon{clock}\space{EST/EDT}} + {\space\space\space} + &{\faIcon{mobile-alt}} Mobile : +1 (808) 799-3884 +\end{tabular*} + +% +%--------PROGRAMMING SKILLS------------ +\section{Skills} +\textbf{\color{ctpBlue}Languages}{: TypeScript, JavaScript, Rust, Golang, Java, HTML, CSS, SQL, Lua} +\hfill + +\vspace{2pt} + +\textbf{\color{ctpSapphire}Technologies}{: GraphQL, Docker, Kubernetes, Linux, Windows, macOS, PostgreSQL, MongoDB, Redis, InfluxDB} +\hfill + +\vspace{2pt} + +\textbf{\color{ctpMauve}Libraries and Tools}{: NextJS, SvelteKit, Rocket, Actix, Express, Neovim, TailwindCSS} +\hfill +%------------------------------------------- + +%-----------EXPERIENCE----------------- +\section{Experience} +\resumeSubheading +{Pixegon}{Remote} +{Mid Level Web Developer (Current)}{2023-2024} +\resumeItemListStart +\item \textbf{Designed and developed global services:} Spearheaded the creation and deployment of robust services that empower users worldwide to advance their professional capabilities. +\item \textbf{Enhanced and maintained legacy software:} Leveraged exceptional teamwork and advanced software engineering skills to modernize legacy systems, integrating new functionalities while reducing bug rates. +\item \textbf{Optimized team collaboration:} Enhanced team synergy and efficiency by identifying potential delays and bugs early, streamlining workflows and knowledge transfer, which led to surpassing production targets. +\item \textbf{Implemented AI-driven automation:} Pioneered the use of artificial intelligence to automate repetitive processes, boosting operational efficiency by 95\% and achieving over 200 hours in annual time savings. +\resumeItemListEnd +\resumeSubheading +{Champria}{Remote} +{Senior Backend Developer}{2021-2022} +\resumeItemListStart +\item \textbf{Collaborative backend development:} Collaborated with the CEO and Lead Developer to architect and implement a Golang monorepo backend, processing over 10,000 data points per hour, which expedited development cycles and boosted code efficiency. +\item \textbf{Data storage optimization:} Implemented GraphQL and TimescaleDB to enhance data storage solutions, achieving a 40\% decrease in query response times and significantly improving system scalability. +\item \textbf{Language performance enhancement:} Led the strategic migration from NodeJS to Golang, securing a 20\% boost in system quality, consistency, and performance, which markedly increased efficiency and delivered superior outcomes. +\item \textbf{Security and quality assurance:} Conducted rigorous peer code reviews and security checks, contributing to substantial security enhancements and a 20\% reduction in bugs. +\item \textbf{Advanced data management:} Revolutionized data storage for multi-million data point datasets through the application of advanced compression algorithms and indexing techniques, tripling response times and improving data accessibility. +\item \textbf{Infrastructure and deployment optimization:} Orchestrated a comprehensive overhaul of infrastructure, creating and managing an automated CI/CD pipeline using GitHub Actions, which slashed deployment times by 90\% and bolstered confidence in production releases. +\resumeItemListEnd +\resumeSubheading +{Damage Inc}{Remote} +{Volunteer Developer}{2020-2021} +\resumeItemListStart +\item \textbf{Enhanced app stability:} Worked closely with the Lead Backend Developer to diagnose and resolve critical bugs, achieving a 50\% improvement in overall application stability. +\item \textbf{Accelerated project completion:} Quickly mastered new tools and technologies, directly contributing to a 35\% increase in project completions and improved team satisfaction through efficient project execution. +\resumeItemListEnd + +%------------AWARDS------------------ + +\section{Awards} +\resumeSubItem{GPT-4 Hackathon} +{Led backend development and provided support for frontend development in the winning team of a GPT-4 hackathon, creating Materialize, an interactive website utilizing GPT-4 for real-time lumber market analysis including prices, news listings, and reports.} + +%-----------PROJECTS----------------- +%\section{Projects} +% \resumeSubHeadingListStart +% \resumeSubItem{Virtual Memory Pager} +% {Implemented a virtual memory pager which managed various application address spaces. Provided support for file and swap backed pages, alongside forking a process with a non empty arena.} +% \vspace{6} +% \resumeSubItem{Paxos RSM} +% {Designed a replicated key value service that is replicated using Paxos. Implementation included designing a fully functional paxos algorithm to gain consensus on a generic operation. Additionally, I designed the interface for clients and a Paxos RSM to communicate with these services. The paxos Key Value RSM communicates with paxos itself to propose client operations and gain a quorum on sed. operation.} +% \vspace{6} +% \resumeSubItem{\href{https://leagueboostclub.com/}{\underline{Leagueboostclub.com}}} +% {Full Stack developed a League of Legends community website revolving around improving your rank. Links independent contractors to customers searching to increase their rank and skill.} +% \vspace{6} +% \resumeSubItem{Neural Network Machine Multiclass Classifier} +% {Developed a from scratch Convolution Neural Network optimized for the Nvidia A100 GPU, written in CUDA. CNN was designed to classify images where paralyzable convolution operations result in a 36x increase in performance compared to a serial version.} +%% Calculated and developed multiple different models which maximized different metrics for a multiclass SVM using a one vs one approach in order to correctly classify reviews on a rating scale of 1 to 5.} +% \vspace{6} +% \resumeSubItem{\href{https://github.com/maximosnolan/LinkedHash}{\underline{Linked Hash Map}}} +% {Designed from scratch a Linked HashMap and HashSet in C++ 20. } + + +% \resumeSubHeadingListEnd + + +% %-----------EDUCATION----------------- +\section{Education} +\resumeSubheading +{Roosevelt High School}{Honolulu, HI} +\hbox{2016-2020} +\vspace{1em} + +Overachieved in Roosevelt High School's STEM class, succeeding in learning new concepts while helping other students. Worked on personal projects outside of school to further understand programming. +\end{document}}