%% cv.tex
-%% Copyright 2016 Amin Bandali <amin@aminb.org>
+%% Copyright 2016-2019 Amin Bandali <bandali@gnu.org>
%
% This work may be distributed and/or modified under the
% conditions of the LaTeX Project Public License, either version 1.3
\usepackage{hyperref}
\usepackage{geometry}
\usepackage{enumitem}
+\usepackage{fancyhdr}
+\usepackage{lastpage}
+% To enable correct spacing
+\usepackage{xspace}
+\pagestyle{fancy}
% Fonts
\usepackage{graphicx}
\usepackage{fontspec}
-\setmainfont[Numbers=Lining]{EB Garamond}
-\newfontfamily{\smallcaps}[RawFeature={+c2sc,+scmp}]{EB Garamond}
-\newcommand{\amper}{{\fontspec[Scale=.9]{EB Garamond}\selectfont\itshape\&}}
-
-%% Load Microtype with default settings. This will use the
-%% EB-Garamond protrusion definitions if present.
-\usepackage{microtype}
+\setmainfont[Scale=0.95,SmallCapsFont={Equity Caps A},RawFeature=+c2sc]{Equity Text A}
+\setsansfont[SmallCapsFont={Concourse C4}]{Concourse T4}
+\setmonofont[Scale=0.9]{Triplicate T4c}
+\newfontfamily{\tallnums}[RawFeature={+ss02}]{Equity Text A}
+\newfontfamily{\largersans}[Scale=1.05,SmallCapsFont={Concourse C4}]{Concourse T4}
+\newcommand{\amper}{{\fontspec[Scale=.9]{Equity Text A}\selectfont\itshape\&}}
+\newcommand{\tla}{TLA${}^+$}
\def\name{Amin Bandali}
colorlinks = true,
urlcolor = black,
pdfauthor = {\name},
- pdfkeywords = {Programming Languages, Haskell, Rust, Formal Methods, Type
- Systems, Proof Systems, Automated Provers},
+ pdfkeywords = {Formal Methods, Formal Logic, Model Checking,
+ Verification, Type Systems, Proof Systems, Interactive Provers,
+ Programming Languages, Functional Programming, Haskell, Rust},
pdftitle = {\name: Curriculum Vitae},
pdfsubject = {Curriculum Vitae},
pdfpagemode = UseNone
top=1.0in
}
-% Customize page headers
-\pagestyle{myheadings}
-\markright{\name}
-\thispagestyle{empty}
+\pagestyle{fancy}
+\fancyhf{}% to clear existing header/footer
+\renewcommand\headrulewidth{0pt}
+\cfoot{\vspace*{-.25em}\textsc{Bandali CV --- page \thepage \xspace of
+ \pageref*{LastPage}}}
% Custom section fonts
\usepackage{sectsty}
\begin{document}
+\vspace*{-3em}
+
% Place name at left
{\huge \name}
% Alternatively, print name centered and bold:
%\centerline{\huge \bf \name}
-\bigskip
+\medskip
\begin{minipage}[t]{0.495\textwidth}
- Email: \href{mailto:amin9@my.yorku.ca}{amin9@my.yorku.ca} \\
- Homepage: \href{https://aminb.org}{https://aminb.org} \\
- Phone: available upon request
+ site: \href{https://bndl.org}{https://bndl.org} \\
+ email: \href{mailto:abandali@uwaterloo.ca}{abandali@uwaterloo.ca} \\
+ phone: available upon request
\end{minipage}
-\section*{Research Interests}
-
-\begin{itemize}
-\item Functional Programming and functional languages
-\item Formal methods, especially type systems, proof systems, and automated
- provers
-\item Verification, Haskell, and Rust
-\end{itemize}
+\vspace*{1em}
\section*{Education}
\begin{itemize}
-\item {\large B.Sc. Honours Computer Science}\, |\, {\small 2013--present}
+ \setlength\itemsep{.75em}
- \textit{York University}, Canada
+\item {\large Master of Mathematics (Computer Science)}\, |\, {\small 2018--present}
+
+ \textit{University of Waterloo}, Canada
\begin{itemize}
- \item GPA: 7.9/9.0
- \item Expected completion: December 2017
+ \item Supervised by Dr. Nancy Day | GPA: 3.7/4.0 | Expected
+ completion: December 2019
+ \item Research focusing on formal logic, model checking, and verification.
+ \end{itemize}
+
+\item {\large B.Sc. Honours Computer Science}\, |\, {\small 2013--2017}
+
+ \textit{York University}, Toronto, Canada
+
+ \begin{itemize}
+ \item GPA: 7.84/9.0
\item Relevant courses: System Specification \amper\
- Refinement, Operating System Design, Computational Complexity, Artificial
- Intelligence \amper\ Logic Programming, Design \amper\ Analysis of
- Algorithms.
+ Refinement, Software Requirements Eng., Software Design, Operating
+ Systems, Computational Complexity, Design \amper\ Analysis of Algorithms.
\item Finished first year (2013-14) at \textit{Carleton University} with a GPA
- of 11.0/12.0 then transferred to \textit{York University} in Fall 2014.
+ of 11.0/12.0, then transferred to \textit{York University} in Fall 2014.
\end{itemize}
-
+
\end{itemize}
-\section*{Research Experience}
+\section*{Publications}
\begin{itemize}
-\item {\large Software Engineering Lab, } York University\, |\, {\small summer 2016}
+\item {\large \tallnums MoDRE 2018}
+
+ \begin{itemize}
+ \item {\largersans A Comparison of the Declarative Modelling
+ Languages B, Dash, and \tla}
+ \textsf{\footnotesize
+ (\href{https://bndl.org/papers/2018-AbBaDaSe-modre.pdf}{pdf},
+ \href{https://bndl.org/papers/2018-AbBaDaSe-modre.bib}{bib})}
+
+ Ali Abbassi, Amin Bandali, Nancy A. Day, and Jose Serna.
+ \textit{2018 IEEE 8th International Model-Driven Requirements
+ Engineering Workshop (MoDRE)}
+ \end{itemize}
+
+\end{itemize}
+
+\section*{Work \amper\ Research Experience}
+
+\begin{itemize}
+
+\item {\large Cheriton School of Computer Science, } University of Waterloo\, |\, {\small 2018--present}
+
+ \textit{Teaching Assistant}
+
+ \begin{itemize}
+ \item I was a TA for \textsf{\small SE 212}, Logic and
+ Computation, taught by Dr. Day in Fall 2018.
+ \item I was a TA for \textsf{\small SE 463}, Software Requirements
+ Specification and Analysis, taught by Prof. Atlee.
+ \item I was a TA for \textsf{\small CS 136}, Elementary Algorithm
+ Design and Data Abstraction.
+ \end{itemize}
+
+\item {\large EECS Department, } York University\, |\, {\small fall 2017}
+
+ \textit{Teaching Assistant}
+
+ \begin{itemize}
+ \item I was a TA for \textsf{\small EECS 1012}, Net-Centric
+ Introduction to Computing, taught by Dr. Brown.
+ \end{itemize}
+
+\item {\large Software Engineering Lab, } York University\, |\, {\small summer
+ 2017}
+
+ \textit{Research Assistant}
+
+ \begin{itemize}
+ \item I worked on an implementation of
+ \href{https://bertrandmeyer.com/2014/12/07/lampsort/}{\textit{Lampsort}} in
+ Eiffel. I also extended the
+ \href{https://svn.eecs.yorku.ca/repos/sel-open/mathmodels/}{\texttt{mathmodels}}
+ library, implementing a \textsc{RATIONAL} class for working with arbitrarily
+ large rational numbers.
+ \end{itemize}
+
+\item {\large Software Engineering Lab, } York University\, |\, {\small summer
+ 2016}
\textit{Research Student}
\begin{itemize}
- \item Semester project: As an undergraduate research student, I
- worked on \textit{Literate Unit-B}, the verifier for Unit-B, a new
- formal method focused on formal verification of reactive, concurrent
- and distributed systems.
+ \item As an undergraduate research student, I worked on \textit{Literate
+ Unit-B}, the verifier for Unit-B, a new formal method focused on formal
+ verification of reactive, concurrent and distributed systems.
From the Literate Unit-B codebase (written in Haskell), I decoupled the
logic module and used it to build \textit{Unit-B Web}, a web interface using
Literate Unit-B to do predicate calculus proofs. \linebreak Unit-B Web, also
written in Haskell, supports the \LaTeX\ syntax of the Unit-B logic, renders
- user input on the page, and calls the sequent prover of the logic
- module, which uses the Z3 SMT solver to check the validity of user
- input.
+ user input on the page, and calls the sequent prover of the logic module,
+ which uses the \textsc{z3 smt} solver to check the validity of user input.
+
+ \item Further, I separated Literate Unit-B's type checker from its parser,
+ allowing easier substitution of other type checking algorithms and in
+ preparation for implementing subtyping.
+ \end{itemize}
+\end{itemize}
+
+\section*{Conference Presentations}
+
+\begin{itemize}
+\item {\large \tallnums CUCSC 2017}
- \item Volunteer work: I'm currently working on implementing subtyping for
- Literate Unit-B.
+ \begin{itemize}
+ \item {\largersans The Magic of Specifications and Type Systems}
+ (\href{https://static.aminb.org/cucsc-2017-slides.pdf}{slides}),
+ at Canadian Undergraduate Computer Science Conference, University of
+ Toronto, Canada, Jun 15--17 2017.
\end{itemize}
+
+\item {\large \tallnums Lassonde USSR Conference 2017}
+
+ \begin{itemize}
+ \item {\largersans The Magic of Specifications and Type Systems}
+ (\href{https://static.aminb.org/eecs4080-poster.pdf}{poster}),
+ at Lassonde Undergraduate Summer Student Research Conference, York University,
+ Toronto, Canada, August 15, 2017.
\end{itemize}
+\end{itemize}
+
\section*{Professional Experience}
\begin{itemize}
-\item {\large Lotek Wireless Inc., } Newmarket, Canada\, |\, {\small 2015--2016}
+\item {\large Lotek Wireless Inc., } Newmarket, Canada\, |\, {\small
+ summer 2015 \amper\ 2016}
\textit{Software Developer}
\end{itemize}
\vspace{.25em}
+\pagebreak % TODO: remove if necessary
+
\item {\large Athlete Builder, } Ottawa, Canada\, |\, {\small 2013--2014}
\textit{Software Developer}
\end{itemize}
+\section*{Recent Projects}
+
+\begin{itemize}
+\item \textit{Unit-B Web:} The web interface for Unit-B, as mentioned in the
+ \textit{Research Experience} section.\\
+ Source code available at
+ \href{https://github.com/unitb/unitb-web}{https://github.com/unitb/unitb-web}
+
+\item \textit{tex2png-hs:} A tool for easily converting \TeX\ and \LaTeX\ to
+ \textsc{PNG} images. \texttt{tex2png-hs} is a Haskell port of Xyne's
+ \texttt{tex2png} tool. It is a wrapper around \texttt{latex} and
+ \texttt{dvipng} and provides several options for modifying its behaviour, such
+ as cropping the whitespace around the content, specifying the \textsc{DPI}, or
+ inputting a full document.
+ Source code available at
+ \href{https://github.com/unitb/tex2png-hs}{https://github.com/unitb/tex2png-hs}
+
+\item For more projects, visit my personal site at
+ \href{https://bndl.org}{https://bndl.org}.
+\end{itemize}
+
\section*{Miscellaneous}
\begin{itemize}
-\item \textit{Programming Languages:} Haskell, Rust, Python, C, Emacs Lisp,
- \LaTeX, C\#, Java, JavaScript.
+\item \textit{Programming Languages:} Haskell, Rust, Eiffel, Python, C, Emacs
+ Lisp, C\#, JavaScript.
+\item \textit{Tools:} Emacs, Liquid Haskell, Git, Zsh, \LaTeX, CI Systems
+ (e.g. Travis CI), Rodin.
\item \textit{Platforms:} Arch Linux, Ubuntu and other distros, Android, macOS,
Windows.
-\item \textit{Tools:} Emacs, Git, Zsh, CI Systems (e.g. Travis CI),
- Rodin, SQL DBs.
\item \textit{Languages:} Persian (mother tongue), English (fluent), French
(beginner).
\end{itemize}
+% \section*{Achievements}
+
+% \begin{itemize}
+% \item Was among the top 1\% incoming students in Carleton University's
+% undergraduate Computer Science program, and a top student in the faculty of
+% science.
+% \item Highest standing in Computer Science in grade 11 (92\%) and grade 12
+% (100\%) at High school at Glebe~Collegiate~Institute.
+% \item Ranked in the top 25\% in the Canadian Senior Mathematics Contest held by
+% University of Waterloo, in 2013 (grade 11).
+% \item Graduated from high school with an average of 95\%; and designated as an Ontario Scholar.
+% \end{itemize}
+
+
% Footer
\bigskip
{\small Last updated: \today}