Skype: franck.dernoncourt
MIT, Cambridge, USA

profile for Franck Dernoncourt on Stack Exchange, a network of free, community-driven Q&A sites


0NeuroClick [C]2012
1Sferes2 [C++]2011
2Sikuli vs Google Games: Bot for Angry Birds [Python]2011
3MoinMoin Vimeo extension [Python]2011
4Google AI Contest - Planet Wars bot [Python] (Autumn 2010)2010
5Boggler [C++/Qt]2009
6MediaWiki extension: W4G Rating Bar [PHP]2008
7Nim - Misère game [Python/Pygame]2007
8Total Is Right [C++/Qt]2007
9Sudoku Solver and Generator [C++/Qt]2007
10Tic-tac-toe [C++/Qt]2007
11Oldest programs [mostly VB] (before 2007)2004

NeuroClick is a program that emulates mouse clicks with eye blinks using the NeuroSky MindWave headset. The source code (C) can be found below; most parts come from the example provided with the API. Ca. 90% accurate, due to the NeuroSky MindWave API which misses around 10% of eye blinks. It was tested on Windows 7 x64 with multiscreen and should work on any Windows.

More information on the NeuroSky MindWave on their official website.

Here are the binary files. You may browse the source code online on GitHub


Sferes2 is a framework for evolutionary computation (EC) experiments and especially for evolutionary robotics (ER). Its main goal is to help researchers in EC and ER to efficiently try new ideas. Sferes2 has been inspired by sferes, another (older and no more maintained) framework for ER.

Sferes2 allows to design efficient programs on modern (multicore) computers: experiments typically require more than 24 hours of computation; in this situation it can be profitable to trade some complexity of implementation for some hours of computation. Nevertheless, the framework is designed to be as simple as possible.

More information on the official website.

Here is a tutorial to compile Sferes2 on Windows.

W4G Rating Bar

Sikuli is a visual technology to automate and test graphical user interfaces (GUI) using images (screenshots). Sikuli includes Sikuli Script, a visual scripting API for Jython, and Sikuli IDE, an integrated development environment for writing visual scripts with screenshots easily. Sikuli Script automates anything you see on the screen without internal API's support. You can programmatically control a web page, a Windows/Linux/Mac OS X desktop application, or even an iphone or android application running in a simulator or via VNC.

Here is a nice research article on Sikuli as well as a news article published on MIT News Office .

I wrote a Sikuli Script for playing Angry Birds on Google Games. The script is simple but efficient: it achieves high-scores that are very hard to beat by simply trying different launching angles. The script was showcased on Sikuli's Official Blog, where you will find the source code.

I recorded a demo of this script, in which it beats Sergey Brin’s high-score on map 1-4 (36710 vs 29920). I know the video is boring, no wonder why I wrote the bot ;)

MoinMoin is an advanced, easy to use and extensible WikiEngine written in Python (vs. PHP for MediaWiki). Said in a few words, it is about collaboration on easily editable web pages. This simple macro allows you to include Vimeo videos. Official page (with source code).

W4G Rating Bar

Official website:
Games history:

Planet Wars is a game based on Galcon, but is designed to be a simpler target for bots. The contest version of the game is for two players. A game of Planet Wars takes place on a map which contains several planets, each of which has some number of ships on it. Each planet may have a different number of ships. The planets may belong to one of three different owners: you, your opponent, or neutral. The game has a certain maximum number of turns. At the time of this writing, the maximum number of turns on the official server is 200, but it is not yet a part of the specification. Provided that neither player performs an invalid action, the player with the most ships at the end of the game wins. The game may also end earlier if one of the players loses all his ships, in which case the player that has ships remaining wins instantly. If both players have the same number of ships when the game ends, it’s a draw.

This bot was ranked amongst the top 10%.
Boggler is played using a grid of lettered dice in which players attempt to find words in sequences of adjacent letters. The goal of Boggle is to create words out of adjacent letters in a 4x4 letter grid. Select adjacent letters to create the word. You can select words horizontally, vertically, or diagonally. You can't skip letters and you can't use the same letter twice in the same word. You score points for all valid words you find in the grid. Duplicate or invalid words are worth zero points.

Download: Binaries for Windows (English) | Binaries for Windows (French)

Boggler Screenshot
W4G Rating Bar is a MediaWiki extension which provides a page rating system. The rating bar can be either manually included on pages, using a parser function ({{#w4grb_rate}}), or automatically added at the bottom of all pages, by setting $wgW4GRB_Settings['auto-include'] to true. Various top-lists can then be generated.

W4G Rating Bar W4G Rating Bar
Nim is a mathematical game of strategy in which two players take turns removing objects from distinct heaps. On each turn, a player must remove at least one object, and may remove any number of objects provided they all come from the same heap. Nim is usually played as a misère game, in which the player to take the last object loses. It was probably the first ever electronic computerized game (1952), three engineers from the W.L. Maxon Corporation developed a 50-pound machine which played Nim against a human opponent and regularly won.
You can find more details on this game on

Download: Binaries for Windows
Nim screenshot
The goal of this game is to arrive at a chosen number (from 101 to 999) using the four basic arithmetic operations (+, -, × and ÷) applied to six numbers chosen randomly from the following alternatives: 1 to 10; 25; 50; 75; 100 (each number is drawn from the entire set, so the same number may appear more than once). Once these six numbers are selected, a three-digit target number is generated. The player has to combine the numbers arithmetically with the goal of producing the target number. He may use each of the six numbers originally selected once, and the result of each operation performed with them once – for example, if a contestant multiplies 4 by 25 to obtain 100, he or she may no longer use the 4 or 25, but may use the 100 in further calculations. It's not mandatory to use all the numbers. All numbers used must be integers.
You can find more details on this game on

   Numbers given  : 8 — 4 — 4 — 6 — 8 — 9
   Target number  : 594
   8 + 8 = 16
   16 × 4 = 64
   6 - 4 = 2
   64 + 2 = 66
   66 × 9 = 594

Download: Binaries for Windows
Nim screenshot
Sudoku is a logic-based, combinatorial number-placement puzzle. The objective is to fill a 9×9 grid with digits so that each column, each row, and each of the nine 3×3 sub-grids that compose the grid (also called "boxes", "blocks", "regions", or "sub-squares") contains all of the digits from 1 to 9. The puzzle setter provides a partially completed grid, which typically has a unique solution.
You can find more details on this game on

Download: Binaries for Windows
Nim screenshot
Tic-tac-toe, also called wick wack woe (in some Asian countries) and noughts and crosses (in the UK, Australia, New Zealand, South Africa, India and the rest of the British Commonwealth countries), is a pencil-and-paper game for two players, X and O, who take turns marking the spaces in a 3×3 grid. The X player usually goes first. The player who succeeds in placing three respective marks in a horizontal, vertical, or diagonal row wins the game.
You can find more details on this game on

The following example game is won by the first player, X:
Tic Tac Toe screenshot

Download: Binaries for Windows
Tic Tac Toe screenshot
I co-created MPAM with my brother in 2000 with whom I published some software in French:

  1. Le Bourrineur: a chat flooder for late Caramail chat rooms.

  2. Irregular verbs: helps student learning irregular verbs in English and German.

  3. BossFooler 2: anti-productivity software that makes your boss believe that your PC is busy installing a program or doing a virus scan.

  4. FileMender: deals with transfer errors during file downloads.

  5. METo: encryption program. Up to 128 bits (limited version) or unlimited (if the law of your country allows).

  6. MTTFWin: Windows customizer (40 reg keys for MSIE, cheats for Minesweeper, history cleaning, ActiveDesktop disabling, add features to the Explorer context menu Windows, hide the floppy drive and so on).

  7. SpeedUP-DSL: optimizes your Internet connection with a few clicks.

  8. Starter: changes the system date and launches an application of your choice. Then just click OK to return to the actual date. (useful for old shareware)

  9. A few JavaScripts.