Dmitrii Kovanikov Profile picture
Dysfunctional Programming account #1. Senior SWE at Bloomberg. I write C++ for money. ex-Haskell, ex-OCaml. All opinions are my own.
Sep 7 7 tweets 2 min read
I've been using Haskell and OCaml professionally for 10 years.

I've been using C++ professionally for 2 months.

I'm shocked by how many things I used to believe are simply not true.

A thread. 1. Language quality doesn't matter.

It doesn't matter if the language is elegant or allows you to be more productive, or produces fast code.

People either follow the job market or their own preference. Language quality is subjective. It's just a copium and justification for your biased choices.
Jun 4 12 tweets 2 min read
In my 30s, I wish I had heard the following life advice sooner.

Although I was too arrogant and self-obsessed, I probably wouldn’t listen anyway.

I hope you’re smarter.

10 things I wish I had learned earlier. A thread 1. You spend 1/3 of your life asleep. Another third at your job. Improving the quality of these activities will have a much bigger impact on your life than you think.
May 24, 2022 18 tweets 5 min read
🔮 It's not a mystery that SQLite's type system is.. not its strong side. But you probably don't realise the depth of this ocean of shit 💩🌊

☕️ Grab a cup of tea and join me on this exciting journey about some "wonderful" design decisions in software engineering👇🧵 🕗 So, you want to store timestamps in your database.

Nobody has the time to read manuals. So, after browsing StackOverflow answers for about 5 minutes, you'll come up with a schema like the one below CREATE TABLE authors ( id         INTEGER   PRIMARY KEY , na
Nov 11, 2021 10 tweets 2 min read
I'm so pissed by the situation around removing (/=) from the Eq typeclass in #Haskell 😡

👇🧵 A very angry thread and I why think that people who want to introduce similar breaking changes to Haskell are just a bunch of kids who want to play with their fancy toys 🎮🎳 DISCLAIMER: I'm not against breaking changes entirely. Sometimes they are unavoidable and there's no better to fix the problem.

For instance, the recent security vulnerability in `aeson`. The problem already affected ALL Haskell applications and needed to be fixed ASAP.