Igor Sikorsky

Украина 2019, первый тур + Гаусс

Русские обожают после всевозможных выборов рассматривать их результаты под лупой статистики. Особенной любовью русских математиков пользуются график - доля кандидата на участке/общее число голосов за кандидата на участках с такой явкой. Типичный анализ такого рода выглядит так: https://romanik.livejournal.com/615924.html

Несколько часов назад закрылись избирательные участки на Украине. К счастью, украинский избирком публикует данные по участкам, что делает возможным такого рода анализ. Пример данных украинского ЦИК: https://www.cvk.gov.ua/pls/vp2019/wp336pt001f01=719pt005f01=11.html "'а

Я быстренько скачал имеющиеся на данный час данные, распарсил и построил соответствующие графики для пары Порошенко/Тимошенко (как за борющуюся за второй тур).

Имеем следющую картину:


. Когда мы смотрим на голоса за Порошенко, то видим участки трех сортов:
- где он набирает 9%
- где он набирает 24%
- где он набирает 44%
На точно таком же графике для Тимошенко мы видим, что все участки одного "сорта".

В России обычно такие графики трактовались таким образом:
- два из трех "Гауссов"' Порошошко - это результат вброса
- честная доля Порошенко - 9%
- честная доля Тимошенко - 14%

Я и в случае русских выборов, и в случае украинских никаких выводов делать не буду вообще.

Все исходные данные, таблицы и код тут:
https://github.com/evilmucedin/ukraineElection2019

Когда опубликуют 100% участков, я пересчитаю.

PS Просьба всех украинских друзей, которые готовятся написать комментарий "опять эти москали учат нас демократии", этот комментарий не писать. У автора нет никакой собственной позиции по украинским политическим вопросам. Тут речь об электоральной математике, где постсовок впереди планеты всей.
Igor Sikorsky

go to II

Арсенал команд большинста процессоров для организации ветвлений исчерпывается различными видами условных переходов. Первые программисты за первые пару десятков лет неплохо научились ими пользоваться для создания довольно больших программ. После появления языков программирования высокого уровня, накопленные техники никуда не исчезли. Одна из самых важных gotoборческих статей написана Эдсгером Дейкстрой в 1968-ом году (кстати, бложек Дейкстры http://www.cs.utexas.edu/users/EWD/ - это один из лучших бложиков ever). После непродолжительного десятилетнего флейма gotoборцы забороли gotoфилов. Победила точка зрения, что процедур/while/if достаточно для всего. Несмотря на эту яркую победу, широкое использование goto прекратилось лишь более-менее с выходом на тот или иной род пенсии людей, которые этому стилю обучились в молодости. Не стоит недооценивать силу плохого, но систематического образования. Я, например, хвастаться тут нечем, тоже пишу последние пятнадцать лет в стиле, которому был обучен еще в старших классах школы.

Я с большим интересом слежу за реинкарнацией goto на новом техническом уровне. Отчего-то мне, старперу, вся это любовь к лямбда/горутинам/async/await кажется в большинстве случаев неуместным способом ускорить фазу написания кода в ущерб его читаемости. А ведь чтение кода занимает большинство времени в реальных проектах. Не, конечно, корутины/горутины/fibers предоставляют совершенно былинные возможности по управлению графом выполнения. Например, можно преобразовать генератор на callback'ах в IEnumerator без модификации самого генератора:

Collapse )

Я даже не понимаю, почему столь широкие возможности fibers не были по достоинству оценены разработчиками, заботящимися о своей job security.

Но все проблемы с читаемостью горутин, конечно, меркнут по сравнению проблемами, возникающими с некоторыми попытками написать многопоточную программу. Вот там есть настоящий простор для головоломок, к решению которых мозг человека никак не приспособлен.
Igor Sikorsky

small update about handling your CVs

Извиняюсь за задержку с ответами на ваши резюме. Проблема в том, что я получил _сильно_ больше резюме, чем рассчитывал и чем может обработать моя команда за следующие шесть недель. Поэтому за выходные я волюнтаристски отберу по резюме тридцать человек, для которых мы организуем часовое собеседование по Skype в течении следующих двух недель, по результатам которого мы отберем ~10 для полной процедуры собеседования. Остальные резюме я передам своим коллегам, которые сейчас нанимают. Спасибо.
Igor Sikorsky

Bing Index Quality team is hiring

Команда Bing Index Quality активно ищет C#/C++-разработчиков, которые помогут улучшить качество поиска Bing. Вакансий у нас довольно много, поэтому если вам нравится программировать, вы знаете C# или C++, умеете или хотите научиться Informational Retrieval, то присылайте резюме на английском на Den.Raskovalov(at)microsoft.com Физически мы находимся в прекраснейшем городе на Земле - Bellevue, куда с большим удовольствием перевозим. Если есть вопросы, отвечу в каментах или личке.

PS Кстати, в газетах пишут, что Bing начал приносить прибыль: http://microsoft-news.com/microsoft-expects-bing-to-be-profitable-on-a-standalone-basis-in-fy16/
PPS Важная дата - 31 марта. Это последний день подачи заявок на H-1B визы в ГосДеп^W USCIS.
Igor Sikorsky

Bing Core Relevance team is looking for summer interns

Bing Core Relevance Team (Bellevue, WA, USA) ищет интернов на лето 2015. Если вы - студент/аспирант, которому интересен Informational Retrieval, вы любите и умеете писать на C++ и/или C#, хочется посмотреть изнутри, как не работают огромные IT-компании, то присылайте резюме на английском на Den.Raskovalov(at)microsoft.com Было бы круто, если бы кроме абстрактного интереса к IR, было бы на что посмотреть или пощупать из созданного вами :)
Igor Sikorsky

каста писцов

Свойство "быть способным порождать нетривиальные тексты", как и большинство подобных навыков, на ~50% определяется наследственностью, а еще на ~30% - семейным воспитанием. Свойство это, кстати, если вдуматься, довольно редкое. Например, я не смог вспомнить лишь 2-3 моих одноклассников или однокурсников, которые породили хоть раз какой-либо нетривиальный текст (а ведь почти все они - люди неглупые, как минимум). Даже формально бесклассовое советское общество с обязательной поголовной грамотностью и уроками литературы, входящими в обязательную школьную программу, ситуацию, AFAIK, поменяло не сильно. Как существовала каста интеллигенции, в последний раз в России перетряхнутая Сталиным, так и продолжает существовать. Человечество записало себе в актив всеобщее качественное образование, пару раз поменяло технологию передачи информации, научило почти всех информацию потреблять, а как создание смыслов было прерогативой касты писцов в Древнем Египте, так и осталось прерогативой узкой наследственной касты в веке XXI. Почти вся литература - это, собственно, хронология внутренних переживаний этой касты. Есть иллюзия, что в век интернета, любой может породить "нетленку", поменяющую хоть для кого-то хоть что-то. Нет, этот навык передается накрепко вместе с пакетом из ценностей, мировоззрения, комплексов, страхов, интересов и первым кругом общения.

К чему это я? Оставлю, как напоминание самому себе, что не надо так удивляться, открывая ленту в FB. Это просто другие люди, сынок.
Igor Sikorsky

Еще одна тупая аналогия. Эволюционная динамика/корпоративная динамика.

Медленно перечитываю замечательную книгу Маркова "Обезьяны, нейроны и душа". Очень рекомендую, кстати. Пятая глава рассказывает об эволюции альтруизма. Альтруизм, позволю себе напомнить, это - свойство особи, позволяющее направлять свою энергию не только на максимизацию продолжительности своей жизни и числа своих потомков, но и на помощь своему виду/роду/племени/народу/нации.

Collapse )
Igor Sikorsky

собеседования

Каждый раз, размышляя про порочность практики собеседования разработчиков, вспоминаю про "Восьмичленное сочинение" и Кэцзюй вообще. И знаете что? Самая стабильная мировая империя. Так что будем и впредь сортировать числа, обходить деревья и переворачивать односвязные списки. Ура, товарищи. Главное же что? Понятная, предсказуемая система без непотизма. И ботать, ботать, ботать.

Collapse )