Edmond La Chance, Ph.D
edmondlachance.com
github.com/mitchi
EDUCATION
2013-2021 Ph.D in Software Verification & Cluster Computing, Université du Québec à Chicoutimi
Extended Combinatorial Testing using Graph Algorithms and Apache Spark
This thesis presents a generalization of t-way testing and reductions to graph coloring and vertex cover problems using distributed algorithms. The algorithms were implemented using Apache Spark with Scala. Experimental results were obtained using computer clusters provided by Compute Canada.
2011-2013 M.S, Université du Québec à Chicoutimi
Algorithms for the minimum spanning tree problem
This master thesis empirically compares various ways of implementing minimum spanning trees. Several data structures and algorithms are implemented in C++ and measured: Union-Find, Binomial Heap, Binary heap, Fibonacci heap, Prim’s Algorithm, Boruvka’s Algorithm, Kruskal’s Algorithm.
2008-2011 B.S, Université du Québec à Chicoutimi
WORK HISTORY
Software Developer at Yoppworks (acquired by Improving) January 2022 - Present
Software Engineer at Timesphere August 2021 – December 2021
Working on the Timesphere Application with the SAQ team (Société des alcools du Québec).
The Timesphere application is used to manage employee schedules. I currently work as a Full-Stack Engineer fixing bugs, developing new features in the backend in Java, and porting existing features to the new React/Redux-toolkit frontend.
Technologies used: Typescript, Redux-toolkit, Java with Spring Framework.
Lecturer, Université du Québec à Chicoutimi
Classes taught:
8INF803 (Distributed Databases) 2015-2021
In 8INF803, students learn about distributed databases, crawling and distributed data processing. The class shows many useful data structures for data intensive applications such as B+Trees, LSM, Bloom Filters, HyperLogLog, Bitmap indexes etc. On the programming side, we mostly use Apache Spark, Scala, Java and Python. We also show how to implement iterative algorithms with proper performance optimizations.
8GIF128 (Web programming) 2015
In 8GIF128, we teach HTML, CSS, JavaScript, DOM, REST and WebSockets. The final project is a website that communicates with several services using WebSockets.
PROJECTS
TSPARK – A distributed combinatorial test generator
https://github.com/mitchi/TSPARK
TSPARK is an open-source project developed for my Ph.D thesis. TSPARK is written in Scala, using the Apache Spark cluster computing framework, and has around 30k lines of code.
TSPARK contains distributed algorithms for solving graph coloring and hypergraph vertex problems. It also contains a hybrid algorithm called Distributed IPOG. Every algorithm was extensively tested to optimize performance. TSPARK internally uses bitsets and compressed bitmaps to optimize its graph data structures. TSPARK is a self-contained .jar file that can easily be run on computer clusters and supercomputers.
CTL Simulator
CTL Simulator is a small project (1k lines C++) that implements the CTL labeling algorithm for model checkers.
Cerberus Spells
Cerberus Spells is a website for the spells of Cerberus RPG, a fantasy tabletop role-playing game (RPG). The website is generated using a React app for data entry, and a custom static website generator. Technologies used: React, MUI, node.js, JSON, pandoc, with LaTeX for PDF output.
Cerberus Bot
Cerberus bot is a Discord bot written in Javascript using JSDOC to provide type checks using Typescript’s compiler inside VSCode. Cerberus Bot is used to run text-based combats for Cerberus RPG.
Morphopoetic.com
Morphopoetic is a website for the writer Michaël La Chance. The website is generated using a custom static website generator. Technologies used: node.js and TOML.
ASM FORUM
ASM Forum is an old project that implements a simple discussion forum with threads/topics/replies and users written in x86 assembly language, CGI processes, and SQLite as the database.
SKILLS
Apache Spark Hive, Impala, Oozie Java Scala C/C++ SQL Slurm Spring Boot Node.js / Socket.io UNIX Shell Scripts Python GitLab CI/CD | React and Redux Toolkit React Native JavaScript and JSDoc TypeScript JIRA, Git and Github HTML and CSS LaTeX, Pandoc x86 assembly language Hadoop Filesystem awk, sed, grep Docker |
CERTIFICATIONS
LightBend Certified Reactive Architect
LightBend, Inc
Issued Jan 2022, Expires Jan 2025
ONLINE CLASSES
Functional Programming with Scala Cats (Udemy)
The Complete React Native + Hooks Course (Udemy)