Robert Važan

Robert Važan

I am mostly publicly known as the software developer behind SourceAFIS and other opensource projects. I can be sometimes seen doing programming competitions. I create software professionally too, so if you have a gig for me, mail me on the address below. Trust me, there is nothing I cannot do.



Open-source fingerprint recognition engine. Surprisingly popular for such niche project. It has attracted contributors and generated spinoffs. I dumped half of my ideas about fingerprint recognition here. The other half is still haunting me.


NoException is an exception killing library for Java. It takes functional programming approach to exception handling by encouraging fallbacks, offering functional replacements for imperative try-catch, and allowing lambdas to throw checked exceptions.

CRC-32C (Castagnoli)

Hardware-accelerated implementation of CRC-32C (Castagnoli) for C++ and .NET. It's basically a reformatted version of Mark Adler's code. I've nevertheless managed to optimize software fallback by 50%. I've also explored use of PCLMULQDQ instruction in CRC-32C.


Modern web framework based on concepts of application streaming and reactive programming. It runs the application on the server in Java against mirror browser. Rendered content is then streamed down to the browser while events are streamed up.


Seamless reactive programming API for Java. It is transparent and unobtrusive in contrast to the explicit RxJava streams. At the same time, it is more powerful than the simplistic Quasar dataflow variables.


FolderNet was designed to be the easiest way to peek into another device without having to sync everything first. With just a tiny drop of assistance from the cloud, FolderNet offered peer-to-peer network filesystem that was extremely easy to use, yet secure and privacy-preserving.


Simple NTP (SNTP) client written in C#. Some desktops run with clock that is off by several minutes. Embedding this library lets apps use accurate network time instead of the system clock.


Small collection of controls for WPF. There are some interesting tricks like LazyControl and ExposeControl. But more importantly the library demonstrates highly productive techniques for authoring WPF controls using Assisticant library.

Reactive timers in Assisticant

Reactive frameworks usually come with poor man's timers that update some global reactive variable every second or so. In Assisticant, I implemented powerful reactive time algebra that provides millisecond resolution with minimal overhead and a nice API. I have later used similar algorithms in Hookless.

WBP Online Terminal

Low-latency data streaming service for traders. Every change in the data (even correcting a typo) is visible on screens worldwide within one second. Some data paths are optimized down to millisecond level. Initially built in WPF, later versions were largely migrated to the web & cloud.

ExpressID Cluster for Innovatrics

Innovatrics had a good fingerprint recognition algorithm, but they needed a parallelized server around it. I have developed the original ExpressID cluster for them. It was designed to process a billion records in a split second on thousands of nodes.



User Interface

Networking & Storage

Build & Deployment

Quality Control