Open Source

I'm not a huge open source fan as I could be. But still I made a couple of tools & apps which I am proud of and which I support. This is a list of open source products which were made or forked and supported by me. Most of them are located on my Github and are written in Javascript.

SkladJavascriptIndexedDBHTML5

This is an IndexedDB abstraction library. IndexedDB is HTML5 standard for a local database of records holding simple values and hierarchical objects. Sklad library allows you to build apps for modern browsers with IndexedDB in a simple and convenient way.It also has a nice documentation available on Github and on the project page.

gulp-order-bemdepsJavascriptgulppluginES6

Gulp plugin which reorders a stream of files using deps.js files contents. Deps.js files are used in BEM file structure to declare dependencies between different components. Supports circular dependencies, written in ES6, fully covered with tests.

gulp-bem-projectJavascriptgulppluginES6

Gulp plugins for modern BEM projects. Concatenates BH templates, builds ymodules, resolves relative paths inside BEM file structures. Written in ES6, fully covered with tests.

kinopromiseJavascriptnode.jsES6

Promises extension which allows passing object as an argument to Promise.all(...) static method.

Listen!Javascriptgoogle-chrome-app

Cloud music player for Google Chrome (packaged app), which can search & play music from VK social network, and save it in the Google Drive cloud for further offline playing. Supports LastFM scrobbling, information retrieving etc.

node-couchdbJavascriptnode.jsCouchDB

node.js package to interact with CouchDB using ETags and your own cache layer (memcached, fs, memory, etc). After monthes of catching errors when using memcached/memcache NPM libraries I decided that it would be easier to make some kind of caching API for node-couchdb and it turned to be a good idea then. This library has a pretty simple API, tests and docs.

VK OfflineJavascriptgoogle-chrome-extensions

Quiet popular legacy packaged app for Google Chrome which had been developing by me until April 2013. Unfortunately a bit complicated code because of supporting many chrome versions, speed of development and lack of testing. There's a good page about its features written in Russian and a full explanation of reasons which made me release it as an open source software.

DOM FuturesJavascriptPromises

DOM Promises for browsers and node.js. Acts like a polyfill in browsers without support for DOM Promises, and NPM package for node.js applications.

Control FreakJavascriptgoogle-chrome-extensions

A maintained fork of Michael Mahemoff's extension which allows easy web page tweaks, similar to GreaseMonkey in spirit. In June 2013 Michael transfered the extension to me in Chrome Web Store bacause of the lack of time for developing, and it took about 2 weeks to add new features, turn to new asynchronous API and so on.

CouchDB for PHPPHPCouchDB

PHP package to interact with CouchDB using Memcached as a cache layer. It also has a nice API and docs which explain the necessity of a cache layer. Pretty simple and understandable code.

I also made contributions to escodegen (support for some ES6 and specific Firefox features), webdriverio (requests retries for flaky network requests), mocha-parallel-tests (bunch of tests and max parallel tests option), connect-mongo (support for MongoDB 3.x) and others.