Sergey Tselovalnikov Profile picture
Java, Kotlin, Clojure. Former JUG.EKB leader. Build distributed systems @ Canva
Aug 30, 2021 8 tweets 3 min read
Containers are fun. Recently, one of the applications was migrated to run inside a container environment. Suddenly, the GC pauses have increased significantly. 🧵 (1/n) The application is on Shenandoah GC, so the GC pauses would typically be below 10 ms as most of the GC work would be done concurrently. However, once the app started running inside the container, the pauses increased up to ~100ms. 2/n
May 16, 2021 17 tweets 8 min read
Tech podcasts are great. You can't read a book while biking (I tried), but you can listen to a podcast! So here's the list of podcasts that I listen to, as well as my favourite episodes. Maybe you can find something interesting to listen to. 🧵 The first to mention is @corecursive by @adamgordonbell. It's one of my favourite podcasts. It's full of deep conversations. When listening to it, you know - it wasn't just a recorded conversation, the host actually worked hard to make it a story worth listening to!
Nov 26, 2020 4 tweets 1 min read
Every child born in Russia or USSR knows Grigory Oster, who is the author of Bad Advice - a reverse psychology book for children which gives children intentionally wrong advice on their behaviour. I felt like we're really missing smth like this for software eng, so 🧵 Image Image
Sep 15, 2020 14 tweets 5 min read
I want to talk about an underappreciated gem of the JVM ecosystem - async profiler. The common perception is that you only need to use a profiler if you’re a perf eng. So here's a few stories of how fitting a profiler into daily workflows helped me to be a better software eng 1/N Sometimes it’s not even necessary to perform any type of performance analysis, and even just looking at the data might yield quick wins. As an engineer who’s working on the code, you often already have a mental model of the code and expectations of where the time should be spent.
Apr 5, 2020 7 tweets 2 min read
It's amazing to see that ZGC (JEP 377) and Shenandoah (JEP 379) are going to become non-experimental in 15! However, we've been successfully using ZGC for our gateway components since when JDK 13 was released. 1/n After running an experiment, and switching the fleet of our gateway components to ZGC, we saw the GC pauses went down from 30-60ms down to less than 2ms. Here's some data from one of the instances I looked up right now. 2/n Image