пятница, 4 сентября 2020 г.

Jus soli, jus sanguinis

Сегодня, в очередной раз пролистывая свой загранпаспорт, я задумался о том, насколько в современном мире неуместна такая концепция, как гражданство по праву чего-то. Как известно, подавляющее большинство стран выдает гражданство либо по праву крови ("Jus sanguinis"), либо по праву земли ("Jus soli"). Правила различных стран в этом смысле немного отличаются, но мы не будем лезть в детали — это сейчас не важно. Важно то, что как только человек рождается — ему жёстко присваивается гражданство какой-то одной страны, а сам человек остаётся без права выбора. В некоторых случаях, например, если у родителей гражданства разных государств, то выбор делают родители. Но у самого этого человека нет возможности повлиять на ситуацию.

И всё бы ничего, но гражданство связано с огромным количеством ограничений, которые человек присваивает себе вместе с гражданством. Это самое гражданство не так уж просто сменить. Да, в теории такая возможность есть у всех, но давайте будем честны — у 95% людей, даже при наличии желания его сменить, на практике такой возможности нет. Самое интересное, что ограничения связаны не с твоей личностью, не с твоими взглядами, не с твоими действиями, а просто с местом твоего рождения (либо с местом рождения кого-то из твоих предков).

Допустим, человек живёт в государстве X. Но при этом он не согласен с законами государства X и не поддерживает президента государства X. Зато человек согласен с законами государства Y и поддерживает его президента. Почему бы не дать возможность человеку свободно перейти из X в Y? В современном мире обе стороны, и X, и Y, сделают всё возможное, чтобы процесс смены гражданства был как можно больнее и как можно дольше. Кому от этого хорошо? В X на одного недовольного гражданина больше, а в Y на одного лояльного гражданина меньше.

Почему бы не дать возможность человеку выбрать гражданство тогда, когда он сможет сделать осознанный выбор? Например, в 18 лет? На самом деле, можно реализовать это как угодно. Главное, чтобы этот выбор был. Тогда появится конкуренция за население. Может быть тогда государства начнут соревноваться не в том, сколько лет очередной диктатор-колхозник проведёт на троне, а за более крутые условия для жизни населения.

Сложно поверить, что в современном мире, где уже несколько десятков лет присутствует борьба за равноправие, поднимаются вопросы о меньшинствах и феминизме, может уживаться такая концепция, как гражданство по праву чего-то. Понятно, что проблема в том, что все страны должны осознать проблему и договориться об общем правиле переноса гражданства. А поскольку в мире не существует какого-то супергосударства, которое бы всех контролировало и могло привести всех под общий знаменатель, то договариваться они могут ещё долго. Но я верю, что через 200 лет мир будет устроен именно так.

вторник, 31 декабря 2019 г.

Итоги 2019 года

Я решил поддаться тренду и на волне уходящего 2019 года подвести его итоги, тем более что этот год выдался довольно насыщенным.
В целом этот год запомнился мне огромным количеством разных путешествий и перелётов, множеством новых знакомств и несколькими крупными покупками. Но обо всём по порядку.

Автомобильное родео


Наверное, самое важное, что со мной случилось в 2019 — произошло в Сиэтле с мая по август. Это не какое-то одно событие — это целая последовательность событий, объединённых одной целью. По количеству новых знакомств, впечатлений и опыта я думаю это не сравнится больше ни с чем в 2019 году, поэтому я начну с этого. Для начала я дам немного контекста. С сентября 2018 года я начал работать на Polarr — это небольшая компания с офисом в Сан-Хосе, штат Калифорния. Начал я работать на них как удалённый сотрудник, но с обещанием в скором времени переехать по H1B в Сан-Хосе к ним же. Ещё в 2018 я как-то совершенно случайно и по инерции получил от Microsoft оффер на стажировку. Чуть позже у меня возникла безумная идея съездить на стажировку в Microsoft, параллельно работая удалённо на Polarr. Стажировка начиналась в мае 2019. В мае я всё ещё работал удалённо, поэтому это было вполне реализуемо. У меня получилось это провернуть, и с мая по август я фактически работал на два фронта: Polarr и Microsoft!
Это было отступление для контекста, а теперь ближе к делу. У меня была давняя мечта: понаваливать на каких-нибудь современных спорткарах вроде Lamborghini Huracan, а в штатах, как ни странно, намного проще находить подобные автомобили. Поэтому по приезду в Сиэтл я составил себе список из автомобилей, на которых я обязательно должен погонять до того, как я покину Сиэтл. Этот список включал в себя:
  • Porsche 911
  • Ferrari 458
  • Lamborghini Huracan Performante
  • Nissan GT-R
  • Chevrolet Corvette
  • Jaguar F-Type V8s
  • BMW M4 Competition
  • Mercedes C63s AMG
Цель — найти каждый автомобиль из этого списка и погонять на нём минимум один день. Забегая вперед, скажу, что цель я успешно выполнил. Но суть тут не в том, что я поездил на всех этих спорткарах, а в том, каким образом я их находил и какие были побочные эффекты :)
Итак, я прибыл в Сиэтл. От Майкрософта (у них контракт с AVIS) мне досталась Toyota Camry в новом кузове. Однако мне этого было недостаточно, и я арендовал на long term старенький, но от этого не менее эмоциональный Mercedes SL55 AMG (он был на чипе). Владелец этого SL55 был автомобильным энтузиастом и имел своё тюнинг-ателье. У нас завязался разговор с владельцем SL55, и я спросил его, нет ли у него 911. Оказалось, что 911 есть у его знакомого. Недолго думая, я ему написал и попросил встретиться. Товарищ оказался таким же автомобильным энтузиастом. По разговору с ним я понял, что 911 Carrera S ему уже давно надоела — она не первый год пылится в гараже, а он никак не может её продать. И тут я предложил ему устроить обмен тачками на один день: он катается на "моем" (на самом деле арендованным) SL55, а я беру его 911 Carrera S. До того момента я слабо верил, что кто-то может на такое пойти, на на удивление чувак воспринял это предложение позитивно. Даже если закрыть глаза на то, что весь обмен держится на добром слове, тут есть ещё большой риск, связанный со страховкой — в аварии попадать в течение обмена категорически нельзя. Но жажда новых впечатлений всё равно берёт верх, и человек соглашается (всё таки SL55 не менее харизматичный автомобиль, чем 911, и поездить на нём все хотят). В итоге я получил 911 полностью бесплатно (если не считать аренду SL55).
Конечно же я мог просто пойти и арендовать Porsche 911 на один день. Но тут нужно понимать один важный момент — арендовать один автомобиль на long term гораздо дешевле, чем много автомобилей на short term. Да и если бы я их просто арендовал, получилось бы слишком скучно :)
Как несложно догадаться, я провернул подобную схему почти с каждым автомобилем из списка (исключение, разве что, GT-R с Huracan Performante), находя всё новых энтузиастов для обмена. Новая машина — новый квест. Каждый такой квест с поиском очередной машины был совершенно не похож на предыдущий и генерировал множество знакомств. В итоге ездил я на них совершенно бесплатно. Но самое важное в этой истории то, что эти энтузиасты сами по себе были довольно интересными личностями: богатыми и влиятельными. Я плавно расширял круг знакомств, обрастая новыми связями с каждой новой машиной из списка. Так что из этой истории получился абсолютный win-win:
  • Отлично прокачивается скилл убеждения и прочие софт-скиллы
  • Расширяется нетворк, появляются полезные знакомства
  • Ну и, конечно же, море эмоций за рулём спорткаров!
Так что нетворкинг непобедим, друзья! Нужно верить в людей и в силу нетворкинга. Всем советую попробовать провернуть что-то подобное, буря эмоций и новые знакомства гарантированы.

Первый стажер

Ещё одним ярким впечатлением стала моя первая серьезная попытка менеджить людей в течение длительного времени. В Polarr мне довелось поменеджить летнего стажера из Стенфорда, который пытался реализовать мой проект. Тут я наступил на десятки граблей, иногда даже по нескольку раз, зато получил бесценный опыт и сильно прокачался в новом для себя деле. Это ещё один шаг в сторону своего стартапа в штатах, что является моей глобальной целью на следующий год. Благо контакты инвесторов я уже знаю и какие-то инвестиции поднять точно смогу, осталось только менеджерские скиллы прокачать.

H1B

Да, наконец-то в 2019 получил H1B. Считаю это событие достойным этого списка :) Но добавить тут особо нечего.

Покупка мерседеса

Тут тоже особо без комментариев. Этот товарищ показал мне, что такое настоящая свобода передвижений (без сносок и ограничений), попутно высосав кучу $ и свободного времени :) Ну и возможность ковыряться и кастомизировать личное ТС бесценна, это самый главный бонус для меня.

понедельник, 29 октября 2018 г.

Massachusetts Institute of Technology


В начале октября я оказался в Бостоне и пожил в кампусе MIT (Massachusetts Institute of Technology). Я думаю большинство читающих людей уже и так давно знают, что это за место, но just for the record: MIT — первый технический университет почти во всех мировых рейтингах.
Так получилось, что я пожил там какое-то время. За это время я успел осмотреть весь кампус внутри и снаружи, познакомиться с PhD-студентами, наделать кучу фотографий и узнать про PhD-программу по CS. Поэтому я решил оформить всё это дело в один большой пост.


четверг, 27 июля 2017 г.

Игра на определение изоморфных графов

Сделал игру на JS и HTML.
Среди трех вариантов нужно находить граф, изоморфный данному на скорость.
Ссылка на игру — http://isomorphism-game.xpast.me/

воскресенье, 31 января 2016 г.

Dota 2: статистика винрейтов по длительности матча

В течении нескольких недель я собирал статистику матчей по всем героям. Обычный winrate можно посмотреть на dotabuff.com. Но обычный winrate не имеет какого-то осмысленного значения. Я построил графики winrate/duration, т.е. сила героя в зависимости от продолжительности матча, которые, на мой взгляд, более интересны. Вот примеры:

Тут уже отчётливо можно отличить саппортов от керри, а также прослеживаются другие интересные моменты.
Полная ститистика доступна по ссылке - http://imgur.com/a/aSHTu

четверг, 21 января 2016 г.

Логистическая регрессия: как оценить $P(y | x_1, ..., x_n)$, зная $P(y | x_1, ..., x_{k-1}, x_{k+1}, ..., x_n)$

Допустим, есть следующая проблема: есть набор данных и мы считаем какую-то статистику. Допустим, для любого $k \in [1, ..., n]$ по исходным данным мы можем посчитать $P(y | x_1, ..., x_{k-1}, x_{k+1}, ..., x_n)$, но не можем посчитать $P(y | x_1, ..., x_n)$, т.к. исходных данных слишком мало. Как оценить $P(y | x_1, ..., x_n)$ через $n-1$-элементные подмножества?
Обозначим
$$p_{1,...,n} = P(y | x_1, ..., x_n)$$
$$p_{1,...,k-1,k+1,...,n} = P(y | x_1, ..., x_{k-1}, x_{k+1}, ..., x_n) = \overline{p_k}$$
Давайте применим модель логистической регрессии. Нам известно, что
$$p_{1,...,n} = P(y | x_1, ..., x_n) = \frac{1}{1 + e^{-(t_1 + ... + t_n)}}$$, где $t_i = \beta_i x_i$ для некоторого $\beta_i$, т.е. $\ln \frac{p_{1,...,n}}{1 - p_{1,...,n}}=t_1 + ... + t_n$ (линейно зависит от $n$ переменных).
Тогда $\overline{p_k}$ зависит от $n-1$ переменной, а именно
$$\overline{p_k} = \frac{1}{1 + e^{-(t_1 + ... + t_{k-1}+ t_{k+1} + ... + t_n)}}$$
$$\ln \frac{\overline{p_k}}{1 - \overline{p_k}}=t_1 + ... + t_{k-1}+ t_{k+1} + ... + t_n$$

Тогда

$$\sum_{k=1}^{n} (t_1 + ... + t_{k-1}+ t_{k+1} + ... + t_n) = (n-1)(t_1 + ... + t_n)$$

Действительно, суммируем $n-1$-подмножества $n$-элементного множества, значит каждый элемент $t_k$ "отсутствует" ровно один раз. С другой стороны

$$\sum_{k=1}^{n} (t_1 + ... + t_{k-1}+ t_{k+1} + ... + t_n) = \sum_{k=1}^{n} \ln \frac{\overline{p_k}}{1 - \overline{p_k}}$$

И получаем, что

$$\sum_{k=1}^{n} \ln \frac{\overline{p_k}}{1 - \overline{p_k}} =  (n-1)(t_1 + ... + t_n)$$

Откуда

$$t_1 + ... + t_n = \frac{\sum_{k=1}^{n} \ln \frac{\overline{p_k}}{1 - \overline{p_k}}}{n-1}$$

Подставляем это в выражение для $p_{1,...,n}$ и получаем окончательную формулу:

$$p_{1,...,n} = \frac{1}{1 + (\prod_{k=1}^{n} \frac{1-\overline{p_k}}{\overline{p_k}})^{\frac{1}{n-1}}}$$