Cover photo
Vyacheslav Egorov
Works at Google
Attended Novosibirsk State University
Lives in Aarhus
2,736 followers|877,363 views


Vyacheslav Egorov

Shared publicly  - 
Register now for the Dart Developer Summit 2016!

● October 26-27 (plus a codelab on October 25)
● Munich, Germany
● 15 talks about Dart on the web, mobile and IoT
● Opportunity to talk to the members of the Dart team
● Free admission

More info on the agenda and speakers soon.

Interested in speaking? Please submit a proposal:
Two days of sharing insight and experience building and deploying apps with Dart. Learn about the platform from Dart' s founders and engineers, and connect with your fellow Dartisans.
View original post
Add a comment...

Vyacheslav Egorov

Shared publicly  - 
Remembering Satoshi Kon who passed away 5 years ago for his unique editing style.
Paul Brauner's profile photo
I wasn't aware he passed away :(
Add a comment...

Vyacheslav Egorov

Shared publicly  - 
Remember a poem by Fernando Pessoa about the poets and pain, they fake non-faking?

Today I was reading Heinrich Heine and suddenly found a poem that touches the same idea. I wonder if Pessoa's poem was inspired by Heine's? 

Ach Gott! im Scherz und unbewußt
Sprach ich was ich gefühlet;
Ich hab’ mit dem eignen Tod in der Brust
Den sterbenden Fechter gespielet.

Oh God! unknown I spoke in jest 
The things I felt most deeply; 
I've acted, with death in my very breast, 
The dying hero, cheaply.

Full poem in German:,_daß_ich_mit_Verstand
 ·  Translate
Add a comment...

Vyacheslav Egorov

Shared publicly  - 
Surprising things in Bratislava: Hans Christian Andersen's statue 
Alexander Aprelev's profile photoVyacheslav Egorov's profile photo
+Alexander Aprelev​ surprising because I arrived to a random city of Slovakia from Denmark - went for a walk and found a statue of Danish writer. I actually think it's the first HCA statue I saw in my life
Add a comment...

Vyacheslav Egorov

Shared publicly  - 
New blog post Browser as an Interactive Disassembly Navigation Tool (and it's not about V8 or JavaScript :))
Mikhail Goncharov (meta)'s profile photo
thank you for Howl's Castle reference :)
Add a comment...

Vyacheslav Egorov

Shared publicly  - 
Have unexplained desire to visit Georgia after watching this. Not only it's an amazingly well done modernization of the traditional dance, it also manages to show different spots-of-interest combining again modern and old.
 ·  Translate
Erik Corry's profile photoMic Bkb's profile photo
Mic Bkb
Add a comment...

Vyacheslav Egorov

Shared publicly  - 
Swedish TV channel SVT made a short film about one of the funniest events held in my native town - Monstration (one mocking demonstrations of the May 1st).

Film is mostly in Russian with Swedish subtitles (I could not find Danish ones though)
 ·  Translate
Del 1 av 6: Monstration i Novosibirsk. Artiom Loskutov är konstnär från Novosibirsk som 1 maj varje år organiserar en Monstration. En festlig demonstration med opolitiska absurda budskap. Att utrycka sig fritt blir allt svårare i dagens Ryssland och myndigheterna försöker stoppa Monstrationen.
Add a comment...

Vyacheslav Egorov

Shared publicly  - 
This is almost as funny as a LSV's Three-Oblivion-Rings-Infinite-Loop.

Somebody created a slowly ticking down loop inside the Hearthstone game by combining two creatures: one that respawns when dead and one that deals damage to a random enemy when a new minion enters the battlefield.

See the video inside the article:

[almost because a) it's not infinite and b) staged :)]
Hearthstone turns shouldn’t last more than a few seconds. And they rarely do, but there are always exceptions. Using Dreadsteed cards with Knife Jugglers is one of them, and this particular moment almost created a never-ending turn.
Joe Gibbs Politz's profile photoVyacheslav Egorov's profile photo
+Joe Gibbs Politz yep, that's a well know fact :)
Add a comment...

Vyacheslav Egorov

Shared publicly  - 
See you again Prague. Til then Mucha's Iris will remind me about you.
Roman Kashitsyn's profile photo
I think John McCarthy won't be so bored now.
Add a comment...

Vyacheslav Egorov

Shared publicly  - 
Reading books in translation is like playing Russian roulette. I've recently started reading "The Book of Disquiet" by Fernando Pessoa and I have been checking  some of his poetry too. Unfortunately I don't speak Portuguese so I have to read him in translation.

And that's where the problem lies. Here is the very same poem in original and in Russian and English translation

O poeta é um fingidor
Finge tão completamente
Que chega a fingir que é dor
A dor que deveras sente

The poet is a faker
Who's so good at his act
He even fakes the pain
Of pain he feels in fact.

Поэт — притворщик по роли,
Легко ему сделать вид,
Придумать саднящей боли
Подделку, что не болит.

If you speak both Russian and English you'll spot that the ending of the poem is completely different in these two translations. 

Russian one says (yeah triple translation makes everything better) 

The poet's role is "faker",
It's easy for him to fake
Invent a numb pain's
Imitation - that does not hurt.

In other words: in English translation the poet is faking a pain and actually feeling a pain (though a different one, perhaps) and in Russian he is just pretending that he is in pain when he is not.

English version is understandably more appealing to me. But unfortunately the only way to figure out which one is closer to the original is to move to Portugal and learn the language Pessoa was writing in... 
Osvaldo Doederlein's profile photoJoel Webber's profile photoVyacheslav Egorov's profile photoHugo Schmitt's profile photo
Several english versions here:

The website's author says the one you originally cited, is his favorite...

I wish I could read Dostoievski in the original :P
Add a comment...

Vyacheslav Egorov

Shared publicly  - 
Happy Mathematician's Day!
Add a comment...

Vyacheslav Egorov

Shared publicly  - 
It was an interesting trip - porting irregexp from V8 to Dart VM (almost) without writing any assembly. "If you have optimizing pipeline - you should use it more" that'd be the morale of this effort. 
Shoutout to +Jakob G! Thanks to his efforts while interning in Aarhus, the 1.9 release of the Dart VM includes a port of V8’s Irregexp Engine for regular expressions making your regular expressions up to 150 times faster than before! We chose to take a different approach to integrating the Irregexp Engine: reuse Dart’s existing optimizing compiler and code-generation backend. This reuse helps reduce maintenance cost and share optimization efforts: optimizations for Dart will benefit regular expressions and vice versa.

In V8, Irregexp compiles a regular expression by parsing it and converting it into an intermediate automaton representation, which V8 then analyzes, optimizes and finally directly generates native machine code. The V8 implementation requires a native-code backend for each supported host architecture. Indeed, at the time of writing V8 has 7 distinct Irregexp backends. 

In Dart, Irregexp initially compiles a regular expression, just as in V8, by parsing, converting, analyzing and optimizing it. Finally Dart generates IR (intermediate representation) instructions. This IR is the same representation used for ordinary Dart code and so we use the existing Dart optimizing compiler to further optimize the code and generate native machine code.

The Dart implementation has been tested against the same benchmark suite as developed for V8’s Irregexp. Here, the Dart VM is within a factor of two from V8. For short-running regular expressions, such as parsing URLs, Dart is actually faster due to a very fast entry to the generated matching code. 

There are several reasons we don’t hit the same peak performance as V8 across the board. For example, Dart spends more time on compiling regular expressions because, after building the Dart IR, we further optimize the code. Also, V8’s hand-tuned machine-code backends are expertly tailored to executing regular-expression code on each individual platform. The machine code Dart produces is not as efficient because the existing optimizing compiler can’t make the same assumptions about properties of the code (such as what to hold in registers and what not to). We will be looking at these issues, and due to the single shared Dart backend, improvements become improvements to the Dart VM as a whole.

We hope you enjoy Dart's new and improved regular expressions. Look for the new implementation starting with Dart 1.9, which is now in the developer channel.
4 comments on original post
victor noagbodji's profile photo
thanks for sharing : )
Add a comment...
crazy Russian compiler engineer
VMs and compilers. Shaken, not stirred.  
  • Novosibirsk State University
    Applied Mathematics and Computer Science, 2003 - 2009
  • Gymnasium #10
    1993 - 2003
Basic Information
July 22
Software Engineer
  • Google
    Software Engineer, 2010 - present
  • Excelsior LLC
    Software Engineer, 2006 - 2009
Map of the places this user has livedMap of the places this user has livedMap of the places this user has lived