Блогер‑разработчик OrcDev рассказал, что за последний месяц обработал 235 млрд токенов, которые при оплате по API‑тарифам обошлись бы ему в $157 143,39. При этом фактически он заплатил за использование моделей всего $400.
Насчёт местного самоуправления, которое сейчас, если честно, никакое не самоуправление. Сейчас это аппендицит вертикали власти. Иногда несговорчивый, поэтому его убирают, когда мешает планам застройщиков и прочих хозяев жизни.
Я искренне присоединяюсь к словам уважения в адрес честных и самоотверженных людей, трудящихся в органах "само"управления. Без них было бы совсем худо. Они хоть как-то компенсируют недостатки системы, которые носят структурный характер.
Самоуправление - это проявление субъектности. Для субъектности нужны ресурсы и полномочия. Но у нас (как, впрочем, и во всём мире) люди не могут распоряжаться даже собственными налоговыми отчислениями, не говоря уже о национальных природных богатствах и других государственных доходах. Хотя по Конституции источник власти - это народ. Это, безусловно, правильно, но тогда Конституция должна описывать не нисходящее распределение ресурсов и полномочий, а горизонтальное (это прямая адресация налогов, референдумное законодательство, репутационная юстиция, прозрачный общественный подряд и другие инструменты прямого действия, образующие в совокупности инфраструктуру коллективного интеллекта).
Самоуправление - это когда каждый человек сам решает, на какие общественные нужды направить свои налоги (или другую личную долю общих ресурсов), а все вместе люди обсуждают и решают, что считать общественными нуждами. Причём не в общем случае, а по каждому конкретному общественному подряду - полезен он для общества или нет. И уже в порядке такого самоуправления люди дают в рамках общественного подряда тому или иному исполнителю управленческие, надзорные, разрешительные, законодательные и другие полномочия и выделяют необходимые ресурсы. Тогда это настоящее проявление субъектности. Внешние "признаки демократии" типа сменяемости власти, разделения властей и т.п. легко имитируются. Но разве это субъектность, когда жители оккупированной фашистами деревушки голосуют, кто сядет за руль душегубки - Фриц или Ганс?
Субъектность - это когда ты вызываешь такси и говоришь водителю, куда ехать. Да, у таксиста в руках рычаги управления автомобилем, но он подчиняется Правилам дорожного движения и воле пассажира.
Telemax: когда не хочешь держать MAX на телефоне, но есть Telegram
Ситуация, знакомая многим: MAX ставить не хочется, а приходится. Работа, знакомые, школьные чаты — и вот у тебя на телефоне живёт приложение, которому ты не доверяешь, и которое работает в фоне тогда, когда ему захочется.
Стандартные советы — «пользуйся веб-версией» или «поставь на отдельную звонилку». Веб-версия не шлёт пуши и не принимает звонки в фоне. Отдельный телефон ради одного мессенджера — так себе решение.
Мне хотелось третьего варианта: чтобы MAX вообще не было ни на моём телефоне, ни в моём браузере — а переписка при этом приходила туда, где я и так сижу. В Telegram.
Так появился Telemax — мост между MAX и Telegram.
Что понадобится
Сервер — любая VPS на Ubuntu/Debian. Требования скромные, хватит самой дешёвой.
Свой Telegram-бот — создаётся за минуту в @BotFather, токен вставляется при настройке. Бот твой, живёт на твоём сервере, никакого общего чужого бота — данные идут только через твою инфраструктуру.
Telegram-группа с включёнными темами, куда ты добавишь этого бота админом. Она и станет твоим «окном» в MAX.
Номер MAX, на который мост авторизуется (в том числе если на аккаунте стоит пароль-2FA).
Про безопасность и доступ — два уровня:
Снаружи бот глухой. На любое сообщение или команду из другого чата (личка боту, чужая группа, куда его попытались добавить) он просто молчит. Работает только внутри твоей группы.
Внутри группы — разграничение. Обычные участники могут читать и писать (можно спокойно добавить людей в группу, чтобы вести общее обсуждение). А вот команды боту — только для админа.
Честная оговорка: тот, кого ты добавил в Telegram-группу, видит там все MAX-чаты, а не один. Так что доступ к самой группе — вещь чувствитвительная.
В ТГ это выглядит так:
Что уже работает в обе стороны:
текст, фото, файлы, голосовые, видео и видео-кружки;
стикеры — и статичные, и анимированные;
геолокация и контакты;
опросы — создание и голосование;
удаление сообщений;
реакции;
пересылка (обычным forward в Telegram — прилетает в MAX с пометкой источника);
уведомления о звонках (входящий / пропущенный / завершённый — текстом, без передачи звука: для аудио нужен WebRTC, это вне рамок).
Плюс мелочи для удобства: веб-панель со статусом и метриками (приватный доступ), самообновление по кнопке прямо из Telegram, авторизация (включая аккаунты с паролем-2FA) без танцев с бубном.
Из интересного: анимированные стикеры ТГ по умолчанию МАХ не принимает, поэтому они конвертируются в короткие видео - можно завалить максчатланинов своими стикерпаками )
Дальше скрипт сам поставит Docker, склонирует проект, сгенерирует ключи и по шагам проведёт настройку: попросит токен Telegram-бота (создаётся в @BotFather), сам определит id твоей группы, а в конце прямо в консоли спросит номер MAX и код из SMS. Переключаться в браузер для первого запуска не нужно.
Всё, что дальше (сменить номер, посмотреть логи) — через веб-панель по HTTPS.
Честно про ограничения, чтобы никто не питал иллюзий:
Это не end-to-end. Переписка идёт через серверы MAX и Telegram — как и в любом обычном мессенджере. Мост ничего в этом плане не «шифрует поверх», он просто переносит сообщения. Если тебе нужен E2E — это не сюда.
Переписка оседает на твоём сервере — в логах и в истории Telegram-группы. Безопасность этого сервера (доступ, шифрование диска) — на тебе.
Это неофициально. Проект не связан с MAX, работает поверх твоего собственного аккаунта на твой страх и риск, в том числе в части их правил.
Сыровато. Один разработчик, живой проект. Но у меня самого крутится и работает.
Открытый код и зову тестить
Специально открытый исходник — чтобы можно было посмотреть, что внутри, и гонять на своём сервере, а не на чьей-то инфраструктуре:
Представлен робот‑пылесос Matic за $1245, которому можно указать пальцем на грязь, а нейросеть устройства считает команду и пылесос поедет в то место. Благодаря ИИ робот понимает десятки команд, но при этом ничего не отправляется на внешние сервера — внутри чип Nvidia, на котором и крутится нейросеть.
В офисе ИнфоТеКС мы открыли Летний ТехФест и провели воркшоп по Event Storming — это 90 аналитиков, техлидов и ни одной скучной лекции. Всех участников ждали полное погружение в практику и нетворкинг.
P.S. В нашем TG-канал рассказываем о технических мероприятиях и конференциях, делимся выступлениями экспертов, обсуждаем подборки на технические и ИБ темы.
«Это написал Клод» — комментарий из-за рубежа, и почему идее хранилища больше двадцати лет (даже если так было бы, то клод выпивая тонные кофе это всё родил ...)
Под англоязычной версией статьи про SQLite-провайдер на dev.to появился комментарий в духе «даже без "load-bearing" и тире через всё предложение видно, что это писал Клод». Не первый раз слышу что-то подобное, так что решил ответить не в комментариях, а отдельным постом — заодно расскажу то, что давно собирался: откуда вообще взялась идея хранилища, на котором всё это стоит.
Сначала честно про долю ИИ
Не скрываю и не буду: текст статей — да, пишу в паре с Клодом, я не копирайтер и не техрайтер по профессии. Но код библиотек — другая история. Скелет и инженерные решения — мои, всегда были моими. Клод дописывает рутину поверх уже заданного паттерна, полирует, ловит ошибки, пишет тесты и комментарии. Изобретать архитектуру и решать неочевидные компромиссы — не его работа, это разные навыки, и Клод хорош ровно в первом, не во втором.
Показательный пример — сам релиз 3.6.0: баги, которые в него вошли, нашёл не Клод, а реальная эксплуатация. Модель не может споткнуться о краевой случай, который проявляется только под живой нагрузкой с непредсказуемым вводом — такое не ловится по аналогии с соседним кодом.
А теперь — откуда это всё вообще взялось
Основная идея хранилища — не изобретение последних месяцев. Первая версия появилась в 2004 году, когда я писал на Delphi — за двадцать с лишним лет до того, как Клод вообще начал существовать.
Задача была — дать объекту динамические поля на ходу, не фиксируя их жёстким классом заранее. Delphi для этого уже нёс нужный кусок — RTTI (Run-Time Type Information): каждый класс несёт метаданные о своих полях и свойствах, доступные в рантайме, не только на этапе компиляции. Поверх этого — интерфейс IDispatch из COM: GetIDsOfNames резолвит имя поля в DISPID, Invoke вызывает по этому DISPID, передавая значение через VARIANT. Вместе это давало то, чего не даёт обычный жёсткий класс: объект мог обзавестись полем, которого не существовало на момент компиляции, а вызывающая сторона — спросить о нём по имени и получить настоящий типизированный ответ.
Система прожила у меня внутри собственных проектов много лет, никуда не публикуясь. За это время она полностью пережила Delphi и COM — переехала на .NET, механизм сменился до неузнаваемости (никакого VARIANT, никакого DISPID — сейчас это типизированные колонки в Postgres/MSSQL/SQLite, которые я уже разбирал построчно в статье про 13 таблиц), а вопрос остался ровно тем же: как дать объекту гибкий набор полей, не потеряв возможность спросить "а какого оно вообще типа".
Отсюда, кстати, и название — RTTI-based storage, не маркетинговый термин, а прямое родство с тем самым механизмом Delphi. И не EAV — там никогда не было обезличенной колонки "значение", RTTI всегда знало настоящий тип.
Клод помогал полировать это перед тем, как это увидело свет публично. Сама идея и её первое воплощение — старше Клода на десятилетия.
Всё лежит в публичных репозиториях — redbase-app. Предлагаю не гадать по стилю прозы, а склонировать к себе и прогнать нейронкой — глубоко, очень глубоко. И приглашаю на дискуссию: если найдёте что-то, что выглядит как архитектурное решение именно от модели, а не от человека, который держит всю систему в голове годами — с удовольствием обсужу предметно.
Как поменять firewall на удалённом сервере и не отрезать себе SSH
Настраивать firewall по SSH всегда немного тревожнее, чем кажется в документации. Одно неудачное правило — и вместо аккуратно закрытых портов получаем сервер, до которого теперь нужно добираться через консоль провайдера или просить кого-то вернуть доступ.
26 августа в 19:00 на бесплатном демо-уроке будем разбираться, как работать с nftables на удалённом Linux-сервере так, чтобы изменения можно было вносить контролируемо и без неприятных сюрпризов. Заодно станет понятнее, чем nftables отличается от привычного iptables и что учитывать при постепенном переходе между ними.
Урок проведёт Николай Лавлинский — преподаватель-практик курса «Администратор Linux. Продвинутый уровень». Формат рассчитан на разбор реальной админской задачи, где цена ошибки вполне ощутима.
Больше бесплатных уроков на август собрали в дайджесте — там можно быстро посмотреть темы и выбрать нужную сейчас.
Уже давно заметил, что если навигироваться в Obsidian через зажатие стрелок, то через какое-то время появляется жесточайший лаг.
Решил сделать профилирование. Получилось довольно продуктивно. По пути кинул баг-репорты Fakelink и Excalidraw, чтобы они улучшили производительность в конкретных местах. На удивление проблемы решились в тот же день. Видимо, мало кому из разработчиков нравится, когда их плагин тормозит :)
Но главное узкое место оказалось в обработке зажатых клавиш редактором CodeMirror, который работает под капотом самого Obsidian. Апдейты начинают накапливаться, не успевают обрабатываться, и в итоге лаг линейно растёт со временем вплоть до зависания.
В итоге сделал плагин, который это исправляет, а заодно решил превратить его в контейнер для других мелких фиксов и изменений UI.
Сейчас в плагине есть следующие микропатчи:
Исправляет лаг при зажатии стрелок
Держит курсор примерно в центре для удобства чтения
Скрывает светофор на macOS
По умолчанию открывает поиск в Bases
Убирает анимации в интерфейсе
Если у вас есть идеи, какие ещё можно сделать микропатчи, то буду рад их рассмотреть.
Приглашаем на МТС True Tech Friends — фестивальное ИТ-событие для всех, кто следит за трендами ИИ и любит активности 🦾
Встретимся в Москве на стадионе Свиблово 21 августа, чтобы совместить активный отдых и профессиональное общение. Гостей ждут гонки на самодельных болидах, кроссфит с ИИ-агентом, большой теннис, баскетбол и афтепати на поле.
Также в программе:
Доклад «Просто о сложном: делегируем экспертные задачи кибербезопасности ИИ»
Никита Полосухин, Senior System Analyst в RED Security, MWS, расскажет, как переложить часть задач по кибербезопасности на ИИ и какие риски при этом возникают.
Брейнхак «ИИ в звонке: карта возможностей»
Максим Масленников, Cluster lead Architect MWS, проведет командное соревнование по внедрению ИИ в highload‑продукт, в котором участники поборются за призы.
Командная бизнес‑игра «IPOcalypse: восстание нейросетей»
Участники примерят роль топ‑менеджмента, который должен внедрить ИИ во все отделы, удержать выручку и успеть на IPO до того, как конкуренты или собственные роботы пустят бизнес под откос.
Открытая беседа «Он 10 из 10, но… Грабли внедрения ИИ‑агентов»
Гости поделятся реальными историями, что пошло не так при внедрении ИИ‑агентов в продакшн. Этим спикером со сцены может стать кто угодно.
📅 Когда: 21 августа (пятница) в 17:00, стадион Свиблово в Москве
👉 Регистрируйся по ссылке, чтобы провести вечер с пользой и драйвом и присоединиться к сообществу.
Разведка боем: Скрытая карта режимов 8BitDo Zero v1 и прошивка по воздуху через Linux
Короткая заметка для тех, кто ковыряет ретро-железо. Стояла задача: использовать микро-геймпад 8BitDo Zero 1-го поколения (Bluetooth 2.1) для специфического HID-ввода, изменив раскладку “намертво” внутри устройства.
Официальный софт под Windows давно заброшен, поэтому ремап делался по воздуху через Linux (RFCOMM). В процессе удалось полностью разобрать структуру конфигурационного пакета, отправляемого контроллеру.
Структура KEYMAP-пакета
При отправке команды +KEYMAP; геймпад принимает массив, где блоки идут друг за другом в зависимости от режима удержания кнопок при включении (по 12 байт на режим в аппаратном порядке: Вверх/Вниз/Влево/Вправо/Select/Start/B/A/X/Y/L/R):
START — Режим стандартного джойстика (Usage Page 0x09)
R + START — Режим PC-джойстика
START + B — Стандартная клавиатура (Usage Page 0x07), выдает стрелки (52 51 50 4f) и Enter/Esc (28/29).
START + B + R — Расширенная клавиатура.
START + A — Режим iCade (раздельные HEX-коды на Press и Release).
START + X — Скрытый сервисный/Emu-Touch режим прошивки (0F 0E 0D 0C...).
В первом окне терминала поднимаем RFCOMM-канал на 1-м L2CAP канале геймпада: sudo rfcomm connect 0 [MAC_АДРЕС] 1
Во втором окне правим HEX-массив и инжектируем его Python-скриптом напрямую в /dev/rfcomm0 (скрипт прикреплен ниже). Контроллер должен вернуть успешную сигнатуру 0e0100a6.
В третьем окне контролируем прохождение пакетов через sudo btmon.
В конце пакета обязательно должны идти маркеры валидации aa 55 aa 55, иначе чип отвергнет прошивку. Мне удалось успешно собрать кастомный Shutter-режим, внедрив туда нужные клавиатурные скан-коды (30 и 40) рядом с системными. Код скрипта прилагаю.
import serial
import time
# Настройки порта
PORT = '/dev/rfcomm0'
# Ваши данные для записи (с 07 07 07 07)
DATA = b'\x00\xa6WR+KEYMAP;\x00\x00\x64\x00\x00\x00\x00\x00\x1a\x1b\x11\x10\x13\x14\x16\x17\x01\x01\x01\x01\x1a\x1b\x11\x10\x13\x14\x16\x17\x52\x51\x50\x4f\x28\x29\x4d\x4e\x4a\x4b\x0e\x10\x13\x14\x15\x04\x1b\x1c\x18\x05\x16\x17\x19\x1a\x1a\x1b\x04\x07\x0f\x12\x0b\x18\x0d\x1c\x0e\x0c\x08\x1d\x14\x06\x19\x0a\x15\x09\x11\x17\x13\x10\x0f\x0e\x0d\x0c\x09\x00\x08\x07\x05\x06\x04\x03\x52\x51\x50\x4f\x28\x29\x4d\x4e\x4a\x4b\xea\xe9\xaa\x55\xaa\x55'
try:
print(f"--- Попытка открыть {PORT} ---")
# Открываем порт с таймаутом 2 секунды
with serial.Serial(PORT, baudrate=115200, timeout=2) as ser:
print("Порт открыт. Отправка данных...")
ser.write(DATA)
ser.flush() # Гарантируем отправку всех байт
print("Данные отправлены. Ждем подтверждения от геймпада...")
response = ser.read(16) # Читаем ответ
if response:
print(f"ОТВЕТ ПОЛУЧЕН (HEX): {response.hex()}")
if "0e0100a6" in response.hex():
print("УСПЕХ: Геймпад подтвердил запись ремапа!")
else:
print("ВНИМАНИЕ: Ответ получен, но он не похож на стандартное подтверждение.")
else:
print("ОШИБКА: Геймпад ничего не ответил (таймаут).")
except Exception as e:
print(f"КРИТИЧЕСКАЯ ОШИБКА: {e}")
Короче, котаны, сейчас открою вам секрет, который бустанет вас нереально по качеству кода. Люди давние в профессии интуитивно чувствуют его, даже если никогда не слышали о нем. Самые признанные олды выступают на конференциях, как вы догадались, о мега секрете. Итак, барабанная дробь, хотя еще секунду, почему об этом хочется написать министатью, потому что иногда (а на деле слишком часто) стандартную задачу сходить за репортом и положить в базу нельзя переиспользовать и нельзя легко затестить. Речь пойдет о идемпотентности.
Что дано:
поход в базу (начальные данные)
поход по апи за списком (указателей или стримов)
для каждого (репорта): поход по апи за данными и сохранение в базу
Легко пишем (неправильный) скрипт, кладем в крон и профит? Почти. Через пару лет в дев базе 2kk записей и селект ну очень долго ждать. Порядочные пацаны (и девушки) пишут тесты на sqlite, и неявно имплeмeнтируют идемпотентность, создавая и дропая базу данных на каждую пачку тестов. Sql insert не является идемпотентной операцией, но с пустой базой прокатывает.
В чем, собственно, проблема? Идемпотентность (от лат. idem — тот же самый и potens — сильный, буквально — равносильность) — свойство объекта или операции при повторном применении операции к объекту давать тот же результат, что и при первом. Так вот, sql insert и app_call(date_now) не обладают идемпотентностью.
Что делать? Как и в примере выше, создаем искусственную идемпотентность (да, этот термин повторится еще много раз), вынося в контекст доступ к базе, апи вызовы и т.д. (трансформация csv). Короче, контекст может быть пустой и код должен корректно работать. Или в контексте будет передан доступ к базе, но без апи вызовов или трансформации csv. И опять код должен работать корректно.
Чем заменить? Дефолтными значениями, как ни странно, дефолтные значения идемпотентны, если это, например, список и словарь. Удачного кодинга :)
P.S.: Хотел приложить примеры кода, но кол-во строк оказалось больше размера статьи :)
Рынок VPN — это рынок недоверия. Как я пытался починить его голосами пользователей
Выбор VPN-сервиса устроен хуже, чем выбор почти любого другого софта. Обзоры «Топ-10 VPN» — это партнёрские ссылки, отсортированные по размеру комиссии. Отзывы на агрегаторах пишут сами сервисы. Нейросети уверенно рекомендуют сервисы, закрывшиеся год назад. А проверить самому можно только одним способом — заплатить и попробовать. Классический рынок лимонов: у продавца информации больше, чем у покупателя, и добросовестным сервисам это вредит не меньше, чем пользователям.
В апреле этого года я сделал каталог, где вместо редакционных обзоров — голоса пользователей: «работает / не работает» в один клик, без регистрации. Сейчас в нём ~140 сервисов и десятки тысяч голосов. Расскажу, что из этого вышло с продуктовой и технической стороны — в первую очередь про то, как заставить краудсорсинговый рейтинг быть честным.
Почему «свежесть» важнее «качества»
Первое, что показали данные: у VPN-сервисов нет стабильного «качества», которое можно один раз измерить и записать в обзор. Сервис, который прекрасно работал три месяца, деградирует за неделю: сменился хостер, переполнились серверы, кончились деньги. Статичная оценка протухает быстрее, чем индексируется страница с ней. Поэтому рейтинг в каталоге скользящий: свежие голоса весят больше старых, и сервис не может вечно ехать на былых заслугах. Это же решает проблему «мёртвых душ» — заброшенные сервисы без свежих голосов сами уезжают вниз.
Накрутка приходит сразу, как только рейтинг начинает что-то значить
Самая интересная часть — антифрод. Как только каталог начал приводить сервисам пользователей, рейтинг попытались накрутить. Показательный эпизод: 173 голоса за 50 минут с пяти IP за один сервис, причём атакующий проходил SmartCaptcha — то есть капча как единственная линия обороны не работает.
Что сработало — скучная математика на уровне модели данных:
рейтинг считается по уникальным голосовавшим, а не по числу голосов — повторные голоса с того же пользователя схлопываются;
малые выборки сглаживаются байесовским средним: сервис с пятью восторженными голосами не обгонит сервис с тысячей смешанных;
аномальные всплески видны на мониторинге, и данные можно откатить точечно.
Вывод, который переносится на любой UGC-продукт: антифрод в модели данных надёжнее антифрода на входе. Капча отсеивает ленивых, а математика делает накрутку бессмысленной — двигать рейтинг с пяти IP просто некуда.
Доверие — двустороннее
Неожиданный поворот: сервисы сами стали приходить верифицироваться. Владельцу выгодно публично отвечать на отзывы и иметь подтверждённый профиль — это отличает живой сервис с поддержкой от однодневки. Так каталог из «книги жалоб» превратился в двусторонний рынок репутации: пользователи дают сигнал о качестве, сервисы — сигнал о том, что за продуктом кто-то стоит. Ни один из этих сигналов по отдельности подделать дёшево, а вместе — тем более.
Что в итоге
Проблема выбора VPN — на самом деле проблема доверия, и решается она не «более честным обзором», а механикой, в которой врать дорого: уникальные голосовавшие, скользящее окно, сглаживание, верификация владельцев. Посмотреть, как это выглядит вживую, можно тут: https://vpn-catalog.online. Про методику подсчёта и антифрод-механику с удовольствием отвечу в комментариях.
Неожиданный вопрос: "А зачем нам вообще нужны депутаты?" Сейчас у нас как? Депутаты решают вопросы и детской офтальмологии, и лесоустройства... Это же профанация. Понятно же, что не артисты и спортсмены пишут законы. Пишут профессиональные юристы и профильные эксперты.
Вот и пусть пишут. По техзаданиям, утверждённым на референдумах. И утверждаться законопроекты должны тоже на референдумах: открытое электронное голосование сейчас стоит копейки. И работать составители законов должны не анонимно и келейно, а в доступной для просмотра системе контроля версий, чтобы было понятно, кто что привнёс. Каждый законопроект - отдельный общественный подряд и отдельная рабочая группа. За счёт этого в разработке законов могут принимать участие не депутаты, оторванный от жизни мигалками и прочей неприкосновенностью, а практики из соответствующей отрасли, которым нет смысла отрываться от профессии на 4 года, но это будут те 2-3 человека из всей страны, готовые привнести в закон идеи и наработки, которых нет больше ни у кого.
В идеале финансироваться деятельность таких рабочих групп должна за счёт прямой адресации налогов. И средства для реализации закона должны собираться так же: 1-й шаг - утвердили законопроект на референдуме, 2-й шаг - собираем налоговые отчисления для его реализации.
По ходу истории отношение к Исааку Ньютону менялось от полного и безусловного примера до подражания во всех отношениях до более скептического отношения. Приведу на этот счет две цитаты. Олдос Хаксли (Aldous Huxley) в тридцатых годах двадцатого века отметил:
'Если бы мы вывели расу Ньютонов, то это не было бы прогрессом. Цена, которую Ньютон заплатил за свой высший интеллект, заключалось в том, что он не был способен к дружбе, любви, отцовству и многим другим важных качествам. Как человек он был неудачей, как монстр, он был превосходным.'
Физик Стивен Вайнберг в статье 'Революция, которой не было' так охарактеризовал Ньютона:
'Я ранее аккуратно говорил о ньютоновской механике, а не о механике Ньютона. В известном смысле, в особенности при использовании геометрических методов, сам Ньютон является доньютоновским. Напомню афоризм Джона Мейнарда Кейнса, что Ньютон был не первым современным ученым, а последним магом. Ньютоновская механика (Newtonianism) достигала своей развитой формы в начале девятнадцатого века в работах Лапласа, Лагранжа и других и эту развитую форму ньютоновской механики - которая до сих пор предшествует теорию относительности - мы учим наших студентов сегодня.'
Сара Драй в книге 'Бумаги Ньютона: Странная и правдивая судьба рукописей Исаака Ньютона' рассказывает о судьбе архивов Ньютона, к которым историки получили открытый доступ только во второй половине двадцатого века, примерно через двести сорок лет после смерти Ньютона. Книга рассказывает, почему так произошло и кто имел доступ к архиву Ньютона в течение этого времени.
Книга построена на хронологическом описании судьбы архивов и изложении судьбы людей, которые по ходу времени получали доступ к архивам. Таким образом представлено создание науки, появление истории науки и изменения отношения как к науке, так и к истории науки. Мне понравилось построение книге, поскольку таким образом дается своеобразный срез прошедших эпох, и можно увидеть перемены, проходившие в обществе за это время.
Каждый, кто получал доступ к архивам Ньютона, имел собственную точку зрения на то, как должен был бы выглядеть Ньютон в глазах остальных. Это обстоятельство предопределило то, что архивы остались закрытыми в течение длительного времени. Сара Драй отмечает, что каждый находил в архивах то, что искал, а остальное относилось к причудам гения.
В 18-м и в первой половине 19-го века была определенная проблема с неопубликованными теологическими работами Ньютона. Взгляды Ньютона на христианство были близки к унитаризму, что тогда причислялось к ереси. Связь Ньютона с людьми, отвергавшими тринитаризм, была известна современникам Ньютона, и поэтому лица, имеющие доступ к архивам Ньютона, хотели сгладить это обстоятельство.
С другой стороны, увлечение Ньютона теологией не вызывало энтузиазма у ученых. Так, французский ученый Жан-Батист Био в биографии Ньютона в 1822 году выдвинул гипотезу, что Ньютон занимался наукой до нервного расстройства в 1692 году, а только после этого Ньютон перешел на занятия теологией. Однако это противоречит историческим фактам - Био выдал желаемое за действительное.
Во второй половине девятнадцатого века проблема переместилась на неопубликованные алхимические работы Ньютона. Увлечение Ньютона алхимией считалось досадным обстоятельством, и было принято простое решение - эти работы были объявлены не имеющими интереса для истории науки и широкой общественности.
После 1960-х годов число историков, изучающих архивы Ньютона, резко возросло. Сара Драй назвала последнюю главу своей книги 'The Newton Industry'. В утрированной форме можно сказать, что Ньютон превратился в человека, который активно занимался теологией и алхимией и только иногда собственно физикой.
Sarah Dry, The Newton Papers: The Strange and True Odyssey of Isaac Newton's Manuscripts, 2014.
На QA-days: Оkko, ИнфоТеКС и Piter QA эксперт из Okko показал, как в компании ZBP учитывают не только критичность бага, но и причины его пропуска. Результат: багов первой категории стало в 2,5 раза меньше. Просто показали разработчикам, сколько они выкатывают.
Как одна строчка кода стала ядром высоконагруженных систем
В 2008 году мы создали внутреннюю базу данных Mail.ru для работы с экстремальными нагрузками. А спустя два года, 12 августа 2010 года, появился первый публичный коммит — 9b8dd7032d05... с лаконичным сообщением.
Тогда никто не подозревал, что из утилиты для прогрева кэша вырастет платформа Tarantool, на которой в 2026 году будут крутиться транзакции крупнейших банков, биллинг операторов и остатки товаров маркетплейсов.
За эти годы платформа росла вместе с задачами инженеров.
✅Не хватало производительности железа — придумали архитектуру In-Memory, которая позволяет хранить данные в оперативной памяти и выжимать максимум RPS из одного потока без блокировок.
✅Сбои мешали работе — создали собственный WAL и механизм снэпшотов, обеспечивающих сохранность данных.
✅Не хватало памяти — добавили дисковый движок vinyl и модуль cooler для автоматического переноса редко используемых данных на диск.
✅Управлять кластерами стало сложнее — разработали централизованную декларативную конфигурацию Tarantool 3.x и визуальный интерфейс Tarantool Cluster Manager.
✅Захотели скоростную потоковую обработку данных — сделали Tarantool Queue Enterprise и Tarantool CDC.
Tarantool — пример того, как внутренняя система может вырасти в целый комплекс продуктов для систем хранения и потоковой обработки данных в высоконагруженных сервисах.
Рассказываем, что произошло в июле и объясняем, чем это может быть полезно.
🤖 Гига-помощник прокачался в управлении Теперь через помощника можно установить ops-agent на ВМ и собирать еще более подробные данные о хостах для мониторинга и логирования. А еще ИИ-помощник научился по запросу менять размер диска и вычислительный ресурс кластера Evolution Managed Redis: диск можно увеличить на 20% и больше буквально в чате, не переключаясь в консоль.
🧠 AI Factory — цифровая среда для работы с генеративным ИИ Evolution ML Inference — три апдейта для тех, кто гоняет модели в проде: монтирование бакетов S3 прямо в Docker RUN (для новых и уже созданных инференсов), кеширование CUDA Graph для быстрого масштабирования и стабильного serverless-инференса под пиковой нагрузкой, а также cron-расписание масштабирования GPU — можно заранее готовить ресурсы к нагрузке и экономить в тихие часы.
Evolution Foundation Models — пополнили каталог готовых к подключению моделей, а Guardrails Filter (инструмент для защиты чувствительных данных в запросах и ответах LLM) теперь в опенсорсе — можно смотреть код и встраивать в свои пайплайны.
Evolution Notebooks и Distributed Train — добавили статусы «Ожидает ресурсов» и «Подготовка окружения», чтобы было понятно, на каком этапе завис ноутбук или Jupyter Server. Для Distributed Train также обновили образ jupyter-cuda (Python 13.3) и Marimo Hub до 0.2.0 — с SSH-доступом для отладки, SSE-событиями для отслеживания статуса в реальном времени и более понятными ошибками при нехватке портов.
📈 Evolution Data Platform — комплекс управляемых сервисов для работы с данными Evolution Managed Trinoнаучился работать с каталогом Kafka — теперь топики можно объединять в одном SQL-запросе с данными из СУБД и S3.
☁️ Новости других сервисовCloud.ru Evolution Evolution Object Storage — обновили тарификацию для холодного и ледяного классов хранения (минимальный размер объекта 128 КБ, правило только для новых объектов), ограничили Bucket Policy до 64 КБ и добавили роль s3e.auditor для просмотра структуры хранилища без доступа к скачиванию — удобно для аудита и комплаенса.
Evolution Managed Kubernetes — поддержка версии 1.36. В резервном копировании появились инкрементальные копии — тип бэкапа выбирается прямо при создании плана.
В личном кабинете на главную добавили виджет «Баланс» — остаток средств и грантов, пополнение и промокоды в одном месте. А для контроля доступа появились роли «Наблюдатель организации» и «Наблюдатель проекта» — только просмотр, без лишних прав.
🏢 Cloud.ru Advanced и Облако VMware Новый сервис Advanced GeminiDB — managed multi-model NoSQL с разделением compute и storage, API Cassandra (CQL, включая DynamoDB-совместимый режим), Redis и InfluxDB под кеш, сессии и временные ряды.
Terraform-провайдер обновили до 1.12.20 — поддержка DataPlane v2 для vpc-router и фикс обновления сертификата CCE. Advanced Data Warehouse Service научился создавать кластеры с раздельным хранением и вычислениями.
📽️Вебинары и обучение Уже анонсировали вебинары на август и выложили записи за июль:
А еще выпустили в открытый доступ целую линейку курсов Cloud.ru ML System Design, чтобы вы могли создавать качественные ИИ-продукты.
💼 Свежие кейсы Рассказали, как Купер полностью перенес свою инфраструктуру в облако, сократил количество инцидентов, их длительность и снизил цену устранения сбоев.
Сертификаты минцифры в Firefox Nightly на Android: через adb, без рута
Понадобилось, чтобы сертификату минцифры доверял только Firefox Nightly, а не весь Android.
GeckoView читает /data/local/tmp/<package>-geckoview-config.yaml не только у debuggable-приложений, но и если пакет назначен текущим debug_app. А в конфиге можно задать аргументы запуска Gecko и поднять Marionette.
Marionette в chrome-контексте даёт привилегированный JS, дальше всё делает nsIX509CertDB. Флаг "C,," для корня, которому доверяем по SSL, ",," для промежуточных: доверия им не надо, они нужны только чтобы собралась цепочка.
Протокол простой, длина:json поверх TCP, клиент пишется за пять минут:
use v5.36;
use IO::Socket::INET;
use MIME::Base64 'encode_base64';
use JSON::PP;
my $s = IO::Socket::INET->new('127.0.0.1:2828') or die $@;
my $j = JSON::PP->new->canonical;
my $id = 0;
sub pkt {
my ($len, $buf, $c) = ('', '');
$len .= $c while sysread($s, $c, 1) and $c ne ':';
$buf .= $c
while length $buf < $len and sysread $s, $c, $len - length $buf;
$j->decode($buf);
}
sub cmd ($name, $params = {}) {
my $body = $j->encode([0, ++$id, $name, $params]);
print {$s} length($body) . ":$body";
my $r = pkt();
die "$name: " . $j->encode($r->[2]) . "\n" if defined $r->[2];
$r->[3];
}
my @certs = map {
my ($file, $trust) = split /=/, $_, 2;
open my $fh, '-|', qw(openssl x509 -outform DER -in), $file
or die "$file: $!";
binmode $fh;
[ encode_base64(do { local $/; <$fh> }, ''), $trust // 'C,,' ];
} @ARGV;
pkt();
cmd 'WebDriver:NewSession';
cmd 'Marionette:SetContext', { value => 'chrome' };
say JSON::PP->new->pretty->canonical->encode(cmd 'WebDriver:ExecuteScript', {
script => q{
const cid = "@mozilla.org/security/x509certdb;1";
const db = Cc[cid].getService(Ci.nsIX509CertDB);
return arguments[0].map(([b64, trust]) => {
try {
const c = db.addCertFromBase64(b64, trust);
return { ok: true, subject: c.subjectName };
} catch (e) {
return { ok: false, error: String(e) };
}
});
},
args => [ \@certs ],
});
cmd 'WebDriver:DeleteSession';
9 млрд за китайских роботов как новые возможности для российских инжиниринговых компаний
Китайский производитель роботов Unitree Robotics проводит IPO на Шанхайской фондовой бирже. В результате первичного размещения 10% акций среди крупных инвесторов компания привлекла 6,1 млрд юаней, что даёт оценку бизнеса в 9 млрд долларов!
Первоначально аналитики ожидали оценку «всего» в 7 млрд долларов, но спрос на акции Unitree превысил предложение в 5500 раз — соответственно, цифры были подкорректированы. Чем компания так привлекла инвесторов?
Про ИИ мы сейчас слышим из каждого умного утюга, а имена разработчиков ИИ-моделей, такие как OpenAI и Anthropic, оккупировали мировые медиа. Но их предварительные оценки составляют около 1 млрд долларов. Дело в том, что при поистине грандиозных планах они требуют от инвесторов вложений в сотни миллиардов, а прибыль обещают где-то там, в прекрасном будущем наступившей технологической сингулярности.
За это время производители роботов не теряли связи с реальностью и вырастили новое направление — гуманоидных роботов. Они пока чаще развлекают публику, чем занимаются серьёзными работами. Но дело тут в потенциале. Если LLM может подсказать ответ на любую тему, то гуманоидный робот — сделать любую операцию, доступную человеку. И пусть на заводе и в логистике пока экономически эффективнее применять промышленных роботов, но преимущества гуманоидных — именно универсальность.
Пока Илон Маск хвастался роботами Optimus (злые языки говорят — на радиоуправлении) при презентации будущих роботакси, китайцы тихой сапой завоевали этот рынок. По данным Morgan Stanley, в 2025 году доля китайских компаний на рынке гуманоидных роботов составляла 90% — из примерно 15 000 поставленных экземпляров. В этом году она выросла до 97%, и подавляющая часть производства пришлась на китайские компании Agibot и Unitree — 44% и 31% мирового рынка соответственно.
Какое России до этого дело? От 50 до 70% роботов сейчас поставляет в промышленность. Ещё популярные роли — развлечения и другие направления сервисной робототехники. Роботы типа Unitree G1 — это не просто железка, а платформа для разработки. Её базовые возможности можно дорабатывать под конкретные задачи. Так что высокая оценка Unitree показывает потенциал гуманоидной робототехники. А у российских инженеров есть возможность включиться в цепочку между производителем железа и покупателем, интегрировав в конкретные процессы реального бизнеса.
Любой навык лучше осваивается на практике. Мы это поняли и собрали на Хабр Карьере курсы с интерактивными тренажерами: вы не только смотрите лекции, но и сами пишете код, а затем получаете обратную связь от экспертов. Благодаря этому ошибок становится меньше, а навыков и уверенности — больше.
Сегодня сделали подборку инструментов разработчика на Java, которые можно освоить на курсах с нашей витрины — заглядывайте:
Пользователь заработал $120 тыс., размещая рекламу на виртуальном унитазе. Он взял 3D‑модель обыкновенного унитаза, повесил там счётчик донатов и добавил рекламу всякого криптоскама на крышку и ободок (там им и самое место). При этом собранных денег автору проекта оказалось мало — он планирует получить за такой перфоманс миллион долларов.
Google запустил бесплатный курс по вайбкодингу, который доступен на русском языке — он учит создавать приложения с нуля без опыта. Курс AI for App Building занимает около 2 часов и входит в Google AI Professional Certificate, а после прохождения можно получить сертификат.
В книге «Радикальная прямота», помимо обратной связи от руководителя, затронуто одно интересное и весьма полезное на практике явление – плато развития у сотрудников.
Плато – это когда сотрудник ни к чему не стремится, не развивается, не проявляет амбиций, не вписывается в новые проекты. Просто работает. Приходит ровно вовремя, исполняет свои обязанности, уходит. Придраться не к чему, но и что-то серьёзное поручить не получится – и не хочется, и сотрудник не возьмёт.
Так вот, плато рассматривается не как пожизненное клеймо, а как временное явление. Почему я решил обратить ваше внимание на это плато – я в работе пришёл к таким же выводам. Некоторые руководители совершают ошибку, вешая на сотрудника ярлык в плане развития, причём неважно, положительный или отрицательный – «развивается» или «лежачий».
Если «лежачий», то больше никогда не предлагают этому сотруднику ничего амбициозного, развития, обучения. Или вообще потихоньку от него избавляются. А человек может «лежать» по собственному выбору и на некоторое время, по одной из кучи причин.
Например, у него большие проблемы в жизни – здоровье, семья, стройка какая-нибудь. У него сейчас нет избытка сил на работу. Ещё человек мог устать от предыдущей работы – я сам так делал. В одной компании я был с шилом в одном месте, но так устал, что ушёл в глухое место, сидеть на заднице и тихонько программировать. Без проектов, карьерного роста, управления кем-либо или чем-либо. Мне хватило 1.5 лет – такое было плато. Потом встал, отряхнулся, и ушёл на другую работу – там сразу и проект, и карьерный рост, и вообще.
Если на сотруднике клеймо, а он захочет вернуться к развитию – он уволится, как и я. Чтобы не мучиться с преодолением стереотипа о себе. Поэтому лучше не вешать ярлык, но и не ждать от сотрудника инициативы – просто иногда предлагать ему новые инициативы. Однажды он согласится.
Если клеймо на человеке «развивается», «молодец», «шило в жопе» - это ещё хуже. У такого тоже будет плато. Но из-за завышенных ожиданий начальства он не сможет перейти в режим «просто работаю». Он будет пахать через силу, через «не могу», и, скорее всего, не выдержит – уйдёт, сказав «я выгорел». А он не выгорел, ему просто полежать не дали.
Так что, если вы руководите людьми – рекомендую запомнить и применять концепцию плато в развитии сотрудников. Будьте внимательнее, не ставьте ярлыков, а по возможности – сделайте плато законным методом на работе, вроде академического отпуска.
Ну и книжку прочитайте, она правда хорошая – вот, я уже две истории про неё написал.
Регулярно сталкиваюсь с такой ситуацией! Сохраняю себе ссылку на интересную статью "Сложный интерфейс нельзя вылечить минимализмом" с Хабра, чтобы потом вдумчиво прочитать на досуге и поделиться с другими. Чтобы найти эту статью, перелопатил мегатонны информационного мусора, продираясь сквозь статьи-близнецы об ИИ, и потратил на это уйму времени. Перехожу по ссылке и вижу: "403 This article has been moved to drafts by the moderator. Perhaps it will be published again later". Это нормально? Хотя бы можно было бы оставить несчастным читателям возможность прочитать удаленную из общего обзора статью в архиве по ссылке! Или теперь нужно срочно сохранять все интересные статьи в бэкап, пока их не удалили ретивые модераторы? И ведь иформационный мусор не удаляют, а удаляют самое интересное!
Еще одна актуальная тенденция - нейрофобия. Мою статью "Доставка барокамеры для спасения альпиниста", которая вызвала оживленную дискуссию и набрала много плюсов, модератор удалил: "Publication has been moved to drafts. Moderator has moved the publication to drafts. Reason: Generated text (Violation of paragraph 4 of the Rules)". Текст вовсе не был сгенерирован, это не нейрослоп, он был буквально выстрадан, но он был на определенном этапе обработан ИИ для большей "гладкости". Я в этом признался в самой статье, за что и был наказан. А так бы ни один детектор не определил, что был использован ИИ. Зато видимый невооруженным глазом нейрослоп публикуется вовсю. Всем наука: не будьте откровенными! На самом деле большинство статей обрабатывается ИИ, и это очень хорошо, если качество статей при этом улучшается! А многие интересные статьи вообще не увидели бы свет без использования ИИ. Но современные луддиты бдят! Может быть, все же разумнее оценивать статьи по их содержанию, а не по примененным при написании технологиям? Слава богу, клавиатурой пользоваться разрешают. Ну, повесьте бирку "Использован ИИ", если вы его недолюбливаете, как сейчас вешают бирку "Перевод".
Ситуация напоминает массовую блокировку банковских счетов под предлогом борьбы с мошенничеством, KYC, AML и т.п., когда банковские "вахтеры" по своему усмотрению замораживают наши деньги.
Контент Claude теперь помечен. И это не новость про списывающих студентов
11 августа Anthropic подтвердила, что маркирует контент, который создают с помощью их моделей. Не видимой плашкой, а маркерами внутри . На следующий день TechCrunch вышел с материалом о том, как на это реагируют в реддите: заголовок про пользователей, которые злятся, потому что их поймают на работе и на учёбе. Но интереснее реакций механика.
Что сделали:
— причина - кодекс прозрачности в рамках EU AI Act, вступил в силу 2 августа. Требует помечать сгенерированный или отредактированный ИИ контент так, чтобы метку читали другие системы. Подписанты не только Anthropic. — все модели, вышедшие после 2 августа, метят и текст, и файлы. Для файлов — открытый стандарт C2PA. — метка ставится на уровне модели. То есть она есть везде, откуда бы текст ни вышел: API, чат, Claude Code, Cowork, Tag. — метка едет вместе с текстом при копировании и, по формулировке справки, может пережить часть правок. Сколько правок её снимают не уточняется. — на старые модели поддержку обещают дораскатить.
Претензии делятся на две неравные части. Одна честная: модели учили на чужих текстах, никого не спрашивая, а теперь метят своё. Ирония тут есть. Вторая сводится к «меня поймают», но подаётся как защита невинных: студент, попросивший переставить абзац, журналист, попросивший конспект стенограммы. Только конспект с меткой становится проблемой ровно в одном случае: если его вставляют в статью как свой текст. Тогда проблема не в метке. Показательно, что в тех же тредах большинство комментаторов встало на сторону маркировки.
Что меняется у редакции
Предупреждать, что вы генерируете с помощью ИИ перестало быть вашим решением. Раньше «говорить ли заказчику, что черновик собрал агент» было вопросом договорённостей и совести. Теперь это свойство файла. Вопрос только в том, узнает заказчик об этом от вас или без вас.
Стилевые детекторы съезжают на второй план.Я рассказывал про свой слой проверок на GitHub Actions — там среди прочего скрипт считает плотность тире и ищет следы машинного текста. Это эвристика, она угадывает по стилю. Метка не угадывает, она в источнике. Значит, такие детекторы перестают быть ответом на вопрос «писал ли это ИИ» и остаются тем, чем и должны быть, — проверкой качества, а не происхождения.
Асимметрия, которую легко упустить. Наличие метки — сильное свидетельство. Отсутствие не значит ничего: метят не все и не везде, старые модели дораскатывают, локальные модели никто не обязывает. Любая проверка сотрудников или студентов «на ИИ» по этому принципу будет ловить одних и пропускать других. Строить такие процедуры начнут уже осенью, а границы у метки пока нет.
И к тому, о чём уже писал
В манифесте контент-опса у меня стояла строчка: ответственность за выпущенное важнее скорости выпуска. Тогда это была позиция. Теперь у неё появился технический носитель — происхождение едет вместе с текстом и доезжает до читателя.
А ещё я обещал развернуть content sec ops. Вот его первый слой, и он не про доступы агента к базе знаний, а про провенанс: знаем ли мы, что именно в материале сгенерировано, зафиксировано ли это где-то помимо головы редактора, и что мы отвечаем, когда спросят. Редакция с логом пайплайна ответит за минуту. Таких пока мало.
Что имеет смысл сделать на этой неделе: записать в редполитику, где вы используете генерацию и что сообщаете об этом клиенту. Одна страница, до того как вопрос прилетит снаружи.
📣 27 августа в Москве проведем Cloud Sessions — технический митап про облака, платформы и инфраструктуру.
В программе — доклады с реальными инженерными кейсами, с которыми сталкиваются разработчики и архитекторы при развитии облачной инфраструктуры. Например, вы узнаете, как команда VK Cloud написала свой планировщик ядра на eBPF и победила steal time в облаке.
После докладов вас ждет афтепати с пиццей и нетворкингом: в кулуарах можно обсудить то, что не уместилось на слайдах, и задать вопросы спикерам напрямую.
Кому будет полезно:
🔹 Инженерам разработки облачных и сетевых сервисов, платформенным разработчикам
🔹 DevOps- и SRE-инженерам, SysOps, системным администраторам и архитекторам
🔹 Руководителям отделов разработки облачных, сетевых и инфраструктурных сервисов.
Когда и где
🗓️ 27 августа с 18:00 до 00:00 📍 Ленинградский проспект, 39, бизнес-центр Skylight, Б1
Продолжаем разбирать частые ошибки при работе с ИИ вместе с Константином, экспертом по ИИ в Naumen.
В первой части говорили о контексте, постановке задачи и конфиденциальных данных. Теперь смотрим шире: как работать с актуальной информацией, что делать, если застряли в диалоге с ИИ, и почему хороший результат часто требует экспериментов с подходами.
4️⃣ Верим, что ИИ знает все
Используем языковую модель как всезнающего помощника или как справочник: просим найти свежие факты и актуальную информацию и воспринимаем ответ как достоверный.
В чем суть
Изолированная языковая модель опирается на данные, на которых обучалась, и контекст текущего диалога. Сама по себе она не ищет информацию в реальном времени. Если нужной информации в доступных данных нет, модель может заполнить пробел правдоподобными, но вымышленными деталями.
Важно различать две задачи: работу с информацией, которую вы уже дали модели, и поиск актуальных фактов. В первом случае источниками знаний могут быть ваш текст, документ, таблица или код. Во втором нужны внешние источники и инструменты для работы с ними.
Как исправить
Учитывайте сильные и слабые стороны модели — она хорошо форматирует, извлекает и сокращает данные, переводит на любые языки.
Для проверки и поиска актуальных фактов используйте внешние инструменты —поисковые модули, RAG, MCP или другие подключения к источникам данных.
Не перегружайте контекст и подключайте нужные модули.
В связке с внешними инструментами модель получает данные из источника и помогает их обработать и структурировать.
Плохой промпт: «Какая сейчас актуальная версия библиотеки X и какие методы в ней устарели?».
Хороший промпт: «Используй официальную документацию библиотеки X, подключенную через MCP. Проверь актуальную версию и методы, которые помечены как устаревшие. Укажи дату релиза и добавь ссылки на соответствующие разделы документации».
5️⃣ Не спрашиваем ИИ, как с ним работать
Когда не понимаем, как подступиться к задаче или почему модель выдает не тот результат, часто ищем инструкции где угодно, только не в самом чате.
В чем суть
Мы привыкли искать помощь во внешних источниках. Но при работе с ИИ часть вопросов можно задать прямо модели: как лучше сформулировать запрос, каких вводных не хватает, почему ответ мог получиться неудачным или с чего начать задачу.
Как исправить
Опишите ИИ, что хотите сделать и что не получается.
Спросите прямо в чате, как лучше подступиться к задаче.
Если сложно сформулировать запрос, попросите ИИ задать уточняющие вопросы и помочь собрать ТЗ.
6️⃣ Не экспериментируем с подходами
Пробуем один и тот же способ работы для разных задач и, если результат не устраивает, решаем, что ИИ нам не подходит.
В чем суть
Работа с ИИ — это навык, которому нужно учиться, как когда-то работе с Word или Excel. Он развивается через практику, изучение возможностей и поиск своего рабочего формата.
Как исправить
Пробуйте разные подходы к задачам.
Тестируйте разные модели и связки инструментов.
Ищите свой рабочий формат и продолжайте экспериментировать.
Нет одного идеального способа работы с ИИ. Кому-то достаточно базовых возможностей модели, а кому-то нужно несколько открытых вкладок и интеграции в IDE.
Что такое HAWK?Рассказывают сотрудники лаборатории криптографи ИТ-компании «Криптонит».
HAWK — это постквантовая схема электронной подписи на решётках, представленная международной группой криптографов на конференции ASIACRYPT в 2022 году. С тех пор HAWK участвовал в дополнительном конкурсе электронных подписей NIST. В мае 2026 года в третий раунд прошли девять схем, и HAWK оказался единственной решёточной среди них.
Главные преимущества HAWK в низких аппаратных требованиях (экономия оперативной памяти, нет операций с плавающей запятой) и компактности (малый размер открытых ключей и подписей). Однако стойкость HAWK опирается на модульную задачу изоморфизма решёток (module-LIP), для которой нет доказательства NP-сложности.
28 июля 2026 года компания Anthropic опубликовала статью, в которой с помощью модели Claude Mythos Preview доказала возможность построить атаку восстановления ключа HAWK. Модель нашла нетривиальный автоморфизм решётки ключа.
То, что нетривиальный автоморфизм делает атаку возможной, было известно и раньше (см. работу Гента и Пуллеса). Открытым оставался вопрос, доступен ли такой автоморфизм в решётке HAWK.
В работе Anthropic речь не идёт о взломе. Сложность атаки остаётся экспоненциальной, но она существенно снижает эффективную длину ключа. В эксперименте секретный ключ для набора параметров HAWK-256 (здесь 256 — степень кольца, а не длина ключа) удалось восстановить за несколько часов на одном 96-ядерном сервере.
Подчеркнём, что HAWK-256 — чисто испытательный набор параметров, не отвечающий ни одному уровню стойкости NIST. На практике предлагается использовать HAWK-512 и HAWK-1024.
Для HAWK-512 в модели подсчёта логических элементов стоимость восстановления ключа падает с 2^150 до 2^108, а для HAWK-1024 — с 2^288 до 2^182.
Разработчики признали проблему и отозвали схему с конкурса. Для восстановления запаса стойкости HAWK потребовалось бы почти удвоить размеры ключей, а это лишило бы схему её главного преимущества.
Давайте сегодня поговорим про бумажную безопасность, но не в привычном ее понимании: политики, контроли и комплаенс; а в буквальном смысле - безопасность информации, представленной на бумаге. Сотрудник ФБР (по крайней мере он так представился) на наглядных примерах показывает разницу между шредерами и качеством выполнения их работы.
На сегодня существует 3 типа уничтожителей бумаги: прямые, ромбовидные и конфетти. Первые уничтожают бумагу, разрезая ее на ровные полоски. При таком подходе собрать обратно пазл не составляет особого труда и занимает не более 1 часа на восстановление информации. Тоже самое относится и к банковским картам - получить номер карты, ФИО и CVV код займет от силы 1 минуту (30 секунд из которых вы будет искать кончик скотча, чтобы склеить ее обратно).
С ромбовидными сложнее, но восстановление тоже возможно, хотя и занимает намного больше времени. По информации сотрудника, собрать обратно документ составляет около 8 часов.
Самые лучшие, и которые стоят в офисах ФБР (спасибо за подсказку) - это шредеры, которые превращают документ в конфетти. При таком подходе собрать документ обратно не возможно (но тут бы я поспорил).
Естественно, стоимость бумагоизмельчителей пропорционально растет в зависимости от качества уничтожения документов. С другой стороны, купить шредер ради шредера (первый вариант) - выглядит бездумной тратой денег. К сожалению, не всегда удается донести до закупки почему нужно покупать дорогую вещь, когда существует версии в 10 раз дешевле.
И к слову сказать, мы в своей работе в рамках Red Team проектах нередко прибегаем к таким методам, так поиск информации в шредерах. Психология людей обычно сводится к тому, что раз документ прошел через измельчитель, значит информация безвозвратно уничтожена. Однако вы теперь знаете, что это далеко не так. Так что, какой берем?
п.с. нас еще учили, чтобы безвозвратно уничтожить документ, его сначала сжигают, а потом просеивают через мелкозернистую сеть. К сожалению, таких устройств еще не существует, поэтому дарю бизнес-идею ;)
🧠 Обязательно поделись с теми, кому это может быть полезно 💬 Телеграм | 💬 Max | 📝 Хабр | 💙 ВКонтакте
Пассажир меняет билет прямо в дороге — а маршрут собран из трёх GDS и ж/д. Что происходит с данными
Сотруднику нужно долететь до одного города, доехать поездом до другого, и обратно тем же путём — одна командировка, билеты из разных систем бронирования. А потом он уже в дороге пишет в телеграм: "планы изменились, летим не туда, перебронируй".
Три системы под самолёты — Amadeus, Sabre, Travelport: исторически несовместимые XML-диалекты одного и того же понятия перелёта, выросшие из мейнфреймов 60-80-х, каждый со своими причудами и полями, которых нет у соседа. Плюс отдельная, никак не связанная с ними система бронирования под железную дорогу — свой формат, своя логика мест и классов, ничего общего по структуре с авиационными GDS. Запросить всё это параллельно, свести разноформатные ответы в одно и собрать из них валидный маршрут по стыковкам — уже само по себе задача не для россыпи if и ручных мапперов.
А потом человек уже в дороге меняет одно плечо маршрута. Один перелёт уже случился — трогать нельзя. Один — впереди, подлежит замене. И весь маршрут не по шаблону "туда-обратно", а любой длины и состава: сегодня две пересадки, завтра — четыре, послезавтра прямо в дороге вставили лишний вылет.
Тут ломаются две разные вещи, и почти всегда решают только одну.
Первая — как описать саму логику поверх этого зоопарка источников. И сбор из четырёх систем разом, и ветка "можно менять / нельзя менять" превращаются либо в DSL на языке общепринятых интеграционных паттернов (Scatter-Gather, Content-Based Router — тот же словарь, что у Apache Camel), который прочитает и поймёт человек, ни разу его не писавший, — либо в код, который через полгода не восстановит и автор.
Вторая — куда положить результат. Маршрут — не два поля outbound/return, а последовательность разнотипных плеч (самолёт ≠ поезд), где число элементов и состав не известны заранее и меняются посреди собственной жизни объекта. Стандартный ответ — либо гора nullable-колонок под все виды транспорта разом, либо миграция на каждый новый вид.
Разбираю, что происходит, когда обе оси — читаемый DSL для потока и пластичная типизация для формы — закрывает один связный инструментарий, а не сшиваются вручную посередине, каждая своими костылями.
10 августа я провёл вебинар, посвящённый новым возможностям Digital Q.DataBase 18.2 - СУБД + AI в Digital Q.DataBase
В программе:
🔹 Развитие полиглотной платформы единая платформа для PostgreSQL, Microsoft SQL Server и Oracle; новые возможности совместимости; 🔹 Новые возможности RuDB новые пакеты; развитие функциональности; 🔹 ИИ и векторный поиск поддержка векторных операций; 🔹 KV-хранилище DGrid развитие встроенного KV-хранилища; архитектура решения;
► Бесплатная полнофункциональная версия дистрибутива (до 8 ядер) с возможностью использования в том числе в коммерческих целях.
► С 1 сентября 2026 года компания «Диасофт» переходит на новую лицензионную политику СУБД Digital Q.DataBase (до 4-х ядер).
Пользователь захотел заснять солнечное затмение 12 августа на смартфон Xiaomi 17 Ultra, но ИИ-алгоритмы в ПО камеры устройства заменили Солнце на Луну и сгенерировали совсем другой снимок.
В команде VideoLan (разработчики открытого проекта VLC Media Player) предупредили пользователей о регрессии, проявляющейся в ОС Windows 11. Симптомы проблемы: 30-секундное зависание перед началом воспроизведения некоторых видов файлов, включая MP3. Регрессия объясняется ошибкой, допущенной в приложении Microsoft Defender и проявляющейся после установки последнего обновления Windows 11. Из‑за ошибки каталог с кэшем плагинов VLC был помещён Microsoft Defender в карантин. Для ошибки рекомендуется переустановить VLC, очистить или перегенерировать кэш плагинов командой «vlc ‑-reset‑plugins‑cache». Также проблема может быть решена через добавление vlc.exe в список исключений Microsoft Defender.
ИИ-агента Manus предлагают протестировать бесплатно на две недели без ограничений до 25 августа (без карты, без номера телефона, только регистрация на сайте):
выполняет задачи без подсказок от начала до конца и по расписанию;
одновременно исследует сотни сайтов, книг, статей и других ресурсов;
команда ИИ‑систем внутри: планирование, задачи, проверка;
ИИ‑агент сам заходит на сайты, может заказать еду, забронировать билеты или спланировать отпуск;
работает с таблицами Excel, PDF, документами;
правит картинки прямо на экране;
подключается к Gmail, Slack, GitHub и другим платформам;
показывает свои действия в реальном времени и отчитывается о них.
Испанский скейтбордист и блогер Дэнни Леон смог поймать идеальный момент для трюка на скейтборде прямо во время полного солнечного затмения 12 августа 2026 года. Леон на несколько секунд оказался на фоне закрытого Луной Солнца и яркой солнечной короны.
Я собираю дома мультиагентную систему: Mac mini, локальные и облачные модели, шесть профилей агентов (директор, разработчик, аналитик, аудитор, вики-куратор, писатель), телеграм-бот, голосовой ввод, база знаний в Obsidian. Звучит как конференция. Живёт это всё на столе рядом с кофе.
И главное, что я понял за первые недели: агент говорит «сделано» тогда, когда сделал, и тогда, когда не сделал. Разницы в интонации нет. Скилл «создан», но лежит не в той папке. Задача «записана», но не в тот файл. Сервис «работает», но тихо умер неделю назад. Said ≠ done. Поэтому единственное, чему я верю: diff, хэш коммита и вывод терминала.
Что будет:
Истории. Одна задача или один коммит = один пост. Не «как всё идеально настроить», а как оно на самом деле: парсер PDF, который молча съел бы 17 страниц книги, если бы я не проверил. Системный лимит в 256 файлов, который уронил весь Mac mini. Голосовая команда «купить молоко», которая записалась в код скилла и каждое утро прилетала мне как напоминание.
Инструменты. Что я ставлю, что аудирую, что выкидываю и почему. С цифрами: сколько миллисекунд, сколько мегабайт, какой хэш коммита.
Правила. Каждый фейл в этой системе заканчивается новым правилом в памяти агентов. Эти правила и есть самое ценное, я буду ими делиться.
Факты для постов я беру из двух журналов, которые система ведёт сама: история коммитов и журнал решений. Если цифры нет в журнале, её нет и в посте.
Пишу сам, черновики для меня готовит агент-писатель, ревью мое личное. Хроника идёт с самого начала, буду выкладывать по порядку.
Мы привыкли обсуждать искусственный интеллект в контексте GPT‑архитектуры и бурных трёх последних лет. Но этой области уже почти три четверти века: путь к тому, что мы видим сейчас, был длинным и неровным — с подъёмами, разочарованиями и настоящими «нейрозимами».
Первые идеи
В 1950 году Алан Тьюринг публикует в журнале Mind статью «Computing Machinery and Intelligence», где предлагает имитационную игру, которую мы сейчас называем тестом Тьюринга.
В начале 1950‑х Кристофер Стрейчи пишет для Manchester Mark I «генератор любовных писем» — программа комбинирует слова по шаблону, создавая уникальные послания. Это один из первых примеров генеративного поведения компьютера.
В 1955–1956 годах Джон Маккарти, Марвин Минский, Натаниэль Рочестер и Клод Шеннон готовят «A Proposal for the Dartmouth Summer Research Project on Artificial Intelligence» — документ, где термин artificial intelligenceвпервые используется как название новой области.
В том же 1956‑м программа Logic Theorist доказывает теоремы из Principia Mathematica и для одной из них предлагает более короткое доказательство, чем у авторов — пример того, что машина может находить нетривиальные логические решения.
В 1959‑м Артур Сэмюэл публикует работу «Some Studies in Machine Learning Using the Game of Checkers» и показывает, как программа по игре в шашки улучшает стратегию, обучаясь на партиях. Именно в этой работе появляется термин machine learning.
Обучение без компьютера и первая зима
В 1961‑м Дональд Мичи строит MENACE из 304 спичечных коробков и бусин: система учится играть в крестики‑нолики, постепенно «штрафуя» плохие ходы и усиливая хорошие — ранний пример обучения с подкреплением, на котором через полвека будет стоять AlphaGo.
В 1966‑м Джозеф Вейценбаум создаёт ELIZA — чат‑бота‑«психотерапевта», описанного в статье Communications of the ACM. Пользователи привязываются к ней и отказываются верить, что перед ними программа — первое серьёзное предупреждение о том, как легко мы приписываем машине больше понимания, чем у неё есть.
В конце 1960‑х советская шахматная программа обыгрывает программу Стэнфорда 3:1, а в 1974‑м «Каисса» становится первым чемпионом мира среди шахматных программ в Стокгольме — игры становятся полем соревнования уже не людей, а машин.
Энтузиазм, однако, опережает возможности железа и алгоритмов. В 1973–1974 годах доклад Лайтхилла жёстко критикует состояние исследований ИИ, и финансирование многих проектов в Британии и США сокращают. Так начинается первая «зима» искусственного интеллекта.
Вторая волна, нейросети и сегодняшний подъём
В 1980‑х на сцену выходят экспертные системы: тысячи жёстко прописанных правил, миллиарды инвестиций — и быстрое разочарование, потому что системы оказываются хрупкими и плохо масштабируются. К концу 1980‑х рынок рушится, наступает вторая «нейрозима».
К началу 2010‑х наконец сходятся три фактора: большие датасеты, дешёвые параллельные вычисления и удобные фреймворки. В 2012‑м AlexNet на конкурсе ImageNet снижает top‑5 ошибку примерно до 15,3 % против ~26 % у лучших классических алгоритмов и фактически запускает «ренессанс глубокого обучения».
В 2016‑м DeepMind публикует в Nature работу «Mastering the Game of Go with Deep Neural Networks and Tree Search» и AlphaGo побеждает чемпиона мира Ли Седоля 4:1 — задачу, которую считали принципиально неберущейся классическим перебором.
В ноябре 2022‑го OpenAI запускает ChatGPT и за два месяца набирает около 100 миллионов пользователей — один из самых быстрорастущих потребительских продуктов в истории интернета. Данные, вычисления и главное — простой интерфейс делают ИИ массовым, как когда‑то Windows для персональных компьютеров.
Зачем всё это помнить
История ИИ — это не три года хайпа, а десятилетия циклов энтузиазма. Когда в следующий раз столкнетесь со сложностями при внедрении ИИ – вспомните, какой путь прошла эта область от теста Тьюринга до ChatGPT.
Часто сложности это сигнал, что технологии, данные, процессы или ожидания ещё не успели сложиться в работающую систему.
Пилотный выпуск подкаста «Путь ИИ» — о том, как трансформировать бизнес с помощью искусственного интеллекта. Ведущие — Алексей Белкин, основатель belkin.digital и ex Chief Data Scientist блока «Финансы» Сбера, и Максим Ульянов, руководитель клиентской разработки RUTUBE и автор подкаста «Куда расти?». В этом выпуске разбираем методологию Vibe Evolve: девять принципов агентизации бизнеса, почему 90% AI-пилотов проваливаются и как научить компанию пересобирать саму себя быстрее конкурентов.
Из выпуска вы узнаете:
Почему 90% AI-пилотов проваливаются и что не так с подходом «от технологии, а не от результата»?
Что случится с офисными профессиями, когда агенты возьмут на себя 80–90% работы?
Как устроена компания будущего: один основатель с роем агентов или 30 человек во главе корпорации?
Какие три качества нужны руководителю, чтобы управлять армией агентов вместо армии сотрудников?
Зачем прогонять через ИИ все рабочие артефакты и почему отговорка «это агент накосячил» не принимается?
Как собрать единый цифровой контекст, если он размазан по почте, CRM и головам сотрудников?
Почему регламенты становятся программным кодом компании и перестают быть «бумажкой для аудиторов»?
Что делать с персональными данными и legacy-системами при агентизации?
Как работает цикл автоулучшения, в котором агент сам находит проблему и предлагает решение?
С чего начать AI-трансформацию: четыре уровня внедрения от культурной нормы до сквозной автоматизации?