Contact:
email: sw143(at)wp.pl
gg: 4939520

CV

Education
2008-2011 Computer science, BSc
Marie Curie-Sklodowska University, Lublin
2004-2009 Chemistry, MSc
Marie Curie-Sklodowska University, Lublin
Specialization in quantum chemistry
Key skills
Work experience
From 2013-07
to ...

Dirligo, Wrocław/Lublin
C/C++ developer with project manager elements, remote work

Development of cross platform file-sharing software.

Programming tasks:

  • Implementation of high-performance TCP/IP serveri (100k+ connections) for Linux and Windows.
  • Project, implementation and optimalization of network protocols (binary and text).
  • Implementation of remote file system.
  • Creating unit tests tools.
  • Implementation peer-to-peer network.
  • Data encryption (TLS, OpenSSH, Blowfish).
  • Implemention of interface to data bases (Redis, Postgre SQL).
  • Implementation of interprocess communication.
  • Implementaction of data multiplexer (serialize many parralel channels into one connection).
  • Drivers, services and registry management on Windows platform from C++ level.
  • Implemention of windows services.
  • Implemention of anti-debug functionality.
  • Implemention CGI/C++ scripts.
  • Implemention of online bug report system from user app level (client and server).

Project tasks:

  • Creation of short and long term (up to few months) task lists.
  • Cost analisis to choose optimal solutions.
  • Cooperation in projecting network and inter-process (IPC) protocols.
From 2010-10
to 2014-04

NoMachine, Rome, Italy
C/C++/Assembler Developer, remote work

Development of cross platform remote deskopt software.
  • Implementation of WDM Audio driver ('virtual sound card').
  • Implementation of LSA authentication package.
  • Port OpenSSH to native Win32 (BSD Sockets, WinSock, process and threads management, low level I/O, interprocess communication).
  • Implementation of Print Monitor DLL ('virtual printer').
  • Implementation of SSHFS tool for Windows ('virtual disk').
  • Low-level optimization (assembler x86/SSE/MMX)
  • Development of algorithms for frame changes detection.
  • Code parralelization.
  • Development of auto tester and benchmark tools.
  • Implemented SSPI/Kerberos auth in OpenSSH.
  • Windows kernel drivers debugging including remote debugging (DebugView, WinDbg)
  • Development tools to monitor and manage windows resources (drivers/services installation, user-kernel communication, PDH API, registry edit, ACL edit, managing and monitoring processes)
  • DLL injection, Hook DLL (hook OpenGL and DirectX calls, catch windows messages)
From 2010-04
to 2010-07

VIP International, Lublin
C++ Developer

Development of data recovery software (corrupted doc and xls files).
  • Investigation of possible corruption scenarios basing on the format documentation.
  • Development of recovery algorithms for selected scenarios.
  • Implementation recovery code in C++.
  • Implementation of GUI in C++/Qt.

Coding

C/C++
Date Description Gallery
2013-2014

Dirligo

Software to easy file/folder sharing in multiplatform environment.

Developed as Dirligo team (Radoslaw Kolodziejczyk, Lukasz Bienczyk and me).

Keywords: p2p, network programming, network disk, remote file system

dirligo_cpp

2012

Search engine

Search engine bot indexing advertisement on web pages.

Keywords: C++, network programming, html parsing, http, text processing, search engine, SQLite

NO IMAGE
2011-...

Market Wizard

Program colelcts and processes stock market data.

Keywords: C++, QT, plugins, stock data processing

marketwizard_cpp

November 2009 - ...

Quantum Solver

As goal, program should be general template for any physical or chemical simulations. For now, it's rather typical quantum chemistry package in very early stage.

Projects contains 3 major modules:

  • Core library
  • Plugins expanding core to new types of simulations
  • GUI

Keywords: quantum chemistry, C++, QT, OpenGL, STL, numerical methods, plugins

qsolver_cpp

qsolver_cpp

qsolver_cpp

qsolver_cpp

December 2009

Currency converter

Program gets current currency rates from web and converts given value from one currency to another.

Keywords: QT, network programming, http, html parsing

konwerter_cpp

konwerter_cpp

November 2009

Hartree-Fock-Roothan

Simple resctricted Hartree-Fock-Rothan implementation (i.e. closed shells only). Program works with GTO base, but only S integrals implemented.

Keywords: quantum chemistry, C++, hartree-fock, SCF, GTO

hfr_cpp

July-August 2009

Music generator

Trial of using neuron networks and/or genetic algorithms to compose music.

Keywords: MIDI, music theory, artificial intelligence, WINAPI

generator_cpp

August 2009

Genetic algorithms library

Library contains general genetic algorithm template.

Keywords: C++, library, genetic algorithms

NO IMAGE
August 2009

Quantum Monte-Carlo

Simple implementation of quantum monte-carlo method for set of fermions.

Keywords: C++, computional physics, quantum monte-carlo

NO IMAGE
July 2009

Neuron

Simple implemtentation of multilayer neural network. Example program learns to segregate numbers into periods.

Keywords: C++, neural network, artifical inteligence

NO IMAGE
2004

EG

Never ended 2d platform game written in C/Asm. Game works in protected mode and uses vesa graphics mode. Paiting and keyboard routines are written in assembler.

Sprites were done by Piotr Niewolski.

Keywords: game programming, C, assembler, protected mode, vesa

eg_c

eg_c

2002

Level editor for Marcel II

Level editor for Marcel II game (patrz dział asm) written in C with inline assembler.

Keywords: C, Assembler, games programming

marcel2_edit_c

D
Date Description Gallery
June 2010

Guitar Free (?)

Free replacement for Guitar PRO - popular tabulatures editing software.

Keywords: D, music theory, Winapi, MIDI, GTKD

fg_d

Fortran
Date Description Gallery
December 2008

Hartree-Fock-Roothan

Simple resctricted Hartree-Fock-Rothan implementation (i.e. closed shells only). Program works with GTO base, but only S integrals implemented.

Keywords: quantum chemistry, Fortran, hartree-fock, SCF, GTO

NO IMAGE
December 2008

Simulation of H2 molecule creation

This is really a geometry optimisation program using extended Huckel Method to compute stationary energy.

There is movie availible here: http://www.youtube.com/watch?v=O4sHicvL5lQ

Keywords: quantum chemistry, electron density, extended Huckel Method, fortran, dislin

h2_fort

March 2008

Huckel Method

Simple Huckel method implementation. Program reads bonds matrix on input.

Keywords: quantum chemistry, Huckel method, fortran

NO IMAGE
November 2008

Extended Huckel Method

Simple extended Huckel implementation. Program solves works in STO base, but only S and P integers are implemented.

Keywords: quantum chemistry, fortran, semi-empirical

NO IMAGE
March 2008

Diffusion limited aggregation

Program written on theoretical chemistry classes, when I was student.

There is no built-in visualisation procedure. Screenshots beside was done using GNUPLOT tool.

dla_fort

dla_fort

dla_fort

dla_fort

dla_fort

Assembler/x86
Date Description Gallery
March 2008

SSE2 optimized matrix multiplication

SSE2 optimized routine for square matrix multiplication. Code written in time when I was interesting how HLL compilers are good in generating autovectoriced SIMD code.

Keywords: numerical methods, matrix multiplication, SIMD, SSE2, assembler

NO IMAGE
June 2003

Line

Routine paints line between two 2d points.

Keywords: assembler, vector graphics

NO IMAGE
December 2002 - January 2003

Marcel II

2D platform game engine. Also, there are own preprocessor implemented for IF/THEN/ELSE macros

Here, there is video from gameplay available: http://www.youtube.com/watch?v=W15LYIK44t8

Keywords: assembler, game programming

marcel2_asm

marcel2_asm

marcel2_asm

2002

General MIDI driver

MPU401 driver for DOS. Example program changes keys from 'Q' to 'P' into piano.

Keywords: assembler, drivers programming, MPU401, MIDI

NO IMAGE
2002

Sound Blaster Driver

Sound Blaster driver for DOS. Program handles IRQ 5/7 and send data to card via 8-bit DMA channel.

Example program plays samples loaded from external files. Also it's possible to store more than one file into one library. I was using it in my games.

Keywords: assembler, driver development, sound blaster, IRQ handle, DMA

NO IMAGE
June 2002

Raycasting

Simple program implementing raycasting method - standard in 90s in games like Wolfensteint 3D or Doom. There is no texturing implemented.

Keywords: assembler x86, raytracing, 2.5D, vector graphics

3d_asm

August 2002

Bill

Simple shooter game.

Keywords: assembler, game programming

bill_asm

2002

Marcel III

Shooter game with 'from top sight'. Was written in pascal with asm inline in first phase, but finally I rewrote all code into pure assembler.

Keywords: assembler, game programming

marcel3_asm

marcel3_asm

marcel3_asm

marcel3_asm

October 2002

Loader trybu chronionego

Program shows how to switch from 16-bit real mode to 32-bit protected mode.

Keywords: assembler, protected mode

NO IMAGE
?

Marcel przedsiębiorca

Never ended economic game.

Keywords: Assembler, games programming

mp_asm

mp_asm

2002

Tank

Clone of popular games known from NES console.

Keywords: assembler, game programming

tank_asm

?

Castle (?)

Never ended platform game. Zoombi visible on screenshot was used also in Marcelu II game;) Project inspirated - if I am remember well - Prince of Persia.

Keywords: assembler x86, game programming

castle_asm

?

Clock

Program handles timer interrupt and shows current time at console corner. This is a classic TSR program and almost everyone, who learns assembler in DOS era was written something like that.

Keywords: assembler, interrupt handler, TSR

NO IMAGE
?

IPX

Simple implementation of IPX protocol, popular in DOS era.

Keywords: assembler, IPX, network programming

NO IMAGE
?

WriteAX/WriteAL

Routines to dump registers onto memory screen.

Keywords: assembler, video memory, text mode

NO IMAGE
Pascal
Date Description Gallery
2001

Gwiezdna bitwa II

Continuation of 'Gwiezdna Bitwa' game (polish Star Battle). Game written in pascal with inline assembly for keyboard and painting routines.

Keywords: pascal, assembler, game programming

gb2_tp

gb2_tp

gb2_tp

Basic
Date Description Gallery
1999/2000 (?)

Marcel

First part of text adventure game Marcel written in Qbasic (do anybody still remember Larry or King Quest?)

Keywords: qbasic, game programming

marcel1_qb

marcel1_qb

marcel1_qb

marcel1_qb

1999/2000 (?)

Super speed

Never ended racing game in very early stage.

Keywords: qbasic, game programming

superspeed_qb

1999/2000 (?)

Gwiezdna bitwa (polish 'Star Battle')

Classing shooter game. This code looks ugly now.

Keywords: qbasic, game programming

gb_qb

gb_qb

1999/2000 (?)

Ping-Pong

My first developed game. Code is anti-style of good programming style. Program have sentimental value only. Written in winter holidays time.

Keywords: qbasic, game programming

pong_qb

pong_qb

Bash/sh
Date Description Gallery
January 2010

Bash Commander

File maneger written in bash shell.

Keywords: bash, linux, file maneger

bc_bash

bc_bash

html/css/js/php
Date Description Gallery
Febuary 2009

Organizer

Online organizer for me and my friends from school, when I was a student.

Keywords: html, php, css, javascript, ajax, mysql

terminarz

terminarz

terminarz

Electronics

Analog/Audio
Date Description Gallery
October 2009

DI-BOX

Active impedance converter (DI-BOX)

Project based on examples from www.facstaff.bucknell.edu/mastascu.

Screenshot shows time averange spectrum of stratocaster type guitar's output recorded with and without dibox.

Keywords: analog electronics, audio, dibox, home recording

dibox

May-September 2009

8 Microphone preamps

These are an eight microphone INA217 based preamps put in one box. Project based on INA217 datasheet.

Case is done from small baking pan bought in hiper market.

Keywords: analog electronics, audio, microphone preamp, INA217, home recording

ina217

ina217

ina217

ina217

2006 (?)

Copy of Sansamp-GT2 effect

This is a copy of Sansamp-GT2 guitar effect. Schematic found at www.tone.pad.com.

NO IMAGE
Digital
Date Description Gallery

Sylwester Wysocki