Projects

Here’s the partial list of my software and research projects. The open-source projects contain links to appropriate downloads. This list is by no means complete - I’ve included mainly the projects that can be useful for somebody, or just interesting enough to look at.

Open-source projects

These are the projects I’ve done in free time during the last 5 years or so. Most of these projects are comparably old, dated back in time when I still was a student and had some free time to experiment with all that stuff … Thus, please indulge ugly things you might see there, that’s not the way I would done it if I started these projects now.

Some of these projects were done purely for my own interest, while others were designed with some specific applications in mind, but most of them weren’t actually developed up to the level where I would consider wide public release appropriate. Thus, do not expect “production-grade quality” or completeness from any of these.

  • FastSig - fast, small, yet generic enough and portable implementation of signals/slots mechanism for C++.
  • Unrawel - small library and utility for processing RAW images from digical cameras, including their initial interpolation and subsequent post-processing, in C++.
  • DictD++ - fast, feature-rich and portable dictionary server that implements DICT protocol, in C++.
  • ChordExplorer - simple guitar chords visualization and exploration program, in Ruby.
  • Zadolbator - simple Jabber reminder component, in Ruby.
  • Gravacacher - extremely light HTTP caching server for gravatars.
  • This site (old) - information on tools and techniques used for this site creation, old (static) version.
  • This site (new) - information on tools and techniques used for this site creation, new (Drupal-based) version.
  • mod_archive_odbc - server-side message archiving module for ejabberd Jabber server implementing XEP-136.
  • libwsw & wswutil - C++ library and its simple command-line front-end for client-side XEP-136 support, not production-ready yet!
  • WolCub printer driver - virtual printer driver for Windows that allows to output documents in WOL file format which is understood by lBook electronic books (description is in Russian).
  • Prelude Trigger - small daemon for Prelude IDS that allows firing active responses for attacks detected.

Contract projects

These are some examples of projects I’ve done working as freelancer or contractor for different companies.

Typically I cannot give full description and show real-world examples here, as all information here is filtered by customers to exclude things they didn’t want me to show to the public, but still it can be interesting, I hope.

  • Pipes corrosion - a set of programs for processing experimental data from pipe corrosion examination.
  • PunchGen - program that creates a lot of small holes in mesh.
  • CAD Wire Import - module to convert between IGES/STEP files and wire formats (XYZr/LRAr) (waiting for permission to release more information).
  • Wire Animation - program that performs wire bending simulation (waiting for permission to release more information).

Materialise

During the work at Materialise research division (2000 - 2007), I’ve done numerous projects at the edge of research and development.

Most of these projects resulted in implementations included in major Materialise products.

According to the contract terms, I cannot give detailed info on projects implementation, but I can describe the achieved results for some of them.

I list here mainly the projects that are more or less easily explainable to the persons not directly involved in Rapid Prototyping industry, as well as have “nice”, easily visualizable results.

I did not include here some of the projects that I consider even more successful or important, but which are not easily “representable” to the public.

Please also note that final versions of these algorithms included in Materialise software are often not the result of my efforts only: while all these algorithms were started and implemented by me for their first version, a lot of them were later extended and seriously improved by members of Materialise AlgoTeam that I leaded in period 2003 - 2007. Excellent work, guys!

  • Denoising - reducing the noise on triangle meshes, with volume preservation.
  • Reducing - reducing the number of triangles in triangle meshes while retaining geometric mesh quality.
  • Pointcloud triangulation - triangulating the set of 3D points that represent some 3D shape.
  • Remeshing - improving mesh triangles quality.
  • Curvature estimation - robust estimation of surface curvature on meshes.
  • 2D center line calculation - robust calculation of center line for noisy polygons.

Hardware-related projects