Break some long lines
[~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
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 automated
142 provers.
143 \item Verification, Haskell, and Rust.
144 \end{itemize}
145
146 \section*{Research Experience}
147
148 \begin{itemize}
149 \item {\large Software Engineering Lab, } York University\, |\, {\small summer
150 2017}
151
152 \textit{Research Assistant}
153
154 \begin{itemize}
155 \item I'm working on expanding and testing \texttt{mathmodels},
156 library implementing abstract mathematical collections written in Eiffel.
157 I'll also be modeling various pieces of software in $\textrm{TLA}^+$.
158 \end{itemize}
159
160 \item {\large Software Engineering Lab, } York University\, |\, {\small summer
161 2016}
162
163 \textit{Research Student}
164
165 \begin{itemize}
166 \item As an undergraduate research student, I worked on \textit{Literate
167 Unit-B}, the verifier for Unit-B, a new formal method focused on formal
168 verification of reactive, concurrent and distributed systems.
169
170 From the Literate Unit-B codebase (written in Haskell), I decoupled the
171 logic module and used it to build \textit{Unit-B Web}, a web interface using
172 Literate Unit-B to do predicate calculus proofs. \linebreak Unit-B Web, also
173 written in Haskell, supports the \LaTeX\ syntax of the Unit-B logic, renders
174 user input on the page, and calls the sequent prover of the logic module,
175 which uses the \textsc{z3 smt} solver to check the validity of user input.
176
177 \item Further, I separated Literate Unit-B's type checker from its parser,
178 allowing easier substitution of other type checking algorithms and in
179 preparation for implementing subtyping.
180 \end{itemize}
181 \end{itemize}
182
183 \section*{Conference Talk}
184
185 \begin{itemize}
186 \item {\large \tallnums CUCSC 2017}
187
188 \begin{itemize}
189 \item {\largersans The Magic of Specifications and Type Systems}
190 (\hspace{.15mm}\href{https://static.aminb.org/cucsc-2017-slides.pdf}{pdf\hspace{.6mm}}),
191 at Canadian Undergraduate Computer Science Conference, University of
192 Toronto, Canada, Jun 15--17 2017.
193 \end{itemize}
194
195 \end{itemize}
196
197 \section*{Professional Experience}
198 \begin{itemize}
199 \item {\large Lotek Wireless Inc., } Newmarket, Canada\, |\, {\small 2015--2016}
200
201 \textit{Software Developer}
202
203 \begin{itemize}
204 \item Designed and implemented various applications in C\# and C to test and
205 analyze a satellite pass prediction algorithm for predicting the pass
206 windows of Argos satellites, for scheduling send times of data collected by
207 company's wildlife tracking products.
208
209 \item Designed and developed an Employee Portal web application in C\# and the
210 MVC framework, used by employees for accessing various data catalogs and
211 archives.
212 \end{itemize}
213 \vspace{.25em}
214
215 \item {\large Athlete Builder, } Ottawa, Canada\, |\, {\small 2013--2014}
216
217 \textit{Software Developer}
218
219 \begin{itemize}
220 \item Developed the Backend of Athlete Builder platform in C\# and MVC.
221 \item Was a key role in development of the platform core.
222 \item Developed the alpha version of Athlete Builder Android app in Java.
223 \end{itemize}
224 \end{itemize}
225
226 \section*{Volunteer Activities}
227
228 \begin{itemize}
229
230 \item {\large EmacsConf 2015, } \href{http://emacsconf.org}{emacsconf.org}\, |\,
231 {\small summer 2015}
232
233 \textit{Organizer}
234
235 \begin{itemize}
236 \item EmacsConf is a conference about the joy of Emacs and writing Emacs
237 Lisp. I was a key organizer and in charge of setting up and maintaining
238 several vital pieces of the EmacsConf infrastructure.
239 \end{itemize}
240 \vspace{.25em}
241
242 \item {\large VONICAL Inc., } Ottawa, Canada\, |\, {\small spring 2013}
243
244 \textit{Application Developer}
245
246 \begin{itemize}
247 \item As a volunteer, worked on development of EARN (Employment Accessibility
248 Resource Network) portal using the Anahita social networking platform, in
249 PHP under Linux.
250 \end{itemize}
251 \vspace{.25em}
252
253 \item {\large Hire Works Inc., } Ottawa, Canada\, |\, {\small winter 2013}
254
255 \textit{Mobile \& Web Developer}
256
257 \begin{itemize}
258 \item As a volunteer, I worked on a variety of web and mobile projects for
259 Hire Works, Inc.
260 \end{itemize}
261 \vspace{.25em}
262
263 \item {\large St. Brigid's Summer Camp, } Ottawa, Canada\, |\, {\small summer
264 2012}
265
266 \textit{Web Developer}
267
268 \begin{itemize}
269 \item As a volunteer, I re-designed and coded (from scratch) an updated and
270 revamped version of the photo gallery section of St. Brigid Summer Camp's
271 website in PHP and JavaScript. A refactored version of my code is deployed
272 and being used.
273 \end{itemize}
274 % \vspace{.25em}
275
276 \end{itemize}
277
278
279 \section*{Recent Projects}
280
281 \begin{itemize}
282 \item \textit{Unit-B Web:} The web interface for Unit-B, as mentioned in the
283 \textit{Research Experience} section.\\
284 Source code available at
285 \href{https://github.com/unitb/unitb-web}{https://github.com/unitb/unitb-web}
286
287 \item \textit{tex2png-hs:} A tool for easily converting \TeX\ and \LaTeX\ to
288 \textsc{PNG} images. \texttt{tex2png-hs} is a Haskell port of Xyne's
289 \texttt{tex2png} tool. It is a wrapper around \texttt{latex} and
290 \texttt{dvipng} and provides several options for modifying its behaviour, such
291 as cropping the whitespace around the content, specifying the \textsc{DPI}, or
292 inputting a full document.
293 Source code available at
294 \href{https://github.com/unitb/tex2png-hs}{https://github.com/unitb/tex2png-hs}
295
296 \item For more projects, visit my GitHub profile at
297 \href{https://github.com/aminb}{https://github.com/aminb}.
298 \end{itemize}
299
300 \section*{Miscellaneous}
301
302 \begin{itemize}
303 \item \textit{Programming Languages:} Haskell, Rust, Eiffel, Python, C, Emacs
304 Lisp, C\#, JavaScript.
305 \item \textit{Tools:} Emacs, Liquid Haskell, Git, Zsh, \LaTeX, CI Systems
306 (e.g. Travis CI), Rodin.
307 \item \textit{Platforms:} Arch Linux, Ubuntu and other distros, Android, macOS,
308 Windows.
309 \item \textit{Languages:} Persian (mother tongue), English (fluent), French
310 (beginner).
311 \end{itemize}
312
313
314 % Footer
315 \bigskip
316 {\small Last updated: \today}
317
318 \end{document}