Commit | Line | Data |
---|---|---|
d3adcff4 | 1 | curriculum vitae |
7b376474 | 2 | |
d3adcff4 | 3 | Amin Bandali |
7b376474 | 4 | |
dadecbb0 AB |
5 | ------------------------------------------ |
6 | site: https://bndl.org | |
7 | email: bandali@gnu.org | |
8 | bandali@uwaterloo.ca | |
9 | phone: available upon request via email | |
7b376474 | 10 | |
dadecbb0 AB |
11 | this file: https://bndl.org/bandali-cv.txt |
12 | last update: 2021-10-30 | |
13 | ------------------------------------------ | |
7b376474 AB |
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 | ||
7808cfc7 AB |
21 | - Passionate about applying scientific and engineering methods in |
22 | design and implementation of software systems. | |
7b376474 AB |
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 | ||
7808cfc7 AB |
44 | Master of Mathematics in Computer Science, |
45 | University of Waterloo, 2020 | |
7b376474 AB |
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 | ||
7808cfc7 AB |
56 | Bachelor of Science with Honours in Computer Science, |
57 | York University, 2017 | |
7b376474 AB |
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 | ||
dadecbb0 AB |
74 | The complete bibliography of my publications is available as |
75 | a BibTeX bibliography file from https://bndl.org/bandali.bib. | |
7b376474 AB |
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 | ||
56af22d0 AB |
87 | pdf: https://bndl.org/papers/modre2018-declarative.pdf |
88 | bib: https://bndl.org/papers/modre2018-declarative.bib | |
7b376474 AB |
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 | ||
56af22d0 AB |
99 | pdf: https://bndl.org/theses/bandali-mmath-thesis.pdf |
100 | bib: https://bndl.org/theses/bandali-mmath-thesis.bib | |
7b376474 | 101 | hdl: https://hdl.handle.net/10012/16059 |
56af22d0 | 102 | http: https://bndl.org/theses/mmath.html |
7b376474 AB |
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 | ||
56af22d0 | 111 | slides: https://bndl.org/talks/libreplanet-2021-jami.pdf |
7b376474 | 112 | slides with notes: |
56af22d0 AB |
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 | |
7b376474 AB |
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 | |
7808cfc7 | 148 | the GTK-based jami-gnome client application written in C++ and |
7b376474 AB |
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 | ||
7808cfc7 | 177 | [*] Teaching Assistant (marking exams and assignments), |
7b376474 AB |
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 | ||
7909a222 | 223 | summer 2015 | Computer Programmer |
7b376474 AB |
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 | |
47fc2c71 AB |
257 | Persian (mother tongue), English (native proficiency; IELTS: 9.0), |
258 | French (beginner) | |
7b376474 AB |
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. |