diff --git a/config.json5 b/config.json5 index 84be6c7..5b8e556 100644 --- a/config.json5 +++ b/config.json5 @@ -5,7 +5,7 @@ "home": "550 Moreland Way Apt 4410, Santa Clara, CA 95054", "school": "480 Parker Street, Boston, MA 02115" }, - "email": "code@eddie.sh", + "email": "hi@eddie.sh", "phone": "(716) 491-3343", "website": "eddie.sh", "github": "edward-shen", @@ -30,10 +30,6 @@ "name": "honors", "desc": "3.85 / 4.00; summa cum laude; Dean's List" }, - // { - // "name": "courses", - // "desc": "Networks and Distributed Systems; Network Security; Programming Languages; Machine Learning/Data Mining 1; Algorithms and Data" - // } ] }, "skills": [ @@ -41,26 +37,30 @@ "name": "languages", "desc": [ { - "level": "proficient", - "langs": "Rust, Python, TypeScript, HTML5, CSS" + "level": "primary", + "langs": "Rust", }, { - "level": "familiar", - "langs": "JavaScript, Java, LaTeX, C++, Bash" + "level": "secondary", + "langs": "Python, Bash", }, { - "level": "explored", - "langs": "C, Ruby, Racket, Scala, Obj-C" + "level": "auxiliary", + "langs": "C, C++, TypeScript", } ] }, { - "name": "other", - "desc": "Git, (Arch) Linux, VS Code, Raspberry Pi" + "name": "recent technology", + "desc": "cxx.rs, libc, fbthrift, cgroups v2", }, { - "name": "certs", - "desc": "CompTIA A+, Dell Certified Technician, Apple Certified Mac Technician" + "name": "miscellaneous", + "desc": "Regex, LaTeX" + }, + { + "name": "interests", + "desc": "Rhythm games; Self-hosting; Security; Scalability; Free software", } ], "experiences": [ @@ -68,7 +68,7 @@ "title": "Production Engineer", "company": "Meta", "location": "Menlo Park, CA", - "start": "Sept. 2021", + "start": "Sep. 2021", "end": "Present", "notes": [ "Joined the PE Executable Access Control team to identify, track, and jail untrusted binaries running on internal hosts.", @@ -77,7 +77,7 @@ ] }, { - "title": "Security Engineering and Architecture Intern", + "title": "SEAR Intern", "company": "Apple", "location": "Cupertino, CA", "remote": true, @@ -85,7 +85,7 @@ "end": "Dec. 2020", "notes": [ "Joined the Trusted Execution team, focused on code execution across the Apple ecosystem.", - "Proposed, driven, and completed a cross-functional security interface involving a dozen teams inside and outside the organization.", + "Planned, driven, and completed proof-of-concept for iOS 16's Lockdown Mode.", "Developed kernel and bootloader security policies focused on attack surface reduction.", ] }, @@ -102,17 +102,17 @@ "Highlighted as a top intern project for the Production Engineering organization." ] }, - { - "title": "Software Engineer Intern", - "company": "Datto", - "location": "Boston, MA", - "start": "Aug. 2019", - "end": "Dec. 2019", - "notes": [ - "Refactored frontend codebase to utilize Typescript, Webpack, and Babel while reducing average JS footprint by 98\\% percent, from 10.4MB to 250KB.", - "Integrated into Scrum team that focused on re-implementation of license management systems in a legacy Ruby codebase to Scala and PHP." - ] - }, + // { + // "title": "Software Engineer Intern", + // "company": "Datto", + // "location": "Boston, MA", + // "start": "Aug. 2019", + // "end": "Dec. 2019", + // "notes": [ + // "Refactored frontend codebase to utilize Typescript, Webpack, and Babel while reducing average JS footprint by 98\\% percent, from 10.4MB to 250KB.", + // "Integrated into Scrum team that focused on re-implementation of license management systems in a legacy Ruby codebase to Scala and PHP." + // ] + // }, { "title": "Production Engineer Intern", "company": "Facebook", @@ -121,7 +121,7 @@ "end": "Aug. 2019", "notes": [ "Implemented a disaster mitigation for decentralized service discovery when upstream data source is unavailable or in a degraded state.", - "Designed an out-of-band flow to allow resolution of core infrastructure services dependent on service discovery in disaster scenarios to minimize downtime for all Facebook products.", + "Designed an out-of-band flow to resolve core infrastructure services dependent on service discovery in disaster scenarios to minimize downtime for all Facebook products.", ] } ], diff --git a/templates/latex b/templates/latex index 19cdf48..772a417 100644 --- a/templates/latex +++ b/templates/latex @@ -9,6 +9,7 @@ \usepackage{multirow} \usepackage{colortbl} % Colored table vlines \usepackage{graphicx} % Rotate text +\usepackage[hidelinks]{hyperref} % Clickable PDF URLs % macros which are illegal in .sty (primarily just font awesome stuff) @@ -22,98 +23,111 @@ \setmainfont{Corbert} % Set up table styles -\arrayrulecolor{red} +\arrayrulecolor{AccentColor} \setlength\arrayrulewidth{1.2pt} \begin{tabularx}{\textwidth}{X c l} \multirow[b]{3}{*}{\name} - & \accent{\glyph{"F0AC}} & {{ config.author.website }} \\ - & \accent{\glyph{"F003}} & {{ config.author.email }} \\ - & \accent{\glyph{"F09B}} & {{ config.author.github }} + & \accent{\glyph{"F0AC}} & \href{ + https://{{ config.author.website }} + }{ + {{ config.author.website }} + }\\ + & \accent{\glyph{"F003}} & \href{ + mailto:{{ config.author.email }} + }{ + {{ config.author.email }} + } \\ + & \accent{\glyph{"F09B}} & \href { + https://github.com/{{ config.author.github }} + }{ + {{ config.author.github }} + } \end{tabularx} % Contact info -\begin{tabularx}{\textwidth}{c | r X r } -\sectiontitle{Experiences} -{% for experience in config.experiences -%} \\[-8pt] -{% raw -%} -& \widel{\large\title{% -{% endraw -%} -{{ experience.company }}}\hint{ {{experience.title }} }} & {{ experience.start }}---{{ experience.end }} \\ -& \widel{\footnotesize {{ experience.location }} -{% if experience.remote -%} -\color[rgb]{.8,.8,.8}{(Remote)} -{% endif -%} -} \\ -{% for note in experience.notes -%} -& \bullet -{% raw -%} -& \widex{% -{% endraw -%} -{{note}}} \\ -{% endfor -%} -{% endfor -%} +\begin{tabularx}{\textwidth}{c X c} +{ + +\begin{tabularx}{300pt}{c | r r r } + \sectiontitle{Experiences\;\;} + {% for experience in config.experiences -%} \\[-8pt] + {% raw -%} + & \widel{\large\title{% + {% endraw -%} + {{ experience.company }}}\hint{ {{experience.title }} }} & {{ experience.start }}---{{ experience.end }} \\ + & \widel{\footnotesize {{ experience.location }} + {% if experience.remote -%} + \color[rgb]{.8,.8,.8}{(Remote)} + {% endif -%} + } \\[-8pt] + \\ + + {% for note in experience.notes -%} + & \bullet + {% raw -%} + & \widex{% + {% endraw -%} + {{note}} + } \\[-8pt] + \\ + {% endfor -%} + \\[-8pt] + {% endfor -%} \end{tabularx} +} +& & +{ +\begin{tabularx}{150pt}{ c | X } + \sectiontitle{Degree\;\;} \\[-8pt] + {% raw -%} + & {\large\title{% + {% endraw -%} + {{ config.education.school }} + }} \\ + & \footnotesize{ {{ config.education.location }}} \\ + & \hint{Date}\\ + & {{ config.education.start }}---{{ config.education.end_date }} \\ + {% for row in config.education.list -%} + {% raw -%} + & \hint{% + {% endraw -%} + {{ row.name | title }}} \\ + & {{ row.desc }} \\ + {% endfor -%} + \\[-8pt] + \\ -\begin{tabularx}{\textwidth}{ c | r X r } -\sectiontitle{Degree} \\[-8pt] -{% raw -%} -& \widel{ {\large\title{% -{% endraw -%} -{{ config.education.school }}}}\hint{ {{ config.education.location }}}} & {{ config.education.start }}---{{ config.education.end_date }} \\ -& \widel{\footnotesize {{ config.education.college }}} \\ -{% for row in config.education.list -%} -{% raw -%} -& \hint{% -{% endraw -%} -{{ row.name | title }}:} & -{% raw -%} -\multicolumn{2}{X}{% -{% endraw -%} -{{ row.desc }}} \\ -{% endfor -%} + \spacer + \spacer + \spacer + \spacer -% Lol this spacer is for alignment of the two table sections -\spacer + \sectiontitle{Skills and Interests\;\;} \\[-8pt] + {% for row in config.skills -%} -\sectiontitle{Skills} \\[-8pt] -{% for row in config.skills -%} -& \hint{ {{ row.name | title }}:} & -{% raw -%} -\multicolumn{2}{X}{% -{% endraw -%} -{% if row.name == "languages" -%} -\multirow{3}{*}{ -\begin{tabularx}{\textwidth}{ r l } -{% for group in row.desc -%} -{% raw -%} -\hint{% -{% endraw -%} -{{ group.level | title }}:} & {{ group.langs }} \\ -{% endfor -%} + {% raw -%} + & \title{% + {% endraw -%} + {{ row.name | title }}} \\ + + {% if row.name == "languages" -%} + {% for group in row.desc -%} + {% raw -%} + & \hint{% + {% endraw -%} + {{ group.level | title }}} \\ + & {{ group.langs }} \\ + {% endfor -%} + {% else -%} + & \begin{flushleft} + {{ row.desc }} \\ + \end{flushleft} + {% endif -%} + \\[-8pt] + \\ + {% endfor -%} \end{tabularx} -} \newline \newline % 100% hack pls fix -{% else -%} -{{ row.desc }} -{% endif -%} -}\\ -{% endfor -%} +} \end{tabularx} - -% \begin{tabularx}{\textwidth}{c | r X r } -% \sectiontitle{Projects} -% {% for project in config.projects -%} \\[-8pt] -% {% raw -%} -% & \widel{\large\title{% -% {% endraw -%} -% {{ project.name }}}\hint{ {{ project.lang }} }} \\ -% {% for note in project.notes -%} -% & \bullet -% {% raw -%} -% & \widex{% -% {% endraw -%} -% {{note}}} \\ -% {% endfor -%} -% {% endfor -%} -% \end{tabularx} \end{document} diff --git a/templates/macros.sty b/templates/macros.sty index f2fe732..5aef37e 100644 --- a/templates/macros.sty +++ b/templates/macros.sty @@ -8,9 +8,11 @@ ] \newfontfamily{\fa}{FontAwesome} +\definecolor{AccentColor}{HTML}{238de4} + {% raw %} % Changes the color of any text inside to the accent color -\renewcommand{\accent}[1] {{\color{red}{#1}}} +\renewcommand{\accent}[1] {{\color{AccentColor}{#1}}} {% endraw %} {% raw %}