Add Résumé, tweak fontspec configuration for Jost*
authorAmin Bandali <bandali@gnu.org>
Tue, 11 Aug 2020 00:54:13 +0000 (20:54 -0400)
committerAmin Bandali <bandali@gnu.org>
Tue, 11 Aug 2020 00:54:13 +0000 (20:54 -0400)
bandali-resume.tex [new file with mode: 0644]
fontspec.cfg

diff --git a/bandali-resume.tex b/bandali-resume.tex
new file mode 100644 (file)
index 0000000..41a3b2a
--- /dev/null
@@ -0,0 +1,376 @@
+% bandali-resume.tex --- bandali's résumé -*-latex-*-
+
+% Copyright (C) 2016-2020 Amin Bandali <bandali@uwaterloo.ca>
+
+% 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 <https://www.gnu.org/licenses/>.
+
+
+\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}
index 7e601c2..eb4d06d 100644 (file)
   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]{
   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
 }