I have started programming at the age of twelve. My brother wanted us to get computer for Christmas, and our parents agreed to get us this new toy, on one condition :
``no games, unless you write them yourselves". So that is how we got started, on the Sinclair QL. At first we started programming in SuperBasic. My first program was a quiz game. Later, I wrote a few versions of ``pac man" style games (each new version better, faster and more playable than the previous). Nothing really useful emerged from this, until we started to learn assembler, and started working on a drawing program.
The following programs have all been written for the Sinclair QL. This is an ancient computer (dating back from 1984) with a small but active user base. Although the system has been out of production for several years now, there is still a nice group of people scattered worldwide (approx. 3000), who still believe this is
a interesting machine and continue to use descendants of the original QL. In fact, QL software can now be run on PC's, on Atari ST/TT, the Amiga and special hardware.
All these projects are commercially available in this community (except The PAINTER, which only runs on the original hardware) and are continually being improved partly thanks to user requests etc. The programs are being sold both
directly and through dealers.
- The Painter : a pixel based drawing program. This program was completely written in 68000 assembler, being approx. 25k lines of code or 80kB in compiled form. I wrote this together with my brother, he did the user interface and I wrote all the drawing routines.
- DATAdesign : a card file database. Written in two parts, the database engine (as a library), and the graphical user interface for it. Both written in 68000 assembler.
- PROforma : a vector graphics drawing library. The most important part of this handles the display of fonts. The fonts are based on the Adobe Type I standard, with minor conversions in the font format the make the fonts easier to handle, and make sure the memory requirements on loading are reduced. A simple conversion program exists. The library is device independent, allowing the same calls to have their output displayed on screen or printer. The library was entirely written in C. PROforma handles general drawing both on screen and for printers. The bitmap routines, driver handling code and drivers to display complete pictures (e.g. GIFs) are external driver which can be added during execution.
- ProWesS : an application support package for the QL. The main part contains a resolution independent GUI. This does not include any coordinates, but objects are positioned relative with each other. Written in C, using OO principles. The system is extensible, as each type of module is separately loaded. Extra object types can be defined and added at will. ProWesS is based on PROforma for all it's graphics handling. The system can be
dynamically configured. All object types can have their attributes changed at any time, immediately affecting the look and feel of all objects of that type. This is an ongoing project.
- some smaller ProWesS applications - all written in C.
Web design projects :
- Designed the PROGS site (which you are looking at)
Designed my personal web site, talking about my triathlon life (see here).
- I have done some work for the University in Leuven to improve part of their web site. Unfortunately though, just when I started to get into it, they stopped the project because they had to make a lot of changes to comply with the university look (I was working on only a small part), and reverted to doing things in-house.
- The Cervélo 2000 triathlon team site is a PROGS realisation. This site is mainly in English, but also has some smaller copies in Dutch and French.
- Chamizo cycle shop site.
Other programming projects which were not done on the QL :
- thesis : ``The use of Mercury for the implementation of a finite domain constraint solver", written at university on Unix machines, mostly in Mercury, with some aid routines in C. Mercury was at that time a very new (in development) logic programming language which is intended to combine the power of prolog and the execution speed of C. The object was twofold : building a faster constraint solver and evaluating Mercury. Some
ideas for improvement of Mercury have been proposed during the project.
As a result of this, a paper got published in Nova Science (1999) : H. Vandecasteele, B. Demoen, J. Van Der Auwera: The Use of Mercury for the Implementation of a Finite Domain Solver.
- more than 200 hours work for a company in Visual FoxPro. This was a project for managing buildings in the health sector. Unfortunately this program never got finished. I started by modifying some existing form and
continued from there. Unfortunately the system never was finished due to (financial) problems - my lawyer is still trying to sort that out.
- Currently working for CAB (Computer Advies Bureau) in Nijlen. Encompasses several things. I wrote a program to fax price lists to customers, did a lot of troubleshooting (e.g. figuring out how to connect two networks with TCP/IP under Novell Netware) etc. Several projects in the meat sector, e.g. for handling calves etc. There are also some projects for general retail stores, including for putting barcodes on the products in the shop etc.
- Developped the package CAB-wegen. This program allows you to easily define a weighing dialogue with database link. This dialogue can include scripted actions for tests and calculations. The program can drive label and listing printers, and can work either standalone on a PC (mainly for testing or if no weight needs to be read), or drive a Bizerba ITU so that data can be entered from that, or read weights from Al-Wegen or Precia indicators. New indicators can easily be added. There
are also provisions for using an industry keyboard with display as input device and connection with LCD scanners (including display of some info on the scanner LCD screen for the DLL-6110).
After the original version, a new version was developped in Java (original was using WinDev). The new version is much more general, more powerful and has better device independence, internationalization support etc.
- Developped see-a-bee site catalog. This
is a content management solution. The site design is done seperatly from the site contents. The client gets a Java application to alter the contents of the site itself. He or she can add text and pictures to all pages. The site can also contain one or more product catalogues. Inside a catalogue, the user can add extra pages in a hierarchical structure, and add text, graphics and data. The contents of a catalogue can be searched by the site visitor on text or data content.
- Working on
Uni-d, a project to easily develop administrative applications with database link. This project is done in Java, has XML support etc.