Oleksii Kachaiev

CTO @ Attendify. Full-time coding in Clojure, part-time coding in Haskell, often wondering in Idris.

Scientifically interested in algebras,
personally worried about protocols (including HTTP/2 and QUIC 😱),
working hard on async code correctness verification catching race conditions
with dependent types like there's no tomorrow (yeah... Aleph & Netty - I'm looking at your right now 🙀)
trying to make a life of communicating system developers better.

Libraries

aleph (active contributor)

Asynchronous communication for Clojure.

schema-refined

Clojure library to keep you away from bugs with precise schemas (refined types with runtime checks)

nasus http.server

A simple zero-configuration command-line HTTP files server that scales.

muse

Clojure library that makes remote data access code elegant and efficient at the same time.

fn.py

Functional programming in Python: implementation of missing features to enjoy FP.

Essays

Aleph, Async, HTTP, Clojure | 01/26/2019

Go: Channels Are Not Enough | 09/14/2014

Parsing CSS File with Monadic Parser in Clojure | 08/30/2014

Talks

Managing Data Chaos in the World of Microservices | 09/13/2018, StrataData '18, New York

Deep HTTP Dive Through Aleph & Netty Internals | 07/10/2018, Clojure Tech Talk, Kyiv

Keep Your Data Safe With Refined Types | 06/19/2018, Clojure Meetup, Kyiv

Clojure @ Attendify: Experience Report | 11/14/2017, Attendify Clojure Meetup, Kyiv

Finagle & Clojure | 08/13/2015, FinagleCon 2015, San-Francisco

Efficient, Concurrent and Concise Data Access | Video | 06/26/2015, EuroClojure 2015, Barcelona

Microservices in Clojure. Lessons learned | 04/16/2015, Kyiv Clojure Meetup #7

Errors Handling with core.async | 10/22/2014, Kyiv Clojure Meetup #4

Deterministic Parallel and Distributed Programming with Clojure. Quick Intro | 07/03/2014, KievFProg #7

Monadic Parsing in Python | 06/07/2014, KyivPy #12

Fn.py: Persistent Data Structures | 03/22/2014, Kharkiv.py #10

Erlang in Production. Lessons learned | 11/16/2013, KyivFProg #11

Union-based Heaps in Haskell and Python | 10/26/2013, KyivPy #11

Channels & Concurrency: Go, Clojure, Erlang, Scala, Haskell | 08/03/2013, KievFProg

Real-time collaboration with Erlang and Websockets | Repo | History | 06/01/2013, HotCode 2013

Streams as fundumental abstraction | 06/01/2013, HotCode 2013

Web, Concurrency & Functional Programming | 05/31/2013, HotCode 2013

Functional programming for Web | PDF | 04/24/2013, iForum 2013

Stop Coding Pascal | PDF | 04/06/2013, KyivPy #10

Fn.py: ideas and internals | PDF | 03/27/2013, Kyiv FProg

Modern Concurrency: Erlang, Scala, Go, Clojure | PDF | 01/26/2013, KharkivPy #0

Fn.py: enjoy FP in Python | 01/19/2013, KyivPy #9

Lazy evaluation and declarative approach in Python | PDF | 12/08/2012, KharkivPy #6

Functional programming with Python | PDF | 10/20/2012, Kyiv, PyCon UA 2012

Code

A few snippets people found useful/helpful/interesting (not actively supported) ¯\_(ツ)_/¯

Union-based heaps: skew and pairing | Scala, 03/10/2015

Topological sortring | Python, 07/23/2013

Dijkstra shortest path based on the heap | Python, 07/13/2013