Long-overdue update to résumé.
[~bandali/cv] / bandali-cv.tex
CommitLineData
88457a37
AB
1% bandali-cv.tex --- bandali's curriculum vitae -*-latex-*-
2
3% Copyright (C) 2016-2020 Amin Bandali <bandali@uwaterloo.ca>
4
5% This CV is free software: you can redistribute it and/or modify
6% it under the terms of the GNU General Public License as published by
7% the Free Software Foundation, either version 3 of the License, or
8% (at your option) any later version.
9
10% This CV is distributed in the hope that it will be useful,
11% but WITHOUT ANY WARRANTY; without even the implied warranty of
12% MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13% GNU General Public License for more details.
14
15% You should have received a copy of the GNU General Public License
16% along with this CV. If not, see <https://www.gnu.org/licenses/>.
17
18% With inspirations from Jason Blevins's CV <https://jblevins.org/cv>.
19
20
21\documentclass[letterpaper]{article}
22
23\def\name{Amin Bandali}
24\def\site{bndl.org}
25\def\siteurl{https://\site}
26\def\pubs#1{\siteurl/publications\##1}
27\def\mail{bandali@uwaterloo.ca}
28\def\nday{https://cs.uwaterloo.ca/~nday/}
29
30%% package imports
31\usepackage{geometry} % setting page geometry
32\usepackage{enumitem} % enumerate with [resume] option
33\usepackage{fontspec} % needs LuaTeX
34\usepackage{sectsty} % custom section fonts
35\usepackage{hyperref} % for PDF metadata
36\usepackage{fancyhdr} % fine control of headers/footers
37\usepackage{lastpage} % as the name says :-)
38
39%% PDF metadata
40\hypersetup{
41 pdfstartview={FitH}, % (H for horizontal)
42 pdftitle={\name: Curriculum Vitae},
43 pdfauthor={\name},
44 pdfsubject={Curriculum Vitae},
45 pdfkeywords={formal methods, formal logic, model checking,
46 verification, type systems, interactive theorem provers,
47 functional programming, lean prover, haskell},
48 pdfpagemode=UseNone,
49 pdfcreator={GNU Emacs 28.0.50},
50 pdflang={English},
51 pdfnewwindow=true,
52 colorlinks=true,
53 urlcolor=black
54}
55
56%% page geometry
57\geometry{
58 %% bottom=1.25in,
59 body={6.5in, 9.0in},
60 left=1.0in,
61 top=1.0in
62}
63
64%% footer setup
65\pagestyle{fancy}
66\fancyhf{} % clear existing header/footer
67\renewcommand\headrulewidth{0pt}
68\cfoot{%
69 \textsc{\addfontfeature{Letters=UppercaseSmallCaps,LetterSpace=6.0}%
70 Bandali CV \textemdash{} page \thepage{} of \pageref*{LastPage}}}
71
72%% body text font
73\usepackage[lining, tabular]{ebgaramond}
74\setmonofont[Scale=0.87]{inconsolata}
75\setsansfont[Scale=0.95]{Jost}
76
77%% title font
78\newfontfamily\titleface{Linux Libertine O}
79\newcommand{\titlefont}[1]{{\titleface\large\addfontfeature{LetterSpace=6.0}\MakeUppercase{#1}}}
80
81%% section heading font
82\newfontfamily\sectionface{Linux Libertine O}
83\sectionfont{\sectionface\mdseries\normalsize\uppercase}
84\subsectionfont{\sectionface\mdseries\normalsize\itshape}
85
86%% don't indent paragraphs
87\setlength\parindent{0em}
88
89%% omit itemize bullets, set more compact spacing
90\renewenvironment{itemize}{
91 \begin{list}{}{
92 \setlength{\leftmargin}{1.5em}
93 \setlength{\itemsep}{0.25em}
94 \setlength{\parskip}{0em}
95 \setlength{\parsep}{0.25em}
96 }
97}{
98 \end{list}
99}
100\setlist[enumerate]{itemsep=0.25em}
101
102%% month and year only
103\renewcommand{\today}{\ifcase \month \or January\or February\or March%
104 \or April\or May \or June\or July\or August\or September\or October%
105 \or November\or December\fi%
106\space \number \year}
107
108%% various command definitions
109\newcommand{\tla}{TLA${}^+$}
110
111
112\begin{document}
113
114\titlefont{\name}
115
116\bigskip
117\today
118
119\medskip
120\href{\siteurl}{\addfontfeature{LetterSpace=2.0}\site}\\
121\href{mailto:\mail}{\mail}\\
122
dadec8ef
AB
123\section*{Summary of Qualifications}
124
125%% \begin{enumerate}[label=\raisebox{-0.25ex}{\textbullet}]
126\begin{itemize}
127\item Experience with building software in diverse areas and for
128 various platforms, including GNU/Linux and Windows.
129\item Passionate about applying scientific and engineering methods
130 while designing and building software systems.
131\item Using formal specification techniques to find
132 specification-level bugs early in the design stage rather than
133 implementation.
134\item GNU/Linux system administration on both the client and the
135 server side.
136\item Problem-solving and communication skills, honed through research
137 and teaching roles held in graduate school, as well as holding
138 tutorials discussing complex concepts with fellow students and peers
139 throughout undergraduate studies and high school.
140\item Organizational and teamwork skills, strengthened thanks to
141 community service in form of volunteer activities including
142 organizing the EmacsConf conference and volunteer work for charities
143 such as the Free Software Foundation and St.~Brigid's Summer Camp.
144\end{itemize}
145%% \end{enumerate}
146
88457a37
AB
147\section*{Education}
148
149\begin{itemize}
150 \item Master of Mathematics in Computer Science, University of
151 Waterloo, 2020.
152 % completed July 14, 2020
153 \begin{itemize}
154 \item Thesis: A Comprehensive Study of Declarative Modelling
155 Languages.
156 \item Supervisor: \href{\nday}{Dr. Nancy~A. Day}. \ GPA: 3.7/4.0.
157 \end{itemize}
158 \item Bachelor of Science with Honours in Computer Science, York
159 University, 2017.
160 % completed December 2017
161\end{itemize}
162
163\section*{Research Interests}
164
165\begin{itemize}
166\item Formal Logic, Model Checking, Theorem Proving, Verification
167\end{itemize}
168
169\section*{Publications \& Presentations}
170
171\begin{itemize}
172\item \href{\siteurl/mmath}{\textsf{A Comprehensive Study of
173 Declarative Modelling Languages}}\\ \href{\siteurl}{Amin Bandali},
174 \textit{Master's thesis}, University of Waterloo, 2020.
175\item \href{\pubs{DBLP:conf/re/AbbassiBDS18}}{\textsf{A Comparison
176 of the Declarative Modelling Languages B, Dash, and \tla}}\\ Ali
177 Abbassi, \href{\siteurl}{Amin Bandali}, \href{\nday}{Nancy~A. Day},
178 and Jose Serna. \textit{Proc. MoDRE@RE 2018}.
179\item \textsf{The magic of specifications and type systems} {\small{}
180 (\href{\pubs{bandali-magic-lassonde-2017}}{poster},
181 \href{\pubs{bandali-magic-cucsc-2017}}{slides})}\\ \href{\siteurl}{Amin
182 Bandali}, \href{https://github.com/cipher1024}{Simon Hudon}, and
183 \href{https://www.eecs.yorku.ca/~jonathan/}{Jonathan S. Ostroff}.
184 Presented at the Canadian Undergraduate Computer Science Conference
185 2017, and at the 2017 Lassonde Undergraduate Summer Student Research
186 Conference.
187\end{itemize}
188
189\section*{Work Experience}
190
191\subsection*{Free Software Foundation (FSF)}
192\begin{itemize}
193\item
194 \begin{description}[font=\mdseries]
195 \item[spring 2020] Tech team intern
196
197 Working in a sysadmin role on a variety of tasks including
198 installation of the Sourcehut free software forge on the FSF
199 infrastructure for evaluation for the FSF forge project, as well
200 as a series of enhancements for
201 \href{https://www.gnu.org}{www.gnu.org}.
202 \end{description}
203\end{itemize}
204
205\subsection*{Cheriton School of Computer Science, University of Waterloo}
206\begin{itemize}
207\item TA: Teaching Assistant, marking exams and assignments. IA:
208 Instructional Apprentice, holding tutorials and marking
209\item
210 \begin{description}[font=\mdseries]
211 \item[SE 465 (Software Testing and Quality Assurance)] TA in winter
212 2020.
213 \item[SE 212 (Logic and Computation)] IA in fall 2019, TA in fall
214 2018.
215 \item[SE 463 (Software Requirements Specification and Analysis)] TA
216 in spring 2019 and 2018.
217 \item[CS 136 (Elementary Algorithm Design and Data Abstraction)] TA
218 in winter 2018.
219 \end{description}
220\end{itemize}
221
222\subsection*{Dept. of Electrical Engineering \& Computer Science, York University}
223\begin{itemize}
224\item
225 \begin{description}[font=\mdseries]
226 \item[EECS 1012 (Net-Centric Introduction to Computing)] TA in fall
227 2017.
228 \end{description}
229\end{itemize}
230
231\subsection*{Software Engineering Lab, York University}
232\begin{itemize}
233\item
234 \begin{description}[font=\mdseries]
235 \item[summer 2017] Research Assistant
236
237 Worked on an implementation of
238 \href{https://bertrandmeyer.com/2014/12/07/lampsort/}{\textsf{Lampsort}}
239 in Eiffel. Extended the
240 \href{https://svn.eecs.yorku.ca/repos/sel-open/mathmodels/}{\textsf{mathmodels}}
241 library, implementing a \textsc{rational} class for working with
242 arbitrarily large rational numbers.
243 \item[summer 2016] Research Student
244
245 Worked on \textit{Literate Unit-B}, the verifier for Unit-B, a new
246 formal method focused on formal verification of reactive,
247 concurrent and distributed systems. From the Literate Unit-B
248 codebase (written in Haskell), decoupled the logic module and used
249 it to build \textit{Unit-B Web}, a web interface using Literate
250 Unit-B to do predicate calculus proofs. Unit-B Web, also written
251 in Haskell, supports the \LaTeX{} syntax of the Unit-B logic,
252 renders user input on the page, and calls the sequent prover of
253 the logic module, which uses the Z3 SMT solver to check the
254 validity of user input.
255
256 Separated Literate Unit-B's type checker from its parser in a
257 large refactoring, allowing easier substitution of other type
258 checking algorithms, and in preparation for implementing
259 subtyping.
260 \end{description}
261\end{itemize}
262
263\subsection*{Lotek Wireless Inc.}
264\begin{itemize}
265\item
266 \begin{description}[font=\mdseries]
267 \item[summer 2016] Software Developer
268
269 Designed and developed an Employee Portal web application in C\#
270 and the MVC framework, used by employees for accessing various
271 data catalogs and archives.
272 \item[summer 2015] Software Developer
273
274 Designed and implemented various applications in C\# and C for
275 analyzing and testing a satellite pass prediction algorithm for
276 predicting the pass windows of Argos satellites, for scheduling
277 send times of data collected by the company's wildlife tracking
278 products.
279 \end{description}
280\end{itemize}
281
282\subsection*{Athlete Builder}
283\begin{itemize}
284\item
285 \begin{description}[font=\mdseries]
286 \item[2013--2014] Software Developer
287
288 Developed the Backend of Athlete Builder platform in C\# and MVC.
289
290 Key role in development of the platform core.
291
292 Developed the alpha version of Athlete Builder Android application
293 in Java.
294 \end{description}
295\end{itemize}
296
dadec8ef
AB
297\section*{Skills}
298
299\begin{itemize}
300\item \textit{Programming Languages:} Haskell, Python, C, Emacs Lisp,
301 Guile Scheme, Eiffel, Bash, C\#, Java, JavaScript.
302\item \textit{Tools:} GNU Emacs, Git, Alloy, \tla, ProB, \LaTeX,
303 continuous integration systems.
304\item \textit{Platforms:} GNU/Linux distributions, including Trisquel,
305 GNU Guix, Debian.
306\item \textit{Languages:} Persian (mother tongue), English (fluent), French
307 (beginner).
308\end{itemize}
309
88457a37
AB
310\section*{Community Service}
311
312\subsection*{EmacsConf Conference}
313
314\begin{itemize}
315\item
316 \begin{description}[font=\mdseries]
317 \item[\href{https://emacsconf.org}{2019--present}] Chief organizer
318 and maintainer of conference infrastructure, including the
319 streaming servers.
320 \item[\href{https://emacsconf.org/2015/}{2015}\phantom{--present}]
321 One of the organizers and in charge of setting up and maintaining
322 vital pieces of infrastructure.
323 \end{description}
324\end{itemize}
325
326\subsection*{Computer Science Club (CSC) of the University of Waterloo}
327
328\begin{itemize}
329\item Served as the CSC System Administrator in Winter and Spring
330 2020. Present member of the CSC Systems Committee, overseeing and
331 maintaining a large fleet of GNU/Linux servers for CSC members, as
332 well as running the CSC mirror for free software projects.
333
334 Notable projects include
335 \href{https://mailman.csclub.uwaterloo.ca/pipermail/csc-general/2020-July/000837.html}{launching
336 the CSC web IRC client} as part of an effort in bringing modern
337 user freedom- and privacy-respecting communication tools to club
338 members.
339\end{itemize}
340
341\subsection*{Free/Libre Software Contributions}
342
343\begin{itemize}
344\item Co-maintainer of
345 \href{https://www.gnu.org/software/gnuzilla/gnuzilla.html}{GNUzilla
346 and IceCat}, the GNU version of the Mozilla suite and the Firefox
347 browser respectively.
348\item Maintainer of
349 \href{https://www.gnu.org/software/emacs/erc.html}{ERC}, the
350 powerful, modular, and extensible IRC client distributed with
351 GNU~Emacs.
352\item Committer and regular contributor to
353 \href{https://www.gnu.org/software/emacs/emacs.html}{GNU~Emacs} and
354 \href{https://guix.gnu.org}{GNU~Guix}.
355\item
356 \href{https://www.gnu.org/people/webmeisters.html#bandali}{GNU~webmaster}
357 and
358 \href{https://savannah.gnu.org/maintenance/SavannahHacker/}{GNU~Savannah
359 hacker}.
360\end{itemize}
361
362\subsection*{Volunteer Work}
363
364\begin{itemize}
365\item
366 \begin{description}[font=\mdseries]
367 \item[spring 2013] Application Developer for VONICAL Inc.
368
369 Worked on development of the Employment Accessibility Resource
370 Network (EARN) portal using the Anahita social networking
371 platform, written in PHP and running on GNU/Linux.
372 \end{description}
373\item
374 \begin{description}[font=\mdseries]
375 \item[winter 2013] Mobile \& Web Developer for Hire Works Inc.
376
377 Worked on a variety of web and mobile development projects for
378 Hire Works.
379 \end{description}
380\item
381 \begin{description}[font=\mdseries]
dadec8ef 382 \item[summer 2012] Web Developer for St.~Brigid's Summer Camp
88457a37
AB
383
384 Redesigned and revamped the codebase for the photo gallery section
385 of the camp's website in PHP and JavaScript.
386 \end{description}
387\end{itemize}
388
389%% TODO? \section*{Recent Projects}
390
391%% \section*{Achievements}
392
393%% \begin{itemize}
394%% \item Was among the top 1\% incoming students in Carleton University's
395%% undergraduate Computer Science program, and a top student in the
396%% faculty of science.
397%% \item Highest standing in Computer Science in grade 11 (92\%) and
398%% grade 12 (100\%) at High school at Glebe~Collegiate~Institute.
399%% \item Ranked in the top 25\% in the Canadian Senior Mathematics
400%% Contest held by University of Waterloo, in 2013 (grade 11).
401%% \item Graduated from high school with an average of 95\%; and
402%% designated as an Ontario Scholar.
403%% \end{itemize}
404
88457a37 405\end{document}