Powered by LiveJournal.com
You are viewing the most recent 25 entries.
31st May 2019
I'm writing the blog in English because I type twice as fast this way than in Russian (yes I am improving...), and 90% of my friends and : friends
can read English any way. I answer comments in the same language they are posted.
I am trying not to post anything related to my employer, but if I do so, this expresses only my own views and does not represent an official position of my employer.
When I post about some technical topic which seems non trivial and is related to my employer's product, don't expect it to be inside information. If I post about it, it means that this info is already public. Usually I do not post any personal information or anything that is related to my family.
All photos are mine, and I allow anyone to copy, change, do anything you please with them. I don't post "friends only".
Useful tags are: software
and trip report
12th December 2017
When I chat with my colleagues, customers, and ppl I met in conferences, usually our smalltalk evolves about techy or very techy subjects. :
But when I meet other programmers IRL, and try to use the same smalltalk patterns, it never works, they always look surprised, like: "why this guy talks about work stuff outside of nine-to-five office hours? Is he crazy or something? Lets discuss soccer or fishing instead!"
Am I in a bubble or something?
10th December 2017
Trip report: Tel Aviv
Last week I was told: :
- What a co-incidence, 3 companies in Tel Aviv have urgent software performance issue to solve now, could you please fly in ASAP?
- Of course, I love coming to Israel! I'll get there Saturday evening, can we start on Sunday then?
- No, let's make it on Monday, Tuesday, Wednesday.
First company: we quickly found the performance issue was caused by a bug in their software they were already aware about, and it was planned to be fixed this week
Second company: After we found the root cause of their performance issue in the first hour of our workshop, I was told that they found it already last week, and now they just wanted to observe how would I find it using out tools. Then we found their next bottleneck, which we can't fix any way.
Third company: One engineer I was supposed to work with was getting married, another got sick, and with their backup I had to spend ~50% of time installing and configuring tools.
P.S. As a mid-winter holiday it was all great, +27C, warm water in Mediterranean and Dead Sea.
3rd December 2017
The reason I booked the service which is more expensive than regular taxi from the airport was that after a long flight to Tel Aviv with a family it is easier just to hop into a provided car than dealing with taxis in the airport. :
Right after I crossed customs I received a call from the service, where I was told that the driver is late by 10-15 minutes and I should wait.
After 30 minutes I called back and asked where is the driver, and I was told that he has just arrived and he is going down from a parking lot to the waiting area which should take few minutes.
After 15 more minutes I received a call from another Kiwitaxi employee saying that the car got into an accident and they are ready to provide me another car, but it would take some more time. I only wonder how can you get to an accident if you are going down from a parking lot?
I refused, and went to hail a regular taxi. Now Kiwitaxi customer service is asking me why didn't I use their service?
Of course, if there is no refund, I'll cancel my credit card payment once I get back home in Germany.
If they would dispute the cancellation, I have all the proofs for Deutschebank: the reservation with my flight arrival time, customs stamp with time,airport taxi receipt with time, timings for cell calls with kiwi taxi (costs me plenty in roaming) and their support email.
So my experience with their service is very bad, but anything can happen. Let's see how their customer service deals with the cases where they failed to provide a service.
Upd: they apologized, promised to make a refund and a discount for my next order. So incident recovery/customer support seems fine.
30th November 2017
I clicked on a bait and it created an : instagram account
for me in 1 click.
So I decided to post there, and almost every day I post either a macro shot, or something from underwater pics, or something I shot from airplane during business trips. 22 pics so far..
25th November 2017
Perfect optimization experience
Measure performance, find main bottleneck, fix, repeat. Simple. Even simpler: instead of "find main bottleneck" - find top hotspot, instead of "fix bottleneck" - rewrite the hotspot function to make it faster. That is a textbook example, many iterations rarely happen in real life. :
In past 2 weeks it was a first time in my 10+ years full time s/w optimization career when I make 4 iterations of a simple process one by one so fast. Usually every subsequent step becomes harder, and returns become lower, so step 3 or 4 already takes more than a week.
So I got a baseline software from a customer, it was never optimized before (most of it is a straight port from Matlab to C++). Optimization target is ~20x, and my estimate was it would take 2 months.
Switched old gcc to newest Intel compiler, selected right flags, got ~2x speedup. Found a hotspot, optimized it ~20x, got 2x speedup. Found next hotspot, optimized it ~10x, got ~1.8x speedup. Found next hotspot, optimized it ~8x, got ~1.6x speedup. Found next hotspot, optimized it ~6x, got ~1.2x speedup. In just 2 weeks, the speedup now is ~13x, and I think I can make 2-3 more iterations. ROI will drop as usual, but in the end I'll get almost 20x speedup vs original code.
It helps to have a low baseline :)
20th November 2017
Nur Schriftlich, bitte! (Local custom to lie over phone)
Once again, my personal record confirms that if I try to buy something in Germany over phone/in person but without a written contract, a seller would lie. So far it holds in 100% of cases. :
This time we tried to book tickets for a performance in a theatre.
- We'd like to reserve places in the middle, rows 3-5. [most expensive tickets, good places, booking well in advance]
- OK, your reservation is now booked for row 4, sits 10,11,12.
- Thank you.
- May I get my tickets I reserved over the phone please?
- Here you are , row 7, sits 1,2,3 (the worst places that still belong to the most expensive group)
- But we booked 4, sits 10,11,12.
- No, you are mistaken, that is your reservation. Row 4 is sold off.
These things happened with a theater, museum, pharmacy, official car dealer, etc. The only takeaway - everything told to a customer in Germany should be assumed to be a lie, but if it is written and signed, there is a good chance (but still not 100%) that it is true.
16th November 2017
Yesterday I wrote a simple function using AVX512 intrinsics for my customer. A customer created AVX512 function that was only 8x faster than non vectorized. My version is now ~30x faster. :
While working on this function, I noticed that mask register read and write only get 16 bits, not whole 64 bits. Then I found an interesting thread
(4 years old) where Agner Fog and Intel engineers were discussing that limitation.
13th November 2017
Слава Зайчику! Аминь.
In Catholic kindergartens, children pray before meals. Jacob is in a secular (and very international) kindergarten, so instead of praying god, before a meal they cite a rhyme about a hare: :
"Auf den Strasse sitzt ein Hase, singt ein Lied: Gutten Appetit!"
So even at home, Jacob just can't start eating without saying that. I guess if we'd move to a place with only Catholic kindergartens available, it would be easy just to change the wording, as a custom to pray before a meal is already well learned.
11th November 2017
A very interesting : article
. Discussion is even more entertaining. I learned a new idiom I liked: "There’s a thin line between exaggerating to make a point and click baiting to nonsense. You may find it near the horizon in your rear view mirror."
5th November 2017
went very well and smooth, thanks a lot to the organizers. For me, the most interesting parts were questions to my talk
, talks about containers including one from Lennart Poettering, talk on LinuxKI and others, and Open Dataplane talk.
Unfortunately I got a food poisoning in a hotel and had to skip all social programs and some talks I planned to attend e.g. Network bound disk encryption talk: I checked the slides, but did not understand anything, I hope there will be a replay online soon. Everything was recorded any way.
3rd November 2017
Weird moment in MUC
During last ~10 years, as a consultant, I usually fly somewhere ~10 times every year. So I experienced all sorts of minor hiccups with air travel (but nothing too bad so far). :
This time it was weird: we were ready to take off, when captain announced that Munich police demands that we get back to the gate, and get off the plane. After we got out of the plane, we were told that someone on the plane skipped security control (how? if they did, why not check him?), so we must all go to security control together with transit passengers, and then get back to the airplane.
2nd November 2017
2nd part of a Stalinist novel
While flying to a conference, I just finished reading a second part of an : althistory
novel. Althistory without "popadancy", when written well, could be very entertaining. This one is too, but it is more of a combination of fictional USSR in 1930 and 1970 in 1700's settings in south america.
It is more realistic than 90% of russian althistory, but imminent happy end (probably coming in part 3, yet to be written) is totally unrealistic :)
Thanks a lot blau_kraehe
for a tip.
26th October 2017
1. On Tuesday, I planned to show a 2 hours demo to a customer. Once my timeslot started, my laptop shown a screen: "Greetings from IT! We started upgrading your windows 10.1 to 10.2. Please wait for a while...". So I had to draw my stuff at a whiteboard for 90 minutes, then during 30 minutes rush through the practical part of the demo. Then on Wednesday and Thursday we had to actually use stuff from my demo, nobody remembered how it works and what to do with it. :
All push upgrades always notified me in advance - and there were many - hundreds, if not thousand+. But this one was a total surprise, and timing could not have been worse.
2. In Arlanda airport's 5th terminal restaraunts kitchen gets closed at 8PM. No hot dinner, bro, only sandwiches.
23rd October 2017
I am in Stockholm until Thursday. This time staying right in Kista, so I can avoid commute from Stockholm (wondering now why I only did that now, not in my previous trips) :
I had to fly via Riga because it was 2x cheaper, and I noticed that part next to the airport, filled with soviet era fighter jets scrap. I wonder why it takes more than 27 years to recycle these parts..
19th October 2017
Linuxpiter 3-4 November
It opens with talks from two smart folks from RedHat: Lennart Poettering and Alexander Bokovoy. :
My talk is right after lunch at 13.10 on November 3rd. Unfortunately I share a slot with Jan Altenberg, so I can't attend his talk on RT-preempt and stuff.
Please come to Linuxpiter
, if you happen to be in Spb at this time and not attending Jocker already :)
15th October 2017
Sunday troll mode on
Competitive programming to software development is like competitive digging with spades and picks to building and maintaining tunnels :)
10th October 2017
3 years 3 months old Jacob: :
- Папа, а я понял, почему мужчины не могут рожать детей!
- Потому, что у них груди нет, и они не могут кормить baby своим молоком. Значит, женщина нужна все равно, пусто она и рожает!
- Papa, du kannst das essen, weil es is giftig!
6th October 2017
10 facts, 8 true, 2 false: :
1. В 2003 году, я выпустил первую distributed crypto-currency, которой пару лет пользовалась дюжина киберпанк-фриков (включая авторов одной из современных блокчейн-валют из первой пятерки).
У меня есть бумажка, подписанная вице-президентом Intel: "You may release it in open source, we are not interested in distributed cryptocurrencies."
2. Я был 23-летним сеньором (Senior s/w engineer at Intel)
3. В 8 лет я писал на асме для КР580, а в 10 спаял свой первый Спектрум.
4. Как-то раз я отказался провести ночь в комнате с тремя красивыми студентками из Южной Кореи, предпочтя провести эту ночь в квартире с 50-летним трансом.
5. Я ни разу не участвовал во всероссийских олимпиадах, хотя в областных входил в пятерку призеров по математике и физике, а по информатике один раз был вторым.
6. Я 3 месяца жил под Парижем в отеле, в который французы обычно приезжают заниматься любовью. С плохой звукоизоляцией.
7. Мне нравилось набивать программу на перфокартах для ЕС-1046.
8. В первое утро нашего свадебного путешествия, мы с женой проснулись на скамейке аэропорта Дамаска, Сирия.
9. С 2008-го года я в одно рыло потихоньку пишу искусственный интеллект на Lisp. Уже третью версию (первые две я выкинул, третью, наверное, тоже выкину).
10. Я научился плавать кролем в 30 лет, и теперь легко проплываю километр для разминки.
1st October 2017
Russian prince kisses a frog, and it becomes a princess. German princess kisses a frog, and it becomes a prince. :
A blacksmith helps Russian wolf to change his voice to impersonate a mother-goat. A baker helps German wolf to change his colour to impersonate a mother-goat.
Russian Baba-Yaga forcibly takes children to its frightening house. German Hexe cheats children so they voluntarily enter a house that looks nice from outside.
I like reading German fairy tales to Jacob :)
28th September 2017
Flying back home
As a shareholder, I am delighted that I improved a gross margin by 0.0000000001% by saving on airfare - I paid ~200 euros for a return ticket to Israel. As a traveler, flying a no frills lowcoster airline has its disadvantages over Lufthansa, El Al or Turkish Airlines that I usually use. :
On a bright side: a manager at customer who hosted me for 2.5 days is a very special person: she came to work at 9AM, and when I was leaving the customer's office around 9PM, she was still there, working at full steam. She is the most hard working individual I ever met, very cool.
Each morning at 7AM I swam a kilometer in the sea, and at this time of year and at this location Mediterranean is just perfect: very warm, calm and clean.
19th September 2017
Travel plans, TLV
I have a very good problem to have. It is very likely that I'll have to fly to Tel Aviv next week to troubleshoot a software performance issue. My problem is whether I can take couple of days off after that and stay for a short vacation, and bring Julia and Jacob over. It is a great time to be in Israel, but it is also likely that I'll need to follow up on the customer issue quickly e.g. develop/run reproducibles in my lab in Germany.
7th September 2017
I like Helsinki
Too bad I only come there about every other year. :
Russian is language #4
there, after Finnish, English and Swedish. (But sometimes #3
Right in a middle of a customer's campus, I can pick and eat wild lingonberries.( Read more...Collapse )
30th August 2017
I just published a short : article
that includes a link to a 7KB tool that I am now releasing as open source. It simply tries to guess which [Intel server] CPU it is running on, so that when it runs in a virtual machine that hides a real CPUID you can still run a binary compiled for the optimal instruction set.
29th August 2017
if crashes.x >/dev/null 2>&1 | exit $? ;
echo Not crashed
if crashes.x SIGSEGVs, the script above sometimes prints "Not crashed", and sometimes "Crashed". (I need a pipe hack because simply redirecting to null does not prevent error message on a console).
Strange, where this non-determinism could come from?