My name is Chris, born and bred in Estonia, right now working in London. I got into programming because wanted to create an artificial intelligence that would play MMPORG automatically for lazy me, which was around 8 years ago.

However, it did not stop there – I got hooked with programming at that point. My adventure took me through a lot of different languages, and technologies, at different levels. I’ve learned little bit about everything on my own: Java, PHP, Assembler, CSS, Scala, game development / 3D graphics, algorithm development, data structures, mathematics, C#, C++, processor design, networking.

One of the strongest sides about my personality is independent learning. I am also known to never give up on a problem, and say that a problem is “impossible to solve” – the worst I’ve done was to tell to my boss that the problem would take too long to solve, in order to justify the potential business gains.

And thirdly, I absolutely love complex problems. My brain needs challenges in order to provide the best results.

What have I achieved professionally (mainly .NET C#)?

  • Efficient video player that supports encryption, different operating systems, different fomats, painting, video duplication.
  • Quite a lot of Xaml/WPF complex custom controls (datagrid, PDFViewer).
  • A small library that could extend/duplicate monitors, C++.
  • Turning exciting UI design into reality with the co-operation of UI team (WPF).
  • A small export utility that automatically transfers flight data from one system into another (WebAPI, EF, WPF, WiX).
  • Visual Studio language service for custom domain language. Imagine: mini-resharper (this has been quite challenging). Essentially part of it was me writing a static analyzer, which could do a lot of neat things, such as, ‘find all the paths in script that don’t return anything“, and “prove that there are no circular dependencies“. (VS-extensibility)

Well, what about non-professionally?

I am right now working on a project called SuperSearch with my friend. The basic idea is simple: aggregate all the different portals that sell items (such as iPhones, etc..) into one, such that user can search for item through many portals at once, without even knowing those portals. Technologically, there is CSS3, HTML5, TypeScript, AngularJS, EF6.1, WebApi.