I started professionally working in 2007, but I’ve been poking code even more.
One of my goals is to find and understand the fundamentals of programming. Things that can be used to derive all other ideas in software design, code writing and software engineering in general. Hopefully, these ideas will help other people develop more valueable software.
In Storj project I’m helping build a distributed data storage solution.
Raintree Estonia #
In Raintree Estonia I helped maintain an electronic medical records software which was started in 1983. During my time there I handled quite a different set of responsibilities. Few of the more interesting projects were:
- adopting terminal-server architecture for web, which contained collaborative editing in an enterprise system,
- designing high-performance and low-memory reporting engine,
- building a knowledge base for easier information navigation,
- building tooling for automated UI testing, and
- refactoring and modernizing a lot of code.
University of Tartu #
In university I focused on algorithmics and how to squeeze the last drop of performance out of the system. Of course, I learned a lot of other things in the process.
Parallel Pattern Discovery #
My Master’s thesis extended algorithm SPEXS with parallel methods and also generalized it with new approaches. It also contains an general purpose algorithm for parallel graph traversal, which, interestingly enough, has been useful in many other projects.
Effective Algorithms on Genotype Datasets #
My Bachelor’s thesis was on “Effective Algorithms on Genotype Dataset”, which explored ways to more compactly represent genotype data and get 2x performance win over BED file-format and significantly more over PED/TPED. ,