В этом тексте я предлагаю порассуждать, что же должно быть в нормальном взрослом firmware репозитории безотносительно к конкретному проекту.
То есть перечислить самые универсальные и переносимые программные компоненты (кирпичики), которые могут пригодиться в практически любой сборке.
На грани между ИТ и ИБ: противоборство или союз специалистов?
![](https://webcf.waybackmachine.org/web/20220924221348im_/https://habrastorage.org/getpro/habr/upload_files/67e/11f/ce9/67e11fce93da3939565e570ba1c28224.png)
В среде разработчиков бытует мнение, что информационная безопасность относится к IT не напрямую, а косвенно, что это вспомогательная область и даже вторичная. Но так ли это на самом деле? На этот неоднозначный вопрос серьезно и обстоятельно ответили спикер Слёрма Роман Панин и его коллега Павел Шатилов, руководители направления архитектуры ИБ в МТС.
Мобильные операторы и люди: война и мир
1. Им друг без друга нельзя
В комментариях к статье про мобильных операторов много кто просил сделать продолжение и рассказать, как простой народ с “Большой Четверкой” взаимодействует. Что ж, рассказать там действительно есть чего, потому как людей у нас в стране много, все они разные, и на появление в зоне видимости подозрительных антенн все тоже реагируют… по-разному.
![image](https://webcf.waybackmachine.org/web/20220924221348im_/https://habrastorage.org/webt/b6/n-/ij/b6n-ijj5n8_91i4wx1-v0x0xlpi.png)
YubiKey головного мозга. Как подружить Ubuntu 22.04.1 LTS c аппаратным ключом безопасности?
![](https://webcf.waybackmachine.org/web/20220924221348im_/https://habrastorage.org/getpro/habr/upload_files/760/d4a/8c4/760d4a8c4daeb74fc05b9b19ce1a6e4a.jpg)
Итак вы решили переехать на новенькую свежую убунту и у вас на столе лежит Юбик 5ой серии без которого вы не можете жить в современном мире.
И как у любого нормального технаря перед Вами сразу встают ровным строем несколько вопросов...
Размер имеет значение! Часть 2
![](https://webcf.waybackmachine.org/web/20220924221348im_/https://habrastorage.org/getpro/habr/upload_files/4a4/191/30a/4a419130a8b74666a0f33872d955751e.png)
Как бы мы себя не обманывали - Размер имеет значение! И конечно, мы будем говорить о размере нашего андроид приложения, куда мы добавляем кучу классных features, и даже не задумываемся как это может негативно повлиять на размер приложения. Поэтому мы научимся обнаруживать регрессию размера нашего приложения на CI для автоматизации этого процесса.
В данной части, обсудим как можно проверять размер в pull request, что позволит автоматизировать весь процесс обнаружения регрессии, до того как изменения попали в development.
ITить-КОЛОТИТЬ, серии 14-15
![](https://webcf.waybackmachine.org/web/20220924221348im_/https://habrastorage.org/getpro/habr/upload_files/901/a53/4c6/901a534c619491e13224b5209e2e31d1.jpg)
Привет! Мы продолжаем выкладывать новые выпуски нашего сериала про айтишников. Как он появился и как снимался второй сезон нашего мини-сериала, рассказывали ранее.
Пособие по программированию модулей ядра Linux. Ч.7
![](https://webcf.waybackmachine.org/web/20220924221348im_/https://habrastorage.org/webt/-7/yl/hp/-7ylhpzc6raohz-vopxottyejfu.png)
Заключительная часть последней версии руководства по созданию модулей ядра от 02 июля 2022 года. Здесь мы рассмотрим обработку прерываний, криптографию, стандартизацию интерфейсов с помощью модели устройства, а также разберём принцип работы драйвера виртуального устройства ввода и возможность внесения в модуль некоторой оптимизации. В завершение же я укажу на пару неявных, но важных нюансов, а также дам рекомендации по дальнейшему погружению в тему программирования ядра.
Simics: Забиваем гвозди сваебоем
![](https://webcf.waybackmachine.org/web/20220924221348im_/https://habrastorage.org/getpro/habr/upload_files/436/7c8/0ad/4367c80adb28257d15c20dc73e5d178b.jpg)
Любите ли вы отзывчивые программы так, как люблю их я? Любовь эта привела меня к Колибри ОС - невероятно шустрой операционной системе, которая запускает программу до того, как вы осознаете, что кликнули по ней. И недавно у неё нашли уязвимость: ping of death.
Так получилось, что моя первая работа была связана с симуляцией компьютерных систем – от серверов до мобильных устройств. И там мы использовали симулятор Simics. Этой системой пользуются крупные производители железа для опережающей разработки драйверов.
Если бы только можно было использовать Simics для отладки любительской ОС...
PowerShell: проверка совмещения имен БЭМ-сущностей на одном HTML-узле
При написании HTML-страницы по методологии БЭМ («Блок, Элемент, Модификатор») БЭМ-сущности привязываются к узлам HTML-дерева. В предыдущих статьях я рассматривал, как можно выполнить в скрипте на языке PowerShell проверку правильности написания названий БЭМ-сущностей по отдельности с помощью регулярных выражений.
В этой статье рассмотрено, какие есть правила для совмещения нескольких имен БЭМ-сущностей на одном узле HTML-дерева и как соблюдение этих правил можно проверить в скрипте на языке PowerShell. Приведены иллюстрации фрагментов результатов работы скрипта в разных случаях, при обнаружении разных ошибок.
Немного хардкора: как поднять Kubernetes на двух старых ноутбуках с Gentoo
![](https://webcf.waybackmachine.org/web/20220924221348im_/https://habrastorage.org/getpro/habr/upload_files/268/c35/9b2/268c359b2d01d460ead3f22e8198835b.png)
Хочу рассказать об интересном эксперименте, суть которого заключалась в развертывании и настройке Kubernetes на двух старых ноутбуках — один из них, кроме того, был с процессором на архитектуре i386. В качестве теоретической основы использовалось руководство Kubernetes The Hard Way, которое по ходу дела пришлось немного доработать, а в качестве системы на хостах — Gentoo (да, вам не показалось). Давайте погрузимся в этот увлекательный хардкор!
Это база. Сетевая модель OSI. Истоки
![](https://webcf.waybackmachine.org/web/20220924221348im_/https://habrastorage.org/getpro/habr/upload_files/87e/d2d/f86/87ed2df86ba399b132505c0c5272ff4f.png)
Ни один курс по сетевым технологиям не обходится без модели Open Systems Interconnection или попросту OSI. Как говорится, «это баааза», на принципах которой создавались другие современные модели. Хотя сегодня она не особо применяется на практике, это не значит, что сетевым специалистам не нужно понимать ее принципы.
История модели OSI задокументирована не полностью, но нам известны имена людей и названия организаций, вовлеченных в ее создание. Поэтому в этой статье были собраны известные факты об OSI на основе материалов из Интернета, например, онлайн-книги Джеймса Пелки «History And Development Of The Osi Model» и данных из интервью 1 и интервью 2 с Чарльзом Бакманом. Также на Habr я наткнулась на перевод статьи «OSI: Интернет, которого не было», где представлена история о моделях OSI и TCP/IP. Однако я решила самостоятельно изучить истоки OSI и больше углубится в этот период. Если вам интересно понять, что же тогда происходило, то приступим.
Управление учетными записями в Linux. Часть 1. Хранение учетных данных
![](https://webcf.waybackmachine.org/web/20220924221348im_/https://habrastorage.org/getpro/habr/upload_files/a48/7cf/07b/a487cf07b1925b552f2837176437e7c5.png)
С момента своего создания ОС семейства Linux являются многопользовательскими, и для идентификации пользователей в них используются учетные записи и определенные модели доступа.
Неверная настройка прав доступа может привести к серьезным уязвимостям в безопасности операционной системы. Причем, в отличии от уязвимостей в программном обеспечении, допущенных программистами при написании кода, уязвимости настройки выявить бывает довольно сложно. Сканеры уязвимостей неплохо обнаруживают уязвимости приложений, но очень плохо справляются с ошибками в настройках безопасности приложений и операционных систем.
В этой статье я предлагаю рассмотреть хранение учетных данных в ОС Линукс. Затем, во второй статье поговорим о том, какие типовые ошибки допускают при настройке учеток и как правильно их выполнять. А в третьей мы поговорим к чему могут привести ошибки в настройке прав, и прежде всего о различных способах поднятия привилегий.
Конечно, по теме управления учетками в Линукс написано не мало книг и статей, однако статистика инцидентов ИБ показывает, что напомнить о правильных практиках администрирования будет совсем не лишним.
Совместное моделирование быстродействующих систем средствами TIA Portal и Simulink
![](https://webcf.waybackmachine.org/web/20220924221348im_/https://habrastorage.org/getpro/habr/upload_files/eb4/bc4/8f9/eb4bc48f9487378d81c01160ece57237.png)
В этой работе показана детальная авторская реализация объединения сред TIA Portal и Simulink для совместного моделирования с обменом данными, работающая при любом, даже самом малом, шаге квантования (моделирования). Этот вариант позволяет также тестировать PLC контроллеры TIA Portal на частотах квантования контроллеров. Синхронизация сред осуществляется без применения таймеров реального времени. Приведен пример построения быстродействующего контура, обеспечивающего управление аналоговым неустойчивым объектом Simulink виртуальным ПЛК среды TIA Portal. Экспериментально определено, что предлагаемое объединение сред не влияет на результаты моделирования.
Состояние проблемы
Интегрированная среда разработки систем автоматизации TIA Portal содержит инструментальные средства для конфигурирования, настройки, тестирования и обслуживания систем. Мощная среда MATLAB/Simulink обеспечивает эффективное моделирование и оптимизацию сложных динамических систем. Совместное моделирование TIA Portal и Simulink повышает качество проектирования систем автоматизации и управления и сокращает сроки проектирования.
Известны примеры связи сред TIA Portal – Simulink через OPC сервер, в которых среды обмениваются пакетами данных с максимальной частотой 10 раз с секунду [1,2,3]. Это ограничение определяет максимальную частоту квантования. Для моделирования и работы быстродействующих систем, которые характеризуются широкой полосой пропускания, требуется высокая частота квантования.
Скорость непосредственной передачи/приема данных через TCP канал в десятки раз выше скорости передачи через OPC сервер. Однако, для TCP связи с контроллерами TIA Portal, которые выступают в роли TCP клиента, необходимо, чтобы модель Simulink работала в режиме сервера, а таких библиотечных средств у Simulink нет.
Как бизнесу выбрать базу данных под свой проект
![](https://webcf.waybackmachine.org/web/20220924221348im_/https://habrastorage.org/getpro/habr/upload_files/e54/577/423/e54577423050c9598edf6ecb98e1ba9f.jpg)
Бизнес любого направления деятельности сопровождается сбором, обработкой и анализом большого объема информации. Он начинается с интернет-продаж, где необходимо повышение конверсии, и платежных сервисов с обработкой транзакций и заканчивается крупными производственными концернами, где прогнозируется простой техники, загруженность маршрутов транспорта и выполняется масса других задач, деятельность связана с хранением и структурированием профильных данных.
Создание базы данных для предприятия – ключевая задача уже на начальном этапе работы. По мере развития бизнеса количество задач, связанных с обработкой информации, возрастает. Если фирма планирует создать надежную, стабильно работающую IT-инфраструктуру, удовлетворяющую все профильные потребности, приходится выбирать один из двух способов решения задачи:
Цифровой манифест
![](https://webcf.waybackmachine.org/web/20220924221348im_/https://habrastorage.org/getpro/habr/upload_files/c29/9b9/49b/c299b949ba38842c8a7c4cf41e110d78.jpg)
Целью цифрового манифеста является описание цифровых инструментов управления таким государством, в котором народ, являясь единственным источником власти, никогда не отделяет эту власть от себя, а лишь делегирует избранным представителям функции по управлению государством и лишь на то время, которое разрешают граждане. В режиме реального времени, используя системы связи, граждане выказывают свою поддержку или недоверие представителям власти, где недоверие влечет немедленное отстранение.
Это позволяет избежать узурпации власти небольшими группами людей и не дает совершать переходы от демократии к тоталитаризму и другим разрушительным формам управления.
Для достижения этой цели предлагается новая форма управления государством - цифровая демократия или цифровизм.
Потери данных при репликации в аналитическое хранилище — автоматические сверки и мониторинг качества данных
![](https://webcf.waybackmachine.org/web/20220924221348im_/https://habrastorage.org/webt/bj/8f/tq/bj8ftqnmtbbe9tcd9osyks15xta.jpeg)
Данные из боевых баз в нашей архитектуре асинхронно попадают в аналитическое хранилище (Clickhouse), где уже аналитики создают дашборды для продуктовых команд и делают выборки. Базы здоровые и под ощутимой нагрузкой: мы в день отправляем флот самолётов средней авиакомпании, несколько поездов и кучу автобусов. Поэтому взаимодействий с продуктом много.
ETL-процесс (извлечение данных, трансформация и загрузка в хранилище) часто подразумевает сложную логику переноса данных, и изначально нет уверенности в том, что данные доставляются без потерь и ошибок. Мы используем Kafka как шину данных, промежуточные сервисы на Benthos для трансформации записей и отправки в Clickhouse. На этапе создания пайплайна нужно было убедиться в отсутствии потерь с нашей стороны и корректной логике записи в шину данных.
Проверять вручную расхождения каждый раз не хотелось, кроме того мы нуждались в сервисе, который умел бы сверять новые данные по расписанию и показывать наглядно, где и какие имеются расхождения. Поэтому мы сделали сервис сверок, о котором я и расскажу, потому что готовых решений не нашёл.
Как мы строим свою платформу для аналитиков
![](https://webcf.waybackmachine.org/web/20220924221348im_/https://habrastorage.org/getpro/habr/upload_files/d77/95e/7b5/d7795e7b5f5363a245cfbe4f45f775c7.png)
Привет, с вами снова Галина Вакулина, и в этой статье я расскажу, как мы строим платформу для аналитиков и избавляем их от ненужной работы.
Цель нашей команды — сделать так, чтобы в Точке работать с данными было удобно и быстро. Чем меньше времени аналитик тратит на рутину, тем больше времени у него остаётся на исследования, придумывание новых метрик, построение дашбордов, проверку гипотез и просто захватывающее копание в данных.
Развертываем облачное хранилище NextCloud AIO на Windows в Docker для дома
![](https://webcf.waybackmachine.org/web/20220924221348im_/https://habrastorage.org/getpro/habr/upload_files/c9e/3ac/5b1/c9e3ac5b12783e3453e9f5648d56a85b.png)
Пробуем поставить Opensource облачное хранилище NextCloud для повседневного пользования на домашний компьютер с ОС Windows. Подробный гайд.
В этой статье:
Анализ целесообразности развертывания облака дома. Поэтапная настройка. Проблемы и технические решения. Плюсы и минусы NextCloud. Запуск NextCloud в Docker. Подробный разбор параметров контейнера NextCloud AIO. VPN-тоннель домой с использованием сервиса Hamachi. Обход проблемы отсутствия белого ip. Настройка reverse-proxy на базе Nginx, Apache или Caddy. Запуск HTTPS-сервера на домашнем компьютере. Получение SSL-сертификата с помощью сервиса letsencrypt. Краткий разбор форматов SSL-сертификатов. Настройка файервола в Windows.
Как полюбить задачи регрессии
![](https://webcf.waybackmachine.org/web/20220924221348im_/https://habrastorage.org/getpro/habr/upload_files/535/922/d8d/535922d8d2fec01a57a17e2b099480d9.png)
У задач классификации, в отличии от задач регрессии, есть одно очень приятное свойство:
большинство ML алгоритмов решения задач классификации выдают не просто ответ, а некоторую оценку уверенности модели в ответе. То есть помимо метрик самой модели мы обладаем оценкой вероятности для конкретного ответа на конкретном примере. Это здорово помогает в принятии решений.
Неправда ли хотелось бы иметь что-то такое и для задач регресии?
Динамическое масштабирование кластеров Kubernetes в Airbnb
![image](https://webcf.waybackmachine.org/web/20220924221348im_/https://habrastorage.org/webt/ag/2i/zp/ag2izpuhlcqyy8qoq9hdbw_a89u.png)
Введение
Важный аспект эксплуатации вычислительной инфраструктуры – гарантировать, что используемые облачные ресурсы автоматически масштабируются по мере необходимости, как вверх, так и вниз. Серьезные флуктуации трафика могут наблюдаться ежедневно, и поэтому «площадь» облака должна динамически масштабироваться сообразно этим флуктуациям.
Например, в Airbnb такое масштабирование обеспечивается при помощи Kubernetes. Это опенсорсная система оркестрации контейнеров. Также в Airbnb используется OneTouch, интерфейс конфигурации сервисов, являющийся надстройкой над Kubernetes и более подробно описанный в этом посте.
Здесь же мы поговорим о том, как динамически подбирать размеры кластеров, пользуясь Kubernetes Cluster Autoscaler, а также подчеркнем функционал, привнесенный компанией Airbnb в сообщество sig-autoscaling. Эти улучшения способствуют настраиваемости и гибкости, а эти качества очень важны для выполнения уникальных бизнес-требований, предъявляемых в Airbnb.