update site url
[~bandali/cv] / cv.tex
CommitLineData
d99d2f71 1%% cv.tex
8b946863 2%% Copyright 2016-2019 Amin Bandali <mab@gnu.org>
8a25c428 3%
d99d2f71
AB
4% This work may be distributed and/or modified under the
5% conditions of the LaTeX Project Public License, either version 1.3
6% of this license or (at your option) any later version.
7% The latest version of this license is in
8% http://www.latex-project.org/lppl.txt
9% and version 1.3 or later is part of all distributions of LaTeX
10% version 2005/12/01 or later.
8a25c428
AB
11%
12% Based on Jason R. Blevins's Curriculum Vitae template,
13% Copyright (C) 2004-2016 Jason R. Blevins <jrblevin@sdf.org>
14% http://jblevins.org/
8a25c428
AB
15
16\documentclass[12pt,letterpaper]{article}
17
18\usepackage{hyperref}
19\usepackage{geometry}
20\usepackage{enumitem}
e661759d
AB
21\usepackage{fancyhdr}
22\usepackage{lastpage}
23% To enable correct spacing
24\usepackage{xspace}
25\pagestyle{fancy}
8a25c428
AB
26
27% Fonts
28\usepackage{graphicx}
aa72fd51
AB
29\usepackage[cmintegrals,cmbraces]{newtxmath}
30\usepackage{ebgaramond-maths}
31\usepackage[sf]{libertine}
32\usepackage[scale=0.87]{inconsolata}
33\usepackage[T1]{fontenc}
34\newcommand{\amper}{{\selectfont\itshape\&}}
8a25c428 35
beed9796 36\newcommand{\tla}{TLA${}^+$}
8a25c428
AB
37
38\def\name{Amin Bandali}
4977a878
AB
39\def\site{bndl.org}
40\def\siteurl{https://\site}
8a25c428
AB
41
42% The following metadata will show up in the PDF properties
43\hypersetup{
44 colorlinks = true,
45 urlcolor = black,
46 pdfauthor = {\name},
b3847ce3
AB
47 pdfkeywords = {Formal Methods, Formal Logic, Model Checking,
48 Verification, Type Systems, Proof Systems, Interactive Provers,
beed9796 49 Programming Languages, Functional Programming, Haskell, Rust},
8a25c428
AB
50 pdftitle = {\name: Curriculum Vitae},
51 pdfsubject = {Curriculum Vitae},
52 pdfpagemode = UseNone
53}
54
55\geometry{
56 body={6.5in, 9.0in},
57 left=1.0in,
58 top=1.0in
59}
60
e661759d
AB
61\pagestyle{fancy}
62\fancyhf{}% to clear existing header/footer
63\renewcommand\headrulewidth{0pt}
aa72fd51
AB
64\cfoot{\vspace*{-.25em}\textsc{bandali cv --- page
65 \thepage \xspace of \pageref*{LastPage}}}
8a25c428
AB
66
67% Custom section fonts
68\usepackage{sectsty}
69\sectionfont{\rmfamily\mdseries\Large}
70\subsectionfont{\rmfamily\mdseries\itshape\large}
71
72% Other possible font commands include:
73% \ttfamily for teletype,
74% \sffamily for sans serif,
75% \bfseries for bold,
76% \scshape for small caps,
77% \normalsize, \large, \Large, \LARGE sizes.
78
79% Don't indent paragraphs.
80\setlength\parindent{0em}
81
82% Make lists without bullets and compact spacing
83\renewenvironment{itemize}{
84 \begin{list}{}{
85 \setlength{\leftmargin}{1.5em}
86 \setlength{\itemsep}{0.25em}
87 \setlength{\parskip}{0pt}
88 \setlength{\parsep}{0.25em}
89 }
90}{
91 \end{list}
92}
93\setlist[enumerate]{itemsep=0.25em}
94
95\begin{document}
96
b76edb03 97\vspace*{-3em}
e661759d 98
8a25c428
AB
99% Place name at left
100{\huge \name}
101
102% Alternatively, print name centered and bold:
103%\centerline{\huge \bf \name}
104
e661759d 105\medskip
8a25c428
AB
106
107\begin{minipage}[t]{0.495\textwidth}
4977a878 108 site: \href{\siteurl}{\site} \\
2f9abbf3 109 email: \href{mailto:bandali@uwaterloo.ca}{bandali@uwaterloo.ca} \\
beed9796 110 phone: available upon request
8a25c428
AB
111\end{minipage}
112
e661759d
AB
113\vspace*{1em}
114
8a25c428
AB
115\section*{Education}
116
117\begin{itemize}
9bbaaec3 118 \setlength\itemsep{.75em}
beed9796
AB
119
120\item {\large Master of Mathematics (Computer Science)}\, |\, {\small 2018--present}
121
122 \textit{University of Waterloo}, Canada
123
124 \begin{itemize}
125 \item Supervised by Dr. Nancy Day | GPA: 3.7/4.0 | Expected
2f9abbf3 126 completion: Winter 2020
beed9796
AB
127 \item Research focusing on formal logic, model checking, and verification.
128 \end{itemize}
129
130\item {\large B.Sc. Honours Computer Science}\, |\, {\small 2013--2017}
8a25c428 131
9bbaaec3 132 \textit{York University}, Toronto, Canada
8a25c428
AB
133
134 \begin{itemize}
beed9796 135 \item GPA: 7.84/9.0
c543f989 136 \item Relevant courses: System Specification \amper\
2acab84b
AB
137 Refinement, Software Requirements Eng., Software Design, Operating
138 Systems, Computational Complexity, Design \amper\ Analysis of Algorithms.
8a25c428 139 \item Finished first year (2013-14) at \textit{Carleton University} with a GPA
e661759d 140 of 11.0/12.0, then transferred to \textit{York University} in Fall 2014.
8a25c428 141 \end{itemize}
9bbaaec3 142
8a25c428
AB
143\end{itemize}
144
beed9796 145\section*{Publications}
b76edb03
AB
146
147\begin{itemize}
aa72fd51 148\item {\large MoDRE 2018}
beed9796
AB
149
150 \begin{itemize}
aa72fd51
AB
151 \item \textsf{A Comparison of the Declarative Modelling Languages B,
152 Dash, and \tla} \textsf{\footnotesize
4977a878
AB
153 (\href{\siteurl/papers/modre2018-declarative.pdf}{pdf},
154 \href{\siteurl/papers/modre2018-declarative.bib}{bib})}
beed9796 155
a3451096 156 Ali Abbassi, Amin Bandali, Nancy A. Day, and Jose Serna\\
b3847ce3
AB
157 \textit{2018 IEEE 8th International Model-Driven Requirements
158 Engineering Workshop (MoDRE)}
beed9796
AB
159 \end{itemize}
160
b76edb03
AB
161\end{itemize}
162
df70fc95 163\section*{Work \amper\ Research Experience}
8a25c428
AB
164
165\begin{itemize}
beed9796
AB
166
167\item {\large Cheriton School of Computer Science, } University of Waterloo\, |\, {\small 2018--present}
168
2f9abbf3 169 \textit{Instructional Apprentice (IA), Teaching Assistant (TA)}
beed9796
AB
170
171 \begin{itemize}
2f9abbf3
AB
172 \item \textsf{\small SE 212} (Logic and Computation): IA in Fall
173 2019, TA in Fall 2018
8b946863 174 \item \textsf{\small SE 463} (Software Requirements Specification
2f9abbf3 175 and Analysis): TA in Summer 2019 and 2018
8b946863 176 \item \textsf{\small CS 136} (Elementary Algorithm Design and Data
2f9abbf3 177 Abstraction): TA in Winter 2018
beed9796
AB
178 \end{itemize}
179
df70fc95
AB
180\item {\large EECS Department, } York University\, |\, {\small fall 2017}
181
182 \textit{Teaching Assistant}
183
184 \begin{itemize}
beed9796
AB
185 \item I was a TA for \textsf{\small EECS 1012}, Net-Centric
186 Introduction to Computing, taught by Dr. Brown.
df70fc95
AB
187 \end{itemize}
188
aa72fd51
AB
189 \pagebreak
190
2acab84b
AB
191\item {\large Software Engineering Lab, } York University\, |\, {\small summer
192 2017}
193
194 \textit{Research Assistant}
195
196 \begin{itemize}
df70fc95
AB
197 \item I worked on an implementation of
198 \href{https://bertrandmeyer.com/2014/12/07/lampsort/}{\textit{Lampsort}} in
199 Eiffel. I also extended the
200 \href{https://svn.eecs.yorku.ca/repos/sel-open/mathmodels/}{\texttt{mathmodels}}
aa72fd51 201 library, implementing a \textsc{rational} class for working with arbitrarily
df70fc95 202 large rational numbers.
2acab84b
AB
203 \end{itemize}
204
6da83bf5
AB
205\item {\large Software Engineering Lab, } York University\, |\, {\small summer
206 2016}
8a25c428
AB
207
208 \textit{Research Student}
209
210 \begin{itemize}
10664de5
AB
211 \item As an undergraduate research student, I worked on \textit{Literate
212 Unit-B}, the verifier for Unit-B, a new formal method focused on formal
213 verification of reactive, concurrent and distributed systems.
8a25c428
AB
214
215 From the Literate Unit-B codebase (written in Haskell), I decoupled the
c543f989 216 logic module and used it to build \textit{Unit-B Web}, a web interface using
aa72fd51 217 Literate Unit-B to do predicate calculus proofs. Unit-B Web, also
8a25c428 218 written in Haskell, supports the \LaTeX\ syntax of the Unit-B logic, renders
10664de5 219 user input on the page, and calls the sequent prover of the logic module,
e661759d 220 which uses the \textsc{z3 smt} solver to check the validity of user input.
8a25c428 221
10664de5
AB
222 \item Further, I separated Literate Unit-B's type checker from its parser,
223 allowing easier substitution of other type checking algorithms and in
224 preparation for implementing subtyping.
8a25c428 225 \end{itemize}
2acab84b 226\end{itemize}
8a25c428 227
a129a2a2 228\section*{Conference Presentations}
b76edb03
AB
229
230\begin{itemize}
aa72fd51 231\item {\large CUCSC 2017}
b76edb03
AB
232
233 \begin{itemize}
aa72fd51 234 \item \textsf{The Magic of Specifications and Type Systems}
4977a878 235 (\href{\siteurl/talks/cucsc-2017-slides.pdf}{slides}),
aa72fd51
AB
236 at Canadian Undergraduate Computer Science Conference, University
237 of Toronto, Canada, Jun 15--17 2017.
b76edb03
AB
238 \end{itemize}
239
aa72fd51 240\item {\large Lassonde USSR Conference 2017}
a129a2a2
AB
241
242 \begin{itemize}
aa72fd51 243 \item \textsf{The Magic of Specifications and Type Systems}
4977a878 244 (\href{\siteurl/talks/eecs4080-poster.pdf}{poster}),
aa72fd51
AB
245 at Lassonde Undergraduate Summer Student Research Conference, York
246 University, Toronto, Canada, August 15, 2017.
a129a2a2
AB
247 \end{itemize}
248
b76edb03
AB
249\end{itemize}
250
8a25c428
AB
251\section*{Professional Experience}
252\begin{itemize}
beed9796
AB
253\item {\large Lotek Wireless Inc., } Newmarket, Canada\, |\, {\small
254 summer 2015 \amper\ 2016}
8a25c428
AB
255
256 \textit{Software Developer}
257
258 \begin{itemize}
259 \item Designed and implemented various applications in C\# and C to test and
260 analyze a satellite pass prediction algorithm for predicting the pass
261 windows of Argos satellites, for scheduling send times of data collected by
262 company's wildlife tracking products.
263
264 \item Designed and developed an Employee Portal web application in C\# and the
265 MVC framework, used by employees for accessing various data catalogs and
266 archives.
267 \end{itemize}
268 \vspace{.25em}
269
beed9796
AB
270\pagebreak % TODO: remove if necessary
271
8a25c428
AB
272\item {\large Athlete Builder, } Ottawa, Canada\, |\, {\small 2013--2014}
273
274 \textit{Software Developer}
275
276 \begin{itemize}
277 \item Developed the Backend of Athlete Builder platform in C\# and MVC.
278 \item Was a key role in development of the platform core.
279 \item Developed the alpha version of Athlete Builder Android app in Java.
280 \end{itemize}
281\end{itemize}
282
283\section*{Volunteer Activities}
284
285\begin{itemize}
286
aa72fd51 287\item {\large EmacsConf 2019, } \href{https://emacsconf.org/2019}{\texttt{emacsconf.org/2019}}\, |\,
2f9abbf3
AB
288 {\small fall 2019}
289
290 \textit{Organizer}
291
292 \begin{itemize}
293 \item I was the chief organizer for EmacsConf 2019, and in charge of
294 maintaining and overseeing the EmacsConf infrastructure, including
295 our streaming servers.
296 \end{itemize}
297 \vspace{.25em}
298
299\item {\large Computer Science Club, } University of Waterloo,
300 Canada\, |\, {\small summer 2019--present}
301
302 \textit{Systems Committee}
303
304 \begin{itemize}
aa72fd51
AB
305 \item I'm a member of the CSC syscom at the University of Waterloo,
306 operating and maintaining the club's fleet of GNU/Linux servers.
2f9abbf3
AB
307 \end{itemize}
308 \vspace{.25em}
309
aa72fd51 310\item {\large EmacsConf 2015, } \href{https://emacsconf.org/2015}{\texttt{emacsconf.org/2015}}\, |\,
8a25c428
AB
311 {\small summer 2015}
312
313 \textit{Organizer}
314
315 \begin{itemize}
2f9abbf3
AB
316 \item I was one of the organizers and in charge of setting up and
317 maintaining several vital pieces of the EmacsConf infrastructure.
8a25c428
AB
318 \end{itemize}
319 \vspace{.25em}
320
321\item {\large VONICAL Inc., } Ottawa, Canada\, |\, {\small spring 2013}
322
323 \textit{Application Developer}
324
325 \begin{itemize}
326 \item As a volunteer, worked on development of EARN (Employment Accessibility
327 Resource Network) portal using the Anahita social networking platform, in
328 PHP under Linux.
329 \end{itemize}
330 \vspace{.25em}
331
332\item {\large Hire Works Inc., } Ottawa, Canada\, |\, {\small winter 2013}
333
334 \textit{Mobile \& Web Developer}
335
336 \begin{itemize}
337 \item As a volunteer, I worked on a variety of web and mobile projects for
338 Hire Works, Inc.
339 \end{itemize}
340 \vspace{.25em}
341
342\item {\large St. Brigid's Summer Camp, } Ottawa, Canada\, |\, {\small summer
343 2012}
344
345 \textit{Web Developer}
346
347 \begin{itemize}
348 \item As a volunteer, I re-designed and coded (from scratch) an updated and
349 revamped version of the photo gallery section of St. Brigid Summer Camp's
350 website in PHP and JavaScript. A refactored version of my code is deployed
351 and being used.
352 \end{itemize}
353 % \vspace{.25em}
354
355\end{itemize}
356
357
8b20245a
AB
358\section*{Recent Projects}
359
360\begin{itemize}
2f9abbf3
AB
361\item \textit{george-mode:} Emacs major mode for editing George
362 files.\\ Source code available at
aa72fd51 363 \href{https://git.sr.ht/~bandali/george-mode}{\texttt{https://git.sr.ht/\textasciitilde{}bandali/george-mode}}
2f9abbf3
AB
364\item \textit{alloy-catalyst:} Framework for performance analysis of
365 Alloy models.\\ Source code available at
aa72fd51 366 \href{https://git.uwaterloo.ca/bandali/alloy-catalyst}{\texttt{https://git.uwaterloo.ca/bandali/alloy-catalyst}}
8b20245a
AB
367\item \textit{Unit-B Web:} The web interface for Unit-B, as mentioned in the
368 \textit{Research Experience} section.\\
369 Source code available at
aa72fd51 370 \href{https://github.com/unitb/unitb-web}{\texttt{https://github.com/unitb/unitb-web}}
8b20245a 371
e661759d 372\item \textit{tex2png-hs:} A tool for easily converting \TeX\ and \LaTeX\ to
aa72fd51 373 \textsc{png} images. \texttt{tex2png-hs} is a Haskell port of Xyne's
e661759d
AB
374 \texttt{tex2png} tool. It is a wrapper around \texttt{latex} and
375 \texttt{dvipng} and provides several options for modifying its behaviour, such
aa72fd51
AB
376 as cropping the whitespace around the content, specifying the \textsc{dpi}, or
377 inputting a full document.\\
8b20245a 378 Source code available at
aa72fd51 379 \href{https://github.com/unitb/tex2png-hs}{\texttt{https://github.com/unitb/tex2png-hs}}
8b20245a 380
b3847ce3 381\item For more projects, visit my personal site at
4977a878 382 \href{\siteurl}{\texttt{\siteurl}}.
8b20245a
AB
383\end{itemize}
384
8a25c428
AB
385\section*{Miscellaneous}
386
387\begin{itemize}
2f9abbf3
AB
388\item \textit{Programming Languages:} Haskell, Python, C, Emacs Lisp,
389 Guile, Eiffel, Rust, C\#, Java, JavaScript.
390\item \textit{Tools:} Emacs, Git, Alloy, \tla, \LaTeX, CI
391 systems, Rodin, Liquid Haskell.
aa72fd51
AB
392\item \textit{Platforms:} GNU/Linux distributions including GNU Guix,
393 Trisquel, Parabola, Debian.
07f3d0ee
AB
394\item \textit{Languages:} Persian (mother tongue), English (fluent), French
395 (beginner).
8a25c428
AB
396\end{itemize}
397
398
f8398008
AB
399% \section*{Achievements}
400
401% \begin{itemize}
402% \item Was among the top 1\% incoming students in Carleton University's
403% undergraduate Computer Science program, and a top student in the faculty of
404% science.
405% \item Highest standing in Computer Science in grade 11 (92\%) and grade 12
406% (100\%) at High school at Glebe~Collegiate~Institute.
407% \item Ranked in the top 25\% in the Canadian Senior Mathematics Contest held by
408% University of Waterloo, in 2013 (grade 11).
409% \item Graduated from high school with an average of 95\%; and designated as an Ontario Scholar.
410% \end{itemize}
411
412
8a25c428
AB
413% Footer
414\bigskip
415{\small Last updated: \today}
416
417\end{document}