Old Projects (2000-2009)

Wormux game

See also

My current projects and my talks.


Old websites (dead)

  • Wiki (last new article in december 2013).

  • Blog Haypo (last article in 2011)

  • Wordpress Blog (dead URL: http://www.haypocalc.com/wordpress/) (last article in 2011)

These sites were hosted at the haypocalc.com domain created in december 2001, but the domain died in december 2017, 16 years later.

Articles on linuxfr.org

Some of my articles:

Paper Articles

Python projects

  • pytracemalloc: debug tool to trace memory blocks allocated by Python. The module is part of Python standard library since Python 3.4, I maintain a backport for Python 2.7 and 3.3 (it should work on Python 2.6-3.3).

  • faulthandler: Dump Python tracebacks explicitly, on a fault, after a timeout, or on a user signal. The module is part of Python 3.3 and newer.

  • pysandbox: Sandbox to run untrusted Python code. Project stopped because it is broken by design.

  • python-ipy: The project is still active, but I don’t maintain it anymore. Python classes and tools for handling of IPv4 and IPv6 addresses and networks. I don’t need this module anymore and so I am no more interested to maintain it, the new maintainer is Jeff Ferland aka autocracy. Python 3.3 now includes ipaddress, a concurrent module to handle IP addresses and networks.

  • registervm: My fork of Python 3.3 using register-based bytecode, instead of stack-code bytecode. Read REGISTERVM.txt

  • python-ptrace: Python binding of ptrace library to debug processes on UNIX and BSD.

Other projects

  • Trollius: portage of the Tulip project (asyncio module, PEP 3156) on Python 2, asynchronous input/output library.

  • Warmux, previously known as “Wormux”: Open source clone of the famous 2D game “Worms” by Team17.

Old removed projects

  • Hasard: pseudo-random number generator (PRNG) library.

  • Fusil: Fusil is a Python library used to write fuzzing programs. It includes fuzzers for Firefox, ClamAV, Mplayer, Python, etc. I am no more working actively on the project, but it still works.

  • aioeventlet: implementation of the asyncio API (PEP 3156) on top of eventlet.

  • aiogevent: implementation of the asyncio API (PEP 3156) on top of gevent.

  • astoptimizer: experimental optimizer for Python code working on the Abstract Syntax Tree (AST, high-level representration). It does as much work as possible at compile time.

  • macfly: tool allowing to run one or more programs with a shifted clock compared to system clock. project written at INL for the french CNES (National Centre for Space Studies)

  • HaypoCALC: A formal calculator in text terminal. Existing functions : ln,lg, basen, gcd, lcm, ncr, npr, factor(int), cos,sin,tan, acos,asin,atan, derive,taylor, … Work on Linux and Windows, programmed in C++.

  • happyboom: Prototype of a library to write a turn-based game, it is mostly a network protocol.

Workshops Lolut

Dans le cadre du club Lolut auquel j’appartiens, j’ai organisé plusieurs ateliers :


I like programming. I started with examples copy-pasted manually from the magazine “Science & Vie Junior”, programs written in “Basic” (Microsoft Quick Basic).

Then I moved forward with the programming language “Pascal” (avec Turbo Pascal 7), completed with assembler Intel x86 (Borland Turbo Assembleur 1 and 2).

The other major change was the move to the object oriented programming (OOP) with Borland C++ Builder and short tests with gcc on MS-DOS (it didn’t work well). When I started to study at UTBM (engineer school), I switched from Windows to Linux because the 4 computers running Linux were always available and I didn’t thave the Internet at home.

I learnt HTML and XHTML (completed with Javascript), then PHP, and finally XML + XSLT + CSS. I learnt some Java at school, and Python at home.

I also developed with Visual Basic and Delphi, but I didn’t do anything interesting with them.