Ivan's work&life thoughts
581 subscribers
369 photos
8 videos
3 files
108 links
Попытка забложить
@jnovikov
Download Telegram
Вчера было ровно 2 года, как мы с женой переехали в Ирландию.

Пост годичной давности можно найти здесь.

В первую очередь мы переехали в Ирландию из-за моей работы, поэтому начну с нее. Буквально месяц назад я получил долгожданное и заслуженное повышение. Буду честен, если бы его не было, я всерьез бы рассмотрел возможности уйти из Гугла или даже уехать в другую страну. Но я здесь. Мне нравится моя команда и то, что я делаю, а еще я очень люблю наш офис: там есть качалка, бассейн и вкусная еда – было бы сложно с этим расстаться.

Почему иногда хочется уехать?
1. Жилищный кризис — мы живем в хорошей, но маленькой квартире и не рассматриваем варианты переехать в другую. Почему? Потому что, цены на аренду даже таких же квартир (по площади и качеству) могут быть сильно выше. Причина в том, что гос-во пытается (у него это не очень получается) регулировать цены и не разрешает повышать ренту больше, чем на несколько процентов в год. Однако это плохо работает, если вы заключаете новый контракт, и получается что гораздо выгоднее сидеть в одном жилье годами. Единственный выход: ипотека, но об этом в другой раз.

2. Визы. Напоминаю, что Ирландия в ЕС, но не в Шенгенском союзе. Из-за этого нам нужно получать визы, а это всё сложнее и сложнее с каждым разом. И даже в UK нужна виза, да. На данный момент, у меня есть шенгенская виза еще на один год, и я очень надеюсь, что потом я смогу получить как минимум еще на один год, но уверенности в этом нет никакой.

3. Зарплаты и налоги. Налоги всё ещё большие, зарплаты хоть и тоже большие, но учитывая налоги и аренду жилья, SWE в Гугле в Ирландии может получать меньше, чем программист в условном Яндексе (на пересчет).

4. Права на вождение авто. Да, я в Ирландии два года, и у меня всё ещё нет прав. Виной тому: очереди на сдачу в год (лично я ждал больше полугода), очереди на пересдачу (жду 3-й месяц пересдачу), и тот факт, что система для сдачи на права тут совсем не готова к тому, что бывают мигранты. И я не был бы так расстроен, если бы не факт, что некоторые категории граждан и мигрантов могут ездить тут по своим правам, и им не нужно тратить 1000+ евро и год+ времени на этот прекрасный процесс. И я бы понял, если бы тут всем нужно было сдавать на права, или бы везде в ЕС не принимали права из РФ, но нет. В некоторых странах ЕС права прекрасно меняют без пересдач.

5. Работа. К сожалению, в Ирландии не так много мест, куда можно пойти работать после Гугла и получить больше денег/плюшек. Да, такие места есть (привет, трэйдинг), но их мало. Так что да, хорошо что мне не хочется уходить из Гугла.


Но почему остаемся ?
Гражданство. Ирландия дает гражданство через 5 лет легального проживания в стране. Осталось прожить всего 3 года, что звучит не так уж и долго, а ирландский паспорт был бы не лишним.
Люди. Мы нашли тут классных друзей и будет грустно покидать их. Мы уже проходили через такой опыт 2 года назад, и этот тот случай, когда не можем повторить.
Ощущения. В Ирландии ощущается спокойно и комфортно. И я верю, что страна может стать еще лучше, спокойнее и богаче, на это есть все возможности.
Природа, климат. Тут очень красиво, жду не дождусь, когда у меня всё-таки будут права и мы исследуем этот и соседний остров вдоль и поперек.
Язык и культура. Быть уверенным, что тебя поймут - огромный плюс в эмиграции. Мне нравится ирландская культура и как люди тут относятся к друг другу.

Ну и вообще, Ирландия — это очень “ламповая” страна. Да, тут бывает холодно и мокро. Да, тут бывают суровые ветра. Да, тут дорого. Да, тут нет метро. Но я смотрю на море, пока еду на работу в электричке. Я могу зайти после хайка выпить свежее местное пиво в паб, который старше всех сталинских высоток, где камин грел ещё ирландских революционеров. А дальше объяснять сложно, нужно сюда приехать, чтобы понять как оно. Кстати, приезжайте, я напишу приглашение на визу.
31🔥7🥰4😢1
Ivan's work&life thoughts
Придумываю задачи сейчас на следующий CTF, думаю "А дай ка проверю вот эту штуку". Результат - за час нашел 2 бага в двух крайне популярных библиотеках на питоне. Баги не критичные, но кажется после CTF'а я отправлю pull-request 🙂
Кстати, забыл похвастаться.

Я заработал себе две новых CVE в библиотеке aiohttp: CVE-2023-49082 и CVE-2023-49081.

В общем-то история достаточно забавная. Решил я значит сделать веб-таск и подумал что прикольно будет дать уязвимость, которая будет основана на CVE в библиотеке Celery, о которой я писал вот тут. Придумал, что дам гаджет — класс с RCE в обработке исключения. Ну и что дам какую-нибудь SSRF с CRLF инъекцией, чтобы можно было написать в Redis свой объект с этим исключением. Думал получится хороший медиум таск. Пока готовил задачку понял, что мне еще и нужна инъекция до заголовка Host, потому что Redis умеет детектить его и предотвращать атаку.

Ну и решил вечером покурить aiohttp, т.к. в стандартном клиенте и requests найти баг сильно сложнее, да и я хотел написать на современном асинхронном питоне.

И буквально через час-два я нашел 2 бага. Оба можно посмотреть на гитхабе, но я напишу тут TLDR.
Первый баг — буквально классика CRLF, передать \r\n в метод (GET, POST, DELETE). Такое находили во многих библиотеках, которые позволяют указывать метод как строковый параметр.

Второй баг уже прикольнее. Разработчики aiohttp решили что удобно будет сделать версию HTTP как NamedTuple с двумя полями (major, minor). Например, в коде библиотеки можно найти вот такую константу:


HttpVersion11 = HttpVersion(1, 1)

При создании запроса первая строчка задается как




status_line = "{0} {1} HTTP/{2[0]}.{2[1]}".format(
self.method, path, self.version


Без валидации. В общем-то хороший пример что питоновской системе типизации доверять не стоит, потому что в качестве NamedTuple можно передать любой массив (например JSON-decode от пользовательского ввода).

Патч можно посмотреть вот тут.

В итоге второй баг пошел прямо 0-дэйем на соревнования, и таск резко превратился в сложный. Его решила одна команда и я был очень рад этому. Посмотреть таск и райтап можно тут.

Мне этот опыт показал, что искать баги на самом деле не так сложно. Казалось бы, библиотека c огромной пользовательской базой, но через час-два просмотра было найдено 2 уязвимости.

В прошлом году ради задачи я нашел одну CVE, в этом году нашел две. Буду надеяться, что в следующем году найду еще больше 🙂
👍27🔥11
У меня накопилось несколько идей для постов (итоги года, например), но на новогодних каникулах было не до этого, а 2го числа я уже клацал по клавишам на работе, так что посты будут, но позже.

С запозданием отреагирую на вот эту новость:
https://www.bbc.com/russian/articles/c13y5pvp035o

На работе в чатиках есть несколько людей, кто лично были знакомы с Никлаусом. И это очередное напоминание насколько молода наша индустрия. В одной компании могут работать люди, которые научились программировать благодаря майнкрафту и люди, которые были там 3000 лет назад работали/знакомы с первопроходцами индустрии (хотя в Гугле вообще некоторые первопроходцы работают).

Про себя скажу только то, что моим первым языком программирования был Turbo Pascal. Сложно забыть это чувство: компьютерный класс мытищинской школы, тяжелые бежевые пластиковые клавиатуры, синий экран, белые и желтые буквы.

Забавно, но сейчас синтаксис паскаля многим кажется современным. Интересно, что все мои коллеги старше меня, но про паскаль некоторые даже не слышали.

Press F, короче.
13😢8👍1
Слон как обычно слонит
👍13
Forwarded from Заметки Слонсера (Slonser)
История одной уязвимости в Chrome

Очень простая уязвимость, которую я нашел в Google Chrome. И за которую получил 16000$.
Попытался дать побольше контекста, чтобы увеличить пользу от прочтения материала.
Habr
Twitter
P.S. Лучшей благодарностью, если вам понравился материал - является его распространение.
👍12
Один десятичасовой прямой перелет перенес меня из пасмурного Дублина в солнечный Сан-Франциско.

А ведь 100+ лет назад для этого требовалось около 72 часов...
https://ru.wikipedia.org/wiki/%D0%A2%D1%80%D0%B0%D0%BD%D1%81%D0%B0%D1%82%D0%BB%D0%B0%D0%BD%D1%82%D0%B8%D1%87%D0%B5%D1%81%D0%BA%D0%B8%D0%B9_%D0%BF%D0%B5%D1%80%D0%B5%D0%BB%D1%91%D1%82_%D0%90%D0%BB%D0%BA%D0%BE%D0%BA%D0%B0_%D0%B8_%D0%91%D1%80%D0%B0%D1%83%D0%BD%D0%B0
🔥175🤔4👍3
Нашел причину для переезда в Долину
25😁6🔥5👎2😱2👍1🤯1
Про Калифорнию. Часть 1 — работа.

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

В итоге поездка оставила смешанные чувства.
Я и до этого понимал, что в США более интересные проекты, но тут я по сути это подтвердил. Конечно, весь менеджмент говорит как важны офисы в Европе (и конечно они важны, если бы они были бесполезны, то их бы просто закрыли), но всё равно главные решалы по большинству проектов находятся в Штатах, как и самые крутые проекты.

Это ощущается и в том, что ты можешь просто в офисе натолкнуться на тех.дира вашего отдела и быстро за кофе с ними поговорить о чём-то или пойти докопаться до создателя ANTLR’а, который сидит на соседнем этаже. Ну, и конечно, офис в Калифорнии это центр принятия всех важных решений (тут находятся более-менее все старшые менеджеры, хотя есть и исключения).

Я думаю, что корректно сравнить это с Московским офисом Яндекса. Когда я был в офисе до пандемии (еще стажером), то было ощущение, что вот прямо тут всё и происходит. Интересно, как чувствуют (чувствовали) себя ребята из офисов в Питере или Минске.

Получается, что в Калифорнии больше зарплаты, интереснее проекты и кажется, что легче на что-то повлиять (потому-что можно объяснить свою идею за 5-10 минут и быстро донести её до нужных людей).
Если рассмотреть работу в Гугле в вакууме, то однозначно надо ехать работать туда.

Но центральный офис Гугла не находится в вакууме - он находится в США, Калифорнии. Так, почему сразу не поехать в США или не переехать сюда сейчас?
🔥122👍1🤔1
Недавно обнаружил для себя функцию t.Helper() для testing.T в Go (для бенчей и фаззеров тоже есть).

Для тех кому лень перейти по ссылке:
Helper marks the calling function as a test helper function. When printing file and line information, that function will be skipped. Helper may be called simultaneously from multiple goroutines.

Выглядит удобно — можно понять что тест упал из-за хэлпера без раскручивания стэктрейса.

Ну и вообще для тестов это удобный паттерн, когда вы выносите обработку ошибок инициализации тестовых данных в функции-хелперы


someStuff := prepareTestStuff(t, …) // prepareTestStuff will call t.Fatalf() if error occures.


Вместо


someStuff, err := prepareTestStuff(…)
if err != nil {
t.Fatalf(“failed to prepare stuff”)
}


Короче пользуемся.
👍6🔥2
Сегодня рядом с нашим домом в Ирландии случилось ДТП с фатальным исходом.

Новость ужасная, но меня каждый раз поражает с какими цифрами мы тут имеем дело.

На момент 24го апреля 2024го года в Ирландии по официальной статистике погибло 66 человек. По всей стране. Почти за полгода.

За такой же период в 2023м погиб 51 человек. И в СМИ можно найти заголовки о том, как политики и активисты начинают бить в барабаны и призывать что-то с этим сделать.

Для сравнения, в России за март этого года в ДТП погибло 805 человек.

Конечно это сравнение несправедливое, население Ирландии почти в 30 раз меньше. Но кажется если делать качественный анализ Россия все-равно окажется не в лучшей позиции.

Drive safe.
15😁4👎1
У нас тоже было красиво
🔥347🤔2
Ух, как же я забыл, что у меня есть канал. Я успел ещё раз на 2 недели съездить в США и написать еще пару заметок, но вот пока “Часть 2. Про жизнь в США”.
16
Миграционная политика.
Попасть в США легально непросто даже айтишнику. Даже с оффером от Гугла ты всё равно участвуешь в лотерее. Да, это не лотерея гринкарт, шансы в этой сильно выше, но всё ещё лотерея (речь про визу H-1B). При этом, если тебя сократят, то с большой вероятностью, ты поедешь домой. Я не говорю, что это плохо, их страна - их правила, но просто это важно иметь ввиду. Причем миграционные правила США это отдельная история. Я провел свой мини-ресерч и кажется, проще попасть в страну нелегально, чем будучи востребованным айтишником ехать работать. Not a legal advice.

Теперь поговорим о денежках: зарплаты программистов в Калифорнии в 2-2,5 раза выше, чем в Европе. А налоги ниже. Да, даже в Калифорнии. Я много раз считал, и получалось, что учитывая все налоги (на базовую зп, акции, премии) и стоимость аренды жилья, оставаться на руки у тебя будет больше. Иногда значительно.
Для сравнения: в Ирландии налог на бонусы/стоки ~52%, а в США ~26% (!). Я правда завидую моим коллегам из США, потому что они получают сильно больше денег, делая такую же работу.

В общем-то, главный совет этой заметки: если вы молодой умный востребованный специалист и у вас есть выбор между США и Европой — выбирайте США однозначно. Всегда успеете переехать в Европу с большими накоплениями из США (если будете много и хорошо работать).

А что там с жизнью? А это очень интересный вопрос. Когда люди слышат “Калифорния, Силиконовая Долина”, то возникает в голове что-то технологичное и футуристичное. Так вот, про это можно сразу забыть. Да, в Сан-Франциско ездят робо-такси от Гугла, каждая 5-я машина (субъективно) работает на электричестве. Но! Вы скорее всего не будете работать в СФ. Например, Гугл по сути находится в двух городах Mountain View и Sunnyvale. От этих городов ощущение деревни. Нет, не кибер-деревни. Просто деревни с хорошим климатом, дорогими машинами и мексиканскими забегаловками. Например, это выражается в среднем плохим интернетом (как домашнем, так и мобильном). Моему коллеге натурально предлагали подключить ADSL в 2023-м году. Что-то типа 10 мб/с за огромные деньги. Ещё бы Starlink не взлетел в такой стране! 🙂

Безопасность.
В самой долине я не встречал много бездомных и маргинальных людей. Когда приезжал в Сан-Франциско встречал пару-троечку. Но при этом на парковках часто бывают напоминания: “Не оставляйте в машине ничего ценного”. Ужасно отвык от этого.

Ну и да, в Калифорнии тепло. Есть много хайков. Много бассейнов: можно легко найти многоквартирный комплекс с общим подогреваемым бассейном и гриль-зоной.

Еда в магазинах в среднем так-себе, но есть магазины с хорошей едой (а-ля Вкусвилл) и я бы не сказал, что там прям дорого по меркам Калифорнии. Есть не дома можно очень дешево, можно относительно healthy, но уже дороже. Если захотеть, можно вообще себе не готовить и жить на доставках, как в Москве.

Мой итог: я бы поехал туда строить карьеру и зарабатывать деньги и опыт.
Скорее всего, я и поеду, если с Гуглом все будет хорошо или если найду там хороший оффер. Но не сейчас. Пока я нужен своей команде в Ирландии, да и до подачи на гражданство осталось около 2,5 лет.
30🔥5👍2🤔1😢1
Сходили тут на концерт Монеточки в Лондон. Это было прекрасно!
Начну издалека. 2017 год, Екатеринбург, мы идем в УРФУ из отеля/хостела. Приехали играть RuCTF как Shadow Servants, но от МШП поехала команда школьников. Школьник Илья Ц. говорит: “О, из Екатеринбурга же Монеточка! Которая поет “мама, я не зигую’”. Так я и узнал о Лизе. И мне сразу понравилось, периодически слушал, ставил девушке и семье.
Прошел год, выходят “Раскраски для взрослых” и Лиза из интернет-девочки становится настоящей звездой. Мои коллеги тогда подарили мне на день рождения (в начале мая), билет на концерт 1 июня 2018г. Вроде бы это был ее первый концерт в Москве, который Лиза играла в свой ДР. Билеты были раскуплены все. Концерт был неплохой, помню как я сильно порадовался, когда на сцену вышел Ваня Нойз.

Прошло 6 лет. Я всё ещё слушаю Noize MC и Монеточку. Монеточка выросла до звезды всенародного масштаба. В нашей семье её слушают и любят все поколения. Их тандем с Витей подарил нам новый прекрасный альбом, который зацепил всех, но по-разному.
“Это было в России” — интернет-феномен, важный аудиоряд для ностальгических shorts. “Селфхарм” — романтичная песня, которая запала многим влюбленным людям. Ну и “Кис Кис Кис” — шедевр в своем жанре. Если вы еще не слушали “Молитвы. Анекдоты. Тосты.”, то я вам крайне рекомендую.

Концерт — пушка, бомба. Лиза играла с полноценной группой, превращая свои инди-песни в настоящие рок-хиты. Хотя не упустила шанс и поиграть нам в соло на фортепиано свои старые треки. Отдельное удовольствие, когда весь зал в Лондоне поёт: “Менту сердечко не поставлю хоть убей”.

Напоследок выдам базу: Лиза сделала для пропаганды традиционных семейных ценностей и материнства больше, чем любой чиновник/политик в РФ.

PS: фото с разницей в 6 лет.
17👍11👎5🔥5😁4😢1