Post Job Free
Sign in

Software Data

Location:
New York, NY
Posted:
September 30, 2013

Contact this candidate

Resume:

Oleksiy Ivanov *******@******************.*** www.effectivedeveloper.com

github.com/OleksiyA

Software Engineer with 8+ years of software development including 4 years

of writing exciting connected Apps for iOS, extensive knowledge and skills

with Mobile, Cloud, Cross-platform and Embedded software development.

Technical skills:

Languages: C++, Objective-C, C, Sql, Python

Techniques: Multi-threading, Cocoa Touch, Core Data, AVFoundation, UIKit,

Core Image, Cloud services, Parse, Ood, OpenGL, Pki; Boost, WxWidgets, Stl,

SqLite, Mfc, Soap, PostgreSql, OpenCv, Qt, Uml, Automated Reference

Counting, JSON, REST, Storyboard; Scrum

Tools: XCode, Eclipse, Gcc, MS Visual Studio.Net, MinGw, Source Insight,

masm32; Git, SVN, CVS, Perforce SCM, Cruise Control, Hudson, Bugzilla,

Jira, Confluence, Test Track Pro, MS SharePoint, MediaWiki, MS Visio,

Doxygen, Html Help Workshop, Nsis Installer, Rpm tools, CMake, Gnu Make,

NMake, SCons, Shark profiler, Cornerstone, ImageMagick, Gimp, Xcode OpenGL

tools, Hopper debugger

July 2013 - Current Bromium, Cambridge, UK

OSX DATA SYSTEM

Performed performance profiling and memory footprint optimization for multi-

process sub-system for data movement.

Introduced multithreading to existing worker process and analyzed

performance gains.

Implemented refinements and performance optimization for Core Graphics and

Accessibility analyzing code.

February 2013 - July 2013 Envizio, Kyiv, Ukraine

ELECTRONIC COUPONS REDEMPTION MOBILE APP

Envizio website http://envizio.com

Redesigned and reimplemented iOS Application for communicating with Azure

based backend.

Defined and implemented structure of local Core Data cache. Optimized cache

system for performance. Applied multithreaded model for interacting with

persistent store.

Implemented a set of customized controls and container view controllers.

Made proposals about UI design of the application.

Refined and optimized network interaction module for the application.

Refactored and made stability utilities to be used while interfacing ObjC

to C++ code of the custom WSDL-to-C++ converter.

Implemented system for delivering changeable content to the application

from backend using HTML(5) as layout holder. Optimized user experience and

application performance while using hybrid elements in application UI.

August 2011 - January 2013 Symbio, Helsinki, Finland

HANDHELD ALCOMETER iOS APPLICATION

Alcosystems website http://alcosystems.se/product_en.html

Redesigned and reimplemented iOS Application for communicating with

external Bluetooth LE accessory.

Implemented detection of accessory and support of the custom communication

protocol.

Implemented UI views for guiding user over the measurement process.

Implemented reconnection to the accessory in case of connection errors and

handling of the other unexpected use cases.

Implemented custom authentication techniques while transmitting measurement

data to the REST web service.

DISTIBUTED MOBILE BASED SYSTEM FOR FAMILY SAFETY

Biisafe Universal iPhone/iPad App in AppStore

https://itunes.apple.com/us/app/biisafe-safety-service-remote/id561022474

As a lead software designer and lead developer of the system was

responsible for technical communication with the customer, provided

technical guidance to developers in the team (team 3 developers).

Participated in requirements capture phase and provided technical

recommendations about possible backend solution to develop/or to integrate.

Designed distributed system for family safety for iOS and Android devices

using COTS Parse Cloud service.

Implemented client-Cloud data flow system, defined Cloud data structures

and notifications flow.

Designed and implemented system for semi-realtime event-driven data

exchange between mobile clients using Apple Push notifications service with

usage analyzing and auto-throttling.

Implemented smooth interaction with the Cloud service with

synchronizing/caching data in local Core Data database.

Implemented customized UI controls and configured look of default iOS UI

components. Implemented universal application for iPhone and iPad with

support for all interface orientations.

Designed and implemented multi-threaded tasks execution with

prioritisation's and attaining smooth UI operations.

Implemented a set of testing tool mechanisms for testing, debugging and

verifying operations of the software under changeable network connection

conditions. Implemented automatic management of network outages and correct

operation of the software in such situations.

Implemented local database storage using Core Data with ability to provide

limited functionality under absent network connectivity conditions.

Implemented sound analyzing, video recording and image capturing operations

initiated by remote requests.

Added In-App purchases for subscriptions in iTunesConnect, implemented

basic validation of the In-App receipt and verifying receipt via Apple

server, implemented storing payments history on the Cloud.

Provided guidance for adding application in iTunesConnect and was

responsible for submitting application for Apple AppStore review.

Performed review of the functionality and performance of the system and

provided recommendations about areas for improvement.

LOCATION TRACKING AND ACTIVITY ANALYZING APPLICATION

Movescount iPhone App in AppStore

http://itunes.apple.com/us/app/movescount/id465054490

Implemented importing and exporting location data from/to GPX file for the

Track recording iPhone application.

Implemented recording location data to GPX file and playback location data

from GPX file for debug, demonstration and automated testing purposes

honoring locations timings and with adjustable playback speed.

Implemented UI Automation test JS scripts for performing automated basic

acceptance test of the application.

Performed performance profiling, detected heaviest functions and redundant

code. Optimized some routines of the application.

Performed profiling of the memory consumption of the application.

Investigated balanced approach between performance and memory consumption

for Core Data related logic of the application.

Responsible for preparing the application and updates of the application

for the submissions to the Apple AppStore.

Refined Objective-C wrapper for using sqlite instead CoreData in the

application for the purpose of attaining better control over memory

management and for faster transitions to latest database scheme.

Implemented custom map overlay views using incremental drawing techniques.

August 2011 - Current Independent developer

VIDEO EFFECTS AND PROCESSING APPLICATIONS

Water Droplets with Realtime Lightning and Thunder

http://itunes.apple.com/app/id464900611

DayToDark video recorder: Pumpkin's Tricks

http://itunes.apple.com/app/id472003581

Snow Live HD http://itunes.apple.com/app/id487716437

Waterize Video Live http://itunes.apple.com/app/id484648029

Cool Movies! http://itunes.apple.com/app/id518351044

Designed and implemented a set of iOS applications for video processing.

Implemented realtime video processing with video capture, video preview and

recording in full HD resolution on supported devices.

Implemented gallery of the movies made by user.

Implemented video sharing to YouTube, Facebook, Email, Camera Roll.

Implemented image sharing to Facebook, Imgur, Email, Camera Roll.

Implemented basic socializing features to the applications.

Implemented displaying AdMob advertising in the applications and

crosspromoting other applications.

June 2010 - August 2011 MacPhun, Kyiv, Ukraine

VIDEO PROCESSING APPLICATIONS

Vintagio iPhone App in AppStore

http://itunes.apple.com/us/app/vintagio/id335148458

Redesigned application for video editing. Reimplemented several part of the

application using the AV Framework to increase speed of the video

processing and enlarge set of supported input video and audio formats.

Converted existing video processing algorithms from RGB to YCrCb color

format. Rewrote calculation intensive parts of the code, implemented

additional lookup tables, optimized speed of execution and memory

consumption of the application, eliminated floating point operations from

processing functions.

Implemented producing reverse movie with reasonable performance,

implemented producing movie with variable acceleration or deceleration

rate.

Investigated utilizing NEON instructions set for increasing speed of

processing video and for increasing speed of converting video from YCrCb to

RGBA.

Implemented resizing video and cropping video features for the application

using AV Framework methods and custom software libraries.

Performed porting of the application for post-video processing from iPhone

OS 3.X to iOS 4.2. Added support for HD 720p video.

Added new effect, enlarged set of supported timescales for the application.

Implemented sharing video to YouTube, Facebook and Twitter (via TwitVid)

social networks.

Implemented YouTube browser for browsing user-generated content from inside

the application.

Implemented fast and encouraging submission of the user-generated video

content to contests.

Implemented version of the application for iPad devices.

Implemented new features variable speed of the video, sound fade and sound

mix, reversed movie.

Implemented direct Core Video Pixel buffer to OpenGL texture transformation

in iOS5 devices for gaining significant performance increase.

Converted parts of the processing algorithm to vImage functions, including

alpha composing and convolution processing.

IMAGE EDITOR APPLICATIONS

PhotoPal iPad App in AppStore

http://itunes.apple.com/us/app/photopal/id380312615

PerfectPhoto iPhone App in AppStore http://itunes.apple.com/us/app/perfect-

photo/id322556359

Designed and implemented the user interface code and code of the

underlaying software model of the iPad application reusing parts of the

existing code for image processing.

Implemented unlimited undo/redo feature with recording a full state of the

application.

Designed and implemented custom controls, crush reporting and logging

utilities for the application.

Performed optimization of the memory consumption of the application and

speed optimization. Increased maximum allowed resolution of the image that

can processed by the application.

Investigated usage of the OpenGL hardware accelerator for the purposes of

an image processing.

Implemented vignette adjuster, resizing of the image, applying art frames

for the image with changeable parameters, red eye removal and "spot

healing" tools.

Implemented animated transition between image representations.

Implemented custom toolbars, progress bar, list of images in docs with

dynamic previews and other controls.

Implemented integration with Facebook, Twitter and Flickr social networks

for the purposes of sharing images and promoting the application.

Designed and implemented several features for iPhone branch of the Image

Editor.

May 2009 - June 2010 Shape Services, Odesa, Ukraine

INTERNET MESSENGER APPLICATION

IM+Pro Universal iPhone/iPad App in AppStore

http://itunes.apple.com/us/app/im+-pro/id296246130

Designed and implemented a set of new features for the iPhone/iPad

application in the top ten of the Apple Store's social networking category:

background wallpaper, animated emotions, copy&paste, multithreaded loading,

fast loading mode.

Investigated the application performance using Shark, gdb scripts and debug

macroses and performed speed optimization.

Promoted balanced approach for speed vs memory consumption of the program.

Performed preparing of the application for the submitting to the Apple

Store.

Ported the application from iPhone OS2 to OS3.0 and to OS3.1.

Established the continuous integration system based on Hudson for automated

building of the iPhone application for test and release purposes.

Ported the application to iPad (iPhone OS3.2). Performed refactoring in

order to build the universal application for iPad and iPhone, iPod targets.

Redesigned UI of the application for the hardware specification of the

iPad.

Ported the application to the iPhone OS4.

2010 Short term projects on fixed price and T&M terms for different

companies

RECORDS MANAGEMENT PROJECT

Designed and implemented the program for collecting specific data, parsing

data in flexible formats using regexp, storing data in the database,

organizing and sorting saved data, exporting data in certain formats,

generating results of the statistical analysis.

Implemented the feature for generating periodic reports about the data flow

and the certain parametres of the data over the time.

Used Python language and Sqlite database.

November 2007 - February 2009 Information Protection Center, Kyiv, Ukraine

SECURE CLIENT-SERVER DATA PROCESSING SYSTEM

Designed and implemented distributed system for client-server secure data

exchange with authentification, encryption and data processing based on

PKI and symmetric algorithms.

Designed a set of classes for use in the system, integrated in-house

written source code with the code that is generated by the ASN.1 compiler

and with third party source code.

Wrote the ASN.1 definitions for custom certificates extensions and for

other purposes.

Wrote and debugged server side software. Built the set of tools for

initialization, debugging, testing, logging and troubleshooting of the

software.

Implemented client applications for different roles in the system (user,

support personnel, registering clerk, administrator). The programs are

written to run on Windows 2000, Windows XP and Linux Fedora.

Wrote and maintained the SDK for integration the system by external

programmers with third party software.

Wrote user guides, technical description and API description documents.

Wrote and put into practice in the programmers team a set of software

process documents and rules.

Held a team trainings about source control system, team collaboration

environment, corporate code writing and documenting guidelines. Introduced

new development tools and techniques. Promoted usage of the continues

integration and remote desktop tools in the software development process.

September 2007 - July 2008 Software Part of the Specialist's (5 year)

degree thesis, University of T. Shevchenko, Kyiv, Ukraine

MODELLING PLATFORM

Designed flexible platform for modelling processes. Implemented extensible

framework that allows integration with the purpose-built calculation,

visualization, model analyzing and custom modules.

Wrote visualization module with features: 1D, 2D and semi-3D visualization

while modelling session is running or using modelling data from external

source. Implemented value-to-colour, isoline, vectorized and three-

dimensional data representation.

Elaborated data representation and settings storing format that is based on

XML, custom XML+ZIP or XML with linked XML+ZIP packages that allows fast

organizing of a large data arrays.

Designed software module for importing and exporting data to HDF5 format.

2007 Short term projects on fixed price and T&M terms for different

companies

BLUETOOTH MONITORING SYSTEM

Designed the application for tracking and storing the bluetooth devices

presence and activity.

Performed software design, implementation, debugging and deployment for the

target platforms Windows, Windows Mobile Pocket PC, Smartphone 2003, 5 and

6.

Implemented separate desktop application for analyzing and representing the

gathered data.

Integrated the web service for data exchange with the server during

runtime.

Designed the SqLite-based embedded database for storing gathered data.

Performed optimization of the database module on the target devices.

LOCK APPLICATION

Developed for La Mosca

Designed and implemented the application for the mobile phones for a gaming

rental agencies that completely prohibits the usage of the mobile phone in

other ways than expected by the owner. Only predefined set of applications

and midlets can be started by the end-user. Messaging, voice calls and

accessing the phone settings can be blocked by the application depending on

the build configuration and application settings.

Wrote the program versions for the Symbian S60 2nd, 3rd editions and the

Windows Mobile Pocket PC mobile devices.

FULLSCREEN VIDEO CALLER APPLICATION

Implemented the application that changes the behavior of a mobile phone,

replaces the standard reactions for the set of events and creates new

events.

Performed design, implementation and documentation writing.

Maintained the versions of the application for Symbian S60 2nd and 3rd

editions.

PODCATCHER (RSS READER WITH AUDIO DOWNLOAD AND PLAYBACK FEATURES)

Rewrote the Java Me application in C++ language for Symbian S60 platform.

Performed redesign, implementation and documentation writing.

Built the installation packages with support for 2 languages and 2

platforms (Nokia S60 3rd and 2nd edition).

MOBILE TRACKING DEVICE WITH GSM MODEM AND GPS/GLONASS RECEIVER

Wrote the BSP, the core software, performed board bring-up and tuning.

Wrote drivers for sdio card, GSM modem, nmea compatible gps receivers.

Established communication of the device with the control center using GPRS,

SMS and CSD bearers.

Designed and implemented communication protocol with error detection.

June 2005 - July 2007 Flextronix, Kyiv, Ukraine

DECT CORDLESS PHONE WITH ADVANCED INFORMATION FEATURES

Designed state machine for the SMS operations.

Provided performance and footprint optimization using review of the

intermediate assembler code, profiler and self-written debug macros.

Performed debugging using jtag debugger and emulator with involvement of

the gdb scripts.

Refactored the build system and configuration management system.

Implemented 4 build configurations.

APPLICATION FOR 'TCL' AND 'C' SOURCE CODE GENERATION

Redesigned the prototype using the model-view-controller pattern.

Refactored existing source code. Rewrote 28 engine and Ui clases,

implemented Unicode support.

Implemented the xml-based configuration, logging and journaling features.

Provided the user with an opportunity to change settings of the process of

Tcl script creation.

Wrote the utility for the source code generation for the specific Menu

State Machines from the Xml definition file.

2006 Short term projects on fixed price and T&M terms for different

companies

UNIVERSAL CIPHER FOR SYMBIAN SMARTPHONE

Created bearer-independent message type for secure data exchange via

Bluetooth, GPRS and SMS.

Ported cryptographic algorithm AES to the Symbian OS (Nokia Series 60).

Performed speed and memory footprint optimization.

Designed system prototype with speech encryption and data encryption

features.

Performed integration of the cryptographic, user interface and custom

message type software units.

VISUALIZATION OF A PROCESS AND DATA EXCHANGE PORTABLE APPLICATION

Developed portable Gui application for embedded devices using Qt library.

Utilized Linux system (Pda Zaurus CL-3000) for rapid application

development and debugging.

Established Internet connection on the target system using external GSM

modem.

UNIVERSAL STAND ALONE USER CONSOLE

Wrote the software and hardware specification for the system.

Performed board bring-up and hardware tuning.

Established connection with the PS/2 keyboard, 40x4 character Lcd, host

system (via Rs-232), external I2C Eeprom memory and Rtc.

Implemented the BSP and drivers for the board.

Wrote the example "Text editor" application for the target system.

June 2004 - June 2005 Smart Mashines, Trebukhiv, Kyiv region, Ukraine

UNIVERSAL VENDING MASHINE WITH REMOTE GSM CONTROL

Successive version of the vending machine on manufacturer's website

http://www.smartmachines.com.ua/mk02.html

Determined the cost-effective set of software and hardware development

tools.

Performed coding in C/Assembler and integration with third-party libraries.

Debugged software and hardware using VSM Proteus Emulator and Microchip

ICD2 debugger.

Established full-featured payment system including bill validator, coin

validator and security tokens.

Implemented remote firmware upgrade module via GSM network.

APPLICATION FOR REMOTE CONTROL OF THE VENDING MACHINES

Designed and implemented Windows application for control of the vending

machines over the external GSM modem that supports GPRS, SMS and CSD

bearers.

Performed design and implementation of the database that holds statistics

data for each vending machine.

Implemented visual notifications about the status of the remote machines.

Integrated the alarms system with the corporate email list.

FULL-COLOUR LED SCREEN WITH OPTICAL LOOPBACK

Designed algorithm for control the light-emitting parameters of a led using

the optical loopback.

Provided investigation of the control of the led by pwm current and its

influence on a led's endurance.

Implemented software algorithm for achievement the 24-bit color depth using

low cost hardware parts.

Designed scalable modular structure of the led screen using Ad Blackfin

Dsp's and Pwm drivers.

September 2003 - July 2004 Software Part of the Bachelor degree thesis,

University of T. Shevchenko, Kyiv, Ukraine

POLARIZATION DIFFERENCE IMAGING

Designed the Mueller Matrix Imaging Polarimeter for use in medical,

industrial and scientific applications.

Achieved about 5% error in the measurement of the Stockes vector spatial

distribution.

Performed mathematical numeric and symbolic computations.

Designed the special 2D case of the theory of polarization difference

measurement and error minimization related to the experimental setup.

Established optical equipment: He-Ne laser, video capture device,

polarizer, interferometers, photo-electronic multipliers.

Performed high level hardware design for custom video capture equipment,

data communication channels, motor control and optical sensors.

Provided implementation and integration of the software units written in

C++, C and Assembler.

Wrote video processing unit using Vfw and DirectShow backend.

Wrote the driver for the custom video capture device in assembly language.

EDUCATION

September 2004 - June 2008 (with interruption, one year effective)

Radiophysics and Electronics, Specialist Degree, University of T.

Shevchenko, Kyiv, Ukraine. Specialist's thesis is about modeling of the

electromagnetic field in 3D space by solving FDTD equations and writing

software application for windows that perform these calculations.

September 2000 - June 2004 Radiophysics and Electronics, Bachelor Degree,

University of T. Shevchenko, Kyiv, Ukraine. The specialization is quantum

electronics, bachelor's thesis is about automated measurement of the

polarization parameters of light in 2D coordinates and writing software for

devices involved in experimental setup.

September 1996 - June 2000 Automation of the industrial equipment and

operation of CNC equipment, non-university diploma, Technical professional

school, Kremenchuk, Ukraine.

Keywords: Live Effect, Realtime, Video, Cocoa Touch, AVFoundation, Core

Data, Quartz Core, Core Graphics, UIKit, Core Animation, iTunesConnect,

AppStore, iOS, iPhone, C++, Parse, Cloud, Core Image, JSON, Storyboard,

OpenGL, GPU Image, StackMob, Audio Session, Core Image, iCarousel, Jira

Miobile SDK, Crush reporting, symbolication, In-App, UI Automation, Soap,

JSON, Test Flight



Contact this candidate