Education
- Master of Mathematics in Computer Science | University
of Waterloo | 2018–2020
- Thesis: A Comprehensive Study of Declarative
Modelling Languages
- Research focus: formal logic, model checking, verification
- Bachelor of Science with Honours in Computer Science |
York University | 2014–2017
- Favourite courses: System Specification & Refinement,
Software Requirements Engineering, Software Design, Operating Systems,
Computational Complexity, Design & Analysis
of Algorithms
Work Experience
- Software Engineer | Canonical | 2022–2024
- As the sole maintainer of Firefox in Ubuntu Desktop, my duties
included porting, debugging, and building the Firefox source code for
the architectures supported by Ubuntu Desktop (e.g.
amd64
and arm64
) and triaging reported issues, to ensure new
releases of Firefox with security fixes and new features are delivered
to the millions of users who rely on Firefox as their default web
browser.
- I also worked on other aspects of Ubuntu and its desktop,
including maintaining various GNOME applications and libraries in
Ubuntu and upstream in Debian, and resolving package build issues to
ensure the current Ubuntu development release continues to build and
install correctly.
- Software Developer | Savoir-faire Linux |
2020–2022
- As part of the Jami core development team at Savoir-faire Linux,
I worked on many aspects of Jami including maintenance and bug fixes
for Jami's now-deprecated GTK GUI; maintaining packages of Jami and
some of its dependencies for the Deb, Snap, and RPM package systems
to bring the latest release of Jami to users across several GNU/Linux
distributions including Debian, Ubuntu, Trisquel, Fedora, and
openSUSE; and creating and maintaining Jenkins pipelines for
continually testing, validating, and deploying various parts of
Jami's code bases.
- I also helped write, edit, and publish several technical articles
on the Jami blog about the internals of Jami, worked on improving
Jami's documentation, and served as community liaison between the Jami
core team and the wider free software community of Jami users to help
facilitate communications and relations between the two.
- Systems Administrator Intern | Free Software Foundation
(FSF) | 2020
- 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.
- Research and Teaching Assistant | University of
Waterloo | 2018–2020
- Researched declarative behavioural modelling, with a focus on
verification using model checking.
- Research and Teaching Assistant | York University |
2016–2017
- Researched using the Z3 SMT solver and Haskell for doing predicate
calculus proofs.
- Software Developer | Lotek Wireless Inc. | 2016
- Designed and developed an Employee Portal web application in C#
and the MVC framework, used by employees for accessing various data
catalogs and archives.
- Computer Programmer | Lotek Wireless Inc. |
2015
- 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.
- Software Developer | Athlete Builder |
2013–2014
- Developed Athlete Builder's backend platform in C# and MVC, and
had a key role in development of the platform core. Developed the
alpha version of Athlete Builder Android application in Java.
Skills
- Programming
- Expert in C, Python, Bash, Emacs Lisp
- Proficient in C++, C#, Java, JavaScript, Haskell, Guile Scheme,
Eiffel
- Tools
- GNU Emacs, Git, Alloy, TLA+, ProB, TeX and LaTeX,
Docker, continuous integration systems
- Platforms
- Deep and solid understanding of the GNU/Linux operating system
structure and internals.
- Expert in problem-solving of software package life cycle (install,
update, and upgrade) issues of applications and libraries for various
GNU/Linux distributions.
- Proficient in software development on Windows.
- Languages
- English (native proficiency; IELTS: 9.0/9.0), French (classroom
study), Persian (mother tongue)
Publications & Presentations
Papers
- A Comparison of the
Declarative Modelling Languages B, DASH, and TLA+ |
MoDRE@RE 2018
- Ali Abbassi, Amin Bandali,
Nancy A. Day, Jose Serna
Theses
- A Comprehensive Study of
Declarative Modelling Languages
- Amin Bandali, Master's thesis, University of Waterloo,
July 2020.
Talks
- State of the shared
GNU infrastructure | GNU 40th anniversary celebration,
27 September 2023.
- What's new in Jami |
LibrePlanet 2023 Conference, 18 March 2023.
- The Net beyond the web |
LibrePlanet 2022 Conference, 20 March 2022.
- Jami and how it empowers
users | LibrePlanet 2021 Conference, 20 March 2021.
- The Magic of Specifications and Type
Systems | Canadian Undergraduate Computer Science Conference
2017, University of Toronto, Canada, 15–17 June 2017.
- Introducing YULUG | Computing
Students Hub, York University, Toronto, Canada, 12 February
2015.
Volunteer Work
- Free Software Foundation & GNU Project
- FSF SysOps team member, LibrePlanet Committee member
- GNU maintainer, Savannah admin, assistant GNUisance, GNU Advisory
Committee member
- Debian GNU/Linux
- Debian Developer (with full upload rights) |
fall 2023–present
- Debian Maintainer | winter 2023–fall 2023
- Debian Contributor | fall 2020–winter 2023
- Contributor | Trisquel GNU/Linux |
2020–present
- Organizer | EmacsConf conference |
2015, 2019–present
- Systems Committee Member | Computer Science Club (CSC) of
the University of Waterloo | 2019–present
- Community Contributor | Savoir-faire Linux |
2022–present
- Application Developer | VONICAL Inc. | 2013
- 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.
- Mobile & Web Developer | Hire Works Inc. | 2013
- Worked on a variety of web and mobile development projects for
Hire Works.
- Web Developer | St. Brigid's Summer Camp | 2012
- Redesigned and revamped the codebase for the photo gallery section
of the camp's website in PHP and JavaScript.