Pull to refresh
49
31.7
Send message

Создаём сетевую карту на дискретной логике

Reading time6 min
Views7.9K
Этот пост — продолжение моего проекта по созданию завершённой компьютерной системы на компонентах дискретной логики. У меня уже есть компьютер, способный выполнять сетевые приложения, например, HTTP-сервер или игру по LAN.

В прошлом году я изготовил адаптер физического уровня, преобразующий сигнал Ethernet 10BASE-T в SPI и обратно. Тогда для тестирования его работы я использовал микроконтроллер STM32, а теперь реализую модуль слоя MAC, чтобы подключить его к своему самодельному компьютеру.

Оба адаптера полнодуплексные и имеют отдельные передатчик и приёмник.


Компьютер целиком. Новый модуль находится справа внизу
Читать дальше →
Total votes 50: ↑50 and ↓0+65
Comments5

Легендарные процессоры 8-битной эпохи

Reading time5 min
Views8.6K

Целое поколение писало свои первые программы на 8-битных системах. Эти системы 1970-х и начала 1980-х годов впервые сделали компьютеры доступными практически всем. Это было время формирования людей, которые позже посвятили свою карьеру компьютерам, и многие из них сыграли ключевую роль в развитии компьютерных технологий.

Эта ностальгия во многом объясняет неувядающий энтузиазм в отношении 8-битных систем.

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

Читать далее
Total votes 25: ↑23 and ↓2+30
Comments23

Как мы считали экономику продукта «Семья» через uplift CLTV

Level of difficultyMedium
Reading time10 min
Views1.8K

Всем привет! Меня зовут Владлен Севернов. Я работаю ML-инженером в команде CLTV билайна. В этой статье я поделюсь с вами моим опытом решения задачи uplift-моделирования для оценки экономики продукта «Семья» с точки зрения CLTV.

Что мы подразумеваем под CLTV

Подробнее про CLTV в билайне вы можете почитать в наших предыдущих статьях:

- Что такое CLTV и как мы в билайне с ним работаем
- Использование ML для прогнозирования CLTV

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

Немного про продукт «Семья»

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

Почему для семейных тарифов необходимо считать именно CLTV?

Читать далее
Total votes 12: ↑10 and ↓2+11
Comments2

Как за 30 минут улучшить свое резюме?

Level of difficultyEasy
Reading time3 min
Views21K

Если вы читаете это, то скорее всего, поиск нового (или даже первого) места работы вызывает стресс, требования в вакансиях на HeadHunter кажутся невыполнимыми,
а свое резюме не то что не хочется никуда отправлять — есть желание никогда его не открывать.

На старте карьеры каждый испытывает все эти чувства. Давайте начнем немного менять ситуацию с последнего пункта — резюме!

Да, мы не сможем за 30 минут повысить ваш опыт работы на 3 года, но даже в банальном оформлении своего резюме многие делают (или не делают) достаточно странные вещи.

Перейдем к пункту 0...

Меня зовут Дмитрий Иванов, я старший аналитик данных компании билайн, и первое правило хорошего резюме — это простота. Пока мы не идём на позицию ТОПа или вице-президента, давайте оставим излишний формализм за пределами того PDF-файлика, который вы будете рассылать рекрутёрам.

0. Пишите просто и понятно

Не надо делать делать из мухи (3 месяца работы в универской лаборатории) слона (оформить каждый тезис вашего курсача как отдельный научный проект). 3 месяца в лаборатории = 3 месяца в лаборатории. 

Читать далее
Total votes 29: ↑18 and ↓11+13
Comments22

Что находится внутри физического Архива Интернета

Reading time4 min
Views14K

Когда я был в Сан-Франциско на AI Engineer Summit, то воспользовался возможностью посетить Архив Интернета — физический архив в калифорнийском городе Ричмонде примерно в двадцати минутах езды от Сан-Франциско.

Я купил билет на «экскурсию по закулисью физического архива» 11 октября и прибыл прямо перед началом; я был рад, что не приехал раньше, потому что физический архив находится (вполне логично) на складе в промышленной части Ричмонда. Похоже, больше ничего интересного в окрестностях нет.

Я попросил водителя Uber подбросить меня до парковки со знаком Internet Archive. Но оглядевшись, я не смог найти публичного входа на склад. Рядом стояло ещё несколько озадаченных фанатов истории Интернета, мы неуклюже поздоровались и начали обсуждать, там ли находимся. Вскоре нас заметила пара людей в конце улицы и помахала нам.
Читать дальше →
Total votes 77: ↑77 and ↓0+77
Comments14

Об одном способе реализации архитектуры крупного Flutter-приложения

Level of difficultyMedium
Reading time8 min
Views4.8K

Привет! Меня зовут Олег Скирюк, я лидирую контент-разработку в одной из команд билайна. Сам я перешёл в мобильную разработку из веба три года назад, после чего собрал и обучил одну из первых Flutter-команд в компании. Вместе с этой командой мы постоянно экспериментируем и пробуем различные решения, чтобы совершенствовать наши приложения.

В этом посте я хочу рассказать про архитектуру Flutter-приложений, о том, как мы в билайне это делаем, чего мы достигли и как это у нас работает. Поговорим о создании архитектуры, организации управления состояниями и зависимостями, о привычных и не очень методах и концепциях, затронем Mobx, GetX и Flutter modular, а также разберём всё это на живом примере — на нашем мобильном приложении для дилеров.

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

Читать далее
Total votes 16: ↑16 and ↓0+16
Comments14

Настройка NVMe over TCP — для тех, кому надо подключить больше 1 диска единственной конфигурации из всех примеров в Сети

Level of difficultyMedium
Reading time13 min
Views15K

Технология NVMe через различные фабрики (далее NVMeOF) оформлена в качестве стандарта летом 2016 года, она была встроена в пятую ветку ядра Linux.

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

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

Меня зовут Алексей Дрожжов, я старший инженер в билайне, и в этом посте расскажу, как мы решали эту задачу.

Задача: подключить много дисков с нескольких серверов

Читать далее
Total votes 20: ↑20 and ↓0+20
Comments9

Как мы переводим наш мониторинг в наблюдаемость

Level of difficultyMedium
Reading time12 min
Views6.6K

Привет всем! Полное содержание первого сезона можно прочитать тут и тут, а краткое содержание такое: 

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

• Мониторинг был разным (Patrol, Zabbix. NetCool), про Elastic. Про Prometheus, трейсинг и Grafana не слышали.

• У всех команд эксплуатации были свои мониторинги, которые "что-то" показывали, но это все было разрознено и никак не связано.

Привести все это «богатство» в адекватное рабочее русло, как-то структурировать и реструктуризировать было поручено команде супергероев, которые в перерывах между паниками (страшно было) взялись за дело

ВАЖНО: Тут не будет скриптов развертывания. Не будет рецептов и настроек систем (что-то есть в интернете, к чему-то пришли через пот и слезы). Это взгляд людей, которые развивают системы мониторинга и философию, которой они придерживается. Что еще важно – среди нас до момента развертывания не было людей, которые слышали про эти системы. 

Наш первый сезон мы закончили с таким багажом и знаниями:

Читать далее
Total votes 13: ↑12 and ↓1+16
Comments2

Как мы создали нейросеть, которая составила рейтинг компаний, занимающихся ИИ в России

Reading time8 min
Views2.6K

Всем привет! Меня зовут Саша, я тимлид в DS-команде дирекции по искусственному интеллекту и цифровым продуктам билайн бизнес, и хочу рассказать вам, как мы создали рейтинг компаний, которые занимаются искусственным интеллектом. Публикация рейтинга не преследует какие-либо коммерческие цели и не направлена на продвижение каких-либо компаний или услуг.

Идея проекта

Откуда вообще может появиться идея? Иногда она просто витает в воздухе и ждёт, пока её кто-нибудь подхватит. Честно говоря, мне бы никогда в голову не пришло отранжировать компании по их влиянию в сфере ИИ. Но ребята из нашего PR-отдела оказались более прозорливыми и пришли к нам с запросом о создании такого рейтинга. Забегая вперед, можно подчеркнуть, что весь проект сам по себе стал прецедентом с точки зрения взаимодействия представителей PR и специалистов по машинному обучению и анализу данных.

Читать далее
Total votes 7: ↑6 and ↓1+8
Comments3

Как мы сломали стену между разработкой и дизайном

Level of difficultyEasy
Reading time6 min
Views1.7K

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

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

Представьте ситуацию.

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

Читать далее
Total votes 17: ↑17 and ↓0+17
Comments2

Сообщества для аналитиков, инженеров и DS — почему работа в них продуктивнее, чем в привычных командах

Reading time7 min
Views1.6K

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

В этом посте мы поговорим о том, как формат сообществ (чаптеров) помогает нам в работе. Для этого мы подробно побеседовали с Михаилом Благовым, лидером чаптера инженеров данных. Еще нам помогали Николай Безносов (чаптер Data Science) и Артём Смирнов (Data Analytics).

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

Читать далее
Total votes 20: ↑19 and ↓1+21
Comments3

Моя 24-летняя HP Jornada может то, на что не способен современный iPhone

Reading time5 min
Views27K
Я люблю баловаться со старым железом. DEC PDP-8 — мой любимый ретро-компьютер, а Office 2003, на мой взгляд — лучшая версия «офиса» из всех. Ещё одно из моих любимых ретро-устройств — это HP Jornada 720. Маленький карманный PC (меньше нетбука) с Windows CE или, как в моём случае, с Linux. У него хорошая клавиатура, экран с CFL-подсветкой, 32 МБ ОЗУ(!), карта compact Flash для хранения данных и стилус для резистивного сенсорного экрана. А, и ещё у моего есть сетевая PCMCIA-карта на 10 Мбит, но до сих пор можно купить и беспроводные карты. Пусть он стар (выпущен в 1999 году), зато способен на то, чего не может современный iPhone.


На нём можно разрабатывать, компилировать и запускать нативное ПО. В нём есть компилятор C и C++, Python и даже Perl, так что это полнофункциональная рабочая станция для разработки. На нём можно не только разрабатывать, но и запускать ПО.
Читать дальше →
Total votes 77: ↑68 and ↓9+88
Comments158

JTBD-метод на практике для решения тестового задания

Reading time4 min
Views2.1K

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

В посте я расскажу, как разбирался для решения этой задачи с методом JTBD (Jobs To Be Done), когда его стоит применять, что можно из этого выжать и причем тут вообще дизайн.

Читать далее
Total votes 16: ↑16 and ↓0+16
Comments2

Implicits в Scala — неявные методы, функции, значения и особенности

Level of difficultyMedium
Reading time15 min
Views1.9K

Привет! Меня зовут Сергей Грибков, я тимлид команды FM&RA в билайне, и в этом посте я хочу рассказать об одной фирменной особенности Scala под названием implicits. Это неявные параметры, неявные преобразования, неявные классы.

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

В Scala implicits широко распространены. Скорее всего, вы уже сталкивались с ними в различных библиотеках и фреймворках, например, Apache Spark. 

Чтобы успешно использовать implicits в собственном коде и работать со сторонними библиотеками, требуется понимание принципов их работы. Поэтому давайте разберем, как всё устроено.

Итак, существует три основных категории implicits:

Читать далее
Total votes 20: ↑20 and ↓0+20
Comments0

Как я стал Android-разработчиком в 40 лет

Reading time7 min
Views13K
Начинать карьеру разработчика ПО в сорок лет не поздно.


Однажды мне кто-то сказал: «Если в 35 лет ты всё ещё программист, то начинай искать другие варианты на вторую половину своей карьеры. Молодое поколение наступает на пятки, и скоро ты устареешь».

И действительно, в 35 лет я начал задумываться над тем, что делаю. Моя ситуация была другой. Тогда я не был программистом, а работал в руководстве. В то время я скучал о своём прошлом программиста на C++.

Первые несколько лет моей карьеры были посвящены разработке на C++. Однако после перехода на руководящую роль мои навыки программирования заржавели. Моя повседневная работа состояла из совещаний, PowerPoint и Excel и, разумеется, из кучи писем. Читал я код раз в недели или месяцы, не говоря уже о его написании.
Читать дальше →
Total votes 20: ↑15 and ↓5+14
Comments16

Особенности прогнозирования продаж и оттока в условиях неопределенности

Reading time14 min
Views3K

Бизнес в современных условиях развивается стремительно. На динамику продаж, доходов, расходов оказывает влияние множество различных факторов, как внутренних (инвестиции, стимулирование отдельных каналов продаж, исследование рынка и т.п.), так и внешних – различные непредвиденные обстоятельства, вроде, пандемий, стихийных бедствий, исторические событий. 

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

С 2015 по 2021 годы я работала в дирекции по продажам конвергентных продуктов Билайн аналитиком, можно сказать, «на все руки» – аналитиком продаж, продуктовым, финансовым. В мою зону ответственности входили операционная и ежемесячная отчетность, расчет планов продаж на квартал, бюджетирование расходов на продажи, расчеты кейсов по инициативам – для всего этого требовалось моделирование основных KPI развития бизнеса. 

Меня зовут Нина Фещенко, с 2022 года в департаменте аналитики розничного бизнеса (B2C) я в большей степени занимаюсь работой с данными и BI-аналитикой, но без моделирования тоже не обходится. В этом посте я опишу свой опыт построения модели прогнозирования продаж конвергентных продуктов (2019-2021), а также прогнозирования оттока мобильных абонентов в 2022 году. Расскажу, как работала модель в относительно стабильный период до 2020-го года, и какие корректировки пришлось внести впоследствии. 

Читать далее
Total votes 10: ↑9 and ↓1+14
Comments0

Тимлид — быть, а не казаться

Reading time7 min
Views23K

Привет! Меня зовут Филипп Кондрашов, я руковожу разработкой DS-решений в бигдата билайн. Как-нибудь расскажу вам, как наша команда строит лучшие модели скоринга. 

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

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

С чем поможет материал из статьи:

Освободиться от вертикальных взаимоотношений

Найти общий язык с менеджментом

Управлять командой во времена хаоса и гармонии

Не сойти с ума

Читать далее
Total votes 19: ↑16 and ↓3+19
Comments6

В чём разница между хорошим и плохим кодом? Объяснение для непрограммистов

Reading time4 min
Views9.3K

Однажды я где-то прочитал цитату, имевшую приблизительно следующий смысл:

«Жизни многих людей в современном мире зависят от программного обеспечения, например, оно контролирует системы управления большими коммерческими авиалайнерами. Тем не менее, сфера разработки ПО практически никак не регулируется. Любой может стать разработчиком-самоучкой, при этом нет никаких сертификаций или правил, как в других профессиях с высокими ставками, например, в архитектуре или нейрохирургии. Это угрожающе нерегулируемая сфера, хотя несколько строк плохого кода могут привести к смерти».

Кажется, это заявление я прочитал в каком-то крупном СМИ. Статья называлась примерно так: «Опасайтесь плохого кода, он может вас убить; хотя постойте, он невидим, так что не стоит беспокоиться!». Весьма успокаивающее послание для читателей, как считаете? Сейчас я думаю, что авторы статьи просто пытались создать сенсацию из наличия таящегося «плохого кода» в авиалайнерах, поездах и беспилотных автомобилях, которых становится в нашем обществе всё больше, и таким образом увеличить количество просмотров.

Так как же объяснить концепцию «плохого кода» обывателю?


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

Для таких людей я представлю ответ на вопрос: «Если вы кодер, то чем вы занимаетесь?»
Читать дальше →
Total votes 37: ↑27 and ↓10+24
Comments31

Как мы работаем с мониторингом и чем он нам помогает

Reading time6 min
Views3.9K

В одном из предыдущих постов мой коллега Юрий рассказывал об устройстве нашего мониторинга.

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

Для ленивых или занятых — переходите сразу на последний раздел: там краткая выжимка.

Читать далее
Total votes 15: ↑15 and ↓0+15
Comments2

Я нашёл 213 уязвимостей безопасности в кодовой базе при помощи GPT-3

Reading time9 min
Views9.9K

«Меня удручает ваш уровень кибербезопасности»

Краткая сводка: GPT-3 обнаружила 213 уязвимостей безопасности в git-репозитории. Для сравнения: один из лучших коммерческих инструментов на рынке (разработанный респектабельной компанией, которая занимается кибербезопасностью) нашёл лишь 99 проблем; впрочем, этот инструмент предоставляет контекст в более структурированном формате. После ручной проверки случайной выборки 50 из 213 уязвимостей, выявленных GPT-3, только одна оказалась ложноположительной. У обоих инструментов было много ложноотрицательных результатов.
Читать дальше →
Total votes 20: ↑17 and ↓3+22
Comments21

Information

Rating
199-th
Works in
Registered
Activity