4cd14a582ee4961831e8ccc4fcf092a1ff72caff
[~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[SmallCapsFont={Concourse C4}]{Concourse T4}
32 \setmonofont[Scale=0.9]{Triplicate T4c}
33 \newfontfamily{\tallnums}[RawFeature={+ss02}]{Equity Text A}
34 \newfontfamily{\largersans}[Scale=1.05,SmallCapsFont={Concourse C4}]{Concourse T4}
35 \newcommand{\amper}{{\fontspec[Scale=.9]{Equity Text A}\selectfont\itshape\&}}
36
37
38 \def\name{Amin Bandali}
39
40 % The following metadata will show up in the PDF properties
41 \hypersetup{
42 colorlinks = true,
43 urlcolor = black,
44 pdfauthor = {\name},
45 pdfkeywords = {Programming Languages, Functional Programming, Haskell, Rust,
46 Formal Methods, Type Systems, Proof Systems, Interactive Provers},
47 pdftitle = {\name: Curriculum Vitae},
48 pdfsubject = {Curriculum Vitae},
49 pdfpagemode = UseNone
50 }
51
52 \geometry{
53 body={6.5in, 9.0in},
54 left=1.0in,
55 top=1.0in
56 }
57
58 \pagestyle{fancy}
59 \fancyhf{}% to clear existing header/footer
60 \renewcommand\headrulewidth{0pt}
61 \cfoot{\vspace*{-.25em}\textsc{Bandali CV --- page \thepage \xspace of
62 \pageref*{LastPage}}}
63
64 % Custom section fonts
65 \usepackage{sectsty}
66 \sectionfont{\rmfamily\mdseries\Large}
67 \subsectionfont{\rmfamily\mdseries\itshape\large}
68
69 % Other possible font commands include:
70 % \ttfamily for teletype,
71 % \sffamily for sans serif,
72 % \bfseries for bold,
73 % \scshape for small caps,
74 % \normalsize, \large, \Large, \LARGE sizes.
75
76 % Don't indent paragraphs.
77 \setlength\parindent{0em}
78
79 % Make lists without bullets and compact spacing
80 \renewenvironment{itemize}{
81 \begin{list}{}{
82 \setlength{\leftmargin}{1.5em}
83 \setlength{\itemsep}{0.25em}
84 \setlength{\parskip}{0pt}
85 \setlength{\parsep}{0.25em}
86 }
87 }{
88 \end{list}
89 }
90 \setlist[enumerate]{itemsep=0.25em}
91
92 \begin{document}
93
94 \vspace*{-3em}
95
96 % Place name at left
97 {\huge \name}
98
99 % Alternatively, print name centered and bold:
100 %\centerline{\huge \bf \name}
101
102 \medskip
103
104 \begin{minipage}[t]{0.495\textwidth}
105 Email: \href{mailto:amin9@my.yorku.ca}{amin9@my.yorku.ca} \\
106 Site: \href{https://aminb.org}{https://aminb.org} \\
107 Phone: available upon request
108 \end{minipage}
109
110 \vspace*{1em}
111
112 \section*{Education}
113
114 \begin{itemize}
115 \setlength\itemsep{.75em}
116 \item {\large B.Sc. Honours Computer Science}\, |\, {\small 2013--present}
117
118 \textit{York University}, Toronto, Canada
119
120 \begin{itemize}
121 \item Expected completion: December 2017 \hspace{-.15em} | \hspace{-.15em}
122 GPA: 7.9/9.0
123 \item Relevant courses: System Specification \amper\
124 Refinement, Software Requirements Eng., Software Design, Operating
125 Systems, Computational Complexity, Design \amper\ Analysis of Algorithms.
126 \item Finished first year (2013-14) at \textit{Carleton University} with a GPA
127 of 11.0/12.0, then transferred to \textit{York University} in Fall 2014.
128 \end{itemize}
129
130 %% \item {\large High School Diploma}\, |\, {\small 2013}
131
132 %% \textit{Glebe Collegiate Institute}, Ottawa, Canada
133
134 %% \hspace{1.3em} Average: 94.3\%
135 \end{itemize}
136
137 \section*{Research Interests}
138
139 \begin{itemize}
140 \item Functional programming and functional languages.
141 \item Formal methods, especially type systems, proof systems, and interactive
142 provers.
143 \item Verification, Haskell, and Rust.
144 \end{itemize}
145
146 \section*{Work \amper\ Research Experience}
147
148 \begin{itemize}
149 \item {\large EECS Department, } York University\, |\, {\small fall 2017}
150
151 \textit{Teaching Assistant}
152
153 \begin{itemize}
154 \item I'm currently a TA for the Net-Centric Introduction to Computing course
155 taught by Dr. Brown.
156 \end{itemize}
157
158 \item {\large Software Engineering Lab, } York University\, |\, {\small summer
159 2017}
160
161 \textit{Research Assistant}
162
163 \begin{itemize}
164 \item I worked on an implementation of
165 \href{https://bertrandmeyer.com/2014/12/07/lampsort/}{\textit{Lampsort}} in
166 Eiffel. I also extended the
167 \href{https://svn.eecs.yorku.ca/repos/sel-open/mathmodels/}{\texttt{mathmodels}}
168 library, implementing a \textsc{RATIONAL} class for working with arbitrarily
169 large rational numbers.
170 \end{itemize}
171
172 \item {\large Software Engineering Lab, } York University\, |\, {\small summer
173 2016}
174
175 \textit{Research Student}
176
177 \begin{itemize}
178 \item As an undergraduate research student, I worked on \textit{Literate
179 Unit-B}, the verifier for Unit-B, a new formal method focused on formal
180 verification of reactive, concurrent and distributed systems.
181
182 From the Literate Unit-B codebase (written in Haskell), I decoupled the
183 logic module and used it to build \textit{Unit-B Web}, a web interface using
184 Literate Unit-B to do predicate calculus proofs. \linebreak Unit-B Web, also
185 written in Haskell, supports the \LaTeX\ syntax of the Unit-B logic, renders
186 user input on the page, and calls the sequent prover of the logic module,
187 which uses the \textsc{z3 smt} solver to check the validity of user input.
188
189 \item Further, I separated Literate Unit-B's type checker from its parser,
190 allowing easier substitution of other type checking algorithms and in
191 preparation for implementing subtyping.
192 \end{itemize}
193 \end{itemize}
194
195 \section*{Conference Presentations}
196
197 \begin{itemize}
198 \item {\large \tallnums CUCSC 2017}
199
200 \begin{itemize}
201 \item {\largersans The Magic of Specifications and Type Systems}
202 (\href{https://static.aminb.org/cucsc-2017-slides.pdf}{slides}),
203 at Canadian Undergraduate Computer Science Conference, University of
204 Toronto, Canada, Jun 15--17 2017.
205 \end{itemize}
206
207 \item {\large \tallnums Lassonde USSR Conference 2017}
208
209 \begin{itemize}
210 \item {\largersans The Magic of Specifications and Type Systems}
211 (\href{https://static.aminb.org/eecs4080-poster.pdf}{poster}),
212 at Lassonde Undergraduate Summer Student Research Conference, York University,
213 Toronto, Canada, August 15, 2017.
214 \end{itemize}
215
216 \end{itemize}
217
218 \section*{Professional Experience}
219 \begin{itemize}
220 \item {\large Lotek Wireless Inc., } Newmarket, Canada\, |\, {\small 2015--2016}
221
222 \textit{Software Developer}
223
224 \begin{itemize}
225 \item Designed and implemented various applications in C\# and C to test and
226 analyze a satellite pass prediction algorithm for predicting the pass
227 windows of Argos satellites, for scheduling send times of data collected by
228 company's wildlife tracking products.
229
230 \item Designed and developed an Employee Portal web application in C\# and the
231 MVC framework, used by employees for accessing various data catalogs and
232 archives.
233 \end{itemize}
234 \vspace{.25em}
235
236 \item {\large Athlete Builder, } Ottawa, Canada\, |\, {\small 2013--2014}
237
238 \textit{Software Developer}
239
240 \begin{itemize}
241 \item Developed the Backend of Athlete Builder platform in C\# and MVC.
242 \item Was a key role in development of the platform core.
243 \item Developed the alpha version of Athlete Builder Android app in Java.
244 \end{itemize}
245 \end{itemize}
246
247 \section*{Volunteer Activities}
248
249 \begin{itemize}
250
251 \item {\large EmacsConf 2015, } \href{http://emacsconf.org}{emacsconf.org}\, |\,
252 {\small summer 2015}
253
254 \textit{Organizer}
255
256 \begin{itemize}
257 \item EmacsConf is a conference about the joy of Emacs and writing Emacs
258 Lisp. I was a key organizer and in charge of setting up and maintaining
259 several vital pieces of the EmacsConf infrastructure.
260 \end{itemize}
261 \vspace{.25em}
262
263 \item {\large VONICAL Inc., } Ottawa, Canada\, |\, {\small spring 2013}
264
265 \textit{Application Developer}
266
267 \begin{itemize}
268 \item As a volunteer, worked on development of EARN (Employment Accessibility
269 Resource Network) portal using the Anahita social networking platform, in
270 PHP under Linux.
271 \end{itemize}
272 \vspace{.25em}
273
274 \item {\large Hire Works Inc., } Ottawa, Canada\, |\, {\small winter 2013}
275
276 \textit{Mobile \& Web Developer}
277
278 \begin{itemize}
279 \item As a volunteer, I worked on a variety of web and mobile projects for
280 Hire Works, Inc.
281 \end{itemize}
282 \vspace{.25em}
283
284 \item {\large St. Brigid's Summer Camp, } Ottawa, Canada\, |\, {\small summer
285 2012}
286
287 \textit{Web Developer}
288
289 \begin{itemize}
290 \item As a volunteer, I re-designed and coded (from scratch) an updated and
291 revamped version of the photo gallery section of St. Brigid Summer Camp's
292 website in PHP and JavaScript. A refactored version of my code is deployed
293 and being used.
294 \end{itemize}
295 % \vspace{.25em}
296
297 \end{itemize}
298
299
300 \section*{Recent Projects}
301
302 \begin{itemize}
303 \item \textit{Unit-B Web:} The web interface for Unit-B, as mentioned in the
304 \textit{Research Experience} section.\\
305 Source code available at
306 \href{https://github.com/unitb/unitb-web}{https://github.com/unitb/unitb-web}
307
308 \item \textit{tex2png-hs:} A tool for easily converting \TeX\ and \LaTeX\ to
309 \textsc{PNG} images. \texttt{tex2png-hs} is a Haskell port of Xyne's
310 \texttt{tex2png} tool. It is a wrapper around \texttt{latex} and
311 \texttt{dvipng} and provides several options for modifying its behaviour, such
312 as cropping the whitespace around the content, specifying the \textsc{DPI}, or
313 inputting a full document.
314 Source code available at
315 \href{https://github.com/unitb/tex2png-hs}{https://github.com/unitb/tex2png-hs}
316
317 \item For more projects, visit my GitHub profile at
318 \href{https://github.com/aminb}{https://github.com/aminb}.
319 \end{itemize}
320
321 \section*{Miscellaneous}
322
323 \begin{itemize}
324 \item \textit{Programming Languages:} Haskell, Rust, Eiffel, Python, C, Emacs
325 Lisp, C\#, JavaScript.
326 \item \textit{Tools:} Emacs, Liquid Haskell, Git, Zsh, \LaTeX, CI Systems
327 (e.g. Travis CI), Rodin.
328 \item \textit{Platforms:} Arch Linux, Ubuntu and other distros, Android, macOS,
329 Windows.
330 \item \textit{Languages:} Persian (mother tongue), English (fluent), French
331 (beginner).
332 \end{itemize}
333
334
335 % Footer
336 \bigskip
337 {\small Last updated: \today}
338
339 \end{document}