I am an engineer, teacher and researcher at École Centrale de Lyon since September 2019. I obtained a double degree in Engineering and Computer Science from Centrale Marseille and KTH Royal Institute of Technology (October 2012), worked in Paris as R&D engineer on optimizing software for embedded TV decoders (December 2012 — June 2014), did a short internship at Inria Saclay (March 2015 — August 2015), and defended a PhD in Human-Computer Interaction at Inria Lille (November 2015 — December 2019).
These days I contribute to the development of the competency-based curriculum and multidisciplinary teaching activities, while providing technical support for teachers to manage courses with digital content. I am a member of the Sustainable Development and Societal Responsibility local committee, and try to be as proactive as possible in that domain. As a teacher I am involved in Algorithmics, Data Structures, Software Engineering, User Interfaces, and Competitive Programming (for which I also organize regular trainings). As a researcher my main motivation is to make it easy to program applications with user interaction. I work hard to explore unconventional paths, most of my spare time going into compulsively crafting code then sharing it with academic and engineering communities.
On a personal note I am an avid hiker, cook, cyclist, gardener, and heavy metal enthusiast 🤘.
Website for a teaching challenge on optimizing energy production (current)
Experimental software decoding architecture for the H.264 video format
|[Didapro'20]||T. Raffaillac, F. Chavanon & R. Vuillemot. Utilisation d’un juge en ligne pour l’évaluation automatique des programmes des étudiants. (Poster) À la 8e édition du colloque Didapro-DidaSTIC (Didapro 8).|
|[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.3%) [HAL] Best paper|
|[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). (50%) [HAL]|
|[EICS'17]||T. Raffaillac, S. Huot & S. Ducasse. Turning Function Calls Into Animations. In the 9th Symposium on Engineering Interactive Computing Systems (EICS 2017). (35%) [HAL]|
|[EICS'17]||T. Raffaillac. Language and System Support for Interaction. (Doctoral Consortium) In the 9th Symposium on Engineering Interactive Computing Systems (EICS 2017). [HAL]|
|[PPIG'12]||T. Raffaillac. Exploring the design of compiler feedback. In the 24th Annual Workshop of the Psychology of Programming Interest Group (PPIG 2012). [Prezi]|
|19/20||Algorithms and data structures||3||École Centrale de Lyon||80h (TA)|
|19/20||Object-oriented design and programming||3||École Centrale de Lyon||60h (TA)|
|19/20||Web application project||3||École Centrale de Lyon||30h (TA)|
|19/20||Supervised project: preparation to code contests||3||École Centrale de Lyon||20h|
|18/19||Introduction to human-machine interfaces||1||IUT A de Lille||64h (TA)|
|18/19||Advanced algorithmics||2||IUT A de Lille||64h (TA)|
|18/19||Introduction to computer systems||1||IUT A de Lille||64h (TA)|
|17/18||Web technologies||1||Université de Lille||36h (TA)|
|17/18||Algorithms and complexity||4||Université de Lille||36h (TA)|
|Current||Kattis profile, CodeForces profile, CodeChef profile|
The programming contest platforms I use the most at the moment.
|2020||Hash Code 2020|
2826th/10724, 2nd in our hub, team XoXot with Damien Masson, Nicolas Crosetti and Paul Gallot.
|MOOC on university teaching (French)|
Followed during 10 weeks for ~2h/week [Certificate of completion]
My very first participation, as a coach, with teams ECL 1 (82th/98) and ECL 2 (84th/98). I was also glad to score well among French institutions at the coaches contest.
|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||PhD thesis (French)|
Written in HTML, using paged.js to convert to PDF. Oral defense was given on 18 December at IRCICA, Villeneuve-d'Ascq, France. [slides]
|Raid Centrale Lyon|
Running, cycling and canoeing. We registered for the discovery level (without training) with a fellow PhD student and finished 3rd.
|Hash Code 2019|
91th/6671, 6th in France, team Lokidoki on my own.
|2018||Catalysts Coding Contest|
Team //#include <mercy>, 2nd in Lille, for which I participated in organizing the hub.
|Hash Code 2018|
1122th/3012, team //#include <mercy> with Lucien Mousin.
|2017||Demonstrating animations in Pharo Smalltalk|
Presentation given on 19 May at Pharo Days, Lille, France.
|Catalysts Coding Contest|
Team ThiYo, 3rd in Lille, where I also helped organizing the hub (printing T-shirts and communicating to students).
|Hash Code 2017|
186th/2815, 1st in our hub, team ThiYo with Yoann Dufresne.
|Meilleur jeu du monde|
Nerds + Beers = Game dev party... (during FOSDEM 2017)
|2016||Bamboo that bends|
A 3D Twister game made with a team of five people for the ZooMachines Interactive Arts festival, which was way funnier to play than the videos show!
|Early ECS demonstration in Pharo Smalltalk|
Presentation given on 25 August at ESUG 2016, Prague, Czech Republic.
|A case about parsing errors|
An article about the handling of errors in edge264.
|Hash Code 2016|
153rd/1054, 1st in our hub, team Brony Express with Izzatbek Mukhanov and Sébastien Poulmane.
|The Maze Nightmare|
Short game created with two friends for the Ludum Dare Jam 35. As usual I did the artwork and music. Beware the game is meant to be oppressing...
Short story-telling game created during 3 days with a friend for the Ludum Dare Jam 23. I did the artwork and music :)
|2011||Assisting interface for easy administration of a CMS|
Study of a novel interface for online Content Management Systems, for the Interaction Design course. [PDF]
|Assassination Game Application|
Video prototype for a Group Project of the Interaction Design course.
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]
|Diffusion en direct avec VLC (French)|
Interactive tutorial to easily set up a high-quality real-time video broadcast using VLC.
|2010||Mise en place de VOD (French)|
Step-by-step documentation to install and fine-tune a Video-on-Demand server on Linux.
|2009||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 :)
|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.
|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||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.
|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||Oscillations d'un Fil (French comments)|
Real-time simulation of a flexible wire using Lagrangian Mechanics and RK4 integration, created for the TIPE exam.
|Casse-briques (French comments)|
Breakout-clone where the paddle can tilt.
|2005||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.