Projects

This page presents projects on which I work or have worked. They are presented in chronological order, the oldest at the bottom of the list and the most recent at the top. I usually work on one thing at a time, but there may be some overlap between the end of a project and the start of the rest. I also have “pet-projects” that are very small, usually implemented in one or two days, and that were simple experiments. All these projects are Free Software and available somewhere.

  • KHumanDateTimeParser, a class that reads a human-entered date-time (like “Monday next week”, “3 months ago” or “Tomorrow at 9pm”) and returns a QDateTime object corresponding to the date. The parsing rules are read from a locale-specific XML file. This class was made in preparation for the GSoC 2013, as my proposal for that year needed a mean to parse human-entered date-times.
  • QtORM, an object-relational model for Qt, built because I needed it for a project I cannot disclose. It is LGPLv2+ and is used in production by the aforementioned project. During my second year at the university, one or two students also used it for personal projects.
  • Clover, GSoC 2011. My version of Clover was a purely software-based OpenCL 1.1 library. When I started, Clover was able to print its version number. After the summer, it was API-complete (every function had an implementation that was not a stub) and able to compile and launch simple kernels. The compiler used was Clang, in OpenCL mode. Two years later, Clover can now run more complex kernels on a graphics card, and Clang is even more powerful. The documentation is here.
  • Setup, a package manager that supports many features of well-known package managers like APT/DPKG, RPM and Pacman. Inspired from those and also Yaourt, a colorized Pacman front-end. A graphical interface was also present. This code depends only on Qt4 (Core, Gui for the GUI, Xml, Script, Network, Sql) and libarchive.
  • Logram Website. Logram is a name I invented during my childhood. This website is a Django-based forge that sports a wiki (with history and permissions), a forum (with moderation, read notifications and polls), a bug tracker (minimal in comparison of Bugzilla, but that served its purpose), and an equivalent of packages.debian.org and software.opensuse.org. If you have Django, python-markdown, python-mysql and python-pygments, you can try to install this website on your computer or server. I don’t know for how much time it will remain compatible with the ever-changing Django framework, though.
  • Logram Desktop, a Qt-based desktop environment. Qt4 was in its infancy and didn’t provide an icon loader for instance, so this desktop environment provided one. The desktop shell may be worth taking a look at : video.
  • Logram OS. During my childhood, at 11 or 12 years, I wanted to create a new operating system. This dream made me learn x86_64 assembly (that I tested on a brand-new Athlon64 X2), the C programming language, and English (x86_64 wasn’t well-known and the only source of specific and system information was the AMD official documentation, 5 or 6 400-pages PDF files written in English).
  • My first appearance on the Internet : DeSte IDE, an editor and compiler for a toy programming language that introduced me to the lexing and parsing world (but there is no AST, I didn’t know what it is).

Leave a comment