Skip to content

Instantly share code, notes, and snippets.

View mosser's full-sized avatar

Sébastien Mosser mosser

View GitHub Profile

How to manage multiple versions of Java on a Mac?

Homebrew can help you to manage a consistent installation of multiple JDks on the very same system. For example, one can install openJDK using the following cask:

lucifer:ace mosser$ brew tap adoptopenjdk/openjdk
lucifer:ace mosser$ brew cask install adoptopenjdk8
lucifer:ace mosser$ brew cask install adoptopenjdk11
mosser /
Last active October 26, 2018 10:39
Composing Code refactoring intership proposal

Composing Code refactoring

This internship proposition will be hosted at Université du Québec à Montréal (UQAM).


Software code is often subject to code refactoring. This is the essence tof test-driven development: (i) test, (ii) code, (iii) make test green, (iv) refactor. Refactoring is often performed manually, or with a support from the IDE. But the information that a given refactoring happened is lost, leading to the infamous "I told you so" versioning anti-pattern where 2 alternative design are constantly added and removed in the given system. We propose in this project to formalise the classical code refactoring and to remember their application, supporting developers at both level: (i) making easy to apply a refactoring to a given piece of code and (ii) reasoning on the sequence of refactoring made in a given project.

Project Description

mosser /
Last active June 30, 2021 09:54
Internship proposal LLVM (UQAM/LIP)

Identifying Optimisation Conflicts in LLVM


This internship proposal is a joint collaboration between Université du Québec à Montréal (UQAM) and the Laboratoire d'Informatique du Paralélisme (LIP) located in Lyon.

It targets MSc students interested in software engineering (CA) and compilation (FR).

mosser /
Created September 11, 2018 20:11
PFE @Polytech, 2018

Projets de Fin d'Études (PFE) 2018

  • Contact: Sébastien Mosser
  • Research group: ACE is a subgroup of SPARKS, I3S (CNRS / Université Côte d'Azur).

Applying Software Composition to Agile Backlogs


Déroulement PNS Innovation 2018

Environment Général

  • Jira / Bitbucket dispo sur Mjollnir d'ici la fin du week-end
  • Salles réservées dans le bâtiment (étage E+1xx)
    • Vous travaillez en équipe et dans l'école (on doit pouvoir vous trouver aux horaires de projet dans le bâtiment)
  • Daily meeting journalier :
  • horaire: 09h,

Programmation Fine et Complexité Empirique

  • Enseigant: Christophe Papazian
  • Prérequis : Algorithmique, Structure de Données, Complexité
  • Pour étudiants motivés par la programmation et l'algorithmique.

Le but de ce module est de donner aux étudiants

  • la capacité d'évaluer dans un cadre pratique et de manière autonome la rapidité d'execution d'un algorithme ou d'une de ses parties.
  • la capacité de choisir l'implémentation algorithmique la plus rapide pour un problème donné et pour un type d'entrées donné.
mosser / devops.txt
Created March 2, 2018 20:18
Premier rendu ISA / DevOps
## Handling IDA [ida]
# Cloning project from remote repository: OK
# Checking out tag [mutant_delivery]: OK
# Git stamp: Date: Wed Feb 28 15:12:27 2018 +0100
# Checking existence of [mutants.pdf]: OK
# Extraction [mutants.pdf] into [../mutants_ida.pdf]: OK

Journal Équipe ISX

État courant du projet

  • Ticketing: [0,5]
  • Versioning: [0,5]
  • Qualité Objet: [0,5]
  • Tests: [0,5]
  • Confiance dans le code: [0,5]
mosser / docker-compose.yml
Created January 24, 2018 16:44
Sonarqube setup for Island 2018
version: "3"
image: sonarqube:alpine
container_name: island-sonar
- "9000:9000"
mosser / Code.scala
Last active January 7, 2018 21:02
Merging maps
import scala.util.Random
// Context
case class Event(data: Map[String, Int])
// Generate a random history of given size
def history(size: Int): Seq[Event] = {
for (i <- 1 to size)
yield Event((1 to Random.nextInt(10) map {
_ => Random.nextInt(10).toString -> Random.nextInt(100)