PhD candidate at University of Antwerp
(2001-2007)
MPL executing a script in different number modes:
After getting my Master's in Computer Science at the University of Antwerp I stayed around to work on a PhD. This gave me the spare time to experient a lot and really homed my software writing skills. I was always exploring new programming languages and constantly learning as much about being a great programmer as well as how to write compilers myself. The ultimate goal of my thesis would be to have an open source alternative to the Matlab language. But it also had to be built on the multi precision libraries of the research group CANT (Computer arithmetic and numerical techniques ) later better named into CMA (computation mathematics) that funded my thesis. This was in order to allow highly accurate calculations on one side and on the other hand be able to use lower precision to teach students the dangers of having a finite floating point representation that mimics mathematics where everything can be infinite.
The project was first called Arithmetic Explorer and had been developed on and off by various different students. The code base had turned quite complex and used a lot of antiquated/deprecated Qt code. This was basically fully rewritten with a more modern version of Qt by myself and some students that did their master thesis on sub parts of the system. Later on it was renamed into Multi Precision Lab (MPL).
In the screenshots you can see that the precompiler also had a Qt gui to configure the automatic source code translations. Here you could specify the source, target types and rhs types. It would then parse any c orc++ file and make the source code translations so that the results would be more arithmetically correct.
The second screenshot shows you had a matlab compatible syntax to execute matlab scripts but you also had an extra command 'mode' this switched the underlying matrix and other variables to a different mode which in turn mapped to the various classes written by CANT (like MpIeee, Complex, Rational) etc. The cool thing here is your matlab code stays pretty much the same. But by switching to for instance 'rational' you now do all computations using rational numbers instead of real's.
Teaching
Also did a little teaching during my years at University of Antwerp
This page in under construction, and will be completed when I have spare time...
Software Engineering
...
Capita Selecta A.I.
... summary here...
Using lego mindstorms to make the course a bit more fun
... slides here...Matlab introduction course
...
Seminars
Some seminars I gave a talk on during my PhD candidate years at University of Antwerp.
WOG Symposium 2004
... todo summary and pictures here...
The slides of the presentation:
Talk slides
ICCS 2005
todo summary and pictures here...
AE Tools
Presented at University of Antwerp
Publications
Most of my time was consumed by writing C++, Java, Python, Matlab and other code every day and learning about compiler design in order to get Multi Precision Lab into a state where it would be a real commercial product. I didn't get to focus on writing actual papers that much. However I did have 2 nice ones published: the ACM Toms publication and the release talk on ICCS 2005 where I presented the working MPL IDE and associated paper. There was also a short collaboration with Jeff Tupper who had this nice graphics library GrafEq. Together with others from our group I helped a little with integrating that into our MPL environment which resulted in me being added to that last publication's authors.
- A C/C++ precompiler for autogeneration of multiprecision programs, Walter Schreppers, Annie Cuyt. Published in ACM Transactions on Mathematical Software.
- Presenting Multi Precision Lab at ICCS 2005., Walter Schreppers, Franky Backeljauw, Annie Cuyt. In proceedings of the ICCS 2005 conference Georgia USA.
- GrafEqC: reliable computing in the complex plane (2005), Stefan Becuwe, Annie A.M. Cuyt, Jeff Tupper, Jo Janssen, Walter Schreppers.
After my academic career I pretty much took a break by working in construction for 2 years. And then started as an R&D contractor working for various other companies. My first software engineering job was at Option NV