# Понедельник 67 твитов
Привет!
Меня зовут Антон Кастрицкий - @AntonK52, на этой неделе будем общаться про доклады, обучение, чаты, типизац… twitter.com/i/web/status/1…
Работаю в Партнёрских Интерфейсах Яндекс.Маркета, иногда читаю доклады на конференциях, но чаще копаюсь в конфигах.
8:43Работаю в ПИ последние 3+ лет, последние полгода работаю руководителем и посещаю много встреч🗓
(если не отвечаю ва… twitter.com/i/web/status/1…
8:43Будет много грамматических / орфографических ошибок и опечаток в целом. Не ругайте строго 🙂
8:43Я пишу много заметок для себя и часто их накапливается критическое кол-во и они перерастают в всодержимое доклада.… twitter.com/i/web/status/1…
9:33Надеюсь у меня получилось убедить вас что я немного умею рассказывать что то на публику и теперь можно рассказать к… twitter.com/i/web/status/1…
9:33Многим кажется, что им не о чём рассказать, но это не так.
Если у вас есть друг/подруга, и вы знаете что им точно… twitter.com/i/web/status/1…
9:33Если вы на митапе/конференции, и вам понравился доклад, обязательно напишите об этом это докладчикам. Им будет приятней, чем вы думаете😊
9:33То же самое касается и записей на ютубе, поставить лайк и/или комментарий несложно. Это будет отличным мотиватором… twitter.com/i/web/status/1…
9:33Тут отдельное спасибо @r3nya за помощь с подготовкой моего первого доклада и @webmaxru , увидел его твит со своего… twitter.com/i/web/status/1…
9:33Чем больше эта проблема задевает вас за живое, тем проще и интереснее у вас получится подготовиться и рассказать об этом.
9:33Делайте заметки, большая часть моих докладов выросла из большого кол-ва заметок по одной теме
9:33Содержание любого доклада можно разбить на несколько частей
9:33Слушателям должно стать очевидно, есть ли у них есть эта проблема, считают ли они это проблемой и могут ли они с не… twitter.com/i/web/status/1…
9:334. Заключение - подводим итоги доклада, что слушатели могут пойти и сделать уже сегодня/завтра и этим улучшить качество жизни.
9:33Не стоит растягивать на несколько слайдов, одного слайда с булет списком должно быть достаточно.
Если вы не можете… twitter.com/i/web/status/1…
9:33Следующая пачка твитов будет про офрмление слайдов 🧑🎨
9:33Если у вас в компании есть корпоративный стиль, то им можно пользоваться, это снимает с вам лишнюю работу
11:17А если нет, то всё в порядке, в интернете полно готовых шаблонов для слайдов. Главное что бы ваши слайды имели конс… twitter.com/i/web/status/1…
11:17Не нужно пытаться положить много информации на один слайд. Если на нём будет много текста, то люди начинают читать… twitter.com/i/web/status/1…
11:17Не задерживайтесь на одном слайде дольше пары минут. С помощью слайдов вы можете помогаете концентрировать внимание аудитории на докладе.
11:17Если у вас будут примеры кода, пожалуйста, используйте СВЕТЛУЮ ТЕМУ ⬜️🔳⬜️
11:17Если вам не повезёт и будет слабенький проектор, светлайя тема - единственное что убережёт вас от неловкого проговаривания кода вслух 😅
11:17Можно и нужно добавлять мемы/шутки в доклад. Но не стоит перебарщивать с этим. Они помогают расслабить аудиторию и… twitter.com/i/web/status/1…
11:17Если у вас мак, потратьте пол часа и разберитесь с keynote, посмотрите про magicmove и анимируемые списки. Эти инст… twitter.com/i/web/status/1…
11:17Это те самые вещи, которые позволяют делать красивые переходы со слайда на слайд автомагически pic.twitter.com/5UnkCPVkMB
11:17Анимация выше это всего лишь несколько слайдов с сдвинутыми боками на слайдах, keynote сам добавляет transition, гд… twitter.com/i/web/status/1…
11:17Пользуйтесь возможностью писать заметки под слайды, не пишите туда всё что вы хотите сказать и не читайте от туда.… twitter.com/i/web/status/1…
11:17Если у вас по близости есть дизайнеры, покажите им слайды! Они точно смогут подсказать как сделать еще лучше🧑🎨
11:17В конце принято оставлять слайд для вопросов. На него стоит поместить информацию как с вами можно связаться и побла… twitter.com/i/web/status/1…
11:17🎁Бонус слайд🎁
Вы можете предугадать один из каверзных вопросов от зрителей и разместить бонус слайд после слайда для вопросов.
11:17Когда хитрый зритель задаст вопрос, вы раскроете секретный слайд с ответом/мемом. Публике нравится.
Этот трюк я подсмотрел у @zapolnoch 🙌
11:17Следующая пачка будет про подготовку к выступления 🤓
Если что то упустил или у вас есть свои трюки и практики, нап… twitter.com/i/web/status/1…
11:17👇 Уже есть идея, знаете о чём будете рассказывать и нарисовали слайды? Пора готовиться к выступлению 👇
13:27Мне лучше всего помогают живые прогоны с живыми людьми. Лучше прогоняться в схожих условиях, если вы знаете что буд… twitter.com/i/web/status/1…
13:27Попросите людей, кто ваc прогоняет, не перебивать и записывать их идеи и пожелания на протяжении прогона. Лучше вме… twitter.com/i/web/status/1…
13:27Нет друзей? (картинка с соником) ничего страшного, прогоните доклад своему домашнему питомцу, прогоните его перед в… twitter.com/i/web/status/1…
13:27Хотя бы раз запишите себя на видео и посмотрите ~10 минут. В первый раз это странно, но поможет лучше поставить реч… twitter.com/i/web/status/1…
13:27На площадке может быть туго с временем, вы не хотите что бы вас вежливо попросили уйти со сцены, а вы еще и до финального слайда не дошли
13:27Не важно сколько раз вы прогоняли доклад. Первое "выступление" не будет лучшим. Соберитесь с друзьями и расскажите… twitter.com/i/web/status/1…
13:27По этой же причине некоторые докладчики рассказывают драфтовую версию на локальных митапах перед выступлениями на крупных конференциях.
13:27Рассказывать один доклад большего одного раза - ok 👌
Нет ничего стыдного в том что бы рассказать хороший доклад не… twitter.com/i/web/status/1…
13:27👀 Обратите внимание из кого будет состоять аудитория на которую вы будете рассказывать доклад.
К примеру, рассказы… twitter.com/i/web/status/1…
13:27Как вы готовитесь? Что для вас было полезным? Поделитесь вашим опытом как вы нашли дзен подготовки к докладам 🧘
13:27⏳ Следующий батч будет про действия в день выступления ⏳
13:27Потеряшка про слайды:
Даже если вы не используете vscode, скачайте его. Вставте в него код, теперь скопируйте код… twitter.com/i/web/status/1…
14:18Перед выступлением нужно прийти на площадку заранее и проверить что всё работает:
15:22Даже на крутых площадках бывают проблемы и нужно суметь вовремя среагировать и переиграть что то 🙂
15:22Убедитесь что вы пъёте достаточно воды, именно воды - не сока / лимонада / кофе. Она помогает не только хорошо себя… twitter.com/i/web/status/1…
15:22Удачи, всё получится 🤞
15:22🎬🎬🎬 Доклад 🎬🎬🎬
15:22После выступления cмело выдыхайте, вы - молодчина! 👏👏👏
15:22Можно спросить фидбек у отдельных зрителей, но не быть настырным. Узнайте что им понравилось и что они предпочли бы… twitter.com/i/web/status/1…
15:22Если была запись и видео было выложено на ютуб, не могу сказать что имеет смысл читать все комментарии.
Кому не по… twitter.com/i/web/status/1…
15:22На этом сегодняшняя тема заканчивается 🔚
Но я хочу общения и узнать как вы готовитесь к выступлению? Что смотивиро… twitter.com/i/web/status/1…
15:22@jsunderhood Спасибо большое!))
Запись уже есть youtu.be/pyBC9qkB7pU 😊
Почти три часа регулярок, аудитория была… twitter.com/i/web/status/1…
А вот и первый дебют читательницы с докладом про регулярки 🔥
@jsunderhood Спасибо большое!))
16:39
Запись уже есть youtu.be/pyBC9qkB7pU 😊
Почти три часа регулярок, аудитория была… twitter.com/i/web/status/1…
Пока еще не закончился день, хочу узнать ваше мнение про место работы, продолжите фразу:
Я работаю из...
17:46# Вторник 120 твитов
Спасибо читателям, после вчерашнего опроса получилось подвести итог и сегодня работаю из дома 👨💻
У меня есть 2 те… twitter.com/i/web/status/1…
7:39@jsunderhood Для картинок кода можно использовать carbon.now.sh pic.twitter.com/KCYZtQjIGe
Отличный сервис, но если хотите использовать эти сниппеты в докладах, берите светлую тему⬜️🔳⬜️
@jsunderhood Для картинок кода можно использовать carbon.now.sh pic.twitter.com/KCYZtQjIGe
8:09
@jsunderhood Для слайдов советую romannurik.github.io/SlidesCodeHigh…Код останется кодом, а не картинкой, да и настроек стилизации достаточно.
Еще один вариант для сохранения подсветки кода для тех, кто не хочет ставить vscode
@jsunderhood Для слайдов советую romannurik.github.io/SlidesCodeHigh…
Код останется кодом, а не картинкой, да и настроек стилизации достаточно.
9:29
Самое глупое что я могу написать тут, это просто рассказать о том как я учу новый материал и для большинства* это будут бесполезные знания 🤔
9:35Поэтому сначала нужно разобраться с вашим стилем принятия унформации. Ключевая-гуглящаяся аббревиатура - VARK
9:35Есть 4 типа студентов(на самом деле это диапозон), с разными стилями изучения:
Visual - визуалы
Aural - аудиалы
Re… twitter.com/i/web/status/1…
Знать про это нужно хотя бы ради того чтобы знать как оптимально пользоваться своим временем при изучении нового материала ⌛️
9:35Все тесты называют меня дигиталом - люблю заметки, читать, иногда это перерастает в доклады. В целом стараюсь остав… twitter.com/i/web/status/1…
9:35После такого введения должно стать понятным что мои методики обучения подойдут не всем, но может быть это именно ты… twitter.com/i/web/status/1…
9:35Читайте книжки, читайте больше, всё подряд. Не будьте как этот парень, будет достаточно одной главы что бы понять ч… twitter.com/i/web/status/1…
9:35Прочтите документацию того чем пользуетесь 📖
Зайдите в package.json и берём 5 зависимостей.
Идём на их гитхаб и п… twitter.com/i/web/status/1…
9:35Особый бонус в карму тем у кого есть список технологий и ссылки на их документации в доке по вашему проекту.
9:35Если вы уже спокойно ориентируетесь на MDN, не стоит держать MDN за единственный источник знаний о веб технологиях.… twitter.com/i/web/status/1…
9:47Не бойтесь смотреть вне своей экосистемы, если вы стали учить бекендную часть смотрите и читайте про go/rust/younam… twitter.com/i/web/status/1…
9:47Читайте совершенно чужой код. Откройте маленький чужой проект на github на один файл и разберитесь в нём.
Разобрал… twitter.com/i/web/status/1…
10:37Прислушивайтесь с коллегам на кодревью, задавайте вопросы. Порой за небольшим сообщением лежит глубокая мысль чего то нового для вас
10:37У вас есть 1х1 встречи c вашим менеджером/руководителем/техлидом?
Если да, вы готовитесь к этим встречам? Как част… twitter.com/i/web/status/1…
10:37Пишите в личку если стесняетесь 😉
10:41На этой встерче можно и нужно обсуждать не только зарплаты/бонусу/конфликты и тд. Эта встерча нужна так же для вашего развития 📈
11:49Если вы джун/мидл и у вас есть постоянные встречи с вашим руководителем/техлидом/менеджером и вы их пропускаете, по… twitter.com/i/web/status/1…
11:49В первую очередь к ней нужно готовиться, я записываю вопросы, которые могут подождать и обсуждаю их на этой встрече… twitter.com/i/web/status/1…
11:49Это встреча - ваша возможность перенять все знания из вашего руководителя, за выделенное и оплачиваемое вермя компа… twitter.com/i/web/status/1…
11:49Не стесняться или думайте что зря тратите время вашего руководителя, если это постоянная встреча.
Руководитель заи… twitter.com/i/web/status/1…
11:49Надоели ваши задачи? А просите более сложные?
Проявляйте больше инициативы, удача приходит к тем, кто готов её принять 🍀
11:49Когда все технические соки уже выжаты, пообщайтесь на отвлечённые темы. Познакомтесь чуть лучше: "как провели майск… twitter.com/i/web/status/1…
11:49Еще один крутой источник знаний техновстречи - регулярные встречи команды для обмены опытом. Ключевое слово - регулярные
12:01У нас в ПИ Яндекс.Маркета(~40 человек) проходят еженедельные техновстречи. Так же есть еженедельные техновстречи вс… twitter.com/i/web/status/1…
12:01Само собой не все компании могут позволить себе выделить час-два всей разработки в неделю, но это прям сверх круто!… twitter.com/i/web/status/1…
12:01Если эти встречи проходят очно, а вы на них сидите в ноуте, сядьте в угол или на последний ряд. Это просто не этичн… twitter.com/i/web/status/1…
12:01Не скипайте такие встречи, если тем нет, возьмите инициативу в свои руки и расскажите что то сами. При чём не столь… twitter.com/i/web/status/1…
12:01Это работает так же как такой вопрос в группе:
12:01Зачем нужны техновстречи и почему они полезны мне помогли @_lttb и @pavelrevers 🙌
12:01Плюсы в карму тем кто ведёт дневник таких встреч, где можно посмотреть когда кто и про что рассказывал, толстый плюс если остаются записи
12:01помогли разобраться*
12:09Что используете для заметок? Или комментируйте другие варианты ниже 📝
13:54@jsunderhood Если вдруг ваш менеджер не знает о чем говорить - скиньте ему ссылку, там есть шаблоны для 1:1 встреч… twitter.com/i/web/status/1…
Подписчик подсказывает ресурс для руководителей по проведению 1х1 встреч 👍
@jsunderhood Если вдруг ваш менеджер не знает о чем говорить - скиньте ему ссылку, там есть шаблоны для 1:1 встреч… twitter.com/i/web/status/1…
14:25
@jsunderhood Есть раз в месяц. Созваниваемся, меня спрашивают завела ли уже корги, обсуждаем последние успешные вст… twitter.com/i/web/status/1…
Корги - это, конечно, не так круто как таксы, но тоже хорошо 😏
@jsunderhood Есть раз в месяц. Созваниваемся, меня спрашивают завела ли уже корги, обсуждаем последние успешные вст… twitter.com/i/web/status/1…
14:45
Раз в две недели. Я за 10 минут спрашиваю:
— Оно тебе надо?
— Мне нет. А тебе?
— И мне.
— Скипаем?
— Скипаем. twitter.com/jsunderhood/st…
Вот так делать не нужно 🙅♂️
Раз в две недели. Я за 10 минут спрашиваю:
14:49
— Оно тебе надо?
— Мне нет. А тебе?
— И мне.
— Скипаем?
— Скипаем. twitter.com/jsunderhood/st…
@NUM13RU @jsunderhood там нет эмуляции вима, ето печально..
Перепробывал кучу приложений для заметок, дил брейкером было либо именно это, либо тем какая эмуляция была неполноц… twitter.com/i/web/status/1…
@NUM13RU @jsunderhood там нет эмуляции вима, ето печально..
15:19
Используете window manager?
15:20Что бы избежать недопонимая, не хотел сказать что корги плохие, они супер! Но лучше таксы может быть только 2 таксты! 🌭🌭
15:35@jsunderhood Конечно, вот мои дотфайлы github.com/a/.dotfiles
Мои люди собираются
@jsunderhood Конечно, вот мои дотфайлы github.com/a/.dotfiles
15:36
@jsunderhood Конечно, вот мои дотфайлы:
github.com/He4eT/dotfiles
У нас набираются люди на вечерний тред красноглазиков🤓
@jsunderhood Конечно, вот мои дотфайлы:
16:11
github.com/He4eT/dotfiles
@unel86 @jsunderhood Хотя бы полчаса в две недели или на худой конец в месяц сохраняют месяцы поиска разработчика в… twitter.com/i/web/status/1…
Никита понимает в чём дело😏
@unel86 @jsunderhood Хотя бы полчаса в две недели или на худой конец в месяц сохраняют месяцы поиска разработчика в… twitter.com/i/web/status/1…
17:27
@jsunderhood Конечно, вот мои дотфайлы github.com/vitallium/dotf…
Скоро будет вечерний тред про дотфайлы, 15 подписчиков велком
@jsunderhood Конечно, вот мои дотфайлы github.com/vitallium/dotf…
18:57
Используете window manager?
По результатам опроса примерно 15 человек будут понимать о чём пойдёт поздний тред
👇👇👇
Используете window manager?
19:13
Если у вас в планах на этот вечер семья/прогулки/друзья, то пролистывайте, вам всё равно не понравится ¯\_(ツ)_/¯
19:13Если же вы опять накатываете арч потому что внешний монитор перестал работать от дока, то добро пожаловать, мы подружимся🤗
19:13Маленький спойлер, сижу на маке, поэтому про линукс если и будет, то очень мало
19:13В первую очередь мак хоть и из юникс семь, но часть инструментов, например tar, из коробки BSD'шные, на линуксах он… twitter.com/i/web/status/1…
19:13То есть 99% API совместимые, но когда вы наступите на этот 1% дебагинг может быть не очевидным
19:13Основным требованием к приложениям является что их можно поставить пакетным менеджером и у них есть конфигурационны… twitter.com/i/web/status/1…
19:13На маке нельзя заменить родной оконный менеджер 😔
Но есть большое кол-во утили имулирующих нормальные менеджеры
19:13Несколько лет сидел на spectacle, он позволяет раскидать окна шорткатами, но они всё равно могут накладываться друг… twitter.com/i/web/status/1…
19:14затем еще годик на rectangle, он по сути форк spectacle переписанный на swift
19:14Знаю что аналогичного функционала можно добиться через hammerspoon, но необходимости такой не нашёл
19:14В целом жилось терпимо, но двигать окна руками при открытии приложений? like a f...g caveman
19:14Хотелось найти адекватный тайловый менеджер и после очередных раскопок нашёлся аметист (поговаривают что похож на x… twitter.com/i/web/status/1…
19:14Пользуюсь им меньше года, но радости полные штаны. Даже не смотря на то что он работает поверх macos accessibility… twitter.com/i/web/status/1…
19:14Как можно догадаться я не люблю тыкаться в GUI, поэтому настройку нового мака предпочитаю делать скриптом, не все з… twitter.com/i/web/status/1…
19:14с переездом на big sur что то из этого, конечно же🙂, поломалось, но скилл полезный, особенно учитывая что не всё мо… twitter.com/i/web/status/1…
19:14Если вам интересно как называется интересующая настройка из GUI, что бы задать её в терминале, можно сравнить настр… twitter.com/i/web/status/1…
19:14Теперь про шорткаты⌨️
Для настройки кастомных шорткатов на макос есть карабинер, можно поставить через brew и хран… twitter.com/i/web/status/1…
19:25Правило номер один - смапить capslock в escape
Это не только сделает жизнь удобнее, но так же повысит вас до "a polite internet citizen"
19:25Пару версий назад в макос появилась родная настройка на то что бы перемапить капс в одну из других 5ти клавишь, но так оказалось удобнее
19:25И да, я в курсе, что от капса не обязательно совсем избавляться и через карабинер можно тоглить капс например однов… twitter.com/i/web/status/1…
19:25Второе правило проще, набор шорткатов на часто испольуемые приложения
fn + a - открыть alacritty
fn + y - открыть… twitter.com/i/web/status/1…
🖥 теперь го про терминал
19:40До последнего сидел на iterm2 и в целом всё устраивало, миллион настроек, играйся сколько хочешь, даже лигатуры раб… twitter.com/i/web/status/1…
19:40На сегодня если вы хотите себе терминал на макос, который не iterm2 и есть поддержка XDG_CONFIG_HOME и еще хотелось… twitter.com/i/web/status/1…
19:40Оба варианта крутые с упрямыми визионеры ментейнерами, респект 💪
19:40Но на макос есть проблема с вертикальной отцентровкой некоторых шрифтов, и туда попал мой любимый шрифт firacode (… twitter.com/i/web/status/1…
19:40У Alacritty такой проблемы я не встретил, невероятно прлавный скролл😍 и простенький конфиг на ямле 👌
19:40Пришлось чуть чуть покопаться что бы воскресить работу шорткатов с alt + num, а вот и сам конфиг
19:40Из проблем:
19:40🐚 в качесте шела стоит zsh без дополнительных обёрток, вроде бы ничего интересного в конфиге нет
19:58Относительно недавно отказался от ohmyzsh, не то что бы он мешал, но оказолось что он нормально так отедал от старт… twitter.com/i/web/status/1…
19:58Можно упороться чуть больше и сделать ленивую подгрузку уже после того как отрисуется промпт, но 0.1 секунда меня вполне устраивает
19:58Для промпта стоит pure-prompt, немнодко подкрутив настроечки он стал настолько меня устраивать, что и смотреть в ст… twitter.com/i/web/status/1…
19:58Субъективно выглдяит проще чем рекламируется.
При переходе в вим режим редактирования команды, ▲ превращается в ✔︎… twitter.com/i/web/status/1…
19:58@jsunderhood Стабильно каждую неделю. Часто составляю краткие тезисы. Это отличная возможность обсудить текущие тас… twitter.com/i/web/status/1…
👌
@jsunderhood Стабильно каждую неделю. Часто составляю краткие тезисы. Это отличная возможность обсудить текущие тас… twitter.com/i/web/status/1…
20:06
Начать пользоваться смотивировала необходимость в разработке на удалённом сервере
20:10После того как разобрался с ним, теперь у меня 2 тмакс сессии, локально и удалённо. В локальной сессии есть окошко… twitter.com/i/web/status/1…
20:10Что бы одинаковый префикс прокидывался во внутреннюю сессию можно нажать его дважды или завести шорткад на прокидыв… twitter.com/i/web/status/1…
20:10Не самый известный факт, но в 3.1 они наконец поддержали XDG_CONFIG_HOME pic.twitter.com/NswVR2s4Fx
20:12И заключающая тема на сегодня - vim ✅
20:32лет 5 назад имел необходимость трогать руками большие дампы баз данных 2Gb+
на тот момент актуальный саблайм мог о… twitter.com/i/web/status/1…
20:32После появления асинхронных работ в неовиме жизнь уже не была прежней, стали появляться адекватные автокомплитеры и… twitter.com/i/web/status/1…
20:32Даже не смотря на классную работу ментейнеров и наличие встроенного LSP в 0.5 ветке неовима, всё равно считаю coc.n… twitter.com/i/web/status/1…
20:32Это значит что при необходимости можно крайне просто портануть большинство вскод плагинов. К примеру мне как то пок… twitter.com/i/web/status/1…
20:32классная штука, но ПРы висят месяцами и работает только с голым css с поддержкой одного препроцессора(из трёх) и без поддержки nesting
20:32Ну что же, одним форком больше и теперь у счастливых виммеров автокомплиты и go-to-definition'ы работают с любыми п… twitter.com/i/web/status/1…
20:32Вскод бояре, законтрибютье ваш плагин, сделайте себе жизнь удобнее 🙂
20:32TLDR идеи, coc.nvim позволяет переиспользовать всё богатство жс экосистемы живущее в npm, можно и ремоут плагины пи… twitter.com/i/web/status/1…
20:32Сам конфиг живёт тут, из интересных фактов, в нём соблюдена максимальная совместимость с vim 7.4(удалённая разработ… twitter.com/i/web/status/1…
20:43еще будет 2 подтемы в этом треде
20:43Болезненной ошибкой может быть в самом начале перебайндить какие то родные команды и в дальнейшем узнать что на них… twitter.com/i/web/status/1…
20:43Поэтому всё чего вам не хватает байндим на лидер или локаллидер
Для удобства лидер можно сделать пробелом, на нём… twitter.com/i/web/status/1…
20:43Возможности конфигурации этого редактора должны удовлетворить любого любителя конфигов, но если вам этого мало, то… twitter.com/i/web/status/1…
20:43На случай если остался еще кто то, то еще одна пачка твитов про startuptime
21:08Как и многие в какой то момент я заигрался с плагинами и у меня получилось собрать почти IDE, то есть открывалось в… twitter.com/i/web/status/1…
21:08Поэтому немножко разобрался что у меня было такого чем я не пользовался и что мне оказалось не нужным
21:08Для профилирования есть встроенный флаг --startuptime, немного расписал про это тут
21:08первым подруку попался nerdtree, как и многие пришедшие из GUI редактора мне нехватало шуфлядки с файлами, nerdtree… twitter.com/i/web/status/1…
21:08остановится на встроенном netrw у меня не вышло, но под руку попался молниеносный dirvish, в котором было почти всё
21:08Нехватало только нескольких nertree like команд, которые добил своим плагином и того -125ms от старта
21:08Потом пошли статуслайны, простой переход на минималистичный lightline срезал порядка 50ms от запуска
21:08По отчёту запуска нашёл что загружать словари для грамматической проверки написания комментариев это дорого, поэтом… twitter.com/i/web/status/1…
21:08Вытащил лишние настройки в autoload и начал лениво запускать coc.nvim, выходит что редактор с раскаршеным файлом от… twitter.com/i/web/status/1…
21:08Последним шагом оказался g:did_install_default_menus, отрезал еще -100ms от запуска
21:08После занимательных ковыряний я остался доволен результатом ~100ms, можно задаться вопросом к чему так упарываться,… twitter.com/i/web/status/1…
21:08# Среда 31 твит
@jsunderhood Есть, спрашиваю все вопросы интересные или что не нравится говорю явно.
Где вижу проблемные места, где… twitter.com/i/web/status/1…
Ещё один отличный подход к личным встречам с руководителем
@jsunderhood Есть, спрашиваю все вопросы интересные или что не нравится говорю явно.
6:44
Где вижу проблемные места, где… twitter.com/i/web/status/1…
Сидите в чатах про конкретную технологию в телеграмме или аналогичных местах?
Если да, то что полезного находите в этом? 👇
8:52Что бы не избежать недопонимания давайте сразу договоримся о формулировке
чат - вопросы и ответы незнакомцев
сообщ… twitter.com/i/web/status/1…
Раньше я любил тусоваться в чатах, помогал людям, было интересно узнать про проблемы технологий и в чём заключается… twitter.com/i/web/status/1…
12:36Это может неплохо прокачать в плане понимания технологии, если вопросы начали скучать на работе с однотипными задачами
12:36sidenote: stackoverflow поможет лучше чем чатики в телеге
12:36Увы, мой опыт показывает что большинство не умеет "правильно" задавать вопросы, а ведь в хорошем вопросе уже содерж… twitter.com/i/web/status/1…
12:36Не нужно завдавать метавопросы 🙅♂️
13:49Абстрагируйте вашу проблему для её воспроизведения в самом маленьком примере, что бы тому кто вызовится вам помочь… twitter.com/i/web/status/1…
13:49Это не значит что пример не должен быт понятным и расписаным, нужно удалить всё лишнее
13:49Еще один пункт это XY problem
13:49Лучше дайть хотя бы немного контекста проблеме и сводить его к самой проблеме с которой вы столнулись
13:49Не знаю что хуже, показать скриншот кода или прислать САМ ФАЙЛ для скачивания с кодом.
13:49Вставлять код большим куском текста в сообщения - читается плохо как минимум, форматировнаия и подсветки в чатах нет
13:49Помогите людям помочь вам, лучше всего делиться в кодом через gist.github.com / codesandbox / online playground/repl
13:49Теперь потенциальный помошник сможет посмотреть на вашу проблему имея достаточно контекста🤗
13:49sidenote: Но не стоит думать что антипаттерными вопросами можно кого то разозлить или демотивировать, если так случ… twitter.com/i/web/status/1…
13:49Есть поинт про моральную поддержку.
13:49Люди приходят и задают вопросы "я не знаю какой будет результат у этой двухстрочной программы и я боюсь запускать её"
13:49Люди не глупые, они еще не опытные и это нормально. Нужно уметь помогать и выслушивать, это поможет вам в будущем 😉
13:49Часто ответы на подобные вопросы в таких чатах лежат на первых страницах результатов вашего любимого поисковика. Это ок.
13:49Можно спокойно помочь человеку правильно сформулировать вопрос что бы человек смог "дорешать" проблему самостоятель… twitter.com/i/web/status/1…
13:49Нужно отметить что весь тред относится к публичным чатам, где мы общаемся с незнакомыми людьми
13:49Дальше будет про коммюнити чаты 👥
13:49После того как покатался с докладами по разным городам, также побывал в разных местных жс чатах. По ощущению чем ме… twitter.com/i/web/status/1…
15:20Какие коммюнити вы находите наиболее интересными и уютными?
15:20Давайте определимся о чём поговорим завтра
17:01Недавно переехали с флоу на тс одним днём и одним коммитом. Оставлю в качестве затравочки pic.twitter.com/XWPYQ7QpBx
17:16# Четверг 53 твита
Интересный факт: голосовали за сравнение, а лайкали переезд 🤔
Если интересно про переезд, пишите вопросы под этот… twitter.com/i/web/status/1…
7:36Вчера большинство проголосовало за сравнение статических систем типов, поэтому поехали
👇👇👇
К моему сожалению, мне попадалось много молодых разработчиков, кто считает что эти два пункта взаимозаменяемые
8:54Тайпскрипт это здорово, он полезен и можно научиться любить его и работать с ним. Но не стоит думать что это панацея
8:54Для начала про типы в целом, там где они не влияют на рантайм и вырезаются при сборки, алгоритм их использования до… twitter.com/i/web/status/1…
8:54Не доверяем всем данным из вне, будь то ввод пользователя, ответ бекенда и другие. Эти данные нужно валидировать.… twitter.com/i/web/status/1…
8:54На изображении видно как жёлтый немного просачивается в зелёную зону, в системах типов есть баги, про них нужно зна… twitter.com/i/web/status/1…
8:54Мне бы хотелось устроить большое сравнение и втащить сюда sound elm, purescript с его коммюнити академических фетиш… twitter.com/i/web/status/1…
8:54Если совсем зажмурится, то может показаться что это очень похожие инструменты, но это не так и в этом треде попробуем разобраться почему
8:54Цель flow - быть sound type system. Если флоу говорит не ругается, то TypeError не может случится. Это так же означ… twitter.com/i/web/status/1…
8:54Цель TS - быть complete type system. Другими словами команда тайпскрипта пытается найти баланс между достижением ty… twitter.com/i/web/status/1…
8:54Это значит что всё что TS помечает ошибкой, действительно ошибка, но могут быть false negative - намеренно пропущенные потенциальные ошибки
8:54Жду дня, когда буду находиться на встрече по разбору инцидентов из прода
8:54Дальше про отличия:
Flow - только аннотации типов, которые никак не влияют на рантайм
TS - отдельный язык, которы… twitter.com/i/web/status/1…
8:54Тут же нужно отметить что typescript состоит из 2ух инструментов
8:54Далее можно кучу всего написать про отдельные отличия как flow с номинальной+струтурной vs только структурной типиз… twitter.com/i/web/status/1…
8:54Флоу позволяет спредить типы объектов для того что бы мержить их между собой, пайпы используются для обозначения ст… twitter.com/i/web/status/1…
9:56В TS нет спредов, но поэтому давайте интерсектить, но можно доинстрсектится и получить never, потому что нет сегодн… twitter.com/i/web/status/1…
9:56Если хотим узнавать об ошибках коллизии ключей при написании, то начинаем смотреть в сторону интерфейсов вместо тай… twitter.com/i/web/status/1…
9:56Если же нам нужен аналог мержа, то пишем небольшой утил pic.twitter.com/Q1sIOnnwzw
9:56Для undefined во флоу есть void, в тс есть два типа void и undefined. Между ними есть отличия
void для определения… twitter.com/i/web/status/1…
10:09This
Флоу пытается самостоятельно вывести тип this в зависимости от контекста, а в ts вы можете явно его указать н… twitter.com/i/web/status/1…
10:09Про any vs unknown / mixed расписывать не буду
Видите any? Удаляйте, ставте mixed(flow)/unknown(ts) - нервы дороже, пишите явные проверки
10:09Стоит отметить что документация у этих инструментов очень хороша
typescript - читаешь и можнешь просто писать на э… twitter.com/i/web/status/1…
10:15Сужение типов aka type refinement aka type narrowing
Не вижу смысла дублировать документацию, поэтому если вам не… twitter.com/i/web/status/1…
10:47Если бы мне давали 1$ за каждый раз когда у меня спрашивают почему оно так pic.twitter.com/rWDqHySWxC
11:04Далее type guards / type predicates
Писать проверки прямо в условиях не удобно и хочется их переиспользовать, это… twitter.com/i/web/status/1…
11:04А вот тайпскрипт, обращаем внимание что синтаксис нам позволяет явно указать что мы проврям что аргумент это строка pic.twitter.com/QDoLr1OrQt
11:04С гардами нужно быть аккуратным, ведь случайно можно написать не ту проверку и тогда флоу перестанет сужать тип pic.twitter.com/eophJoX4qa
11:04В случае с тайпскриптом ему всё равно что вы там проверяете и типы будут продолжать сужаться, поэтому считаю это на… twitter.com/i/web/status/1…
11:04В ts еще есть assert type guard'ы, удобная штука, если вам нужно заассертить какое то значение, но она наследует вс… twitter.com/i/web/status/1…
12:18уф, а про саппрешены ведь не написал, можно игнорировать ошибки, все саппрешн комментарии($FlowFixMe) во флоу будут… twitter.com/i/web/status/1…
12:18Долгое время в ts был только @ts-ignore и это было недуобно, потому что можно после ухода ошибки он оставался висет… twitter.com/i/web/status/1…
12:18В 3.9 появился @ts-expect-error который сообщит вам если он является лишним, предлагаю всключить estlint правило и… twitter.com/i/web/status/1…
12:18Еще одна опасная* фича TS это null assertions, когда у вас есть nullable значение, но вы знаете лучше компилятора ч… twitter.com/i/web/status/1…
12:18Еще немного поною про тайпскрипт и пойдут его плюсы
12:18Используй тайпскрипт говорили они, там строгие объекты говорили они pic.twitter.com/CNQxRnYqev
12:40Туда же и массивы pic.twitter.com/ZByO5BWebu
12:40Из остального ts нытья:
12:40и еще чуть чуть
12:40Как можно догадаться мне было сложно перейти на ts, но в какой то момент я понял что мои интересы расходятся с инте… twitter.com/i/web/status/1…
12:40Жирнейший плюс это распространенность, почти на всё уже есть тайпинги если не в самой бибилотеке то в DefinitelyTyped
12:53У TS есть поддержка JSDoc, не только как для описания типов, но и как документация к типам/функциям и тд, оно прора… twitter.com/i/web/status/1…
12:53Наличие шаблонных строковых типов позволяет творить интересные вещи, например парсить джейсон не запуская джаваскри… twitter.com/i/web/status/1…
12:53Если у вас redux, но не redux-toolkit, то может понравиться вот это
12:53в целом "интегрированность" в современные инструменты у TS на высоте, это всегда было слабой чертой flow
12:53В целом на этом можно сворачивать тему человека с мечтами о soundness, но пишущего на javascript
12:59Забыл про что то? Вы хотели ухлышать про Х, но этого не было? Что пропустил?
12:59Забыл интересные факты, например тайпскрипт не следует семверу
14:20Считаю что вечерний тред со вторника был не зря pic.twitter.com/vJJXyPKmjy
15:21По результатам опроса примерно 15 человек будут понимать о чём пойдёт поздний тред
Судя по статистики тред дочитало три с половиной человека
По результатам опроса примерно 15 человек будут понимать о чём пойдёт поздний тред
👇👇👇 twitter.com/jsunderhood/st…
15:21
Раньше еще dreamweaver был, с тех пор обладаю фобией сложных и загруженных интерфесов 😱
15:54Пока на улице только начинает темнеть, давайте определимся о чём пойдёт завтрашний тред
17:11# Пятница 29 твитов
Сегодня поговорим как попасть из фриланса в энтерпрайз или как вордпресс разработчик попал в яндекс
👇👇👇
9:58В универе учил продуктовый менеджмент в айти, но познакомевшись с html и сверстав своё первое выпадающее меню, понял что это моё🤗
9:58TLDR для начинающих: в самом начале своей карьеры на пару лет идите в веб студию с командой разработчиков. У вас бу… twitter.com/i/web/status/1…
9:58На первой работе оказался со знанием 5 html тегов, то есть знал примерно ничего, а нужно было уметь всё. Там же сов… twitter.com/i/web/status/1…
9:58magento & wordpress научили меня умело настраивать php плагини через дашборд cms'ок. Там же стал изучать прелести с… twitter.com/i/web/status/1…
9:58Осталась хорошая история: как то раз сайт упал, лежало всё, ничего не пингуется, бд не коннектится. Пришлось звонит… twitter.com/i/web/status/1…
9:58Параллельно с этой работал начал окунать ножки в море аутсорса и делать маленькие сайты визитки на том же вордпресс… twitter.com/i/web/status/1…
9:58Далее было много аутсорса с таким же стеком, но параллельно для себя начал погружаться глубже в js, смотреть в сто… twitter.com/i/web/status/1…
9:58Что интересно, много читал книг и stackoverflow, но я уже работал 2-3 года, но не работал с другими фронтами
9:58Как то раз вернувшись в РФ для обновления визы, сходил на митап, где были доклады от ребят из яндекса.
Понравился… twitter.com/i/web/status/1…
9:58В это же время меня позвали на собеседование в Яндекс и только из интереса узнать на какой стадии я сольюсь я согла… twitter.com/i/web/status/1…
9:58Сложным оно было потому что с одной стороны у меня в планах было вернуться в тёплую страну, где я мог работать неск… twitter.com/i/web/status/1…
9:58С другой стороны у меня была возможность перебраться в Москву на меньшую зп, но с возможность посмотреть и поработа… twitter.com/i/web/status/1…
9:58Подводя итог аутсорса и фриланса
9:58Следующая пачка будет про адоптацию в яндексе.
9:58Мне величайше повезло с командой, все были наидобрейшие, отзывчивые, проактивные и тд. Но это было время, когда син… twitter.com/i/web/status/1…
11:08Было сложно поверить что меня-формошлёпа взяли не джуном в компанию, где рядом с тобой люди жонглируют красно-черны… twitter.com/i/web/status/1…
11:08Sidenode для всех кто спрашивает зачем спрашивают алгоритмы на собеседованиях: они действительно полезны и это акту… twitter.com/i/web/status/1…
11:08Самым сложным оказалось принять столько информации за раз, раскачиваться на новой работе за месяц это ок для всех,… twitter.com/i/web/status/1…
11:08"Что значит я импортирую css файл в js файле и использую его как объект? Что это вообще такое?" - мне сложно польз… twitter.com/i/web/status/1…
11:08Сильной стороной у меня было то что я умел быстро разбираться с незнакомыми вещами(спасибо аутсорс), поэтому одну п… twitter.com/i/web/status/1…
11:08Вы могли догадаться что у меня всегда был не спокойный стиль работы, lofi beats lovers are not welcome
11:08Прошло почти 3.5 года с моего прихода в компанию и я сверх доволен, потому что новые челленджи появляются постоянно… twitter.com/i/web/status/1…
11:08Самое классное для меня - ощущение возможности почувствовать свой вклад в конечный продукт и видеть как UX для коне… twitter.com/i/web/status/1…
11:08За это время получилось сильно вырости в экспертизе и умение работать в команде. Научится ловить баланс в задачах м… twitter.com/i/web/status/1…
11:08Отдельно хочется отметить корпоративную культуру, круто быть окруженным софтскильными людьми, которые умеют разгова… twitter.com/i/web/status/1…
11:08Подводя итог это невероятно круто ложиться спать в воскресенье с мыслями "о, завтра же на работу, не могу дождаться" 😊
11:08Уверен что мне очень повезло не в одном месте в этой истории. Какие то моменты я пропустил или забыл описать их явн… twitter.com/i/web/status/1…
11:08# Суббота 27 твитов
О том как принять JS каким он есть и научится жить с этим от @DmitryBaranovsk
7:40Тут должна была быть серия докладом Linux sucks или Programmers_are_evil() от Bryan Lunduke, но похоже что какое то… twitter.com/i/web/status/1…
7:40Интересная история про распиливание монолита и поиск баланса между хаосом и отсутствием кадров
7:40На случай если вы думаете что вам нужно сменить язык программирования что бы ваши программы работали быстрее. Обрат… twitter.com/i/web/status/1…
7:40А какие доклады оставили отпечаток в вашей памяти? 🤔
7:40Тут есть забавная история. Впервые посмотрел этот доклад в 2014-15ом и лет 5 спустя познакомился с @felixge на отдыхе с друзьями
9:24@jsunderhood Вот лучший доклад, что я когда-либо видел! youtu.be/CPP9ew4Co0M10:34
Практически произведение искусства!
@jsunderhood вот этот доклад для меня был окном в js11:16
@jsunderhood Хотя, тут кто-то кидал ссылку на одно из выступлений Bret Viktor, и я вспомнил о другом его фантастиче… twitter.com/i/web/status/1…11:58
Как насчёт еще одного треда сегодня про полезные около разработческие инструменты для людей с семьёй, друзьями и зд… twitter.com/i/web/status/1…
18:25Как вы догадываетесь я воздержусь от списка любимый CLI инструментов, поэтому пойдём от самого банального в сторону более продвинутого
19:05Верните себе себе своё рабочее пространство и скрывайте dock по умолчанию pic.twitter.com/dUZz7CxQ1V
19:05Вы знали что вы можете пометь куда сохранять ваши скриншоты? Хватит засорять рабочий стол pic.twitter.com/njiQnqrGa7
19:05Когда я только пришёл в Яндекс мои PR'ы набирали уйму комментариев на код ревью, но не потому что я пишу плохой код… twitter.com/i/web/status/1…
19:05Работаете на внешнем мониторе и надоело регулировать яркость кнопками монитор? Еще бы, куда удобнее это делать прям… twitter.com/i/web/status/1…
19:05Справедливости ради эта штука еще не работает под bigsur, потому что там закрыто эта api, есть quickshade, который… twitter.com/i/web/status/1…
19:05Не нашли себе ничего полезного?
Потратьте 20 минут и выберите то самое приложение, ту самую уникальную снежинку, ко… twitter.com/i/web/status/1…
Есть чем поделиться? Что я упустил? Какой инструмент с приходом в ваш воркфлоу поднял вам качество жизни?
19:05В чем проблема? Подошел, взял за руку, уверенно сказал: «Поведение дженериков в TypeScript ковариантно».
Нашёл себе жену так
В чем проблема? Подошел, взял за руку, уверенно сказал: «Поведение дженериков в TypeScript ковариантно».
19:28
Поскольку тут значительно больше подписчиков чем на моём личном аккаунте, хочу поделиться с вами тем счастьем и пра… twitter.com/i/web/status/1…
19:31Ошибочка вышла, на bigsur должен работать, а на m1 нет, если вам не всё равно то давайте вместе попросим apple позв… twitter.com/i/web/status/1…
21:57# Воскресенье 27 твитов
Последний мой день у руля jsunderhood, сегодня будет свободный день со всем тем на что не хватило своего треда или потерялось
8:18Короче тут такооооое!
Новый подкаст. Да еще и про опенсорс.
От нас с @Omgovich прямо в ваши ушки :3В п(и)лотно… twitter.com/i/web/status/1…
Нужно попробовать что то новое
Короче тут такооооое!
Новый подкаст. Да еще и про опенсорс.
От нас с @Omgovich прямо в ваши ушки :3В п(и)лотно… twitter.com/i/web/status/1…
9:29
Возможность сапресить конкретную ошибку, что бы в случае замены на другую я был уведомлён об этом pic.twitter.com/7EPht35cYV
11:55Возможность указывать текст кастомной ошибки, вместо подсовывания never, например через ключевое слово или вспомога… twitter.com/i/web/status/1…
11:55PS: Я в курсе что это самый примитивный кейс и его можно обработать с помощую органичения на тип дженерик параметра
11:55Управление вариативностью дженериков, по аналогии с flow, скажем введением еще пары ключевых слов вроде is и narrow… twitter.com/i/web/status/1…
11:55И последнее это уметь отличать объекты с ключём и значением undefined от пустых объектов pic.twitter.com/H32IX56VZB
11:55Если вам нравится эта тема и вы не подписаны на why_typescript_is_bad - зря зря зря. Пишем всю правду под предвадит… twitter.com/i/web/status/1…
12:03Интерактив и вопросы - это хорошо. Можно легко понять средний уровень аудитории, но не стоит перебарщивать
12:12Легко переборщить и задавать вопросы через слайд - так делать не нужно. Можно задвать и 10 и 15 вопросов в течении… twitter.com/i/web/status/1…
12:12Не задавайте "кто НЕ ЗНАЕТ технологию Х?" 🙅♂️
Люди будут стесняться и не станут поднимать руки. Если развернуть в… twitter.com/i/web/status/1…
12:12Sidenote: даже если с технологией не знакомо 10% аудитории, лучше рассказать
12:12Если задаёте вопросы - проговаривайте вслух какой процент аудитории вам ответил, если запись попадёт в интернет или… twitter.com/i/web/status/1…
12:12Нет вкуснее кофе, чем cold brew ¯\_(ツ)_/¯
13:34Пусть это будет единственный hot take за мою неделю
13:34Нужно определиться с планами на вечер, сложный выбор между отдыхом и залипанием в приставку или постримить на твиче… twitter.com/i/web/status/1…
14:38Дженерики не отпускают: хочу обратносовместимую возможность указывать что пользователь должен явно прокидывать джен… twitter.com/i/web/status/1…
15:34@jsunderhood Я бы с удовольствием писал на ТС так: flow.org/en/docs/types/… pic.twitter.com/Rhc6BSTXZT18:35
Вот мы и определились, теперь бегом жечь найт сити 🦿 pic.twitter.com/eRLW0etA8e
18:37Надеюсь у меня получилось поделиться своим опытом за эту неделю, спасибо всем причастным и прининявшим участие! Есл… twitter.com/i/web/status/1…
18:46Если вы сомневаетесь нужно ли оно вам, то у меня есть заготовленное предложение pic.twitter.com/uNcKJ8orYS
18:46# Ссылки
www.youtube.com
- https://www.youtube.com/watch?v=Tg8IVbvturM
- https://www.youtube.com/watch?v=IFwOMg8FgSA
- https://www.youtube.com/watch?v=_ZWSVBzEf_Q
- https://www.youtube.com/watch?v=wPSWsz2R6Xc
- https://www.youtube.com/watch?v=QHs55-5FzgA
- https://www.youtube.com/watch?v=avwDj3KRuLc
- https://www.youtube.com/watch?v=UIDb6VBO9os
- https://www.youtube.com/watch?v=l5ug_W9iFUs
- https://www.youtube.com/watch?v=itI5xGyvtho
- https://www.youtube.com/watch?v=w3yJUtgr-yA
- https://www.youtube.com/watch?v=puyy8JdbsUQ
- https://www.youtube.com/watch?v=PN8Eg1K9xjE
- https://www.youtube.com/watch?v=G01lKh8K9KY
- https://www.youtube.com/watch?v=f84n5oFoZBc
github.com
- https://github.com/antonk52/dot-files
- https://github.com/rxhanson/Rectangle
- https://github.com/koekeishiya/yabai
- https://github.com/antonk52/dot-files/blob/c8a73106528aad38bc266d75507d45d1954f2942/karabiner/karabiner.json
- https://github.com/kovidgoyal/kitty
- https://github.com/alacritty/alacritty
- https://github.com/antonk52/dot-files/blob/c8a73106528aad38bc266d75507d45d1954f2942/alacritty.yml
- https://github.com/antonk52/dot-files/blob/c8a73106528aad38bc266d75507d45d1954f2942/.zshrc
- https://github.com/tmux/tmux
- https://github.com/antonk52/webdevandstuff/blob/master/wiki/vim-startup-performance.md
- https://github.com/justinmk/vim-dirvish
- https://github.com/antonk52/dirvish-fs.vim
- https://github.com/itchyny/lightline.vim
- https://github.com/antonk52/dot-files/blob/c8a73106528aad38bc266d75507d45d1954f2942/.vimrc#L4
- https://github.com/antonk52/rainbow-actions
- https://github.com/microsoft/TypeScript/issues/39269
- https://github.com/microsoft/TypeScript/issues/14116
- https://github.com/tmux/tmux/pull/1144#issuecomment-340799138
- https://github.com/asvetliakov/vscode-neovim
other
- https://medium.com/hackernoon/11-things-i-learned-reading-the-flexbox-spec-5f0c799c776b
- https://vark-learn.com/опросник-vark-опросник-по-стратегиям-обу/
- http://gist.github.com/
- https://www.typescriptlang.org/play?#code/CYUwxgNghgTiAEYD2A7AzgF3gfW0gDlAI4CuIuAXPCSgJakJoCeAtgEZIQBQXGT+CAPKEGAFX4gAPACEoaEABp4oqAHMAfPAC88WfPgAyeAG8u8c-DhRgqCE3gBtXAWJlcAXSorVXAL48+AXgAVXkYAElgbXhhVxBxAUlMGFoUVSUAchIw7FpgDPVeCRCw6OMUKBYQKmTU9Pg8qlCQCOB-LgB6DvhAfhBAPhBALhBABhB4QHEQQCEQPvhAJhBAQRBARRB4QFEQPsABED7ACRA+nlBIWAQAN1h4KDZkqDAMAGUMFLSa27quXeg4eCOYd6gIPObWprCkR24Feh2O2RaAGFOBBwBhaKgqAAlcBIGDASR-SJKP6FTrdOaLQCsIIBJECJM0A0iCAZhBANwggHkQQAsIIAOEHG8D6PXGTMAPCBM2ac0aAXhBtvj4AABDBoAC0IAAHgJLtKYDA0fBALIgk3ggDYQcmrIYChl9LkCoZ0+B89bDJQC8k0omAdhBxuTZvBrYBOEBmLqGG0AwiDwAZ9Gm2gaAMRAmYA5EC4sKwUBj0QhMGhEFhlwRKAcp3Olxud1U7h4XXgI2mfVZ429rO92pd5P6roZ83GkZAWDYrbjYUTyfhqAcRx+wCxwHcQA
- https://stackoverflow.com/questions/62722984/indexing-into-typescript-record-with-opaque-type/65686374#65686374
- https://youtu.be/PV_cFx29Xz0
- https://youtu.be/CPP9ew4Co0M
- https://soundcloud.com/begebot
- https://flow.org/en/docs/types/comments/