fa: typo fix
[~bandali/bndl.org] / bandali-cv.txt
1 curriculum vitae
2
3 Amin Bandali
4
5 ------------------------------------------
6 site: https://bndl.org
7 email: bandali@gnu.org
8 bandali@uwaterloo.ca
9 phone: available upon request via email
10
11 this file: https://bndl.org/bandali-cv.txt
12 last update: 2021-10-30
13 ------------------------------------------
14
15
16 SUMMARY OF QUALIFICATIONS
17
18 - Experience in building software for diverse areas and platforms
19 in various programming languages such as C, Python, and Haskell.
20
21 - Passionate about applying scientific and engineering methods in
22 design and implementation of software systems.
23
24 - Using formal specification techniques to find specification-level
25 bugs early in the design stage rather than implementation.
26
27 - GNU/Linux system administration on both the client and the server
28 side.
29
30 - Problem-solving and communication skills, honed through research
31 and teaching roles held in graduate school, as well as holding
32 tutorials discussing complex concepts with fellow students and
33 peers throughout undergraduate studies and high school.
34
35 - Organizational and teamwork skills, strengthened thanks to
36 community service in form of volunteer activities including
37 organizing the EmacsConf conference and volunteer work for
38 charities such as the Free Software Foundation and St. Brigid's
39 Summer Camp.
40
41
42 EDUCATION
43
44 Master of Mathematics in Computer Science,
45 University of Waterloo, 2020
46
47 Research focus:
48 formal logic, model checking, verification
49 Thesis:
50 A Comprehensive Study of Declarative Modelling Languages
51 Supervisor:
52 Prof. Nancy A. Day
53 GPA:
54 3.7/4.0
55
56 Bachelor of Science with Honours in Computer Science,
57 York University, 2017
58
59 Favourite courses:
60 System Specification & Refinement, Software Requirements
61 Engineering, Software Design, Operating Systems, Computational
62 Complexity, Design & Analysis of Algorithms
63 GPA:
64 7.84/9.0
65
66
67 RESEARCH INTERESTS
68
69 formal logic, model checking, theorem proving, verification
70
71
72 PUBLICATIONS & PRESENTATIONS
73
74 The complete bibliography of my publications is available as
75 a BibTeX bibliography file from https://bndl.org/bandali.bib.
76
77 PAPERS
78
79 A Comparison of the Declarative Modelling Languages B, DASH,
80 and TLA+
81
82 Ali Abbassi, Amin Bandali, Nancy A. Day, Jose Serna
83 8th IEEE International Model-Driven Requirements
84 Engineering Workshop, MoDRE@RE 2018
85 Copyright (c) 2018 IEEE. All Rights Reserved. Sadly.
86
87 pdf: https://bndl.org/papers/modre2018-declarative.pdf
88 bib: https://bndl.org/papers/modre2018-declarative.bib
89 models: https://cs.uwaterloo.ca/~nday/artifacts/2018-modre/
90
91 THESES
92
93 A Comprehensive Study of Declarative Modelling Languages
94
95 Amin Bandali
96 MMath Thesis, University of Waterloo, David R. Cheriton
97 School of Computer Science, July 2020.
98
99 pdf: https://bndl.org/theses/bandali-mmath-thesis.pdf
100 bib: https://bndl.org/theses/bandali-mmath-thesis.bib
101 hdl: https://hdl.handle.net/10012/16059
102 http: https://bndl.org/theses/mmath.html
103
104 TALKS
105
106 Jami and how it empowers users
107
108 Amin Bandali
109 Presented at the LibrePlanet 2021 Conference, March 20, 2021.
110
111 slides: https://bndl.org/talks/libreplanet-2021-jami.pdf
112 slides with notes:
113 https://bndl.org/papers/libreplanet-2021-jami-with-notes.pdf
114 bib: https://bndl.org/talks/libreplanet-2021-jami.bib
115 http: https://bndl.org/talks/libreplanet-2021-jami.html
116
117 The Magic of Specifications and Type Systems
118
119 Amin Bandali, Simon Hudon, Jonathan S. Ostroff
120 Slides presented at the Canadian Undergraduate Computer Science
121 Conference 2017, University of Toronto, Canada, June 15-17,
122 2017.
123 Poster presented at the Lassonde Undergraduate Summer Student
124 Research Conference, York University, Toronto, Canada,
125 August 15, 2017.
126
127 slides: https://p.bndl.org/cucsc-2017-slides.pdf
128 poster: https://p.bndl.org/eecs4080-poster.pdf
129
130 Introducing YULUG
131
132 Amin Bandali
133 Slides introducing YULUG -- (GNU/)Linux User Group at York
134 University -- presented at a Computing Students Hub (CSHub) tech
135 talk at York University, Toronto, Canada, February 12, 2015.
136
137
138 WORK & RESEARCH EXPERIENCE
139
140 Savoir-faire Linux
141
142 fall 2020-present | Free Software Consultant
143 | Consultant en logiciel libre
144
145 I am part of the Jami core development team at Savoir-faire
146 Linux, where I get to work on various parts of Jami as a Free
147 Software Consultant. These include working on and maintaining
148 the GTK-based jami-gnome client application written in C++ and
149 C, and packaging Jami for various GNU/Linux distributions and
150 other platforms. I also serve as a community liaison between
151 the Jami core team and the wider free software community around
152 Jami, with the goal of helping facilitate the communications and
153 relations between the two.
154
155 Free Software Foundation (FSF)
156
157 spring 2020 | Intern
158
159 Working with the FSF tech team in a sysadmin role on a variety
160 of tasks including installation of the Sourcehut free software
161 forge on the FSF infrastructure for evaluation for the FSF forge
162 project, as well as a series of enhancements for www.gnu.org.
163
164 Cheriton School of Science, University of Waterloo
165
166 winter 2018-spring 2020 | TA, IA, RA [*]
167
168 SE 465 (Software Testing and Quality Assurance):
169 TA in winter 2020
170 SE 212 (Logic and Computation):
171 IA in Fall 2019, TA in fall 2018
172 SE 463 (Software Requirement Specification and Analysis):
173 TA in spring 2019 and 2018
174 CS 136 (Elementary Algorithm Design and Data Abstraction):
175 TA in winter 2018
176
177 [*] Teaching Assistant (marking exams and assignments),
178 Instructional Apprentice (holding tutorials and marking),
179 Research Assistant (doing research for/with supervisor)
180
181 Department of Electrical Engineering & Computer Science, York
182 University
183
184 fall 2017 | Teaching Assistant
185
186 EECS 1012 (Net-Centric Introduction to Computing):
187 TA in fall 2017, running labs and marking labs and exams
188
189 Software Engineering Lab, York University
190
191 summer 2017 | Research Assistant
192
193 Worked on an implementation of Lampsort in Eiffel.
194 Extended the mathmodels library, implementing a rational
195 class for working with arbitrarily large rational numbers.
196
197 summer 2016 | Research Student
198
199 Worked on Literate Unit-B, the verifier for Unit-B, a new formal
200 method focused on formal verification of reactive, concurrent
201 and distributed systems. From the Literate Unit-B codebase
202 (written in Haskell), decoupled the logic module and used it to
203 build Unit-B Web, a web interface using Literate Unit-B to do
204 predicate calculus proofs. Unit-B Web, also written in Haskell,
205 supports the LaTeX syntax of the Unit-B logic, renders user
206 input on the page, and calls the sequent prover of the logic
207 module, which uses the Z3 SMT solver to check the validity of
208 user input.
209
210 Separated Literate Unit-B's type checker from its parser in a
211 large refactoring, allowing easier substitution of other type
212 checking algorithms, and in preparation for implementing
213 subtyping.
214
215 Lotek Wireless Inc.
216
217 summer 2016 | Software Developer
218
219 Designed and developed an Employee Portal web application in C#
220 and the MVC framework, used by employees for accessing various
221 data catalogs and archives.
222
223 summer 2015 | Computer Programmer
224
225 Designed and implemented various applications in C# and C for
226 analyzing and testing a satellite pass prediction algorithm for
227 predicting the pass windows of Argos satellites, for scheduling
228 send times of data collected by the company's wildlife tracking
229 products.
230
231 Athlete Builder
232
233 2013-2014 | Software Developer
234
235 Developed the Backend of Athlete Builder platform in C# and MVC.
236
237 Key role in development of the platform core.
238
239 Developed the alpha version of Athlete Builder Android
240 application in Java.
241
242
243 SKILLS
244
245 Programming languages
246 C, C++, Haskell, Emacs Lisp, Guile Scheme, Python, Eiffel, Bash,
247 C#, Java, JavaScript
248
249 Tools
250 GNU Emacs, Git, Alloy, TLA+, ProB, LaTeX, continuous integration
251 systems
252
253 Platforms
254 GNU/Linux distributions, including Trisquel, GNU Guix, Debian
255
256 Languages
257 Persian (mother tongue), English (native proficiency; IELTS: 9.0),
258 French (beginner)
259
260
261 COMMUNITY SERVICE
262
263 EmacsConf conference
264
265 2019-present
266
267 Chief organizer and maintainer of conference infrastructure,
268 including the streaming servers.
269
270 2015
271
272 One of the organizers and in charge of setting up
273 and maintaining vital pieces of infrastructure.
274
275 Computer Science Club (CSC) of the University of Waterloo
276
277 Served as the CSC System Administrator in Winter and Spring 2020.
278 Present member of the CSC Systems Committee, overseeing and
279 maintaining a large fleet of GNU/Linux servers for CSC members,
280 as well as running the CSC mirror for free software projects.
281
282 Notable projects include launching the CSC web IRC client
283 as part of an effort in bringing modern user freedom- and
284 privacy-respecting communication tools to club members.
285
286 Free/libre software contributions
287
288 Co-maintainer of GNUzilla and IceCat, the GNU version of
289 the Mozilla suite and the Firefox browser respectively.
290
291 Maintainer of ERC, the powerful, modular, and extensible
292 IRC client distributed with GNU Emacs.
293
294 Committer and regular contributor to GNU Emacs and GNU Guix.
295
296 GNU webmaster and GNU Savannah hacker.
297
298 Volunteer work
299
300 spring 2013 | Application Developer for VONICAL Inc.
301
302 Worked on development of the Employment Accessibility Resource
303 Network (EARN) portal using the Anahita social networking
304 platform, written in PHP and running on GNU/Linux.
305
306 winter 2013 | Mobile & Web Developer for Hire Works Inc.
307
308 Worked on a variety of web and mobile development projects for
309 Hire Works.
310
311 summer 2012 | Web Developer for St. Brigid's Summer Camp
312
313 Redesigned and revamped the codebase for the photo gallery
314 section of the camp's website in PHP and JavaScript.