X-Git-Url: https://git.shemshak.org/~bandali/cv/blobdiff_plain/10664de5948c0a04d360967ad2df8dfc9600d520..6da83bf5d074fa20b270a8da4fc1a7ffa216d461:/cv.tex diff --git a/cv.tex b/cv.tex index e48fc28..8e65b0a 100644 --- a/cv.tex +++ b/cv.tex @@ -18,17 +18,21 @@ \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\&}} \def\name{Amin Bandali} @@ -38,8 +42,8 @@ colorlinks = true, urlcolor = black, pdfauthor = {\name}, - pdfkeywords = {Programming Languages, Haskell, Rust, Formal Methods, Type - Systems, Proof Systems, Automated Provers}, + pdfkeywords = {Programming Languages, Functional Programming, Haskell, Rust, + Formal Methods, Type Systems, Proof Systems, Automated Provers}, pdftitle = {\name: Curriculum Vitae}, pdfsubject = {Curriculum Vitae}, pdfpagemode = UseNone @@ -51,10 +55,11 @@ 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} @@ -86,28 +91,23 @@ \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} \\ + Site: \href{https://aminb.org}{https://aminb.org} \\ 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} @@ -118,27 +118,47 @@ \textit{York University}, Toronto, Canada \begin{itemize} - \item GPA: 7.9/9.0 - \item Expected completion: December 2017 + \item Expected completion: December 2017 \hspace{-.15em} | \hspace{-.15em} + GPA: 7.9/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} -\item {\large High School Diploma}\, |\, {\small 2013} +%% \item {\large High School Diploma}\, |\, {\small 2013} + +%% \textit{Glebe Collegiate Institute}, Ottawa, Canada - \textit{Glebe Collegiate Institute}, Ottawa, Canada +%% \hspace{1.3em} Average: 94.3\% +\end{itemize} - \hspace{1.3em} Average: 94.3\% +\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} \section*{Research Experience} \begin{itemize} -\item {\large Software Engineering Lab, } York University\, |\, {\small summer 2016} +\item {\large Software Engineering Lab, } York University\, |\, {\small summer + 2017} + + \textit{Research Assistant} + + \begin{itemize} + \item I'm working on expanding and testing \texttt{mathmodels}, + library implementing abstract mathematical collections written in Eiffel. + I'll also be modeling various pieces of software in $\textrm{TLA}^+$. + \end{itemize} + +\item {\large Software Engineering Lab, } York University\, |\, {\small summer + 2016} \textit{Research Student} @@ -152,14 +172,28 @@ 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. + 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 Talk} + +\begin{itemize} +\item {\large \tallnums CUCSC 2017} + + \begin{itemize} + \item {\largersans The Magic of Specifications and Type Systems} + (\hspace{.15mm}\href{https://static.aminb.org/cucsc-2017-slides.pdf}{pdf\hspace{.6mm}}), + at Canadian Undergraduate Computer Science Conference, University of + Toronto, Canada, Jun 15--17 2017. \end{itemize} +\end{itemize} + \section*{Professional Experience} \begin{itemize} \item {\large Lotek Wireless Inc., } Newmarket, Canada\, |\, {\small 2015--2016} @@ -250,11 +284,12 @@ 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 PNG - images. \verb#tex2png-hs# is a Haskell port of Xyne's \verb#tex2png# tool. It - is a wrapper around \verb#latex# and \verb#dvipng# and provides several - options for modifying its behaviour, such as cropping the whitespace around - the content, specifying the DPI, or inputting a full document.\\ +\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} @@ -265,12 +300,12 @@ \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}