bandali's curriculum vitae

also available in pdf (source) and plain text
site
kelar.org/~bandali
email
bandali@gnu.org
bandali@kelar.org
bandali@uwaterloo.ca
phone
upon request via email

Summary of Qualifications

Education

Master of Mathematics in Computer Science, University of Waterloo, 2020
Research focus: formal logic, model checking, verification
Thesis: A Comprehensive Study of Declarative Modelling Languages
Supervisor: Prof. Nancy A. Day
GPA: 3.7/4.0
Bachelor of Science with Honours in Computer Science, York University, 2017
Favourite courses: System Specification & Refinement, Software Requirements Engineering, Software Design, Operating Systems, Computational Complexity, Design & Analysis of Algorithms
GPA: 7.84/9.0

Research Interests

formal logic, model checking, theorem proving, verification

Publications & Presentations

The complete bibliography of my publications is available as a BibTeX bibliography file, bandali.bib.

Papers

A Comparison of the Declarative Modelling Languages B, DASH, and TLA+ (pdf, bib, models)
Ali Abbassi, Amin Bandali, Nancy A. Day, Jose Serna
8th IEEE International Model-Driven Requirements Engineering Workshop, MoDRE@RE 2018
Copyright © 2018 IEEE. All Rights Reserved. Sadly.

Theses

A Comprehensive Study of Declarative Modelling Languages (pdf, bib, hdl, info)
Amin Bandali
MMath Thesis, University of Waterloo, David R. Cheriton School of Computer Science, July 2020.

Talks

The Net beyond the web [ slides (pdf) | notes | bib | info ]
Amin Bandali
Presented at the LibrePlanet 2022 Conference, 20 March 2022.
Jami and how it empowers users [ pdf (with notes) | bib | info ]
Amin Bandali
Presented at the LibrePlanet 2021 Conference, 20 March 2021.
The Magic of Specifications and Type Systems [ slides | poster | bib | info ]
Amin Bandali, Simon Hudon, Jonathan S. Ostroff
Slides presented at the Canadian Undergraduate Computer Science Conference 2017, University of Toronto, Canada, 15–17 June 2017.
Poster presented at the Lassonde Undergraduate Summer Student Research Conference, York University, Toronto, Canada, 15 August 2017.
Introducing YULUG [ slides | bib | info ]
Amin Bandali
Slides introducing YULUG — (GNU/)Linux User Group at York University — presented at a Computing Students Hub (CSHub) tech talk at York University, Toronto, Canada, 12 February 2015.

Work & Research Experience

Canonical
fall 2022–present | Software Engineer
As part of the Ubuntu Desktop team at Canonical, I work mainly on the maintenance of Ubuntu's browser packages, primarily Firefox.
Savoir-faire Linux
fall 2020–fall 2022 | Free Software Consultant | Consultant en logiciel libre
As part of the Jami core development team at Savoir-faire Linux, I worked on many aspects of Jami, wearing different hats. Some notable areas and responsibilities include
  • maintenance and bug fixes for Jami's GTK-based jami-gnome C/C++ GUI, and seeing to its gradual deprecation as the team shifted focus to the development of the new Qt-based jami-qt GUI;
  • maintaining packages of Jami (and some of its dependencies) for the deb, snap, and rpm package systems, helping bring the latest versions of Jami to users across several GNU/Linux distributions including Debian, Ubuntu, Trisquel, Fedora, and openSUSE;
  • setting up and maintaining several Jenkins pipelines for continually testing, validating, and/or deploying different aspects of Jami's repositories;
  • writing, editing, and publishing several articles on the Jami blog, as well as improving Jami's documentation; and
  • serving as community liaison between the Jami core team and the wider free software community of Jami users, helping facilitate communications and relations between the team and the community.
Free Software Foundation (FSF)
spring 2020 | Intern
Working with the FSF tech team in a sysadmin role on a variety of tasks including installation of the Sourcehut free software forge on the FSF infrastructure for evaluation for the FSF forge project, as well as a series of enhancements for www.gnu.org.
Cheriton School of Science, University of Waterloo
winter 2018–spring 2020 | TA, IA, RA [*]
SE 465 (Software Testing and Quality Assurance): TA in winter 2020
SE 212 (Logic and Computation): IA in Fall 2019, TA in fall 2018
SE 463 (Software Requirement Specification and Analysis): TA in spring 2019 and 2018
CS 136 (Elementary Algorithm Design and Data Abstraction): TA in winter 2018
[*] Teaching Assistant (marking exams and assignments), Instructional Apprentice (holding tutorials and marking), Research Assistant (doing research for/with supervisor)
Department of Electrical Engineering & Computer Science, York University
fall 2017 | Teaching Assistant
EECS 1012 (Net-Centric Introduction to Computing): TA in fall 2017, running labs and marking labs and exams
Software Engineering Lab, York University
summer 2017 | Research Assistant
Worked on an implementation of Lampsort in Eiffel. Extended the mathmodels library, implementing a rational class for working with arbitrarily large rational numbers.
summer 2016 | Research Student
Worked on Literate Unit-B, the verifier for Unit-B, a new formal method focused on formal verification of reactive, concurrent, and distributed systems. From the Literate Unit-B codebase (written in Haskell), decoupled the logic module and used it to build Unit-B Web, a web interface using Literate Unit-B to do predicate calculus proofs. Unit-B Web, also written in Haskell, supports the LaTeX syntax of the Unit-B logic, renders user input on the page, and calls the sequent prover of the logic module, which uses the Z3 SMT solver to check the validity of user input.
Separated Literate Unit-B's type checker from its parser in a large refactoring, allowing easier substitution of other type checking algorithms, and in preparation for implementing subtyping.
Lotek Wireless Inc.
winter & summer 2016 | Software Developer
Designed and developed an Employee Portal web application in C# and the MVC framework, used by employees for accessing various data catalogs and archives.
summer 2015 | Computer Programmer
Designed and implemented various applications in C# and C for analyzing and testing a satellite pass prediction algorithm for predicting the pass windows of Argos satellites, for scheduling send times of data collected by the company's wildlife tracking products.
Athlete Builder
2013–2014 | Software Developer
Developed the Backend of Athlete Builder platform in C# and MVC.
Key role in development of the platform core.
Developed the alpha version of Athlete Builder Android application in Java.

Skills

Programming languages
C, C++, Haskell, Emacs Lisp, Guile Scheme, Python, Eiffel, Bash, C#, Java, JavaScript
Tools
GNU Emacs, Git, Alloy, TLA+, ProB, LaTeX, continuous integration systems
Platforms
GNU/Linux distributions including Trisquel (Ubuntu deriv.), Parabola (Arch deriv.), GNU Guix, Debian
Languages
Persian (mother tongue), English (native proficiency; IELTS: 9.0), French (beginner)

Community Service

GNU Project
Assistant GNUisance and member of the GNU Advisory Committee.
GNU (co)maintainer of GNUzilla and IceCat (the GNU version of the Mozilla suite and the Firefox browser respectively) and Jami.
Maintainer of ERC, the powerful, modular, and extensible IRC client distributed with GNU Emacs and on GNU ELPA.
Committer and regular contributor to GNU Emacs.
GNU webmaster and Savannah hacker/admin.
EmacsConf conference
2019–present
Organizer, maintainer of (wholly free) conference infrastructure.
2015
One of the organizers and in charge of setting up and maintaining vital pieces of infrastructure.
Computer Science Club (CSC) of the University of Waterloo
Served as the CSC System Administrator in Winter and Spring 2020. Present member of the CSC Systems Committee, overseeing and maintaining a large fleet of GNU/Linux servers for CSC members, as well as running the CSC mirror for free software projects.
Notable projects include launching the CSC web IRC client as part of an effort in bringing modern user freedom- and privacy-respecting communication tools to club members.
Volunteer work
fall 2022–present | Volunteer for Savoir-faire Linux
I help with various aspects of the Jami project as a volunteer.
spring 2013 | Application Developer for VONICAL Inc.
Worked on development of the Employment Accessibility Resource Network (EARN) portal using the Anahita social networking platform, written in PHP and running on GNU/Linux.
winter 2013 | Mobile & Web Developer for Hire Works Inc.
Worked on a variety of web and mobile development projects for Hire Works.
summer 2012 | Web Developer for St. Brigid's Summer Camp
Redesigned and revamped the codebase for the photo gallery section of the camp's website in PHP and JavaScript.

Last updated 26 November 2022