Tom Van Cutsem Me explaining the Unix Game to visitors at Bell Labs’ Unix50 event, October 2019

You’ve reached the blog of Tom Van Cutsem. I’m an associate professor of Computer Science at KU Leuven, within the DistriNet research group of the Computer Science department. My research interests are secure distributed computing, decentralized systems and smart contracts.

I am also a scientific advisor to Bell Labs, the research arm of Nokia (yes, that Bell Labs). Prior to (re)joining academia, I led the Software Systems research department at Bell Labs, focusing on trusted data sharing and AI pair programming solutions.

Prior to joining Bell Labs, I was a CS professor at the Software Languages Lab of the Vrije Universiteit Brussel. I also did my doctoral research there on AmbientTalk, a distributed programming language designed for mobile ad hoc networks, which got featured in MIT Technology Review.

In 2009/2010 I was Visiting Faculty at Google in Mountain View (US) where I got involved in the standardization of JavaScript (aka ECMAScript). My biggest claim to language design fame is the creation of the JavaScript Proxy API together with Mark S. Miller, now shipping in all major browsers.

I’m passionate about getting young people exposed to the art of programming. I’m the creator of The Unix Game, a coding game I built at Bell Labs on the occasion of the 50th anniversary of Unix. I’ve also been quite active in organizing programming contests: I was a jury member and organizer of the Flemish Programmign Contest, a regional ACM ICPC-inspired programming contest for students and professionals. For a time I was also a jury member of the Belgian Olympiad in Informatics.

Program Committees

See here for a recent list of Program Committees on which I serve.

Past work that I am proud of

  • At KU Leuven, I designed a full semester Blockchain course as part of the Advanced Master in Cybersecurity.
  • I designed the Unix Game, an online coding game built for the occasion of the 50th birthday of the Unix operating system. A few days after launch the game went viral, attracting thousands of players and tens of thousands of visitors worldwide.
  • Designed a search engine for software packages called Code Compass powered by unsupervised machine learning algorithms (joint work with colleagues from Nokia Bell Labs).
  • Built a wide-area distributed stream processing platform for IoT called World-wide Streams (joint work with multiple colleagues from Nokia Bell Labs).
  • Contributed to the JavaScript (ECMAScript) standard. Designed the ECMAScript 2015 Proxy and Reflect reflection APIs (joint work with Mark S. Miller from Google).
  • Together with Stijn Mostinckx at the University of Brussels, designed and implemented the distributed, open-source AmbientTalk programming language.
  • Organized the 2013 Flemish Programming Contest, a regional ACM-style programming contest, attracting 500 participants.
  • Author of reflect.js, a Javascript reflection library making the ECMAScript 6 reflection API available on current platforms.
  • Together with Dries Harnie, Joeri De Koster and Theo D’Hondt, designed SchemeKen, a distributed, resilient dialect of Scheme.
  • Author of traits.js, a minimal trait composition library for Javascript.
  • Independently developed a 26-hour lecture series at university Master-level on multicore programming and an introductory university Bachelor-level course on distributed systems.
  • Author of stm-in-clojure, a meta-circular implementation of software-transactional memory in Clojure. I use this library for teaching STM in my university course on multicore programming.
  • As a CS undergrad student, I enjoyed working on hands-on programming projects including a compiler for a C-like language for the JVM written in C++, a mobile agent travel reservation system in Java, a resource scheduler written in Prolog, a 3D rendering engine based on Binary Space Partitions, a text-based RPG, and a spreadsheet all written in Scheme (now Racket).
  • A variety of other software projects can be found on GitHub.