X-Git-Url: https://git.shemshak.org/~bandali/cv/blobdiff_plain/2acab84b10c38968b1021e9c23145637765c2737..df70fc95381dd70a0619853af8ac3ef3f6581d42:/cv.tex diff --git a/cv.tex b/cv.tex index e773490..4cd14a5 100644 --- a/cv.tex +++ b/cv.tex @@ -18,18 +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} -\setmonofont[Scale=0.85]{Ubuntu Mono} -\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} @@ -39,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, Interactive Provers}, pdftitle = {\name: Curriculum Vitae}, pdfsubject = {Curriculum Vitae}, pdfpagemode = UseNone @@ -52,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} @@ -87,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} @@ -119,12 +118,13 @@ \textit{York University}, Toronto, Canada \begin{itemize} - \item Expected completion: December 2017 \hspace{1em} GPA: 7.9/9.0 + \item Expected completion: December 2017 \hspace{-.15em} | \hspace{-.15em} + GPA: 7.9/9.0 \item Relevant courses: System Specification \amper\ 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} @@ -134,21 +134,43 @@ %% \hspace{1.3em} Average: 94.3\% \end{itemize} -\section*{Research Experience} +\section*{Research Interests} + +\begin{itemize} +\item Functional programming and functional languages. +\item Formal methods, especially type systems, proof systems, and interactive + provers. +\item Verification, Haskell, and Rust. +\end{itemize} + +\section*{Work \amper\ Research Experience} \begin{itemize} +\item {\large EECS Department, } York University\, |\, {\small fall 2017} + + \textit{Teaching Assistant} + + \begin{itemize} + \item I'm currently a TA for the Net-Centric Introduction to Computing course + taught by Dr. Brown. + \end{itemize} + \item {\large Software Engineering Lab, } York University\, |\, {\small summer 2017} \textit{Research Assistant} \begin{itemize} - \item I'm working on expanding and testing the \texttt{mathmodels} library, - collection of abstract mathematical collections written in Eiffel. I'll also - be modeling various pieces of software in TLA+. + \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} +\item {\large Software Engineering Lab, } York University\, |\, {\small summer + 2016} \textit{Research Student} @@ -162,7 +184,7 @@ 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 @@ -170,6 +192,29 @@ \end{itemize} \end{itemize} +\section*{Conference Presentations} + +\begin{itemize} +\item {\large \tallnums CUCSC 2017} + + \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} @@ -260,11 +305,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} @@ -277,10 +323,10 @@ \begin{itemize} \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, \LaTeX, CI Systems (e.g. Travis CI), - Rodin, SQL DBs. \item \textit{Languages:} Persian (mother tongue), English (fluent), French (beginner). \end{itemize}