mirror of https://github.com/CPunch/resume.git
Compare commits
21 Commits
Author | SHA1 | Date |
---|---|---|
CPunch | 61c4b24b71 | |
CPunch | 015ed954fb | |
CPunch | 7f4a1ff83d | |
CPunch | dced351156 | |
CPunch | 12591f2bf6 | |
CPunch | 7a4768ac4e | |
CPunch | b5427a4a02 | |
CPunch | 2110f70c81 | |
CPunch | fe0bd4ddeb | |
CPunch | 9a909c994b | |
CPunch | fd3b96da5d | |
CPunch | 020e7850b3 | |
CPunch | a6d2764d28 | |
CPunch | 83eeb79391 | |
CPunch | ff3ca48a47 | |
CPunch | e079241f4e | |
CPunch | 83ab696c03 | |
CPunch | 605a83f837 | |
CPunch | cf22100e3e | |
CPunch | 33127e068e | |
CPunch | 903713407a |
|
@ -19,5 +19,7 @@ jobs:
|
|||
- name: Make Release
|
||||
uses: softprops/action-gh-release@v1
|
||||
with:
|
||||
files: resume.pdf
|
||||
body: Automated build for ${{ github.head_ref }}.${{ github.sha }}
|
||||
files: |
|
||||
resume.pdf
|
||||
assets/FWMSH.pdf
|
||||
body: Automated build for ${{ github.ref }}.${{ github.sha }}
|
||||
|
|
|
@ -1,3 +1,4 @@
|
|||
resume.aux
|
||||
resume.log
|
||||
resume.pdf
|
||||
resume.pdf
|
||||
*.patch
|
|
@ -0,0 +1,13 @@
|
|||
{
|
||||
"cSpell.words": [
|
||||
"bytecode",
|
||||
"decompiler",
|
||||
"Decompy",
|
||||
"Gitea",
|
||||
"Kinect",
|
||||
"Laika",
|
||||
"libsodium",
|
||||
"Stubbs",
|
||||
"texlive"
|
||||
]
|
||||
}
|
|
@ -1,12 +1,14 @@
|
|||
# CPunch's resume
|
||||
|
||||
This resume assumes a full installation of a LaTex environment.
|
||||
This resume assumes a full installation of a LaTeX environment.
|
||||
Compile and build my resume with the following command:
|
||||
|
||||
```sh
|
||||
xelatex resume.tex
|
||||
```
|
||||
|
||||
There are several different configs (in `resume.tex`) for me to tailor my resume to different positions. By default, the resume includes everything (so the resume is quite long.) Before sending my resume I have a local patch file for different positions (including adding more personal contact information)
|
||||
|
||||
## Release builds
|
||||
|
||||
You can find automated builds & releases of my resume on the [releases](https://github.com/CPunch/resume/releases) page.
|
||||
You can find automated builds & releases of my resume on the [releases](https://github.com/CPunch/resume/releases) page.
|
||||
|
|
Binary file not shown.
|
@ -641,7 +641,7 @@
|
|||
% Define an entry of cv information
|
||||
% Usage: \cventry{<position>}{<title>}{<location>}{<date>}{<description>}
|
||||
\newcommand*{\cventry}[5]{%
|
||||
\vspace{-2.0mm}
|
||||
\vspace{-1.0mm}
|
||||
\setlength\tabcolsep{0pt}
|
||||
\setlength{\extrarowheight}{0pt}
|
||||
\begin{tabular*}{\textwidth}{@{\extracolsep{\fill}} L{\textwidth - 4.5cm} R{4.5cm}}
|
||||
|
@ -649,7 +649,7 @@
|
|||
{\entrypositionstyle{#1} & \entrydatestyle{#4} \\}
|
||||
{\entrytitlestyle{#2} & \entrylocationstyle{#3} \\
|
||||
\entrypositionstyle{#1} & \entrydatestyle{#4} \\}
|
||||
\multicolumn{2}{L{\textwidth}}{\descriptionstyle{#5}}
|
||||
\multicolumn{2}{L{\textwidth}}{\vspace{1.0mm}\descriptionstyle{#5}}
|
||||
\end{tabular*}%
|
||||
}
|
||||
|
||||
|
|
35
resume.tex
35
resume.tex
|
@ -16,7 +16,7 @@
|
|||
%--------------------------------------------------------------------------------------------------
|
||||
|
||||
% include Awesome-CV, with 12pt font and A4 paper size
|
||||
\documentclass[12pt, a4paper]{awesome-cv}
|
||||
\documentclass[10pt, A4]{awesome-cv}
|
||||
|
||||
% disable first 3 letter highlight
|
||||
\setbool{acvSectionColorHighlight}{false}
|
||||
|
@ -28,33 +28,48 @@
|
|||
\colorlet{awesome}{awesome-orange}
|
||||
|
||||
% content configuration
|
||||
\newbool{presentableProjects}
|
||||
\newbool{contributedProjects}
|
||||
\newbool{openfusionProject}
|
||||
\newbool{laikaProject}
|
||||
\newbool{cosmoProject}
|
||||
\newbool{luadecompyProject}
|
||||
\newbool{quickshareProject}
|
||||
\newbool{openpunkProject}
|
||||
|
||||
\setbool{presentableProjects}{true} % Cosmo, Laika, Openpunk-ansible
|
||||
\setbool{contributedProjects}{true} % OpenFusion
|
||||
% server maintenance, devops, etc.
|
||||
\setbool{openpunkProject}{true} % OpenPunk
|
||||
|
||||
% webshit/golang
|
||||
\setbool{quickshareProject}{true} % QuickShare
|
||||
|
||||
% systems programming
|
||||
\setbool{openfusionProject}{true} % OpenFusion
|
||||
\setbool{laikaProject}{true} % Laika
|
||||
\setbool{cosmoProject}{false} % Cosmo
|
||||
\setbool{luadecompyProject}{false} % LuaDecompy
|
||||
|
||||
%--------------------------------------------------------------------------------------------------
|
||||
% PERSONAL INFO
|
||||
% Some info has been redacted for privacy (address, mobile)
|
||||
% Some info has been redacted for privacy (address, mobile)
|
||||
%--------------------------------------------------------------------------------------------------
|
||||
|
||||
\name{Seth}{Stubbs}
|
||||
\position{Systems Programmer}
|
||||
\email{openpunk@proton.me}
|
||||
\position{Full stack Developer}
|
||||
\email{cpunch@openpunk.com}
|
||||
\homepage{openpunk.com}
|
||||
\github{CPunch}
|
||||
|
||||
%--------------------------------------------------------------------------------------------------
|
||||
% CONTENT
|
||||
% Included from the ./resume directory
|
||||
% Included from the ./resume directory
|
||||
%--------------------------------------------------------------------------------------------------
|
||||
|
||||
\begin{document}
|
||||
\makecvheader[C]
|
||||
|
||||
\input{resume/summary.tex}
|
||||
\input{resume/skills.tex}
|
||||
\input{resume/experience.tex}
|
||||
\input{resume/projects.tex}
|
||||
%\input{resume/education.tex}
|
||||
|
||||
\makecvfooter{}{References avaliable upon request}{}
|
||||
\end{document}
|
|
@ -0,0 +1,12 @@
|
|||
\cvsection{Education}
|
||||
|
||||
\begin{cventries}
|
||||
|
||||
\cventry{Current Sophmore pursuing a degree in CompSci, member of the Cyber Security club}
|
||||
{University of North Texas}
|
||||
{BS. Computer Science}
|
||||
{Aug 2022 – 2025}
|
||||
{
|
||||
}
|
||||
|
||||
\end{cventries}
|
|
@ -2,16 +2,16 @@
|
|||
|
||||
\begin{cventries}
|
||||
|
||||
\cventry
|
||||
{Worked with ADL to develop interactive exhibits from prototype to production}
|
||||
\cventry{Worked with ADL to develop interactive exhibits from prototype to production}
|
||||
{Fort Worth Museum of Science and History}
|
||||
{Student Intern}
|
||||
{Sept 2018 – Aug 2019}
|
||||
{
|
||||
\begin{cvitems}
|
||||
\item {Development and deployment of several VR experiences using the Unity3D engine}
|
||||
\item {Experience using Tensorflow to solve ML problems with live input from OpenCV}
|
||||
\item {Experience receiving project goals and communicating expected deadlines}
|
||||
\item {Lead the development of a temporary exhibit showcasing VR using the \textbf{Unity3D} engine to make carnival-style games}
|
||||
\item {Lead the development of a semi-permanent interactive exhibit using the Microsoft Kinect to simulate the ``doppler effect'' light has when moving away/toward an object in space}
|
||||
\item {Developed several small exhibits, including several back-cataloged projects which remain unreleased}
|
||||
\item {Received live feedback from museum patrons on trial exhibits, \textbf{responded to criticism} with suggested improvements}
|
||||
\end{cvitems}
|
||||
}
|
||||
|
||||
|
|
|
@ -1,24 +1,51 @@
|
|||
\cvsection{Projects}
|
||||
\cvsection{Passion Projects}
|
||||
|
||||
\begin{cventries}
|
||||
\ifbool{contributedProjects}{
|
||||
\cventry
|
||||
{Reverse engineered server for the FusionFall MMO written in C++}
|
||||
\ifbool{openpunkProject}{
|
||||
\cventry{Personal Blog, Portfolio \& Gitea instance}
|
||||
{\href{https://github.com/CPunch/openpunk-ansible}{OpenPunk (https://github.com/CPunch/openpunk-ansible)}}
|
||||
{Personal Project}
|
||||
{Aug 2019 – Present}
|
||||
{
|
||||
\begin{cvitems}
|
||||
\item {Deployed and maintained \textbf{Debian} server with minimal downtime for 3+ years}
|
||||
\item {\textbf{Ansible} based server setup, allowing for easy migration \& deployment}
|
||||
\item {Ansible playbook allows \textbf{backing up \& restoring} databases easily}
|
||||
\item {Experience configuring and maintaining \textbf{Nginx, Hugo, Tor, Gitea} and other services}
|
||||
\end{cvitems}
|
||||
}
|
||||
}{}
|
||||
|
||||
\ifbool{quickshareProject}{
|
||||
\cventry{Plug-n'-play file sharing service}
|
||||
{\href{https://github.com/CPunch/QuickShare}{QuickShare (https://github.com/CPunch/QuickShare)}}
|
||||
{Personal Project}
|
||||
{Dec 2022 – Present}
|
||||
{
|
||||
\begin{cvitems}
|
||||
\item {Simple Backend using \textbf{Golang} \& SQLite, cron-based job scheduler for file expiration}
|
||||
\item {Responsive Frontend using \textbf{ReactJS} \& \textbf{Typescript}}
|
||||
\item {Single distributed binary, simple setup}
|
||||
\end{cvitems}
|
||||
}
|
||||
}{}
|
||||
|
||||
\ifbool{openfusionProject}{
|
||||
\cventry{Reverse engineered server for the FusionFall MMO game written in C++}
|
||||
{\href{https://github.com/OpenFusionProject/OpenFusion}{OpenFusion (https://github.com/OpenFusionProject/OpenFusion)}}
|
||||
{Original Author, Contributor}
|
||||
{Aug 2020 – Present}
|
||||
{
|
||||
\begin{cvitems}
|
||||
\item {Reverse engineering and re-implementation of a \textbf{proprietary packet protocol}}
|
||||
\item {Development and implementation of \textbf{various common optimizations} for MMO servers}
|
||||
\item {\textbf{Collaborative} effort between a team of contributors, communicating goals and issues}
|
||||
\item {Used by \textbf{thousands of users}, quickly responding to bug reports and issues}
|
||||
\end{cvitems}
|
||||
}
|
||||
}{}
|
||||
|
||||
\ifbool{presentableProjects}{
|
||||
\cventry
|
||||
{RAT written in Modern C}
|
||||
\ifbool{laikaProject}{
|
||||
\cventry{RAT written in C}
|
||||
{\href{https://github.com/CPunch/Laika}{Laika (https://github.com/CPunch/Laika)}}
|
||||
{Personal Project}
|
||||
{Jan 2022 – Present}
|
||||
|
@ -26,34 +53,36 @@
|
|||
\begin{cvitems}
|
||||
\item {Cross-platform networking library, implementation of a \textbf{custom packet protocol}}
|
||||
\item {Secure key-based packet encryption using \textbf{libsodium}}
|
||||
\item {Implementation of cross-platform \textbf{persistence} techniques}
|
||||
\item {Clean \& consistence coding style using \textbf{clang-format}}
|
||||
\item {Implementation of cross-platform \textbf{persistence} and \textbf{obfuscation} techniques}
|
||||
\item {Clean \& consistent coding style using \textbf{clang-format}}
|
||||
\end{cvitems}
|
||||
}
|
||||
}{}
|
||||
|
||||
\cventry
|
||||
{Lightweight embedded scripting language}
|
||||
\ifbool{cosmoProject}{
|
||||
\cventry{Lightweight scripting language}
|
||||
{\href{https://github.com/CPunch/Cosmo}{Cosmo (https://github.com/CPunch/Cosmo)}}
|
||||
{Personal Project}
|
||||
{Oct 2020 – Feb 2021}
|
||||
{
|
||||
\begin{cvitems}
|
||||
\item {Pratt-based parser, \textbf{single pass compiler}}
|
||||
\item {Hand-rolled pratt-based \textbf{single pass compiler}}
|
||||
\item {Easy to learn syntax with inspiration from Lua}
|
||||
\item {\textbf{Faster} than Python3}
|
||||
\end{cvitems}
|
||||
}
|
||||
}{}
|
||||
|
||||
\cventry
|
||||
{Blog \& gitea mirror}
|
||||
{\href{https://github.com/CPunch/openpunk-ansible}{OpenPunk (https://github.com/CPunch/openpunk-ansible)}}
|
||||
\ifbool{luadecompyProject}{
|
||||
\cventry{Lua 5.1 bytecode decompiler \& disassembler written in Python}
|
||||
{\href{https://github.com/CPunch/LuaDecompy}{LuaDecompy (https://github.com/CPunch/LuaDecompy)}}
|
||||
{Personal Project}
|
||||
{Aug 2019 – Present}
|
||||
{Aug 2022 – Present}
|
||||
{
|
||||
\begin{cvitems}
|
||||
\item {Deployed and maintained \textbf{Debian} server with minimal downtime for 2+ years}
|
||||
\item {\textbf{Ansible} based server setup, allowing for easy migration \& deployment}
|
||||
\item {Experience configuring and maintaining \textbf{Nginx, Hugo, Tor, Gitea} and other services}
|
||||
\item {\textbf{Lua} 5.1 bytecode deserializer, written by reading the source and online documentation}
|
||||
\item {Register-based \textbf{decompiler}, with configurable settings for aggressive localization}
|
||||
\item {Well \textbf{annotated and documented} code, allowing anyone to hack on the codebase}
|
||||
\end{cvitems}
|
||||
}
|
||||
}{}
|
||||
|
|
|
@ -1,7 +1,8 @@
|
|||
\cvsection{Technical Skills}
|
||||
\cvsection{Skills}
|
||||
|
||||
\begin{cvskills}
|
||||
\cvskill{Programming Languages}{Proficient in C, C++, Lua, Python | Familiar with JavaScript, Web Development}
|
||||
\cvskill{Software}{Linux, Git, Make, CMake, LaTeX, GitHub CI, Ansible, IDA Pro, GDB}
|
||||
\cvskill{Additional Knowledge}{Server Administration, TCP/IP stack, POSIX systems programming, Ragtime piano}
|
||||
\cvskill{Programming Languages}{Experience with Go, C/C++, Python, Typescript, Lua and more}
|
||||
\cvskill{Software}{GNU/Linux, Git, CMake, Ansible, CI/CD, LaTeX}
|
||||
\cvskill{Additional Knowledge}{Server Administration, POSIX Systems Programming, Reverse Engineering}
|
||||
\cvskill{Hobbies}{Ragtime piano, long walks, reading}
|
||||
\end{cvskills}
|
|
@ -1,5 +1,5 @@
|
|||
\cvsection{Professional Summary}
|
||||
|
||||
\begin{cvparagraph}
|
||||
“Rockstar” developer with the motivation to help develop and deploy software. Ready to push code to help maintain, create, and fix features. Ability to turn any proposed solution into production-ready code. Developer with a passion for efficient solutions, making lightweight software that would run anywhere.
|
||||
Systems Programmer with the motivation to help develop and deploy software. Ready to push code to help maintain, create, and fix features. Ability to turn any proposed solution into production-ready code. Developer with a passion for efficient solutions, making lightweight software that would run anywhere.
|
||||
\end{cvparagraph}
|
Loading…
Reference in New Issue