Dmitry Omelechko

Total Page:16

File Type:pdf, Size:1020Kb

Dmitry Omelechko Dmitry Omelechko E-mail : [email protected] Phone : skype: dvarkin8 Address: Olevska 3 В, Kyiv, Ukraine Objective I have a more than 15 years of experience in IT industry, and I was involved in design and development of several long- term reliable, scalable and high-load platforms and applications, which gave me solid experience of software design. More than 10 years, I prefer functional programming and I have strong understanding of concurrent, scaled and parallel approaches. I'm good team player with strong self-motivation. I always do my best to build great solution for customers needs. Qualifications Programming Languages. Erlang/OTP Elixir/LFE (pet projects) Clojure / ClojureScript Python LISP (Alegro, SBCL) Perl C Data Science Recommendation Systems. DBMS PostgreSQL / EnterpriseDB / GreenPlum (PL/pgSQL, PL/Python). Riak MongoDB RethinkDB Cassandra Datomic KDB+ (pet) Hazelcast / Aerospike Redis / Memcache Application Servers and Frameworks Cowboy / Mochiweb / Ring / Runch Nginx / Apache / Haproxy RabbitMQ / 0mq / Kafka Storm / Samza Django/web.py/TurboGears/Plone/Zope Dmitry Omelechko 1 Histrix Riak / Redux / GraphQL / Om Next Ejabberd Erlyvideo / Flussonic AWS / Google Cloud / Heroku Networks OSPF/BGP/DNS/DHCP, VPNs, IPSec, Software Farewalls (Iptables, PF). Cisco/Extreme networks/Juniper routers and commutators. Clouds Google Cloud Amazon Cloud and AWS Heroku Operating Systems Ubuntu / Gentoo / Slackware OpenBSD Development Tools Emacs / Vim / IntelliJ Idea. git / svn / cvs Rebars / Erlang.mk / Leiningen EUnit / Common Test / Proper / Tsung Ansible / Terraform Methodologies Scrum / Kanban / TDD Work experience SBTech mar 2016 — present Tech Lead Data Science, Bets Recommendation System, User profiling system. Bet Engines sep 2015 — mar 2016 CTO Own startup. System for calculation huge Mathematical models in Excel. Provide fast integration of odds generation models into the sportsbook platforms. System for Settlement calculations written in Excel. Written at Clojure/Java stack. Favbet (www.favbet.com) December 2010 — sep 2015 Tech Lead Distributed bets settlement system based on Erlang/OTP and Actor Model. DSL for programming Bet Types and settlement. Scalable Video streaming system. Dmitry Omelechko 2 Converts satellite TV and Internet channels to RTMP streams and distribute them to shops and web site. Central management of all video streams. Erlang/Erlyvideo. Real-time content delivery system based on XHR pooling and Websockets with horizontal scale (Live/Bookie interface/Call centre chat etc..). Erlang/Cowboy System for calculation huge Mathematical models in Excel (CSP). Clojure/Apache POI Integrate Hystrix micro services architecture. Clojure. Made real-time sports feed based on Kafka. Clojure CI. Docker and Ansible . zerobroadcast March 2009 — December 2010 Team Lead Developed Broadcast system for TV. Based on Erlyvideo video streaming server. Main goal is transcode from/to 400 RTMP/H264 streams <-> SDI with minimum latency (< 2 s), and good quality (same as satellite). It was used on presidential election in 2010 in first. 3S.tv August 2009 — November 2010 Team Lead Erlang. Made cluster for TV Show from more then 100 nodes for voting system of most popular politician TV show in Ukraine - "Shuster Live". Integrate it with VisART visualisation system. Facebook API. Integrate Facebook users to LIVE show. https://www.youtube.com/watch?v=n4SMIvLpWio 8th TV channel March 2009 — August 2009 Team Lead First in Ukraine Internet TV channel. Python. Made Highload web (Django) portal without Django ORM (my blog articles about this (Russian)). http://dvarkin.blogspot.com/2009/07/django-orm.html, http://dvarkin.blogspot.com/2010/02/django-orm- 1.html, http://dvarkin.blogspot.com/2010/03/django-orm-2.html. Integrate Skytools for PostgreSQL (PL/Proxy, PL/PgSQL). ATMNIS November 2006 — March 2009 Developer Python. Made WEB GUI for secure WIFI routers based on OpenBSD OS (likes to OpenWRT). Made conception of WiFi roaming with OpenBSD (OSPF and Hostapd). My article on OpenKyiv OpenBSD conference (Russian) https://drive.google.com/file/d/0B4MAHgxC-2ShR3M4NFFPSm9FUWs/view? usp=sharing, https://drive.google.com/file/d/0B4MAHgxC-2ShWkZwUTNKUFcycWM/view?usp=sharing Did national secure expertise of OpenBSD 4.2 for ability to use it in government organizations. Sunline ISP April 2006 — November 2006 CTO Built ISP from scratch Networks: OpenBSD, CISCO, Routing, Network Security, Extreme Networks, CARP. Python: Django, PostgreSQL, Netflow. Developed Billing system. Security Service of Ukraine June 2002 — April 2006 Developer Secure mail system project. Dmitry Omelechko 3 Secure mail system project. National PKI system. acceptance into operation. Provide expertise and integration some crypto systems for Ukrainian embassy and MFA. Education Master of information security. September 1997 — June 2002 National Technical University of Ukraine &quot;KPI&quot; Diploma with honours Interests Play Guitar, Reading, Snowboarding. Cycling, Jogging. References Mr. Dmitry Omelechko Email: [email protected] skype: dvarkin8 Dmitry Omelechko 4.
Recommended publications
  • Declarative Languages for Big Streaming Data a Database Perspective
    Tutorial Declarative Languages for Big Streaming Data A database Perspective Riccardo Tommasini Sherif Sakr University of Tartu Unversity of Tartu [email protected] [email protected] Emanuele Della Valle Hojjat Jafarpour Politecnico di Milano Confluent Inc. [email protected] [email protected] ABSTRACT sources and are pushed asynchronously to servers which are The Big Data movement proposes data streaming systems to responsible for processing them [13]. tame velocity and to enable reactive decision making. However, To facilitate the adoption, initially, most of the big stream approaching such systems is still too complex due to the paradigm processing systems provided their users with a set of API for shift they require, i.e., moving from scalable batch processing to implementing their applications. However, recently, the need for continuous data analysis and pattern detection. declarative stream processing languages has emerged to simplify Recently, declarative Languages are playing a crucial role in common coding tasks; making code more readable and main- fostering the adoption of Stream Processing solutions. In partic- tainable, and fostering the development of more complex appli- ular, several key players introduce SQL extensions for stream cations. Thus, Big Data frameworks (e.g., Flink [9], Spark [3], 1 processing. These new languages are currently playing a cen- Kafka Streams , and Storm [19]) are starting to develop their 2 3 4 tral role in fostering the stream processing paradigm shift. In own SQL-like approaches (e.g., Flink SQL , Beam SQL , KSQL ) this tutorial, we give an overview of the various languages for to declaratively tame data velocity. declarative querying interfaces big streaming data.
    [Show full text]
  • Fully Eliminated the Language Barrier and Enable Ease of Communication Through This Application
    IOSR Journal of Computer Engineering (IOSR-JCE) e-ISSN: 2278-0661, p- ISSN: 2278-8727Volume 16, Issue 2, Ver. XI (Mar-Apr. 2014), PP 113-119 www.iosrjournals.org Alltalk™- A Windows Phone Messenger with Cross Language Communication Shruti Shetye1, Akhil Abraham2, Royston Pinto3, Sonali Vaidya4 1(BE-IT Student, Information Technology, St. FrancisInstitute of Technology, India) 2(BE-IT Student, Information Technology, St. Francis Institute of Technology, India) 3(BE-IT Student, Information Technology, St. Francis Institute of Technology, India 4(Lecturer, Information Technology, St. Francis Institute of Technology, India) __________________________________________________________________________________ Abstract:In day to day life, messengers or chatting applications provide facility for instant messaging over the internet. Exchange of messages takes place in universally used languages like English, French, etc. where both the users know how to communicate in a common language. Thus chatting on mobile phones is a luxury when both the parties involved know a common language. Hence we have implemented ALLTALK™ which is a Windows 8 phone based chatting application which makes cross language communication possible using mobile programming and networking technology.This application will enable the communication between two persons irrespective of the language each user wishes to use individually. The various modes of communication available in this messenger are through text and voice. Due to the best processing power provided among the available smartphones and high battery life we choose to work on windows 8 platform. Thus we have successfully eliminated the language barrier and enable ease of communication through this application. Keywords: Cross Language communication, instant messenger, socket connection, translator,Windows phone app.
    [Show full text]
  • TLS in the Wild: an Internet-Wide Analysis of TLS-Based Protocols for Electronic Communication
    TLS in the wild: An Internet-wide analysis of TLS-based protocols for electronic communication Ralph Holz∗, Johanna Amannz, Olivier Mehaniy, Matthias Wachsx, Mohamed Ali Kaafary ∗University of Sydney, Australia, Email: [email protected] yData61/CSIRO, Sydney, Australia, Email: [email protected] zICSI, Berkeley, USA, Email: [email protected] xTechnical University of Munich, Germany, Email: [email protected] This is a preprint of the camera-ready version to appear at NDSS 2016. Last update: 19 Dec 2015. Abstract—Email and chat still constitute the majority of in 2018 [11]. As for chat, the most widely used standard- electronic communication on the Internet. The standardisation based networks are IRC group chats and the XMPP instant and acceptance of protocols such as SMTP, IMAP, POP3, XMPP, messaging and multi-user conferencing network. and IRC has allowed to deploy servers for email and chat in a decentralised and interoperable fashion. These protocols can be In their early days, email protocols such as SMTP, POP3, secured by providing encryption with TLS—directly or via the and IMAP were designed with no special focus on security. STARTTLS extension. X.509 PKIs and ad hoc methods can be In particular, authentication in SMTP was introduced a while leveraged to authenticate communication peers. However, secure after the protocol’s standardisation, initially as a way to configuration is not straight-forward and many combinations fight spam. User agents started to move towards encryption of encryption and authentication mechanisms lead to insecure deployments and potentially compromise of data in transit. In and authenticated connections gradually, using the then-new this paper, we present the largest study to date that investigates SSL 3 and later the TLS protocols to protect the transport the security of our email and chat infrastructures.
    [Show full text]
  • Kodai: a Software Architecture and Implementation for Segmentation
    University of Rhode Island DigitalCommons@URI Open Access Master's Theses 2017 Kodai: A Software Architecture and Implementation for Segmentation Rick Rejeleene University of Rhode Island, [email protected] Follow this and additional works at: https://digitalcommons.uri.edu/theses Recommended Citation Rejeleene, Rick, "Kodai: A Software Architecture and Implementation for Segmentation" (2017). Open Access Master's Theses. Paper 1107. https://digitalcommons.uri.edu/theses/1107 This Thesis is brought to you for free and open access by DigitalCommons@URI. It has been accepted for inclusion in Open Access Master's Theses by an authorized administrator of DigitalCommons@URI. For more information, please contact [email protected]. KODAI: A SOFTWARE ARCHITECTURE AND IMPLEMENTATION FOR SEGMENTATION BY RICK REJELEENE A THESIS SUBMITTED IN PARTIAL FULFILLMENT OF THE REQUIREMENTS OF MASTER OF SCIENCE IN COMPUTER SCIENCE UNIVERSITY OF RHODE ISLAND 2017 MASTER OF SCIENCE THESIS OF RICK REJELEENE APPROVED: Thesis Committee: Major Professor: Joan Peckham Lisa DiPippo Ruby Dholakia Nasser H Zawia DEAN OF GRADUATE COMMITTEE UNIVERSITY OF RHODE ISLAND 2017 ABSTRACT The purpose of this thesis is to design and implement a software architecture for segmen- tation models to improve revenues for a supermarket. This tool supports analysis of su- permarket products and generates results to interpret consumer behavior, to give busi- nesses deeper insights into targeted consumer markets. The software design developed is named as Kodai. Kodai is horizontally reusable and can be adapted across various indus- tries. This software framework allows testing a hypothesis to address the problem of in- creasing revenues in supermarkets. Kodai has several advantages, such as analyzing and visualizing data, and as a result, businesses can make better decisions.
    [Show full text]
  • DARPA and Data: a Portfolio Overview
    DARPA and Data: A Portfolio Overview William C. Regli Special Assistant to the Director Defense Advanced Research Projects Agency Brian Pierce Director Information Innovation Office Defense Advanced Research Projects Agency Fall 2017 Distribution Statement “A” (Approved for Public Release, Distribution Unlimited) 1 DARPA Dreams of Data • Investments over the past decade span multiple DARPA Offices and PMs • Information Innovation (I2O): Software Systems, AI, Data Analytics • Defense Sciences (DSO): Domain-driven problems (chemistry, social science, materials science, engineering design) • Microsystems Technology (MTO): New hardware to support these processes (neuromorphic processor, graph processor, learning systems) • Products include DARPA Program testbeds, data and software • The DARPA Open Catalog • Testbeds include those in big data, cyber-defense, engineering design, synthetic bio, machine reading, among others • Multiple layers and qualities of data are important • Important for reproducibility; important as fuel for future DARPA programs • Beyond public data to include “raw” data, process/workflow data • Data does not need to be organized to be useful or valuable • Software tools are getting better eXponentially, ”raw” data can be processed • Changing the economics (Forensic Data Curation) • Its about optimizing allocation of attention in human-machine teams Distribution Statement “A” (Approved for Public Release, Distribution Unlimited) 2 Working toward Wisdom Wisdom: sound judgment - governance Abstraction Wisdom (also Understanding:
    [Show full text]
  • Bigchaindb Server Documentation Release 1.2.0
    BigchainDB Server Documentation Release 1.2.0 BigchainDB Contributors Nov 13, 2017 Contents 1 Introduction 1 2 Quickstart 3 3 Production Nodes 5 4 Clusters 13 5 Production Deployment Template 15 6 Develop & Test BigchainDB Server 65 7 Settings & CLI 73 8 The HTTP Client-Server API 85 9 The Events API 103 10 Drivers & Tools 107 11 Data Models 109 12 Transaction Schema 117 13 Vote Schema 121 14 Release Notes 123 15 Appendices 125 Python Module Index 169 HTTP Routing Table 171 i ii CHAPTER 1 Introduction This is the documentation for BigchainDB Server, the BigchainDB software that one runs on servers (but not on clients). If you want to use BigchainDB Server, then you should first understand what BigchainDB is, plus some of the spe- cialized BigchaindB terminology. You can read about that in the overall BigchainDB project documentation. Note that there are a few kinds of nodes: •A dev/test node is a node created by a developer working on BigchainDB Server, e.g. for testing new or changed code. A dev/test node is typically run on the developer’s local machine. •A bare-bones node is a node deployed in the cloud, either as part of a testing cluster or as a starting point before upgrading the node to be production-ready. •A production node is a node that is part of a consortium’s BigchainDB cluster. A production node has the most components and requirements. 1.1 Setup Instructions for Various Cases • Quickstart • Set up a local BigchainDB node for development, experimenting and testing • Set up and run a BigchainDB cluster There are some old RethinkDB-based deployment instructions as well: • Deploy a bare-bones RethinkDB-based node on Azure • Deploy a RethinkDB-based testing cluster on AWS Instructions for setting up a client will be provided once there’s a public test net.
    [Show full text]
  • STORM: Refinement Types for Secure Web Applications
    STORM: Refinement Types for Secure Web Applications Nico Lehmann Rose Kunkel Jordan Brown Jean Yang UC San Diego UC San Diego Independent Akita Software Niki Vazou Nadia Polikarpova Deian Stefan Ranjit Jhala IMDEA Software Institute UC San Diego UC San Diego UC San Diego Abstract Centralizing policy specification is not a new idea. Several We present STORM, a web framework that allows developers web frameworks (e.g., HAILS [4], JACQUELINE [5], and to build MVC applications with compile-time enforcement of LWEB [6]) already do this. These frameworks, however, have centrally specified data-dependent security policies. STORM two shortcomings that have hindered their adoption. First, ensures security using a Security Typed ORM that refines the they enforce policies at run-time, typically using dynamic (type) abstractions of each layer of the MVC API with logical information flow control (IFC). While dynamic enforcement assertions that describe the data produced and consumed by is better than no enforcement, dynamic IFC imposes a high the underlying operation and the users allowed access to that performance overhead, since the system must be modified to data. To evaluate the security guarantees of STORM, we build a track the provenance of data and restrict where it is allowed formally verified reference implementation using the Labeled to flow. More importantly, certain policy violations are only IO (LIO) IFC framework. We present case studies and end-to- discovered once the system is deployed, at which point they end applications that show how STORM lets developers specify may be difficult or expensive to fix, e.g., on applications diverse policies while centralizing the trusted code to under 1% running on IoT devices [7].
    [Show full text]
  • FOSS Philosophy 6 the FOSS Development Method 7
    1 Published by the United Nations Development Programme’s Asia-Pacific Development Information Programme (UNDP-APDIP) Kuala Lumpur, Malaysia www.apdip.net Email: [email protected] © UNDP-APDIP 2004 The material in this book may be reproduced, republished and incorporated into further works provided acknowledgement is given to UNDP-APDIP. For full details on the license governing this publication, please see the relevant Annex. ISBN: 983-3094-00-7 Design, layout and cover illustrations by: Rezonanze www.rezonanze.com PREFACE 6 INTRODUCTION 6 What is Free/Open Source Software? 6 The FOSS philosophy 6 The FOSS development method 7 What is the history of FOSS? 8 A Brief History of Free/Open Source Software Movement 8 WHY FOSS? 10 Is FOSS free? 10 How large are the savings from FOSS? 10 Direct Cost Savings - An Example 11 What are the benefits of using FOSS? 12 Security 13 Reliability/Stability 14 Open standards and vendor independence 14 Reduced reliance on imports 15 Developing local software capacity 15 Piracy, IPR, and the WTO 16 Localization 16 What are the shortcomings of FOSS? 17 Lack of business applications 17 Interoperability with proprietary systems 17 Documentation and “polish” 18 FOSS SUCCESS STORIES 19 What are governments doing with FOSS? 19 Europe 19 Americas 20 Brazil 21 Asia Pacific 22 Other Regions 24 What are some successful FOSS projects? 25 BIND (DNS Server) 25 Apache (Web Server) 25 Sendmail (Email Server) 25 OpenSSH (Secure Network Administration Tool) 26 Open Office (Office Productivity Suite) 26 LINUX 27 What is Linux?
    [Show full text]
  • A User Study of Off-The-Record Messaging
    A User Study of Off-the-Record Messaging Ryan Stedman Kayo Yoshida Ian Goldberg University of Waterloo 200 University Avenue West Waterloo, Ontario, Canada N2L 3G1 {rstedman@cs, k2yoshid@math, iang@cs}.uwaterloo.ca ABSTRACT Keywords Instant messaging is a prevalent form of communication ac- OTR, Usable Security, Instant Messaging, Think Aloud ross the Internet, yet most instant messaging services pro- vide little security against eavesdroppers or impersonators. 1. INTRODUCTION There are a variety of existing systems that aim to solve There has been much research into creating privacy-en- this problem, but the one that provides the highest level hancing technologies, especially since the Internet has started of privacy is Off-the-Record Messaging (OTR), which aims to play an essential role in everyday life. However, not many to give instant messaging conversations the level of privacy of these technologies have seen widespread adoption. One available in a face-to-face conversation. In the most recent of the reasons for this is that many of these technologies redesign of OTR, as well as increasing the security of the provide insufficient usability [8]. protocol, one of the goals of the designers was to make OTR The process of evaluating and enhancing usability is im- easier to use, without users needing to understand details of portant in order for a privacy-enhancing technology to pro- computer security such as keys or fingerprints. vide benefits to ordinary users. Since privacy is not just To determine if this design goal has been met, we con- intended for computer scientists or cryptographers, but for ducted a user study of the OTR plugin for the Pidgin in- everyone, these technologies should be accessible to the gen- stant messaging client using the think aloud method.
    [Show full text]
  • Multimedia Systems
    MVC Design Pattern Introduction to MVC and compare it with others Gholamhossein Tavasoli @ ZNU Separation of Concerns o All these methods do only one thing “Separation of Concerns” or “Layered Architecture” but in their own way. o All these concepts are pretty old, like idea of MVC was tossed in 1970s. o All these patterns forces a separation of concerns, it means domain model and controller logic are decoupled from user interface (view). As a result maintenance and testing of the application become simpler and easier. MVC Pattern Architecture o MVC stands for Model-View-Controller Explanation of Modules: Model o The Model represents a set of classes that describe the business logic i.e. business model as well as data access operations i.e. data model. o It also defines business rules for data means how the data can be created, sotored, changed and manipulated. Explanation of Modules: View o The View represents the UI components like CSS, jQuery, HTML etc. o It is only responsible for displaying the data that is received from the controller as the result. o This also transforms the model(s) into UI. o Views can be nested Explanation of Modules: Controller o The Controller is responsible to process incoming requests. o It receives input from users via the View, then process the user's data with the help of Model and passing the results back to the View. o Typically, it acts as the coordinator between the View and the Model. o There is One-to-Many relationship between Controller and View, means one controller can handle many views.
    [Show full text]
  • Package 'Rethinker'
    Package ‘rethinker’ November 13, 2017 Type Package Title RethinkDB Client Version 1.1.0 Author Miron B. Kursa Maintainer Miron B. Kursa <[email protected]> Description Simple, native 'RethinkDB' client. URL https://github.com/mbq/rethinker Suggests testthat Imports rjson License GPL-3 RoxygenNote 6.0.1 NeedsCompilation no Repository CRAN Date/Publication 2017-11-13 11:20:29 UTC R topics documented: close.RethinkDB_connection . .2 close.RethinkDB_cursor . .2 cursorNext . .3 cursorToList . .3 drainConnection . .4 isCursorEmpty . .5 isOpened . .5 openConnection . .6 print.RethinkDB_connection . .6 print.RethinkDB_cursor . .7 r...............................................7 Index 10 1 2 close.RethinkDB_cursor close.RethinkDB_connection Close RethinkDB connection Description Closes connection and stops all associated callbacks and/or sync cursor. Usage ## S3 method for class 'RethinkDB_connection' close(con, ...) Arguments con Connection to close. ... Ignored. close.RethinkDB_cursor Close cursor Description Closes a given cursor and stops its associated query. Should be called on the current cursor before a new sync query is invoked on the same connection. Usage ## S3 method for class 'RethinkDB_cursor' close(con, ...) Arguments con Cursor to close. ... Ignored. cursorNext 3 cursorNext Pull next object from a cursor Description Pulls a datum from a given cursor, sending continuation queries when needed. Usage cursorNext(cursor, inBatch = FALSE) Arguments cursor Cursor to pull from; a result of r()$...$run(...). inBatch If set to TRUE, enables batch mode, i.e., returning the whole local cache (this is usually NOT the whole data available under cursor) rather than a single result. Values other than TRUE or FALSE are invalid. Value In a default mode, a list representing the returned response JSON, or NULL if no data is available.
    [Show full text]
  • After the Storm After the Storm the Jobs and Skills That Will Drive the Post-Pandemic Recovery
    After the Storm After the Storm The Jobs and Skills that will Drive the Post-Pandemic Recovery February 2021 © Burning Glass Technologies 2021 1 After the Storm Table of Contents Table of Contents 1. Executive Summary pg 3 2. Introduction pg 6 3. The Readiness Economy pg 14 4. The Logistics Economy pg 16 5. The Green Economy pg 19 6. The Remote Economy pg 22 7. The Automated Economy pg 24 8. Implications pg 27 9. Methodology pg 29 10. Appendix pg 30 By Matthew Sigelman, Scott Bittle, Nyerere Hodge, Layla O’Kane, and Bledi Taska, with Joshua Bodner, Julia Nitschke, and Rucha Vankudre ©© BurningBurning GlassGlass TechnologiesTechnologies 20212021 22 After the Storm Executive Summary 1 Executive Summary The recession left in the wake of the • These jobs represent significant fractions COVID-19 pandemic is unprecedented. of the labor market: currently 13% of The changes have been so profound that demand and 10% of employment, but fundamental patterns of how we work, in addition they are important inflection produce, move, and sell will never be the points for the economy. A shortage same. of talent in these fields could set back broader recovery if organizations can’t If the U.S. is going to have a recovery that cope with these demands. not only brings the economy back to where • Jobs in these new “economies” are it was but also ensures a more equitable projected to grow at almost double the future, it is crucial to understand what jobs rate of the job market overall (15% vs. and skills are likely to drive the recovery.
    [Show full text]