959c5e631eef79c94f8bb9061e1e1a808b330a0f
[~bandali/cv] / cv.tex
1 %% cv.tex
2 %% Copyright 2016-2017 Amin Bandali <amin@aminb.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[Scale=0.95,SmallCapsFont={Concourse C4}]{Concourse T4}
32 \setmonofont[Scale=0.9]{Triplicate T4c}
33 % \newfontfamily{\smallcaps}[RawFeature={+c2sc,+scmp}]{Equity Text A}
34 \newcommand{\amper}{{\fontspec[Scale=.9]{Equity Text A}\selectfont\itshape\&}}
35
36 %% Load Microtype with default settings. This will use the
37 %% EB-Garamond protrusion definitions if present.
38 \usepackage{microtype}
39
40
41 \def\name{Amin Bandali}
42
43 % The following metadata will show up in the PDF properties
44 \hypersetup{
45 colorlinks = true,
46 urlcolor = black,
47 pdfauthor = {\name},
48 pdfkeywords = {Programming Languages, Functional Programming, Haskell, Rust,
49 Formal Methods, Type Systems, Proof Systems, Automated Provers},
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 \thepage \xspace of \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*{-2em}
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 Email: \href{mailto:amin9@my.yorku.ca}{amin9@my.yorku.ca} \\
108 Site: \href{https://aminb.org}{https://aminb.org} \\
109 Phone: available upon request
110 \end{minipage}
111
112 \vspace*{1em}
113
114 \section*{Research Interests}
115
116 \begin{itemize}
117 \item Functional Programming and functional languages.
118 \item Formal methods, especially type systems, proof systems, and automated
119 provers.
120 \item Verification, Haskell, and Rust.
121 \end{itemize}
122
123 \section*{Education}
124
125 \begin{itemize}
126 \setlength\itemsep{.75em}
127 \item {\large B.Sc. Honours Computer Science}\, |\, {\small 2013--present}
128
129 \textit{York University}, Toronto, Canada
130
131 \begin{itemize}
132 \item Expected completion: December 2017 \hspace{-.15em} | \hspace{-.15em}
133 GPA: 7.9/9.0
134 \item Relevant courses: System Specification \amper\
135 Refinement, Software Requirements Eng., Software Design, Operating
136 Systems, Computational Complexity, Design \amper\ Analysis of Algorithms.
137 \item Finished first year (2013-14) at \textit{Carleton University} with a GPA
138 of 11.0/12.0, then transferred to \textit{York University} in Fall 2014.
139 \end{itemize}
140
141 %% \item {\large High School Diploma}\, |\, {\small 2013}
142
143 %% \textit{Glebe Collegiate Institute}, Ottawa, Canada
144
145 %% \hspace{1.3em} Average: 94.3\%
146 \end{itemize}
147
148 \section*{Research Experience}
149
150 \begin{itemize}
151 \item {\large Software Engineering Lab, } York University\, |\, {\small summer
152 2017}
153
154 \textit{Research Assistant}
155
156 \begin{itemize}
157 \item I'm working on expanding and testing \texttt{mathmodels},
158 library implementing abstract mathematical collections written in Eiffel. I'll also
159 be modeling various pieces of software in $\textrm{TLA}^+$.
160 \end{itemize}
161
162 \item {\large Software Engineering Lab, } York University\, |\, {\small summer 2016}
163
164 \textit{Research Student}
165
166 \begin{itemize}
167 \item As an undergraduate research student, I worked on \textit{Literate
168 Unit-B}, the verifier for Unit-B, a new formal method focused on formal
169 verification of reactive, concurrent and distributed systems.
170
171 From the Literate Unit-B codebase (written in Haskell), I decoupled the
172 logic module and used it to build \textit{Unit-B Web}, a web interface using
173 Literate Unit-B to do predicate calculus proofs. \linebreak Unit-B Web, also
174 written in Haskell, supports the \LaTeX\ syntax of the Unit-B logic, renders
175 user input on the page, and calls the sequent prover of the logic module,
176 which uses the \textsc{z3 smt} solver to check the validity of user input.
177
178 \item Further, I separated Literate Unit-B's type checker from its parser,
179 allowing easier substitution of other type checking algorithms and in
180 preparation for implementing subtyping.
181 \end{itemize}
182 \end{itemize}
183
184 \section*{Professional Experience}
185 \begin{itemize}
186 \item {\large Lotek Wireless Inc., } Newmarket, Canada\, |\, {\small 2015--2016}
187
188 \textit{Software Developer}
189
190 \begin{itemize}
191 \item Designed and implemented various applications in C\# and C to test and
192 analyze a satellite pass prediction algorithm for predicting the pass
193 windows of Argos satellites, for scheduling send times of data collected by
194 company's wildlife tracking products.
195
196 \item Designed and developed an Employee Portal web application in C\# and the
197 MVC framework, used by employees for accessing various data catalogs and
198 archives.
199 \end{itemize}
200 \vspace{.25em}
201
202 \item {\large Athlete Builder, } Ottawa, Canada\, |\, {\small 2013--2014}
203
204 \textit{Software Developer}
205
206 \begin{itemize}
207 \item Developed the Backend of Athlete Builder platform in C\# and MVC.
208 \item Was a key role in development of the platform core.
209 \item Developed the alpha version of Athlete Builder Android app in Java.
210 \end{itemize}
211 \end{itemize}
212
213 \section*{Volunteer Activities}
214
215 \begin{itemize}
216
217 \item {\large EmacsConf 2015, } \href{http://emacsconf.org}{emacsconf.org}\, |\,
218 {\small summer 2015}
219
220 \textit{Organizer}
221
222 \begin{itemize}
223 \item EmacsConf is a conference about the joy of Emacs and writing Emacs
224 Lisp. I was a key organizer and in charge of setting up and maintaining
225 several vital pieces of the EmacsConf infrastructure.
226 \end{itemize}
227 \vspace{.25em}
228
229 \item {\large VONICAL Inc., } Ottawa, Canada\, |\, {\small spring 2013}
230
231 \textit{Application Developer}
232
233 \begin{itemize}
234 \item As a volunteer, worked on development of EARN (Employment Accessibility
235 Resource Network) portal using the Anahita social networking platform, in
236 PHP under Linux.
237 \end{itemize}
238 \vspace{.25em}
239
240 \item {\large Hire Works Inc., } Ottawa, Canada\, |\, {\small winter 2013}
241
242 \textit{Mobile \& Web Developer}
243
244 \begin{itemize}
245 \item As a volunteer, I worked on a variety of web and mobile projects for
246 Hire Works, Inc.
247 \end{itemize}
248 \vspace{.25em}
249
250 \item {\large St. Brigid's Summer Camp, } Ottawa, Canada\, |\, {\small summer
251 2012}
252
253 \textit{Web Developer}
254
255 \begin{itemize}
256 \item As a volunteer, I re-designed and coded (from scratch) an updated and
257 revamped version of the photo gallery section of St. Brigid Summer Camp's
258 website in PHP and JavaScript. A refactored version of my code is deployed
259 and being used.
260 \end{itemize}
261 % \vspace{.25em}
262
263 \end{itemize}
264
265
266 \section*{Recent Projects}
267
268 \begin{itemize}
269 \item \textit{Unit-B Web:} The web interface for Unit-B, as mentioned in the
270 \textit{Research Experience} section.\\
271 Source code available at
272 \href{https://github.com/unitb/unitb-web}{https://github.com/unitb/unitb-web}
273
274 \item \textit{tex2png-hs:} A tool for easily converting \TeX\ and \LaTeX\ to
275 \textsc{PNG} images. \texttt{tex2png-hs} is a Haskell port of Xyne's
276 \texttt{tex2png} tool. It is a wrapper around \texttt{latex} and
277 \texttt{dvipng} and provides several options for modifying its behaviour, such
278 as cropping the whitespace around the content, specifying the \textsc{DPI}, or
279 inputting a full document.
280 Source code available at
281 \href{https://github.com/unitb/tex2png-hs}{https://github.com/unitb/tex2png-hs}
282
283 \item For more projects, visit my GitHub profile at
284 \href{https://github.com/aminb}{https://github.com/aminb}.
285 \end{itemize}
286
287 \section*{Miscellaneous}
288
289 \begin{itemize}
290 \item \textit{Programming Languages:} Haskell, Rust, Eiffel, Python, C, Emacs
291 Lisp, C\#, JavaScript.
292 \item \textit{Tools:} Emacs, Liquid Haskell, Git, Zsh, \LaTeX, CI Systems
293 (e.g. Travis CI), Rodin.
294 \item \textit{Platforms:} Arch Linux, Ubuntu and other distros, Android, macOS,
295 Windows.
296 \item \textit{Languages:} Persian (mother tongue), English (fluent), French
297 (beginner).
298 \end{itemize}
299
300
301 % Footer
302 \bigskip
303 {\small Last updated: \today}
304
305 \end{document}