I have posted 15 articles here so far

Philosophical Musings on Performance

tech

performance philosophy intelligence reflection


TL;DR: performance optimization (and the other things, too) will soon need to become much more automated than now.

I haven’t done quite a lot of blogging recently, despite my earlier plans. I have been living in peaceful Estonia for three months now. There’s been a lot of time to think.

In this blog post, I will share my rather philosophical musings about performance optimality. Incidentally, it also applies to monitoring and designing complex systems. There shouldn’t be any hardcore stuff inside, not even low-level optimization of pipelines. Just some ideas I have contemplated.

Read the full text

I Am Now A Part Of Plumbr

personal

life work travel relocation reflection plans db plumbr


Good News, Everyone!

I am currently en route to Tartu, Estonia. This is where I will live and work for some time to come, in all likelihood at least a year, and probably longer. This is a radical change, but I have a smile on my face, because this is definitely a step in the right direction.

Monday is my first work day at Plumbr, an Estonian startup that pinpoints performance issues in your java applications before they have a chance to give you a world of trouble. I first heard of it from one of its founders, Nikita, over a year ago. I instantly liked the idea, and it has developed a lot since then.

I am really excited to get started, as I really believe that I can help make the product, and with it, the lives of engineers, a lot better. Also expect that there will be more tech blog entries from me soon, although conference appearances might become a bit scarcer.

Read the full text

Today I Learned: Volume 5

misc

til etymology conventions coffee neurology ecology evolution recycling history vikings google


In this new TIL you will find some weird numeral systems, the secret of staying alert in boring meetings, valkyries and more.

Read the full text

Today I Learned: Volume 4

misc

til geology space sauna weather biology cosmology space paradox


Hey hi! This is yet another TIL thing. Check it out for rolling stones, unfortunate deaths, more gas giants and other stuff.

Read the full text

Today I Learned: Volume 3

misc

til geography diving astrology evolution psychology travel internet bigdata


A new TIL thing is out! Check it ouf for an amazing underwater park, emotion control, gas giants and more.

Read the full text

Investigating "Mysterious" HotSpot Behavior

tech

java openjdk internals gc


Yo! I am preparing a new talk, to be first presented at the upcoming Joker Conference in Saint Petersburg, Russia. With it, I intend to make everyone capable of digging deep into HotSpot to get to the bottom of their issues.

This blog entry is a teaser which examines a sample problem encountered by Nikita of Plumbr.

What does GC cause _no_gc mean? and _last_ditch_collection too. #JVM /cc @shipilev ?

Read the full text

Today I Learned: Volume 2

misc

til biology psychology fear math numbers money currency geology


A new TIL thing is out! Check it ouf for unexplained fears, messed-up billions, quantum computing and thousands of dollars.

Also, a shout-out for a most amazing read, the Jean Le Flambeur trilogy. If you’re into rational fiction, by all means go for it. It is probably even more educative than HPMoR is. These margins are too narrow to express its awesomeness. Let me just say that I place its author, Hannu Rajaniemi in the same bright-minded group as Elon Musk and Eliezer Yudkowsky. I wonder what would happen if these three decided to build something together.

Read the full text

Today I Learned: Volume 1

misc

til biology digestion health intelligence evolution http yawning


I try to learn as much as possible. Often, I come across little fun things which I find awesome. So, I decided that it would be very nice-guyish of me to actually write them down and share with everyone. I am planning to release them in packs of five, each fact should not be longer than a dozen sentences. Sometimes, even less than that. Do not be surprised to find a shameless rip from Wikipedia along with a couple of relevant links.

Although I can predict long pauses from time to time, I will try to keep this somewhat regular. But enough with the intro, let’s get started!

Read the full text

The "What Are My Political Views" Rant

personal

politics game theory evolution cooperation cognitive biases


From time to time, I find myself being asked what my political views are. Every time that happens, I get frustrated.

Therefore, I have decided to write this blog entry that states my position explicitly. It is rather long thanks to the possible inferential distance. Incidentally, it explains a great deal of my general outlook on life.

For those unwilling to read it whole, here’s the long story cut short:

Politics is a bunch of atavisms gone horribly wrong and stuck in a Nash Equilibrium.

I have a dream that one day all sentient beings will choose to cooperate.

@gvsmirnov on Twitter: [1], [2]
Read the full text

Keeping Your Benchmarks Separate From Code

tech

java jmh gradle build performance tests benchmarking shadow


It is an established practice to keep you Unit Tests and your production code separate, in such a way that the compiled artifacts do not end up containing tests. It has recently drawn my attention, however, that it is usually not the case with benchmarks and performance tests. A possible reason is that it might be a little bit tricky. So here’s a sample github project of how it can be done in a more or less ideologically right way with JMH and gradle. This article goes into some further detail and explains why stuff is like it is.

Read the full text

Java Memory Model Under The Hood

tech

java membar openjdk internals volatile jmm happens-before


There are many sources where you can get an idea of what JMM is about, but most of them still leave you with lots of unanswered questions. How does that happens-before thing work? Does using volatile result in caches being dropped? Why do we even need a memory model in the first place?

This article is intended to give the readers a level of understanding which allows them to answer all of these questions. It will consist of two large parts; the first of them being a hardware-level outline of what’s happening, and the second is indulging in some digging around OpenJDK sources and experimenting. Thus, even if you’re not exactly into Java, the first part might still be of interest to you.

Read the full text

Building OpenJDK 8 on Mac OS X Mavericks

tech

java make gcc cmake apple openjdk mavericks osx homebrew xcode ffs


So You Have Set Out To Build OpenJDK

Everyone enjoys some good Adventure from time to time. One of my latest is building OpenJDK on Mac OS X Mavericks. This article is a mix of building instructions and my Adventure Log. If you are not interested in the latter, there’s a TL;DR version available. I cannot guarantee that it will work in every single case, however. You may or may not encounter the same issues as I have. To have a better understanding of what’s going on I recommend you to at least skim the whole of it.

Read the full text

Back On Blogging Track

personal

welcome updates reflection philosophy cooperation optimization evolution


Good News, Everyone!

Some of you may know that I used to have an awesome blog thing going on some time ago, and that it has been lost. The time has come to pick up the pieces and restore the mightiness of my Endless Empire! The Universe shall bow before the onslaught of my relentless blogging!

Read the full text

Been There, Done That

archive

travel reflection


This entry has been extracted from the Exomemory Archive, and might have issues.

What’s the T-shirt?

На юг, затем на запад, север, восток ‐ туда, во всеобщий энергопоток.

First and foremost, why do I even travel? Surely I can’t be spending a shitload of money and time for nothing? Well, in all honesty, I can, but that’s not the case this time. Or so I think. There are many reasons why I do that, some of them may or may not make much sense to you, but they do for me. Here we go.

Read the full text

337 @ Yandex: c-c-c-combo breaker!

archive

plans reflection


This entry has been extracted from the Exomemory Archive, and might have issues.

Huh? 337? Combo breaker?

The title might be a little confusing, so here’s the explanation from the Captain. The 337 days are there since I really don’t see how that number is any worse that a year. Or 336 days. Or whatever other time interval. I don’t acknowledge any and all celebrations that go like “X time units since moment Y”, so you can just take that as my little personal rebellion. Oh, also that’s 1000 days to go till 1337.

According to historical records, I haven’t worked at a single place for more that something like 10 or 11 months, always leaving for greener pastures after about that long. A combo of sorts. And seeing as I have no desire to leave Yandex anytime soon, the combo is broken.

Okay, but why? See below.

Read the full text

CC0 Freely use anything from this website in any way you can imagine