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