Robert Važan

Robert Važan

Software developer with experience too broad to name. I've been programming since I learned how to type. I get paid for doing things right and find refuge in making things fast and smart.

Projects

Cloud servers for WBP Online

Cloud blurs boundaries between code and servers. Well-written server setup scripts, now part of the application, improve performance, reliability, security, and developer productivity. I have single-handedly migrated WBP Online from archaic bare metal infrastructure to the cloud.

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.

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.

Hookless

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.

JungleControls

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.

NLog time sources

In order to correlate log entries from multiple computers, it is important to have accurate timestamps in unified time zone. My patch for NLog enables configuration of time sources with different tradeoffs and even definition of new ones.

PushMode

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.

Snappy for Windows

Windows port of Snappy compression algorithm. Snappy C++ code was adapted for Visual Studio. .NET wrapper and a command line tool were added on top. It is an interesting alternative to LZ4 compressor.

SourceAFIS

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.

Timers in Assisticant

Reactive frameworks usually come with poor man's timers that write 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. First project in the world to use PushMode in production.

Skills

Compute

In progress: hotswap agent

Wanted: go/rust, custom lombok-like annotations, more AI

UIs

In progress: SVG

Wanted: CSS preprocessor, reliable cross-browser CSS, SVG charts, SVG visualizations, modern forms, search

Build & Deployment

In progress: full server deployment automation

Wanted: SSH host fingerprint management, nightly maven upgrade & security check, nightly server redeploy, autoscale

Networking & Storage

In progress: websockets

Wanted: scalable reactive database, lowcost cloud database, IPv6

Performance

Wanted: continuous profiling of production servers, network profiling

Tests & Monitoring

Wanted: HTML link & standards check, headless browser testing, performance tests, metric logs & alerts, GeoDNS-aware monitoring, priority notifications

Security

Wanted: password stretching, Let's Encrypt, security monitoring & automated audits, workstation security, per user sandbox, anti-DoS/DDoS, trusted computing, hardware & physical security

Application Domains

Wanted: (very) smart apps, computer vision, voice & NLP, (smart) hardware

Communication

In progress: product site copywriting, SVG graphics, transactional emails

Wanted: product/site discoverability, off-site SEO, UX of language (persuasive, mood-setting), community management

Sales & Legal

Wanted: metered billing, hiring talent, legal documents, IP protection, affiliates & referrals, partnerships/ecosystems