Tnitter

pep8analysis

pep8analysis is a teaching tool to detect programming errors by static analysis of the source of Pep/8 assembly programs. It can be used to debug odd behaviours and to help grade student's work. The web version is recompiled to JavaScript, which is not well optimized and consumes too much RAM when analyzing large programs. The command line version of this tool is more powerful and supports more programs than the web version.

Free software contributions

I have contributed to a few free software projects, most of them can be found on my Github.

Nit language

Nit is a programming language created by academics to evaluate new language features. The result is an all-purpose language with an expressive syntax and error detection at compilation. Nit relies on class refinement to organize methods by concerns across classes. The language is independent of the engines, the main engine is a compiler but an proof of concept interpreter is also available to run scripts.

My main contributions to the project are the foreign function interfaces (FFI) which are used to call foreign code from Nit and the support for mobile platforms. The base FFI allows to implement a Nit method by inlining C code withing a Nit module. There are alternative FFIs offering mostly the same features with C++, Java and Objective-C. Nit programs can run on both Android and iOS. The Nit compiler detects the target platform from the imported modules and generates the target's package file.

I'm the maintainer of over 50 libraries and projects in the official Nit repository. Most of these use the FFI, support developing with the FFI or are mobile-oriented. The rest are most likely games, game-related or web services deployed on this server.

StaticJNI

StaticJNI is a tool to generate boilerplate code above standard JNI features to ease mixing C code with Java. The generated code contains stubs for the C functions to implement and simple static C functions to callback Java from C. It is a modification of javah from OpenJDK, effectively hiding most of the manipulation of the JVM instance and the meta-programming to execute callbacks.

PyCaptain

PyCaptain is a real-time action strategy multiplayer game where you collect resources, build up a ship and confront AIs or other players in battle. Written in Python, PyCaptain run on any desktop OS.