From d64d18323baf6a27ff0fefd5bc3ee43b3972548f Mon Sep 17 00:00:00 2001 From: Matthew Tran Date: Tue, 4 Jul 2023 00:29:08 -0700 Subject: [PATCH] attempt to compile resume --- .github/workflows/jekyll.yml | 8 + assets/tex/.gitignore | 292 +++++++++++++++++++++++++++++++++++ assets/tex/resume.sty | 114 ++++++++++++++ assets/tex/resume.tex | 111 +++++++++++++ resume.md | 8 + 5 files changed, 533 insertions(+) create mode 100644 assets/tex/.gitignore create mode 100644 assets/tex/resume.sty create mode 100644 assets/tex/resume.tex create mode 100644 resume.md diff --git a/.github/workflows/jekyll.yml b/.github/workflows/jekyll.yml index 953f160..1726b2c 100644 --- a/.github/workflows/jekyll.yml +++ b/.github/workflows/jekyll.yml @@ -33,6 +33,12 @@ jobs: steps: - name: Checkout uses: actions/checkout@v3 + - name: Build resume + uses: xu-cheng/latex-action@v2 + with: + root_file: assets/tex/resume.tex + env: + TEXINPUTS: "assets/tex//:" - name: Setup Ruby uses: ruby/setup-ruby@55283cc23133118229fd3f97f9336ee23a179fcf # v1.146.0 with: @@ -47,6 +53,8 @@ jobs: run: bundle exec jekyll build --baseurl "${{ steps.pages.outputs.base_path }}" env: JEKYLL_ENV: production + - name: Upload resume + run: cp assets/text/resume.pdf _site/assets/resume.pdf - name: Upload artifact # Automatically uploads an artifact from the './_site' directory by default uses: actions/upload-pages-artifact@v1 diff --git a/assets/tex/.gitignore b/assets/tex/.gitignore new file mode 100644 index 0000000..36d8326 --- /dev/null +++ b/assets/tex/.gitignore @@ -0,0 +1,292 @@ +## user added stuff +.DS_Store +*.pdf + +## Core latex/pdflatex auxiliary files: +*.aux +*.lof +*.log +*.lot +*.fls +*.out +*.toc +*.fmt +*.fot +*.cb +*.cb2 +.*.lb + +## Intermediate documents: +*.dvi +*.xdv +*-converted-to.* +# these rules might exclude image files for figures etc. +# *.ps +# *.eps +# *.pdf + +## Generated if empty string is given at "Please type another file name for output:" +.pdf + +## Bibliography auxiliary files (bibtex/biblatex/biber): +*.bbl +*.bcf +*.blg +*-blx.aux +*-blx.bib +*.run.xml + +## Build tool auxiliary files: +*.fdb_latexmk +*.synctex +*.synctex(busy) +*.synctex.gz +*.synctex.gz(busy) +*.pdfsync + +## Build tool directories for auxiliary files +# latexrun +latex.out/ + +## Auxiliary and intermediate files from other packages: +# algorithms +*.alg +*.loa + +# achemso +acs-*.bib + +# amsthm +*.thm + +# beamer +*.nav +*.pre +*.snm +*.vrb + +# changes +*.soc + +# comment +*.cut + +# cprotect +*.cpt + +# elsarticle (documentclass of Elsevier journals) +*.spl + +# endnotes +*.ent + +# fixme +*.lox + +# feynmf/feynmp +*.mf +*.mp +*.t[1-9] +*.t[1-9][0-9] +*.tfm + +#(r)(e)ledmac/(r)(e)ledpar +*.end +*.?end +*.[1-9] +*.[1-9][0-9] +*.[1-9][0-9][0-9] +*.[1-9]R +*.[1-9][0-9]R +*.[1-9][0-9][0-9]R +*.eledsec[1-9] +*.eledsec[1-9]R +*.eledsec[1-9][0-9] +*.eledsec[1-9][0-9]R +*.eledsec[1-9][0-9][0-9] +*.eledsec[1-9][0-9][0-9]R + +# glossaries +*.acn +*.acr +*.glg +*.glo +*.gls +*.glsdefs +*.lzo +*.lzs + +# uncomment this for glossaries-extra (will ignore makeindex's style files!) +# *.ist + +# gnuplottex +*-gnuplottex-* + +# gregoriotex +*.gaux +*.glog +*.gtex + +# htlatex +*.4ct +*.4tc +*.idv +*.lg +*.trc +*.xref + +# hyperref +*.brf + +# knitr +*-concordance.tex +# TODO Uncomment the next line if you use knitr and want to ignore its generated tikz files +# *.tikz +*-tikzDictionary + +# listings +*.lol + +# luatexja-ruby +*.ltjruby + +# makeidx +*.idx +*.ilg +*.ind + +# minitoc +*.maf +*.mlf +*.mlt +*.mtc[0-9]* +*.slf[0-9]* +*.slt[0-9]* +*.stc[0-9]* + +# minted +_minted* +*.pyg + +# morewrites +*.mw + +# newpax +*.newpax + +# nomencl +*.nlg +*.nlo +*.nls + +# pax +*.pax + +# pdfpcnotes +*.pdfpc + +# sagetex +*.sagetex.sage +*.sagetex.py +*.sagetex.scmd + +# scrwfile +*.wrt + +# sympy +*.sout +*.sympy +sympy-plots-for-*.tex/ + +# pdfcomment +*.upa +*.upb + +# pythontex +*.pytxcode +pythontex-files-*/ + +# tcolorbox +*.listing + +# thmtools +*.loe + +# TikZ & PGF +*.dpth +*.md5 +*.auxlock + +# todonotes +*.tdo + +# vhistory +*.hst +*.ver + +# easy-todo +*.lod + +# xcolor +*.xcp + +# xmpincl +*.xmpi + +# xindy +*.xdy + +# xypic precompiled matrices and outlines +*.xyc +*.xyd + +# endfloat +*.ttt +*.fff + +# Latexian +TSWLatexianTemp* + +## Editors: +# WinEdt +*.bak +*.sav + +# Texpad +.texpadtmp + +# LyX +*.lyx~ + +# Kile +*.backup + +# gummi +.*.swp + +# KBibTeX +*~[0-9]* + +# TeXnicCenter +*.tps + +# auto folder when using emacs and auctex +./auto/* +*.el + +# expex forward references with \gathertags +*-tags.tex + +# standalone packages +*.sta + +# Makeindex log files +*.lpz + +# xwatermark package +*.xwm + +# REVTeX puts footnotes in the bibliography by default, unless the nofootinbib +# option is specified. Footnotes are the stored in a file with suffix Notes.bib. +# Uncomment the next line to have this generated file ignored. +#*Notes.bib diff --git a/assets/tex/resume.sty b/assets/tex/resume.sty new file mode 100644 index 0000000..ecc2ac6 --- /dev/null +++ b/assets/tex/resume.sty @@ -0,0 +1,114 @@ +% Original template by Abhinay Korukonda +% Heavily modified by Matthew Tran + +%%% PACKAGES + +% Used for scaling +\usepackage{relsize} +% Font +\usepackage{tgpagella} +% Microtyping, apparently makes things look better +\usepackage[expansion,protrusion]{microtype} + +%%% DOCUMENT WIDE STYLING + +\pagestyle{empty} + +%%% CUSTOM COMMANDS + +% Name and contact info +\newcommand\namestuff[2]{ + \begin{center} + \item[]\textbf{\huge #1}\\ + \vspace{0.7ex} + #2 + \end{center} + \vspace{-3.2ex} +} + +% Title for major sections +\newcommand\rootstart[1]{ + \vspace{-2ex} + \subsection*{\Large \textit{#1}} + \vspace{-1ex} +} + +% Horizontal line to split major sections +\newcommand\rootend{ + \vspace{0.4ex} + \hrule + \vspace{0.4ex} +} + +% Make new indent bc \parindent doesn't work for some reason +\newlength{\newparindent} +\addtolength{\newparindent}{\parindent} + +% Indentation style for stuff that isn't already in a list +\newenvironment{indentsection} { + \begin{list}{} { + \setlength{\leftmargin}{0pt} + \setlength{\parsep}{0pt} + \setlength{\parskip}{0pt} + \setlength{\itemsep}{0pt} + \setlength{\topsep}{0pt}} + } + {\end{list}} + +% Provides indentation style for lists as well as makes a bullet +\newenvironment{circlist} { + \begin{list}{$\bullet$} { + \setlength{\leftmargin}{\newparindent} + \setlength{\parsep}{0pt} + \setlength{\parskip}{0pt} + \setlength{\itemsep}{0pt} + \setlength{\topsep}{0pt}} + } + {\end{list}} + +% Shortcut for making time periods +\newcommand{\period}[4]{#1\ #2 -- #3\ #4} + +% Shortcut for making time periods that haven't ended yet +\newcommand{\periodnow}[2]{#1\ #2 -- Present} + +% Good for education, includes part for GPA, make sure to always use circlist with this +\newcommand{\sectiongpa}[6] { + \begin{indentsection} + \item[]\textscale{1.063}{\textbf{#1}} \textsl{#2}\\ + \textsl{#3}\ $|$\ {#4}\hfill\textsl{#5}\\ + \vspace{-2.4ex} + {#6} + \end{indentsection} +} + +% Good for experiences, activities, just stuff with a location +\newcommand{\sectionloc}[5] { + \begin{indentsection} + \item[]\textscale{1.063}{\textbf{#1}} \textsl{#2}\\ + \textsl{#3}\hfill\textsl{#4}\\ + \vspace{-2.4ex} + {#5} + \end{indentsection} +} + +% Good for when you have a new position +\newcommand{\sectionsplit}[2] { + \vspace{0.4ex} + \textsl{#1}\hfill\textsl{#2}\\ + \vspace{-2.4ex} +} + +% Good for projects, doesn't have a location +\newcommand{\sectionproj}[3] { + \begin{indentsection} + \item[]\textscale{1.063}{\textbf{#1}}\hfill\textsl{#2}\\ + \vspace{-2.4ex} + {#3} + \end{indentsection} +} + +% Good for skills +\newcommand{\skill}[2] { + \item[]\textbf{#1}{:} #2 +} diff --git a/assets/tex/resume.tex b/assets/tex/resume.tex new file mode 100644 index 0000000..1f8ae0a --- /dev/null +++ b/assets/tex/resume.tex @@ -0,0 +1,111 @@ +\documentclass[11pt]{article} +\usepackage[letterpaper, left=0.56in, right=0.56in, top=0.45in, bottom=0.45in]{geometry} +\usepackage[utf8]{inputenc} +\usepackage[english]{babel} +\babelhyphenation[english]{every-where} + +\usepackage{resume} + +\begin{document} +\relscale{0.95} + +\namestuff +{Matthew Tran} +{matthewlamtran@berkeley.edu $|$ 626-297-7932 $|$ linkedin.com/in/matthewlamtran $|$ matthewtran.dev} + +\rootstart{Education} + +\sectiongpa +{University of California, Berkeley} {Berkeley, CA} +{B.S. in Electrical Engineering and Computer Science} {GPA: 3.94} {May 2022} +{\begin{circlist} + \item Coursework: CS152 (Computer Architecture), CS161 (Security), CS162 (Operating Systems), CS164 (Compilers), CS170 (Algorithms), CS188 (AI), CS189 (ML), EE105 (Circuits), EE106A/B (Robotics), EE120 (Signals \& Systems), EE123 (Digital Signal Processing), EE127 (Optimization), EE130 (Semiconductors), EE142 (RF), EE149 (Embedded Systems), EE151 (Digital Design), EE151LB (FPGA), EE194 (Tapeout) + \item Regents' and Chancellor's Scholarship (awarded to the top 2\% of undergraduate students) + \item Eta Kappa Nu (HKN) Honor Society Member (recognizes the top 25\% of EECS undergraduate students) +\end{circlist}} + +\rootend + +\rootstart{Experiences} + +\sectionloc +{SpaceX} {Hawthorne, CA} +{Avionics Intern} {\period{May}{2021}{August}{2021}} +{\begin{circlist} + \item Designed high voltage switch and updated multiplexer board for general purpose use in test rack development + \item Wrote software to pull image frames and metadata from compressed camera streams for real time analysis +\end{circlist} +\sectionsplit{Build Reliability Intern}{\period{May}{2020}{August}{2020}} +\begin{circlist} + \item Successfully drove root cause investigations on multiple products ranging from flight computers to cameras and based on findings provided recommendations for corrective actions to the relevant team +\end{circlist}} + +\rootend + +\rootstart{Activities} + +\sectionloc +{UC Berkeley IEEE Student Branch} {Berkeley, CA} +{Micromouse Director} {\period{January}{2020}{May}{2022}} +{\begin{circlist} + \item Adapted course for remote setting and streamlined teaching process by improving documentation and lab format + \item Developed new robot kit and curriculum used to teach the class focused on manufacturability and ease of use +\end{circlist} +\sectionsplit{Micromouse Officer}{\period{August}{2019}{December}{2019}} +\begin{circlist} + \item Created and presented labs guiding students through building a maze-solving robot for the Micromouse competition + \item Wrote a simulation in Python to aid in understanding algorithm implementation and hardware limitations +\end{circlist}} + +\sectionloc +{Underwater Robotics at Berkeley} {Berkeley, CA} +{Electrical Lead} {\period{August}{2019}{May}{2022}} +{\begin{circlist} + \item Architected electrical system for MATE and RoboSub vehicles focused on reliability, manufacturability, and repairability +\end{circlist} +\sectionsplit{Electrical Team Member}{\period{August}{2018}{August}{2019}} +\begin{circlist} + \item Used KiCad to design power distribution board to safely power various devices used on vehicle +\end{circlist}} + +\sectionloc +{CalSol} {Berkeley, CA} +{Electrical Lead} {\period{August}{2020}{August}{2021}} +{\begin{circlist} + \item Led weekly meetings facilitating new member projects and development of tenth generation vehicle +\end{circlist} +\sectionsplit{Electrical Team Member}{\period{August}{2018}{May}{2022}} +\begin{circlist} + \item Developed test bench to simulate and debug electrical system of the vehicle + \item Updated high voltage power distribution board with reduced footprint and increased integration +\end{circlist}} + +\rootend + +\rootstart{Projects} + +\sectionproj +{RISC-V CPU} {\period{April}{2021}{May}{2021}} +{\begin{circlist} + \item For EE151LB final project, designed and implemented a 3-stage pipelined RISC-V CPU on a PYNQ-Z1 with synchronous memory, UART tethering, and CNN hardware accelerator +\end{circlist}} + +\sectionproj +{STM32 APRS Transceiver} {\period{July}{2020}{August}{2020}} +{\begin{circlist} + \item Designed a low-cost compact device implementing AFSK encoding/decoding algorithms, text UI graphics driver, and keyboard to provide APRS messaging capabilities to off-the-shelf low-cost radios +\end{circlist}} + +\rootend + +\rootstart{Skills and Interests} + +\begin{indentsection} + \skill{Languages}{Python, C, C++, Java, Verilog, Chisel} + \skill{PCB Design}{KiCad, Altium, EAGLE} + \skill{IDEs}{Arduino, Mbed Studio, Intel Quartus, Xilinx Vivado} + \skill{CAD}{Fusion 360, SolidWorks} + \skill{Certifications}{CSWA (Certified SolidWorks Associate)} +\end{indentsection} + +\end{document} diff --git a/resume.md b/resume.md new file mode 100644 index 0000000..b39386c --- /dev/null +++ b/resume.md @@ -0,0 +1,8 @@ +--- +layout: page +title: Resume +permalink: /resume/ +excerpt: The obligatory resume. +--- + +