CV

Vsevolod Stakhov.

PERSONAL DETAILS

Address:  Moscow, Russia
Phone:  +7 916 852 xxxx
E-mail: vsevolod [at] highsecure [dot] ru

OBJECTIVE

A full-time position in software engineering. Primary focused in complex and high-load systems.

TECHNICAL SUMMARY
  • Programming languages:
    • C (about 11 years)
    • C++ (about 5 years)
    • Python (about 4 years)
    • Perl (3 years)
    • Lua (about 5 years)
    • Bourne shell
    • Erlang (about 1 year)
    • x86, avr and mips assemblers (about 1 year)

  • Operation systems:
    • FreeBSD (about 7 years)
    • NetBSD (about 3 years, last used 2 years ago)
    • Linux (about 8 years as secondary development platform)
    • Windows (about 5 years, mainly for integrating with unix services)

  • Technologies:
    • Network programming (about 8 years)
    • System administration (about 9 years)
    • Shell scripting/Makefiles
    • Network and system security
    • Web programming (python/perl/php)
    • Network optimization and traffic filtering
    • GPU programming (about 1 year)


EDUCATION
  • 2003 - 2009. Specialist degree (6 years).

Moscow State Technical University named after N.E. Bauman, Moscow, Russia,
Computer systems and networks.
Thesis: fast user's authentication system.
  • Designed and implemented secure and fast user's authorization system for sharing internet access.
  • Wrote network filtering system for protecting network from harmful actions using fast judy arrays and blooming for patterns detection.

EMPLOYMENT HISTORY

11/2010 Present

OnApp, http://www.onapp.com, London, UK

Position: Software developer

Projects:
  • CDN project infrastructure:
    • Developed PowerDNS plugin for advanced geolocation and weighted location (C++, boost, graphs)
  • Storage project internals (BIO layer in linux, designing effective network block devices).
  • Several internal projects.

08/2007 Present

Rambler, http://www.rambler.ru, Moscow, Russia

Position: Lead software developer

Projects:
  • Async DNS resolver for nginx (http://sysoev.ru) for smtp proxying
    • resolving of mail domains
    • filtering based on relay black lists (rbl)
    • filtering based on regexps (by smtp dialog data)
    • ability to process about 2000 messages in second

  • Milter for postfix (http://postfix.org) that implements clamav scanning, regexp matching,  dcc scanning and SPF checks)
    • implemented rmilter libmilter application that can perform various number of checks of incoming messages: https://www.milter.org/milter/71
    • written own memcached and beanstalk client libraries
    • written own upstreams library with stable hashing support (ketama alorithm)

  • Filter for nginx  (http://sysoev.ru) that parses Perl Storable container into human readable form
    • nginx filter module that can parse perl storable or json containers and dump it to http output

  • Antispam system rspamd (https://bitbucket.org/vstakhov/rspamd)
    • events driven anti-spam filtering system with many features, among them are:
      • regexp processing and regexp expressions optimizer
      • embeded lua support and lua modules
      • fuzzy hashing support with embed fuzzy storage (fast search using bloom filter)
      • extended statistics support (winnow and bayes algorithms support)
      • tokenizing text with OSB system, obtaining bigramms from text (more accurate than unigramms that are used in most anti-spam systems)
      • statistics synchronization system (master/slave like)
      • controller process for managing system's work
      • own spf parser
      • own DNS resolver
      • json settings and dynamic maps support

    • rspamd is about 10 times faster on the same rules than popular spamassassin filter

  • Various tasks for optimizing mail system
    • wrote http stress application for stress testing of http servers, that uses event-driven model for maximizing number of concurent connections to server
    • wrote pop3 fetching daemon (using beanstalk, mysql and own pop3 and imap4 libraries)
    • wrote daemon for checking user's potential friends (using imap4, beanstalk and mysql, written on erlang language).


08/2010 Present

Openwall projext, http://www.openwall.com, Remote job

Position: IT expert

Projects:
  • Optimizing drupal for hosting solutions
    • configured drupal to work with cached pages (AJAX statistics)

  • HA cluster based on pacemaker, heartbeat and DRBD
    • built experimental active/active configuration with nginx, apache, mysql cross-replication and drbd storage
    • built production active/passive cluster with nginx, apache, floating ip and mysql cross-replication (without drbd storage)

  • Wrote different scripts for hosting support

04/2004 04/2007
Jet Infosystems, http://www.jet.msk.su/, Moscow, Russia

Position: Programmer

Projects
  • Transparent bridge for Solaris "captun"
    • pcap and libnet application that bridges packets from one network to other
  • VPN system "Tropa":

    • integration with PKI RSA Keon (openssl, LDAP):
      • x509, asn.1 and other hacks of openssl code
      • solaris ldap client library support for fetching certificates

    • miscellaneous tuning for project
    • integration with Cisco PIX based on Solaris ipsec/isakmp
      • working with Solaris in.iked and with tunnel interfaces
      • adopting own VPN system to use cryptographic driver of Solaris instead own one



10/2003 10/2004
Technopark of innovations in science and education,
http://www.tehnopark.org/, Moscow, Russia

Position: System administrator

Tasks: organizing and maintaining LAN, organizing network monitoring,
configuring routing, performance tuning and security audit.

NON-PROFIT PROJECTS

The FreeBSD Project, http://www.FreeBSD.org/, vsevolod [at] FreeBSD [dot] org

I am FreeBSD ports committer. I worked on
Problem Reports connected with FreeBSD ports system and concentrated
on python and tcl ports as well as on ports MK system (bsd.database.mk,
bsd.tcl.mk, reworking of bsd.python.mk).

Small contributions to NetBSD project (pkgsrc-wip).

Network of BMSTU (http://www.bmstu.ru) student's hostels, http://www.icn.bmstu.ru

Position: chief system administrator, unix programmer

Tasks: writing various web applications for user's management, organizing jabber server, administering most of network services, organizing traffic filtering and QoS, creating mail system for BMSTU. This work was a part of my academic researches.

ADDITIONAL INFORMATION

Birth Year:              1986.
Birth Place:             Kirov, USSR.
Marital Status:        Married.
Citizenship:             Russian Federation.
Languages:             Russian native, English good.