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.

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.