Обновить

Разработка

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

NetBSD: вторая жизнь Nintendo Wii. Как и зачем я установил эту ОС на игровую консоль

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

Привет, Хабр! Мое плотное знакомство с консолями Nintendo началось с Wii U. Так уж получилось, что лучшей серией слешеров я считаю Bayonetta. А поскольку вторая часть вышла как эксклюзив для Wii U, мне пришлось приобрести приставку. Потом заодно познакомился с The Legend of Zelda — и понеслось. Примерно то же самое случилось и с выходом Bayonetta 3 — обзавелся Nintendo Switch. Что самое интересное, у меня никогда не было обычной Wii.

Волей случая мне в руки попался замечательный экземпляр, но на него я решил посмотреть с точки зрения железа. Внутри меня ждал любопытный конфиг из PowerPC процессора IBM Broadway + SoC производства ATI, который отвечает за графику, а также устройств ввода-вывода.

Читать далее

Я мечтал о фотоаппарате, которого не существует, поэтому создал его сам

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

Leica G9ii

Эта статья не является подробной инструкцией. Это описание того, что происходит, когда разработчик ПО принимается за решение аппаратной задачи, пойдя по сложному пути.

Камера названа так, потому что внутренности взяты у Lumix G9ii, а корпус — это реплика Leica M, изготовленная на станке с ЧПУ. Также я изготовил новые гибкие кабели для соединения сменивших положение кнопок и колёс управления.

Зачем?

Много лет у меня была мечта написать собственное ПО для камеры или, по крайней мере, спрятать неиспользуемые меню; я хотел избавиться от бойлерплейта и оставить только самое необходимое. Я фотограф-любитель, поэтому, например, практически не использую никаких других режимов, кроме A и M. Хоть я и программист, такая задача была бы для меня невыполнимой: мне не хватает навыков в реверс-инжиниринге двоичных файлов, работе с шестнадцатеричным кодом; кроме того, если что-то пойдёт не так, я рискую превратить камеру в кирпич.

Читать далее

Экстремальное масштабирование: концепт многочиплетного пакета Intel

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

Intel показала концепт экстремально крупного многочиплетного пакета — сборки из десятков вычислительных и вспомогательных кристаллов, объединенных в один модуль. Его площадь превышает 10 000 мм². Пока это экспериментальная архитектура для будущих ИИ-ускорителей и HPC-систем. Задача эксперимента — попробовать обойти физические ограничения монолитных чипов и заодно продемонстрировать пределы современных технологий упаковки, памяти и техпроцессов. Давайте попробуем разобраться, что это и как работает.

Читать далее

Будущее дронов: встроенный ИИ

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

Всё больше БПЛА используют машинное зрение для навигации и распознавания объектов. Обычно предполагается, что это система с ограниченными вычислительными возможностями, которой управляет оператор удалённо, а движок ИИ работает из облачного сервиса с подключением через интернет.

Но что, если на БПЛА поставить локальную модель и мощный GPU-ускоритель, чтобы ИИ работал локально и самостоятельно принимал решения? Несколько лет назад такое казалось фантастикой. Но сейчас прогресс в области БПЛА настолько бурный, что ситуация меняется каждые несколько месяцев.

Посмотрим, какие ИИ-ускорители устанавливают в современные дроны.

Читать далее

Перестань вайбкодить: почему «разработка на расслабоне» убьет твою карьеру

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

Ты пишешь код быстрее, чем когда-либо. IDE угадывает твои мысли, тикеты закрываются. Кажется, что ты хакнул систему и поймал тот самый «вайб». Но есть нюанс: если завтра отключат интернет и помощников, сможешь ли ты написать сложную логику с чистого листа?

Читать далее

Подключение дисплея автомагнитолы RCD310 к Arduino

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

Начну издалека. Ровно год назад ко мне случайно попала автомагнитола Volkswagen Premium 7. Не пропадать же добру — подумал я — и решил реверс‑инжинирить её дисплей. Спустя много попыток, изучений новых для меня инструментов и способов анализа сигналов — удалось вывести на её дисплей своё изображение. В районе лета мне пришла идея, что с этим всем сделать — часы + метеостанция + монитор ресурсов пк + драйвер подсветки стола. На этом этапе мне пришла идея: заводская подсветка была одноцветной (синей), так ещё и крайне тусклой. Надо ставить что‑то своё. Под руку попалась WS2812 адресная светодиодная лента — яркая и RGB.

Читать далее

Лист формата А4 — мерило всех вещей

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

Бывает, когда требуется что-то замерить, я прибегаю к простому методу, который не слишком быстр, не слишком точен, не рекомендуется ни в одном официальном стандарте — но, всё-таки, ни разу меня не подводил. Опишу его здесь, хотя, даже просто называя его «методом», я уже немного его приукрашиваю. Пожалуйста, не пользуйтесь им, если нужно повесить шкафчики на кухне или вообще что угодно, на что вам придётся ежедневно глядеть в течение ближайших десяти лет. Из измерительных инструментов нам понадобится только лист формата A4 — и всё.

Читать далее

Нецифровая электроника для начинающих

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

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

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

Читать далее

Отладка с помощью сил древнего зла

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

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

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

Но мы сегодня, естественно, поступим наоборот и заглянем в глубины элемента <plaintext>, чтобы узнать, какие занятные вещи с его помощью можно делать.

Читать далее

Как сделать книгу за пятьдесят рублей

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

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

Читать далее

Тайна Motorola E398 — лучшего музыкального телефона из нулевых

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

Осторожно: данная статья — одна из моих лучших работ, посвященных истории моддинга мобильных телефонов. Если вам интересно узнать о том, как команда студентов хакала загрузчик E398, как инженеры Motorola разработали настоящее чудо и каким образом команда хакеров превращала простую «звонилку» в смартфон — приглашаю вас к прочтению!

Многие ли из вас помнят о легендарном музыкальном телефоне из далёкого 2004 года — Motorola E398? На момент выхода, модель буквально не имела аналогов на рынке и за относительно скромную цену в 150$ предлагала два огромных динамика, слот для MicroSD-карты, возможность проигрывания MP3-треков и даже неплохую поддержку 3D Java-игр. Однако Moto E398 гораздо интереснее, чем кажется на первый взгляд...

Читать далее

Объектные хранилища: чем заменить minio?

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

Как говорят у меня на родине: корпоративная жадность — двигатель миграций. И именно это мы сейчас можем наблюдать на примере MinIO — некогда любимого инструмента DevOps-инженеров для развёртывания S3-совместимого хранилища. В 2021 году они втихушку сменили лицензию на AGPL v3, а в 2025 году и вовсе выпилили веб-интерфейс из бесплатной версии. Ну и, наверное, можно подумать, что за такой удобный инструмент можно и заплатить. Но тогда встаёт вопрос: какова цена коммерческой лицензии? От $96 000 в год)

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

Читать далее

А король-то голый! Как написать свой Claude Code в 200 строках кода

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

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

Но вот что я вам скажу: в основе этих инструментов не лежит магия. Для них достаточно примерно двухсот строк простого Python.

Давайте с нуля напишем собственный функциональный кодинг-агент.

Читать далее

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

Пять нестандартных портативных компьютеров: кибердеки, ретро-ноутбуки и игровые гибриды

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

Привет, Хабр! В этой подборке — пять портативных устройств, которые не укладываются в привычные категории. Это кибердеки и карманные компьютеры, ретро-ноутбук на настоящем DOS-железе, игровой смартфон с выдвижным контроллером и открытая Linux-платформа для сборки своих проектов. Предлагается все это для тех, кому важен сам формат, возможность поэкспериментировать и использовать технику под конкретные задачи. Но в целом, это все ж just for fun, так что имейте в виду. Если готовы, поехали!

Читать далее

Верстаем сложный прогрессбар в 2026 году

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

Раньше, чтобы сделать круговой прогрессбар, мы страдали с SVG. Мне до сих пор больно заглядывать в инспектор на старых реализациях. Сегодня всё кардинально упростилось.

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

В этой статье я разберу именно этот приём. Сначала — ключевую идею подхода, затем — возможности кастомизации, после этого добавлю немного визуальной «дороговизны», удобные ручки управления и экспериментальную CSS-логику. Да-да, напоследок мы немного попрограммируем на CSS!

Читать далее

Как я написал bash-скрипт и получил оффер

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

Если что, это не кликбейт. История довольно проста: в один из рабочих дней (работаю экспертом по компьютерной экспертизе) мне "на стол" попал сервер на ALT. Всё стандартно:

1) делаю чек железа, дабы исключить модули аппаратного шифрования / аппаратные токены и т.д.

2) делаю диагностику всей системы на момент первого запуска, для внесения в отчёт. Данная диагностика должна включать в себя первичную информацию о: диске; памяти; сети; базовых службах (ssh, cron и тд.) и о системе в целом.

Что было дальше

Сам себе VoLTE. Запускаем сотовую сеть 4G LTE с поддержкой звонков и SMS

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

Приветствую всех!

Два года назад я уже рассказывал о том, как запустить у себя дома базовую станцию 4G LTE. Тем не менее, в той сети работал только мобильный интернет, тогда как при попытке позвонить или отправить SMS связь немедленно обрывалась.

Самое время восполнить это упущение. Сегодня мы поднимем сеть, в которой будут работать все эти функции. Заодно разберёмся, как работают звонки в LTE-сетях, как запустить такую сеть при помощи SDR и как заставить это всё работать. Как водится, будет много интересного.

Open5GS

Фитнес в VR? Добавляем свою музыку в BeatSaber

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

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

Игра Beat Saber — это впечатляющий источник домашней физической нагрузки под музыку. В этой статье разберем, как играть на треках из пользовательской библиотеки, и попытаемся создать свою карту c любимой музыкой. Спойлер: инструменты не так страшны.

Отработать салатики

Структуры данных на практике. Глава 1: Разрыв в производительности

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

Часть I: Основы

«В теории теория и практика одинаковы. На практике это не так». — авторство приписывается разными специалистам по computer science

Загадка

Два часа утра. Я смотрю на совершенно нелогичные данные профилирования.

В процессе работы над загрузчиком для SoC RISC-V у нас возникла проблема с производительностью. Загрузчик должен был искать конфигурации устройств в таблице: примерно пятьсот элементов, каждый с 32-битным ID устройства и указателем на данные конфигурации. Всё просто.

Мой коллега реализовал эту систему с помощью хэш-таблицы. «Поиск за O(1), — сказал он уверенно, — лучше уже некуда».

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

Я попробовал использовать очевидную оптимизацию: заменить хэш-таблицу двоичным поиском по отсортированному массиву. Двоичный поиск занимает O(log n), что теоретически хуже, чем O(1). Так написано в учебниках. Мой преподаватель алгоритмов был бы разочарован.

Но в результате загрузчик оказался на 40% быстрее.

Как O(log n) смогло победить O(1)? Что происходит?

Читать далее

Карьерный потолок в IT: почему я перестал стремиться в менеджмент и начал делать свой продукт

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

Каждый разработчик в начале пути видит перед собой ясную лестницу: Junior → Middle → Senior. Рост компетенций сопровождается ощутимым ростом зарплаты, и это даёт мощный заряд мотивации. Но что происходит, когда вы достигаете уровня Senior? Зарплата упирается в «стеклянный потолок», задачи становятся однотипными, а привычный драйв исчезает.

Читать далее