Nick Guletskii’s projects





GLXOSD is an extensible on-screen display (OSD)/overlay for OpenGL applications running on Linux with X11 which aims to provide similar functionality to MSI Afterburner/RivaTuner OSD. It can show FPS, frame timings, temperatures and more in OpenGL games and applications. It can also be used to benchmark games, much like voglperf.

Challenges posed:

Technologies used


WixWPFWizardBA is a template for custom WPF-based wizard-like Wix Burn frontends. It is an open-sourced, generalised version of a Wix bootstrapper I’ve built for a proprietary piece of software I developped.


BMSF is a collection of generic utilities and WPF components that I initially developed for a proprietary application. I intend on open-sourcing more components in the future.

Technologies used

OpenOlympus (abandoned)


Abandoned due to a lack of time and the absense of reasons to continue development. The frontend has a lot of technical debt (mainly thanks to AngularJS 1).


OpenOlympus is a programming olympiad hosting server written in Java. It is comprised of two components: the web server and OpenOlympus Cerberus

OpenOlympus (the web server)

The OpenOlympus server is a Spring web application that uses PostgreSQL. It is responsible for contest management, delivering task info to the user, accepting the user’s solutions, and scheduling and distributing solution testing using JPPF.

The frontend is written in AngularJS 1, which practically doomed the whole project due to its inflexibility.

While OpenOlympus itself is abandoned, I am planning on salvaging a big chunk of its backend for a more useful project - it has a lot of boilerplate for user management and ACLs already in place.

Challenges posed

Technologies used

OpenOlympus Cerberus

OpenOlympus Cerberus is an API for checking solutions to different tasks. While it is integrated with the OpenOlympus server, it can potentially be used by other programming olympiad hosting servers.

Unfortunately, I never got round to cleaning up and simplifying its API.

OpenOlympus Watchdog

The OpenOlympus Watchdog was created as a replacement for the libsandbox-based tool, OpenOlympus-olrunner, due to performance reasons. Unlike libsandbox, OpenOlympus Watchdog uses seccomp-bpf to filter syscalls, which gives a 20x performance increase over the ptrace-based libsandbox.

Please note that OpenOlympus Watchdog hasn’t had much penetration testing, so if you intend on using parts from it, you should do some testing first.