Compare commits

...

22 Commits
v1.0.0 ... main

Author SHA1 Message Date
CPunch 61c4b24b71 misc. changes 2023-03-18 23:48:21 -05:00
CPunch 015ed954fb projects: minor openfusion related changes 2023-03-04 14:15:37 -06:00
CPunch 7f4a1ff83d projects: added QuickShare; minor revising 2023-02-28 13:17:01 -06:00
CPunch dced351156 I’d just like to interject for a moment. What you’re refering to as Linux, is in fact, GNU/Linux, or as I’ve recently taken to calling it, GNU plus Linux. Linux is not an operating system unto itself, but rather another free component of a fully functioning GNU system made useful by the GNU corelibs, shell utilities and vital system components comprising a full OS as defined by POSIX.
Many computer users run a modified version of the GNU system every day, without realizing it. Through a peculiar turn of events, the version of GNU which is widely used today is often called Linux, and many of its users are not aware that it is basically the GNU system, developed by the GNU Project.

There really is a Linux, and these people are using it, but it is just a part of the system they use. Linux is the kernel: the program in the system that allocates the machine’s resources to the other programs that you run. The kernel is an essential part of an operating system, but useless by itself; it can only function in the context of a complete operating system. Linux is normally used in combination with the GNU operating system: the whole system is basically GNU with Linux added, or GNU/Linux. All the so-called Linux distributions are really distributions of GNU/Linux!
2023-02-05 19:55:04 -06:00
CPunch 12591f2bf6 updated skills 2023-02-05 19:54:42 -06:00
CPunch 7a4768ac4e updated experience 2023-02-05 19:51:30 -06:00
CPunch b5427a4a02 refactoring, added GoGemini project 2022-10-08 19:26:02 -05:00
CPunch 2110f70c81 updated email 2022-10-04 00:01:51 -05:00
CPunch fe0bd4ddeb styling improvements 2022-09-17 18:48:46 -05:00
CPunch 9a909c994b Added 'education' section, minor revising
- removed 'LuaDecompy' (for now)
2022-09-17 18:29:27 -05:00
CPunch fd3b96da5d more minor refactoring, added .vscode to preserve cSpell words 2022-09-15 23:08:20 -05:00
CPunch 020e7850b3 minor refactoring, new config 'coolProjects' && 'devopsProjects' 2022-09-15 23:05:07 -05:00
CPunch a6d2764d28 added LuaDecomp 2022-08-26 11:28:19 -05:00
CPunch 83eeb79391 revised experience section 2022-08-17 16:21:51 -05:00
CPunch ff3ca48a47 revised technical skills 2022-08-17 16:21:05 -05:00
CPunch e079241f4e Removed summary section 2022-08-17 16:20:31 -05:00
CPunch 83ab696c03 Added referneces footer 2022-07-07 19:50:59 -05:00
CPunch 605a83f837 Added letter of Recomendation from Morgan Rehnberg 2022-07-07 17:16:05 -05:00
CPunch cf22100e3e Better phrasing 2022-07-06 19:03:51 -05:00
CPunch 33127e068e Minor revisions 2022-07-05 15:56:35 -05:00
CPunch 903713407a
typo 2022-07-05 15:48:00 -05:00
CPunch c694fe27c4 Updated README.md, fixed broken link 2022-07-05 15:42:15 -05:00
12 changed files with 122 additions and 47 deletions

View File

@ -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 }}

3
.gitignore vendored
View File

@ -1,3 +1,4 @@
resume.aux
resume.log
resume.pdf
resume.pdf
*.patch

13
.vscode/settings.json vendored Normal file
View File

@ -0,0 +1,13 @@
{
"cSpell.words": [
"bytecode",
"decompiler",
"Decompy",
"Gitea",
"Kinect",
"Laika",
"libsodium",
"Stubbs",
"texlive"
]
}

View File

@ -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](/releases) page.
You can find automated builds & releases of my resume on the [releases](https://github.com/CPunch/resume/releases) page.

BIN
assets/FWMSH.pdf Normal file

Binary file not shown.

View File

@ -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*}%
}

View File

@ -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}

12
resume/education.tex Normal file
View File

@ -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}

View File

@ -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}
}

View File

@ -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}
}
}{}

View File

@ -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}

View File

@ -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}