Александров Андрей
333 subscribers
1 photo
66 links
Личный блог. Связаться можно через почту aleksandrov@hey.com или телегу @aladmit
Download Telegram
Forwarded from Vitaly Rybnikov
Всем привет!

Поговорим же в эту пятницу за GitOps! Благо, что есть у нас люди, которые уже его потрогали, порадовались и готовы делиться с нами. Обсудим конкретные кейсы, для чего его использовать, где проходит граница ответственности подхода, как делать пайплайны доставки. А также личные фидбеки от тех, кому он нравится, что само по себе бесценно в эти сумрачные времена.

Встреча будет проходить в зуме, мы ждем всех с включенным видео и желанием поговорить. Трансляция будет вестись на youtube и останется там после встречи.

23 октября, пятница, 19:00 (Мск).

Ссылка для подключения: https://us02web.zoom.us/j/83481091268?pwd=VTdSN3U1NVM4eFpIVVhJSDkyU0JlZz09

Ссылка на трансляцию: https://www.youtube.com/watch?v=KzkTDH_dbNo
Даешь синхронную смену тем!

В 7 вечера мой макбук меняет светлую тему на темную и врубает Night Shift. И в целом, это работает замечательно. Весь нативный софт меняет тему вместе с системой, да и появляется все больше сайтов, которые это подхватывают.

Однако, есть два НО! Vim и Alacritty(дико шустрый терминал), которые открыты у меня 24/7, вообще ничего не знают про смену тем 🤦‍♂️ В итоге они либо светлые, когда все темное, либо наоборот.

Запилил на днях пару скриптов, которые это фиксят, мб кому пригодится.

Функция для Vim тут: https://gitlab.com/aladmit/dotfiles/-/blob/master/neovim.j2#L101-110
Там же auocmd, который запускает выбор темы при старте вима.

С alacritty все чуть сложнее.
Нужно в конфиге прописать обе ваши темы и указать их через якорь: https://gitlab.com/aladmit/dotfiles/-/blob/master/alacritty.j2#L150-216
После этого прописать в zsh хук, который вызывается перед выполнением команд.
https://gitlab.com/aladmit/dotfiles/-/blob/master/zshrc.j2#L128-140

P.S. Для работы этого добра надо установить пакетик: brew install dark-mode
Short-lived feature branches

Обычно я упоминаю short-lived feature branches в контексте Continuous Integration, потому что без подобной практики никакой CI у вас в принципе не выйдет, но встречаются они не только там.

Если вы решили пойти в Trunk Based Development, то первое с чем вы столкнетесь, это переход к short-lived branches. Более того, транк накладывает на такие ветки дополнительные ограничения:
- нельзя мержить ветку в ветки других людей
- нельзя мержить в релизную и другие долгоживущие ветки
- в саму ветку может быть смержен только мастер
- ветка мержится только после того как в ней все сделано и после мержа она больше не нужна

Проще говоря, создал ветку, поработал в ней примерно день, смержил в мастер. Транк подразумевает что отходить от этой схемы нельзя, только если в сторону коммитов сразу в мастер.

https://trunkbaseddevelopment.com/short-lived-feature-branches/
Vi-mode в Obsidian

Примерно полгода назад я мигрировал всю свою базу знаний в Obsidian https://obsidian.md

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

Дополнительно все это ускорить помогает наличие в Obsidian Vi-mode. Как обычно, он довольно куцый и до настоящего Vim ему очень далеко, но что есть, то есть ¯\_(ツ)_/¯

К нехватке некоторых команд я как-то привык, а вот без этих двух вещей было прям больно:

1. Нет relative numbers. Т.е. когда нумерация строк идет относительно курсора, помогает быстро прыгать по тексту
2. Нет поддержки русского языка в командном режиме. Очень больно, когда ты пишешь текст на русском, переходишь в командный режим, пытаешься прыгать по тексту, а оно не реагирует, потому что у тебя русский язык 🤦🏻‍♂️

Для решения первой проблемы недавно появился плагин: https://github.com/nadavspi/obsidian-relative-line-numbers Пользуюсь несколько дней, полет отличный, рекомендую.

С поддержкой русского языка в vi command mode оказалось чуть сложнее, плагинов нет. Решил проблему так:
Поставил вот этот плагин для поддержки vimrc: https://github.com/esm7/obsidian-vimrc-support
Взял популярный плагин поддержки русского языка для vim и подправил его под obsidian: https://gitlab.com/aladmit/dotfiles/-/blob/master/obsidian.vimrc
Закидываешь этот файл в <vault path>/obsidian.vimrc и вуаля, vi-mode начинает понимать что ты от него хочешь, даже если у тебя русская раскладка 🔥
Pulumi завершила первый эволюционный скачок к native-провайдерам!

Появился первый провайдер, который покрывает 100% API облака! Терраформу такого и не снилось))
Если у облака появляется новая фича, то она появляется в провайдере спустя несколько часов и это совершенно не требует участия человека!

Релиз просто бомба, очень жду аналогов для остальных облаков 🔥

Подробнее написал на world.hey: https://world.hey.com/aleksandrov/pulumi-native-dd6c045e

ИМХО, читать там текст длинной в страницу гораздо приятнее.
И еще важный один важный момент. В эти выходные я сделал pulumi провайдер для Яндекс.Облака

Репозиторий тут: https://github.com/aladmit/pulumi-yandex

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

В целом, конвертировать из терраформ оказалось довольно просто. Если б еще дока нормальная была и boilerplate допили, было бы вообще хорошо)) Из-за этого полночи на дебаге потерял >.< Но ничего, уже связался с разработчиками, допилим, больше никому так страдать не придется. Как-нибудь отдельным постом напишу как это все работает.
Только что опубликовал перую публичную версию провайдера для Яндекс.Облака для Pulumi 🙂

Если вы используете Pulumi с SDK для javascript/typescript, уже можно пользоваться!

https://github.com/aladmit/pulumi-yandex
PulumiUP 20 апреля в 19:00
Это двухчаосой онлайн-митап от Pulumi.

Я на него зарегался, потому что все три части митапа вызывают у меня жуткое любопытство.

The Vision
Все начнется с рассуждений видения будущего cloud engineering от основателей Pulumi и VP of Engineering из Amazon, Fenergo, Snowflake. Про какое-то видение будущего давно уже никто не говорил, надеюсь услышать свежие идеи, особенно связанных с тем что доформулировалось понятие native provider облака и какой простор это открывает.

The Tools
Тут будет анонс Pulumi’s Cloud Engineering Platform и демо. Что это, пока вообще не известно :) Да, есть риск что все замутили ради этого анонса, очень надеюсь что это не так.

Your Peers
О лучших практиках от в Cloud Engineering от “лидеров индустрии” и пользователей Pulumi. Удивило что в спикерах Charity Majors из Honeycomb! Остальных спискеров не знаю, но они из интересных компаний: Github, JFrog, Snowflake. Интересно, во всех ли этих компаниях есть Pulumi или большая часть из них просто поговорить пришла 🤔 В РФ про опыт с Pulumi ничего не слышно, здорово что про опыт зарубежных компаний есть где послушать.

https://www.pulumi.com/pulumi-up/
Ты бы пришел на встречу в зуме, посмотреть и обсудить митап?
Anonymous Poll
30%
Пришел бы посмотреть и обсудить
44%
Пришел бы зрителем
26%
Мне это не интересно
Совместный просмотр и обсуждение PulumiUP 20 апреля в 19 по МСК

Итоги голосования: 12 человек пришли бы обсудить, 15 послушать. Понятно, что большая часть проголосовавших отвалится по разным причинам, но как минимум есть надежда, что я буду не один))

Почитать подробнее о чем будет PulumiUP, зарегаться и добавить ивент в календарик можно на таймпаде.
https://aleksandrov.timepad.ru/event/1616363/

Ссылка на комнату в зуме придет за час до начала через timepad и будет опубликована в канале. Возможно, будет даже стрим на ютуб и запись, но это не точно ¯\_(ツ)_/¯
К сожалению, опять сегодня нихрена не сплю. Подумал, что раз спать у меня все равно не получается, то пойду хоть сделаю что-нибудь полезное. Например, расскажу тебе свои мысли о платных чатах. Мне кажется, это именно тот формат, в который со временем уйдут все профессиональные сообщества. Возможно, однажды и у меня такой чатик будет 😉

https://world.hey.com/aleksandrov/post-02859a89
Pulumi provider для Yandex.Cloud, над которым я начал работать в середине марта, перешел в руки PulumiCorp!

Только что был первый официальный релиз. Добавлена поддержка всех языков, на сайте опубликована документация по каждому модулю с примерами 🔥

Так что если ты боялся им пользоваться, потому что в какой-то момент мне станет скучно и я на него забью, можешь расслабиться, он в надежных руках))

https://www.pulumi.com/docs/reference/pkg/yandex/
Зум крашнулся :(
Обсуждение PulumiUP, которое я пытался организовать в начале недели, собрало вообще все проблемы, которых я боялся 😅

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

В общем, я надеялся что 99% всей движухи будет общение, а сам PulumiUP будет больше для затравки тем, но в этот раз не сложилось. Ошибку понял, буду делать по другому.

Важных новостей на митапе было всего 4: Automation API теперь GA, Azure Native теперь GA, появилась preview GCP Native, AWS Native будет готов до конца года.

Тем не мнее, после двух абсолютно унылых часов, мы еще почти два часа рассуждали о всяком:
- Кастомные абстракции упрощают жизнь, но усложняют порог входа. Стоит ли оно того?
- Пакеты с абстракциями от Pulumi: awsx, kubernetesx. Стоит ли использовать и какие есть проблемы?
- Какие риски ты на себя берешь, когда выбираешь Pulumi?
- В каких случаях Automation API справится лучше классического подхода?

Вот Automation API тема интересная. Это еще одна попытка перейти из Infrastructure as a Code в Infrastructure as a Software, но про я как-нибудь в другой раз напишу.

Запись обсуждения. https://www.youtube.com/watch?v=bBCWG8HwDgA Там только обсуждение, два часа уныния я вырезал))

Сам же PulumiUP был абсолютным рекламным булшитом, смотреть там нечего. Лучше вместо этого про Automation API почитай, гораздо интереснее будет: https://www.pulumi.com/blog/pulumiup-automation-api-ga/
Статическая типизация в мышлении

Не так давно заметил, что когда я думаю и пишу о больших сложных штуках, то мне это довольно тяжело дается. Не понимаю как выражать связи между ворохом объектов и какие виды объектов тут вообще есть. Мне кажется, так происходит потому что для мышления у нас нет типов, как в языках программирования. Купил курс по онтологике, периодически буду тебе рассказывать как оно помогает решать эту проблему. Если вдруг помогать не будет, то тоже напишу)) Обучение мое начнется 10 мая.

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

https://world.hey.com/aleksandrov/post-ea9072d1
Писать YAML-ы сложнее, чем код

За первые пару недель работы в Evil Martians я насмотрелся на кубовые ямлы и вспомнил на сколько же это все печально выглядит. Кажется, что YAML это просто, но на самом деле работа с ними создает в разы больше когнитивной нагрузки, чем это если это был бы код на языке программирования.

В статье привожу примеры как отказ от YAML в пользу языков программирования помогает справиться со сложностью.

https://world.hey.com/aleksandrov/yaml-1275b69c
Многие мои знакомые покинули страну. Если вы, как и они, покинули Россию, а потом нагрянули санкции от VISA, MasterCard и SWIFT, и вы теперь не видите как финансово поддерживать родных, оставшихся в стране, можете делать это через меня.

Я могу принять доллары на американскую карту или биткоины, и перевести рубли со своей российской карты вашим родным 🤝
В пн-вт буду в Москве, на DevOps Conf + TechLead Conf. В этом году идут вместе на одной площадке в Сколково.

DevOps Conf в этом году про внутренние платформы, инфраструктуру.

TechLead Conf про инженерные практики и архитектуру.

Мне нравится общаться за кофе между докладами, так что если захочется поболтать — подходи)) Найти меня очень легко, обычно нахожусь где-то рядом с едой 😅 Правда, я теперь бороду ношу, так что узнать меня чуть сложнее, чем обычно.

Если ты только собираешься купить билет, то можешь сделать это со скидкой 10% по промокоду DTCcommittee.

Кстати, я только что ревьювил доклад Игоря Курочкина, моего коллеги по enabling.team, там прям 🔥 Что влияет на эффективность платформы, как посчитать сколько команд и людей должно быть в платформе, как посчитать имеет ли смысл тебе ее расширять и т.д. В общем, контент как всегда на уровне)

Доклад Игоря: https://devopsconf.io/moscow/2022/abstracts/9071

Программа и билеты: https://clck.ru/pJQp3