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