Every Byte
Custom software solutions
Projects

Recent projects

November 2005 - May 2007
Upgraded existing suite of diagram editors (ERD/Workflow/WebForms) developed by TUDelft students to a commercial status by fixing bugs and implementing new features. Refactored duplicated code dealing with graphical output in three editors into a single generalized viewport engine. The resulting viewport was lightweight enough to depict complicated drawings without flickering even with full content dragging and fast enough to allow proportional resizing of tables in Forms editor in real time. Subsequently refactored first monolithic version into a second generation which used plugin editors communicating through software bus.
July 2004 - September 2005
As Software Developer maintained several Delphi applications. One of them used Excel as a reporting engine and needed speedup for complex reports which could take 2 hours for generation. As a result of optimisation report generation was speeded up by a factor of two. For another distributed application for car dealerships developed automatic version updates over the Web, using either a static list on a Web-page or a Web-service .

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.

December 2003 - July 2004
Questionnaire software for the Web
  • 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).
September 2003 – December 2003
Workflow management systems

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.

July 2003 – August 2003
Developed a suite of tools to facilitate job search on the Internet:
- 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
December 2001 – June 2003
Custom software development house for transportation industry.
  1. 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.
  2. In a transport planner project for freight railroad operator designed domain objects and developed an underlying object persistence framework (OPF). Using a centralized mechanism for object storage achieved two goals:
    • 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.
  3. Advised a PDA-based mileage registration project on aspects of design and user interface. This project was aimed at a mass market so guidance on goal-directed user interface principles was important.
  4. In all projects interfaced to remote development teams in company’s subsidiary in India, acting as a technical lead for aspects of the project that were delegated there.