Обновить

Все потоки

Сначала показывать
Период
Уровень сложности

Собираем Linux, который весит меньше, чем мем с котиком, ну или почти…

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

Мне всегда было интересно, насколько минимальным может быть Linux.

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

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

Зачем вообще нужно создавать такие сборки Linux?

Установил готовый дистрибутив или загрузился в Live — работай и изучай. Но такой подход не даёт настоящей уверенности в знаниях. Представьте: водитель и шофёр. Водитель просто ездит. Шофёр знает устройство автомобиля и может его починить.

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

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

Как минимальный Linux служит для понимания более сложных вещей, так и моя статья даёт базу для дальнейшего более глубокого изучения.

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

Всем, кого заинтересовало, добро пожаловать под кат.

Читать далее

Новости

Колхозим новую помпу для воды

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

Приветствую, Хабр!

Накрылась у меня тут очередная механическая помпа для накачивания воды из бутылей по 19 литров. А поскольку это далеко не первый подобный случай за последние 16 лет, я решил, что хватит это терпеть пора бы перейти на полу-автоматизацию данного процесса. Кулер мне, в принципе, не нужен, поэтому заказал на маркетплейсе «беспроводную помпу для воды». Получил, зарядил и … ничего. Магазин вернул деньги и объявил, что товар можно не возвращать, что говорит о его качестве, скорее всего. Отзывы я, конечно, почитал только после покупки. Сильно после. Кстати, рейтинг 4,9 и большое количество отзывов.

Читать далее

Что происходит после fn main() в Rust?

Уровень сложностиПростой
Время на прочтение12 мин
Охват и читатели8K

Привет!

Хочу вместе с вами разобрать, как же код на Rust превращается в готовый исполняемый файл. Мы пишем программу, например, fn main() { println!("Hello, Habr!"); }, компилируем, и на выходе получаем бинарник. Что происходит под капотом компилятора Rust в этот момент? Давайте аккуратненько заглянем внутрь этого таинственного процесса.

Читать далее

Что такое автоперо? История и принцип работы девайса, которым пользовался Байден, и о котором говорил Трамп

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

На исходе ноября 2025 года президент США Дональд Трамп объявил об отмене всех исполнительных указов и других документов, подписанных Джо Байденом с помощью автопера. Трамп указал, что это касается примерно 92% документов Байдена, якобы подписанных без его личного участия, и обвинил окружение экс-президента в незаконных действиях. В общем-то, нынешний глава Белого дома нередко выступает с громкими заявлениями, меня же заинтересовала прежде всего техническая сторона вопроса. А именно, что это за «автоперо» такое, и как оно работает? Я с самого начала предполагал, что речь идет об устройстве наподобие графического плоттера, и в целом не ошибся. Разве что автоперо — гораздо более продвинутый девайс, способный имитировать даже силу нажатия на бумагу и менять скорость письма. Но самое интересное — это хитрое устройство появилось задолго до персональных компьютеров, еще в 30-х годах прошлого века, и пользовалось популярностью не только у президентов. Как же на самом деле устроено автоперо и какова история его появления на свет? Сейчас расскажу.

Рассказываю!

Что было бы, если BASIC развивался вместо C и Python

Уровень сложностиПростой
Время на прочтение12 мин
Охват и читатели12K

Сегодняшние языки программирования стали сложнее, но представьте, если бы вместо C и Python развивался BASIC. Под катом расскажу о том, почему языки усложнились, а также попробую погрузиться в альтернативный сценарий развития. 

Читать

Мышь, на которую можно наступить: разбор ЕС 1845.А000 с защитой от ПЭМИН

Уровень сложностиПростой
Время на прочтение4 мин
Охват и читатели7.7K

Что представляет книголюб при сочетании слов «Стальная крыса»? Правильно: цикл фантастических произведений Гарри Гаррисона. А что вспоминают любители ретрокомпьютинга? Тоже правильно: манипулятор «мышь» — составную часть отечественной ЭВМ ЕС 1845 — компьютера, созданного для противодействия снятию информации путём перехвата электромагнитного излучения.

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

Добро пожаловать!

За мной, читатель (с)

Введение в атомики. C++

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

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

Читать далее

«Windows глазами хакера» — практическое руководство по атакам на Windows, которое могут запретить

Уровень сложностиПростой
Время на прочтение5 мин
Охват и читатели9.1K

Всем привет, на связи holmogorov. Поскольку я не только руковожу проектами в издательстве «БХВ», но еще тружусь ведущим редактором журнала «Хакер», с этими самыми хакерами мне по долгу службы приходится общаться регулярно. Надо сказать, что люди это очень увлеченные и талантливые, однако убедить их поделиться своими сокровенными знаниями с широкой общественностью — задачка посложнее, чем отправить пилотируемую экспедицию на Марс. Всегда найдется тысяча отговорок, почему написать что-то о практических приемах проведения сетевых атак и защите от них в ближайшее столетие не получится. Однако при должном упорстве небольшие шансы все-таки есть: спустя примерно полтора года долгих уговоров, изощренных пыток и шантажа я все-таки уломал нашего постоянного автора MichelleVermishelle (Миш, привет!) написать книгу «Windows глазами хакера», которая буквально на прошлой неделе вышла в издательстве «БХВ». И книжка получилась по-настоящему уникальная. На полном серьёзе. Я не шучу. В чем же её исключительность (ну, кроме того, что вместо обычной для этой серии туалетной газетной бумаги мы взяли более качественную офсетную?).

А вот сейчас расскажу.

Конец культуры консольных эксклюзивов, или Новая Steam Machine

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

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

Поинт мой примерно таков: со смертью (консольных) эксклюзивов пришла медленная смерть домашних консолей, что нанесло серьёзный урон по и без того нестабильной современной видеоигровой индустрии, и последствия чего нам только предстоит увидеть. Многовато слов, кажется, перегружено, но по-другому в формате одного предложения я пока выразить не сумел. И, кажется, я бы мог дальше рассуждать на эту тему сам с собой или с неприветливыми онлайн-комментаторами и собирать годами доказательства для своего тезиса, однако Гейб вместо «HL 3» решил анонсировать другую троицу: новый Steam Controller, Steam Frame и Steam Machine. И, увидев последнюю, я сразу понял — надо действовать. Это устройство было той недостающей деталью, винтиком, который идеально демонстрирует современный ландшафт индустрии видеоигр и отношения между создателями железа/игр и игроков. Но обо всём по порядку.

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

Читать далее

Как мы учим Яндекс Карты предупреждать о манёврах: без использования LLM, но с помощью водителей

Время на прочтение14 мин
Охват и читатели7.1K

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

Меня зовут Дмитрий, и я руковожу ML‑разработкой в команде автонавигации Яндекс Карт. Вместе с моим коллегой Альбертом Юсуповым (@al‑iusupov) в этой статье мы поделимся историей полного переосмысления системы генерации дорожных аннотаций. Расскажем, почему решили отказаться от десятков хитрых условий в коде, а также почему заманчивая идея отдать всё на откуп большим нейросетям (VLM, LLM) провалилась. И, наконец, как пришли к элегантному решению: создали уникальный датасет с помощью сотен водителей‑экспертов и обучили быструю и точную ML‑модель, которая работает по принципу «меньше, но лучше».

Читать далее

Как в СССР пытались создать каршеринг и доставку еды: что из этого получилось?

Уровень сложностиПростой
Время на прочтение5 мин
Охват и читатели6.2K

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

Читать далее

Собственный суверенный интернет: настраиваем DNS, CA и TLS своими руками

Уровень сложностиПростой
Время на прочтение12 мин
Охват и читатели28K

Всем привет, меня зовут Олег Юрчик, я старший разработчик в Cloud.ru. Современный интернет — это не только IT-гиганты и готовые облачные сервисы. Под капотом глобальной сети скрываются базовые принципы, которые может воспроизвести любой технический специалист. В этой статье сначала вспомним, как появился Интернет и как он работает. А затем разберем, как создать его уменьшенную, но полностью управляемую копию с собственными DNS, центром сертификации и веб-сервисами.

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

Добро пожаловать

Переделка UPS на  LiFePO4, или мой бег по граблям

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

Всё началось с писка UPS, сообщающего, что батарея — всё. Как человек продвинутый, я решил, что нужно переходить на LiFePO₄ — это же модно, современно:‑) Не долго думая (признаю, есть грех — сначала купить, а потом разобраться в вопросе), заказал пару аккумуляторов на Али. Брал, само собой, от нормального вендора — для себя ничего же не жалко.

Читать далее

Ближайшие события

Планируем GPU-нагрузку в Kubernetes: от стандартных механизмов до кастомных решений

Уровень сложностиСредний
Время на прочтение27 мин
Охват и читатели4.5K

Привет, Хабр! Меня зовут Макарий, и как Senior SRE в Yandex Cloud я не только участвовал в разработке Managed Service for Kubernetes, но и всегда любил в свободное время посмотреть, что интересного понавыпускали для «кубика». Kubernetes, как де‑факто стандарт оркестрации контейнеров, предлагает базовые механизмы для управления вычислительными ресурсами. Однако стандартный планировщик Kubernetes (kube‑scheduler) разрабатывался с учётом общих принципов балансировки нагрузки и не специализирован для уникальных особенностей рабочих GPU‑нагрузок.

Предлагаю рассмотреть весь спектр возможностей — от встроенных механизмов шедулинга K8s до специализированных планировщиков, таких как Volcano, Apache YuniKorn и KAI‑Scheduler. Проанализирую конкретные сценарии, в которых каждый из этих инструментов демонстрирует свои преимущества, и предложу рекомендации по выбору оптимального решения для ваших рабочих GPU‑нагрузок.

Читать далее

Автоматизация выдачи УНЭП у федерального ритейлера: интеграция BPMS с 1С: ЗУП и КриптоПро

Время на прочтение3 мин
Охват и читатели5.2K

Для компаний с разветвленной филиальной сетью оцифровка внутреннего документооборота уже давно стала необходимостью. ЭДО создает единое информационное пространство, позволяя моментально находить, подписывать и отслеживать приказы и заявки, а также значительно сокращает операционные затраты. Сегодня поделимся опытом федерального ритейлера, где потребовалось автоматизировать массовую выдачу УНЭП. Решение будет также полезно для крупных производственных и строительных предприятий.

Читать далее

Как Karpenter помогает управлять динамическими нагрузками в Kubernetes

Время на прочтение16 мин
Охват и читатели4.2K

Представьте ситуацию: ваше приложение в Kubernetes работает стабильно, но внезапно начинается пиковая нагрузка. Поды пытаются масштабироваться, HPA увеличивает их количество, но... они висят в статусе Pending. Почему? Потому что в кластере недостаточно ресурсов на нодах. Cluster Autoscaler должен добавить новые ноды, но процесс занимает много времени, иногда нода не создается из-за проблем с облаком. За это время пользователи уже получают ошибки 503, а вы теряете деньги. Знакомо?

А теперь обратная ситуация: нагрузка спала, поды удалились, но ноды продолжают работать вхолостую. Вы платите за простаивающие ресурсы, потому что Cluster Autoscaler слишком консервативен в удалении нод или не может оптимально «упаковать» workloads.

Есть ли способ сделать это быстрее, умнее и экономичнее? Меня зовут Даниил Кондрашов, я разработчик Managed Kubernetes в Selectel. В этой статье познакомлю вас с Karpenter — современным решением для автоматического управления нодами в Kubernetes, которое решает эти проблемы принципиально иначе. Подробности под катом!

Читать далее

Не паникуй, ты просто попал в AA+ игрострой

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

Эту статью я написал лет десять назад, когда только попал в большую студию EA SpB. И забыл бы про нее, но недавно проводил ревизию заметок и набросков на старом HDD и решил, что она до сих пор актуальна, разве что цифры выросли. Тогда проекты под миллион LoC казались гигантами, наверное это и сейчас очень много, но теперь это это просто код движка. Но суть не изменилась, просто цифры выросли.

Помню тот день, когда я впервые сел за рабочий стол в офисе, а до этого делал другие проекты и кодовая база размеров 100к строк вместе с либами, движком и логикой казалась - ну очень немаленькой. А тут скачал репозиторий, открыл идеешку, и она минут на пятнадцать подвисла на индексировании файлов. Я смотрел на всё это безобразие и думал: «Это нормально? Мне дали самый отстойный джунский комп? Я что-то сломал уже на онбординге? Мы все умрем?» Нет, всё было нормально, просто я впервые столкнулся с промышленной кодовой базой большого проекта.

Команда в тот момент выкатывала мажор Sims Mobile, который зафейлили почти на месяц и, честно говоря, на нормальный онбординг ресурсов просто не было. ПМ выдал мне простую задачу на разгон, так сказать, чтобы стулья в редакторе дома сохраняли свое положение и размер между запусками, потому что они, как вы наверное догадались - этого не делали и оказывались в дефолтных точках спавна. Звучит элементарно, правда? Сохранил координаты в конфиг, прочитал при старте и таска готова. Вот только я понятия не имел, где искать код этого сохранения конфига, объектов, как называется класс, где лежит конфиг и сами стулья, и есть ли вообще система для таких вещей или надо писать с нуля. Небольшой спойлер, системы не было, все объекты в доме всегда спавнились в тех точках, где их поставил дизайнер, т.е. для редактора дома сейва не было, а для игры был.

Добро пожаловать в семью

Вышла новая версия российской операционной системы «МСВСфера» 9.7

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

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

Мы в команде «Инферит ОС» выпустили крупное обновление «МСВСфера» 9.7, это была масштабная и непростая работа, но мы рады поделиться результатом. Немного расскажу про наши нововедения и фичи. 

В АРМ версию мы добавили конвертер медиа, с доступом прямо из контекстного меню файлового менеджера. Увидели в папке кучу .flac или .mov, которые нужно срочно перевести в mp4/mp3? Не нужно искать онлайн-сервисы или запускать тяжелые GUI-приложения. Правая кнопка мыши -> Конвертировать в — выбираете формат и получаете результат. Функция умеет даже отделять аудиодорожку от видео и накладывать одну на другую. 

Читать далее

Как документировать GraphQL API: полное руководство для технических писателей

Уровень сложностиПростой
Время на прочтение13 мин
Охват и читатели5.5K

GraphQL API — это мощно, но как его документировать, чтобы разработчики остались довольны? В этой статье — готовый план действий. Мы начнём со сравнения GraphQL и REST, затем покажем, как с помощью комментариев и примеров кода превратить схему в наглядное руководство. Вы узнаете, как улучшить GraphiQL Playground подсветкой синтаксиса и создать статический справочник, если Playground недоступен. В конце вас ждёт учебный репозиторий для тренировок на реальном API.

Читать далее

[Memory Leak] Почему я туплю после обеда: дефрагментация мозга для сеньора

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

Ситуация. 14:30. Я смотрю в монитор. Вроде бы IDE открыта, метод написан, надо просто дописать пару условий в if/else. Но я уже пятую минуту скроллю один и тот же кусок кода вверх-вниз.

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

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

Раньше я думал, что просто устал. Шел за третьим кофе, тупил в YouTube. Не помогало. Потом я понял: это не усталость. Это классическая утечка памяти (Memory Leak) и переполнение стека.

Я попробовал применить к своей голове те же принципы, которыми мы дебажим сервера. И это сработало.

Читать далее