?

Log in

No account? Create an account

izard's Journal

Recent Entries

You are viewing the most recent 25 entries.

31st May 2029

10:08am: This blog
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 , idea , Deutschland, readlog, freediving and trip report

23rd August 2019

1:06pm: US immigration arithmetics
USCIS publishes a number of L1 visas it grants each year. I was trying to see if "hire American, buy American" affected L1s.

But some numbers do not add up, akin to a puzzle:
"units of less than 10 beneficiaries are masked so as to limit the possibility of the de-anonymization of data. "D" represents data withheld to protect privacy. The letter H replaces the value ... where one could deduce the value of D. "
ACCENTURE LLP is in top 10 L1 visa petitioners.
total - 183
Continuing L1A - 95
Continuing L1B - D
Continuing Blanket L1 - D
Initial L1A - H
Initial L1B - D

I wonder why they needed "H" here, because of Benford's law?

14th August 2019

2:41pm: Burghausen
I drove past Burghausen many times when I went to my Austrian customers, and I never had time to stop.
This weekend we spent several hours there, and it was very nice.

Good food at a central square, longest medieval fortress in the world, very nice outdoor swimming place/lake, interesting museum, short drive from Munich. Highly recommend it!

13th August 2019

9:05pm: От автора "стрелки осциллографа"
CC from my facebook, with top comment:

"в лазере наступает момент, когда все фотоны, сорвавшиеся с орбиты, начинают скапливаться в одной точке"
Эхо Москвы, "Код доступа", 10 августа 2019.

Comment: фотон сначала вращается на орбите с первой космической, а потом, как лазер возбудится, резко набирает вторую космическую и перемещается в точку Лагранжа.

8th August 2019

1:02pm: I suspected it was a CPU error
Every time I suspect I found a CPU erratum, it ends up being something else. This time a compiler bug, again.
GCC 8.2.1, compiles _mm512_*fmaddsub*_pd intrinsics to vfmadd132pd instruction when compiling with -O0.

When compiling with -O1, -O2 or -O3 it compiles to vfmaddsub132pd, as expected. Happy debugging!

29th July 2019

10:17am: Intrinsics and compiler smarts
Recently I was wondering why relatively simple and short SIMD/SSE intrinsics code is ~1.5 slower when compiled by ICC, than when compiled with CLANG.

When one uses intrinsics, it is supposed to be almost assembly, compiler should only do [optimal] register allocations and deal with input and output variables. However, compilers now do much more than that, especially the optimizations they perform on top of intrinsics are often very non-obvious.

In case of the code I examined, ICC produced ~20% faster code for a scalar part, and ~10% faster code for one vector basic block, but ~2x slower for another vector basic block. When combined, these resulted in ~1.5x difference.

It is not the first time I noticed the compiler optimizations significantly alter SIMD intrinsics flow, but before it was always something small, like fusing 2 instructions when a SIMD equivalent exists, etc. In this case it just produced 2x+ instructions! Alas, just changing to -O0 won't make it back to the planned flow, as O0 adds too many intermediates... So if I am certain that my instruction flow is better than compilers, I'll have to do inline asm rather than intrinsics.

13th July 2019

12:47pm: Russian shop
An ad in a Russian store in Munich, in Russian:
"If we catch you shoplifting, we'll ask you to pay us 200 euros in cash and we won't call police".
This is a good deal, one wouldn't risk deportation/troubles with permanent residence.

21st June 2019

9:30am: Big data does not work
Big data, AI.. Look at a screenshot from one of the biggest US job sites:

:)

1st May 2019

7:50pm: Jacob Speaks: theology
We are not speaking about god at home. So everything Jacob knows comes from a kindergarten.

After this easter, he drawn an Empty Tomb, closed by a rock. While the picture quality was very good, I did not understand what it was first. So I asked..

- Это пещера, там умер Gott.
- Gott по-русски бог. Там Иисус в пещере?
- Нет, Jesus это ребенок, который родился на ферме в рождество. А это - Gott, который нам присылает дождь. Вот сейчас солнышко и дождя нет, потому, что бога завалило камнями в этой пещере. Это бог дождя. Мне в садике воспитательница N рассказала.

27th April 2019

3:00pm: Software performance: consultant's perspective.
After ~13 years working full time in software performance consulting role, I think now I have enough statistics about different types of software optimization projects.

~20% of the projects are the most challenging, a customer comes to me because their software is already well optimized, but they found a performance regression on a new platform, or in a new middleware, OS kernel, compiler, etc. There are some common patterns for these projects, but usually they are unique. The fix is usually on system level, CPU u-arch level or combination of two. It is almost never with software/algorithms.

~30% are interesting. The software is reasonably optimized, the team understands current performance and constraints, but there is a regression or unexpected slowdown, or they just need it to run ~20% faster. In these cases couple of simple tricks with system and u-arch optimizations usually work. No need to deeply investigate application business logic either. These projects are my usual trade, not too fancy, but OK. Specialisation pays off. Sometimes I also find something to learn on these projects, but not very often.

Read more...Collapse )
1:26pm: Jacob speaks: lego
I am looking at a very strange but complex building made of lego blocks.
- Яша, это что за странный дворец ты построил?
- Это канализация для коровника, это все под полом, а пол и стены я еще не построил.

25th April 2019

11:01am: Jacob speaks: animal's language
Jacob, 4y10m:
After watching a Yakari cartoon in German:
- Жалко, что на самом деле звери не говорят. Я бы очень хотел, чтобы они умели говорить. Пусть бы они говорили по-немецки!
- А почему именно по-немецки?
- Здесь в Германии все говорят по-немецки.
- ОК, а в других странах, на каком языке зверям надо говорить, в России, например?
- Тоже по-немецки!
- Почему, в России же говорят по-русски!
- А пусть звери во всех странах говорят по-немецки! Такой общий язык для зверей пусть будет! Например, в России же бабушка Таня умеет говорить по-немецки, и если кому-то надо поговорить с животным, пусть зовет бабушку Таню. Она будет переводить, и ей будет платить деньги. И в других странах это будет такая работа для тех кто знает немецкий язык. И люди будут больше учить немецкий язык везде!

31st March 2019

1:19pm: Jacob Speaks: wealth
4y9m
Мама: Папа, хватит читать, отвлекись и помоги, пожалуйста!
(папа тупит в ленту livejournal, но так как картинки выключены в браузере, Яша видит только текст)
Яша: Нет, пусть папа читает! Он станет умнее и это поможет ему разбогатеть!
Папа: А что, сейчас папа бедный?
Яша: Нет, но не очень богатый.
Папа: Хорошо, а зачем надо стать очень богатым? Ты что-то хочешь купить?
Яша: Хочу купить орешки.
Папа: Пожалуйста, покупай орешков сколько хочешь.
Яша: А я хочу купить очень много - целый грузовик!
Папа: А зачем тебе грузовик орешков, мы же столько не съедим?
Яша: А я продам дороже, чем купил! В маленькие бумажные пакетики положу, так будет дороже. А деньги вам с мамой отдам.

10th March 2019

12:27pm: Jacob Speaks: AI and jobs
4y8m.
На конечной остановке автобуса
- Яша, а наш автобус сейчас может поехать без водителя?
- Конечно нет! Кто-то должен рулить и нажимать педали!
- А когда ты будешь большой, автобус будет ездить без водителя..
- А кто будет им управлять?
- Компьютер, искусственный интеллект.
- Если компьютер сможет делать работу водителя, но он сможет делать работу кого угодно, тебя, например! И тогда люди больше будут проводить время со своими детьми!
- Но как тогда люди будут зарабатывать деньги, если работать будет компьютер?
- Папа, но это же просто - например, водитель купит компьютер, который будет водить автобус вместо него, а деньги будет получать сам, ведь компьютеру деньги не нужны!

28th February 2019

9:39pm: odin-moy-den
My new post.
At this time, in EWC everything was about either autonomous driving, or machine learning. Other than that - business as usual. RTOSes are still fragmented, and so are fieldbuses. Besides usual big booths from Windriver, Greenhills, Lauterbach and such, this time Microsoft Azure and Amazon AWS had big booths too. IOT to cloud, fog and so forth.

21st February 2019

9:37am: 0.5x programmer and Amdahl's law.
I just finished coding a simple parser in Clojure. (~250 LOC including tests). It took me about 40 hours. I think an average programmer would have made it in 30 hours, and a 10x programmer, like those who can code on a whiteboard at google interview would have made it in just 3 hours (because they are 10x programmers).

However, if I factor in all the time I spent while working on it, it will be 4 work weeks - 160 hours. And I'll need 200 more hours. That includes gathering requirements, attending meetings, getting build and test systems right, working on other non coding tasks like running code through scanners, writing documentation and fixing bugs unrelated to this code.

If I think of a 10x programmer as a 10x parallel machine of coding, I can apply Amdahl's law. 10x programmer does not make 1h meeting in 6 minutes, so everything but coding is serial.

So while 10x programmer is ~13x more productive than me while coding, overall the difference on the example above is just 11%. So for my job (and many others) hiring a 10x programmer is an overkill.

But if I extend my reasoning one step further, then to widen a productivity gap back to 10x like levels we need either different work environment for 10x coder that minimizes disturbances, and/or give each 10x-er a simple programmer aide who would do all the mundane tasks. However, communicating with the aide will still be "serial" :)

4th February 2019

8:18pm: Jacob Speaks: real estate
Jacob(4y7m) overheared a conversation about a studio apartment.
- Там даже нет кухни и другой комнаты?
- Да.
- Но если эту квартиру купит женщина, а потом она родит ребенка, то у ребенка не будет своей комнаты. Ему будет плохо и грустно, он расстроится. Когда я вырасту, я перестрою все-все квартиры-студии, добавлю им одну комнату.

3rd February 2019

10:41am: Trip report: Wroclaw
Wroclaw is a city of contrasts :) There are three rings: in the center it demonstrates old european architecture, one of the best in its kind, then there is a ring that looks like Russia (much like хрущевка next to a cathederal), and then there is a ring with modern houses.


My customer in Wroclaw is hiring btw, looking to hire several ppl. C/C++, Linux, SIMD, digital signal processing - please PM me for details/contacts.

Another observation: unlike Munich and Germany, there is different demographics in entry level customer facing jobs: receptionists, cashiers, etc. In Wroclaw I only seen beautiful young ladies there, while in Munich it is all mixed. I hope this is a sign of better social mobility in a growing economy, where people can move up, unlike in Munich a catchier in supermarket often works forever at this job.. I can also invent a not so favourable explanation, but I won't put it here, leaving it as an exercise for a reader :)

1st February 2019

6:14pm: Another good russian hard sci-fi novel
here. Thanks [profile] blau_kraehe for the hint. By the way, the same author also wrote a very good fantasy trilogy ("
Лестница из терновника").

27th January 2019

7:14pm: A very nice programming book
CTFP is a great book. I bought a hard cover and now I am reading it for the second time.

I have to, because first time I did not get it. First it reads easily as a gentle intro to monads, promising that monads are easy after you know the right terminology, then (almost in the end) it touches monads quickly, and then.. Please see the pic above. I did not understand anything from the last few chapters.

7th January 2019

1:41pm: Underwater: one short dive
I seen this structure, a sea cucumber, sea spider and a fish inside, so I decided to dive first and then glide slowly just above the seabed towards it, while making photos.

Once I came closer, the fish started looking at me cautiously:
Read more...Collapse )
All pics taken during a short ~30 seconds dive at about only 2 meters depth.

29th December 2018

12:25pm: Underwater carribean
This time space for freediving was very limited: just 4 very small reefs and structures. Average depth was just 1.5 meters, with two deeper spots of 4 and 8 meters.

This fish was my host: it always followed me in the dives, was not afraid and was looking at me.
1.

Read more...Collapse )
This time I have ~200 underwater pics after I filtered out another half thousand..

28th December 2018

3:51pm: Jacob Speaks: combinatorics
- Папа, а бывает так, что женщина болеет, и поэтому рожает больного ребенка?
- Да, конечно.
- А это всегда так, если мама болеет, то ребенок всегда рождается с такой же болезнью?
- Нет, необязательно. Бывает, что нет. Есть два случая: Мама болеет, ребенок родился здоровый, и мама болеет, ребенок больной.
..
- Папа, дай я что-то скажу! Не два случая, а четыре! Мама болеет, ребенок родился здоровый, мама болеет, ребенок больной, мама здоровая, ребенок здоровый, и мама здоровая, а ребенок больной. Так же тоже бывает?

И этот ребенок никак не может научиться считать до двадцати, и выучить остальные 24 буквы русского алфавита..

27th December 2018

1:58pm: Jacob Speaks: wedding
Jacob, 4y6m.
- Папа, я предложил девочке выйти за меня замуж и родить мне детей, когда мы вырастем. Но она отказалась!
- Наверное, ты ей не нравишься, или неправильно предложил. Ты как ей это сказал?
- Я сказал: Маша, когда мы вырастем, ты станешь моей мамой? А она ответила - нет, у тебя уже есть мама.

23rd December 2018

5:21pm: Vacation
Got back home from vacation.
We met several russian families there, and each and every time they heard us speaking russian, they switched to English or German. That was especially funny when their English was not very good. One of their families, when asked by someone: "What is your native languages?", answered: "My native language is 'ivrit' and we live in New York". (sic, "ivrit", not even Hebrew :). There was one guy who talked with us in good russian (just smalltalk on a beach), but he was from Bulgaria.

Also we were puzzled, when a pharmacist told us that "It is not a high season for Dengue fever yet, and even if it was, it is not a problem. You europeans bring us flu, and you can catch Dengue here, so all is fair.".

I guess in US there are no portraits of Obama on main town square. A bit south of US, there still is:
Powered by LiveJournal.com