Vadim Vinnik

Lead Developer, SolarWinds, Kyiv-Minsk, Ukraine-Belarus

Ph.D, 10 years of academic experience: lectures about programming for students, including Kiev National Taras Shevchenko University. 10+ years in software development (mainly in C++ and C#), focusing on data backup and restore.
Vadim is an author of books "Algorithmic Languages and Basics of Programming: C language" and "Basics of Object-Oriented Programming in C++", as well as 29 publications in theory ofprogramming; translated into Russian "Principles of Object-oriented Software Development" by Anton Eliens and "Unifying Theories of Programming" by C.A.R.Hoare and He Jifeng.
Now: technical lead developer at SolarWinds, develops a project in network security area.
Interested in programming: C++ and functional languages (especially Haskell).

Reports

Etudes on bufferisation: asynchronous notifications, replication of shared data updates, collation of pending requests [Russian]

2019 Autumn

Practical application development can lead to a task that appear to be general enough to extract an abstraction that is potentially useful for multiple applications. Bringing the solution to the …

More

Collection processing inside out: applying many functions to a single argument [Russian]

2019 Spring

Modern C++ is increasingly influenced by concepts and approaches taken from functional programming paradigm. This talk presents an example of a typically functional solution applicable to a pretty wide class …

More

Processing sequences in C++ in functional style: from recursion to hylomorphism [Russian]

2018 Autumn

C++ language, having undergone a long evolution, has acquired a number of features specific to the functional paradigm: functions became first-class objects that can be operated on, and template instrumentation …

More

Collection processing. Single essence, multiple manifestations [English]

2018 Spring

Along the whole history of programming, sequential elementwise processing of various kinds of collections has been and still is one of the most common practical tasks. Internal representation of the …

More

Workshops

Compile-time computations and metaprogramming [Russian]

2020 Spring

- Expression categories: how not to get lost in (g?l|p?r|x)value; - Move semantics and its alternatives (RVO, CoW); - Function specializations for short-living objects; - Compile-time computations with constexpr; - …

More

Programming in C++ 11, 14, 17 in a right way: STL and language features [Russian]

2018 Spring

Язык C++ меняется на глазах. Для часто возникающих на практике задач, ранее требовавших от программиста особых ухищрений, вводятся ясные и лаконичные средства либо в сам язык, либо стандартную библиотеку, или …

More

What is used daily in C++ but still unfamiliar: rvalue references, std::move, copy elision and more [Russian]

2019 Autumn

- Template parameter and auto type inference. - Auto refenerces and passing arguments into a function. - Expression categories: (gl|r|l|x|pr)-values. - When are constructors get called and when do not. …

More