Zajmuję się informatyką i fizyką obliczeniową.
Za dużo informacji?
Kontaktowy e-mail znajdziesz na dole strony.

GitHubLinkedInPublonsResearchGateORCIDScopus

Większość mojej typowo zawodowej działalności opisana jest bardziej szczegółowo na LinkedIn, zaś pełna lista publikacji naukowych znajduje się na ResearchGate i podobnych portalach (linki powyżej). Tu znajdziesz informacje na temat pozostałych projektów, w tym zarówno naukowych, jak i czysto hobbystycznych.

Projekty

Empi

Empi, czyli enhanced matching pursuit implementation to zrównoleglona (czyt.: szybka) implementacja algorytmu kroczącego dopasowania (MP) oparta o zaproponowaną w BioMedical Engineering OnLine konstrukcję optymalnego słownika z funkcjami Gabora. Mówiąc prościej, jest to program komputerowy pozwalający na przedstawienie dowolnego sygnału, np. dźwiękowego lub EEG, w postaci sumy prostych, oscylujących struktur o określonym położeniu w czasie i częstości. Program jest wstecznie kompatybilny z poprzednią implementacją MP5, co pozwala na wykorzystanie go do obliczeń w środowisku graficznym SVAROG.

Program jest wciąż w fazie rozwojowej, ale wyniki dotychczasowych prac zostały opublikowane m.in. w IET Signal Processing, zaś kod źródłowy projektu jest dostępny na GitHubie.

[doi.org][doi.org]

2019
Coulombo

Projekt Coulombo to otwarta implementacja zoptymalizowanej metody obliczania całek kulombowskich i wymiany w oparciu o reprezentacje funkcji falowej na regularnej, trójwymiarowej siatce. W uproszczeniu, program pozwala na wyznaczanie, dla zadanego układu fizycznego, zestawu wielkości fizycznych czyli „całek” kulombowskich (ang. Coulomb matrix elements), na podstawie których można przewidywać własności elektronowe i optyczne układu.

Zasada działania programu opiera się o operację splotu opartą o szybką transformatę Fouriera (FFT) wykorzystaną w unikalny sposób, niewymagający sztucznego rozszerzania domeny obliczeniowej. Obliczenia są dodatkowo zrównoleglone zarówno z wykorzystaniem OpenMP jak i w oparciu o standard MPI. Kod źródłowy programu jest dostępny na GitHubie, a jego szczegółowy opis opublikowaliśmy w Computer Physics Communications.

Program powstał w ramach projektu SONATA BIS prof. Michała Zielińskiego Kwantowa elektronika na pojedynczych atomach finansowanego przez NCN, w którym biorę udział w ramach studiów doktoranckich z fizyki na UMK.

[doi.org]

2018
Wyznaczamy środek Polski

Zagadnieniem położenia środka Polski zainteresowałem się z uwagi na ówczesny brak jednoznacznych informacji na ten temat w ogólnodostępnych źródłach. Artykuł opisujący metodę i wyniki precyzyjnego wyznaczenia środka obszaru administracyjnego Polski (wówczas: zbliżonym do obszaru lądowego) ukazał się w miesięczniku Delta, a wyznaczony środek ciężkości (centroid) terytorium RP znalazł się w pobliżu miejscowości Piątek.

W związku ze zmianą definicji terytorium Polski, do którego od 2018 roku zostały zaliczone również morskie wody wewnętrzne i morze terytorialne, zostałem poproszony przez akcję geodezyjną Honorowy Południk Krakowski o wyznaczenie centroidu również dla zaktualizowanej definicji — ten znalazł się w Nowej Wsi pod Kutnem. Doprowadziło to do gorącej dyskusji pomiędzy lokalnymi patriotami z okolic nowego i starego „środka”, której ślady można odnaleźć w archiwalnych materiałach telewizji regionalnych.

Kod źródłowy programu będącego implementacją zaproponowanej metody udostępniony został na GitHubie, zaś cały wachlarz możliwych odpowiedzi na pytanie „Gdzie znajduje się środek Polski?” przedstawiłem na stronie środekpolski.pl.

[www.deltami.edu.pl]

2016
Kangur matematyczny

Na potrzeby polskiej edycji Międzynarodowego Konkursu „Kangur Matematyczny” wykonałem system informatyczny Skangur do skanowania i analizy kart odpowiedzi, wraz z graficznym interfejsem użytkownika. Dzięki zastosowaniu adaptywnych algorytmów analizy obrazu, skuteczność systemu mierzona procentem prawidłowo odczytanych kart odpowiedzi (w tym obróconych i/lub przesuniętych względem szablonu) wyniosła ponad 99,5%.

Od 2018 roku program wykorzystywany jest także do przetwarzania kart odpowiedzi Ogólnopolskiego Konkursu Języka Angielskiego FOX. Dzięki oddzieleniu definicji szablonu od kodu programu, możliwe jest wykorzystanie programu do analizy kart odpowiedzi w dowolnym konkursie opartym o pytania testowe.

Interfejsy mózg-komputer

Podczas międzywydziałowych studiów doktoranckich na UW brałem udział w projekcie OPUS Interfejs mózg-komputer do diagnozy i komunikacji w zaburzeniach świadomości pod kierownictwem prof. Piotra Durki. Celem projektu było opracowanie opartego o EEG systemu diagnostycznego dla osób z zaburzeniami świadomości, ze szczególnym uwzględnieniem pacjentów Kliniki Budzik. Poza udziałem w przygotowaniu zestawu i stanowiska badawczego, zajmowałem się analizą danych EEG z różnych paradygmatów, również z wykorzystaniem metod uczenia maszynowego. Wyniki analiz wykonanych w ramach projektu opisaliśmy m.in. w International Journal of Neural Systems.

Równolegle brałem również udział w projekcie badawczo-rozwojowym realizowanym przez BrainTech sp. z o.o. a finansowanym przez NCBiR, w ramach którego zajmowałem się projektowaniem i realizacją otwartego oprogramowania do interfejsów mózg-komputer we współczesnej wersji języka Python oraz rozwijaniem otwartego oprogramowania do wizualizacji i analizy sygnałów SVAROG.

[doi.org][doi.org]

2012
Kropki kwantowe

W ramach studiów magisterskich na kierunku informatyka na UMK brałem udział w projekcie HOMING PLUS dr. Michała Zielińskiego Control of exciton levels in quantum dots: atomistic theory as a step towards entangled photon pairs generation program, finansowanym ze środków FNP.

Praca magisterska powstała w ramach projektu otrzymała 1. nagrodę (ex æquo) w konkursie na najlepszą pracę magisterską organizowanym przez Konsorcjum PL-Grid. Praca zawierała zarówno wyniki obliczeń dla układów mezoskopowych (o ponad milionie atomów), jak również opis autorskiego oprogramowania do liczenia całek kulombowskich i wymiany, którego metodę działania opisaliśmy później w Physical Review B.

[PDF][doi.org]

2011
Astrometria

Pracę magisterską (jak również, wcześniej: licencjacką) na kierunku astronomia na UMK napisałem pod kierunkiem dr. hab. Krzysztofa Goździewskiego i dotyczyła ona modelowania i analizy obserwacji astrometrycznych o dokładności mikrosekundowej. Obserwacje astrometryczne, dotyczące precyzyjnych pomiarów położeń i ruchów gwiazd na sferze niebieskiej, są istotnym obszarem badań z uwagi na ich potencjalne zastosowania do detekcji planet pozasłonecznych, szczególnie w kontekście startującej wówczas misji GAIA. Jednym z elementów pracy magisterskiej był autorski program Planetar zawierający implementację opracowanego modelu w języku C++.

[PDF][PDF]

2011
Ilu mamy przodków?

Poza nielicznymi wyjątkami, każdy człowiek ma dwoje rodziców, czworo dziadków i ośmioro pradziadków. Czy tę wykładniczą zależność można ekstrapolować w nieskończoność? Odpowiadający na to pytanie, opublikowany w miesięczniku Delta artykuł popularnonaukowy Ilu mamy przodków? został uhonorowany Nagrodą Dziekanów UW za najlepszy artykuł popularnonaukowy w tymże czasopiśmie w roku akademickim 2010/11. Referat o zbliżonej tematyce przedstawiłem również w ramach Toruńskiej Letniej Szkoły Matematyki 2011.

[www.deltami.edu.pl]

2009
IMARE

Służący do transkrypcji nagrań dźwiękowych na zapis nutowy program IMARE powstał w ramach zajęć z Programowania Zespołowego na Wydziale Matematyki i Informatyki UMK pod opieką mgr. Michała Dudkiewicza i zajął 1. miejsce na wydziałowym przeglądzie projektów. Zastosowany algorytm został opisany w materiałach studenckiej konferencji naukowej (ISBN 978-83-63058-00-5) oraz zaprezentowany na konferencji MathPad 2012. Odświeżony kod źródłowy projektu jest dostępny na GitHubie.

[PDF][PDF]

Varia

Do pisania na klawiaturze polecam racjonalny układ klawiatury autorstwa Marcina Wolińskiego. Jest on w pełni zgodny ze standardowym układem QWERTY z polskimi znakami („Polski-programisty”), zaś poprzez dodatkowe wykorzystanie dead keys uzyskano bardzo szeroki zakres znaków interpunkcyjnych i diakrytycznych, a więc wygodne wpisywanie tekstów francuskich, włoskich, niemieckich etc. bez przełączania układu klawiatury. Układ jest dostępny w większości dystrybucji Linuksa, a wersja pod Windows mojego autorstwa jest do pobrania pod powyższym linkiem.

Do wizualizacji danych genealogicznych w formacie GEDCOM polecam moje mini-projekty: topola-webpack (do generowania interaktywnych drzew genealogicznych) oraz ged2html (do wizualizacji w postaci wieloczęściowego acz zwięzłego, hierarchicznego dokumentu HTML, nadającego się do druku lub eksportu do PDF).