From f73e4e5eb42143cd6d69fc76e7d04a621d879a24 Mon Sep 17 00:00:00 2001 From: Amin Bandali Date: Mon, 10 Aug 2020 20:54:13 -0400 Subject: [PATCH 1/1] =?utf8?q?Add=20R=C3=A9sum=C3=A9,=20tweak=20fontspec?= =?utf8?q?=20configuration=20for=20Jost*?= MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit --- bandali-resume.tex | 376 +++++++++++++++++++++++++++++++++++++++++++++ fontspec.cfg | 31 ++-- 2 files changed, 397 insertions(+), 10 deletions(-) create mode 100644 bandali-resume.tex diff --git a/bandali-resume.tex b/bandali-resume.tex new file mode 100644 index 0000000..41a3b2a --- /dev/null +++ b/bandali-resume.tex @@ -0,0 +1,376 @@ +% bandali-resume.tex --- bandali's résumé -*-latex-*- + +% Copyright (C) 2016-2020 Amin Bandali + +% This résumé is free software: you can redistribute it and/or modify +% it under the terms of the GNU General Public License as published by +% the Free Software Foundation, either version 3 of the License, or +% (at your option) any later version. + +% This résumé is distributed in the hope that it will be useful, +% but WITHOUT ANY WARRANTY; without even the implied warranty of +% MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +% GNU General Public License for more details. + +% You should have received a copy of the GNU General Public License +% along with this résumé. If not, see . + + +\documentclass[letterpaper]{article} + +\def\name{Amin Bandali} +\def\site{bndl.org} +\def\siteurl{https://\site} +\def\pubs#1{\siteurl/publications\##1} +\def\mail{bandali@uwaterloo.ca} +\def\nday{https://cs.uwaterloo.ca/~nday/} + +%% package imports +\usepackage{geometry} % setting page geometry +\usepackage{enumitem} % enumerate with [resume] option +\usepackage{fontspec} % needs LuaTeX +\usepackage{sectsty} % custom section fonts +\usepackage{hyperref} % for PDF metadata +\usepackage{fancyhdr} % fine control of headers/footers +\usepackage{lastpage} % as the name says :-) + +%% PDF metadata +\hypersetup{ + unicode, % for "résumé" + pdfstartview={FitH}, % (H for horizontal) + pdftitle={\name: Résumé}, + pdfauthor={\name}, + pdfsubject={Résumé}, + pdfkeywords={formal methods, formal logic, model checking, + verification, type systems, interactive theorem provers, + functional programming, lean prover, haskell}, + pdfpagemode=UseNone, + pdfcreator={GNU Emacs 28.0.50}, + pdflang={English}, + pdfnewwindow=true, + colorlinks=true, + urlcolor=black +} + +%% page geometry +\geometry{ + left=0.5in, + top=0.5in, + right=0.5in, + bottom=0.75in +} + +%% footer setup +\pagestyle{fancy} +\fancyhf{} % clear existing header/footer +\renewcommand\headrulewidth{0pt} +\cfoot{% + \textsc{\addfontfeature{Letters=UppercaseSmallCaps,LetterSpace=6.0}% + Bandali Résumé \textemdash{} page \thepage{} of \pageref*{LastPage}}} + +%% body text font +%% \usepackage[lining, tabular]{ebgaramond} +\renewcommand{\familydefault}{\sfdefault} +\setmonofont[Scale=0.87]{inconsolata} +\setsansfont[Scale=0.95]{Jost} + +%% title font +\newcommand{\titlefont}[1]{{\bfseries\Large#1}} + +%% section heading font +\sectionfont{\bfseries\normalsize\uppercase} +\subsectionfont{\bfseries\normalsize\itshape} + +%% don't indent paragraphs +\setlength\parindent{0em} + +%% omit itemize bullets, set more compact spacing +\renewenvironment{itemize}{ + \begin{list}{}{ + \setlength{\leftmargin}{1.5em} + \setlength{\itemsep}{0.25em} + \setlength{\parskip}{0em} + \setlength{\parsep}{0.25em} + } +}{ + \end{list} +} +\setlist[enumerate]{itemsep=0.25em} + +%% month and year only +\renewcommand{\today}{\ifcase \month \or January\or February\or March% + \or April\or May \or June\or July\or August\or September\or October% + \or November\or December\fi% +\space \number \year} + +%% various command definitions +\newcommand{\tla}{TLA${}^+$} + + +\begin{document} + +\titlefont{\name} + +\bigskip +\today + +\medskip +\href{\siteurl}{\addfontfeature{LetterSpace=2.0}\site}\\ +\href{mailto:\mail}{\mail}\\ + +\section*{Summary of Qualifications} + +\begin{enumerate}[label=\raisebox{-0.9ex}{\LARGE\textbullet}] +\item Experience with building software in diverse areas and for + various platforms, including GNU/Linux and Windows. +\item Passionate about applying scientific and engineering methods + while designing and building software systems. +\item Using formal specification techniques to find + specification-level bugs early in the design stage rather than + implementation. +\item GNU/Linux system administration on both the client and the + server side. +\item Problem-solving and communication skills, honed through research + and teaching roles held in graduate school, as well as holding + tutorials discussing complex concepts with fellow students and peers + throughout undergraduate studies and high school. +\item Organizational and teamwork skills, strengthened thanks to + community service in form of volunteer activities including + organizing the EmacsConf conference and volunteer work for charities + such as the Free Software Foundation and St.~Brigid's Summer Camp. +\end{enumerate} + +\section*{Education} + +\begin{itemize} + \item Master of Mathematics in Computer Science, University of + Waterloo, 2020. + % completed July 14, 2020 + \item Bachelor of Science with Honours in Computer Science, York + University, 2017. + % completed December 2017 +\end{itemize} + +\section*{Work Experience} + +\subsection*{Free Software Foundation (FSF)} +\begin{itemize} +\item + \begin{description}[font=\mdseries] + \item[spring 2020] Tech team intern + + Working in a sysadmin role on a variety of tasks including + installation of the Sourcehut free software forge on the FSF + infrastructure for evaluation for the FSF forge project, as well + as a series of enhancements for + \href{https://www.gnu.org}{www.gnu.org}. + \end{description} +\end{itemize} + +\subsection*{Cheriton School of Computer Science, University of Waterloo} +\begin{itemize} +\item \textit{TA}: Teaching Assistant, marking exams and assignments. + \textit{IA}: Instructional Apprentice, holding tutorials and marking +\item + \begin{description}[font=\mdseries] + \item[SE 465 (Software Testing and Quality Assurance)] \textit{TA} + in winter 2020. + \item[SE 212 (Logic and Computation)] \textit{IA} in fall 2019, + \textit{TA} in fall 2018. + \item[SE 463 (Software Requirements Specification and Analysis)] + \textit{TA} in spring 2019 and 2018. + \item[CS 136 (Elementary Algorithm Design and Data Abstraction)] + \textit{TA} in winter 2018. + \end{description} +\end{itemize} + +\subsection*{Dept. of Electrical Engineering \& Computer Science, York University} +\begin{itemize} +\item + \begin{description}[font=\mdseries] + \item[EECS 1012 (Net-Centric Introduction to Computing)] TA in fall + 2017. + \end{description} +\end{itemize} + +\subsection*{Software Engineering Lab, York University} +\begin{itemize} +\item + \begin{description}[font=\mdseries] + \item[summer 2017] Research Assistant + + Worked on an implementation of + \href{https://bertrandmeyer.com/2014/12/07/lampsort/}{\textsf{Lampsort}} + in Eiffel. Extended the + \href{https://svn.eecs.yorku.ca/repos/sel-open/mathmodels/}{\textsf{mathmodels}} + library, implementing a \textsc{rational} class for working with + arbitrarily large rational numbers. + \item[summer 2016] Research Student + + Worked on \textit{Literate Unit-B}, the verifier for Unit-B, a new + formal method focused on formal verification of reactive, + concurrent and distributed systems. From the Literate Unit-B + codebase (written in Haskell), decoupled the logic module and used + it to build \textit{Unit-B Web}, a web interface using Literate + Unit-B to do predicate calculus proofs. Unit-B Web, also written + in Haskell, supports the \LaTeX{} syntax of the Unit-B logic, + renders user input on the page, and calls the sequent prover of + the logic module, which uses the Z3 SMT solver to check the + validity of user input. + + Separated Literate Unit-B's type checker from its parser in a + large refactoring, allowing easier substitution of other type + checking algorithms, and in preparation for implementing + subtyping. + \end{description} +\end{itemize} + +\subsection*{Lotek Wireless Inc.} +\begin{itemize} +\item + \begin{description}[font=\mdseries] + \item[summer 2016] Software Developer + + Designed and developed an Employee Portal web application in C\# + and the MVC framework, used by employees for accessing various + data catalogs and archives. + \item[summer 2015] Software Developer + + Designed and implemented various applications in C\# and C for + analyzing and testing a satellite pass prediction algorithm for + predicting the pass windows of Argos satellites, for scheduling + send times of data collected by the company's wildlife tracking + products. + \end{description} +\end{itemize} + +\subsection*{Athlete Builder} +\begin{itemize} +\item + \begin{description}[font=\mdseries] + \item[2013--2014] Software Developer + + Developed the Backend of Athlete Builder platform in C\# and MVC. + + Key role in development of the platform core. + + Developed the alpha version of Athlete Builder Android application + in Java. + \end{description} +\end{itemize} + +\section*{Skills} + +\begin{itemize} +\item \textit{Programming Languages:} Haskell, Python, C, Emacs Lisp, + Guile Scheme, Eiffel, Bash, C\#, Java, JavaScript. +\item \textit{Tools:} GNU Emacs, Git, Alloy, \tla, ProB, \LaTeX, + continuous integration systems. +\item \textit{Platforms:} GNU/Linux distributions, including Trisquel, + GNU Guix, Debian. +\item \textit{Languages:} Persian (mother tongue), English (fluent), French + (beginner). +\end{itemize} + +\section*{Community Service} + +\subsection*{EmacsConf Conference} + +\begin{itemize} +\item + \begin{description}[font=\mdseries] + \item[\href{https://emacsconf.org}{2019--present}] Chief organizer + and maintainer of conference infrastructure, including the + streaming servers. + \item[\href{https://emacsconf.org/2015/}{2015}\phantom{--present}] + One of the organizers and in charge of setting up and maintaining + vital pieces of infrastructure. + \end{description} +\end{itemize} + +\subsection*{Computer Science Club (CSC) of the University of Waterloo} + +\begin{itemize} +\item Served as the CSC System Administrator in Winter and Spring + 2020. Present member of the CSC Systems Committee, overseeing and + maintaining a large fleet of GNU/Linux servers for CSC members, as + well as running the CSC mirror for free software projects. + + Notable projects include + \href{https://mailman.csclub.uwaterloo.ca/pipermail/csc-general/2020-July/000837.html}{launching + the CSC web IRC client} as part of an effort in bringing modern + user freedom- and privacy-respecting communication tools to club + members. +\end{itemize} + +\subsection*{Free/Libre Software Contributions} + +\begin{itemize} +\item Co-maintainer of + \href{https://www.gnu.org/software/gnuzilla/gnuzilla.html}{GNUzilla + and IceCat}, the GNU version of the Mozilla suite and the Firefox + browser respectively. +\item Maintainer of + \href{https://www.gnu.org/software/emacs/erc.html}{ERC}, the + powerful, modular, and extensible IRC client distributed with + GNU~Emacs. +\item Committer and regular contributor to + \href{https://www.gnu.org/software/emacs/emacs.html}{GNU~Emacs} and + \href{https://guix.gnu.org}{GNU~Guix}. +\item + \href{https://www.gnu.org/people/webmeisters.html#bandali}{GNU~webmaster} + and + \href{https://savannah.gnu.org/maintenance/SavannahHacker/}{GNU~Savannah + hacker}. +\end{itemize} + +\subsection*{Volunteer Work} + +\begin{itemize} +\item + \begin{description}[font=\mdseries] + \item[spring 2013] Application Developer for VONICAL Inc. + + Worked on development of the Employment Accessibility Resource + Network (EARN) portal using the Anahita social networking + platform, written in PHP and running on GNU/Linux. + \end{description} +\item + \begin{description}[font=\mdseries] + \item[winter 2013] Mobile \& Web Developer for Hire Works Inc. + + Worked on a variety of web and mobile development projects for + Hire Works. + \end{description} +\item + \begin{description}[font=\mdseries] + \item[summer 2012] Web Developer for St.~Brigid's Summer Camp + + Redesigned and revamped the codebase for the photo gallery section + of the camp's website in PHP and JavaScript. + \end{description} +\end{itemize} + +%% TODO? \section*{Recent Projects} + +%% \section*{Achievements} + +%% \begin{itemize} +%% \item Was among the top 1\% incoming students in Carleton University's +%% undergraduate Computer Science program, and a top student in the +%% faculty of science. +%% \item Highest standing in Computer Science in grade 11 (92\%) and +%% grade 12 (100\%) at High school at Glebe~Collegiate~Institute. +%% \item Ranked in the top 25\% in the Canadian Senior Mathematics +%% Contest held by University of Waterloo, in 2013 (grade 11). +%% \item Graduated from high school with an average of 95\%; and +%% designated as an Ontario Scholar. +%% \end{itemize} + +%% \section*{Research Interests} + +%% \begin{itemize} +%% \item Formal Logic, Model Checking, Theorem Proving, Verification +%% \end{itemize} + +\end{document} diff --git a/fontspec.cfg b/fontspec.cfg index 7e601c2..eb4d06d 100644 --- a/fontspec.cfg +++ b/fontspec.cfg @@ -53,36 +53,36 @@ Extension = .otf, Path = font/jost/, UprightFont = Jost-400-Book, - BoldFont = Jost-500-Medium, + BoldFont = Jost-600-Semi, ItalicFont = Jost-400-BookItalic, - BoldItalicFont = Jost-500-MediumItalic + BoldItalicFont = Jost-600-SemiItalic } \defaultfontfeatures[Jost]{ % same as Jost Book Extension = .otf, Path = font/jost/, UprightFont = Jost-400-Book, - BoldFont = Jost-500-Medium, + BoldFont = Jost-600-Semi, ItalicFont = Jost-400-BookItalic, - BoldItalicFont = Jost-500-MediumItalic + BoldItalicFont = Jost-600-SemiItalic } \defaultfontfeatures[Jost Regular]{ % same as Jost Book Extension = .otf, Path = font/jost/, UprightFont = Jost-400-Book, - BoldFont = Jost-500-Medium, + BoldFont = Jost-600-Semi, ItalicFont = Jost-400-BookItalic, - BoldItalicFont = Jost-500-MediumItalic + BoldItalicFont = Jost-600-SemiItalic } \defaultfontfeatures[Jost Medium]{ Extension = .otf, Path = font/jost/, UprightFont = Jost-500-Medium, - BoldFont = Jost-600-Semi, + BoldFont = Jost-700-Bold, ItalicFont = Jost-500-MediumItalic, - BoldItalicFont = Jost-600-SemiItalic + BoldItalicFont = Jost-700-BoldItalic } \defaultfontfeatures[Jost Semi]{ @@ -107,12 +107,23 @@ Extension = .otf, Path = font/jost/, UprightFont = Jost-800-Hevy, - ItalicFont = Jost-800-HevyItalic + BoldFont = Jost-900-Black, + ItalicFont = Jost-800-HevyItalic, + BoldItalicFont = Jost-900-BlackItalic } \defaultfontfeatures[Jost Heavy]{ % same as Jost Hevy Extension = .otf, Path = font/jost/, UprightFont = Jost-800-Hevy, - ItalicFont = Jost-800-HevyItalic + BoldFont = Jost-900-Black, + ItalicFont = Jost-800-HevyItalic, + BoldItalicFont = Jost-900-BlackItalic +} + +\defaultfontfeatures[Jost Black]{ + Extension = .otf, + Path = font/jost/, + UprightFont = Jost-900-Black, + ItalicFont = Jost-900-BlackItalic } -- 2.20.1