Супермэн
DICOM: цифровые снимки в медицине — ликбез для системного администратора

Фото автора
Kubernetes на пальцах: самое простое объяснение, что это такое

Вы наверняка знаете, Kubernetes просто повсюду. От разработчиков, тестировщиков, DevOps-инженеров и системных аналитиков ожидают умения работать с этим инструментом. Даже продакт-менеджеры иногда интересуются, что это такое.
Если вы только начинаете знакомство с Kubernetes и хотите понять, с чего начать, эта статья для вас. Разберем, какие задачи он решает, какие у него основные объекты и как можно управлять кластером без сложных команд в терминале. Подробнее читайте внутри.
Радиолокационный радар — менее чем за 400 рублей: на базе esp32 и wi-fi

Приходило ли вам в голову, что ваша любимая esp32 может использоваться в роли самого натурального радиолокационного радара?
Если не приходило, то добро пожаловать под кат, так как кое-кому это пришло:-))
Я собрал 21 канбан-доску на все случаи жизни (от запуска IT-продукта до похода на свидание)

Я собрал 21 рабочих способа, как использовать канбан-доску: для планирования рабочих и командных задач, ведения личных дел, семейных развлечений и подготовки к апокалипсису. Надеюсь, вы найдёте что-то интересное для себя.
Как победить CMake: отладка CMake-скриптов

Отладка больших CMake-проектов часто превращается в боль. Уходит не один час на то, чтобы с помощью message() и бубна найти проблему. Но существуют более удобные и эффективные способы. Например, отладчик, который позволяет пошагово пройтись по CMake-скриптам и посмотреть значение переменных. Или профилировщик, показывающий последовательность вызовов и время их выполнения. Как их использовать? Читайте в статье.
Отказоустойчивый кластер с балансировкой нагрузки с помощью keepalived

Сегодня я расскажу о том, как быстро собрать отказоустойчивый кластер с балансировкой нагрузки с помощью keepalived на примере DNS-серверов.
Звонки через Jabber в докер-контейнере за 5 минут

В свете сами знаете чего, свой приватный мессенджер и возможность звонков на XMPP стали как никогда актуальны.
Есть быстрый и простой способ: за несколько минут вы поднимаете собственный Jabber-сервер. Дальше — дело техники: рассылаете приглашения маме, бабушке, теще, жене и соседке Даше. После этого можно спокойно звонить и переписываться в защищённом мессенджере, который полностью под вашим контролем.
Звонки идут в зашифрованном режиме, работают p2p. А если у собеседника хитрый NAT, то на помощь автоматически приходит встроенный STUN-сервер.
Клиенты есть под все платформы: Android, iOS, Windows, macOS и Linux.
Как работает DNS в Linux. Часть 1: от getaddrinfo до resolv.conf

Привет, Хабр! Меня зовут Анатолий Кохан, я — DevOps-инженер в К2Тех.
Когда мы вводим в браузере имя сервера или доменное имя сайта, выполняем ping или запускаем любое удаленное приложение, операционная система должна преобразовать указанные имена в IP-адреса. Этот процесс называется разрешением доменного имени. На первый взгляд он может показаться весьма прозрачным, однако за ним скрывается многослойный механизм.
Данная статья — начало серии, посвященной низкоуровневой архитектуре разрешения имен. Поговорим о том, как устроен этот процесс в Linux на уровне ядра, различных библиотек C и системных вызовов.
Как работает DNS в Linux. Часть 2: все уровни DNS-кэширования
В первой части мы разобрали, как в Linux работает процесс разрешения имен — от вызова getaddrinfo() до получения IP-адреса. Однако если бы каждый вызов требовал нового DNS-запроса, это было бы неэффективно и сильно нагружало как систему, так и сеть. Поэтому используется кэширование.
Кэширование DNS может быть везде — в glibc, в systemd-resolved, в браузерах и даже в приложениях на Go. Кэш помогает увеличить скорость работы, но создает дополнительные сложности при отладке. Например: вы меняете DNS-запись, но сервер продолжает ходить по старому IP-адресу. Или, Dig показывает правильный адрес, а curl всё равно подключается к устаревшему.
В этой статье разберем различные уровни кэшей самой системы, приложений и языков программирования, контейнеров, прокси. А также их мониторинг и сброс.
Я сделал тачпанель управления умным домом чтобы вам тоже пришлось

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

«Зачем вообще писать программу, меняющую код в процессе выполнения? Это же ужасная идея!»
Да, всё так и есть. Но это и хороший опыт. Такое делают только тогда, когда хотят что-то исследовать, или из любопытства.
Самоизменяемые/самомодифицируемые программы не обладают особой полезностью. Они усложняют отладку, программа становится зависимой от оборудования, а изучение кода превращается в очень утомительный и запутанный процесс, если только вы не опытный разработчик на ассемблере. Единственный разумный сценарий применения самоизменяемых программа в реальном мире — это механизм маскировки зловредного ПО от антивирусов. Моя цель исключительно научна, поэтому ничем подобным я заниматься не буду.
Предупреждение: в этом посте активно используется язык ассемблера x86_64, в котором я ни в коем случае не являюсь специалистом. Для написания статьи мне пришлось изучать приличный объём материалов, и, возможно (почти наверняка), в ней есть ошибки.
Проверка високосности года в трёх командах CPU

Показанным ниже кодом вы можете проверить на високосность год в интервале 0 ≤ y ≤ 102499 всего примерно тремя командами CPU:
bool is_leap_year_fast(uint32_t y) {
return ((y * 1073750999) & 3221352463) <= 126976;
}
Как это работает? Ответ на удивление сложен. В статье я объясню процесс; в основном он связан с забавным битовым жонглированием. В конце мы обсудим применение этого кода на практике.
На входе аудио, на выходе — саммари. Собираем локальный транскрибатор из бесплатного софта

Однажды я устал расшифровывать аудио пачкой инструментов в духе «Балерино-Капучино и Бобрито-Бандито» и решил собрать свой пайплайн.
В статье расскажу, как я подключил ИИ к обработке голосовых записей буквально за вечер. Мне нужно было загружать запись голоса в нейросетку и на выходе получать выжимку с итогами встречи — саммари/фоллоу‑апами/«минутками». Я хотел от софта безопасности данных, локального запуска и минимума вложений (в идеале 0 затрат). Я системный аналитик, поэтому не был готов писать приложение целиком.
По моей инструкции вы сможете сделать подобный конвейер своими силами даже без навыков кодинга.
Оцифровка показаний стрелочного манометра в Home Assistant

Делюсь опытом реализации распознавания показаний стрелочного манометра по фотографии и отправки их в Home Assistant.
Давно мучал вопрос передачи показаний давления системы отопления со штатного манометра газового котла. Для этого несколько лет назад была приобретена камера ESP32-CAM и интегрирована в Home Assistant посредством ESPHome.
За полчаса установил DeepSeek 1.5B, пока вы искали GPT подешевле

DeepSeek 1.5B — маленький, но шустрый собрат больших языковых моделей. Работает локально, не требует железа на киловатт.
Внутри — инструкция по установке, настройке и запуску DeepSeek 1.5B на Ubuntu 24.04 с Ollama и Open WebUI.
Notion – это офисный плен! Объясняю, как выбраться с помощью Obsidian

Полгода назад Notion ушёл из России, оставив многих пользователей без удобного инструмента для работы и ведения заметок. Использовать VPN? Не вариант — продуктивность сразу падает. Я тоже столкнулся с этой проблемой, но вместо того, чтобы искать обходные пути, я решил найти достойную замену.
Так я открыл для себя Obsidian — и теперь уже точно не вернусь назад. В этой статье расскажу, как я настроил его под себя, организовал синхронизацию, собрал удобную систему ведения заметок и почему теперь мне больше не страшны блокировки и сбои в облаке.
Разбор тестового задания по электронике в Яндекс

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

Недавно я прочитал о масштабной утечке геолокационных данных из Gravy Analytics, благодаря которой стало известно, что более двух тысяч приложений из AppStore и Google Play тайно собирали геолокационные данные пользователей без их согласия. И часто об этом не знали даже разработчики.
Я изучил список (ссылка) и обнаружил как минимум три приложения, установленные на моём iPhone. Проверьте сами!
У меня возникла идея: попробовать отследить себя снаружи, то есть купить свои геолокационные данные, утёкшие через какое-нибудь приложение.
Как отслеживать состояние сетевых интерфейсов на Linux с помощью netlink

Всем привет! Меня зовут Тимур, в компании YADRO я разрабатываю ПО для коммутаторов KORNFELD. Однажды на работе мне потребовалось написать программу для включения прослушивания интерфейсов, которые удовлетворяют определенной конфигурации системы. Старшие коллеги сказали, что это можно сделать с помощью netlink. Я начал разбираться в этой технологии с нуля, потратил больше двух месяцев на изучение протокола, написание обработчика и хочу поделиться своим опытом.
Я постараюсь не просто осветить теорию и представить готовый код, а показать, как с netlink можно сделать именно то, что вам нужно. Как узнать, что именно делает система при настройке сетевых интерфейсов и как обрабатывать ее команды. Это важно, поскольку из множества сообщений от netlink для решения конкретной задачи обычно нужны лишь некоторые.
Information
- Rating
- 6,590-th
- Location
- Россия
- Registered
- Activity