various updates
[~bandali/cv] / cv.tex
1 %% cv.tex
2 %% Copyright 2016-2019 Amin Bandali <mab@gnu.org>
3 %
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.
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/
15
16 \documentclass[12pt,letterpaper]{article}
17
18 \usepackage{hyperref}
19 \usepackage{geometry}
20 \usepackage{enumitem}
21 \usepackage{fancyhdr}
22 \usepackage{lastpage}
23 % To enable correct spacing
24 \usepackage{xspace}
25 \pagestyle{fancy}
26
27 % Fonts
28 \usepackage{graphicx}
29 \usepackage{fontspec}
30 \setmainfont[Scale=0.95,SmallCapsFont={Equity Caps A},RawFeature=+c2sc]{Equity Text A}
31 \setsansfont[SmallCapsFont={Concourse C4}]{Concourse T4}
32 \setmonofont[Scale=0.9]{Triplicate T4c}
33 \newfontfamily{\tallnums}[RawFeature={+ss02}]{Equity Text A}
34 \newfontfamily{\largersans}[Scale=1.05,SmallCapsFont={Concourse C4}]{Concourse T4}
35 \newcommand{\amper}{{\fontspec[Scale=.9]{Equity Text A}\selectfont\itshape\&}}
36
37 \newcommand{\tla}{TLA${}^+$}
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},
46 pdfkeywords = {Formal Methods, Formal Logic, Model Checking,
47 Verification, Type Systems, Proof Systems, Interactive Provers,
48 Programming Languages, Functional Programming, Haskell, Rust},
49 pdftitle = {\name: Curriculum Vitae},
50 pdfsubject = {Curriculum Vitae},
51 pdfpagemode = UseNone
52 }
53
54 \geometry{
55 body={6.5in, 9.0in},
56 left=1.0in,
57 top=1.0in
58 }
59
60 \pagestyle{fancy}
61 \fancyhf{}% to clear existing header/footer
62 \renewcommand\headrulewidth{0pt}
63 \cfoot{\vspace*{-.25em}\textsc{Bandali CV --- page \thepage \xspace of
64 \pageref*{LastPage}}}
65
66 % Custom section fonts
67 \usepackage{sectsty}
68 \sectionfont{\rmfamily\mdseries\Large}
69 \subsectionfont{\rmfamily\mdseries\itshape\large}
70
71 % Other possible font commands include:
72 % \ttfamily for teletype,
73 % \sffamily for sans serif,
74 % \bfseries for bold,
75 % \scshape for small caps,
76 % \normalsize, \large, \Large, \LARGE sizes.
77
78 % Don't indent paragraphs.
79 \setlength\parindent{0em}
80
81 % Make lists without bullets and compact spacing
82 \renewenvironment{itemize}{
83 \begin{list}{}{
84 \setlength{\leftmargin}{1.5em}
85 \setlength{\itemsep}{0.25em}
86 \setlength{\parskip}{0pt}
87 \setlength{\parsep}{0.25em}
88 }
89 }{
90 \end{list}
91 }
92 \setlist[enumerate]{itemsep=0.25em}
93
94 \begin{document}
95
96 \vspace*{-3em}
97
98 % Place name at left
99 {\huge \name}
100
101 % Alternatively, print name centered and bold:
102 %\centerline{\huge \bf \name}
103
104 \medskip
105
106 \begin{minipage}[t]{0.495\textwidth}
107 site: \href{https://bandali.eu.org}{bandali.eu.org} \\
108 email: \href{mailto:bandali@uwaterloo.ca}{bandali@uwaterloo.ca} \\
109 phone: available upon request
110 \end{minipage}
111
112 \vspace*{1em}
113
114 \section*{Education}
115
116 \begin{itemize}
117 \setlength\itemsep{.75em}
118
119 \item {\large Master of Mathematics (Computer Science)}\, |\, {\small 2018--present}
120
121 \textit{University of Waterloo}, Canada
122
123 \begin{itemize}
124 \item Supervised by Dr. Nancy Day | GPA: 3.7/4.0 | Expected
125 completion: Winter 2020
126 \item Research focusing on formal logic, model checking, and verification.
127 \end{itemize}
128
129 \item {\large B.Sc. Honours Computer Science}\, |\, {\small 2013--2017}
130
131 \textit{York University}, Toronto, Canada
132
133 \begin{itemize}
134 \item GPA: 7.84/9.0
135 \item Relevant courses: System Specification \amper\
136 Refinement, Software Requirements Eng., Software Design, Operating
137 Systems, Computational Complexity, Design \amper\ Analysis of Algorithms.
138 \item Finished first year (2013-14) at \textit{Carleton University} with a GPA
139 of 11.0/12.0, then transferred to \textit{York University} in Fall 2014.
140 \end{itemize}
141
142 \end{itemize}
143
144 \section*{Publications}
145
146 \begin{itemize}
147 \item {\large \tallnums MoDRE 2018}
148
149 \begin{itemize}
150 \item {\largersans A Comparison of the Declarative Modelling
151 Languages B, Dash, and \tla}
152 \textsf{\footnotesize
153 (\href{https://bandali.eu.org/papers/modre2018-declarative.pdf}{pdf},
154 \href{https://bandali.eu.org/papers/modre2018-declarative.bib}{bib})}
155
156 Ali Abbassi, Amin Bandali, Nancy A. Day, and Jose Serna\\
157 \textit{2018 IEEE 8th International Model-Driven Requirements
158 Engineering Workshop (MoDRE)}
159 \end{itemize}
160
161 \end{itemize}
162
163 \section*{Work \amper\ Research Experience}
164
165 \begin{itemize}
166
167 \item {\large Cheriton School of Computer Science, } University of Waterloo\, |\, {\small 2018--present}
168
169 \textit{Instructional Apprentice (IA), Teaching Assistant (TA)}
170
171 \begin{itemize}
172 \item \textsf{\small SE 212} (Logic and Computation): IA in Fall
173 2019, TA in Fall 2018
174 \item \textsf{\small SE 463} (Software Requirements Specification
175 and Analysis): TA in Summer 2019 and 2018
176 \item \textsf{\small CS 136} (Elementary Algorithm Design and Data
177 Abstraction): TA in Winter 2018
178 \end{itemize}
179
180 \item {\large EECS Department, } York University\, |\, {\small fall 2017}
181
182 \textit{Teaching Assistant}
183
184 \begin{itemize}
185 \item I was a TA for \textsf{\small EECS 1012}, Net-Centric
186 Introduction to Computing, taught by Dr. Brown.
187 \end{itemize}
188
189 \item {\large Software Engineering Lab, } York University\, |\, {\small summer
190 2017}
191
192 \textit{Research Assistant}
193
194 \begin{itemize}
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.
201 \end{itemize}
202
203 \item {\large Software Engineering Lab, } York University\, |\, {\small summer
204 2016}
205
206 \textit{Research Student}
207
208 \begin{itemize}
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.
212
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. \linebreak 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.
219
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.
223 \end{itemize}
224 \end{itemize}
225
226 \section*{Conference Presentations}
227
228 \begin{itemize}
229 \item {\large \tallnums CUCSC 2017}
230
231 \begin{itemize}
232 \item {\largersans 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 of
235 Toronto, Canada, Jun 15--17 2017.
236 \end{itemize}
237
238 \item {\large \tallnums Lassonde USSR Conference 2017}
239
240 \begin{itemize}
241 \item {\largersans 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 University,
244 Toronto, Canada, August 15, 2017.
245 \end{itemize}
246
247 \end{itemize}
248
249 \section*{Professional Experience}
250 \begin{itemize}
251 \item {\large Lotek Wireless Inc., } Newmarket, Canada\, |\, {\small
252 summer 2015 \amper\ 2016}
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
268 \pagebreak % TODO: remove if necessary
269
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
285 \item {\large EmacsConf 2019, } \href{https://emacsconf.org/2019}{emacsconf.org/2019}\, |\,
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}
303 \item I'm a member of the Systems Committee (syscom) for the
304 Computer Science Club of the University of Waterloo, which
305 operates and maintains the club's fleet of GNU/Linux servers.
306 \end{itemize}
307 \vspace{.25em}
308
309 \item {\large EmacsConf 2015, } \href{https://emacsconf.org/2015}{emacsconf.org/2015}\, |\,
310 {\small summer 2015}
311
312 \textit{Organizer}
313
314 \begin{itemize}
315 \item I was one of the organizers and in charge of setting up and
316 maintaining several vital pieces of the EmacsConf infrastructure.
317 \end{itemize}
318 \vspace{.25em}
319
320 \item {\large VONICAL Inc., } Ottawa, Canada\, |\, {\small spring 2013}
321
322 \textit{Application Developer}
323
324 \begin{itemize}
325 \item As a volunteer, worked on development of EARN (Employment Accessibility
326 Resource Network) portal using the Anahita social networking platform, in
327 PHP under Linux.
328 \end{itemize}
329 \vspace{.25em}
330
331 \item {\large Hire Works Inc., } Ottawa, Canada\, |\, {\small winter 2013}
332
333 \textit{Mobile \& Web Developer}
334
335 \begin{itemize}
336 \item As a volunteer, I worked on a variety of web and mobile projects for
337 Hire Works, Inc.
338 \end{itemize}
339 \vspace{.25em}
340
341 \item {\large St. Brigid's Summer Camp, } Ottawa, Canada\, |\, {\small summer
342 2012}
343
344 \textit{Web Developer}
345
346 \begin{itemize}
347 \item As a volunteer, I re-designed and coded (from scratch) an updated and
348 revamped version of the photo gallery section of St. Brigid Summer Camp's
349 website in PHP and JavaScript. A refactored version of my code is deployed
350 and being used.
351 \end{itemize}
352 % \vspace{.25em}
353
354 \end{itemize}
355
356
357 \section*{Recent Projects}
358
359 \begin{itemize}
360 \item \textit{george-mode:} Emacs major mode for editing George
361 files.\\ Source code available at
362 \href{https://git.sr.ht/~bandali/george-mode}{https://git.sr.ht/\textasciitilde{}bandali/george-mode}
363 \item \textit{alloy-catalyst:} Framework for performance analysis of
364 Alloy models.\\ Source code available at
365 \href{https://git.uwaterloo.ca/bandali/alloy-catalyst}{https://git.uwaterloo.ca/bandali/alloy-catalyst}
366 \item \textit{Unit-B Web:} The web interface for Unit-B, as mentioned in the
367 \textit{Research Experience} section.\\
368 Source code available at
369 \href{https://github.com/unitb/unitb-web}{https://github.com/unitb/unitb-web}
370
371 \item \textit{tex2png-hs:} A tool for easily converting \TeX\ and \LaTeX\ to
372 \textsc{PNG} images. \texttt{tex2png-hs} is a Haskell port of Xyne's
373 \texttt{tex2png} tool. It is a wrapper around \texttt{latex} and
374 \texttt{dvipng} and provides several options for modifying its behaviour, such
375 as cropping the whitespace around the content, specifying the \textsc{DPI}, or
376 inputting a full document.
377 Source code available at
378 \href{https://github.com/unitb/tex2png-hs}{https://github.com/unitb/tex2png-hs}
379
380 \item For more projects, visit my personal site at
381 \href{https://bandali.eu.org}{https://bandali.eu.org}.
382 \end{itemize}
383
384 \section*{Miscellaneous}
385
386 \begin{itemize}
387 \item \textit{Programming Languages:} Haskell, Python, C, Emacs Lisp,
388 Guile, Eiffel, Rust, C\#, Java, JavaScript.
389 \item \textit{Tools:} Emacs, Git, Alloy, \tla, \LaTeX, CI
390 systems, Rodin, Liquid Haskell.
391 \item \textit{Platforms:} GNU/Linux distros including but not limited
392 to GNU Guix, Trisquel, Parabola, Debian.
393 \item \textit{Languages:} Persian (mother tongue), English (fluent), French
394 (beginner).
395 \end{itemize}
396
397
398 % \section*{Achievements}
399
400 % \begin{itemize}
401 % \item Was among the top 1\% incoming students in Carleton University's
402 % undergraduate Computer Science program, and a top student in the faculty of
403 % science.
404 % \item Highest standing in Computer Science in grade 11 (92\%) and grade 12
405 % (100\%) at High school at Glebe~Collegiate~Institute.
406 % \item Ranked in the top 25\% in the Canadian Senior Mathematics Contest held by
407 % University of Waterloo, in 2013 (grade 11).
408 % \item Graduated from high school with an average of 95\%; and designated as an Ontario Scholar.
409 % \end{itemize}
410
411
412 % Footer
413 \bigskip
414 {\small Last updated: \today}
415
416 \end{document}