Getting in touch / social media / code repositories:
Main area of the project is the next generation of IoT devices utilizing Bluetooth Mesh technology. I maintain the following projects:
C++ library that is a part of a system service which runs on embedded "box" (with Linux on board) and provides a bridge between Bluetooth proxy device and a REST API provided by the service. Library handles UART operations, communication protocol and binding between UART packets and service via its C-compatible API. Library is written mostly in C++11 with CMake and according to lcov has a 85%+ coverage in functional and unit tests.
Android 6.0+ application that is responsible for provisioning Mesh devices. App is written purely in Kotlin, for Bluetooth Mesh backend uses Silicon Labs' library. Application sends devices' information to REST API which is later consumed by a Web Service frontend used by end user. Besides Bluetooth module, it also utilizes Camera module for capturing QR codes with device info.
I was part of a 50+ development team that was working on a library called Avaya Breeze™ Client SDK (product page), which encapsulates business logic for all major platforms - Windows, Android, iOS, macOS & GNU/Linux (I was responsible for Windows and GNU/Linux). My role in the team was to develop low-level components, like network stack (HTTP, HTTPS, WebSocket) with tying it to target function providers, like screen sharing, contact management, text messaging). I also helped with project migration to CMake in order to simplify build procedure, pushed with C++ upgrade to C++11, maintained a third-party libraries, along with rebuilding, updating and patching (notable examples: Android SDK, Poco with patches, OpenSSL). In addition, we have covered significant part of owned features with unit tests which were done using Google's Test C++ framework.
My main responsibility was development of loan management web application (product page), written in PHP & Yii and PostgreSQL. Core features of this application were loan management, statistics calculation basing on current data, administration of employees and clients, automatic accounting of bank transfers from clients (MT940 format), generating reminders by mail / SMS about overdue payments, exporting bank dispositions in a format compatible with Elixir sessions, Quality Assurance of contracts. Besides that I was doing minor fixes and improvements to Piotr i Paweł on-line shop application.
I was responsible for implementation of Squirrel scripting engine, which was used to implement various instances of Internet SMS gateways. This feature added ability to send SMS messages to mobile phones directly from application. Another feature that I was responsible was reverse-engineering binary protocol of Gadu-Gadu (which turned out to be based on Google's Protocol Buffers) and implement found changes in protoGG plugin.
Fully functional surveillance camera based on Raspberry Pi 2 Model B SBC, Wi-Fi card and Waveshare Night Vision camera module. The device is fully automated, requires 230V AC and is equipped with backup battery that allows constant video feed during power outages. Software is based on GNU/Linux custom distribution created using Buildroot scripts. Capture software is a combination of Bash scripts, FFmpeg binary, Raspberry Pi Userland application (raspivid) and a custom made Camera Streamer application responsible for sending video over the network and managing video backlog. Server-side scripts that handle playlist generation are written in PHP.Project description
Custom CMS written in PHP using Yii 1.x framework, PostgreSQL 9.x, jQuery and Bootstrap. System allows publishing car sales offers, managing available service types with pricing, provides gallery and contact page, including contact form. Application contains database of available cars and their's properties like number of doors, engine types, etc. with field auto-completion when offer is being created. Front-end is a main application, while administration part of the application was implemented as a Yii module.Link to deployment
Small Internet Messenger application that implements Gadu-Gadu protocol targeting Symbian S60 platform. Written in C++ using Qt 4.8 framework and designed to work on Nokia phones. Basic functionality covered sending and receiving text messages, displaying contact's list with presence and description, changing own presence and description.Project page
Set of over twenty plugins extending functionality of WTW.im Internet Messenger. All plugins are written in C++, most of them utilizes ATL/WTL as a GUI library. Some of most popular plugins provide emoticon support, sound notifications, iMessage / Bonjour protocol support, IRC protocol support, uploading images to remote web services (imgur.com) and sending link to image to target contact.Project page
Fork of StrongDC++ client created specifically for hub administration purposes and performance tweaks. Application supports plugins API (and via plugin it supports Lua scripts API compatible with scripts written for BCDC++). It was the first DC-compatible client that supported native 64-bit executable. Some of administration features includes automatic tool for checking users and theirs list of shared files against malicious / illegal content, automatic tool for checking whether client conforms to DirectConnect standard and it does not violates rules of hub (fake number of shared files, upload slot blocking, fake number of connected hubs, etc.). Project was discontinued due to death of upstream project.Project page
Target device was Embedded Artists EA3250, whole project was divided into three parts:
Tests were done using Raspberry Pi Model B as a base platform. Testing covered Apache httpd 2.4 in various configurations (worker / prefork) and a lighttpd server. Most common use-cases were tested: static small and large file download, sending data through PHP scripts and long-running computations in PHP scripts.
Watching TV series in awful amount.
Riding on a bike.
Trying to be an electronic engineer by playing around with ATMega, Espressif ESP8266 or Raspberry Pi microcontrollers.
Playing mechanic with my car.
Impersonating Bob the Builder on my construction site.
Managing a herd of cats.