Projects

Projects of the ‘@ Software’ Category

PHP sessions caching at the cluster of servers (using EhCache)

2011/06 (3 weeks), customer: “Gradsoft”, outsourcing, 1 developer
result: written & tested on 2 Tomcats
dev. OS: Windows XP; languages: Java SE 6, PHP; tools: Eclipse, Git, Tomcat, EhCache

PHP session save handler and back-end Java part for caching at multi-node back-end with EhCache. PHP session’s data is transferred over HTML or JsonRPC.

@ Software, WEB/Network

Office Phone Station statistics processing

2011/05, customer: “Gradsoft”, outsourcing, 1 developer
result: charts are built
dev. OS: Windows XP; languages: Java SE 6; tools: Eclipse, Redmine, MS Excel

Building Excel charts on calls statistic to see maximum lines load and its duration during every day. The aim was to minimize number of external phone lines (analyzing daily peak load).

@ Software, Algorithms and Data Processing, Phone/Sound

Tetris like games framework for Android

2011 (1.5 month), private project, 1 developer
result: Tetris works, framework is not finished
dev. OS: Windows XP; target OS: Android; languages: Java, XML; tools: Eclipse, Android API 1.6, Android SDK

Tetris like games framework.
Download it in middle state RoTris.apk. Points are not counted. Speed is fixed. Size depends only on screen size. Options are only decorated but show final idea.

@ Software, Downloads, Home/Entertainment , ,

“ABCRescue” – game for Android that trains in Ukrainian letters

2011/03, private project, 1 developer
result: 2 simple versions are released and played by my daughter at the pad
dev. OS: Windows XP; target OS: Android; languages: Java; tools: Eclipse, Android API 1.6, Android SDK

It is my first Android project.
Training game: random floating random Ukrainian letters, tapping pronounces its sound, kid asked to tap the right one.

Download ABCRescue.apk and give it to your child to try. Idea is not finished.

@ Software, Downloads, Home/Entertainment ,

IPS and CPM – software for DOCSIS cable networks support

2010-2011 (5 months), employer: “Promptlink Communications, Inc.”, full-time, Junior Java Developer, 4 developers
dev. OS: Windows 7; languages: Java SE 6, XML; tools: Eclipse, Tomcat, log4j, SVN, CVS, Bugzila, Junit, etc.

10 years in production products: IPS (WEB, Struts/GWT based, JSP) and CPM (Swing) for monitoring/controlling DOCSIS cable networks.
Learning Java, bugs fixing, corrections, refactoring and minor enhancements (projects contain about 10000 files totally).

@ Software, WEB/Network ,

Remote Tasks Execution with load balancing

2010/09 (1 month), customer: “Promptlink Communications, Inc.”, full-time, Junior Java Developer, 1 developer
result: version without inheritance is released
dev. OS: Windows XP; languages: Java SE 6; tools: Eclipse, SVN, log4j

It is my first Java project.
One Distributor controls any number of remote Executors to fulfill the CLI/SNMP task list (each task with specified interval continuously or fixed number of times). Distributor implements load balancing of Executors using task’s weight and Executor’s load limit. Distributor logs results of all executed tasks. Distributor and Executors are auto connectible.

@ Software, WEB/Network

Files encoding/decoding application

2009 (1 week), joint project 1 developer
result: implemented
OS: Windows XP; languages: VB 2008; tools: VS 2008, .NET 3.5

Simple GUI application for files encoding/decoding with free key file. Asked by my university teacher to test his encoding algorithm.

@ Software, Algorithms and Data Processing ,

IPTV 6 TV channels on demand streaming cluster with last day FIFO storage, ASF stream play&save embeddable object

2006-2007 (6 months), customer “Wi-Max Ukraine”, outsourcing, 1 developer
result: implemented, setup and still works at TV tower in Kyiv
OS/Hardware: Windows XP & Windows Server 2003 R2/ 6 PC rack; languages: VB 2005; tools: VS 2005, .NET 2.0, Direct Show Filters, Windows Media Services, Windows Media Encoder

- Rack of 6 PC (2 servers cluster + 4 streamers: 4 analog and 2 SDI video inputs). Assembled, fully set up, fast restore from backup CD included;
- ASF streamers (Windows Media Encoder) are configured for 3 bit-rates on demand broadcasting of input TV channels through Windows Server 2003 R2 cluster;
- VB 2005 written Windows Server 2003 service for cyclic cutting and storing video streams to file system (last 24 hours of each stream) for further editing or casting on demand with delay. HTTP logging;
- VB 2005 active object for WEB page embedding which plays video stream and makes possible saving it to local hard drive (building Direct Show Filter Graph).

@ Software, Other, TV/IPTV/Video, WEB/Network ,

“Response” – PC DAQ Controlled Experiments Support System

2003-2008 (8 months, 3 versions), customer: Doctor of Medicine, Prof. Vitaliy Zamostian (National University of “Kyiv-Mohyla Academy”), private project, 1 developer
result: 3 versions were implemented, installed and supported, it was used for experiments with mice
OS: Windows XP; languages: VB 2003-2008; tools: VS, .NET1.1-3.5, ready PC DAQ board LCard

This is the PC software that helps to execute experiments which are controlled by PC DAQ board. User may define experiment as the set of steps each with different DAQ input/output channels modes and condition of step finish. For user suitability any channel may be defined in user units and scale. Each channel has zero and scale calibrations. Step of the experiment defines common input channels registration parameters (sampling period, repeating period, number of registrations or step duration), different types of output pulsing and optional synchronization modes.
Download Response 1.1 Setup. You must have MS .NET 1.1 SP1 installed to run Response 1.1.
Package also installs this Russian Response 1.1 User Guide.
This Response 1.1 Experiment File Sample may be opened withing Response 1.1.
Play with mouse left/right double-clicks and dragging on chart’s scales. You may change size of each window. Move upper sliders to switch to another data registration. Set/remove rule by left/right mouse clicking on any chart or by double clicking row in the table. Rule is common for all windows. Read more…

@ Software, Data Acquisition and Control, Downloads ,

“VigilantEye” – Software video motion detector for Windows

2003, customer: private project, 1 developer
result: implemented, 1 installation with camera & video-board was sold
OS: Windows 98; languages: VB 6.0; tools: Win32 VfW

Adjustable motion detector of the video source. My original algorithm of motion detection uses level sensing of square and/or size of brightness and/or edge changes in selectable region. It shows windows with intermediate results (brightness difference, edges, edge changes) and sensors activity diagrams. Optional sound signaling and video activity fragment saving are provided.

Download VigilantEye Setup.
Unfortunately it has only Russian interface. To use it properly expand red border of sensing region that may occasionally be collapsed to point when it is started. Read more…

@ Software, Algorithms and Data Processing, Downloads, Sensors/Detectors, Signal Processing, TV/IPTV/Video

USB Camera noise reduction and PCB design correction

2003 (2 months), customer: “Sumix Corporation”, full-time, 1 developer/tester
result: Noise and temperature dependency reduced dramatically, about 30 boards were corrected
OS: Windows 98; languages: VB 6.0; tools: oscilloscope & solder iron

Sumix developed SMX-110 USB camera was inspected and tested for picture noise. Picture noise testing application was written using ready API.
Power modes, PCB design and camera construction were corrected to achieve as minimal noise as supplied CMOS sensor avails.

@ Software, Electronics, Testing/Improving

ActiveX object to control interferometer

2001 (1 months), customer: “Sumix Corporation”, outsourcing, 1 developer
result: implemented
OS: Windows 98; languages: VB 6.0; tools: VB 6.0

VB 6.0 OCX component and test application were developed to interact with сontroller of Interferometer.

@ Software, Data Acquisition and Control

8-channels phone calls digitizer system with DOS storage software

2001, customer: private project, 1 developer
result: sold and used
OS: DOS; MC: AT89C52; languages: C; tools: TC 2.0, PN, i51 С cross-compiler

External MC based adapter detects on-hook line state, digitizes phone line signals and sends mixed stream of all active channels to PC via LPT port.
DOS software splits the stream and stores phone call data to separate WAV files for each active channel.
Access to stored data was made over network.

@ Software, Data Acquisition and Control, Microcontrollers, Phone/Sound

Algorithm for quick draft restoring of the phase 3D image of interferometer

2000 (1 month), customer: “Sumix Corporation”, full-time, 1 developer
result: released, then used by coders as base for C++ coding
OS: Windows 98; languages: VBA; tools: MS Excel

Fast algorithm for rough 3D image preview is developed with building graph within MS Excel. The input is the sequence (z) of interferometric pictures (x,y) got from interferometer’s camera . For each point (X,Y) of image its brightness produces sinusoid in z dimension. The aim of this algorithm is to detect quickly phase of sinusoids for each (x,y) point.

@ Software, Algorithms and Data Processing

“Octopus” – WEB Store Engine (WSE)

1999-2000 (10 months), customer: “Sumix Corporation”, full-time, Developer & Project manager, 4 developers
result: several WEB stores were implemented
OS: Linux; languages: TCL, HTML, SQL; tools: AOL server

WSE consists of flexible set of parameterized TCL scripts, Shopping cart (PERL) and Admin part for building Oracle based WEB Store with credit card payment.
My part was writing TCL scripts for DB data representing in HTML and Admin part for the store controlling and DB filling.

@ Software, WEB/Network , ,

DBMS “Sklad” (“Warehouse”)

1998-1999, customer: “Lucky Trade”, outsourcing, 1 developer
result: realized but not used
OS/Hardware: Windows 98; languages: VB 6.0, VBA, SQL; tools: Visual Basic, MS Access DB format, MS Office 97

Simple “CDPlant” based multi-user database for goods registration, goods movement and using tracking, planning and creating orders to manufacturers of goods based on current and minimal amount in the store.

@ Software, DBMS/ERP ,

Bills forming and sending system

1998 (1 month), customer: “Lucky Trade”, outsourcing, 1 developer
result: implemented and monthly used several years
OS: Windows 98; languages: C, VBA; tools: UUCP, MS Excel 97

Simple system for forming graphical bills and sending ones via E-Mail. Bill data was stored in MS Excel Sheet.

@ Software, Algorithms and Data Processing ,

“Calls” – Mini-station calls logging to MS Excel

1998, customer: “IRIS Ukraine” (USA), outsourcing, 1 developer
result: implemented and used during several years
OS/Hardware: Windows 98; languages: VB 6.0, VBA; tools: VB, MS Excel 97

The goal of the project is PC to Office Phone Mini-station connecting, storing calls history, importing, sorting and filtering information about phone calls with MS Excel.
Mini-station was connected to PC over COM-port. Resident program logs data to temporary file. Excel macros adds new calls to history.

@ Software, Algorithms and Data Processing

DBMS “Romashka”

1998, customer: private firm, outsourcing, 1 developer
result: realized but not used
OS/Hardware: Windows 9x; languages: VB 5.0, VBA, SQL; tools: Visual Basic, MS Access DB format, MS Office 97

“CDPlant” based DBMS for goods tracking.

@ Software, DBMS/ERP ,

DBMS “CDPlant”

1996-1998 (2 years), customer: “Mashel” & “Bolidisk” (1&2nd Compact Disk Manufacturing Plants in Ukraine), full-time, 1 – both developer and systems administrator
result: implemented and used starting 1 year of development
OS/Hardware: Windows 9x; languages: VB 3.0-5.0, VBA, SQL; tools: Visual Basic, MS Access DB format, MS Office

Multiuser System monitors CD manufacturing orders fulfillment. 12 possible parts of manufacturing process execution, in/out of stock. Second implemented version was able to calculate timing of orders at the moment of ordering. Different reports preparing using MS Word templates with special tags. Finally source code was 50 000 lines of VB. “Orders” DB table had 160 fields. Custom part of process interface customization was possible (manager, reception, designers, manufacturing, printing, packing, stocking, etc.) with different rights of access. DB had user friendly backup/restore procedures.
Custom record locking mechanism was made. Parametrized search, administrator controlled configurable tables.

@ Software, DBMS/ERP ,

Team Events Schedule System Printing Support

1995-1996, customer: “Techsell”, Sweden, outsourcing, 2 developer
result: several versions were released
OS/Hardware: Windows 3.11/95; languages: VB 3.0, SQL

It was my first project which used Visual Basic and SQL.
Aim of our project was to make parameterized selections from ready team scheduler DB and to print results in different formats.

@ Software, DBMS/ERP ,

Data processing software for applied sociology

1992, customer: private entrepreneur, outsourcing, 1 developer
result: realized and used
OS/Hardware: DOS/PC; languages: C; tools: TC 2.0

Command line input, calculating and printing results of team tests. Algorithms of calculations were given by customer.

@ Software, Algorithms and Data Processing

PC board for Video input, digital software decoder of PAL color component

1991-1992, joint project: with Production Cooperative “Informtechnika”, 1 developer
result: sold 5 boards
OS/Hardware: DOS/PC/designed ISA boar; languages: C; tools: TC 2.0, oscilloscope

Developed board grabs composite video signal with 12MHz/8bits sampling. Data was written directly to PC RAM using Master mode of ISA bus. Board had about 40 logic DIPs and fast ADC.
Grabbed composite PAL signal data is decoded by software decoder to get color picture.

Read more…

@ Software, Algorithms and Data Processing, Data Acquisition and Control, Electronics, PCB Design, Signal Processing, TV/IPTV/Video

Algorithm for solving unstable systems of linear equations by regularization method

1991-1992, project: me & my father (he was developing test model), 2 developers
result: written & tested, not implemented at blast furnace
OS/Hardware: DOS/PC; languages: C; tools: TC 2.0

Original task at blast furnace is the optimal control of gas flow. The key problem is that measured data for determining optimum gas flow is changed very slow and these changes are within measurement error. So this situation produces unstable systems of linear equations to get gas flow control.
Used algorithm is the part of A.N.Tikhonov’s work on regularization of ill-posed problems.
This program solves system of linear equations (20 variables, 3000 equations) with solution error about 10-20% while the same system solved by least-squares method gives error about 3000% (3 thousands %) – tested on model.

@ Software, Algorithms and Data Processing

Automatic proofing of theorems

1990, student: my yearly project at Taras Shevchenko National University of Kyiv, 1 developer
result: succeeded
OS/Hardware: DOS/PC; languages: C; tools: Turbo C

Proofing of formula style theorems and printing the path of it’s proofing or mismatched axiom.

@ Software, Algorithms and Data Processing

“Tetris” for i8080

1989, private project: written at free time while being at Army of USSR, 2 developers
result: realized and used
OS/Hardware: i8080 like processor based computer; languages: assembler i8080; tools: paper & pencil

Tetris classic in text screen mode for i8080 based computer. Its design was improved and Tetris was implemented by my officer at his home computer.

@ Software, Home/Entertainment

Files packing with Huffman code

1988, student: Taras Shevchenko National University of Kyiv, 1 developer
result: realized and used
OS/Hardware: RSX/PDP-11; languages: C; tools: TED

Packing structure and idea was thought out by me. It was just Huffman method packing :) . But Huffman had better algorithm for building recoding table that is why it was used.

@ Software, Algorithms and Data Processing

“DAD” – Screen text editor

1987, aim: the gift for father, 1 developer
result: realized, granted but not used :)
OS/Hardware: RSX/PDP-11, target OS – CP/M; languages: C; tools: TED

TED like screen text editor.
It was like today’s TextBox component with multi-line capability and file operations.

@ Software, Algorithms and Data Processing

“Rockets” – teaching game for keyboard typing

1987, student: Taras Shevchenko National University of Kyiv, 1 developer
result: realized and used
OS/Hardware: RSX/PDP-11; languages: C; tools: TED

Game for teaching keyboard typing in text screen mode. Words were rockets lunched from 1 side of the screen. You had to type this word quickly and then this rocket was destroyed by anti-missile defense. Otherwise word-rocket destroys something. The idea was brought by my teacher.

@ Software, Home/Entertainment

“Pentix” – “Tetris” like game

1987, student: Taras Shevchenko National University of Kyiv, 1 developer
result: realized and played over USSR
OS/Hardware: RSX/PDP-11; languages: C; tools: TED

Tetris like game in text screen mode. It has selectable brick size (3-5 points) and glass width (4-20).

@ Software, Home/Entertainment

“Tetris” game remake

1987 (5 days), student: Taras Shevchenko National University of Kyiv, 1 developer
result: realized and played over USSR
OS/Hardware: RSX/PDP-11; languages: C; tools: TED

Tetris classic in text screen mode. Tetris is not my idea.
I’ve made it twice faster and having selectable glass width (4-20).

@ Software, Home/Entertainment

Self-training Tic-Tak-Toe

1987, student: Taras Shevchenko National University of Kyiv, 1 developer
result: realized and played over USSR
OS/Hardware: RSX/PDP-11; languages: C; tools: TED

Tic-Tak-Toe that was accumulating playing history and improving it’s playing quality (counting symmetry of field).

@ Software, Home/Entertainment

Model of Turing machine

1987, student: my yearly project at Taras Shevchenko National University of Kyiv, 1 developer
result: realized with Turing machine software
OS/Hardware: RSX/PDP-11; languages: C; tools: TED

Program that executes Turing machine’s programs.
Several programs of Turing machine was realized for execution (hh:mm Digital Clock – about 25 instructions of Turing machine).

@ Software, Algorithms and Data Processing

DB Requests Preprocessor for “Students” System

1986-1987, student: Taras Shevchenko National University of Kyiv, 1 developer
result: realized
OS/Hardware: RSX/PDP-11; languages: C; tools: TED

C like text preprocessor

@ Software, Algorithms and Data Processing

7-segment 10 digits screen driver with shifting effects

1985-1986, customer: Kyiv Institute of Automatics (made for my father); outsourcing, 1 developer
result: tested and implemented as subroutine
hardware: analog of i8080 based USSR industrial controller for plants (KTS LIUS-2); languages: i8080 assembler and machine code; tools: paper & pencil

It was my first written and implemented program.
Driver of 10 digits indicator with animated shifting (new number appears from left/right and top/bottom with shifting).

@ Software, Algorithms and Data Processing