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.



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.


Implementation of ANSI and ISO fingerprint template formats developed as a SourceAFIS spin-off. It is based on another project of mine, the open-content fingerprint template formats.


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.


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.


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.


HTML streaming for Java. Rendered content from server-side application is streamed down to the browser while events are streamed up. Built on Hookless and extended by PMSite.


Java annotation types for documenting current development stage on class or method level. An alternative progress tracking method that complements coverage tools.

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.


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.

More: Maven Central, NuGet, GitHub, Bitbucket,