Dmitrii Kovanikov
banner
chshersh.com
Dmitrii Kovanikov
@chshersh.com
🧑‍💻 Senior Software Engineer at Bloomberg using C++
📽 Content: https://youtube.com/c/chshersh

All opinions are my own.
Starting another stream in 5 minutes.

We continue torturing C++ with Functional Programming.

Today, I will talk about Algebraic Data Types (ADTs) and pattern matching.

You don't want to miss it.

Link: www.twitch.tv/chshersh
September 14, 2025 at 3:00 PM
That's alright, we all do this sometimes.

I even did it in OCaml
September 14, 2025 at 11:17 AM
I started streaming on Twitch again.

This time, I'm coding FUNctional Programming in Modern C++

First stream went well. The recording is already on YouTube.

You can follow me on Twitch to get notified:
www.twitch.tv/chshersh
September 13, 2025 at 8:48 PM
New York, I’m in you
March 17, 2025 at 12:52 PM
I haven't done OSS in OCaml for a while.

I finally installed OCaml on Windows WSL, it was rather flawless this time.

I'm currently busy with other activities, but hopefully can return to my projects soon 🤞
March 8, 2025 at 5:46 PM
The video game studio Four Quarters accidentally created the best autism test ever.

Loop Hero is so satisfying. You just do exactly the same thing with slight variations again and again and again...
February 6, 2025 at 8:02 PM
Another productive weekend with OCaml 🐫

Implemented the most difficult TUI element so far:
Scrolling a generic list of UI elements.

It required a week of thinking and touching the grass. But we got there.
February 2, 2025 at 4:15 PM
For some weird reason, I like that I can define type and let in the same single line in OCaml.

It feels unexpectedly satisfying.

(yes, I know I can just do Map.Make (String), this example is just for illustration purposes)
February 1, 2025 at 8:20 PM
The entire dynamic TUI layout is based on the following simple type.

I feel like it's the cleverest ADT I created so far.
February 1, 2025 at 4:53 PM
Another productive weekend with OCaml.

FInished the issues tab in my GitHub TUI app, including querying and filtering.

There's still much to do. But I'm not worried. Consistency prevails.
January 26, 2025 at 5:38 PM
Another weekend, another coffee with OCaml 🐫☕
Back to my GitHub TUI project.

I just love iterative UI development!

It's so satisfying to see the UI evolution under a fast feedback loop.
January 25, 2025 at 12:44 PM
I rewrote a fold in OCaml to a for-loop with mutable variables just to feel something
January 23, 2025 at 8:36 PM
Recently, we had our first OCaml Summit at Bloomberg!

Everyone came to London to celebrate Functional Programming for the full week of:

🐫 OCaml training
🐫 Conference talks
🐫 Reflecting on the community past
🐫 Planning OCaml future

More exciting news to share later!
January 22, 2025 at 5:48 AM
Typical OSS development:

1. Wrote a few lines of code
2. Created even more issues than solved

But on a serious note, I'm trying to track low-hanging fruits in my GitHub TUI project to encourage OCaml contributions in the future.

github.com/chshersh/git...
January 19, 2025 at 11:56 AM
Only in articles because they’re HTML generated from Markdown via pandoc.

On the main page, it’s a pure state machine in Elm.

Just small past of it.
January 7, 2025 at 9:55 PM

I'm a big nerd.

I love Vim motions. And I brought them to my website.

You can now navigate my website FULLY WITH KEYBOARD ONLY.

chshersh.com
January 7, 2025 at 2:16 PM
For some reason, it's so aesthetically pleasing to see structured diffs
December 31, 2024 at 2:18 PM
Only one
December 30, 2024 at 4:44 PM
Omg, I can't believe it, I finally finished this article.

It was my biggest blog post for a while, more than a thousand lines of text.

There's so much juice inside, can't wait to share!

I'll wait for one week tho. Need to reread with fresh eyes and polish.
December 29, 2024 at 1:34 PM
I just want to finish writing my latest Category Theory article but my brain be like:

“No, you’d had been sleeping for only 7 hours 19 minutes, so nothing will be done. As bonus, you’ll be annoyed the whole day.”

I guess we’re conquering the galaxy today.
December 28, 2024 at 4:06 PM
I know that I probably should give a neutral balanced overview of my config language if I claim it to be the most elegant, weighing pros and cons and providing reasonable arguments.

But I'm having so much fun writing this!
December 24, 2024 at 1:08 PM
I must avoid satisfactory, lol
December 23, 2024 at 12:02 PM
I finished my CCL to a logical conclusion.

Not everything was done. But maybe one day I'll return to it.

Meanwhile, I want to describe what was achieved. So I finally started writing an article about it.

Maybe I'll even finish it this year 😅
December 22, 2024 at 2:31 PM
Yeah, I've definitely drunk a bit of kool-aid on this one. The fact that all my let* are 'let* _ =' must've been a hint.

Anyway, I fully rewrote this monadic eDSL to a few simple functions over strings and lists. The result is much simpler and smaller.

P.S. Difftastic is amazing!
December 21, 2024 at 10:40 AM
I'm trying my skills in writing Odoc documentation for my OCaml package.

It's kinda nice to write some basic stuff and see that it looks quite decent!

However, quite a lot of work will go there eventually to make brilliant, helpful and user-friendly docs, without sounding too intimidating.
December 20, 2024 at 10:47 PM