So far I have manged to implement the following:
The code includes comprehensive random tests, which validates the algorithms I implemented.
I was always interested in creating video games - mostly 2D side-scrolling platformers. My favorite tools for that purpose are Box2D (or its C# port Farseer), XNA, and MonoGame.
KidEngine is a 2D side-scrolling platformer game engine, designed to deliver enormous open worlds. Engine's algorithms analyze which parts of the world are needed at the given point in time, and allocate and release resources on the fly delivering a continuous experience.
As a software developer for Polaris Association, I needed to create software capable of producing a template for a globe of a diameter of 7 meters. The following software was created for that purpose:
Program projecting world maps from one projection to another. It has become a popular choice for creating globe models, and served to create over 5000 projections so far.
So far, I participated in the following research projects:
During the summer of 2016 I have collaborated with prof. Benjamin Ylvisaker on implementing a secure, distributed, end-to-end encrypted database. I have designed and implemented a protocol which lets members of a team maintain consistent copies of the same database in their cloud accounts. In order to do that we applied ideas from BitCoin's block chain which is a globally distributed database.
One of my favorite types of programs are web applications - websites, RESTful services, etc. I like to build them mostly because of the ability to perfect my software design as well as work on computer security. Most of my project in this section feature a powerful security system, as well as expose a clean and simple interface.
Project created for the Colorado College, which allows workers to track their hours, bid for shifts at the beginning of each time sheet period, or give up and cover other people's shifts. It also has a notification system, and integration with Ellucian Banner as well as secure way of checking in for shifts and confirming one's presence will be delivered soon.
- creating an algorithm which notifies users about their upcoming shifts - all of it executed within a cron job
- creating the user management system including hashing passwords as well as using registration tokens