README updates
[~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}
39
40% The following metadata will show up in the PDF properties
41\hypersetup{
42 colorlinks = true,
43 urlcolor = black,
44 pdfauthor = {\name},
b3847ce3
AB
45 pdfkeywords = {Formal Methods, Formal Logic, Model Checking,
46 Verification, Type Systems, Proof Systems, Interactive Provers,
beed9796 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}
aa72fd51
AB
62\cfoot{\vspace*{-.25em}\textsc{bandali cv --- page
63 \thepage \xspace of \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}
2f9abbf3
AB
106 site: \href{https://bandali.eu.org}{bandali.eu.org} \\
107 email: \href{mailto:bandali@uwaterloo.ca}{bandali@uwaterloo.ca} \\
beed9796 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
2f9abbf3 124 completion: Winter 2020
beed9796
AB
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}
aa72fd51 146\item {\large MoDRE 2018}
beed9796
AB
147
148 \begin{itemize}
aa72fd51
AB
149 \item \textsf{A Comparison of the Declarative Modelling Languages B,
150 Dash, and \tla} \textsf{\footnotesize
151 (\href{https://bandali.eu.org/papers/modre2018-declarative.pdf}{pdf},
152 \href{https://bandali.eu.org/papers/modre2018-declarative.bib}{bib})}
beed9796 153
a3451096 154 Ali Abbassi, Amin Bandali, Nancy A. Day, and Jose Serna\\
b3847ce3
AB
155 \textit{2018 IEEE 8th International Model-Driven Requirements
156 Engineering Workshop (MoDRE)}
beed9796
AB
157 \end{itemize}
158
b76edb03
AB
159\end{itemize}
160
df70fc95 161\section*{Work \amper\ Research Experience}
8a25c428
AB
162
163\begin{itemize}
beed9796
AB
164
165\item {\large Cheriton School of Computer Science, } University of Waterloo\, |\, {\small 2018--present}
166
2f9abbf3 167 \textit{Instructional Apprentice (IA), Teaching Assistant (TA)}
beed9796
AB
168
169 \begin{itemize}
2f9abbf3
AB
170 \item \textsf{\small SE 212} (Logic and Computation): IA in Fall
171 2019, TA in Fall 2018
8b946863 172 \item \textsf{\small SE 463} (Software Requirements Specification
2f9abbf3 173 and Analysis): TA in Summer 2019 and 2018
8b946863 174 \item \textsf{\small CS 136} (Elementary Algorithm Design and Data
2f9abbf3 175 Abstraction): TA in Winter 2018
beed9796
AB
176 \end{itemize}
177
df70fc95
AB
178\item {\large EECS Department, } York University\, |\, {\small fall 2017}
179
180 \textit{Teaching Assistant}
181
182 \begin{itemize}
beed9796
AB
183 \item I was a TA for \textsf{\small EECS 1012}, Net-Centric
184 Introduction to Computing, taught by Dr. Brown.
df70fc95
AB
185 \end{itemize}
186
aa72fd51
AB
187 \pagebreak
188
2acab84b
AB
189\item {\large Software Engineering Lab, } York University\, |\, {\small summer
190 2017}
191
192 \textit{Research Assistant}
193
194 \begin{itemize}
df70fc95
AB
195 \item I worked on an implementation of
196 \href{https://bertrandmeyer.com/2014/12/07/lampsort/}{\textit{Lampsort}} in
197 Eiffel. I also extended the
198 \href{https://svn.eecs.yorku.ca/repos/sel-open/mathmodels/}{\texttt{mathmodels}}
aa72fd51 199 library, implementing a \textsc{rational} class for working with arbitrarily
df70fc95 200 large rational numbers.
2acab84b
AB
201 \end{itemize}
202
6da83bf5
AB
203\item {\large Software Engineering Lab, } York University\, |\, {\small summer
204 2016}
8a25c428
AB
205
206 \textit{Research Student}
207
208 \begin{itemize}
10664de5
AB
209 \item As an undergraduate research student, I worked on \textit{Literate
210 Unit-B}, the verifier for Unit-B, a new formal method focused on formal
211 verification of reactive, concurrent and distributed systems.
8a25c428
AB
212
213 From the Literate Unit-B codebase (written in Haskell), I decoupled the
c543f989 214 logic module and used it to build \textit{Unit-B Web}, a web interface using
aa72fd51 215 Literate Unit-B to do predicate calculus proofs. Unit-B Web, also
8a25c428 216 written in Haskell, supports the \LaTeX\ syntax of the Unit-B logic, renders
10664de5 217 user input on the page, and calls the sequent prover of the logic module,
e661759d 218 which uses the \textsc{z3 smt} solver to check the validity of user input.
8a25c428 219
10664de5
AB
220 \item Further, I separated Literate Unit-B's type checker from its parser,
221 allowing easier substitution of other type checking algorithms and in
222 preparation for implementing subtyping.
8a25c428 223 \end{itemize}
2acab84b 224\end{itemize}
8a25c428 225
a129a2a2 226\section*{Conference Presentations}
b76edb03
AB
227
228\begin{itemize}
aa72fd51 229\item {\large CUCSC 2017}
b76edb03
AB
230
231 \begin{itemize}
aa72fd51 232 \item \textsf{The Magic of Specifications and Type Systems}
2f9abbf3 233 (\href{https://bandali.eu.org/talks/cucsc-2017-slides.pdf}{slides}),
aa72fd51
AB
234 at Canadian Undergraduate Computer Science Conference, University
235 of Toronto, Canada, Jun 15--17 2017.
b76edb03
AB
236 \end{itemize}
237
aa72fd51 238\item {\large Lassonde USSR Conference 2017}
a129a2a2
AB
239
240 \begin{itemize}
aa72fd51 241 \item \textsf{The Magic of Specifications and Type Systems}
2f9abbf3 242 (\href{https://bandali.eu.org/talks/eecs4080-poster.pdf}{poster}),
aa72fd51
AB
243 at Lassonde Undergraduate Summer Student Research Conference, York
244 University, Toronto, Canada, August 15, 2017.
a129a2a2
AB
245 \end{itemize}
246
b76edb03
AB
247\end{itemize}
248
8a25c428
AB
249\section*{Professional Experience}
250\begin{itemize}
beed9796
AB
251\item {\large Lotek Wireless Inc., } Newmarket, Canada\, |\, {\small
252 summer 2015 \amper\ 2016}
8a25c428
AB
253
254 \textit{Software Developer}
255
256 \begin{itemize}
257 \item Designed and implemented various applications in C\# and C to test and
258 analyze a satellite pass prediction algorithm for predicting the pass
259 windows of Argos satellites, for scheduling send times of data collected by
260 company's wildlife tracking products.
261
262 \item Designed and developed an Employee Portal web application in C\# and the
263 MVC framework, used by employees for accessing various data catalogs and
264 archives.
265 \end{itemize}
266 \vspace{.25em}
267
beed9796
AB
268\pagebreak % TODO: remove if necessary
269
8a25c428
AB
270\item {\large Athlete Builder, } Ottawa, Canada\, |\, {\small 2013--2014}
271
272 \textit{Software Developer}
273
274 \begin{itemize}
275 \item Developed the Backend of Athlete Builder platform in C\# and MVC.
276 \item Was a key role in development of the platform core.
277 \item Developed the alpha version of Athlete Builder Android app in Java.
278 \end{itemize}
279\end{itemize}
280
281\section*{Volunteer Activities}
282
283\begin{itemize}
284
aa72fd51 285\item {\large EmacsConf 2019, } \href{https://emacsconf.org/2019}{\texttt{emacsconf.org/2019}}\, |\,
2f9abbf3
AB
286 {\small fall 2019}
287
288 \textit{Organizer}
289
290 \begin{itemize}
291 \item I was the chief organizer for EmacsConf 2019, and in charge of
292 maintaining and overseeing the EmacsConf infrastructure, including
293 our streaming servers.
294 \end{itemize}
295 \vspace{.25em}
296
297\item {\large Computer Science Club, } University of Waterloo,
298 Canada\, |\, {\small summer 2019--present}
299
300 \textit{Systems Committee}
301
302 \begin{itemize}
aa72fd51
AB
303 \item I'm a member of the CSC syscom at the University of Waterloo,
304 operating and maintaining the club's fleet of GNU/Linux servers.
2f9abbf3
AB
305 \end{itemize}
306 \vspace{.25em}
307
aa72fd51 308\item {\large EmacsConf 2015, } \href{https://emacsconf.org/2015}{\texttt{emacsconf.org/2015}}\, |\,
8a25c428
AB
309 {\small summer 2015}
310
311 \textit{Organizer}
312
313 \begin{itemize}
2f9abbf3
AB
314 \item I was one of the organizers and in charge of setting up and
315 maintaining several vital pieces of the EmacsConf infrastructure.
8a25c428
AB
316 \end{itemize}
317 \vspace{.25em}
318
319\item {\large VONICAL Inc., } Ottawa, Canada\, |\, {\small spring 2013}
320
321 \textit{Application Developer}
322
323 \begin{itemize}
324 \item As a volunteer, worked on development of EARN (Employment Accessibility
325 Resource Network) portal using the Anahita social networking platform, in
326 PHP under Linux.
327 \end{itemize}
328 \vspace{.25em}
329
330\item {\large Hire Works Inc., } Ottawa, Canada\, |\, {\small winter 2013}
331
332 \textit{Mobile \& Web Developer}
333
334 \begin{itemize}
335 \item As a volunteer, I worked on a variety of web and mobile projects for
336 Hire Works, Inc.
337 \end{itemize}
338 \vspace{.25em}
339
340\item {\large St. Brigid's Summer Camp, } Ottawa, Canada\, |\, {\small summer
341 2012}
342
343 \textit{Web Developer}
344
345 \begin{itemize}
346 \item As a volunteer, I re-designed and coded (from scratch) an updated and
347 revamped version of the photo gallery section of St. Brigid Summer Camp's
348 website in PHP and JavaScript. A refactored version of my code is deployed
349 and being used.
350 \end{itemize}
351 % \vspace{.25em}
352
353\end{itemize}
354
355
8b20245a
AB
356\section*{Recent Projects}
357
358\begin{itemize}
2f9abbf3
AB
359\item \textit{george-mode:} Emacs major mode for editing George
360 files.\\ Source code available at
aa72fd51 361 \href{https://git.sr.ht/~bandali/george-mode}{\texttt{https://git.sr.ht/\textasciitilde{}bandali/george-mode}}
2f9abbf3
AB
362\item \textit{alloy-catalyst:} Framework for performance analysis of
363 Alloy models.\\ Source code available at
aa72fd51 364 \href{https://git.uwaterloo.ca/bandali/alloy-catalyst}{\texttt{https://git.uwaterloo.ca/bandali/alloy-catalyst}}
8b20245a
AB
365\item \textit{Unit-B Web:} The web interface for Unit-B, as mentioned in the
366 \textit{Research Experience} section.\\
367 Source code available at
aa72fd51 368 \href{https://github.com/unitb/unitb-web}{\texttt{https://github.com/unitb/unitb-web}}
8b20245a 369
e661759d 370\item \textit{tex2png-hs:} A tool for easily converting \TeX\ and \LaTeX\ to
aa72fd51 371 \textsc{png} images. \texttt{tex2png-hs} is a Haskell port of Xyne's
e661759d
AB
372 \texttt{tex2png} tool. It is a wrapper around \texttt{latex} and
373 \texttt{dvipng} and provides several options for modifying its behaviour, such
aa72fd51
AB
374 as cropping the whitespace around the content, specifying the \textsc{dpi}, or
375 inputting a full document.\\
8b20245a 376 Source code available at
aa72fd51 377 \href{https://github.com/unitb/tex2png-hs}{\texttt{https://github.com/unitb/tex2png-hs}}
8b20245a 378
b3847ce3 379\item For more projects, visit my personal site at
aa72fd51 380 \href{https://bandali.eu.org}{\texttt{https://bandali.eu.org}}.
8b20245a
AB
381\end{itemize}
382
8a25c428
AB
383\section*{Miscellaneous}
384
385\begin{itemize}
2f9abbf3
AB
386\item \textit{Programming Languages:} Haskell, Python, C, Emacs Lisp,
387 Guile, Eiffel, Rust, C\#, Java, JavaScript.
388\item \textit{Tools:} Emacs, Git, Alloy, \tla, \LaTeX, CI
389 systems, Rodin, Liquid Haskell.
aa72fd51
AB
390\item \textit{Platforms:} GNU/Linux distributions including GNU Guix,
391 Trisquel, Parabola, Debian.
07f3d0ee
AB
392\item \textit{Languages:} Persian (mother tongue), English (fluent), French
393 (beginner).
8a25c428
AB
394\end{itemize}
395
396
f8398008
AB
397% \section*{Achievements}
398
399% \begin{itemize}
400% \item Was among the top 1\% incoming students in Carleton University's
401% undergraduate Computer Science program, and a top student in the faculty of
402% science.
403% \item Highest standing in Computer Science in grade 11 (92\%) and grade 12
404% (100\%) at High school at Glebe~Collegiate~Institute.
405% \item Ranked in the top 25\% in the Canadian Senior Mathematics Contest held by
406% University of Waterloo, in 2013 (grade 11).
407% \item Graduated from high school with an average of 95\%; and designated as an Ontario Scholar.
408% \end{itemize}
409
410
8a25c428
AB
411% Footer
412\bigskip
413{\small Last updated: \today}
414
415\end{document}