Portfolio
iPatrol Technology (Hong Kong startup)
key4two websiteDevelopment and tech lead of an end-to-end encrypted online file sharing application with a secure USB token and an HTML5 user interface (by integrating the Chrome browser).
Development and tech lead of an on-site encrypted backup device (NAS) for households and small businesses. Used public-key cryptography and stored the private key for recovery on offline USB device for a higher level of security. The system includes a desktop and mobile (iOS, Android) client as well as a server (Java).
Development of high-volume email SMTP gateway with auto-encryption into a PDF or HTML5 container.
MoNET (employment at Espace)
Espace MoravaEspace develops a generic information system framework called MoNET which allows to create complete database applications with web, desktop or Android interface in just a few days. Thanks to a rich declaration language, most of the tasks in building an IS can be automated using the user provided metadata.
During my employment at Espace, I contributed in various areas, in the MoNET core, Windows GUI, Web interface, build infrastructure and also built a smart pointer library for a more modern experience when working with COM in C++.
Matasano Crypto Challenge
The Matasano crypto challenge homepageWe depend on modern cryptography every day to protect our digital assets and yet a single mistake in how exactly crypto is used can break everything, exposing secrets and giving unwanted access. This set of tasks created by a respectable security company allows developers to experience mistakes in crypto and their consequences first hand.
Implementing a chosen-plaintext attack against AES ECB and revealing a hidden message is both fun and enlightening. This is also my first use of F# for more than just a few lines.
Warning! spoilers ahead! my solution code
Unlock Spanish
unlockspanish.comSpanish Language learning tool developed as a freelance job.
Counterexample explanation in DiVinE model-checker (master's thesis)
Implemented an algorithm for counterexample explanation in the parallel model checker DiVinE.
DiVinE 2 is a parallel/distributed model checker developed at the Faculty of Informatics, Masaryk University. The code relies heavily on advanced C++ features such as templates or RAII. In my thesis, I implemented and evaluated the algorithm described in this paper. The code sample constitutes the main part of my implementation and is written in a style similar to DiVinE 2.
Třesky Plesky
BitBucket repositoryAn experimental social entertainment app written in Clojure, running on Google App Engine. Czech language only.
Parallel Crowd Simulation (school project)
Part of the PA177 High Performance Computing lecture was a project to write a distributed algorithm. I implemented a crowd simulation system which employed self-adjusting regions so that the average load of every computer remained the same and none would starve. Unfortunately, it turned out that this implementation does not speed the computation up, probably because it used a global barrier and the amount of work in each step was too small.
foo_title (open source)
foo-title.sf.netSkinnable compact user interface for foobar2000. More than 20.000 downloads worldwide.
UFO: Extraterrestrials (first employment)
www.ufo-extraterrestrials.comCommercial turn-based strategy game with RPG elements where the player must counter an alien invasion by leading a small team of tough soldiers.
I was involved in developing the input, I/O, sound, GUI subsystems and a large part of the game code such as character movement, inventory and item management, ...
Other
overlog, a Python logging/debugging tool
Most of my personal projects are found on BitBucket because I first started to use Mercurial rather than Git.
CV
Please download my CV as a PDF or visit LinkedIn. If you are interested how was I doing at university, see my Diploma Supplement.