Achtung: Links to softwares, to come soon!
I'm quite minimalistic in my programming (trying to leave the least memory footprints and compile with minimum filesize). This is mostly due to habit in the past which I still find a good habit.
My preferred operating system for PC (and indeed the one that I can be most productive with both as a developer and as a user) is Microsoft Windows. I'm the rare breed that still writes a GUI in Win32. Now I only use Win10 and the latest Debian in WSL but I still love the XP (I'm still playing games with XP). If possible/easy, I try to port software in Linux not available in Windows to Windows! My preferred smartphone operating system is Android, though I wished that there was something better than Android with a good C++ API.
My preferred programming language is C++. My preferred script language is Python, I mostly work with version 2.7. I work with almost all popular computer algebra systems except for SAGE. My preferred C/C++ IDE is VS2008. For compiling in GCC in Windows I use Codeblocks or simply Notepad++ and compile in console, for any other language/script (including writing in .tex) I use Notepad++ equipped with many of my self-made macros.
I don't usually maintain software/codes for the public. I mostly develop for my own needs, but I still like sharing what I did in case other people would like to benefit from them or would want to modify the codes. Some of my softwares are licensed under a free license.
This is my attempt to force Windows to allow multiple choice of screensavers that changes randomly within a given time interval. This is inspired by XScreenSaver in Linux. Indeed, I use XScreenSaver ports with this program.
This program opens robot workcell in Amrose format (.wc for workcells and and .dev for robots)
I used to religiously use the pomodoro technique in time management. I programmed WatchMe, which is a lightweight timer that alarms for me.
This is a C++ library (written with VS2008) that helps solve the inverse kinematic of a general 6R/P manipulator. It is based on an algorithm for 6R robots proposed by M. Pfurner, M. Husty and H-P. Schröcker. S.M. Manongsong and I modified this algorithm to work for a general 6R/P robot.
This is a python library that computes the factorization of integer-valued polynomials with square-free denominators. This is based on an algorithm proposed by G. Periuginelli.
This is a maple code that help solve the three algebraic surfaces in P^3 that cut out to make a space algebriac curve. It is based on the celebrated work of M. Kneser.
Here you can find a C++ library, and a python library that can compute the Laman number (number of realizations) of a given Laman graph. This is based on an algorithm proposed by our paper.
When I visit a conference or any other event where I have to silence my phone. I often forget to turn the sound of my phone back on, missing important calls. I therefore developed an Android app that help silence my phone for a given period and then turns it back on.
Here you can download two python scripts. One is developed for Rhinoceros and another is developed for FreeCAD. Given input as DH-parameters, the script will generate CAD files of links that can be assembled to create a manipulator/robot based on the DH-parameters.
Back in the days, I used to be one of the main develepor and research scientist for the open-source Makehuman project. This is a software that creates human 3D model for Blender and other CG Software. I was responsible for hair simulation and 3D hair creation.
This is a PDF render library that can be found here. This library is very difficult to compile in Windows. Available msys2
distributions have heavy dependencies. I also needed libpoppler
with glib
wrapper, so I decided to compile an optimized and lightweight version of the library for windows myself.
This is Denis Auroux' note-taking software. He has a win32 port of it, however I thought I could recompile an even more efficient version of his software with my efficient libpoppler-glib
build. This is the result.
The original KSokoban game (for KDE Linux) was written for windows by True Dimensions. I decided to clean it up and recompile resulting in smaller filesize.
Giac is a computer algebra system developed by Bernard Parise from the Fourier Institute in Grenoble. This CAS is used in some HP, Casio and Texas-Instrument calculators. It is also the CAS that Geogebra relies on. At the time I started working on it, it had the fastest known Groebner basis engine. There is also a python module giacpy that is based on it. This is the fastest known standalone python module for polynomial arithmetic and Groebner basis that I know. A Visual Studio compilable version of Giac was not available, so I modified it a bit so that I could compile it in VS2008 and use in some C++ projects.
Markus Privstosek developed DVIWin in the early 90's for an Atari ST with 1MB main memory and an 8MHz CPU. This was later ported to Win95. With such a minimal resource requirement, how could I resist tweaking it? This can still be compiled to work for Win10. I made some adjustments on the default zoom and fixed some bugs on the scrolling. I still want to change it so it can accomodate color in dvi. But the fact that it outperforms YAP is already my number one DVI viewer.