Skip to content

Instantly share code, notes, and snippets.

@vvv
Created November 23, 2010 22:37
Show Gist options
  • Save vvv/712672 to your computer and use it in GitHub Desktop.
Save vvv/712672 to your computer and use it in GitHub Desktop.
cv-vvv_101124
[ This file was last modified on 24 November 2010. ]
Valery V. Vorotyntsev
Kiev, Ukraine
Phone: +380-<fifty>196-786<five>
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
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment