revamp and update the cv
[~bandali/cv] / bandali-cv.tex
diff --git a/bandali-cv.tex b/bandali-cv.tex
new file mode 100644 (file)
index 0000000..5096e87
--- /dev/null
@@ -0,0 +1,381 @@
+% bandali-cv.tex --- bandali's curriculum vitae -*-latex-*-
+
+% Copyright (C) 2016-2020 Amin Bandali <bandali@uwaterloo.ca>
+
+% This CV 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 CV 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 CV.  If not, see <https://www.gnu.org/licenses/>.
+
+% With inspirations from Jason Blevins's CV <https://jblevins.org/cv>.
+
+
+\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{
+  pdfstartview={FitH}, % (H for horizontal)
+  pdftitle={\name: Curriculum Vitae},
+  pdfauthor={\name},
+  pdfsubject={Curriculum Vitae},
+  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{
+  %% bottom=1.25in,
+  body={6.5in, 9.0in},
+  left=1.0in,
+  top=1.0in
+}
+
+%% footer setup
+\pagestyle{fancy}
+\fancyhf{}                      % clear existing header/footer
+\renewcommand\headrulewidth{0pt}
+\cfoot{%
+  \textsc{\addfontfeature{Letters=UppercaseSmallCaps,LetterSpace=6.0}%
+    Bandali CV \textemdash{} page \thepage{} of \pageref*{LastPage}}}
+
+%% body text font
+\usepackage[lining, tabular]{ebgaramond}
+\setmonofont[Scale=0.87]{inconsolata}
+\setsansfont[Scale=0.95]{Jost}
+
+%% title font
+\newfontfamily\titleface{Linux Libertine O}
+\newcommand{\titlefont}[1]{{\titleface\large\addfontfeature{LetterSpace=6.0}\MakeUppercase{#1}}}
+
+%% section heading font
+\newfontfamily\sectionface{Linux Libertine O}
+\sectionfont{\sectionface\mdseries\normalsize\uppercase}
+\subsectionfont{\sectionface\mdseries\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*{Education}
+
+\begin{itemize}
+  \item Master of Mathematics in Computer Science, University of
+    Waterloo, 2020.
+    % completed July 14, 2020
+    \begin{itemize}
+    \item Thesis: A Comprehensive Study of Declarative Modelling
+      Languages.
+    \item Supervisor: \href{\nday}{Dr. Nancy~A. Day}.  \ GPA: 3.7/4.0.
+    \end{itemize}
+  \item Bachelor of Science with Honours in Computer Science, York
+    University, 2017.
+    % completed December 2017
+\end{itemize}
+
+\section*{Research Interests}
+
+\begin{itemize}
+\item Formal Logic, Model Checking, Theorem Proving, Verification
+\end{itemize}
+
+\section*{Publications \& Presentations}
+
+\begin{itemize}
+\item \href{\siteurl/mmath}{\textsf{A Comprehensive Study of
+    Declarative Modelling Languages}}\\ \href{\siteurl}{Amin Bandali},
+  \textit{Master's thesis}, University of Waterloo, 2020.
+\item \href{\pubs{DBLP:conf/re/AbbassiBDS18}}{\textsf{A Comparison
+    of the Declarative Modelling Languages B, Dash, and \tla}}\\ Ali
+  Abbassi, \href{\siteurl}{Amin Bandali}, \href{\nday}{Nancy~A. Day},
+  and Jose Serna.  \textit{Proc. MoDRE@RE 2018}.
+\item \textsf{The magic of specifications and type systems} {\small{}
+  (\href{\pubs{bandali-magic-lassonde-2017}}{poster},
+  \href{\pubs{bandali-magic-cucsc-2017}}{slides})}\\ \href{\siteurl}{Amin
+  Bandali}, \href{https://github.com/cipher1024}{Simon Hudon}, and
+  \href{https://www.eecs.yorku.ca/~jonathan/}{Jonathan S. Ostroff}.
+  Presented at the Canadian Undergraduate Computer Science Conference
+  2017, and at the 2017 Lassonde Undergraduate Summer Student Research
+  Conference.
+\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 TA: Teaching Assistant, marking exams and assignments.  IA:
+  Instructional Apprentice, holding tutorials and marking
+\item
+  \begin{description}[font=\mdseries]
+  \item[SE 465 (Software Testing and Quality Assurance)] TA in winter
+    2020.
+  \item[SE 212 (Logic and Computation)] IA in fall 2019, TA in fall
+    2018.
+  \item[SE 463 (Software Requirements Specification and Analysis)] TA
+    in spring 2019 and 2018.
+  \item[CS 136 (Elementary Algorithm Design and Data Abstraction)] 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*{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*{Miscellaneous}
+
+\begin{itemize}
+\item \textit{Programming Languages:} Haskell, Python, C, Emacs Lisp,
+  Guile Scheme, Eiffel, Rust, 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}
+
+\end{document}