PLEN

Projekty

Pracowałem nad wieloma projektami w różnych technologiach. Poniżej znajduje się lista tych najważniejszych.

Zawodowe

Niektóre projekty komercyjne, w których brałem udział, i które mogę publicznie wspomnieć.

CLIM 2.0 TOS

Projekt open-source na bazie kodu opublikowanego przez Franz, Inc. Pracuję nad doprowadzeniem ~25-letniego kodu do stanu używalności na współczesnych systemach (w pierwszej kolejności SBCL i CCL, z backendem X11).

Technologies used:
  • Common Lisp
  • CLIM

SportMeOn

Zaimplementowałem zaróœno backend jak i frontend w API-first aplikacji SaaS. Opracowałem także integrację z aplikacjami mobilnymi i wprowadzałem poprawki w kodzie aplikacji na Androida.

  • Development period:
Technologies used:
  • PHP
  • HTML5
  • JavaScript
  • CSS3
  • Yii
  • SaaS
  • Android

Mintia

Pracowałem nad backendem i frontendem portalu SaaS dla projektantów graficznych.

Technologies used:
  • PHP
  • HTML5
  • JavaScript
  • CSS3
  • SaaS

Board a Boat

Wprowadziłem szereg poprawek i usprawnień, oraz implementowałem nowe funkcjonalności w aplikacji SaaS do wynajmu łodzi.

Technologies used:
  • PHP
  • JavaScript
  • CSS3
  • SaaS

Webdev

Strony i serwisy internetowe

EsejePG

Strona z tłumaczeniami esejów Paula Grahama na język polski.

Technologies used:
  • Common Lisp
  • HTML5
  • CSS3
  • JavaScript
  • Static site generator

Gamedev

Gry, silniki i powiązane projekty

TSWR - Asteroids

Prosta implementacja gry Asteroids stworzona w ramach pracy nad silnikiem Parendeck 2D.

Technologies used:
  • Common Lisp
  • OpenGL
  • SDL2
  • SDL2_TTF
  • Parendeck 2D

Parendeck 2D

Silnik dla gier 2D w Common Lisp. W trakcie aktywnego rozwoju.

Technologies used:
  • Common Lisp
  • OpenGL
  • SDL2
  • SDL2_TTF

ClozeCall

Prosty "gravity golf" napisany w Common Lispie w 7 dni na konkurs 2010 Lisp Game Design Challenge.

Technologies used:
  • Common Lisp
  • LispbuilderSDL
  • LispbuilderSDL_image
  • LispbuilderSDL_gfx

Pacman in J2ME

Klon gry Pacman na stare telefony komórkowe. Projekt studencki. Zawiera edytor map stworzony w Excelu.

Technologies used:
  • Java
  • J2ME
  • Excel

Narzędzia

Różne aplikacje narzędziowe.

Tracer

Prototypowy profiler trace'ujący dla Common Lisp (SBCL).

  • Source: tracer
  • Development period:
Technologies used:
  • Common Lisp
  • Chrome/Chromium

Hju

Aplikacja linii komend do sterowania inteligentnymi światłami Philips Hue.

  • Source: hju
  • Development period:
Technologies used:
  • Common Lisp
  • Philips Hue
  • Roswell

nyan-mode.el

Nyan Mode jest szeroko używanym rozszerzeniem do edytora Emacs. Jest to analogowy wskaźnik pozycji w buforze edytora. Nyan Cat porusza się od lewej do prawej w mode-line, gdy użytkownik przesuwa point (karetkę) od 0% do 100%. Projekt powstał jako żart, ale jego popularność sugeruje, że zaspokaja on faktyczną potrzebę użytkowników.

Technologies used:
  • Emacs
  • Emacs Lisp

Alice

Bot IRC, który udaje, że jest człowiekiem, poprzez odpowiadanie na zapytania wyrażone w naturalnym języku. Czasem przebywa w sieci FreeNode jako Alice_M.

  • Source: alice
  • Development period:
Technologies used:
  • Common Lisp
  • Pushover

TEDx Information Display System

Zaimplementowałem i wdrożyłem ekrany informacyjne dla konferencji TEDx Kraków 2011, które zawierały agendę aktualizowaną w czasie rzeczywistym za pomocą API usługi PubNub.

  • Source: tedx-ids
  • Development period:
Technologies used:
  • HTML5
  • JavaScript
  • CSS3
  • PubNub

Samaritan - a Pebble watchface

"Tarcza zegarowa" na smartwatche marki Pebble, z interfejsem wzorowanym na postaci Samarytanina z serialu Person of Interest (pol. Impersonalni).

Technologies used:
  • C
  • Pebble

Timelapse

Prosty skrypt linii komend, który wykonuje zrzuty ekranu w regularnych odstępach czasu, a następnie tworzy z nich film poklatkowy.

Technologies used:
  • PHP
  • ImageMagick
  • FFmpeg

Biblioteki

Biblioteki i bindingi do istniejących bibliotek dla innych języków.

cl-wiringpi2

Bindingi CFFI do biblioteki WiringPi 2, umożliwiające programom pisanym w Common Lispie dostęp do pinów GPIO na urządzeniach Raspberry Pi.

Technologies used:
  • Common Lisp
  • CFFI
  • Raspberry Pi
  • WiringPi 2
  • CLOD

cl-pushover

Bindingi dla Common Lispa do usługi powiadomień Pushover.

Technologies used:
  • Common Lisp
  • Pushover

QED

Biblioteka upraszczająca korzystanie z UNIXowego IPC. Napisana w trakcie studiów, głównie w celu ułatwienia sobie życia na kolokwiach z Systemów Operacyjnych.

  • Source: qed
  • Development period:
Technologies used:
  • C++
  • UNIX IPC

Stare projekty

Projekty z dawnych lat, gdy rozpoczynałem swoją przygodę z programowaniem.

Voice Control System

Stylizowany na wzór serialu Star Trek, w pełni lokalny (off-line) system sterowania głosowego, który stworzyłem do kontrolowania odtwarzacza muzyki na moim komputerze.

  • Source: vcs
  • Development period:
Technologies used:
  • C++
  • WinAPI
  • Microsoft SpeechAPI
  • VisualStudio

P2K API

Plik nagłówkowy i przykładowe programy do korzystania z nieoficjalnego API do systemu P2K na starych telefonach Motoroli.

  • Source: p2kapi
  • Development period:
Technologies used:
  • C
  • C++
  • VisualStudio
  • Motorola featurephones

Sol Sim

Prosty symulator układu słonecznego w OpenGL. Wszystkie parametry orbitalne bazują na prawdziwych danych, które pieczołowicie przepisałem z książki o astronomii.

  • Source: sol-sim
  • Development period:
Technologies used:
  • C++
  • VisualStudio
  • OpenGL
  • VisualStudio 6.0

Arkanoid

Pierwsza gra, którą napisałem. Prosty 2D Arkanoid. Używa tego samego formatu do tablic zawierających teksty do tłumaczenia, jaki został użyty w grze StarCraft - włączając w to obsługę kolorów.

  • Source: arkanoid
  • Development period:
Technologies used:
  • C++
  • VisualStudio
  • OpenGL
  • FMOD
  • VisualStudio 6.0