2 %% Copyright 2016-2019 Amin Bandali <mab@gnu.org>
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.
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/
16 \documentclass[12pt,letterpaper
]{article
}
23 % To enable correct spacing
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\&
}}
36 \newcommand{\tla}{TLA$
{}^+$
}
38 \def\name{Amin Bandali
}
40 % The following metadata will show up in the PDF properties
45 pdfkeywords =
{Formal Methods, Formal Logic, Model Checking,
46 Verification, Type Systems, Proof Systems, Interactive Provers,
47 Programming Languages, Functional Programming, Haskell, Rust
},
48 pdftitle =
{\name: Curriculum Vitae
},
49 pdfsubject =
{Curriculum Vitae
},
60 \fancyhf{}% to clear existing header/footer
61 \renewcommand\headrulewidth{0pt
}
62 \cfoot{\vspace*
{-
.25em
}\textsc{bandali cv --- page
63 \thepage \xspace of
\pageref*
{LastPage
}}}
65 % Custom section fonts
67 \sectionfont{\rmfamily\mdseries\Large}
68 \subsectionfont{\rmfamily\mdseries\itshape\large}
70 % Other possible font commands include:
71 % \ttfamily for teletype,
72 % \sffamily for sans serif,
74 % \scshape for small caps,
75 % \normalsize, \large, \Large, \LARGE sizes.
77 % Don't indent paragraphs.
78 \setlength\parindent{0em
}
80 % Make lists without bullets and compact spacing
81 \renewenvironment{itemize
}{
83 \setlength{\leftmargin}{1.5em
}
84 \setlength{\itemsep}{0.25em
}
85 \setlength{\parskip}{0pt
}
86 \setlength{\parsep}{0.25em
}
91 \setlist[enumerate
]{itemsep=
0.25em
}
100 % Alternatively, print name centered and bold:
101 %\centerline{\huge \bf \name}
105 \begin{minipage
}[t
]{0.495\textwidth}
106 site:
\href{https://bandali.eu.org
}{bandali.eu.org
} \\
107 email:
\href{mailto:bandali@uwaterloo.ca
}{bandali@uwaterloo.ca
} \\
108 phone: available upon request
116 \setlength\itemsep{.75em
}
118 \item {\large Master of Mathematics (Computer Science)
}\, |\,
{\small 2018--present
}
120 \textit{University of Waterloo
}, Canada
123 \item Supervised by Dr. Nancy Day | GPA:
3.7/
4.0 | Expected
124 completion: Winter
2020
125 \item Research focusing on formal logic, model checking, and verification.
128 \item {\large B.Sc. Honours Computer Science
}\, |\,
{\small 2013--
2017}
130 \textit{York University
}, Toronto, Canada
134 \item Relevant courses: System Specification
\amper\
135 Refinement, Software Requirements Eng., Software Design, Operating
136 Systems, Computational Complexity, Design
\amper\ Analysis of Algorithms.
137 \item Finished first year (
2013-
14) at
\textit{Carleton University
} with a GPA
138 of
11.0/
12.0, then transferred to
\textit{York University
} in Fall
2014.
143 \section*
{Publications
}
146 \item {\large MoDRE
2018}
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
})
}
154 Ali Abbassi, Amin Bandali, Nancy A. Day, and Jose Serna\\
155 \textit{2018 IEEE
8th International Model-Driven Requirements
156 Engineering Workshop (MoDRE)
}
161 \section*
{Work
\amper\ Research Experience
}
165 \item {\large Cheriton School of Computer Science,
} University of Waterloo\, |\,
{\small 2018--present
}
167 \textit{Instructional Apprentice (IA), Teaching Assistant (TA)
}
170 \item \textsf{\small SE
212} (Logic and Computation): IA in Fall
171 2019, TA in Fall
2018
172 \item \textsf{\small SE
463} (Software Requirements Specification
173 and Analysis): TA in Summer
2019 and
2018
174 \item \textsf{\small CS
136} (Elementary Algorithm Design and Data
175 Abstraction): TA in Winter
2018
178 \item {\large EECS Department,
} York University\, |\,
{\small fall
2017}
180 \textit{Teaching Assistant
}
183 \item I was a TA for
\textsf{\small EECS
1012}, Net-Centric
184 Introduction to Computing, taught by Dr. Brown.
189 \item {\large Software Engineering Lab,
} York University\, |\,
{\small summer
192 \textit{Research Assistant
}
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
}}
199 library, implementing a
\textsc{rational
} class for working with arbitrarily
200 large rational numbers.
203 \item {\large Software Engineering Lab,
} York University\, |\,
{\small summer
206 \textit{Research Student
}
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.
213 From the Literate Unit-B codebase (written in Haskell), I decoupled the
214 logic module and used it to build
\textit{Unit-B Web
}, a web interface using
215 Literate Unit-B to do predicate calculus proofs. Unit-B Web, also
216 written in Haskell, supports the
\LaTeX\ syntax of the Unit-B logic, renders
217 user input on the page, and calls the sequent prover of the logic module,
218 which uses the
\textsc{z3 smt
} solver to check the validity of user input.
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.
226 \section*
{Conference Presentations
}
229 \item {\large CUCSC
2017}
232 \item \textsf{The Magic of Specifications and Type Systems
}
233 (
\href{https://bandali.eu.org/talks/cucsc-
2017-slides.pdf
}{slides
}),
234 at Canadian Undergraduate Computer Science Conference, University
235 of Toronto, Canada, Jun
15--
17 2017.
238 \item {\large Lassonde USSR Conference
2017}
241 \item \textsf{The Magic of Specifications and Type Systems
}
242 (
\href{https://bandali.eu.org/talks/eecs4080-poster.pdf
}{poster
}),
243 at Lassonde Undergraduate Summer Student Research Conference, York
244 University, Toronto, Canada, August
15,
2017.
249 \section*
{Professional Experience
}
251 \item {\large Lotek Wireless Inc.,
} Newmarket, Canada\, |\,
{\small
252 summer
2015 \amper\
2016}
254 \textit{Software Developer
}
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.
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
268 \pagebreak % TODO: remove if necessary
270 \item {\large Athlete Builder,
} Ottawa, Canada\, |\,
{\small 2013--
2014}
272 \textit{Software Developer
}
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.
281 \section*
{Volunteer Activities
}
285 \item {\large EmacsConf
2019,
} \href{https://emacsconf.org/
2019}{\texttt{emacsconf.org/
2019}}\, |\,
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.
297 \item {\large Computer Science Club,
} University of Waterloo,
298 Canada\, |\,
{\small summer
2019--present
}
300 \textit{Systems Committee
}
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.
308 \item {\large EmacsConf
2015,
} \href{https://emacsconf.org/
2015}{\texttt{emacsconf.org/
2015}}\, |\,
314 \item I was one of the organizers and in charge of setting up and
315 maintaining several vital pieces of the EmacsConf infrastructure.
319 \item {\large VONICAL Inc.,
} Ottawa, Canada\, |\,
{\small spring
2013}
321 \textit{Application Developer
}
324 \item As a volunteer, worked on development of EARN (Employment Accessibility
325 Resource Network) portal using the Anahita social networking platform, in
330 \item {\large Hire Works Inc.,
} Ottawa, Canada\, |\,
{\small winter
2013}
332 \textit{Mobile \& Web Developer
}
335 \item As a volunteer, I worked on a variety of web and mobile projects for
340 \item {\large St. Brigid's Summer Camp,
} Ottawa, Canada\, |\,
{\small summer
343 \textit{Web Developer
}
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
356 \section*
{Recent Projects
}
359 \item \textit{george-mode:
} Emacs major mode for editing George
360 files.\\ Source code available at
361 \href{https://git.sr.ht/~bandali/george-mode
}{\texttt{https://git.sr.ht/
\textasciitilde{}bandali/george-mode
}}
362 \item \textit{alloy-catalyst:
} Framework for performance analysis of
363 Alloy models.\\ Source code available at
364 \href{https://git.uwaterloo.ca/bandali/alloy-catalyst
}{\texttt{https://git.uwaterloo.ca/bandali/alloy-catalyst
}}
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
368 \href{https://github.com/unitb/unitb-web
}{\texttt{https://github.com/unitb/unitb-web
}}
370 \item \textit{tex2png-hs:
} A tool for easily converting
\TeX\ and
\LaTeX\ to
371 \textsc{png
} images.
\texttt{tex2png-hs
} is a Haskell port of Xyne's
372 \texttt{tex2png
} tool. It is a wrapper around
\texttt{latex
} and
373 \texttt{dvipng
} and provides several options for modifying its behaviour, such
374 as cropping the whitespace around the content, specifying the
\textsc{dpi
}, or
375 inputting a full
document.\\
376 Source code available at
377 \href{https://github.com/unitb/tex2png-hs
}{\texttt{https://github.com/unitb/tex2png-hs
}}
379 \item For more projects, visit my personal site at
380 \href{https://bandali.eu.org
}{\texttt{https://bandali.eu.org
}}.
383 \section*
{Miscellaneous
}
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.
390 \item \textit{Platforms:
} GNU/Linux distributions including GNU Guix,
391 Trisquel, Parabola, Debian.
392 \item \textit{Languages:
} Persian (mother tongue), English (fluent), French
397 % \section*{Achievements}
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
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.
413 {\small Last updated:
\today}