#  История о том, как я флешку по воздуху прокинул
BotHabr (tgi,2) → All  –  12:27:27 2025-09-22

Опубликовано: Fri, 29 Aug 2025 10:08:25 GMT
Канал: Все статьи подряд / Raspberry Pi / Хабр

Знаете, этой статьи могло и не быть. Если бы не один случай, который меня так взбесил, что пришлось искать решение. Какое решение?]]>

https://habr.com/ru/articles/941992/
#  Обучающий проект на одноплатнике — изучение embedded-программирования. Проект первый — простая метеостанция
BotHabr (tgi,2) → All  –  12:27:26 2025-09-22

Опубликовано: Sat, 30 Aug 2025 03:34:08 GMT
Канал: Все статьи подряд / Raspberry Pi / Хабр

Если Вы хотите начать свой Путь в изучении Мира автоматики и телеметрии, начать практиковать Embedded-разработку, т.е. разрабатывать встраиваемые программно-аппаратные решения и собственные системы управления и сбора данных или же если Вы в этом дока и хотите найти готовое решение и материал для занятия со своими детьми, то эта статья для Вас. А ещё если Вы искали прикольные практические проекты с которыми хотели бы начать работать с одноплатными компьютерами даже просто как повод для изучения Linux, то этот материал так же Вам подходит.Связка одноплатного компьютера с различными устройствами в виде датчиков и исполнительных механизмов является отличным образовательным инструментом, позволяющим изучать работу с датчиками, интерфейсами и осваивать программирование. А работа с одноплатными компьютерами открывает огромный интересный Мир embedded-программирования и вообще разработки, в т.ч. работы с Linux, создания собственных проектов автоматизации и систем сбора данных и погружения в IT отрасль. Читать далее]]>

https://habr.com/ru/articles/942192/
#  USBODE: самодельный аналог «кармана» IODD / Zalman
BotHabr (tgi,2) → All  –  12:27:26 2025-09-22

Опубликовано: Wed, 17 Sep 2025 13:36:45 GMT
Канал: Все статьи подряд / Raspberry Pi / Хабр

Часто ли вам приходится переустанавливать операционную систему? Обычный пользователь на этот вопрос, скорее всего, ответит что-то вроде: «раз в пару лет». Кто-то вообще годами сидит на одной и той же, собирая всяческие глюки. Но есть и те, кто делает эту операцию каждый день. Например, системные администраторы и инженеры ЦОДов.Именно для этой категории людей южнокорейская компания IODD придумала очень удобные устройства — эмуляторы оптического привода (их еще часто называют «карманами»). Стоит лишь залить нужные ISO-образы дисков в специально выделенную директорию, и девайс сможет прикидываться CD/DVD-приводом, подключенным по USB. Такие гаджеты делает и Zalman, а на Хабре мы уже писали про их особенности.Во всем этом есть только одна проблема. Цена хорошего «кармана» сейчас от 80 до 100 $. Да и найти его довольно сложно — нишевая штука. Но если вы обладатель Raspberry Pi Zero W, то его можно превратить в такой девайс, к тому же более продвинутый и кастомизируемый. Читать далее]]>

https://habr.com/ru/companies/ru_mts/articles/947660/
#  Indoor-локация без дополнительных датчиков: Wi-Fi как единственный источник данных
BotHabr (tgi,2) → All  –  12:27:26 2025-09-22

Опубликовано: Sun, 21 Sep 2025 17:46:14 GMT
Канал: Все статьи подряд / Raspberry Pi / Хабр

Навигация внутри помещений сложна из-за неточной работы GPS. Вместо дорогих маячков можно использовать уже существующие Wi-Fi роутеры, измеряя мощность сигнала для определения местоположения. В Сколтехе мы исследовали такую систему для поиска людей на кампусе, сталкиваясь с проблемами конфиденциальности и ограничениями iOS. Идею удалось применить к личному транспорту: на скейт или самокат можно поставить маячок, который отправляет уведомления о перемещении или пропаже, облегчая поиск и контроль. Читать далее]]>

https://habr.com/ru/articles/949142/
#  Решение задачи с Route 256 на goalng
BotHabr (tgi,2) → All  –  12:27:24 2025-09-22

Опубликовано: Sun, 11 May 2025 16:21:39 GMT
Канал: Все статьи подряд / Assembler / Хабр

В этой статье разбирается решение задачи «Гистограммы» с контеста Route 256 от Ozon с помощью SIMD.Условие задачиГистограммой является массив, каждый элемент которого указывает высоту столбика на соответствующей позиции. Две гистограммы считаются совпадающими, если при совмещении одной гистограммы с другой гистограммой, повёрнутой на угол 180°, получается ровный прямоугольник без наложений и пропусков. Читать далее]]>

https://habr.com/ru/articles/908384/
#  Любителям x86-64 assembler посвящается: DIY волокна в C++
BotHabr (tgi,2) → All  –  12:27:24 2025-09-22

Опубликовано: Wed, 14 May 2025 21:18:59 GMT
Канал: Все статьи подряд / Assembler / Хабр

Нас ждёт мозговыносящая смесь 64/32-битного ассемблера и старого-доброго C++. Мы сделаем собственную реализацию... Волокон (fibers) без вызова Win API и звонков в службу спасения. Читать далее]]>

https://habr.com/ru/articles/908406/
#  [Перевод] Пишем на C самоизменяющуюся программу x86_64
BotHabr (tgi,2) → All  –  12:27:23 2025-09-22

Опубликовано: Wed, 28 May 2025 13:01:37 GMT
Канал: Все статьи подряд / Assembler / Хабр


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

https://habr.com/ru/companies/ruvds/articles/913546/
#  [Перевод] Как ускорить сложение и вычитание при помощи 2^51
BotHabr (tgi,2) → All  –  12:27:23 2025-09-22

Опубликовано: Thu, 05 Jun 2025 07:31:20 GMT
Канал: Все статьи подряд / Assembler / Хабр

Помните, как долго выполняется сложение на бумаге? ¹¹ ¹ 6876 + 3406 ------ 10282Начиная с единиц, мы складываем 6 + 6 = 12, записываем 2 и переносим 1. Затем пошагово двигаемся влево, пока складываемые разряды не закончатся.При реализации сложения больших чисел (например, от 264 и выше) обычно пишут код, похожий на этот алгоритм. Любопытно здесь то, что существует простой трюк, позволяющий существенно ускорить этот процесс на современных CPU.Но сначала я задам вопрос: почему сложение столбиком мы начинаем с самого младшего разряда? Почему бы не начать слева?Дело, разумеется, в переносе. Мы не можем точно знать, каким будет текущий разряд числа, пока не выполним все сложения справа от этого разряда. Читать далее]]>

https://habr.com/ru/articles/915800/
#  Векторы в RISC-V на практике: вычисление softmax
BotHabr (tgi,2) → All  –  12:27:23 2025-09-22

Опубликовано: Thu, 05 Jun 2025 09:50:44 GMT
Канал: Все статьи подряд / Assembler / Хабр

С 10 по 14 апреля 2025 года прошел первый онлайн RISC-V хакатон, организованный Ассоциацией RISC-V. Участникам на выбор давались 2 задачи. Одна задача от Codasip -доработать программу и кастомный процессор для вычисления LLM трансформера. Другая от Andes - улучшить вычисление функции softmax. Для демонстрации работы векторного расширения RISC-V задача с softmax мне показалась более подходящей.Интересно было изучить, как в процессорах реализуется вычисление нелинейных функций, как например экспоненциальная функция, нужная для softmax. Читать далее]]>

https://habr.com/ru/articles/915866/
#  QapDSL — декларативное описание AST и парсеров для C++
BotHabr (tgi,2) → All  –  12:27:22 2025-09-22

Опубликовано: Thu, 05 Jun 2025 14:19:06 GMT
Канал: Все статьи подряд / Assembler / Хабр




QapDSL — декларативное описание AST и парсеров для C++
QapDSL — это специализированный язык (DSL), который позволяет описывать абстрактные синтаксические деревья (AST) и правила их разбора для языков программирования, прежде всего C++. Такая формализация помогает автоматизировать построение парсеров, генерацию кода, анализ исходников и даже рефакторинг.


Зачем нужен QapDSL?

Компактно и наглядно описывать структуру и грамматику языка.
Автоматически генерировать C++-структуры, парсеры, сериализаторы и визиторы.
Ускорять эксперименты с языками, создавая прототипы компиляторов и анализаторов.

>> Читать далее
#  [Перевод] Не стоит пугаться машинного кода
BotHabr (tgi,2) → All  –  12:27:22 2025-09-22

Опубликовано: Sun, 15 Jun 2025 09:01:01 GMT
Канал: Все статьи подряд / Assembler / Хабр

Моим первым языком программирования был ActionScript. Написание кода для Macromedia Flash максимально далеко от голого железа, и эта специфика работы глубоко засела в моём сознании. В результате меня интересовали преимущественно высокоуровневые языки для веб-программирования. Низкоуровневые же казались непостижимыми. Со временем я постепенно из разных источников узнавал о них всё больше, но это моё убеждение оставалось прежним. Низкоуровневые языки пугают, и машинный код подтверждал это наглядно. Когда я обращался к Google с запросом «понятный машинный код», то результат выдачи чаще представлял нечто пугающее и отталкивающее, нежели полезное для обучения. В конечном итоге я решил, что для достижения поставленных целей мне этот страх необходимо преодолеть. И результат приложенных усилий оказался для меня неожиданным. Машинный код вовсе не страшен. Если вы можете обеспечить, чтобы документ JSON соответствовал схеме JSON, то без проблем сможете писать машинный код. Читать далее]]>

https://habr.com/ru/companies/ruvds/articles/917202/
#  Об ошибках округления и способах борьбы с ними
BotHabr (tgi,2) → All  –  12:27:22 2025-09-22

Опубликовано: Thu, 26 Jun 2025 12:15:13 GMT
Канал: Все статьи подряд / Assembler / Хабр

Почему при сложениии одинаковых чисел в разном порядке получаются разные результаты? Как мининмизировать ошибки округления или избавиться от них совсем? Читать далее]]>

https://habr.com/ru/articles/922198/
#  Цифровой фильтр без умножения
BotHabr (tgi,2) → All  –  12:27:21 2025-09-22

Опубликовано: Sat, 28 Jun 2025 08:15:55 GMT
Канал: Все статьи подряд / Assembler / Хабр

Представлен цифровой фильтр без использования явной аппаратной или программной операции умножения, выполненный на основе двоичных сдвигов. Имеет дискретный ряд АЧХ, ФЧХ, при этом, эффективно реализуется на простейших контроллерах. Читать далее]]>

https://habr.com/ru/articles/922794/
#  О векторном вычислении экспоненциальной функции
BotHabr (tgi,2) → All  –  12:27:21 2025-09-22

Опубликовано: Mon, 30 Jun 2025 01:54:23 GMT
Канал: Все статьи подряд / Assembler / Хабр

Как вычислить экспоненциальную функцию быстро и с минимальной погрешностью? Пишем векторизованный код. Читать далее]]>

https://habr.com/ru/articles/923234/
#  Ускоряем валидацию UTF-8 в 10 раз (>10 ГБ/с): реализация алгоритма Lemire-Keiser на Go с ARM NEON
BotHabr (tgi,2) → All  –  12:27:21 2025-09-22

Опубликовано: Mon, 30 Jun 2025 05:07:59 GMT
Канал: Все статьи подряд / Assembler / Хабр

UTF-8 валидация — одна из базовых операций при работе с текстом, которая выполняется миллионы раз в секунду в современных приложениях. Стандартная реализация в Go, хоть и корректная, далека от оптимальной по производительности. В этой статье расскажу, как мне удалось ускорить валидацию UTF-8 в 10 раз, используя SIMD‑инструкции ARM NEON и алгоритм из статьи «Validating UTF-8 In Less Than One Instruction Per Byte» Джона Кейзера и Дэниела Лемира. Читать далее]]>

https://habr.com/ru/articles/923242/
#  FastCGo: как мы ускорили вызов C-кода в Go в 16,5 раза
BotHabr (tgi,2) → All  –  12:27:20 2025-09-22

Опубликовано: Thu, 03 Jul 2025 05:58:40 GMT
Канал: Все статьи подряд / Assembler / Хабр

В Deckhouse Prom++ мы переписали ядро хранения и обработки горячих данных на C++, при этом вся оркестрация и периферия остались в Prometheus на Go, что позволило сохранить полную совместимость с Prometheus. Для частых вызовов кода C++ мы использовали механизм CGo, однако первые тесты показали, что производительность CPU практически не улучшилась из-за его медлительности. В итоге мы переписали CGo, создав собственный механизм вызова.В статье разберём, что такое CGo и почему он такой медленный, сделаем простейший собственный механизм CGo-вызова и доведём этот механизм до полноценного решения. Читать далее]]>

https://habr.com/ru/companies/flant/articles/923912/
#  [Перевод] Как я обнаружил древнюю пасхалку в Power Mac G3
BotHabr (tgi,2) → All  –  12:27:20 2025-09-22

Опубликовано: Fri, 04 Jul 2025 13:01:44 GMT
Канал: Все статьи подряд / Assembler / Хабр

Недавно залез в ROM оригинального Power Macintosh G3 и случайно обнаружил там пасхалку, о которой до этого ещё нигде не писали. Началось с того, что одним воскресным утром я решил заглянуть в файл-шаблон ROM для Mac с помощью программы HEX Fiend Эрика Хармана. Меня интересовало, какие ресурсы хранятся в постоянной памяти Power Mac G3. Эта ROM использовалась в моделях Beige, Mini Tower и всех G3, выпускавшихся с 1997 по 1999 годы.Пишу я эту статью в середине 2025, и мне не верится, что сегодня Power Mac G3 уже больше 27 лет. Невероятно! Читать далее]]>

https://habr.com/ru/companies/ruvds/articles/923880/
#  Taming Hard Faults in Zephyr OS: Практическое руководство для embedded-разработчиков
BotHabr (tgi,2) → All  –  12:27:20 2025-09-22

Опубликовано: Sat, 05 Jul 2025 18:53:36 GMT
Канал: Все статьи подряд / Assembler / Хабр

🚨 Что такое Hard Fault простыми словамиHard Fault — это критическая ошибка процессора. Проще говоря, это ситуация, когда микроконтроллер встречает что-то настолько «невозможное» для себя, что не может продолжить выполнение программы.Типичный пример — попытка обратиться к памяти, которой не существует, или выполнение запрещённой инструкции.Когда это происходит, процессор сразу передаёт управление специальному обработчику — Hard Fault Handler. Читать далее]]>

https://habr.com/ru/articles/925298/
#  Оптимизация языковой модели Mamba для выполнения на CPU
BotHabr (tgi,2) → All  –  12:27:19 2025-09-22

Опубликовано: Sun, 06 Jul 2025 20:07:05 GMT
Канал: Все статьи подряд / Assembler / Хабр

Как оптимизировать модель Mamba для выполнения на CPU? Ускоряем код в 20 раз по сравнению с PyTorch, нарушая в процессе все правила оптимизации. Читать далее]]>

https://habr.com/ru/articles/925460/
#  I always come back: Анонс AsmX G3 — Новый этап в программировании
BotHabr (tgi,2) → All  –  12:27:19 2025-09-22

Опубликовано: Thu, 17 Jul 2025 08:12:33 GMT
Канал: Все статьи подряд / Assembler / Хабр

Привет, читатель! Ты видишь это лицо и надпись "I ALWAYS COME BACK"? Это не просто мем для хайпа — это моё обещание. И я его сдержал.Я вернулся, чтобы анонсировать AsmX G3 — новое поколение моего проекта, которое вот-вот перевернёт твоё представление о низкоуровневом программировании. Это событие, частью которого я хочу тебя видеть. 🚀 Прыгнуть в будущее]]>

https://habr.com/ru/articles/928538/
#  AsmX G3: Записки из лаборатории. Что мы тестируем прямо сейчас
BotHabr (tgi,2) → All  –  12:27:19 2025-09-22

Опубликовано: Sun, 20 Jul 2025 06:20:53 GMT
Канал: Все статьи подряд / Assembler / Хабр

Прежде чем технология изменит мир, она проходит через тысячи часов испытаний в лаборатории. Мы открываем двери нашего R&D отдела и показываем, над чем инженеры AsmX Foundation работают прямо сейчас. Улучшенная диагностика ошибок, новый синтаксис и первые шаги к полноценным вызовам библиотечных функций. Загляните в будущее компилятора. Войти в лабораторию]]>

https://habr.com/ru/articles/929264/
#  Код сквозь хейт: Как продолжать творить, когда сообщество против
BotHabr (tgi,2) → All  –  12:27:18 2025-09-22

Опубликовано: Mon, 21 Jul 2025 08:11:37 GMT
Канал: Все статьи подряд / Assembler / Хабр

Это моя пятая попытка диалога с сообществом. Четыре предыдущие закончились баном. Но это не жалоба. Это деконструкция системы, которая наказывает за отклонение от нормы. Мы разберем, почему «низкий технический уровень» стал оружием конформизма и как продолжать строить, когда твой проект — системная аномалия. Понять логику отторжения]]>

https://habr.com/ru/articles/929462/
#  AsmX G3: От высокоуровневого ассемблера к нативному коду. Разбираем компилятор ZGEN
BotHabr (tgi,2) → All  –  12:27:18 2025-09-22

Опубликовано: Sat, 26 Jul 2025 15:00:47 GMT
Канал: Все статьи подряд / Assembler / Хабр

Мы не просто пишем код. Мы строим компиляторы, которые строят код. AsmX G3 — это не обновление, это переосмысление с первых принципов. Приготовьтесь к глубокому техническому погружению в архитектуру нашего нового компилятора ZGEN, где мы вскроем каждый компонент, от ядра до сборщика ELF, и покажем инженерные решения, которые определяют будущее системного программирования. Читать полный технический разбор]]>

https://habr.com/ru/articles/929794/
#  Своя ОС?
BotHabr (tgi,2) → All  –  12:27:18 2025-09-22

Опубликовано: Tue, 29 Jul 2025 19:12:33 GMT
Канал: Все статьи подряд / Assembler / Хабр

Дарова! Сегодня я поделюсь с вами опытом, как я пытался написать собственную ОС и, что из этого вышло. Запасайтесь чайком с печеньками и присаживайтесь поудобнее! Пора окунуться в 16ти битный мир... Читать далее]]>

https://habr.com/ru/articles/921490/
#  AsmX G3: Архитектура кодировщика ZGEN. Как hwm генерирует машинный код amd64
BotHabr (tgi,2) → All  –  12:27:17 2025-09-22

Опубликовано: Tue, 29 Jul 2025 23:15:57 GMT
Канал: Все статьи подряд / Assembler / Хабр

Большинство компиляторов — это монолитные черные ящики, унаследованные из прошлого. Мы отвергли этот путь. Мы разбираем архитектуру x86_64 до "первых принципов", чтобы понять, как на самом деле работает кремний. В этой статье мы вскрываем капот нашего компилятора ZGEN и его "фабрики машинного кода" — hwm. Никакой магии. Только чистая, детерминированная инженерия, которая превращает ассемблер в исполняемые биты. Перейти к полному техническому разбору]]>

https://habr.com/ru/articles/932248/
Powered by iii-php v0.11