This article is still work in progress...

The kid (before 1999)

BASIC -> Turbo Pascal -> C -> C++
  • 5 years old - 1st "program", BASIC - colorful drawing of a house
  • 14 years old - 1st sold program, Turbo Pascal, DOS, driver for a printer, interrupt based conversion of encodings (e.g. Mazovia to Latin-2)
  • 17 years old (1998) - Borland C++ Builder, database GUI-s sold (e.g. package tracking, noise analysis)

University time (2000-2005, 19-24 y/o)

Job

During University, I was for 5 years working for a Technical School in Poland as IT Admin (Zespol Szkol Technicznych in Zielona Gora).
  • I made a PHP website for them:


Bussiness

My small bussiness (as 3 Red Ants Studio):
  • C++ stream:
    • Clipboard Studio - Borland C++ Builder

    • iDownload.com downloader
      Visual Studio C++
      The executable for downloading over HTTP was just 14KB with full GUI (40KB with PNG logo).

    • Direct-X 7 2D (C/C++) visuals
      The Twirl:

      Digital LSD (aka LSD Studio):

    • Direct-X 8 3D (C++) visuals
      Fuzzy Logic Estimation with Genetic Global Minimum Search:

      The Dummies Disc:

  • Web:
    • Flash games - Tetris, Ganja Sweeper, Kikugi:

      You can actually still play them if you have Flash: Kongregate: Tetris one more, Kongregate: Kikugi
    • PHP, HTML (some JavaScript), Flash (ActionScript)
      I started web development as a 2nd stream of work (1st was C/C++/desktop)
      • Our own websites: humorek.net, smiech.net

      • Commercial work for agencies/customers (few examples):
        • Websites: Photo lab, Suntravel, Pizza Sycylia:

        • SMS module on Gilotyna.pl, one of the 1st SMS-to-web-API gateways used:



ADB Time (2005 - 2011)

I was employed by Advanced Digital Broadcast


to work on Set Top Box (STB) projects.
  • Wrote a lot of code in C, C++, Java (MHP), SH4 (RISC), Broadcom (MIPS) assembler

  • I coded on all layers, from kernel drivers to embedded applications
  • I introduced a lot graphics/OSD innovations:
    - HighDefinition TV: HDTV full resolution support (1920 x 1080 pixels), HDMI/HDCP support,
    - 32-bit ARGB rendering
    - designed and implemented fonts system (based on freetype2 rendering), image decoding (png/jpg/svg) and propertiary widget rendering subsystems (which was inspired by mix of OpenTV + Qt)
  • Coded a lot of DVB (satellite, terrestrial, cable) and ATSC solutions:
    - DVB SI (Service Information) scans and monitoring for terrestial (DVB-T), satellite (DVB-S) and cable (DVB-C) environments, with country-specifics for Italy, Norway, Spain, Switzerland and UK,
    - electronic program guide (epg/event information), parental control, languages selection for audio and teletext, hard-of-hearing, power saving modes
    - web-services integration (VOD, remote recording, browser integration etc.)

Continuing my small bussiness

  • Websites with PHP, Flash and some JavaScript (JavaScript was still poor at that time):
    Examples: Ortoline, Solidarnosc, 3 Red Ants

  • Web components in Flash
    • Baby name stats GUI for some marketing website:

    • Speed test for Exigo:

    • Web questionnaire for some PR agency:

  • Analysis tools:
    • Black Analyzer (aka Blackalyzer) - Borland C++ Builder - a tool for printing company

    • Temperature Map Interpolation - PHP - a web-based tool for manufacturing industry


  • Started calculla.com and calculla.pl

    Go to full chapter dedicated to "Calculla" to know more...

Tieto, Nokia, DigitalRoute (2011-2012)


CodeProject.com (2012)



Mobica, Pace (2013)


Sky (2013-2014)


Take a look on youtube: Sky Q tour
I was implenting all that animations of GUI, font rendering, left-right navigation (layers), EPG guide scrolling.
Of course, what you can see on a movie, it's only "front" of it. Behind the scene there is whole bunch of C/C++, Qt, GL code, memory/resources management etc.

Ericsson (2014-2016)


Cisco (2017-2018)


Ministry of Justice on HMCTS web project


Kemu, Calculla and our Javascript Framework (2008-now)


JavaScript failed !
So this is static version of this website.
This website works a lot better in JavaScript enabled browser.
Please enable JavaScript.