tweak order of more <link>s in atom and rss feeds
[~bandali/bndl.org] / cv.html
CommitLineData
7b376474
AB
1<!doctype html>
2<html lang="en">
3<head>
4<meta charset="utf-8" />
5<meta name="author" content="bandali" />
6<meta name="viewport" content="width=device-width, initial-scale=1" />
7<title>curriculum vitae &mdash; bandali</title>
8<link rel="canonical" href="https://bndl.org/cv.html" />
9<link rel="alternate" href="bandali-cv.txt" title="plain text" type="text/plain" />
10<link rel="alternate" href="https://p.bndl.org/bandali-cv.pdf" title="pdf" type="application/pdf" />
11<style>
12body {
13 line-height: 1.6;
14 max-width: 37.5em;
15 margin: 0 auto;
16 padding: 0 1em;
17}
18.tex {
19 font-family: "Tex Gyre Termes", serif;
20 text-transform: uppercase;
21}
22.tex span {
23 font-size: 0.75em;
24 margin-left: -0.05em;
25 margin-right: -0.20em;
26}
27.tex sub {
28 font-size: 1em;
29 margin-left: -0.1667em;
30 margin-right: -0.125em;
31 vertical-align: -0.5ex;
32}
33.tex sup {
34 font-size: 0.85em;
35 margin-left: -0.36em;
36 margin-right: -0.15em;
37 vertical-align: 0.15em;
38}
39.box {
40 background: #f8f8f8;
41 border: 1px solid #e6e6e6;
42 border-radius: 4px;
43 font-size: 0.95em;
44 padding: 0.6em 0.9em;
45}
46#link-grid {
47 display: grid;
48 grid: none / auto 1fr;
49 gap: 0.2em 1em;
50}
51#link-grid dd { margin-left: 0; }
52@media (prefers-color-scheme: dark) {
53 body { background: #1c1c1c; color: white; }
54 a:link { color: #acdeff; }
55 a:visited { color: #f8f; }
56 a:active { color: #e00; }
57 .box { background: #1b1d1e; border-color: #373c34; }
58}
59</style>
60</head>
61<body>
62<h1><a href=".">bandali</a>'s curriculum vitae</h1>
63
64<p class="box">also available in plain text as
65as <a href="bandali-cv.txt">bandali-cv.txt</a></p>
66
67<dl id="link-grid">
68<dt>Site</dt>
69<dd><a href="https://bndl.org">bndl.org</a></dd>
70<dt>Email</dt>
71<dd>bandali@gnu.org</dd>
72<dt>Phone</dt>
73<dd>available upon request via email</dd>
74</dl>
75
76<h2>Summary of Qualifications</h2>
77
78<ul>
79<li>Experience in building software for diverse areas and platforms in
80various programming languages such as C, Python, and Haskell.</li>
81<li>Passionate about applying scientific and engineering methods while
82designing and building software systems.</li>
83<li>Using formal specification techniques to find specification-level
84bugs early in the design stage rather than implementation.</li>
85<li>GNU/Linux system administration on both the client and the server
86side.</li>
87<li>Problem-solving and communication skills, honed through research
88and teaching roles held in graduate school, as well as holding
89tutorials discussing complex concepts with fellow students and peers
90throughout undergraduate studies and high school.</li>
91<li>Organizational and teamwork skills, strengthened thanks to
92community service in form of volunteer activities including organizing
93the EmacsConf conference and volunteer work for charities such as the
94Free Software Foundation and St. Brigid's Summer Camp.</li>
95</ul>
96
97<h2>Education</h2>
98
99<dl>
100<dt>Master of Mathematics in Computer Science, University of Waterloo,
1012020</dt>
102<dd>Research focus: formal logic, model checking, verification</dd>
103<dd>Thesis: <a href="#mmath">A Comprehensive Study of Declarative
104Modelling Languages</a></dd>
105<dd>Supervisor: <a href="https://cs.uwaterloo.ca/~nday/">Prof. Nancy
106A. Day</a></dd>
107<dd>GPA: 3.7/4.0</dd>
108
109<dt>Bachelor of Science with Honours in Computer Science, York
110University, 2017</dt>
111<dd>Favourite courses: System Specification &amp; Refinement, Software
112Requirements Engineering, Software Design, Operating Systems,
113Computational Complexity, Design &amp; Analysis of Algorithms</dd>
114<dd>GPA: 7.84/9.0</dd>
115</dl>
116
117<h2 id="research">Research Interests</h2>
118
119formal logic, model checking, theorem proving, verification
120
121<h2 id="publications">Publications &amp; Presentations</h2>
122
123<p>The complete bibliography of my publications is available as
124a <a href="bandali.bib">bandali.bib</a>
125<span class="tex">B<span>ib</span>T<sub>e</sub>X</span> bibliography
126file.</p>
127
128<h3>Papers</h3>
129
130<dl>
131<dt>A Comparison of the Declarative Modelling Languages B, DASH, and
132TLA<sup>+</sup>
133<small>
134[ <a href="https://p.bndl.org/modre2018-declarative.pdf">pdf</a>
135| <a href="https://cs.uwaterloo.ca/~nday/artifacts/2018-modre/">models</a>
136]
137</small>
138</dt>
139<dd>
140Ali Abbassi, <a href="https://bndl.org">Amin Bandali</a>,
141<a href="https://cs.uwaterloo.ca/~nday/">Nancy A. Day</a>, Jose Serna<br />
142<em>8th IEEE International Model-Driven Requirements Engineering Workshop, MoDRE@RE 2018</em><br />
143Copyright &copy; 2018 IEEE. All Rights Reserved. Sadly.
144</dd>
145</dl>
146
147<h3>Theses</h3>
148
149<dl>
150<dt id="mmath">A Comprehensive Study of Declarative Modelling
151Languages
152<small>
153[ <a href="https://p.bndl.org/bandali-mmath-thesis.pdf">pdf</a>
154| <a href="https://hdl.handle.net/10012/16059">hdl</a>
155| <a href="https://bndl.org/mmath.html">http</a>
156]
157</small>
158</dt>
159<dd>
160<a href="https://bndl.org">Amin Bandali</a><br />
161<em><abbr title="Master of Mathematics">MMath</abbr> Thesis,
162University of Waterloo, David R. Cheriton School of Computer Science,
163July 2020.</em>
164</dd>
165</dl>
166
167<h3>Talks</h3>
168
169<dl>
170<dt>Jami and how it empowers users
171<small>
172[ <a href="https://p.bndl.org/bandali-jami-libreplanet-2021.pdf">pdf</a>
173(<a href="https://p.bndl.org/bandali-jami-libreplanet-2021-with-notes.pdf">with
174notes</a>)
175| <a href="https://bndl.org/libreplanet-2021.html">http</a>
176]
177</small>
178</dt>
179<dd>
180<a href="https://bndl.org">Amin Bandali</a><br />
181<em>Presented at the LibrePlanet 2021 Conference, March 20, 2021.</em>
182</dd>
183
184<dt>The Magic of Specifications and Type Systems
185<small>
186[ <a href="https://p.bndl.org/cucsc-2017-slides.pdf">slides</a>
187| <a href="https://p.bndl.org/eecs4080-poster.pdf">poster</a>
188]
189</small>
190</dt>
191<dd>
192<a href="https://bndl.org">Amin Bandali</a>,
193<a href="https://github.com/cipher1024">Simon Hudon</a>,
194<a href="https://www.eecs.yorku.ca/~jonathan/">Jonathan S. Ostroff</a><br />
195<em>Slides presented at the Canadian Undergraduate Computer Science
196Conference 2017, University of Toronto, Canada, June 15&ndash;17, 2017.<br />
197Poster presented at the Lassonde Undergraduate Summer Student Research
198Conference, York University, Toronto, Canada, August 15, 2017.</em>
199</dd>
200
201<dt>Introducing YULUG</dt>
202<dd>
203<a href="https://bndl.org">Amin Bandali</a><br />
204<em>Slides introducing YULUG &mdash; (GNU/)Linux User Group at York
205University &mdash; presented at a Computing Students Hub (CSHub) tech
206talk at York University, Toronto, Canada, February 12, 2015.</em>
207</dd>
208</dl>
209
210<h2>Work &amp; Research Experience</h2>
211
212<dl>
213<dt>Savoir-faire Linux</dt>
214<dd>fall 2020&ndash;present | Free Software Consultant | Consultant en
215logiciel libre</dd>
216<dd>
217<dl>
218<dd>I am part of the Jami core development team at Savoir-faire Linux,
219where I work on various parts of Jami as a Free Software Consultant.
220These include working on and maintaining the GTK+-based jami-gnome
221client application written in C++ and C, and packaging Jami for
222various GNU/Linux distributions and other platforms. I also serve as
223a community liaison between the Jami core team and the wider free
224software community around Jami, with the goal of helping facilitate
225the communications and relations between the two.</dd>
226</dl>
227</dd>
228
229<dt>Free Software Foundation (FSF)</dt>
230<dd>spring 2020 | Intern</dd>
231<dd>
232<dl>
233<dd>Working with the FSF tech team in a sysadmin role on a variety of
234tasks including installation of the Sourcehut free software forge on
235the FSF infrastructure for evaluation for the FSF forge project, as
236well as a series of enhancements
237for <a href="https://www.gnu.org">www.gnu.org</a>.</dd>
238</dl>
239</dd>
240
241<dt>Cheriton School of Science, University of Waterloo</dt>
242<dd>winter 2018&ndash;spring 2020 | TA, IA, RA <sup>[*]</sup></dd>
243<dd>
244<dl>
245<dd>SE 465 (Software Testing and Quality Assurance): TA in winter
2462020</dd>
247<dd>SE 212 (Logic and Computation): <a href="se212-f19.html">IA in
248Fall 2019</a>, TA in fall 2018</dd>
249<dd>SE 463 (Software Requirement Specification and Analysis): TA in
250spring 2019 and 2018</dd>
251<dd>CS 136 (Elementary Algorithm Design and Data Abstraction): TA in
252winter 2018</dd>
253</dl>
254</dd>
255<dd><small>[*]: Teaching Assistant (marking exams and assignments),
256Instructional Apprentice (holding tutorials and marking), Research
257Assistant (doing research for/with supervisor)</small></dd>
258
259<dt>Department of Electrical Engineering &amp; Computer Science, York
260University</dt>
261<dd>fall 2017 | Teaching Assistant</dd>
262<dd>
263<dl>
264<dd>EECS 1012 (Net-Centric Introduction to Computing): TA in fall
2652017, running labs and marking labs and exams</dd>
266</dl>
267</dd>
268
269<dt>Software Engineering Lab, York University</dt>
270<dd>
271<dl>
272<dt>summer 2017 | Research Assistant</dt>
273<dd>Worked on an implementation
274of <a href="https://bertrandmeyer.com/2014/12/07/lampsort/">Lampsort</a>
275in Eiffel. Extended
276the <a href="https://svn.eecs.yorku.ca/repos/sel-open/mathmodels/">mathmodels</a>
277library, implementing a <code>rational</code> class for working with
278arbitrarily large rational numbers.</dd>
279</dl>
280</dd>
281<dd>
282<dl>
283<dt>summer 2016 | Research Student</dt>
284<dd>Worked on <em>Literate Unit-B</em>, the verifier for Unit-B, a
285new formal method focused on formal verification of reactive,
286concurrent and distributed systems. From the Literate Unit-B codebase
287(written in Haskell), decoupled the logic module and used it to build
288<em>Unit-B Web</em>, a web interface using Literate Unit-B to do
289predicate calculus proofs. Unit-B Web, also written in Haskell,
290supports the <span class="tex">L<sup>a</sup>T<sub>e</sub>X</span>
291syntax of the Unit-B logic, renders user input on the page, and calls
292the sequent prover of the logic module, which uses the Z3 SMT solver
293to check the validity of user input.</dd>
294<dd>Separated Literate Unit-B's type checker from its parser in a
295large refactoring, allowing easier substitution of other type checking
296algorithms, and in preparation for implementing subtyping.</dd>
297</dl>
298</dd>
299
300<dt>Lotek Wireless Inc.</dt>
301<dd>
302<dl>
303<dt>summer 2016 | Software Developer</dt>
304<dd>Designed and developed an Employee Portal web application in C#
305and the MVC framework, used by employees for accessing various data
306catalogs and archives.</dd>
307</dl>
308</dd>
309<dd>
310<dl>
311<dt>summer 2015 | Software Developer</dt>
312<dd>Designed and implemented various applications in C# and C for
313analyzing and testing a satellite pass prediction algorithm for
314predicting the pass windows of Argos satellites, for scheduling send
315times of data collected by the company's wildlife tracking
316products.</dd>
317</dl>
318</dd>
319
320<dt>Athlete Builder</dt>
321<dd>
322<dl>
323<dt>2013&ndash;2014 | Software Developer</dt>
324<dd>Developed the Backend of Athlete Builder platform in C# and
325MVC.</dd>
326<dd>Key role in development of the platform core.</dd>
327<dd>Developed the alpha version of Athlete Builder Android application
328in Java.</dd>
329</dl>
330</dd>
331</dl>
332
333<h2>Skills</h2>
334<dl>
335<dt>Programming languages</dt>
336<dd>C, C++, Haskell, Emacs Lisp, Guile Scheme, Python, Eiffel, Bash,
337C#, Java, JavaScript</dd>
338<dt>Tools</dt>
339<dd>GNU Emacs, Git, Alloy, TLA<sup>+</sup>,
340ProB, <span class="tex">L<sup>a</sup>T<sub>e</sub>X</span>, continuous
341integration systems</dd>
342<dt>Platforms</dt>
343<dd>GNU/Linux distributions, including Trisquel, GNU Guix, Debian</dd>
344<dt>Languages</dt>
345<dd>Persian (mother tongue), English (fluent), French (beginner)</dd>
346</dl>
347
348<h2>Community Service</h2>
349<dl>
350<dt>EmacsConf conference</dt>
351<dd>
352<dl>
353<dt>2019&ndash;present</dt>
354<dd>Chief organizer and maintainer of conference infrastructure,
355including the streaming servers.</dd>
356<dt>2015</dt>
357<dd>One of the organizers and in charge of setting up and maintaining
358vital pieces of infrastructure.</dd>
359</dl>
360</dd>
361<dt>Computer Science Club (CSC) of the University of Waterloo</dt>
362<dd>Served as the CSC System Administrator in Winter and Spring 2020.
363Present member of the CSC Systems Committee, overseeing and
364maintaining a large fleet of GNU/Linux servers for CSC members, as
365well as running the CSC mirror for free software projects.</dd>
366<dd>Notable projects
367include <a href="https://mailman.csclub.uwaterloo.ca/pipermail/csc-general/2020-July/000837.html">launching
368the CSC web IRC client</a> as part of an effort in bringing modern
369user freedom- and privacy-respecting communication tools to club
370members.</dd>
371<dt>Free/libre software contributions</dt>
372<dd>Co-maintainer
373of <a href="https://www.gnu.org/software/gnuzilla/gnuzilla.html">GNUzilla
374and IceCat</a>, the GNU version of the Mozilla suite and the Firefox
375browser respectively.</dd>
376<dd>Maintainer
377of <a href="https://www.gnu.org/software/emacs/erc.html">ERC</a>, the
378powerful, modular, and extensible IRC client distributed with GNU
379Emacs.</dd>
380<dd>Committer and regular contributor
381to <a href="https://www.gnu.org/software/emacs/emacs.html">GNU
382Emacs</a> and <a href="https://guix.gnu.org">GNU Guix</a>.</dd>
383<dd><a href="https://www.gnu.org/people/webmeisters.html#bandali">GNU
384webmaster</a>
385and <a href="https://savannah.gnu.org/maintenance/SavannahHacker/">GNU
386Savannah hacker</a>.</dd>
387<dt>Volunteer work</dt>
388<dd>
389<dl>
390<dt>spring 2013 | Application Developer for VONICAL Inc.</dt>
391<dd>Worked on development of the Employment Accessibility Resource
392Network (EARN) portal using the Anahita social networking platform,
393written in PHP and running on GNU/Linux.</dd>
394<dt>winter 2013 | Mobile &amp; Web Developer for Hire Works Inc.</dt>
395<dd>Worked on a variety of web and mobile development projects for
396Hire Works.</dd>
397<dt>summer 2012 | Web Developer for St. Brigid's Summer Camp</dt>
398<dd>Redesigned and revamped the codebase for the photo gallery section
399of the camp's website in PHP and JavaScript.</dd>
400</dl>
401</dd>
402</dl>
403</body>
404</html>