Curriculum Vitae
Technical and Personal Abilities
- Experienced in many programming languages and environments, including: C, C++, Objective-C, Python, NodeJS, PHP, Perl, Java
- Experienced in Web technologies such as XML, HTML, CSS, and JavaScript
- Experienced in Linux/UNIX (particularly Debian GNU/Linux) administration and development
- Experienced in databases, particularly PostgreSQL and MySQL
- Experienced in tools such as Docker, Kubernetes, BuildBot, and Nagios.
- Good knowledge of computer security
- Fast independent worker
- Strong organizational skills
- Effective individual and team worker
- Self-motivated learner
- Excellent problem-solving skills
- Fluent in English, and some basic French and American Sign Language
Technical and Professional Experience
- Wrote and reviewed portions of the Matrix communications protocol.
- Wrote and reviewed specification change proposals for the Matrix communications protocol.
- Designed and implemented portions of the end-to-end encryption system in Matrix.
- Developed a new backend for our content delivery and student assessment platform
- Developed a collaborative document editor
- Maintained and optimized existing student assessment platform
- Lead the ELIS product development team.
- Designed and architected major software components.
- Developed software specifications based on client requests.
- Coordinated activities of the GNUstep packaging team.
- Maintained software packages for the Debian distribution.
- Developed tools to aid in creating packages for Debian.
- Collaborated with program authors to fix bugs and add improvements.
- Adapted software to comply with published specifications, and tested against other implementations.
- Analyzed and fixed interoperability and integration issues.
- Maintained software packages for the Debian distribution.
- Collaborated with program authors to fix bugs and add improvements.
- Investigated applications for nonlinear filtering.
- Performed presentations to potential clients.
- Participated in and conducted research seminars.
- Trained undergraduate summer students.
- Implemented the company VPN and wiki.
- Implemented and tested several nonlinear filtering algorithms.
- Developed simulations.
- Participated in and conducted research seminars.
- Analyzed the design of previous experiment control programs for observing pigeon responses to certain stimuli, and designed and implemented several programs for the same purpose.
- Designed and maintained a control program and library to support these programs.
Education
- Completed all requirements except for thesis.
- Participated in the University of Waterloo Centre for Teaching Excellence's “Certificate in Undergraduate Teaching” program.
Teaching Experience
- Conducted weekly tutorials for approximately 20—30 students.
- Coordinated a team of teaching assistants.
- Lectured during the absence of the instructor for a class of about 60–100 students.
- Proofread assignments and exams.
- Held office hours.
- Marked exams.
- Marked assignments and exams.
- Led tutorials for approximately 10—30 students.
- Held office hours.
- Served as guest lecturer during the absence of the instructor for a class of about 30—50 students.
- Answered questions on the course newsgroup.
- Proofread assignments and exams.
Volunteer Activities
- Helped organize the sponsorship of a refugee family to relocate to Canada
- Served as committee chair until September 2010
- Communicated between the Refugee Oversight Committee and other church committees
- Planned weekly large group and small group meetings
- Mentored students.
- Led small group discussions.
- Organized a team of between 10 to 20 Computer Science and Engineering graduate students for indoor and outdoor soccer.
- Kept track of the group's finances.
- Maintained the phone directory and web page.
- Planned and led activities.
- Designed and assembled the camp handbook and name tags.
- Helped with the general planning of the camp.
- Supervised activities, and was involved in the music team.
Awards and Distinctions
- University of Waterloo President's Graduate Scholarship (2004-2005)
- NSERC Postgraduate Scholarship B (2003-2005)
- NSERC Postgraduate Scholarship A (2001-2003)
- NSERC Undergraduate Student Research Award (1999, 2000)
- Dean's Silver Medal in Science (2000)
- SHL Systemhouse President's Award for Education and Technology (1999)
- Canadian Information Processing Society Scholarship (1999)
- Faculty of Science Undergraduate Scholarship (1997, 1998)
- Barry J Mailloux Prize in Computing Science (1998)
- Nickle Family Foundation Prize (1997)
- International Baccalaureate Diploma Scholarship (1996)
- Undergraduate Entrance Scholarship (1996)
- Rutherford Scholarship (1996)
Other Interests
biking, photography, camping, hiking, soccer, music, camping
Publications
Hubert Chathi. MLS Meets Matrix. FOSDEM conference presentation, February 2022. [ http ]
Hubert Chathi. Whalebuilder: building packages with Docker. DebConf conference presentation, August 2017. [ http ]
Hubert Chathi. Integrating Moodle with an external tool. iMoot conference presentation, May 2012. [ http ]
Hubert Chan. A parameterized algorithm for upward planarity testing (extended abstract). In Susanne Albers and Tomasz Radzik, editors, Proceedings of 12th annual European Symposium on Algorithms 2004, volume 3221 of Lecture Notes in Computer Science, pages 157-168, 2004. [ http | .pdf ]
Hubert Chan. A parameterized algorithm for upward planarity testing of biconnected graphs. Master's thesis, University of Waterloo, May 2003. [ http ]
David J. Ballantyne, Hubert Y. Chan, and Michael A. Kouritzin. A branching particle-based nonlinear filter for multi-target tracking. In Proceedings of 4th Annual Conference on Information Fusion, pages We2-3-WeA2-10, 2001.
Hubert Y. Chan and Michael A. Kouritzin. Particle filters for combined state and parameter estimation. In Ivan Kadar, editor, Signal Processing, Sensor Fusion, and Target Recognition X, volume 4380 of Proceedings of SPIE, pages 244-252, 2001. [ http ]
David J. Ballantyne, Hubert Y. Chan, and Michael A. Kouritzin. A novel branching particle method for tracking. In Oliver E. Drummond, editor, Signal and Data Processing of Small Targets, volume 4048 of Proceedings of SPIE, pages 277-287, 2000. [ http ]
Hubert Chan, Andy Liu, and Andrei Storozhev. Induction in Geometry. Mathematics Competitions 10, pages 61-68, 1997.
Hubert Chan, Steven Laffin, and Daniel van Vliet. Knight Tours. Mathematics and Informatics Quarterly 2, pages 135-150, 1992.