Teodor Sigaev
I was born in 1973, finished school N542 of MEPhI in Moscow, graduated from physical department of Moscow State University (MSU). My photos.
Employment history:
- 2005 freelancer
- 2003-2005 Delta-Soft LLC, core programmer
- 2001-2003 Stack Group, develop Internet-wide search engine, develop client-side databases, web-programming
- 2000-2001 Rambler, manage and develop content managing system (CMS)
- 1995-1999 Machaon Group, web-programmer
I took part in following projects:
My projects:
My utilities (all under BSD-like license):
- tedtools (download by GIT only) - collection of useful parts of code:
- primitive useful wrappers libc's functions, such as *alloc, strdup, shm*, upper and lower string etc
- bulk memory operation (for fast allocate big number of small pieces of memory and free it by one call)
- simple log function (can write formatted log to syslog and file)
- non-blocking TCP and UDP connection for server and clients
- parser for strings like 'key=val, key1="val1"'
- INF-file parser
- subset of regex (much more faster than regex(3))
- in-memory suffix tree with various access functions (including exact, prefix and range search)
- easy times measuring funcs
- strtox, atox, xtostr - fast in/out for HEX numbers
- partial sort, it sorts only first M from N (N>M) entries
- startup wrapper which kills after timeout for any program
- flatdb - simple storage in one file with free space management
- tbtree - simple realization of B-tree. Features and limitations:
- 8Tb maximum storage size
- Support keys with fixed and variable length
- Values has variable length
- Sum of lengths of key and value should be less than half-page (4092 bytes)
- Different strategy for spliting page while insert: half-fill (default), left-fill and right-fill. Useful for inserting sorted data.
- Iterate all key-values pairs.
- Page cache
- Transactions aren't supported
- glist - double linked abstract list implementation
- template - HTML template engine. Documentation is inside header file: template.h
Note: after gmake type 'gmake test' for checking
- remotetop (GIT only) - remote top program to collect on server loads from several others. Use UDP messaging.
Note 1: FreeBSD and Linux only
Note 2: tedtools is required
- clrlibru (GIT only) - utility for cleanup texts on lib.ru to use it with Haali Reader on Pocket PC
- xgalaxy (GIT only) - Gravity modeling software for N-boby system. The aim of this program was just to have a look at GTK toolkit :).
Note: tedtools is required
- hstore (GIT only) - contrib module of PostgreSQL for storing (key,value) pairs similar to Perl's hash. Unlike to original hstore this module supports nested structures and types. PostgreSQL 9.3+. README
- Gevel (GIT only) - contrib module for PostgreSQL 8.1+ provides several functions useful for analyzing GiST index
- ftsbench (GIT only) - full-text search benchmark for RDBMS (currently PgSQL and MySQL), README
- hclip (GIT only) - Simple clipboard history application that keeps history of clipboard
operations. Requires GTK-2. README
- wildspeed (GIT only) - fast wildcard search for LIKE operator for
PostgreSQL 8.4+ README
- plantuner (GIT only) - module can "hide" pointed indexes from planner, for PostgreSQL 8.4+ README
- online_analyze (GIT only) - module makes an analyze call immediately after INSERT/UPDATE/DELETE/SELECT INTO for affected table(s) for PostgreSQL 8.4+ README
- smlar (GIT only) - calculates similarity of arrays for PostgreSQL 9.1+ README
- trinketd (GIT only) - driver and collecting tool for Atom Pro/Atom mini
2 README
General notes:
- Sorry, code isn't well documented, but I hope it's easy to understand how to use it.
- All code was probed on FreeBSD 5.3-9.0
- How to access to GIT:
git clone git://sigaev.ru/MODULE
- GITWeb interface
Links:
My e-mail address: teodor@sigaev.ru