I am a postdoctoral researcher at INRAE and CIRAD in Montpellier, member of research units SENS and SELMET since September 2022. In the past I :

My research field is Human-Computer Interaction. I currently work on designing graphical interfaces atop agent-based simulations, to explore possible futures in the management of pastoral territories. In parallel I work on the interactions between researchers and engineers of UI frameworks, to improve the impact of research on the evolution of frameworks. I have been a member of the Sustainable Development and Societal Responsibility committee at Centrale Lyon, and am very much driven by that domain. As a teacher I have given courses on User Interfaces and Competitive Programming, and have been assistant in Algorithmics, Software Engineering and Web Development. I work hard to explore unconventional paths, most of my spare time going into compulsively crafting code then sharing it with engineering and academic communities.

On a personal note I am a passionate hiker, cook, cyclist, and musician ♫.

2022

engineering

Visualization of individual competency evaluations (2021-2022)

Website supporting per-student formative evaluations of competencies. It includes a complete pipeline to fetch grades from teachers, and two dashboards for students and teachers.

engineering

WEEX éolien (2020-2022)

Server and online interface supporting a week-long teaching activity, in which students compete in groups to optimize the energy production of a wind farm. This activity is very much appreciated by students, and is has been presented as a flagship of Centrale Lyon's innovation. The platform is now autonomous and hosts 3 events per year.

engineering

edge264 (2013-)

Experimental software decoder for the H.264 video codec, which I keep developing in my spare time to research new programming practices and to make a useful contribution to the open source community.

publication

[EICS'22]

T. Raffaillac & S. Huot. What do researchers need when implementing novel interaction techniques?. In the 14th Symposium on Engineering Interactive Computing Systems (EICS 2022). 🏆 (26.8%) DOI PDF slides

teaching

Algorithms and data structures (2019-2022)

teaching assistant at Engineer1 level for 220h at École Centrale de Lyon

complexity, sorting, graphs, dynamic programming, Python

teaching

Object-oriented design and programming (2019-2022)

teaching assistant and guest lecturer at Engineer1 level for 144h at École Centrale de Lyon

introduction to Software Engineering, UML, OOP, Graphical User Interfaces (slides, support), Python/tkinter

teaching

Web application project (2019-2022)

teaching assistant at Engineer1 level for 120h at École Centrale de Lyon

client-server architecture, HTML, CSS, JavaScript, JSON, Python, SQLite, team working, git

teaching

Students projects and mentoring (2019-2022)

supervisor at Eng. 1/2/3 level for 65h at École Centrale de Lyon

6 projects (2 to 9 months), 1 intership (3 months), mentoring of 3 students

teaching

WEEX éolienne (2019-2022)

co-organizer at Eng. 1/2 level for 60h at École Centrale de Lyon

5 editions of a week-long multidisciplinary pedagogical event

academic

Best Paper Award at EICS'22

academic

Reviewer for CHI'22 and EICS'22, session chair at EICS'22

academic

Member of the Sustainable Development and Societal Responsibility local committee in 2021-2022. I worked mainly on extracting teaching measures from the COP2 agreement that was signed by the director, and helped promote and structure the first course on Ecological Transition.

academic

Member of the French working group glihm (Software Engineering and Human-Computer Interaction) since 2021

sign of life

Tips en Informatique (French)

Slides that I created to help students from Centrale Lyon make better use of their computers. I keep them updated for my colleagues at CIRAD.

sign of life

Coyote Time Lord

Minimalist 2D game with time-altering mechanisms, created with Clément Pillias for the 50th Ludum Dare Jam. I did the eerie music, the sounds and the sprites.

sign of life

SWERC 2021

My second participation as a coach, with teams ECL 2 (54th/97) and CentraleMegaStomp (64th/97). A remarkable result for Engineering students as well as first-timers!

sign of life

Hash Code 2022 contest

703th/10177, 52th/529 in France, team #import mercy on my own.

2021

engineering

Visualization of individual competency evaluations (2021-2022)

Website supporting per-student formative evaluations of competencies. It includes a complete pipeline to fetch grades from teachers, and two dashboards for students and teachers.

engineering

WEEX éolien (2020-2022)

Server and online interface supporting a week-long teaching activity, in which students compete in groups to optimize the energy production of a wind farm. This activity is very much appreciated by students, and is has been presented as a flagship of Centrale Lyon's innovation. The platform is now autonomous and hosts 3 events per year.

engineering

edge264 (2013-)

Experimental software decoder for the H.264 video codec, which I keep developing in my spare time to research new programming practices and to make a useful contribution to the open source community.

publication

[EIAH'21]

P. Baron, L. Roche & T. Raffaillac. Visualisation automatique de graphes pour l'apprentissage des algorithmes. À la 10e Conférence sur les Environnements Informatiques pour l’Apprentissage Humain (EIAH 2021). PDF video

teaching

Algorithms and data structures (2019-2022)

teaching assistant at Engineer1 level for 220h at École Centrale de Lyon

complexity, sorting, graphs, dynamic programming, Python

teaching

Object-oriented design and programming (2019-2022)

teaching assistant and guest lecturer at Engineer1 level for 144h at École Centrale de Lyon

introduction to Software Engineering, UML, OOP, Graphical User Interfaces (slides, support), Python/tkinter

teaching

Web application project (2019-2022)

teaching assistant at Engineer1 level for 120h at École Centrale de Lyon

client-server architecture, HTML, CSS, JavaScript, JSON, Python, SQLite, team working, git

teaching

Students projects and mentoring (2019-2022)

supervisor at Eng. 1/2/3 level for 65h at École Centrale de Lyon

6 projects (2 to 9 months), 1 intership (3 months), mentoring of 3 students

teaching

WEEX éolienne (2019-2022)

co-organizer at Eng. 1/2 level for 60h at École Centrale de Lyon

5 editions of a week-long multidisciplinary pedagogical event

academic

Member of the Sustainable Development and Societal Responsibility local committee in 2021-2022. I worked mainly on extracting teaching measures from the COP2 agreement that was signed by the director, and helped promote and structure the first course on Ecological Transition.

academic

Member of the French working group glihm (Software Engineering and Human-Computer Interaction) since 2021

academic

Reviewer for CHI'21 and IHM'20'21

sign of life

Creative and competitive programming club

I ran this club for students from February to April, with sessions alternating between competitive programming and live music coding with FoxDot.

sign of life

Lost Souls Found The Gold You Lost To Save Your Soul

Pacman-like game created with Clément Pillias and Nicole Pong for the Global Game Jam 2021. I did the UI, level design and incremental music (although due to a bug you rarely hear the full version).

2020

engineering

WEEX éolien (2020-2022)

Server and online interface supporting a week-long teaching activity, in which students compete in groups to optimize the energy production of a wind farm. This activity is very much appreciated by students, and is has been presented as a flagship of Centrale Lyon's innovation. The platform is now autonomous and hosts 3 events per year.

engineering

edge264 (2013-)

Experimental software decoder for the H.264 video codec, which I keep developing in my spare time to research new programming practices and to make a useful contribution to the open source community.

publication

[Didapro'20]

T. Raffaillac, F. Chavanon & R. Vuillemot. Utilisation d’un juge en ligne pour l’évaluation automatique des programmes des étudiants. À la 8e édition du colloque Didapro-DidaSTIC (Didapro 8). Poster PDF

teaching

Algorithms and data structures (2019-2022)

teaching assistant at Engineer1 level for 220h at École Centrale de Lyon

complexity, sorting, graphs, dynamic programming, Python

teaching

Object-oriented design and programming (2019-2022)

teaching assistant and guest lecturer at Engineer1 level for 144h at École Centrale de Lyon

introduction to Software Engineering, UML, OOP, Graphical User Interfaces (slides, support), Python/tkinter

teaching

Web application project (2019-2022)

teaching assistant at Engineer1 level for 120h at École Centrale de Lyon

client-server architecture, HTML, CSS, JavaScript, JSON, Python, SQLite, team working, git

teaching

Students projects and mentoring (2019-2022)

supervisor at Eng. 1/2/3 level for 65h at École Centrale de Lyon

6 projects (2 to 9 months), 1 intership (3 months), mentoring of 3 students

teaching

WEEX éolienne (2019-2022)

co-organizer at Eng. 1/2 level for 60h at École Centrale de Lyon

5 editions of a week-long multidisciplinary pedagogical event

academic

Reviewer for CHI'20

sign of life

Advent of Code 2020

This year I went through all the puzzles of this Christmas-themed challenge.

sign of life

Code Jam 2020 contest

Reaching round 3 of this challenging competition.

sign of life

Hash Code 2020 contest

2826th/10724, 2nd in our hub, team XoXot with Damien Masson, Nicolas Crosetti and Paul Gallot.

sign of life

Online IDE with supervision

Online IDE including a Python interpreter, that I coded at the start of the Covid outbreak to allow students to ask for help and show their code remotely (viewed as a mosaic on my side). It lacked modules so students would only use it to show code, but it was super helpful to let them feel supported throughout this event.

sign of life

Competitive programming course

Slides for a custom course I created for 6 students, based on the excellent Competitive Programming 3 book.

sign of life

MOOC on university teaching (French)

Followed during 10 weeks for ~2h/week [Certificate of completion]

sign of life

SWERC 2019

My very first participation, as a coach, with teams ECL 1 (82th/98) and ECL 2 (84th/98). I also scored well at the coaches contest.

sign of life

Mise en place d’une plateforme de programmation compétitive comme support de TDs (French)

Workshop given on 5 February during the colloquium Didapro 8, to present the setup and use of DMOJ for automated grading.

2019

engineering

Polyphony: building GUIs with ECS (2016-2019)

Proof-of-concept and technical walkthrough on adapting the Entity-Component-System model to the architecture of a Graphical User Interface [IHM'18, EICS'19].

engineering

edge264 (2013-)

Experimental software decoder for the H.264 video codec, which I keep developing in my spare time to research new programming practices and to make a useful contribution to the open source community.

publication

[PhD]

T. Raffaillac. Améliorer les langages et bibliothèques logicielles pour programmer l'interaction. Université de Lille, Inria Lille - Nord Europe. PDF slides

publication

[EICS'19]

T. Raffaillac & S. Huot. Polyphony: Programming Interfaces and Interactions with the Entity-Component-System Model. In the 11th Symposium on Engineering Interactive Computing Systems (EICS 2019). 🏆 (33%) DOI PDF slides

teaching

Algorithms and data structures (2019-2022)

teaching assistant at Engineer1 level for 220h at École Centrale de Lyon

complexity, sorting, graphs, dynamic programming, Python

teaching

Object-oriented design and programming (2019-2022)

teaching assistant and guest lecturer at Engineer1 level for 144h at École Centrale de Lyon

introduction to Software Engineering, UML, OOP, Graphical User Interfaces (slides, support), Python/tkinter

teaching

Web application project (2019-2022)

teaching assistant at Engineer1 level for 120h at École Centrale de Lyon

client-server architecture, HTML, CSS, JavaScript, JSON, Python, SQLite, team working, git

teaching

Students projects and mentoring (2019-2022)

supervisor at Eng. 1/2/3 level for 65h at École Centrale de Lyon

6 projects (2 to 9 months), 1 intership (3 months), mentoring of 3 students

teaching

WEEX éolienne (2019-2022)

co-organizer at Eng. 1/2 level for 60h at École Centrale de Lyon

5 editions of a week-long multidisciplinary pedagogical event

teaching

Introduction to human-machine interfaces (2018-2019)

teaching assistant at DUT1 level for 64h at Lille University/IUT A

programming Graphical User Interfaces with JavaFX, event-based programming, user interface mockups, usability evaluation and heuristics

teaching

Advanced algorithms (2018-2019)

teaching assistant at DUT2 level for 64h at Lille University/IUT A

recursive and iterative algorithms, recursive and advanced data structures

teaching

Introduction to computer systems (2018-2019)

teaching assistant at DUT1 level for 64h at Lille University/IUT A

coding numbers and text, computer architecture, operating systems, scripting and the terminal, processes and files

academic

Best Paper Award at EICS'19

academic

Reviewer for IHM'19

sign of life

Raid Centrale Lyon

Running, cycling and canoeing. We registered for the discovery level with Thierry Gonon and finished 3rd.

sign of life

Hash Code 2019 contest

91th/6671, 6th in France, team Lokidoki on my own.

2018

engineering

Polyphony: building GUIs with ECS (2016-2019)

Proof-of-concept and technical walkthrough on adapting the Entity-Component-System model to the architecture of a Graphical User Interface [IHM'18, EICS'19].

engineering

edge264 (2013-)

Experimental software decoder for the H.264 video codec, which I keep developing in my spare time to research new programming practices and to make a useful contribution to the open source community.

publication

[IHM'18]

T. Raffaillac & S. Huot. Application du modèle Entité-Composant-Système à la programmation d'interactions. À la 30e conférence francophone sur l'Interaction Homme-Machine (IHM 2018). (33%) DOI PDF slides

teaching

Introduction to human-machine interfaces (2018-2019)

teaching assistant at DUT1 level for 64h at Lille University/IUT A

programming Graphical User Interfaces with JavaFX, event-based programming, user interface mockups, usability evaluation and heuristics

teaching

Advanced algorithms (2018-2019)

teaching assistant at DUT2 level for 64h at Lille University/IUT A

recursive and iterative algorithms, recursive and advanced data structures

teaching

Introduction to computer systems (2018-2019)

teaching assistant at DUT1 level for 64h at Lille University/IUT A

coding numbers and text, computer architecture, operating systems, scripting and the terminal, processes and files

teaching

Web technologies (2017-2018)

teaching assistant at License1 level for 36h at Lille University

client-side Web technologies HTML/CSS/JavaScript

teaching

Algorithms and complexity (2017-2018)

teaching assistant at Master1 level for 36h at Lille University

divide and conquer, dynamic programming, greedy algorithms, complexity analysis, P/NP and reduction

academic

Reviewer for IHM'18

sign of life

Catalysts Coding Contest

Team //#include <mercy> with Lucien Mousin, 2nd in Lille, for which I participated in organizing the hub.

sign of life

Hash Code 2018 contest

1122th/3012, team //#include <mercy> with Lucien Mousin.

2017

engineering

Polyphony: building GUIs with ECS (2016-2019)

Proof-of-concept and technical walkthrough on adapting the Entity-Component-System model to the architecture of a Graphical User Interface [IHM'18, EICS'19].

engineering

Turning function calls into animations (2016-2017)

Demonstration of a language extension to express animations in Graphical User Interfaces, implemented in the Pharo/Smalltalk platform [EICS'17].

engineering

edge264 (2013-)

Experimental software decoder for the H.264 video codec, which I keep developing in my spare time to research new programming practices and to make a useful contribution to the open source community.

publication

[EICS'17]

T. Raffaillac, S. Huot & S. Ducasse. Turning Function Calls Into Animations. In the 9th Symposium on Engineering Interactive Computing Systems (EICS 2017). Late Breaking Result (35%) DOI PDF slides

publication

[EICS'17]

T. Raffaillac. Language and System Support for Interaction. In the 9th Symposium on Engineering Interactive Computing Systems (EICS 2017). Doctoral Consortium DOI PDF slides poster

teaching

Web technologies (2017-2018)

teaching assistant at License1 level for 36h at Lille University

client-side Web technologies HTML/CSS/JavaScript

teaching

Algorithms and complexity (2017-2018)

teaching assistant at Master1 level for 36h at Lille University

divide and conquer, dynamic programming, greedy algorithms, complexity analysis, P/NP and reduction

academic

Reviewer for IWST'17 and ManLang'17

sign of life

Demonstrating animations in Pharo Smalltalk

Presentation given on 19 May during Pharo Days in Lille, France.

sign of life

Catalysts Coding Contest

Team ThiYo with Yoann Dufresne, 3rd in Lille, where I also helped organizing the hub (printing T-shirts and communicating to students).

sign of life

Hash Code 2017 contest

186th/2815, 1st in our hub, team ThiYo with Yoann Dufresne.

sign of life

Meilleur jeu du monde

Nerds + Beers = Game dev party... (during FOSDEM 2017)

2016

engineering

Polyphony: building GUIs with ECS (2016-2019)

Proof-of-concept and technical walkthrough on adapting the Entity-Component-System model to the architecture of a Graphical User Interface [IHM'18, EICS'19].

engineering

Turning function calls into animations (2016-2017)

Demonstration of a language extension to express animations in Graphical User Interfaces, implemented in the Pharo/Smalltalk platform [EICS'17].

engineering

edge264 (2013-)

Experimental software decoder for the H.264 video codec, which I keep developing in my spare time to research new programming practices and to make a useful contribution to the open source community.

sign of life

Bamboo that bends

A 3D Twister game made with five people during the ZooMachines Interactive Arts festival, which was way funnier than on video!

sign of life

Early ECS demonstration in Pharo Smalltalk

Presentation given on 25 August at ESUG 2016, Prague, Czech Republic.

sign of life

A case about parsing errors

A blog article about the handling of errors in edge264.

sign of life

Hash Code 2016 contest

153rd/1054, 1st in our hub, team Brony Express with Izzatbek Mukhanov and Sébastien Poulmane.

sign of life

The Maze Nightmare

Short game created with Yoann Dufresne and Matthieu Falce for the Ludum Dare Jam 35. As usual I did the artwork and music. Beware the game is meant to be oppressing...

2015

engineering

edge264 (2013-)

Experimental software decoder for the H.264 video codec, which I keep developing in my spare time to research new programming practices and to make a useful contribution to the open source community.

2014

engineering

edge264 (2013-)

Experimental software decoder for the H.264 video codec, which I keep developing in my spare time to research new programming practices and to make a useful contribution to the open source community.

2013

engineering

edge264 (2013-)

Experimental software decoder for the H.264 video codec, which I keep developing in my spare time to research new programming practices and to make a useful contribution to the open source community.

2012

engineering

Exploring the design of compiler feedback (2012)

Three visual prototypes of an IDE interface with a richer communication with compilers, along with an exhaustive list of cases where they could be useful [PPIG'12].

publication

[PPIG'12]

T. Raffaillac. Exploring the design of compiler feedback. In the 24th Annual Workshop of the Psychology of Programming Interest Group (PPIG 2012). PDF slides

sign of life

Little Sheep

Short story-telling game created with Alexandre Kohen during 3 days for the Ludum Dare Jam 23. I did the artwork and music :)

2011

sign of life

Assisting interface for easy administration of a CMS

Study of a novel interface for online Content Management Systems, for the Interaction Design course. [PDF]

sign of life

Assassination Game Application

Video prototype for a Group Project of the Interaction Design course.

sign of life

WHILE compiler

Optimizing compiler backend written in Java for a subset of the WHILE language to UNIX x64 assembly, for the Program Semantics and Analysis course. [sample output]

sign of life

Diffusion en direct avec VLC (French)

Interactive tutorial to easily set up a high-quality real-time video broadcast using VLC.

2010

sign of life

Mise en place de VOD (French)

Step-by-step documentation to install and fine-tune a Video-on-Demand server on Linux.

2009

sign of life

Club programmation

Support material for an OpenGL course I created at Centrale Marseille.

sign of life

Film de Rentrée du GInfo (French)

Short movie promoting the Computer Science student association at the annual associations fair of Ecole Centrale Marseille. A must-watch if you've scrolled down this far :)

sign of life

Compression avec StaxRip (French)

Tutorial to compress a video exported by Premiere Pro, using the software StaxRip. The parameters would correct the flaws introduced by Premiere (its disastrous deinterlacing filter) and output in a format ready for integration in a Web player.

sign of life

Compression avec MeGUI (French)

Tutorial to compress a video exported by Premiere Pro, using MeGUI. It was soon superseeded by the tutorial on StaxRip.

2008

sign of life

La lentille électrostatique (French comments)

Simultation of an electrostatic lens by shooting electrons in a simple finite element mesh, created for the TIPE exam at the end of the Classes Préparatoires.

sign of life

Modèle EXE (French comments)

Source code for nasm based on the PE/COFF reference, to create an executable file from scratch without linking.

2007

sign of life

Oscillations d'un Fil (French comments)

Real-time simulation of a flexible wire using Lagrangian Mechanics and RK4 integration, created for the TIPE exam.

sign of life

Casse-briques (French comments)

Breakout-clone where the paddle can tilt.

2005

sign of life

Visionneuse 3D (French)

Interactive viewer for 3D objects stored in files. This program ended a 3-year obsession to create a 3D engine, and was my last BASIC program before playing with more modern languages.