[ This file was last modified on 24 November 2010. ] Valery V. Vorotyntsev Kiev, Ukraine Phone: +380-196-786 Email/IM: valery.vv@gmail.com WWW: http://github.com/vvv http://vorotylo.livejournal.com/ Linux programmer with experience in simulation and telecom software development. Bottom-up designer and merciless refactorer. Open source contributor (emacs-jabber, xmonad, cabal-install, iteratee, etc.). Author of `oci-wrappers', `work-log.el', `under.c'. Organizer of the first Ukrainian Haskell hackathon [1]. Specialties: shell, Python, C, C++, awk, make Familiar with: Haskell, SQL, Perl, Lisp, m4 What other people say --------------------- * From: Andrea Rossato Subject: documenting xmonad-0.5 > I think that an example of a good way of documenting a module can be > seen here: > > http://xmonad.org/xmonad-docs/xmonad-contrib/XMonad-Util-CustomKeys.html > > I suggest to use it as a model. [http://thread.gmane.org/gmane.comp.lang.haskell.xmonad/3327] * From: Sigbjorn Finne Subject: Re: [patch] #562: cabal-install update fails going through a HTTP proxy > nice one -- sterling work chasing this one down and providing a > suggested fix :) [http://www.haskell.org/pipermail/cabal-devel/2009-November/005787.html] Education --------- * National Technical University of Ukraine ("Kiev Polytechnic Institute") [1993 - 1999] Engineer-electrician, Avionics (diploma with honor) * Nature and Science Lyceum ("Physics and Mathematics School #145") [1990 - 1993] Distinguished by mathematical skills (award) Work experience --------------- * `Infopulse' (IT outsourcing company) [June 2006 - now] Senior programmer; consultant at `MTS-Ukraine' (mobile operator) ** Telecom data processing software development and maintenance Mediation system - a.k.a. `Preprocessing' - consists of chained modules that transform data files (CDRs) and update database statistics. Data formats: DER (ASN.1), custom binaries, DSV, plain text PL: C++, Python, PL/SQL, shell, awk DB: Oracle, SQLite Contributions: - unit tests - co-designed and implemented the ``Type of Subscriber determination algorithm'' [2], which is now part of most preprocessing modules and is used by provisioning system - developed `oci-wrappers' library [3] - refactored and optimized DB caching code - implemented library of m4 macros that simplify Zwiki pages creation [4] - extracted core functionality of preprocessing modules into Python library [5]. Data format specific modules describe data conversions [6] and import the library, which does most of the job - rewrote record-counting utility, significantly reducing code size and improving readability [7] - refactoring, refactoring, refactoring... - DER files codec [10] * `ETC PT' (NPP personnel training) [Mar 1999 - May 2006] Leading expert [Nov 2004 - May 2006] ** Zaporizhzhya NPP Full-Scope Simulator, warranty period [Jul 2005 - Mar 2006] - Developed logging and report generation system -- a collection of CLI utilities (written in Python and C), being controlled with web browser UI (an HTTP server, inspired by Trac [8]; programmed in Python). - Configured PPP connection between simulator's LAN (Energodar) and engineering HQ (Kiev). His initiative has greatly improved the quality of work of engineers, giving them a possibility to perform simulator maintenance remotely. ** Analytical Simulator for Sevastopol Institute of Nuclear Energy [Jul 2005 - Mar 2006] Wrote a program to generate data views from text descriptions. `Data Views' are custom binary files [9], processed by Instructor Station software. These files encode visual layout and data sources of graphical objects, updated when a simulator is running. His Python program used C extensions (to libdv.so). It also generated Fortran code to "enrich" data sources. Software engineer [Mar 1999 - Nov 2004] ** ZapNPP FSS, `Plant Process Computer' system [Mar 2003 - Nov 2004] Maintained information display system -- a simulation of actual plant equipment. System consisted of 13 Linux boxes, 2 terminal servers, custom keyboards and a printer. - Ported legacy C code from SGI IRIX to Linux. - Programmed new subsystem (learning C++ and XP methodologies meanwhile). - Helped mathematical model engineers to debug their executables (Fortran, assembly). The system grew from OS installation to the final acceptance. Being used for NPP personnel training, it is still in operation. Software involves: networking, X11, SysV IPC, DB. PL: C, C++, Python, shell. ** pre-Linux ``Dark Ages'' [Mar 1999 - Mar 2003] Visual Basic & VBA: - DB applications (MS Access), - CAD automation (Autodesk AutoCAD, Mechanical Desktop), - VBA scripts for MS Excel and Word, - SQL batch runners (DB migration: Ingres to Access). Current project --------------- * Iteratee-based DER files decoder/encoder. [10] * * * Acronyms -------- ASN.1 Abstract Syntax Notation One DER Distinguished Encoding Rules CDR Call Detail Record CLI command-line interface DB database(s) DSV delimiter-separated values ETC PT Engineering & Technical Center for Personnel Training FSS full-scope simulator HQ headquarters NP nuclear power NPP Nuclear Power Plant PL programming language(s) PPP Point-to-Point Protocol UI user interface XP Extreme Programming References ---------- [1] http://www.haskell.org/haskellwiki/LtU-Kiev/Hackathon [2] code-samples/python/tos [3] http://sourceforge.net/projects/oci-wrappers [4] code-samples/m4 [5] code-samples/python/prepy.pak [6] code-samples/python/sdp [7] see comparison table in code-samples/c/NEWS [8] http://trac.edgewall.org/ [9] http://www.infornet.co.kr/sw_dv3.html [10] http://github.com/vvv/under.c