Habr.com

Ленты новостей Хабр
Все публикации подряд на Хабре
Обновлено: 55 мин. 14 сек. назад

Аномалия J1939 в CAN-шине: почему ЭБУ Weichai отправляет сообщение самому себе? Реверс-инжиниринг Weichai vs Yuchai

ср, 07/22/2026 - 11:43

На периферии двух гигантов инженеры Weichai vs инженеры Yuchai. Интересно кто умней? Ответ на этот вопрос я не знаю. Но когда разбираешь логи j1939 ты понимаешь, перед тобой две школы инженерии.

Читать далее

Превращаем недорогой FPV-шлем в маску Хищника на минималках

ср, 07/22/2026 - 11:34

В детстве одним из моих любимых боевиков был "Хищник" с Арнольдом Шварцнеггером, в котором больше всего мне нравилась маска пришельца, позволявшая ему переключаться между спектрами и видеть тепло, самому оставаясь невидимкой. На невидимость пока не замахиваюсь, а вот сделать подобие маски Хищника – почему бы и да?

Читать далее

QuotaRadar — уведомления о сбросах лимитов Codex и Claude Code

ср, 07/22/2026 - 11:33

Всем привет!

У вас было такое, когда заканчиваются недельные или часовые лимиты в Codex или Claude Code, а потом вы внезапно обнаруживаете, что лимиты уже сбросили?

Приятно, да? Особенно Codex этим часто радует :)

Так вот, я хотел получать уведомления о таких сбросах. Но при этом не хотел самостоятельно мониторить X — бывший Twitter — или постоянно проверять другие источники.

Читать далее

Mentorpiece Vacy Index июль 2026: Найм ручных QA продолжает падать, но сокращение Automation замедлилось

ср, 07/22/2026 - 11:14

В июле появились признаки улучшения ситуации по Automation QA и Senior QA - число нанимающих компаний по этим ролям за месяц уменьшилось всего на 0.2%. Это минимальное падение за последние три месяца, и оно в рамках погрешности измерений.

Совершенно другая ситуация с ролью Manual QA - здесь уверенное падение продолжается. Процент нанимающих компаний в очередной раз снизился и достиг 21.6%. Для сравнения: в феврале нанимающих компаний было 40.7%. То есть меньше чем за полгода произошло двукратное падение!
Что интересно, с приходом AI это никак не связано - на американском рынке, где масштабное внедрение AI идет уже давно, в июле число вакансий Manual QA выросло.

По ролям AI QA / ML Evaluation ситуация продолжает оставаться непонятной - некоторый рост есть, но на фоне изначально низкого числа вакансий он очень незначителен.

Читать далее

Как я писал Лицензию для «Свободного ИИ»

ср, 07/22/2026 - 11:05

Приветсвую всех читателей Хабра. В этой статье я хочу рассказать о том, как я пытаюсь сделать современный ИИ свободнее, через свою copyleft Лицензию. Она носит имя FMLL (Free Machine Learning License). Ее цель — сделать copyleft не только код LLM, датасеты, RAG и другие инструменты. Лицензия первой версии уже доступна на GitHub.

Читать далее

Эволюция Kafka as a Service: от факапа до чилаута

ср, 07/22/2026 - 11:00

Я Анастасия, ведущий SRE-инженер РСХБ.Цифра. В этой статье я расскажу о том, как мы в App.Farm, PaaS-платформе Россельхозбанка, перешли от одной «большой» Kafka до реализации услуги «Kafka as a Service» c индивидуальными кластерами под ключ. Звучит просто, но за этим кроется сложный путь проб и ошибок. 

Читать далее

[Перевод] Проектируем с нуля калькулятор на FPGA. Часть 8: От платы разработки до реального устройства

ср, 07/22/2026 - 10:52

← Седьмая часть

В предыдущем посте я писал о микрокоде и слое скриптинга. На этом этапе калькулятор почти полностью существовал только в ПО: в виде десктопного Qt-приложения, выполняющего симуляцию, или в виде страницы с WebAssembly в браузере. Это удобная среда для разработки и демонстрации, но это не калькулятор. Калькулятор должен лежать на столе, его можно взять и постучать по кнопкам.

Сегодня мы поговорим об этом этапе (за исключением издевательств над кнопками).

Читать далее

Почему современное SI/PI-моделирование не заканчивается на печатной плате?

ср, 07/22/2026 - 10:30

Все привыкли считать, что SI/PI-моделирование — это импеданс, S-параметры дорожек и IBIS-модель. Но что, если именно здесь большинство инженеров и допускает главную ошибку? Печатная плата — лишь небольшая часть реального канала передачи сигнала.

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

Читать далее

Не строить, а арендовать: пентест, VM и багбаунти как сервис

ср, 07/22/2026 - 10:30

Не обязательно поднимать все своими руками. Разбираем три сервисные модели - пентест как сервис, VM как сервис и багбаунти, - когда какая выгоднее и где подводные камни. Заодно про взрывной рост российского багбаунти: почти 14 тысяч отчетов об уязвимостях и около 260 млн рублей выплат за 2025 год.

Читать далее

Самообучающийся ИИ-агент Hermes: что умеет и как запустить его на сервере

ср, 07/22/2026 - 10:01

Всем привет!

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

Hermes Agent от Nous Research - это уже другой случай. Он сохраняет важные факты, ищет информацию в предыдущих диалогах, превращает удачные способы решения задач в навыки и использует их в дальнейшем. При этом, что довольно удобно, агент может работать и принимать сообщения из Telegram!

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

Читать далее

Построчное шифрование для хранения в репозитории

ср, 07/22/2026 - 09:33

Как хранить зашифрованный файл в репозитории Git или другой системы контроля версий? Если изменение одной строчки содержимого будет (из-за шифрования) менять весь файл целиком или значительную его часть - это портит весь подход системы контроля версий - хранение изменений "фрагментами". Значит хорошо бы шифровать "куски" - например, строки - по-отдельности, независимо.

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

Читать далее

187 064 инструкции ради одного флага: Разбор HTB Callfuscated (Insane)

ср, 07/22/2026 - 08:30

Что делать, если статический анализ crackme выдает 187 064 инструкции мусорного кода? Идти в динамику! В этой статье разбираем таск Callfuscated с HTB: пишем свой ptrace-трассировщик, создаем валидируемый x86-64 эмулятор на Python, снимаем дампы памяти и сводим сложную VM-обфускацию к арифметике первого курса.

Прочитать решение

Корпоративный ИИ за $10 млн отмел статью Q1. И он оказался прав — но не так, как он думал

ср, 07/22/2026 - 07:00

1. История

Корпоративная модель ИИ за $10 млн. дала негативный отзыв на недавно опубликованную статью:

[1] Vladimirov, V.V. (2026). An additional degree of freedom in the processes of self-organized criticality with violation of causality. Chaos, Solitons & Fractals, 208, 118186.

Ключевая проблема не в том, что ИИ «глупый». Проблема в том, что он обучен на другой парадигме. Вот три фундаментальные причины, почему корпоративный ИИ дал негативный отзыв — и почему это не ошибка, а закономерность.

·        ИИ не видит структуру там, где она не выражена в данных

Современные LLM обучены на текстах, которые описывают уже известные паттерны. Статья — о том, как обнаружить новую структуру (гиперболическое пространство, солитон, дополнительную степень свободы), а ИИ не может «увидеть» структуру, которой нет в его обучающей выборке. Он может только распознавать известные паттерны. Это называется иллюзией компетенции — ИИ создаёт впечатление понимания, но на самом деле он просто перекомбинирует известное.

·        ИИ не понимает невыпуклость и обусловленность

Градиентный спуск в невыпуклых ландшафтах страдает от плохой обусловленности матриц весов. Число обусловленности (v) — это прямой индикатор этой проблемы. Корпоративный ИИ, обученный на «best practices», не видит ценности в том, чтобы отслеживать v, потому что в стандартных подходах (Adam, BatchNorm) эту проблему пытаются маскировать, а не решать фундаментально.

Ирония в том, что исследования подтверждают наличие самоорганизованной критичности в обучении нейросетей. Нейросети действительно эволюционируют к критическому состоянию. Статья [1] предлагает способ диагностировать это состояние через (u, v). А корпоративный ИИ просто не знает, что такая диагностика возможна.

Читать далее

«Зачем Javasript-у DI контейнер?»

ср, 07/22/2026 - 02:22

Вот именно такой вопрос был задан в первом же комментарии к статье "DI-контейнер на чистом JavaScript без TypeScript и reflect-metadata" уважаемого @alexander_kubarski. Я когда-то и сам на Хабре отвечал на этот вопрос ("Зачем нужно внедрение зависимостей в JS"), и уважаемый @Wroud тоже ("Dependency Injection в JavaScript: зачем он вам нужен"), но непонимание места и значения DI у JS-разработчиков всё равно присутствует. Попробую ответить на этот вопрос ещё раз:

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

Именно для этого используют Inversion of Control в целом и Dependency Injection в частности - во всех языках программирования, а не только в JavaScript.

Чуть подробнее...

Не дали ИИ-агенту соврать — его же памятью

ср, 07/22/2026 - 02:21

На днях наш агент собрался дежурно отчитаться об успехе. Прежде чем нажать «готово», он сверился с собственной памятью — и нашёл там запись из прошлой сессии: эту идею он уже проверял на реальных данных, и она провалилась. Он остановил сам себя, до ложного отчёта.

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

Хватай за цифровой хвост

WAIC 2026: главные анонсы и почему Китай превращает искусственный интеллект в национальную инфраструктуру

ср, 07/22/2026 - 00:47

Мировой ИИ-ландшафт окончательно разделился на две параллельные экосистемы. Прошедшая в Шанхае конференция World Artificial Intelligence Conference (WAIC) 2026 зафиксировала фундаментальный сдвиг: индустрия завершила экстенсивную гонку параметров языковых моделей и перешла к этапу жесткой инженерной прагматики.

Пока западные корпорации выстраивают закрытые монополии вокруг проприетарных API, Китай делает ставку на агрессивный open source, агентные операционные системы и суверенные вычислительные кластеры, способные масштабироваться до сотен тысяч ускорителей в условиях санкционных ограничений. В этом материале мы детально разбираем аппаратные и программные итоги выставки — от альтернативных интерконнектов Huawei до VLA-моделей в промышленной робототехнике — и объясняем, почему главным продуктом WAIC 2026 стала не очередная нейросеть, а полностью независимый национальный технологический стек.

Читать далее

Итак, я написал MCP…

ср, 07/22/2026 - 00:23

Мне просто стало скучно, и я решил посмотреть на разработку MCP , используя только Go.

Никаких “революционных продуктовых инсайтов”. Просто захотелось сделать агенту в Windsurf память по моим локальным проектам и браузерные руки без тащащегося за хвостом Node.js. Получилось два инструмента: GnostisMCP (семантический поиск кода) и KlyxarMCP (браузерная автоматизация в одном бинарнике).

Похихикать...

Иллюзия всезнания: как искусственный интеллект меняет правила принятия управленческих решений

ср, 07/22/2026 - 00:14

На днях мы ознакомились с публикацией на сайте Всемирного экономического форума (https://www.weforum.org/stories/artificial-intelligence/how-ai-is-reshaping-strategic-foresight-and-global-power/), которая навела нашу редакцию на размышления об эволюции процесса долгосрочного прогнозирования. Искусственный интеллект (далее – ИИ) окончательно перестал быть просто модным веянием, превратившись в мощнейший инструмент геополитического влияния. Главной ценностью прочитанной мной статьи является четкий прикладной фокус без излишней абстрактной философии. Разработчики теперь определяют завтрашнее мироустройство не хуже, чем государственные ведомства. В данном обзоре мы структурировали ключевые тезисы, дополнив идеи статьи свежими статистическими отчетами первого полугодия 2026 года.

Читать далее

Бесшовный роуминг (Mesh) без переплаты: Xiaomi AX6S с OpenWrt и Mercusys — Wi‑Fi 7, 6 ГГц и шириной канала в 320 МГц

вт, 07/21/2026 - 23:55

Как получить три точки доступа с каскадным проводным бесшовным роумингом WiFi7 и общей LAN задёшево? Готовые Mesh-комплекты с Wi‑Fi 7 и диапазоном 6 ГГц начинаются примерно от 100 тысяч рублей, поэтому я собрал сеть из трёх самых дешёвых устройств в своём классе: Xiaomi Redmi AX6S на OpenWrt в роли маршрутизатора и Mesh-контроллера, Mercusys MR60X для покрытия Wi‑Fi 6 и Mercusys MR47BE ради Wi‑Fi 7, 6 ГГц, WPA3-SAE и канала 320 МГц.

Что получилось:

один SSID на трёх устройствах, обе точки Mercusys подключены по Ethernet EasyMesh-контроллером;

контроллер — собранный мной пакет prplmesh для OpenWrt 25.12 (APK и патчи опубликованы);

около 900 Мбит/с на проводном участке и столько же по воздуху;

после перезагрузок сеть восстанавливается сама.

возможность реализации горячего резерва двух провайдеров, SPLIT VPN и прочие прелести открытого кода

Как это собрано и сколько стоит →

MAP-Elites: как искать не «лучшее», а «лучшее в каждой нише»

вт, 07/21/2026 - 23:28

MAP-Elites: лучший в каждой нише

Классическая оптимизация ищет один максимум. Но в робототехнике, генерации уровней и инженерии нужен набор разнообразных хороших решений — библиотека походок под разные поломки, уровни любой сложности, фронт компромиссов.

Это Quality-Diversity. MAP-Elites (2015, arXiv:1504.04909) — простейший алгоритм.

Идея: делим пространство поведений на сетку ниш. В каждой нише храним одно лучшее решение. Генотип мутируем, поведенческий дескриптор (высота шага, энергия) — для адресации ячейки.

Алгоритм:

Пустой архив.

Случайная популяция → оценить fitness и дескриптор → в ячейку (если лучше).

Цикл: выбрать родителя → мутировать → оценить → в ячейку, если пусто или лучше.

Никакого отбора между нишами — только внутри. Это даёт карту всего пространства, а не одну точку.

Код:

```

import numpy as np

# Задача: найти x, y в [-5, 5], максимизируя fitness, ниши определяются по (x, y)

BOUNDS = (-5.0, 5.0)

GRID_SIZE = 20 # число ячеек по каждой оси behavior space

N_ITERATIONS = 5000

MUTATION_SIGMA = 0.2

def fitness(genome):

x, y = genome

# произвольная многомодальная функция для иллюстрации

return -(x**2 + y**2) + 5 np.sin(3 * x) np.cos(3 * y)

def behavior_descriptor(genome):

# в этой игрушечной задаче поведенческий дескриптoр совпадает с генотипом,

# в реальных задачах это обычно совсем другое пространство признаков

return genome

def to_cell(bd):

lo, hi = BOUNDS

idx = ((bd - lo) / (hi - lo) * GRID_SIZE).astype(int)

return tuple(np.clip(idx, 0, GRID_SIZE - 1))

def random_genome():

return np.random.uniform(*BOUNDS, size=2)

def mutate(genome):

child = genome + np.random.normal(0, MUTATION_SIGMA, size=genome.shape)

return np.clip(child, *BOUNDS)

# 1) инициализация случайными решениями

for _ in range(200):

g = random_genome()

f = fitness(g)

cell = to_cell(behavior_descriptor(g))

if cell not in archive or f > archive[cell][1]:

archive[cell] = (g, f)

Вывод: 379 / 400, лучшее (0.527, 0.005), fitness 4.72.

Почему не 400? Три причины:

200 случайных точек не покрывают все ячейки (эффект корзин).

Мутация локальна (σ=0.2). До пустой ячейки без занятых соседей не допрыгнуть — изоляция ниш.

В реальности часть пространства физически недостижима (напр, походка с нулевой энергией и высоким шагом).

Сложность

M — число ячеек в архиве (произведение числа делений по каждому измерению множества поведений), T — число итераций (эволюционных поколений/оценок), D — размерность генотипа, E — стоимость одной оценки решения (симуляция/вычисление приспособленности).

По времени: каждая итерация - это выбор случайного родителя за O(1) (при хранении в виде массива/словаря), мутация за O(D), вычисление дексриптора и приспособленности — доминирующая часть, O(E), и вставка/сравнение в ячейке за O(1). Итого на все итерации - O(T·(D + E))

Вывод: MAP-Elites даёт не "оптимум", а карту компромиссов. Ценятся не проценты заполнения, а покрытие достижимых ниш и разнообразие поведений.

Итог: простой, линейный по числу оценок, даёт инженеру не одну точку, а весь фронт возможностей.

Читать далее

Сейчас на сайте

Сейчас на сайте 0 пользователей и 0 гостей.