I completed my PhD in computer graphics at Paul Sabatier University, Toulouse, France, in 1996. My research dealt about ray-tracing, 3D visualization, voxelization, robust voxelization, octree, 3D rendering, implicit surfaces, point rendering and interval arithmetic.
Prior to my Masters' degree, I had considerable experience in embedded, concurrent and Assembly programming (particularly for the 8085 processor) as well as several high level languages. During my Masters', my main interests were in computer graphics and computer architectures, among other areas in computer science. I started programming in C language and also used some 8086 Assembly.
During my post-doc at SUNY Stony Brook and Duke University, I continued my research in computer graphics and started research in parallel processing, proposing a new dynamic load balancing algorithm for multiprocessing memory shared machines. I also started programming in C++.
I then switched from an academic position of Senior Lecturer in London to a C++ Software Engineer position in a computer graphics company in Toulouse, France, where I dealt with multi-spectral ray-tracing for military applications.
After this experience, I switched back to an academic position of Assistant Professor in Singapore and of "Professeur Agrégé" in Montreal, Canada. I acquired Canadian citizenship and started a career in Java Android development in Motorola, Samsung, and Sony Ericson. This experience allowed me to have a very good perception of the problem of the use of frameworks for GUI development, starting with Java Android and now in Java desktop.
I have been nowadays studying and developing several tools for developing GUIs using vector graphics as a way to obtain portable and multiplatform GUIs. I studied, used and modified several vector graphics open source packages (FreeHEP, PDFBox and Opentype.js) for transforming Java vector to other vector formats, to generate PDF and to use vector fonts and vector typography on desktops and embedded applications as well as to automatically generate formatted texts in PDF.
My recent interest has been also extended to ways to have web applications using the same code as in desktop and embedded applications, particularly (vector) GUIs. I arrived to the conclusion that the best way to accomplish that and at the same time have the best performance in GUIs is using GLSL shaders.