Recent projects
Ported a legacy application for a reseller from Turbo Pascal using flat files under DOS to Delphi/Firebird under Windows, including reverse-engineering of missing source code (10% of the 580 units were proprietary, of now defunct company). Porting commenced in two steps. First, compatible UI layer was implemented with the help of Windows console API, so that application could still run off flat files but in a Win32 environment. Second, a compatible database layer was developed so that flat-file access was translated into Firebird SQL. As a subproject a data pump was implemented to facilitate porting of customer data to Firebird.
- Customer-requested modifications for an PHP-based questionnaire system.
- In just 4 months secured the release of the new version of the company's flagship questionnaire product Quaestio, written in Delphi (4 Mb of source code): upgraded questionnaire designer viewer to a polymorphic one, using either IE ActiveX or internal HTML viewer for backwards compatibility, upgraded question navigation tree from MS to an open-source product with significant increase of flexibility (added drag and drop of question groups), improved speed of processing large questionnaires (20s processing time against 2 min with old version), revised product documentation written in XML (DocBook).
Modifications to an existing suite of products to create a custom workflow system for use in invoice procurement process at municipality Groningen. Developed a front-end for entering scanned invoices into the system. Developed an extension to existing passive document object to allow it become active, that is, carry data that can be acted upon en route.
- Web-site spider to search for a set of keywords (e.g. Delphi;Oracle)
- Google job queries database highlighting changes (new sites in query results)
- Extraction of employers data from online databases
-
Developed parts of a custom GIS for the exceptional transport authority.
Designed and implemented a mapping engine for displaying geographical
information and user-level data (routes and their restrictions) using
Delphi and Oracle. Implemented conversion of data and shapes to be used
from Teleatlas database (Multinet).
Major achievements were:
-
Ensuring acceptable performance, given the large amount of data involved (150 Mb shapes, 300 Mb Oracle data), and also building flexible enough architecture that could adapt to constantly evolving customer requirements. The resulting response time with the database of the complete Netherlands was less than 2 seconds in the worst case.
Solving unanticipated problem of yearly geographical updates from Teleatlas: first, the format of tables and even database structure itself changed significantly between 2001 and 2002 updates. The second problem was even more fundamental: user data, connected to old road segment identifiers, had to be recovered, as about 10% of 1.5 million road segments in the Netherlands were changed both in geography and identification. Object-based design of conversion routines helped with adapting to source data change and use of geometrical matching allowed for semi-automatic recovery of the bulk of data.
Having a flexible architecture, so that it could be adapted quickly to suit other projects, where a different amount of zoom levels and map resolution was required.
-
shorter development time (all objects inherited the same mechanism, rather than used custom SQL to interface with MS Access - the development DBMS)
made persistence independent of the underlying DBMS, so that it could be easily ported to SQL Server, or, in fact, could operate on several different databases as was expected from the customer environment, already operating two legacy databases.