I'm into computer science and computational physics.
Too much information?
My e-mail address is at the very bottom.


Most of my professional activity can be found on LinkedIn, while the full list of scientific publications is available on ResearchGate and similar sites (linked above). Here you can find information about other projects I’ve been involved in, scientific as well as purely recreational.



Empi, which stands for enhanced matching pursuit implementation, is a parallel (fast) implementation of matching pursuit algorithm, based on the construction of optimal Gabor dictionary proposed in BioMedical Engineering OnLine. Simple speaking, it is a computer program to represent a given signal (e.g. sound waveform or EEG) as a combination of simple, oscillating structures defined in time and frequency. This implementation is backward-compatible with its predecessor MP5, which makes it suitable for use as an MP plugin in SVAROG.

This is still a work in progress, but the results so far have been published e.g. in IET Signal Processing. The project's source code is available on GitHub.



Coulombo is an open-source implementation of an optimized method of calculating Coulomb matrix elements from wavefunctions represented on a regular, three-dimensional grid. Long story short, it allows to calculate, for a given physical system, a set of meaningful “integrals” which can be used to predict the electronic and optical properties of the system.

The idea of this method is based on calculating the convolution using FFT in a unique way, removing the need for zero-padding the computational domain. Additionally, the calculations are parallelized with both OpenMP and MPI. The source code of this project is available on GitHub and the method itself has been described in detail in Computer Physics Communications.

This work is part of the SONATA BIS project Single-atom quantum electronics funded by the National Science Centre (NCN), in which I participate through a doctoral scholarship at the Nicolaus Copernicus University in Toruń (UMK).


Centre of Poland

I was first interested in the issue of determining the centre of Poland when I had found out that there is no conclusive and precise information available on this topic. The method and results of precise calculations of the centre of Poland's administrative area (at that time: approximately equal to land area) were described in the popular science journal Delta, and the resulting central point of Poland was found to be near the town of Piątek.

As the definition of administrative area was changed in 2018, I was asked by the geodetic initiative Honorowy Południk Krakowski to also calculate the centre of the entire Poland's area including the territorial sea—the updated central point was then found to be located in the Nowa Wieś village (near Kutno). Long story short, it led to a heated debate between local patriots from the surroundings of both centres.

The source code of the program used for calculations is available on GitHub, while the whole range of possible answers to the question “Where is the centre of Poland?” is being explored at środekpolski.pl.


Kangourou sans Frontières

On a request from the organizing committee of Polish edition of the international Kangaroo Mathematics Competition (“Kangur Matematyczny”) I developed software for scanning and processing of answer sheets, including a graphical user interface. The use of adaptive algorithms for image analysis resulted in the overall accuracy of the processing system (measured as a fraction of correctly processed answer sheets) exceeding 99.5%.

Starting from 2018, the software is also used for processing answer sheets in the national English language competition FOX. Due to separation of template definitions from the main part of the code base, the program can be easily adapted to the needs of any test-based contest.

Brain-computer interfaces

During the interdisciplinary doctoral studies at the University of Warsaw I took part in the OPUS project Brain-computer interface for diagnosis and communication in disorders of consciousness led by prof. Piotr Durka. The aim of this project was to develop an EEG-based diagnostic system for patients with disorders of consciousness, working in a close cooperation with The Alarm Clock Clinic (“Klinika Budzik”). Beside participating in the preparation of research infrastructure, I analysed EEG data from various paradigms with both “classical” signal analysis methods as well as with machine-learning-based approach. The results of analyses performed during this project were described e.g. in International Journal of Neural Systems.

At the same time I participated in a R&D project by BrainTech sp. z o.o. funded by the National Centre for Research and Development (NCBiR), in which I took part in the design and implementation of the open-source brain-computer interface software in a modern version of Python, as well as developing the open-source signal analysis and visualisation software SVAROG.


Quantum dots

During the master's studies in computer engineering at the Nicolaus Copernicus University in Toruń (UMK) I participated in a HOMING PLUS project Control of exciton levels in quantum dots: atomistic theory as a step towards entangled photon pairs generation program, supervised by Dr Michał Zieliński and funded by the Foundation for Polish Science (FNP).

The master's thesis was awarded the 1st prize (ex æquo) at a contest organized by the PL-Grid Consortium. The thesis included the results of calculations of Coulomb matrix elements for a realistic quantum dot system containing over a million atoms, and a description of the original software used for the calculations. The idea behind this computational method was later described in detail in Physical Review B.



I wrote my master's thesis in astronomy (as well as, earlier, BSc) at Nicolaus Copernicus University in Toruń (UMK) supervised by Dr Krzysztof Goździewski. The work concerned the modeling and analysis of astrometric observations (i.e. focused on monitoring the apparent positions and motion of stars) with micro-(arc-)second accuracy. Observations of such extreme precision have an emerging potential application for exoplanet search, especially in the context of the GAIA mission that was planned at that time. The thesis included an original C++ implementation Planetar of the described model.


Counting the ancestors

With very few exceptions, each person has two parents, four grandparents and eight great-grandparents. Can we extrapolate this geometric sequence to infinity? Aimed to answer this question, my popular science article Ilu mamy przodków? (“How many ancestors do we have?”) published in Delta journal has been awarded the University of Warsaw Deans' Award for the best popular science article in the academic year of 2010/11. I also gave a presentation with a similar subject during the Toruń Summer School in Mathematics 2011.



Automatic music transcription software IMARE was started as a group programming project at the Nicolaus Copernicus University in Toruń (UMK) in 2010 under supervision of Michał Dudkiewicz and was awarded the 1st prize at the annual faculty competitions. A summary of the implemented algorithm was published in the inter-disciplinary conference proceedings (ISBN 978-83-63058-00-5) and presented at the MathPad 2012 conference. A slightly refreshed version of the source code is available on GitHub.



For typing at a keyboard I recommend the rational keyboard layout by Marcin Woliński. While being 100% compatible with standard QWERTY Polish layout (“Polski-programisty”), it additionally utilizes dead keys to provide a vast variety of interpunction and diacritics, resulting in the ability to comfortably input French, German, Italian, etc. texts without switching the keyboard layout. Not only is this layout included in the majority of Linux distributions but also it has been ported to Windows (by me) and is available for download at the webpage linked above.

For visualizing genealogical data in GEDCOM format I recommend my mini-projects: topola-webpack (for generating interactive, self-contained genealogical trees) and ged2html (for generating multi-part, hierarchical yet concise HTML documents, which can be easily printed or exported to PDF).