update site url
[~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[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\&}}
35
36 \newcommand{\tla}{TLA${}^+$}
37
38 \def\name{Amin Bandali}
39 \def\site{bndl.org}
40 \def\siteurl{https://\site}
41
42 % The following metadata will show up in the PDF properties
43 \hypersetup{
44 colorlinks = true,
45 urlcolor = black,
46 pdfauthor = {\name},
47 pdfkeywords = {Formal Methods, Formal Logic, Model Checking,
48 Verification, Type Systems, Proof Systems, Interactive Provers,
49 Programming Languages, Functional Programming, Haskell, Rust},
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
61 \pagestyle{fancy}
62 \fancyhf{}% to clear existing header/footer
63 \renewcommand\headrulewidth{0pt}
64 \cfoot{\vspace*{-.25em}\textsc{bandali cv --- page
65 \thepage \xspace of \pageref*{LastPage}}}
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
97 \vspace*{-3em}
98
99 % Place name at left
100 {\huge \name}
101
102 % Alternatively, print name centered and bold:
103 %\centerline{\huge \bf \name}
104
105 \medskip
106
107 \begin{minipage}[t]{0.495\textwidth}
108 site: \href{\siteurl}{\site} \\
109 email: \href{mailto:bandali@uwaterloo.ca}{bandali@uwaterloo.ca} \\
110 phone: available upon request
111 \end{minipage}
112
113 \vspace*{1em}
114
115 \section*{Education}
116
117 \begin{itemize}
118 \setlength\itemsep{.75em}
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
126 completion: Winter 2020
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}
131
132 \textit{York University}, Toronto, Canada
133
134 \begin{itemize}
135 \item GPA: 7.84/9.0
136 \item Relevant courses: System Specification \amper\
137 Refinement, Software Requirements Eng., Software Design, Operating
138 Systems, Computational Complexity, Design \amper\ Analysis of Algorithms.
139 \item Finished first year (2013-14) at \textit{Carleton University} with a GPA
140 of 11.0/12.0, then transferred to \textit{York University} in Fall 2014.
141 \end{itemize}
142
143 \end{itemize}
144
145 \section*{Publications}
146
147 \begin{itemize}
148 \item {\large MoDRE 2018}
149
150 \begin{itemize}
151 \item \textsf{A Comparison of the Declarative Modelling Languages B,
152 Dash, and \tla} \textsf{\footnotesize
153 (\href{\siteurl/papers/modre2018-declarative.pdf}{pdf},
154 \href{\siteurl/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 \pagebreak
190
191 \item {\large Software Engineering Lab, } York University\, |\, {\small summer
192 2017}
193
194 \textit{Research Assistant}
195
196 \begin{itemize}
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}}
201 library, implementing a \textsc{rational} class for working with arbitrarily
202 large rational numbers.
203 \end{itemize}
204
205 \item {\large Software Engineering Lab, } York University\, |\, {\small summer
206 2016}
207
208 \textit{Research Student}
209
210 \begin{itemize}
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.
214
215 From the Literate Unit-B codebase (written in Haskell), I decoupled the
216 logic module and used it to build \textit{Unit-B Web}, a web interface using
217 Literate Unit-B to do predicate calculus proofs. Unit-B Web, also
218 written in Haskell, supports the \LaTeX\ syntax of the Unit-B logic, renders
219 user input on the page, and calls the sequent prover of the logic module,
220 which uses the \textsc{z3 smt} solver to check the validity of user input.
221
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.
225 \end{itemize}
226 \end{itemize}
227
228 \section*{Conference Presentations}
229
230 \begin{itemize}
231 \item {\large CUCSC 2017}
232
233 \begin{itemize}
234 \item \textsf{The Magic of Specifications and Type Systems}
235 (\href{\siteurl/talks/cucsc-2017-slides.pdf}{slides}),
236 at Canadian Undergraduate Computer Science Conference, University
237 of Toronto, Canada, Jun 15--17 2017.
238 \end{itemize}
239
240 \item {\large Lassonde USSR Conference 2017}
241
242 \begin{itemize}
243 \item \textsf{The Magic of Specifications and Type Systems}
244 (\href{\siteurl/talks/eecs4080-poster.pdf}{poster}),
245 at Lassonde Undergraduate Summer Student Research Conference, York
246 University, Toronto, Canada, August 15, 2017.
247 \end{itemize}
248
249 \end{itemize}
250
251 \section*{Professional Experience}
252 \begin{itemize}
253 \item {\large Lotek Wireless Inc., } Newmarket, Canada\, |\, {\small
254 summer 2015 \amper\ 2016}
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
270 \pagebreak % TODO: remove if necessary
271
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
287 \item {\large EmacsConf 2019, } \href{https://emacsconf.org/2019}{\texttt{emacsconf.org/2019}}\, |\,
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}
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.
307 \end{itemize}
308 \vspace{.25em}
309
310 \item {\large EmacsConf 2015, } \href{https://emacsconf.org/2015}{\texttt{emacsconf.org/2015}}\, |\,
311 {\small summer 2015}
312
313 \textit{Organizer}
314
315 \begin{itemize}
316 \item I was one of the organizers and in charge of setting up and
317 maintaining several vital pieces of the EmacsConf infrastructure.
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
358 \section*{Recent Projects}
359
360 \begin{itemize}
361 \item \textit{george-mode:} Emacs major mode for editing George
362 files.\\ Source code available at
363 \href{https://git.sr.ht/~bandali/george-mode}{\texttt{https://git.sr.ht/\textasciitilde{}bandali/george-mode}}
364 \item \textit{alloy-catalyst:} Framework for performance analysis of
365 Alloy models.\\ Source code available at
366 \href{https://git.uwaterloo.ca/bandali/alloy-catalyst}{\texttt{https://git.uwaterloo.ca/bandali/alloy-catalyst}}
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
370 \href{https://github.com/unitb/unitb-web}{\texttt{https://github.com/unitb/unitb-web}}
371
372 \item \textit{tex2png-hs:} A tool for easily converting \TeX\ and \LaTeX\ to
373 \textsc{png} images. \texttt{tex2png-hs} is a Haskell port of Xyne's
374 \texttt{tex2png} tool. It is a wrapper around \texttt{latex} and
375 \texttt{dvipng} and provides several options for modifying its behaviour, such
376 as cropping the whitespace around the content, specifying the \textsc{dpi}, or
377 inputting a full document.\\
378 Source code available at
379 \href{https://github.com/unitb/tex2png-hs}{\texttt{https://github.com/unitb/tex2png-hs}}
380
381 \item For more projects, visit my personal site at
382 \href{\siteurl}{\texttt{\siteurl}}.
383 \end{itemize}
384
385 \section*{Miscellaneous}
386
387 \begin{itemize}
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.
392 \item \textit{Platforms:} GNU/Linux distributions including GNU Guix,
393 Trisquel, Parabola, Debian.
394 \item \textit{Languages:} Persian (mother tongue), English (fluent), French
395 (beginner).
396 \end{itemize}
397
398
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
413 % Footer
414 \bigskip
415 {\small Last updated: \today}
416
417 \end{document}