Как стать автором
Обновить
125
0
Алексей @Sterhel

Работаю в Фантехе Яндекса

Отправить сообщение

Почему мама не может написать мне электронное письмо?

Время на прочтение4 мин
Количество просмотров13K
Детективное расследование по делу о почте Proton с шифрованием.

Внезапное молчание


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

Вместо них я начал получать зашифрованные PGP письма с пустым телом, которые выглядели вот так:


При изучении сообщения становилось очевидно, что это зашифрованное письмо, которое не поддерживает Fastmail. У этого сервиса есть целый пост, объясняющий такую позицию: https://www.fastmail.com/blog/why-we-dont-offer-pgp/, но до недавнего момента меня это не особо беспокоило, ведь никто не отправляет мне зашифрованные письма.

Теперь я знаю, что Proton отправляет зашифрованные письма на другие почтовые адреса Proton, но было очевидно, что адрес почты не хостится на Proton; это достаточно легко определить с помощью DNS. Когда я попробовал воспользоваться своей рабочей почтой, всё оказалось ещё более странным, потому что возникла та же ошибка.
Читать дальше →
Всего голосов 22: ↑21 и ↓1+32
Комментарии6

Байки с конференций — взгляд с обеих сторон

Уровень сложностиПростой
Время на прочтение6 мин
Количество просмотров11K

Читали книгу «Вредные советы» Остера? Мне порой кажется, что люди иногда достают ее с верхней полки антресоли, начитываются советов из детства и ностальгируют по максимуму и начинают воплощать эти советы в жизнь. Ну или «пластиковый мир победил», все в угоду маркетингу. Казалось бы, причем тут вредные советы и конференции ,подумали вы?

Для большинства читателей эта статья скорей «Байки по другую сторону организации конфы», курьезы, нюансы прочие забавные ситуации, о которых большинство даже не догадывается. Плюс это привет всем деврелам компаний и организаторам конференций, которые прочитают статью и поймут, что они не одиноки, и надо как-то развенчать эти замкнутые уроборосы проблем. Все максимально обезличено, как всегда, на всякий случай :)

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

Читать далее
Всего голосов 14: ↑11 и ↓3+11
Комментарии4

Пишем анти-легаси приложение

Время на прочтение7 мин
Количество просмотров12K

В предыдущих статьях я поделился своими соображениями о том, почему UI-проекты в одночасье превращаются в легаси.

Все было сведено к двум ключевым неудовлетворенным потребностям: мгновенная обратная связь и правильные шаблоны проектирования. Что касается шаблонов проектирования, то особое внимание было уделено жесткому разделению представления и логики.

Я даже предположил, что Elm MVU — это тот путь, который данные потребности закроет.

Однако, несмотря на то, что MVU является архитектурой, позволяющей жестко разделять представление и логику, я пришел к выводу, что MVU (и функциональное программирование в целом) страдают от некоторой чуждости естественному процессу мышления и программирования.

Под словом «естественный» я подразумеваю нечто, что коррелирует с языком, который мы используем в повседневной жизни. Функциональное программирование не всегда можно описать таким языком (например, несмотря на то, что монады, включая Observable streams, являются относительно простым понятием, мы вряд ли сможем выразить это понятие на таком языке). Я убедился, что программирование, которое лучше коррелирует с естественным языком — это многопарадигменное программирование, где вещи не строго OOP и не строго функциональны, а то или другое в зависимости от ясности и удобства работы.

Читать далее
Всего голосов 13: ↑12 и ↓1+14
Комментарии5

Настройка iScsi в L3-сети для эффективной утилизации возможностей канала и СХД

Время на прочтение6 мин
Количество просмотров13K

После тестирования NVME over TCP, описанной тут https://habr.com/ru/companies/beeline_tech/articles/770174/, решили проверить, насколько хорошо iScsi в L3-сети работает по сравнение со специализированным решение на FC.

Настройки iScsi

TL/DR

Машина в Bios переведена на профиль HPC (был пустой).

На уровне OS и iscsid сделаны такие изменения

Читать далее
Всего голосов 12: ↑12 и ↓0+17
Комментарии2

Восстанавливаем старые авто — спасаем машину от гибели, а себя от рутины

Время на прочтение8 мин
Количество просмотров8K

Всем привет!

Рады анонсировать начало нашего большого спецпроекта «SM Lab в лицах» о людях, которые работают в SM Lab. Мы хотим показать их не только как высококлассных профессионалов в IT, но и как творческих, интересных личностей, которые умело совмещают работу с разнообразными увлечениями. Из этого спецпроекта вы узнаете каково восстанавливать ретроавтомобиль,как работает мультиинструменталист, побываете в шкуре фотографа, познакомитесь с каргобайкерством и многое другое)

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

Следите за нашими обновлениями и вдохновляйтесь историями наших work-life balance героев! А начнем мы наш спецпроект с ретроавтомобилей. 

Читать далее
Всего голосов 31: ↑27 и ↓4+34
Комментарии76

«Тёмная звезда»: как сверхдешёвый студенческий фильм навсегда изменил научную фантастику

Время на прочтение6 мин
Количество просмотров64K

В начале 70-х молодые кинематографисты Джон Карпентер и Дэн О'Бэннон создали в качестве дипломного проекта историю о космическом корабле… не подозревая, что она повлияет на «Чужого» и множество других работ.

«Тёмная звезда» (Dark Star) — это снятый за 60 тысяч долларов студентами киношколы фильм, сегодня считающийся культовой классикой научной фантастики; он стал режиссёрским дебютом маэстро хоррора Джона Карпентера. Этой ленте недавно исполнилось пятьдесят лет; она равно далека от того, что снималось и до, и после неё — это не космическая одиссея и не космическая опера, а, скорее, холодная, мрачная и часто абсурдная картина о людях, оказавшихся вместе на неисправной межзвёздной консервной банке. Вероятно, самой известной её сценой оказалась экзистенциальная дискуссия между астронавтом и наделённой разумом бомбой.
Читать дальше →
Всего голосов 39: ↑36 и ↓3+51
Комментарии72

Куда катится MobAIle-разработка

Уровень сложностиСредний
Время на прочтение15 мин
Количество просмотров14K
Индустрия ИТ всегда была очень динамичной и быстро эволюционирующей. Например, мы в мобильной разработке всегда жили в информационном пространстве с конкурирующими и сменяющими друг друга фреймворками, парадигмами, библиотеками, операционными системами.

В целом, информационное пространство мобильной разработки довольно обособлено. Не выходя из него намеренно, мы редко узнаём про новости из мира backend, web-frontend или ML. При этом со временем тренды приходят из одной области в другую. Как пример — мода на реактивное программирование, завезенная из мира Java и бэкенда, которая постепенно сменяется асинхронным программированием благодаря языку Kotlin, который теперь активно захватывает свою долю в мире бэкенда. Или UDF-архитектуры, которые перетекли к нам из фронтенда, сменив MVP-архитектуру, когда-то перенесённой из бэкенда.

В этом посте я постарался оглянуться вокруг, выделить значимые (на мой взгляд) технологические (и не очень) тренды и понять, как они могут повлиять на работу мобильного разработчика и индустрию в целом; а также, что нам с этим делать и как подготовиться к будущим изменениям.
Читать дальше →
Всего голосов 13: ↑13 и ↓0+21
Комментарии6

Как Apache Arrow поможет управиться JS с большими данными

Уровень сложностиСредний
Время на прочтение6 мин
Количество просмотров2.5K

Привет. Меня зовут Николай Шувалов, я занимаюсь коммерческим программированием около семи лет, владею Rust, JavaScript, PHP. Сейчас я работаю в отделе данных билайна. Наша платформа позволяет делиться с партнерами данными, не раскрывая их. Например, можно расширить данные с помощью фильтра Блума. 

Arrow в сравнении со строковыми форматами

Возьмём простую таблицу, которая состоит из трех столбцов: телефона, даты и имени. Рассмотрим, как она будет выглядеть в строковом и столбчатом форматах. Для строкового формата мы возьмем csv и json, для столбчатого формата структура будет одинаковой. Если же таблица состоит, например, из миллиона строк, а нужно получить имя на строке с номером 10 000, то придется бежать по всей строчке. В json то же самое. А в столбчатом формате ситуация иная — значения привязаны к столбцам. Когда мы хотим получить имя на строке 10 000, то сразу обращаемся к этому столбцу и получаем все его данные. 

Существуют RA (random access) файлы, в которых можно пропускать заданное количество строк, но все равно парсеру нужно читать и анализировать пройденные строчки.

Читать далее
Всего голосов 8: ↑8 и ↓0+15
Комментарии2

Продуктовый подход на минималках

Уровень сложностиСредний
Время на прочтение9 мин
Количество просмотров1.9K

Всем добрый день!

Меня зовут Иван Хахарев и я работаю ведущим системным аналитиком в команде WEB Campaign, это внутренняя разработка Спортмастера для формирования маркетинговых логических цепочек. Я в команде уже полгода, и на момент моего прихода ребята уже почти год двигались к веб-версии. В команде на текущий момент семь человек, трое из которых — разработчики. 

Прежде чем мы поговорим про новую команду, хочу рассказать небольшую предысторию. Ранее, я почти пять лет, я работал в другом продукте, в рамках которого мы прошли полный процесс трансформации этап перехода на  по методологии по Agile и DevOps. Ниже представлены все  список мероприятий, которые мы смогли внедрить за два с половиной года. (слайд 2.24) 

Читать далее
Всего голосов 7: ↑6 и ↓1+11
Комментарии2

Как настроить ETL с json’ами в Apache NiFi

Уровень сложностиПростой
Время на прочтение9 мин
Количество просмотров2.7K

Привет, Хабр! Меня зовут Сергей Евсеев, сегодня я расскажу, как в Apache NiFi настраивается ETL-пайплайн на задаче с JSON’ами. В этом мне помогут инструменты Jolt и Avro. Пост пригодится новичкам и тем, кто выбирает инструмент для решения схожей задачи.

Что делает наша команда

Команда работает с данными по рекрутингу — с любой аналитикой, которая необходима персоналу подбора сотрудников. У нас есть различные внешние или внутренние источники, из которых с помощью NiFi или Apache Spark мы забираем данные и складируем к себе в хранилище (по умолчанию Hive, но есть еще PostgreSQL и ClickHouse). Этими же инструментами мы можем брать данные из хранилищ, создавать витрины и складывать обратно, предоставлять данные внутренним клиентам или делать дашборды и давать визуализацию.

Описание задачи

У нас есть внешний сервис, на котором рекрутеры работают с подбором. Сервис может отдавать данные через свою API, а мы эти данные можем загружать и складировать в хранилище. После загрузки у нас появляется возможность отдавать данные другим командам или работать с ними самим. Итак, пришла задача — нужно загрузить через API наши данные. Дали документацию для загрузки, поехали. Идем в NiFi, создаем пайплайн для запросов к API, их трансформации и складывания в Hive. Пайплайн начинает падать, приходится посидеть, почитать документацию. Чего-то не хватает, JSON-ы идут не те, возникают сложности, которые нужно разобрать и решить.

Ответы приходят в формате JSON. Документации достаточно для начала загрузки, но для полного понимания структуры и содержимого ответа — маловато. 

Мы решили просто загружать все подряд — на месте разберемся, что нам нужно и как мы это будем грузить, потом пойдем к источникам с конкретными вопросами. Так как каждый метод API отдает свой класс данных в виде JSON, в котором содержится массив объектов этого класса, нужно построить много таких пайплайнов с обработкой разного типа JSON’ов. Еще одна сложность — объекты внутри одного и того же класса могут отличаться по набору полей и их содержимому. Это зависит от того, как, например, сотрудники подбора заполнят информацию о вакансии на этом сервисе. Этот API работает без версий, поэтому в случае добавления новых полей информацию о них мы получим только либо из данных, либо в процессе коммуникации.

Читать далее
Всего голосов 12: ↑11 и ↓1+15
Комментарии6

Почему безопасник должен расти из программиста

Уровень сложностиПростой
Время на прочтение9 мин
Количество просмотров9.9K

По каждому из направлений в ИТ есть свои так называемые «приколы» и особенности в части поиска и обучения сотрудников, взаимодействия с софтом, заказчиками и так далее. В моей области, то есть в области информационной безопасности, все еще обсуждают такой вопрос: «Должен ли безопасник расти из программиста?». Имея 25+ лет в области ИТ и ИБ ответственно заявляю — должен. Для меня это не вопрос, но многие со мной не согласятся. Сегодня раскрою свою позицию и объясню, почему безопасникам жизненно необходимо быть программистами.

Небольшое уточнение — для удобства я называю программистами всех, кто пишет код, манифесты, какие‑нибудь конфиги и так далее.

Читать далее
Всего голосов 16: ↑13 и ↓3+17
Комментарии29

Как написать свою первую спецификацию на REST API. С какими ошибками может столкнуться аналитик и как их избежать?

Уровень сложностиСредний
Время на прочтение13 мин
Количество просмотров3.7K

Всем привет! Делюсь очередным выпуском нашей рубрики «Открытый микрофон», тема этого выпуска — «Как написать свою первую спецификацию на REST API».

Спикером стала Мария Яковлева. Маша — ведущий аналитик Платформы Сфера, НОТА (Т1 Консалтинг). В интернете много описаний особенностей архитектурного стиля REST, но мало информации о том, как аналитику начать создавать качественные спецификации на REST-методы. Маша поделилась своим опытом и, что особенно ценно, ошибками, допущенными в работе. А ещё Маша систематизировала их, чтобы уберечь вас от них)

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

Читать далее
Всего голосов 19: ↑19 и ↓0+23
Комментарии5

Как QA собеседование проходил

Время на прочтение4 мин
Количество просмотров6.8K

Привет, Хабр!

Меня зовут Тоня. В SM Lab я работаю старшим инженером по обеспечению качества в команде продукта Интра — занимаюсь ручным тестированием и написанием автотестов на Kotlin. В этой небольшой статье хочу рассказать, как я искала работу и проходила собеседования через One Day Offer. Под катом — муки выбора инструмента для поиска работы, этапы прохождения собеседования за один день, трудности, с которыми столкнулась, и причины, по которым выбрала SM Lab и не прогадала.

Шаг первый: где сейчас искать работу

Читать далее
Всего голосов 18: ↑14 и ↓4+14
Комментарии8

Китай не принимает платежи из России. Где заказать печатные платы в Китае в 2024 году

Уровень сложностиПростой
Время на прочтение3 мин
Количество просмотров42K

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

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

Я порезал свой первый обзор + добавил несколько новых компаний, которые сейчас напрямую поставляют компоненты и печатные платы из Китая. В конце - сводная таблица с итогами.

Читать далее
Всего голосов 59: ↑58 и ↓1+71
Комментарии63

Строим lineage моделей машинного обучения и признаков с помощью OpenMetadata

Уровень сложностиСредний
Время на прочтение9 мин
Количество просмотров11K

Привет, Хабр!

Мы в билайне любим машинное обучение. В какой-то момент моделей машинного обучения стало так много, что это вынудило нас решать определенные задачи. Я Дмитрий Ермилов, руковожу ML в дирекции по искусственному интеллекту и цифровым продуктам. О решении одной такой задачи и будет этот рассказ.

Давайте представим, что у вас в компании большое количество моделей машинного обучения, каждая из которой может зависеть от нескольких десятков до нескольких тысяч признаков (фич). Причем разные модели могут зависеть от одних и тех же фич. Неожиданно случается несчастье, и одна из популярных фич ломается. Может произойти поломка на уровне подготовки данных, могут измениться внешние источники, отвалиться интеграции и прочее. Что делать с этим знанием? Конечно, бежать в продуктовые команды и кричать, что модели, которые зависят от этой фичи, могут деградировать, то есть их метрики качества могут снизиться. Вопрос только в том, какие модели могут деградировать и в какие команды бежать?

Напомним, в каких условиях мы анализируем данные и строим модели машинного обучения.

Читать далее
Всего голосов 12: ↑12 и ↓0+15
Комментарии2

Палочки Непера и «Шпаргалка» — карманные «калькуляторы» XVII века для умножения и деления сложных чисел

Уровень сложностиПростой
Время на прочтение10 мин
Количество просмотров2.9K

В рамках серии материалов о различных старинных счетных устройствах мы уже познакомились со сложными механизмами, в основном предназначенными для сложения чисел. Операции умножения во всех случаях требовали выполнения ряда сложных действий, но в одном из устройств (Считающие часы Вильгельма Шиккарда) этот процесс был упрощен благодаря устройству под названием «Палочки Непера» или «Кости Непера», которые в XVII веке изобрел шотландский математик Джон Непер. Сегодня мы уделим им особое внимание, а также поговорим про «Шпаргалку» — еще одно устройство Непера для облегчения расчетов.

Читать далее
Всего голосов 18: ↑17 и ↓1+24
Комментарии4

Если покупка — это не владение, то пиратство — не воровство

Время на прочтение6 мин
Количество просмотров53K

Двадцать лет назад я ввязался в публичную перепалку (дружескую) с Крисом Андерсоном, работавшим тогда главным редактором Wired. Я публично выразил своё разочарование публикуемыми в Wired радужными обзорами отягощённых DRM цифровых устройств. Андерсон сказал, что я идеалист, если жду, что журнал откажется от обзоров гаджетов из-за DRM:

https://longtail.typepad.com/the_long_tail/2004/12/is_drm_evil.html

Я публично ответил, сказав ему, что он неправильно меня понял. Дело было не в идеологической чистоте, а в добросовестности обзоров. Wired призывал покупать продукт, потому что у него имелись функции x, y и z, но в любой момент в будущем производитель мог отключить любые из этих функций:

https://memex.craphound.com/2004/12/29/cory-responds-to-wired-editor-on-drm/
Читать дальше →
Всего голосов 223: ↑216 и ↓7+251
Комментарии709

Менторство в IT. С чего начать и как стать успешным ментором

Уровень сложностиПростой
Время на прочтение10 мин
Количество просмотров3K

Всем привет! В этой статье я поделюсь нашим первым выпуском второго сезона рубрики "Открытый микрофон", в котором Николай Мухранов, старший системный аналитик в "Спортмастер Лаб" рассказал о менторстве в IT.

Коля - преподаватель курсов для системных аналитиков, ментор и наставник для студентов, проводит технические собеседования системных аналитиков, так что знает о менторстве не понаслышке!

Публикую расшифровку доклада и саму запись трансляции.

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

Читать далее
Всего голосов 14: ↑10 и ↓4+9
Комментарии0

Оптимизируем параметры запуска приложения Spark. Часть первая

Время на прочтение5 мин
Количество просмотров14K

Привет! Меня зовут Андрей Чучалов, я работаю в билайне, и в этом посте я расскажу про оптимизацию параметров запуска приложений в Spark, поиск проблем и повышение производительности. Разберем запуск приложений Spark в базовой и расширенной версиях, покажу методы расчёта основных параметров работы приложения для производительности и эффективности использования доступных ресурсов кластера. Бонусом — о том, как всё это привязано к деньгам, и где сэкономить можно, а где — не стоит.

Для чего это вообще нужно

Спараметризировать приложение — это не такая уж грандиозная задача, а вот попытаться понять взаимосвязь эффективности работы приложения со стоимостными параметрами такой работы — это уже сложнее. Тут вам пригодится своеобразное «боковое зрение».

В рассказе и на примерах я буду исходить из того, что у нас по умолчанию процесс ETL-обработки данных правильно, с самой программой всё ОК и она корректно спроектирована. И оборудование в составе кластера тоже рабочее и достаточное для запуска приложения. Это позволит говорить именно о влиянии параметров на эффективность.

Читать далее
Всего голосов 14: ↑13 и ↓1+17
Комментарии1

Как программировали в 1969 году

Время на прочтение6 мин
Количество просмотров22K

Я провёл это интервью со своей матерью Марианной Эрнерфельд в декабре 2018 года. В посте приведён немного урезанный перевод. Полное интервью на шведском языке можно прочитать здесь.

Почему ты захотела стать программистом?


Я решила стать программистом в 1965-66 годах. Прочитав статью, где на иллюстрации была показана блок-схема, я подумала: «это моё». Когда я выпустилась из старшей школы в 1967 году, не было ни одного университета, обучающего программированию, но существовал полугодовой курс в Сольне [прим. пер.: Сольна — коммуна в Швеции], который превратился в годовой курс, и на него могли выдать студенческий заём. Поэтому я подала на него заявление.

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

Однако у SJ оказалось 700 кандидатов на 50 мест, поэтому они устроили суровый процесс отбора с различными тестами. И мне удалось пройти их! Мне нужна была зарплата, чтобы оплачивать собственное жильё, так что я приняла предложение.

Выяснилось, что руководство SJ было очень недовольно тем, что брошюры о стажёрской программе рассылали студентам и мужского, и женского пола! Хотя в программу приняли и не так много девушек, но их всё равно было приличное количество.
Читать дальше →
Всего голосов 49: ↑48 и ↓1+63
Комментарии28

Информация

В рейтинге
Не участвует
Откуда
Москва, Москва и Московская обл., Россия
Работает в
Зарегистрирован
Активность