Lubię poznawać różne języki programowania, odtwarzając popularne technologie i tworząc projekty bardziej dla zabawy niż z realnej potrzeby. Większość moich publicznych repozytoriów to aplikacje działające w terminalu, chociaż ostatnio coraz częściej przekonuję się też do tworzenia aplikacji z graficznym interfejsem użytkownika. Na studiach pracuję głównie w Javie, natomiast własne projekty dają mi możliwość eksperymentowania z innymi technologiami. W moim najnowszym projekcie skupiłem się na Go.
Generator Lorem Ipsum#
Nowe repo!LoremIpsum to program w Javie, który umożliwia generowanie tekstów zastępczych (placeholderów) w formie Lorem Ipsum. Narzędzie idealnie nadaje się do tworzenia dynamicznych i konfigurowalnych treści do dokumentacji lub projektów graficznych.
Szyfrator książkowy#
Book-Cryptor to narzędzie CLI służące do szyfrowania i deszyfrowania tekstów przy użyciu szyfrów książkowych. Pozwala korzystać z klasycznych technik kryptograficznych, gdzie określona książka lub tekst pełni rolę klucza. Obecnie obsługuje szyfr Beale’a i oferuje wygodny interfejs oparty na Cobra, odpowiedni zarówno dla początkujących, jak i pasjonatów klasycznej kryptografii.
Statystyki języków na GitHubie#
Ten skrypt w R zbiera statystyki użycia języków programowania dla wybranego konta GitHub za pomocą API GitHuba i generuje wizualne podsumowanie udziału poszczególnych języków we wszystkich repozytoriach.
Write-upy CTF#
Repozytorium zawiera opracowania (write-upy) z różnych zadań typu Capture The Flag. Materiały są uporządkowane w przejrzystej strukturze katalogów. Oprócz plików Markdown znajdują się tam również skrypty, payloady, notatki i inne pomocne zasoby używane podczas rozwiązywania zadań. Obecnie ukończono 34 wyzwania.
HTML do listy słów#
„html2wordlist” to prosty program w Perlu, który przetwarza pliki HTML i generuje listę słów na podstawie wyrenderowanej treści. Umożliwia filtrowanie słów według długości oraz zapis wyników do pliku lub wyświetlenie ich w konsoli.
Generator raportów readme#
Repozytorium zawiera skrypt automatycznie generujący przejrzysty i uporządkowany plik README na podstawie istniejących write-upów CTF. Narzędzie rekurencyjnie przeszukuje katalog z rozwiązaniami, wyciąga opisy oraz zbiera statystyki, takie jak kategorie, poziomy trudności czy platformy.
Implementacja szyfrów w Javie#
JCipher to narzędzie kryptograficzne implementujące algorytmy szyfrowania, deszyfrowania oraz generowania kluczy. Obsługuje zarówno algorytmy symetryczne, jak i asymetryczne. Projekt jest wciąż rozwijany i stopniowo wzbogacany o nowe algorytmy.
Implementacja bazy danych key-value#
Kivi to jednoplikowa baza danych napisana w Ruby, wykorzystująca strukturę mapy (klucz-wartość). Dane zapisywane są na dysku w formacie binarnym i kompresowane przy użyciu gzip (zlib). Kivi oferuje prostą, ale funkcjonalną obsługę danych, dzięki czemu dobrze sprawdza się w mniejszych projektach. Obecnie obsługiwane typy dla wartości to: Integer, Float i String.
Web scraper dla Otodom.pl#
Bot napisany w Pythonie z wykorzystaniem biblioteki Selenium. Zbiera dane o nieruchomościach i zapisuje je w bazie SQLite. Pliki bazy znajdują się w katalogu db, a struktura tabel generowana jest automatycznie na podstawie wybranych filtrów.
Web scraper that collects real estate data from Otodom.pl
Klasyfikator sentymentu tytułów opinii#
Repozytorium zawiera model klasyfikacji sentymentu zaprojektowany do analizy opinii produktowych z platform e-commerce. Wykorzystuje różne techniki przetwarzania danych i algorytmy uczenia maszynowego, osiągając dokładność na poziomie 0.91.
Prototyp gry Stellar Explorer#
To prototyp platformówki 2D we wczesnej fazie rozwoju, tworzony w silniku Godot. Zawiera podstawowe mechaniki, takie jak stanie w miejscu, skakanie, latanie, bieganie oraz wykrywanie kolizji.
Generator liczb pierwszych i półpierwszych#
Repozytorium zawiera trzy programy terminalowe przeznaczone do generowania i pracy z liczbami pierwszymi oraz półpierwszymi. Głównym celem projektu była nauka języka C oraz stworzenie narzędzia pomocnego w zadaniach CTF związanych z teorią liczb i kryptografią.
System bazy danych dla banku#
Projekt zawiera skrypty bazodanowe dla SQL Server (T-SQL) oraz Oracle (PL/SQL) dla aplikacji bankowej, przygotowane w ramach kursu SBD na PJATK.
Implementacje algorytmów i struktur danych#
Repozytorium zawiera implementacje algorytmów i struktur danych omawianych na kursie ASD na PJATK.
Menedżer haseł#
NullPass to aplikacja desktopowa upraszczająca zarządzanie hasłami. W przeciwieństwie do tradycyjnych menedżerów działa w pełni lokalnie i nie zapisuje haseł na dysku. Zamiast tego generuje je dynamicznie na podstawie hasła głównego i parametrów określonych przez użytkownika. Dzięki temu hasła nigdy nie są przechowywane w możliwej do odzyskania formie, co znacząco zmniejsza ryzyko nieautoryzowanego dostępu lub wycieku danych. Z tego powodu aplikacja nie posiada mechanizmów kopii zapasowych ani synchronizacji między urządzeniami.
Enigma#
To implementacja maszyny Enigma w C++, inspirowana historycznym urządzeniem szyfrującym z czasów II wojny światowej. Odwzorowuje proces szyfrowania z użyciem rotorów, wtyczek oraz reflektora. Program przyjmuje wiadomość wejściową (-t), szyfruje ją zgodnie z ustawieniami użytkownika (-s) i zwraca zaszyfrowany tekst. Parametry oparto na konfiguracjach wczesnych modeli „Enigma I”.
Automatyzacja oceny ładu przestrzennego#
Repozytorium zawiera 9 skryptów automatyzujących różne obliczenia przestrzenne, opartych na Python API QGIS. Każdy skrypt posiada prosty interfejs GUI do wprowadzania danych. Kod działa poprawnie z QGIS 3.16 i nowszymi wersjami.
Generator haseł#
Password Generator to biblioteka w Javie do tworzenia losowych haseł z dużą możliwością konfiguracji. Umożliwia określenie długości hasła, zakresów długości oraz procentowego udziału różnych typów znaków (wielkie litery, małe litery, cyfry, znaki specjalne). Pozwala także na uwzględnianie lub wykluczanie wybranych znaków.
Rozproszony system uśredniania#
Aplikacja implementuje rozproszony system uśredniania (DAS). Działa w środowisku sieciowym, gdzie wiele instancji komunikuje się przez UDP w celu obliczenia i współdzielenia średniej wartości. System działa w dwóch trybach: serwera i klienta, wybieranych automatycznie w zależności od stanu systemu. Projekt powstał w ramach kursu SKJ na PJATK.
Scentralizowany system obliczeniowy#
Aplikacja CCS to serwer obliczeniowy napisany w Javie, oferujący trzy główne funkcjonalności: wykrywanie usług (UDP), komunikację z klientami (TCP) oraz raportowanie statystyk. Klient odnajduje serwer przez broadcast, następnie łączy się i wysyła żądania operacji arytmetycznych. Serwer przetwarza je i zwraca wyniki lub komunikaty błędów. Projekt powstał w ramach kursu SKJ na PJATK.
Steganografia najmniej znaczącego bitu#
LSB Steganography to program do ukrywania wiadomości w obrazach poprzez modyfikację najmniej znaczącego bitu w wartościach RGB (opcjonalnie także Alpha). Obsługuje formaty .bmp oraz .ppm. Projekt powstał w ramach kursu PJC na PJATK.
Narzędzia do zarządzania uprawnieniami#
Ice IX to zestaw narzędzi CLI do zarządzania uprawnieniami plików i katalogów. Pozwala „zamrozić” uprawnienia, zapisując je do pliku mapowania, a następnie „rozmrozić”, przywracając oryginalne ustawienia. Dzięki obsłudze operacji rekurencyjnych umożliwia łatwe przywracanie uprawnień w całym systemie plików.
Wtyczka Excel do kontroli jakości danych#
Podstawą działania wtyczki jest przygotowanie pliku szablonu, który w końcowym etapie przekształcany jest do formatu .xlcg. W trakcie przygotowania można dodawać zarówno stałe (niezmienne) wartości, jak i takie, które mogą być pomijane przez makra.


