PROGRAMMING AND SOMETHING MORE...

Main page | Portfolio | Publications | PostgreSQL vs other DBMS | IT Humor | Dialogues | About me

GOING MY OWN WAY WITH OPEN MIND

"A free man is one who is not subject to any other restrictions, except those imposed on himself. The laws of nature must be accepted. Their understanding is the essence of freedom."

"Wolny człowiek to taki, który nie podlega żadnym innym ograniczeniom, poza tymi, które sam na siebie nałożył. Prawa przyrody zaś należy zaakceptować. Ich zrozumienie jest istotą wolności."
Baruch Spinoza
I'm a full-stack PHP/C/C++/C#/SQL developer with some Java SE and Delphi background. x86 assembly doesn't scare me. Old school classic ASP and VBScript is not fun, but I have experience with it. Pascal is fine - from good old Borland Turbo Pascal 7.0 to Borland Delphi 2007. Creative back-end web development is my main professional activity. SQL - it rocks. Simple CRUD is just boring. I like to play with query optimizations and studying performance tuning tips for relational databases, but I'm not a DBA.

Connecting vary software components into one synergetic system is the way of my work. It's a mixture of PHP/C/C++/Java/C# code if necessary. Maybe something more - I'm open for new technologies and tools. Usually back-end should be associated with a front-end layer, so JavaScript, HTML/CSS/SVG and GIMP are my next weapons, but I prefer to be hidden behind server firewall. I'm not a web designer. I know HTML5/CSS3, RWD, mobile first paradigm, media queries, etc. so I can freely talk and collaborate with front-end developers, but not replace them (well, this site is not responsive - maybe I'll improve it in the future). If I have to do something at front-end side, I prefer coding in JavaScript only. Something about data layer. PostgreSQL is my favourite RDBMS. Currently I use MariaDB, PostgreSQL and damned MS SQL Server. Some time ago I intensively used Firebird also with its best pl/SQL syntax I've ever seen. If I need to cache, I use Redis or Memcached. Asynchronous and/or pipeline processing - Gearman with GearmanManager is my choice (PHP workers - image/video/audio conversion by ffmpeg, Imagick, data filtering, validation and persistency).

  • Programming languages: PHP, JavaScript, C/C++, Java SE, C#, x86 assembly, Visual Basic/VBA/VBS, Object Pascal/Delphi
  • SQL and pl/SQL dialects: PostgreSQL 9.5, Firebird 2.5, MySQL 4/5, MariaDB 10, MS SQL Server Enterprise 2012
  • NoSQL: Redis, MongoDB, CosmosDB
  • Caching: APCu, MemcacheD
  • Asynchronous job managers, queues: Gearman, RabbitMQ, MSSQL Service Broker
  • MS SQL Server environment: T-SQL stored procedures, SS Agent, SS Profiler, SS Service Broker, SS Integration Services - SSIS, SS Management Studio - SSMS, Business Intelligence Development Studio - BIDS, TCP/HTTP/SOAP endpoints
  • Web servers: Nginx (OpenResty), Apache
  • OS: Ubuntu, Debian, Mac OS X, MS Windows 10
  • DevOps: Docker, Vagrant, Ansible
  • Utility applications (used with PHP): wkhtmltopdf, PDFtk server, ffmpeg, ffprobe, finfo, ghostscript, ImageMagick, Apache Tika

  • Web development: PHP 7, JavaScript/ES5, HTML5/CSS3/SVG (RWD), Zend Framework, Phalcon 3, Symfony 3, Doctrine 2, Imagick, PHPExcel, PHPUnit 6, Behat 3, Composer, Phing, Smarty 2/3, PHPTAL, Twig, jQuery 1/2, jQueryUI, AngularJS 1.5, RequireJS, Fabric.js, Video.js, FlowJS/ngFlow, Raphael/SVG, SockJS, D3.js, Bootstrap 3, Sass, Bower, GulpJS, Classic ASP, Vert.x 2, systems integrations (SOAP, REST), payment APIs (PolCard, eCard, PayByNet, PayU, Web2Pay/SixPayments, DotPay, Przelewy24, SaferPay, WireCard, Platnosci.pl), social APIs (Facebook Connect, Google Drive, YouTube)
  • Desktop development: C++ with multithreading (MS Visual C++ 6.0, Borland C++ Builder 6.0, Borland Turbo C++ Explorer 2006), Object Pascal with multithreading (Borland Delphi 3.0, Borland Delphi 6.0, Borland Delphi 2007), VCL, WinAPI, sockets (TCP/UDP)
  • Low level development: C (x86 MS-DOS: tcc, djgpp; x86 GNU/Linux: gcc; x86 Win32: bcc32, cl; AVR: avr-gcc (WinAvr, AVR-Eclipse)), assembler (x86 MS-DOS: tasm, masm, nasm; x86 GNU/Linux: nasm; AVR: AVR Studio)
  • Hardware/system programming: x86 (MS-DOS, GNU/Linux): BIOS functions, APIC - IRQ routines, DMA controller, XMS, I/O (expansion cards: Sound Blaster, VGA, SVGA), RS-232, LPT EPP/ECP; Atmel AVR microcontrollers (ATiny, ATMega): I/O (RS-232), I2C, SPI
  • Real-time systems: LinuxCNC (Enhanced Machine Controller 2.0) + RTAI (Real Time Application Interface)

  • Development environment: Ubuntu/Mac OS X, IntelliJ/CLion/PhpStorm, Eclipse PDT/CDT, SoapUI, Vagrant, Docker, Ant, Phing, Ansible, shell scripting, Git (SourceTree)
  • MS Office 97: MS Access with VBA (Firebird frontend), MS Excel with VBA, MS Word with VBA, MS PowerPoint
  • OpenOffice/LibreOffice: Calc, Writer, Draw, Impress
  • CAD: Autodesk AutoCAD 14, Autodesk Inventor 7, ASCON Kompas-3D 13, Eagle (PCB design)

PHPJavaEclipsePhpStormIntelliJ IDEAReSharperVisual StudioDockerVagrantPostgreSQLFirebirdRedisZend FrameworkSymfony 2SassAngularJSBootstrapUIBootstrapjQueryjQuery UIPhalconApiGenPhingVertX
UbuntuDebianMac OS XWindows 10

Programming languages experience









Databases experience




Work in progress...
Geek's Command Center

Main page | Portfolio | Publications | PostgreSQL vs other DBMS | IT Humor | Dialogues | About me