From 09570e3d689c7b544c5f10e0f5b985ba37bc6b17 Mon Sep 17 00:00:00 2001 From: Bastian Gruber Date: Tue, 20 Jan 2026 16:27:41 -0400 Subject: [PATCH] Makefile for PDF and HTML --- Makefile | 9 +- index.html | 334 +++++++++++++++++++++++++--------------------------- resume.4ct | 6 + resume.4tc | 5 + resume.cfg | 3 + resume.dvi | Bin 11988 -> 32768 bytes resume.idv | Bin 0 -> 457 bytes resume.lg | 164 ++++++++++++++++++++++++++ resume.log | 110 +++++++++++++++++ resume.pdf | Bin 78781 -> 81198 bytes resume.tex | 50 ++++++-- resume.tmp | 2 + resume.xref | 8 ++ style.css | 160 +++++++++++++++++++++++++ 14 files changed, 665 insertions(+), 186 deletions(-) create mode 100644 resume.4ct create mode 100644 resume.4tc create mode 100644 resume.cfg create mode 100644 resume.idv create mode 100644 resume.lg create mode 100644 resume.log create mode 100644 resume.tmp create mode 100644 resume.xref create mode 100644 style.css diff --git a/Makefile b/Makefile index a57b6cd..01f6bbb 100644 --- a/Makefile +++ b/Makefile @@ -2,8 +2,11 @@ html: index.html -index.html: resume.tex - pandoc resume.tex -s --metadata title="Bastian Gruber - CV" -o index.html +index.html: resume.tex res.cls resume.cfg style.css + make4ht -f html5 -c resume.cfg resume.tex + sed -i 's|]*>||; s||Bastian Gruber - CV|' resume.html + mv resume.html index.html + rm -f resume.css pdf: resume.pdf @@ -11,6 +14,6 @@ resume.pdf: resume.tex res.cls pdflatex resume.tex clean: - rm -f index.html resume.aux resume.log resume.dvi + rm -f index.html resume.aux resume.log resume.dvi resume.html resume.css resume.4ct resume.4tc resume.idv resume.lg resume.tmp resume.xref all: html pdf diff --git a/index.html b/index.html index 751df37..e389862 100644 --- a/index.html +++ b/index.html @@ -1,177 +1,159 @@ - - - - - - - Bastian Gruber - CV - - - -
-

Bastian Gruber - CV

-
+ + + Bastian Gruber - CV + + + + + + +
+
Bastian Gruber 
 
 
+
+ + +
Professional  
LinkedIn: linkedin.com/in/bastiangruber 
Project: rustwebdevelopment.com  
E-Mail: gruberbastian@me.com  
+ + +
Code  
GitHub: github.com/gruberb 
Code: code.novanexus.ca  
Website: bastiangruber.ca  
+

SUMMARY

+

Senior Rust engineer and published author (”Rust Web Development” - Manning) with 15+ years building scalable +backend systems. Currently contributing to Firefox at Mozilla, shipping code to hundreds of millions of users. +Founded Rust&Tell Berlin, the largest Rust meetup globally. +

+

SKILLS

+

Languages: Rust, Python, TypeScript, JavaScript, Go
Frontend: React, Angular, Vue.js
Backend: Rust (Actix, Warp, Axum), Python (FastAPI), Node.js, Go
Patterns: REST, GraphQL, gRPC, async Rust, distributed systems (P2P)
Infrastructure: AWS, Google Cloud, Docker, Kubernetes, CI/CD, Grafana
Domains: Systems programming, Firefox, FFI, protocol implementation, IoT, blockchain +

+

PROFESSIONAL EXPERIENCE

+

Senior Software Engineer - Full-time July 2024 - Now +
Mozilla, Remote
Contributing to Firefox (desktop and mobile) shipped to hundreds of millions of users. All work is open source. +

+
    +
  • Leading the Image Service project: designing and implementing a cross-team service to provide favicons + and images to Firefox Desktop and mobile +
  • +
  • Contributor to UniFFI, Mozilla’s multi-language bindings generator for Rust, enabling Rust code to + be called from Kotlin (Android), Swift (iOS), Python, and JavaScript (Desktop) +
  • +
  • Implemented OHTTP (Oblivious HTTP) support in application-services, enabling privacy-preserving + API requests across Firefox Desktop, Android, and iOS +
  • +
  • Building and maintaining the Push notification service for Firefox (async Rust backend handling + millions of concurrent connections) +
  • - - +
  • Contributing directly to Firefox (mozilla-central): shipping Rust and C++ code to Desktop +
  • +
  • Maintaining Merino, the web service powering Firefox Suggest with Python/FastAPI +
  • +
  • Creating internal Rust learning resources and leading ”Rusty Fridays” sessions for engineers
+

Senior Systems Engineer, Team Lead - Full-time April 2023 - June 2024 +
Toposware, Remote
Developing a Peer-to-Peer distributed network, with high throughput and low latency. Part of the core team, +consisting out of 4 people. Implementing the protocol and the services in-house. Debugging of production issues, +implementing the core protocol, re-wrote the CLI, led benchmark initiatives, set up part of the CI/CD flow and +Grafana dashboards.

+
    +
  • Increased the throughput of a node 10x +
  • +
  • Re-wrote the CLI to add configuration and robustness, better user guidance +
  • +
  • Led a team of 3 engineers for an internal benchmark project +
  • +
  • Implemented load testing for part of the codebase +
  • +
  • Connected external EVM chains to the core network
+

Senior Software Engineer - Full-time August 2022 - February 2023 +
Centrifuge, Remote
Part of the protocol team implementing the DeFi application on top of Substrate. Working in a self-governed +organization, leading the documentation efforts around Rust and the protocol implementation.

+
    +
  • Implemented the auto-generation of the online documentation with every PR +
  • +
  • Enabled mutating of money pools in the protocol +
  • +
  • Implemented client facing APIs on top of the money fund pools +
  • +
  • Co-authored RFCs to enhance the protocol
+ +

Author of ”Rust Web Development” October 2020 - December 2022 +
Manning Publications, Remote
Writing the book ”Rust Web Development”. Research, writing and marketing the book in partnership with +Manning.

+
    +
  • Published technical book on building web services with Rust +
  • +
  • Created comprehensive tutorials covering async Rust, web frameworks, and deployment +
  • +
  • Book available worldwide through Manning Publications
+

Sr. Solutions Architect (Professional Services) - Full-time June 2020 - August 2022 +
Twilio Inc., Remote
Second Solutions Architect hired for the new EMEA Professional Services team. Enabled enterprise customers to +integrate Twilio APIs through architecture design, code reviews, and hands-on implementation support. +

+
    +
  • Technical Lead for Fortune 500 client engagements, from architecture to delivery +
  • +
  • Built reusable integration patterns and deliverables adopted across EMEA team +
  • +
  • Established technical review processes and best practices for customer implementations +
  • +
  • Involved in hiring, onboarding, and scaling the Professional Services team
+

Systems Engineer - Contract August 2019 - May 2020 +
Kraken Digital Currency Exchange, Remote (San Francisco)
Part of the first Rust team of the company, replacing the core trading engine with Rust. Worked alongside 12 highly +experienced Software Developers from all over the world. Refactor code from PHP to Rust, wrote new features in +Rust in a well-tested highly secure manner.

+
    +
  • Re-wrote several PHP services in Rust to increase the throughput 100fold +
  • +
  • Wrote new services in Rust from the ground up +
  • +
  • Cross-communication with different teams and the CTO
+

Rust Developer - Freelance March 2019 - July 2019 +
Self Employed, Berlin/Toronto
Took time to deep-dive into Rust, founded the Rust&Tell Berlin MeetUp, contributed to Rust core and created +learning paths for NodeJS developers transitioning to Rust.

+
    +
  • Founded and organized the monthly ”Rust & Tell Berlin” meetup (now largest Rust meetup globally) +
  • +
  • Contributed to Rust core and various Rust libraries +
  • +
  • Created Rust learning resources for NodeJS developers
+

Sr. Software Engineer - Freelance March 2016 - February 2019 +
OSRAM, Körber Digital, Avenga, ERGO Group, GIATA, PaperHive, Glispa (Berlin)
Freelance consultant for enterprise clients. Focus on microservices architecture, IoT platforms, and frontend +development.

+
    +
  • Built authentication infrastructure for OSRAM’s large-scale IoT platform (Node.js, Go, Lua) +
  • +
  • First engineering hire at Körber Digital; established tech stack and real-time data pipelines on AWS +
  • +
  • Tech Lead at Avenga; enabled Scrum processes and refactored codebase into microservices +
  • +
  • Migrated legacy PHP systems to Node.js microservices with Docker at GIATA +
  • +
  • Built in-house analytics dashboards and ad platforms at Glispa with AngularJS +
  • +
  • Mentored teams on Scrum adoption and modern JavaScript practices
+

Software Engineer - Full-time August 2015 - February 2016 +
smartB Energy Management GmbH, Berlin
Worked in a small agile team creating an application for business owners to monitor energy consumption. +

+
    +
  • Full-stack development with JavaScript and Python +
  • +
  • Heavy use of pair programming and TDD practices
+

Software Engineer - Freelance March 2015 - July 2015 +
blogfoster GmbH, Berlin
First developer hired to rewrite existing PHP/Backbone application using NodeJS and React.

+
    +
  • Built the first version of the ad marketplace for this young startup +
  • +
  • Mapped out architecture with CTO; implemented TDD practices
+

Frontend Developer - Full-time February 2014 - March 2015 +
Dalia Research, Berlin
First and sole frontend developer at 8-person startup.

+
    +
  • Built survey platform and analytics dashboards in AngularJS +
  • +
  • Translated business requirements into product features across all browsers and devices
+

EDUCATION

+

Bachelor of Science, Computer Science September 2010 - February 2014 +
TH Ingolstadt
Scholarship from Allianz Deutschland AG to study Computer Science, fully funded and with trainings in Scrum, +Java, PL/I and mainframe systems on the side. +

+
+ + + \ No newline at end of file diff --git a/resume.4ct b/resume.4ct new file mode 100644 index 0000000..26be2b4 --- /dev/null +++ b/resume.4ct @@ -0,0 +1,6 @@ +\expandafter\ifx\csname doTocEntry\endcsname\relax \expandafter\endinput\fi +\doTocEntry\tocsection{0}{\csname a:TocLink\endcsname{1}{x1-10000}{QQ2-1-1}{\centerline {SUMMARY}}}{1}\relax +\doTocEntry\tocsection{0}{\csname a:TocLink\endcsname{1}{x1-20000}{QQ2-1-2}{\centerline {SKILLS}}}{1}\relax +\doTocEntry\tocsection{0}{\csname a:TocLink\endcsname{1}{x1-30000}{QQ2-1-3}{\centerline {PROFESSIONAL EXPERIENCE}}}{1}\relax +\doTocEntry\tocsection{0}{\csname a:TocLink\endcsname{1}{x1-40000}{QQ2-1-4}{\centerline {EDUCATION}}}{5}\relax +\par diff --git a/resume.4tc b/resume.4tc new file mode 100644 index 0000000..67ad61f --- /dev/null +++ b/resume.4tc @@ -0,0 +1,5 @@ +\expandafter\ifx\csname doTocEntry\endcsname\relax \expandafter\endinput\fi +\doTocEntry\tocsection{0}{\csname a:TocLink\endcsname{1}{x1-10000}{QQ2-1-1}{\centerline {SUMMARY}}}{1}\relax +\doTocEntry\tocsection{0}{\csname a:TocLink\endcsname{1}{x1-20000}{QQ2-1-2}{\centerline {SKILLS}}}{1}\relax +\doTocEntry\tocsection{0}{\csname a:TocLink\endcsname{1}{x1-30000}{QQ2-1-3}{\centerline {PROFESSIONAL EXPERIENCE}}}{1}\relax +\doTocEntry\tocsection{0}{\csname a:TocLink\endcsname{1}{x1-40000}{QQ2-1-4}{\centerline {EDUCATION}}}{5}\relax diff --git a/resume.cfg b/resume.cfg new file mode 100644 index 0000000..95ae7a7 --- /dev/null +++ b/resume.cfg @@ -0,0 +1,3 @@ +\Preamble{xhtml,html5} +\begin{document} +\EndPreamble diff --git a/resume.dvi b/resume.dvi index 4477e996d249b82b3cdf67aaf3df437833b02d0f..58730d87b16fee2217aea7befc4e88f59ba37b5d 100644 GIT binary patch literal 32768 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 literal 11988 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 KJM!O`pZ^E+C;RyT diff --git a/resume.idv b/resume.idv new file mode 100644 index 0000000000000000000000000000000000000000..6a411a432e5342cfae8e0673621e9b974e91a747 GIT binary patch literal 457 zcmey)#MnIPfQ&T*5HP=xRtQOrP{=PWDJU&bFfuSQ(=#yCGcvF;G&3^m2C85LDI)~_ z13~X3kg5eB;u8={Wuzviq!!uc7$+qrXQ$?+=%$oq78L6h6y<-G_Wqbq$-o6v1;VV! zxkZKs$3Cmve`Qkv7iCM%Eh#ZHIR9Dg&^5mW3_L)EAPf{vsxUOVci1-r+w2GUPpd>As_hXMe0$du3k literal 0 HcmV?d00001 diff --git a/resume.lg b/resume.lg new file mode 100644 index 0000000..a815e27 --- /dev/null +++ b/resume.lg @@ -0,0 +1,164 @@ +htfcss: cmsl font-style: oblique; +htfcss: cmbx font-weight: bold; +htfcss: cmbxsl font-weight: bold; font-style: oblique; +htfcss: cmbx font-weight: bold; +htfcss: cmbxsl font-weight: bold; font-style: oblique; +htfcss: cmtt font-family: monospace,monospace; +File: resume.html +File: resume.css +File: resume.tmp +Css: p{margin-top:0;margin-bottom:0} +Css: p.indent{text-indent:0;} +Css: p + p{margin-top:1em;} +Css: p + div, p + pre {margin-top:1em;} +Css: div + p, pre + p {margin-top:1em;} +Css: a { overflow-wrap: break-word; word-wrap: break-word; word-break: break-word; hyphens: auto; } +Css: @media print {div.crosslinks {visibility:hidden;}} +Css: table.tabular{border-collapse: collapse; border-spacing: 0;} +Css: a img { border-top: 0; border-left: 0; border-right: 0; } +Font_Css("4"): .small-caps{font-variant: small-caps; } +Font_Css("10"): .htf-cmbx {font-weight: bold; font-style:normal;} +Font_Css("12"): .htf-calligraphy {font-family:cursive} +Font_Css("14"): .htf-italic {font-style: italic;} +Font_Css("16"): .htf-bold {font-weight: bold;} +Font_Css("12"): .htf-calligraphy-bold {font-family:cursive ; font-weight: bold; } +Css: center { margin-top:1em; margin-bottom:1em; } +Css: td center { margin-top:0em; margin-bottom:0em; } +Css: .Canvas { position:relative; } +Css: img.math{vertical-align:middle;} +Css: div.par-math-display, div.math-display{text-align:center;} +Css: body{ margin:1em auto; max-width:80ch; padding:0 .62em; } +Css: h1,h2,h3,h4,h5 { line-height:1.2; } +Css: @media print{ body{ max-width:none } } +Css: .partHead, .likepartHead { font-size: 2em; } +Css: .chapterHead, .likechapterHead { font-size: 1.7411em; } +Css: .sectionHead, .likesectionHead { font-size: 1.5157em; } +Css: .subsectionHead, .likesubsectionHead { font-size: 1.3195em; } +Css: .subsubsectionHead, .likesubsubsectionHead { font-size: 1.1487em; } +Css: @media (prefers-color-scheme: dark) { img[src^="resume"]{filter: invert(1); } } +Css: body { background-color: Canvas; color: CanvasText; color-scheme: light dark; } +Css: li p.indent { text-indent: 0em } +Css: li p:first-child{ margin-top:0em; } +Css: li p:last-child, li div:last-child { margin-bottom:0.5em; } +Css: li p:first-child{ margin-bottom:0; } +Css: li p~ul:last-child, li p~ol:last-child{ margin-bottom:0.5em; } +Css: .enumerate1 {list-style-type:decimal;} +Css: .enumerate2 {list-style-type:lower-alpha;} +Css: .enumerate3 {list-style-type:lower-roman;} +Css: .enumerate4 {list-style-type:upper-alpha;} +Css: div.newtheorem { margin-bottom: 2em; margin-top: 2em;} +Css: div.newtheorem .head{font-weight: bold;} +Css: .obeylines-h,.obeylines-v {white-space: nowrap; } +Css: div.obeylines-v p { margin-top:0; margin-bottom:0; } +Css: .overline{ text-decoration:overline; } +Css: .overline img{ border-top: 1px solid black; } +Css: td.displaylines {text-align:center; white-space:nowrap;} +Css: .centerline {text-align:center;} +Css: .rightline {text-align:right;} +Css: pre.verbatim {font-family: monospace,monospace; text-align:left; clear:both; } +Css: .fbox {padding-left:3.0pt; padding-right:3.0pt; text-indent:0pt; border:solid black 0.4pt; } +Css: div.fbox {display:table} +Css: div.center div.fbox {text-align:center; clear:both; padding-left:3.0pt; padding-right:3.0pt; text-indent:0pt; border:solid black 0.4pt; } +Css: div.minipage{width:100%;} +Css: div.center, div.center div.center {text-align: center; margin-left:1em; margin-right:1em;} +Css: div.center div {text-align: left;} +Css: div.flushright, div.flushright div.flushright {text-align: right;} +Css: div.flushright div {text-align: left;} +Css: div.flushleft {text-align: left;} +Css: .underline{ text-decoration:underline; } +Css: .underline img{ border-bottom: 1px solid black; margin-bottom:1pt; } +Css: .framebox-c, .framebox-l, .framebox-r { padding-left:3.0pt; padding-right:3.0pt; text-indent:0pt; border:solid black 0.4pt; } +Css: .framebox-c {text-align:center;} +Css: .framebox-l {text-align:left;} +Css: .framebox-r {text-align:right;} +Css: span.thank-mark{ vertical-align: super } +Css: span.footnote-mark sup.textsuperscript, span.footnote-mark a sup.textsuperscript{ font-size:80%; } +Css: code.verb{font-family:monospace,monospace;} +Css: div.tabular, div.center div.tabular {text-align: center; margin-top:0.5em; margin-bottom:0.5em; } +Css: table.tabular td p{margin-top:0em;} +Css: table.tabular {margin-left: auto; margin-right: auto;} +Css: td p:first-child{ margin-top:0em; } +Css: td p:last-child{ margin-bottom:0em; } +Css: div.td00{ margin-left:0pt; margin-right:0pt; } +Css: div.td01{ margin-left:0pt; margin-right:5pt; } +Css: div.td10{ margin-left:5pt; margin-right:0pt; } +Css: div.td11{ margin-left:5pt; margin-right:5pt; } +Css: table[rules] {border-left:solid black 0.4pt; border-right:solid black 0.4pt; } +Css: td.td00{ padding-left:0pt; padding-right:0pt; } +Css: td.td01{ padding-left:0pt; padding-right:5pt; } +Css: td.td10{ padding-left:5pt; padding-right:0pt; } +Css: td.td11{ padding-left:5pt; padding-right:5pt; } +Css: table[rules] {border-left:solid black 0.4pt; border-right:solid black 0.4pt; } +Css: .hline hr, .cline hr{ height : 0px; margin:0px; } +Css: .hline td, .cline td{ padding: 0; } +Css: .hline hr, .cline hr{border:none;border-top:1px solid black;} +Css: .hline {border-top: 1px solid black;} +Css: .hline + .vspace:last-child{display:none;} +Css: .tabbing-right {text-align:right;} +Css: div.float, div.figure {margin-left: auto; margin-right: auto;} +Css: div.float img {text-align:center;} +Css: div.figure img {text-align:center;} +Css: .marginpar,.reversemarginpar {width:20%; float:right; text-align:left; margin-left:auto; margin-top:0.5em; font-size:85%; text-decoration:underline;} +Css: .marginpar p,.reversemarginpar p{margin-top:0.4em; margin-bottom:0.4em;} +Css: .reversemarginpar{float:left;} +Css: table.equation {width:100%;} +Css: .equation td{text-align:center; } +Css: td.equation { margin-top:1em; margin-bottom:1em; } +Css: td.equation-label { width:5%; text-align:center; } +Css: td.eqnarray4 { width:5%; white-space: normal; } +Css: td.eqnarray2 { width:5%; } +Css: table.eqnarray-star, table.eqnarray {width:100%;} +Css: div.eqnarray{text-align:center;} +Css: div.array {text-align:center;} +Css: div.pmatrix {text-align:center;} +Css: table.pmatrix {width:100%;} +Css: span.pmatrix img{vertical-align:middle;} +Css: div.pmatrix {text-align:center;} +Css: table.pmatrix {width:100%;} +Css: span.bar-css {text-decoration:overline;} +Css: img.cdots{vertical-align:middle;} +Css: .partToc a, .partToc, .likepartToc a, .likepartToc {line-height: 200%; font-weight:bold; font-size:110%;} +Css: .index-item, .index-subitem, .index-subsubitem {display:block} +Css: div.caption {text-indent:-2em; margin-left:3em; margin-right:1em; text-align:center; margin-top: 0.5rem;} +Css: div.caption span.id{font-weight: bold; white-space: nowrap; } +Css: h1.partHead{text-align: center} +Css: p.bibitem { text-indent: -2em; margin-left: 2em; margin-top:0.6em; margin-bottom:0.6em; } +Css: p.bibitem-p { text-indent: 0em; margin-left: 2em; margin-top:0.6em; margin-bottom:0.6em; } +Css: .subsubsectionHead, .likesubsubsectionHead { font-size: 1em; } +Css: .paragraphHead, .likeparagraphHead { margin-top:2em; font-weight: bold;} +Css: .subparagraphHead, .likesubparagraphHead { font-weight: bold;} +Css: .verse{white-space:nowrap; margin-left:2em} +Css: div.maketitle {text-align:center;} +Css: h2.titleHead{text-align:center;} +Css: div.maketitle{ margin-bottom: 2em; } +Css: div.author, div.date {text-align:center;} +Css: div.thanks{text-align:left; margin-left:10%; font-size:85%; font-style:italic; } +Css: div.author{white-space: nowrap;} +Css: div.abstract p {margin-left:5%; margin-right:5%;} +Css: div.abstract {width:100%;} +Css: .abstracttitle{text-align:center;margin-bottom:1em;} +Css: .subsectionToc, .likesubsectionToc {margin-left:1em;} +Css: .subsubsectionToc, .likesubsubsectionToc {margin-left:2em;} +Css: .paragraphToc, .likeparagraphToc {margin-left:3em;} +Css: .subparagraphToc, .likesubparagraphToc {margin-left:4em;} +Css: figure.float, div.figure {margin-left: auto; margin-right: auto;} +Css: figure.figure {text-align:center;} +Css: figcaption.caption {text-indent:-2em; margin-left:3em; margin-right:1em; text-align:center;} +Css: figcaption.caption span.id{font-weight: bold; white-space: nowrap; } +Css: p + figcaption, img + figcaption{margin-top: 1em;} +Css: .abstract{margin:1em;} +Css: table.tabbing {width:100%; margin-top:1em;} +Css: td.tabbing {width:33%;} +Css: div.section {margin-left:3em;} +Css: .center-addresses {width:100%} +Css: .line-address {text-align:right;} +Css: table.section td{ vertical-align:top;} +Css: td.section {padding-right:2em; width:20%;} +Css: table.section {margin-top:1em;} +Css: .position table {width:100%;} +--- characters --- +Font("cmr","10","10","100") +Font("cmtt","10","10","100") +Font("cmbx","12","12","100") +Font("cmbx","10","10","100") +Font("cmsl","10","10","100") diff --git a/resume.log b/resume.log new file mode 100644 index 0000000..62edfb9 --- /dev/null +++ b/resume.log @@ -0,0 +1,110 @@ +This is pdfTeX, Version 3.141592653-2.6-1.40.27 (TeX Live 2026/dev/Arch Linux) (preloaded format=pdflatex 2026.1.20) 20 JAN 2026 16:26 +entering extended mode + restricted \write18 enabled. + %&-line parsing enabled. +**resume.tex +(./resume.tex +LaTeX2e <2024-11-01> patch level 2 +L3 programming layer <2025-01-18> +(./res.cls +Document Style `res' <26 Sep 89>. +Document Class: res 2000/05/19 v1.4b Resume class +(/usr/share/texmf-dist/tex/latex/base/article.cls +Document Class: article 2024/06/29 v1.4n Standard LaTeX document class +(/usr/share/texmf-dist/tex/latex/base/size10.clo +File: size10.clo 2024/06/29 v1.4n Standard LaTeX file (size option) +) +\c@part=\count196 +\c@section=\count197 +\c@subsection=\count198 +\c@subsubsection=\count199 +\c@paragraph=\count266 +\c@subparagraph=\count267 +\c@figure=\count268 +\c@table=\count269 +\abovecaptionskip=\skip49 +\belowcaptionskip=\skip50 +\bibindent=\dimen141 +) +No auxiliary output files. + +\tabular@text=\toks17 +\tabular@head=\toks18 +\tabular@tail=\toks19 +\@ta=\toks20 +\undefined@token=\toks21 +\sectionwidth=\dimen142 +\sectionskip=\skip51 +\resumewidth=\dimen143 +\@columnwidth=\dimen144 +\c@numberofcolumns=\count270 +) (/usr/share/texmf-dist/tex/latex/psnfss/helvet.sty +Package: helvet 2020/03/25 PSNFSS-v9.3 (WaS) + +(/usr/share/texmf-dist/tex/latex/graphics/keyval.sty +Package: keyval 2022/05/29 v1.15 key=value parser (DPC) +\KV@toks@=\toks22 +)) +(/usr/share/texmf-dist/tex/latex/l3backend/l3backend-pdftex.def +File: l3backend-pdftex.def 2024-05-08 L3 backend support: PDF output (pdfTeX) +\l__color_backend_stack_int=\count271 +\l__pdf_internal_box=\box52 +) + +LaTeX Warning: Unused global option(s): + [10pt]. + +No file resume.aux. +LaTeX Font Info: Checking defaults for OML/cmm/m/it on input line 30. +LaTeX Font Info: ... okay on input line 30. +LaTeX Font Info: Checking defaults for OMS/cmsy/m/n on input line 30. +LaTeX Font Info: ... okay on input line 30. +LaTeX Font Info: Checking defaults for OT1/cmr/m/n on input line 30. +LaTeX Font Info: ... okay on input line 30. +LaTeX Font Info: Checking defaults for T1/cmr/m/n on input line 30. +LaTeX Font Info: ... okay on input line 30. +LaTeX Font Info: Checking defaults for TS1/cmr/m/n on input line 30. +LaTeX Font Info: ... okay on input line 30. +LaTeX Font Info: Checking defaults for OMX/cmex/m/n on input line 30. +LaTeX Font Info: ... okay on input line 30. +LaTeX Font Info: Checking defaults for U/cmr/m/n on input line 30. +LaTeX Font Info: ... okay on input line 30. +LaTeX Font Info: External font `cmex10' loaded for size +(Font) <7> on input line 46. +LaTeX Font Info: External font `cmex10' loaded for size +(Font) <5> on input line 46. + + +[1 + +{/var/lib/texmf/fonts/map/pdftex/updmap/pdftex.map}{/usr/share/texmf-dist/fonts +/enc/dvips/cm-super/cm-super-ts1.enc}] + +[2] + +[3] + *********** +LaTeX2e <2024-11-01> patch level 2 +L3 programming layer <2025-01-18> + *********** + ) +Here is how much of TeX's memory you used: + 605 strings out of 475171 + 10850 string characters out of 5767095 + 404915 words of memory out of 5000000 + 23670 multiletter control sequences out of 15000+600000 + 560438 words of font info for 41 fonts, out of 8000000 for 9000 + 14 hyphenation exceptions out of 8191 + 49i,8n,52p,364b,200s stack positions out of 10000i,1000n,20000p,200000b,200000s + +Output written on resume.pdf (3 pages, 81198 bytes). +PDF statistics: + 40 PDF objects out of 1000 (max. 8388607) + 24 compressed objects within 1 object stream + 0 named destinations out of 1000 (max. 500000) + 1 words of extra memory for PDF output out of 10000 (max. 10000000) + diff --git a/resume.pdf b/resume.pdf index 50ac27b5dafef24b9fe91e0b1b19760237b98b9c..55b825237b2916d325778023f7f0ea1b11c4228b 100644 GIT binary patch delta 20721 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 KP!MgX3H)EzEd{;+ delta 18368 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 .tabular:first-child table tr:not(:first-child) { + display: none; +} + +/* Contact info */ +.center-addresses { + width: 100%; + margin: 15px 0 30px 0; + border-collapse: collapse; +} + +.center-addresses td { + padding: 0 20px; + vertical-align: top; + font-size: 14px; + line-height: 1.8; +} + +.first-address { + text-align: right; + border-right: 1px solid #ddd; + width: 50%; +} + +.second-address { + text-align: left; + width: 50%; +} + +@media (max-width: 600px) { + .center-addresses td { + display: block; + width: 100%; + text-align: center; + padding: 10px 0; + border: none; + } + .first-address { + border-right: none; + border-bottom: 1px solid #ddd; + } +} + +.center-addresses .cmbx-10 { + font-weight: 600; + color: #333; + display: block; + margin-bottom: 3px; +} + +/* Section headers */ +.sectionHead { + margin: 35px 0 15px 0; + padding-bottom: 8px; + border-bottom: 2px solid #333; +} + +.sectionHead .centerline { + font-size: 12px; + font-weight: 600; + letter-spacing: 2px; + color: #333; +} + +/* Section content */ +div.section { + margin-left: 0; +} + +/* Job titles */ +.cmsl-10 { + font-weight: 600; + font-style: normal; + color: #222; +} + +/* Bold text */ +.cmbx-10 { + font-weight: 600; +} + +/* Lists */ +ul.itemize1 { + margin: 8px 0 25px 0; + padding-left: 20px; +} + +li.itemize { + margin-bottom: 5px; + color: #333; +} + +/* Paragraphs */ +p { + margin: 0 0 8px 0; +} + +p.noindent { + margin-bottom: 12px; +} + +/* Remove extra spacing from tables */ +.tabular { + margin: 0; +} + +table.tabular { + margin: 0 auto; +} + +/* Links */ +a { + color: #0066cc; + text-decoration: none; +} + +a:hover { + text-decoration: underline; +} + +/* Line breaks styling */ +br.newline { + display: block; + margin-bottom: 2px; +}