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