My projects

This is the list of projects I started or joined.

What's not covered here

It does not cover commercial work for my clients/employers:
  • things I've done as an employee/consultant/contractor - go to my portfolio or find my CV for details
  • development done for Kemu Studio clients - look at Kemu Studio portfolio for more info

Main stream

  • Web
    • Most of my web-code is Javascript (ES6, CoffeeScript, node.js) and PHP. I do full stack: frontend and backend.
      I moved most of the new development to node.js - abandoning PHP.
    • I love webGL and Web Sockets. And all new-and-shiny features of HTML 5 in general.
    • I used a lot of BSC (Browser-Server-Common) code. Good code once written and tested works on both server and client.
    • The code is full OOP, MVC, reactive etc. lot of 3rd party/open-source code, React.js, jQuery, lot of npm packages (no Angular.js - it's retarded).
    • I heavily use TDD (Test Driven Development):
      • Core API tests driven by mocha.js running on node.js.
      • GUI tests with Selenium in javascript also with mocha.js as a test-suite driver. I use Karma from time to time, mostly to run remote tests on exotic/old platforms.

    Public web projects are:
    • Calculla: i
      Server-side in node.js on in-house engine on top of express and jake as build engine (gulp/grunt is just a toy).
      Mix of Javascript ES6 and Coffee-script used for Browser and server code.
      A lot of growth is planned: more calculators, smart search, social stuff (user comments, permalinks, data sharing), user-developed calculators (wiki style)...
      Calculla completely moved from PHP to node.js in January 2017 with new GUI/look&feel in webGL+SVG. CSS+images design is not used, as CSS is used only for layout/font/margin stuff.

    • Kemu Doc Server
      Latest web technology used:
      • node.js + express to serve content: server response with full HTML is less than 40 ms (with gzip involved)
      • WebGL to render design, no PNGs, no heavy CSS - all GUI rendered efficiently through WebGL shaders
      • Websocket as main content transport: no HTML reloads, on-site navigation with dynamic content loading through extra-fast Websockets protocol, with fallback to AJAX, and then fallback to static reloads in worst case

    • Kemu Panel:
      The panel is a central part of most Kemu services.
      It gives our users single point of authorisation and management to Kemu Services: for example Content Management (CMS) to websites of our clients.

      The panel is 10+ years old, however it is now being rewritten to new-tech style (websocks and GL):
      • The panel GUI rewrite is inspired by this movie, so it's going to be similar in look'n'feel. Light webGL animations everywhere to help GUI cooperate with user, but nothing too distracting.
        A mix of HTML with heavy webGL Canvas support is used.
      • Most of the features are exposed by public HTTP/JSON API (websockets or AJAX) - for 3rd party use.
      Services provided by panel:
      • Simple services for any user: Kemu Note, Kemu Task-List, Kemu Bookmarks
      • Main GUI for Nodected cloud
      • Main GUI for Kemu Studio clients
      • Simple services for web-devs: webshots/screenshots, gradients, text-effects (webGL)
    • Kemu API: things visible in Kemu Panel are exposed by Kemu API for public use, so anyone can write applications for it
  • Nodected = IoT + SmartHomes
    • Nodected Node: Embeded software in C for LPC Cortex M0 - lot of pure ANSI C code
    • Nodected Pylon: Raspberry Pi, Linux, C, C++, QT, openGL, node.js
    • Nodected Advanced Node: for example as Arbitrary Waveform Generator with high-spec requirements (14 bit, 25 MSps, procedural waveforms or 500 MS storage)
    • Nodected Cloud: node.js, Javascript/CoffeeScript
      • Web API - for secure data storage (params logging) and control
      • Kemu Panel - for secure web GUI
      • Android and other mobiles - for mobile GUI's

Side stream

  • Small open source projects:
    • Kemu BBCode - node.js package for modern BB-Code implementation with full TDD suite (released on github and npm)
    • - it's just a specification and some implementations of it
    • Nate - Not Another Template Engine - PHP and JS implementation are done already. To be published.
  • Some small non-open-source projects:
    All public API-s will be moved to one place, to become a part of Kemu Panel and Kemu API.
  • Ultimate Log Browser
    Qt/GL based, modern GUI for logs browsing - still in development.
    Works on serial port only at the moment.
    Fully scriptable in JavaScript through QT JS engine.
  • Clipboard Studio - aka AshTray
    The kind of advanced CTRL+C managing software done in QT + openGL
    It's connected to Kemu Panel: The CTRL+C on PC exports the thing to panel
    It's full desktop interface to Kemu Note, Kemu Tasks and other services.
    Fully scriptable in JavaScript through QT JS engine.

Archive stream

The stuff which is just there, not really maintained anymore, but not really dead too:
JavaScript failed !
So this is static version of this website.
This website works a lot better in JavaScript enabled browser.
Please enable JavaScript.