New Substring Search Algorithm

Substring search speed comparison (vs Boyer-Moore algorithm)

Described new online substring search algorithm which allows faster string traversal. Presented here implementation is substantially faster than any other online substring search algorithms for average case.

RO - Range Operators

RO is C++ headers only library, which provides alternative interface to STL and map/reduce/filter expressions with STL containers

C++ logo

RO - Range Operators

SCC - Simplified CC

C++ logo

C++ snippet REPL (read-eval-print loop) with AWK features.

LOPTI

Visualization with xgraphics

LOPTI is mathematical optimization C++ library. There are three major parts. 1st and main part is solver-driver which either wraps external solver or uses LOPTI native solvers and presents to library user consistent and simple optimization API.

2nd part is collection of solvers. Currently 4 solvers are included (or supported): NEWUOA, CONDOR, Nelder-Mead (simplex) and Hook-Jeevs. All these solvers are derivative free and have open source (GPL or BSD like) licences. Some of them (Condor) are unchanged and treated as black-box. Some of them (NEWUOA - fortran source) went through heavy modification to interface with LOPTI. And other (Hook-Jeevs) were completely rewritten into LOPTI native solver.

Though I am primarily interested in derivative-free, unconstrained solvers for expensive objective, LOPTI inherently not limited to these methods and in future there might be other types of solvers and constraints interface. Also I am developing my own solver, preliminary results are very promising, stay tuned.

3rd part is collection of object function and object function modifiers.

GIT-Prompt

git module demo

Bash prompt with extended information for GIT. Quote from official github blog where I was featured as github "Hardcore Forker of the Week":

“He took the idea behind putting your branch name in your prompt to a whole new level. This script allows you to track branches, the modified state of files that you’re working on, and can even show if your HEAD is detached. Who needs git-status when bash can just tell you everything?”

SVN and HG are also supported.

LVVLIB

Initially collection of C++ headers that I used in my projects. LVV are my initials (Leonid V. Volnitsky). Needs some cleanup, dependency pruning and documentation.

MPLW

The MPLW is Matplotlib (MPL) wrapper, which can work as AsciiDoc filter. Using this filter you can generate plots from inline matplotlib scripts.

libCGM

nasa.cgm

2D rendering library, which can render CGM files. This is my freelance work. Not open source. See how LIBCGM stack up against other CGM viewers