Select a country

Феномены памяти

Феномены памяти. Это простой материал. Про память, мозг и нейронауки.Что-то вроде конспекта и саммари по некоторому объему времени, посвященн
Наука - Хабрахабр

Феномены памяти

Феномены памяти. Это простой материал. Про память, мозг и нейронауки.Что-то вроде конспекта и саммари по некоторому объему времени, посвященном нейронаукам в целом, и именно памяти в частности.Получилось всего 7 пунктов. Читать далее

Обзор препринтов научных статей в области астрофизики за июнь 2026 года

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

Обзор препринтов научных статей в области астрофизики за июнь 2026 года

Погружаемся в июньский обзор научных статей в области астрофизики. В этом выпуске - первичные чёрные дыры внутри звёзд, первая невзаимодействующая двойная с чёрной дырой в шаровом скоплении, и виртуальное разворачивание геркуланумского папируса!Stay tuned... Читать далее

time.ticks_ms() в MicroPython: как не блокировать код и выполнять задачи конкурентно на ESP

Очень часто в программировании микроконтроллеров используются блокирующие задержки: delay() для Arduino, time.sleep() для MicroPython. Эти функции просты и по
Наука - Хабрахабр

time.ticks_ms() в MicroPython: как не блокировать код и выполнять задачи конкурентно на ESP

Очень часто в программировании микроконтроллеров используются блокирующие задержки: delay() для Arduino, time.sleep() для MicroPython. Эти функции просты и понятны, но у них есть фундаментальный недостаток: они останавливают выполнение программы на заданное время, делая систему нечувствительной к внешним событиям. В этот промежуток времени процессор не выполняет никакой код, не проверяет таймеры, не обрабатывает события и не реагирует на прерывания. Это как повар в ресторане, который ставит суп на плиту и говорит: «Я ничего не буду делать 10 минут, пока он варится». За это время мимо проходят голодные посетители, другие кастрюли перекипают, а он просто сидит и смотрит на таймер.В системах реального времени нам нужно управлять датчиками и сетевыми интерфейсами одновременно, без простоев.В MicroPython есть, на мой взгляд, элегантное решение — time.ticks_ms(). Это способ заставить микроконтроллер ESP делать несколько дел одновременно — без прерываний, без Timer, без asyncio и сложных планировщиков. Достаточно просто… посмотреть на часы. Это как повар, который включает плиту, смотрит на настенные часы, запоминает время и идёт готовить салат. Каждые пару минут он поглядывает на часы: «Прошло 5 минут — помешаю суп. Прошло 30 минут — выключу огонь». Он успевает управлять десятью кастрюлями одновременно, потому что у него есть часы на стене и система проверок. В этой статье мы рассмотрим, как с помощью функции time.ticks_ms() создать систему неблокирующих таймеров. Она позволит управлять реле, опрашивать датчики и отправлять SMS одновременно, без остановки основного цикла; Читать далее

Спустя 6 лет я докопался до ядра компьютера, и там была математика

Рефлексирующий автобиографический рассказ о том, как я случайно попал в мир программируемых машин 6 лет назад, и как недавно во время обыденн
Наука - Хабрахабр

Спустя 6 лет я докопался до ядра компьютера, и там была математика

Рефлексирующий автобиографический рассказ о том, как я случайно попал в мир программируемых машин 6 лет назад, и как недавно во время обыденных размышлений докопался до ядра компьютера.А лежали там не резисторы и даже не квантовые частицы, а красивая математическая модель, которую реализовали сначала на бумаге, а потом и в железе отцы-основатели компьютера в первой половине 20-го века, и по совместительству гениальные математики. Погладить Аду Лавлейс

ИИ стал главной причиной увольнений в США. Инвесторы подозревают, что это отговорка

Компания monday.com, разработчик популярного таск-трекера, объявила о сокращении 20% штата — около 630 человек. Причина, по формулировке из SEC-фили
Наука - Хабрахабр

ИИ стал главной причиной увольнений в США. Инвесторы подозревают, что это отговорка

Компания monday.com, разработчик популярного таск-трекера, объявила о сокращении 20% штата — около 630 человек. Причина, по формулировке из SEC-филинга, — переход к «более компактной и сфокусированной операционной модели» ради «стратегии роста на основе ИИ». При этом у компании все хорошо: выручка за первый квартал выросла на 24%, до $351 млн, прогноз на год — плюс 19-20%. Тем не менее monday.com стала уже 21-й крупной технологической компанией, назвавшей ИИ фактором увольнений в 2026 году, — TechCrunch ведет их список. Читать далее

Памятка backend-разработчику: как сохранить психику, отношения и себя

Чем надёжнее разработчик, тем дольше окружающие могут не замечать, какой ценой ему даётся работа. Эта статья — практическая памятка о том, ка
Наука - Хабрахабр

Памятка backend-разработчику: как сохранить психику, отношения и себя

Чем надёжнее разработчик, тем дольше окружающие могут не замечать, какой ценой ему даётся работа. Эта статья — практическая памятка о том, как вовремя заметить перегрузку, заканчивать рабочий день, не переносить инженерный режим в отношения и обращаться за помощью до того, как состояние станет критическим. Читать далее

Тёмные паттерны: как закон в России впервые прямо запрещает манипулятивный дизайн

В 2025–2026 году в России впервые появились законы, которые прямо запрещают тёмные паттерны — предустановленные галочки, подписки-ловушки, скле
Наука - Хабрахабр

Тёмные паттерны: как закон в России впервые прямо запрещает манипулятивный дизайн

В 2025–2026 году в России впервые появились законы, которые прямо запрещают тёмные паттерны — предустановленные галочки, подписки-ловушки, склеенные согласия, манипуляции с выдачей на маркетплейсах. Разбираю все четыре закона по датам и штрафам, сравниваю с тем, что уже происходит в ЕС и США. Читать далее

Что общего у Таро, Viterbi и LLM: как алгоритм выбирает один смысл из многих

Можно ли описать интерпретацию Таро как задачу поиска лучшего смыслового пути? Разбираю учебную вероятностную модель: от локального greedy к то
Наука - Хабрахабр

Что общего у Таро, Viterbi и LLM: как алгоритм выбирает один смысл из многих

Можно ли описать интерпретацию Таро как задачу поиска лучшего смыслового пути? Разбираю учебную вероятностную модель: от локального greedy к точному Viterbi, beam search, фактор-графам, CRF и LLM reranking. На контрпримере показываю, почему лучший локальный выбор проигрывает глобальному, а также где заканчивается поиск структуры и начинается генерация текста. Читать разбор целиком

[Перевод] Стохастический клеточный автомат на системе типов

Давайте разберёмся, как алгорифмы Маркова и pattern matching в WL позволяют генерировать лабиринты, реки, падающий песок и другие клеточные автоматы
Наука - Хабрахабр

[Перевод] Стохастический клеточный автомат на системе типов

Давайте разберёмся, как алгорифмы Маркова и pattern matching в WL позволяют генерировать лабиринты, реки, падающий песок и другие клеточные автоматы с помощью системы типов Читать далее

Параллельное Программирование, Процессоры, Кэши с Кэйвоном и Кунле

На четвертом курсе Стэнфорда* я записался на урок по параллельному программированию. Изучив алгоритмы, контейнеры данных и математику, стоящ
Наука - Хабрахабр

Параллельное Программирование, Процессоры, Кэши с Кэйвоном и Кунле

На четвертом курсе Стэнфорда* я записался на урок по параллельному программированию. Изучив алгоритмы, контейнеры данных и математику, стоящую за нейронными сетками, понял, что толком не знаю, что такое микропроцессор. Было очень интересно углубиться в компьютерную архитектуру и понять лучше, как работает то, для чего мы разрабатываем софт и чем пользуемся ежедневно.Преподаватели были одни из лучших в моём опыте в Стэнфорде*. Кэйвон Фатахалиан—эксперт в области графики и производительности, а Кунле Олукотун—пионер в создании многоядерных микропроцессоров.Кредит обложки: David Baillot. Читать далее

Внедрение AI в дизайн-процесс: что реально работает, а что пока только обещано

Разбор того, где AI на самом деле прижился в дизайн-процессе, а где пока только обещания. На пяти реальных источниках — от интервью с дизайнера
Наука - Хабрахабр

Внедрение AI в дизайн-процесс: что реально работает, а что пока только обещано

Разбор того, где AI на самом деле прижился в дизайн-процессе, а где пока только обещания. На пяти реальных источниках — от интервью с дизайнерами Atlassian и Shopify до кейса X5Tech с 40-45% AI-контента — показано: AI лучше всего работает не как генератор, а как ревизор. Читать далее

7 месяцев вайбкодинга: как в одиночку делать то, что раньше требовало команду

примерное содержание: За 7 месяцев вайбкодинга я увидел, как сильно ИИ меняет разработку: от чата с моделью до полноценной агентной работы. В
Наука - Хабрахабр

7 месяцев вайбкодинга: как в одиночку делать то, что раньше требовало команду

примерное содержание: За 7 месяцев вайбкодинга я увидел, как сильно ИИ меняет разработку: от чата с моделью до полноценной агентной работы. В этом материале, мой опыт, советы использования ИИ и выводы о том, что действительно ускоряет создание продукта. Читать далее

Подробная история развития 2D-графики в PC

Сейчас в сети можно найти много статей и видеороликов о становлении 3D-графики в обычных пользовательских ПК. Даже я в своем блоге веду соотве
Наука - Хабрахабр

Подробная история развития 2D-графики в PC

Сейчас в сети можно найти много статей и видеороликов о становлении 3D-графики в обычных пользовательских ПК. Даже я в своем блоге веду соответствующую рубрику, где мы с вами не только вспоминаем историю знаковых видеокарт из 90-х, но и во всех подробностях изучаем их архитектуру, возможности и графические API. Однако всё это время мы с вами обходили тему 2D-ускорителей на ПК, которые тоже очень сильно эволюционировали и изменились со времен самой первой видеокарты в IBM PC.Если вам интересно узнать о том, зачем видеокарте нужен был свой собственный BIOS, как работали цветные режимы в первых видеокартах и почему объём VRAM в те годы решал больше, чем сейчас — жду вас под катом! Читать далее

Kakehashi: запуск macOS бинарников на Linux ARM. Часть 1: рабочий 7zip, curl и успехи с Apple Git

В прошлой статье я писал о WIE - userspace эмуляторе, который через JIT позволяет запускать PE64 бинарники на Apple Silicon. Казалось бы проект шел хорошо - по
Наука - Хабрахабр

Kakehashi: запуск macOS бинарников на Linux ARM. Часть 1: рабочий 7zip, curl и успехи с Apple Git

В прошлой статье я писал о WIE - userspace эмуляторе, который через JIT позволяет запускать PE64 бинарники на Apple Silicon. Казалось бы проект шел хорошо - почему делаешь новое? Дело в том, что я уперся в ужасную скорость - 7zip реальный проект на 200+ мб сжимал в 80-100 раз медленнее, чем нативный macOS бинарник. И это исправить без радикальной переработки проекта и разрушения самой концепции невозможно. Поэтому его разработка к сожалению была приостановлена. Но мне хотелось попробовать сделать то, что сохранит идею переноса бинарника одной OS на другую, но без JIT. И я нашел. И имя ему Kakehashi Читать далее

Бренд работодателя: как можно ли защитить свое «HR-лицо»

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

Бренд работодателя: как можно ли защитить свое «HR-лицо»

Слоганы, фирменные цвета бренда и даже мерч всё чаще становятся объектами интеллектуальной собственности. Компании пытаются зарегистрировать своё «HR-лицо», чтобы повысить узнаваемость, усложнить жизнь конкурентам и защитить себя от переманивания кадров. Рассказываем в нашей статье об этом новом тренде. Читать далее

Делаем себе сложно

В пакете стандартной библиотеки slices есть функция Backward — итератор по элементам среза в обратном порядке:func Backward[Slice ~[]E, E any](s Slice) iter.Seq2[int, E] Есл
Наука - Хабрахабр

Делаем себе сложно

В пакете стандартной библиотеки slices есть функция Backward — итератор по элементам среза в обратном порядке:func Backward[Slice ~[]E, E any](s Slice) iter.Seq2[int, E] Если вы не сильно погружены в тему дженериков и итераторов, то естественная реакция при взгляде на сигнатуру этой функции (и других из пакета slices) — «а что, нельзя попроще как-то было?».Чтобы ответить на этот вопрос, проведем воображаемый эксперимент. Представим себя в роли нашего далекого предка, живущего в доитераторную эпоху, который решает реализовать Backward с нуля. Сомнительно, но окэй →

Три диплома, два курса и 1700 вакансий: что я понял про обучение на айтишника в 2026-м

В этим летом мне исполнилось 32 года, а за плечами — диплом психолога, диплом теолога и свежая, июльская магистратура по педаг
Наука - Хабрахабр

Три диплома, два курса и 1700 вакансий: что я понял про обучение на айтишника в 2026-м

В этим летом мне исполнилось 32 года, а за плечами — диплом психолога, диплом теолога и свежая, июльская магистратура по педагогике. Я работал официантом, поваром, восемь лет был референтом, работал в магазине, администрировал доставку суши и был региональным менеджером в клининговой компании. А сейчас я учусь на аналитика данных и на системного аналитика, одновременно.Если вы подумали «вечный студент» — я вас понимаю, сам так про себя так думал. Но именно поэтому мне есть что сказать про обучение — я видел его с обеих сторон. Учился я хорошо и плохо, доходил до конца и бросал, платил за курсы деньгами и, что дороже, временем. А ещё я успел поработать наставником и HR‑ом, то есть смотрел на чужие резюме теми же глазами, какими сейчас смотрят на моё.Эта статья — не про то, что «образование важно» (спасибо, кэп). Она про то, почему одни и те же курсы для одних становятся трамплином, а для других — строчкой в резюме, которую рекрутёр пролистывает не моргнув. Здесь не будет мотивационных цитат, но будут цифры — в том числе мои собственные. Читать далее

ИИ-агент 4 месяца дежурит на наших прод-логах: 113 алертов, 2 галлюцинации и фикс за 3,5 часа

Пользователи почти не сообщают о багах: напишет 1 из 0, остальные молча уйдут. На прод-логи мы посадили автономного ИИ-агента: 300 тысяч строк в с
Наука - Хабрахабр

ИИ-агент 4 месяца дежурит на наших прод-логах: 113 алертов, 2 галлюцинации и фикс за 3,5 часа

Пользователи почти не сообщают о багах: напишет 1 из 0, остальные молча уйдут. На прод-логи мы посадили автономного ИИ-агента: 300 тысяч строк в сутки, цикл раз в полчаса, молчание в 9 случаях из 10 — и алерты с цифрами в Telegram. За 84 дня — 113 алертов, две пойманные галлюцинации и фикс. Внутри архитектура, экономика ($10/мес) и каркас, который собирается за день-два. Архитектура и грабли →

Gemini Spark теперь работает с вашими логинами в Chrome

30 июля 2026 года Google подключила Gemini Spark к Chrome. Круглосуточный облачный агент теперь может продолжить задачу в браузере пользователя, открыть
Наука - Хабрахабр

Gemini Spark теперь работает с вашими логинами в Chrome

30 июля 2026 года Google подключила Gemini Spark к Chrome. Круглосуточный облачный агент теперь может продолжить задачу в браузере пользователя, открыть сайты с активными сессиями и с разрешения воспользоваться сохранёнными данными для входа.Chrome Auto Browse существует с 28 января. Свежим элементом стал мост между облачным Spark и вашим локальным Chrome. Именно он превращает обычную автоматизацию браузера в разговор о доступе к аккаунтам, личным данным и внутренним страницам компаний.Анонс выглядит как ещё одна победа над скучной рутиной. Корпоративная документация Chrome читает ту же историю при более холодном свете. Разберёмся, что агент действительно получает, где остаётся человек и почему администраторам Google советует сначала проверить модель угроз. Читать далее

Не самый дешёвый суперстрат Cort G250 Spectrum

Привет, Хабр! Знакомому гитаристу очень понравилась одна из моих самодельных электрогитар, и он предложил обменять её на героиню сегодняшнег
Наука - Хабрахабр

Не самый дешёвый суперстрат Cort G250 Spectrum

Привет, Хабр! Знакомому гитаристу очень понравилась одна из моих самодельных электрогитар, и он предложил обменять её на героиню сегодняшнего повествования.Благодаря этому все мы сможем рассмотреть и послушать прекрасный недорогой инструмент, а у меня появилось выгодное пополнение обменного фонда. Ещё расскажу, как выравнивать лады.

Alpha Connect: Подключаем Альфу к Home Assistant с помощью своей интеграции

Привет, Хабр!Время от времени я возвращаюсь к своему PET-проекту приватного и независимого от сторонних сервисов голосового ассистента под ко
Наука - Хабрахабр

Alpha Connect: Подключаем Альфу к Home Assistant с помощью своей интеграции

Привет, Хабр!Время от времени я возвращаюсь к своему PET-проекту приватного и независимого от сторонних сервисов голосового ассистента под кодовым названием «Альфа», который разработан для голосового взаимодействия с умным домом на базе Home Assistant. Простыми словами — это приватная умная колонка для управления умным домом. В этот раз я решил заняться вопросом «нормального» взаимодействия «Альфы» и Home Assistant. А что из этого вышло — читайте далее. Читать далее

Фильтрация ТСПУ у серверов Таймвеб Cloud: диагностика, обход через reverse-proxy и СDN

Два коммерческих сайта на WordPress, оба на одном VPS. Клиенты в одном городе, я сам в другом. Начало июня. Клиенты жалуются, что сайт не открывается б
Наука - Хабрахабр

Фильтрация ТСПУ у серверов Таймвеб Cloud: диагностика, обход через reverse-proxy и СDN

Два коммерческих сайта на WordPress, оба на одном VPS. Клиенты в одном городе, я сам в другом. Начало июня. Клиенты жалуются, что сайт не открывается без VPN.Мало ли, подумал я — ограничения, белые списки и т.д.Потом сайт перестал открываться у меня. По проводу. Дома.Три дня был потный танец с бубном: Читать далее

DroneCan. Анатомия

Так получилось, что мне пришлось заниматься регуляторами для электромоторов. Большинство из них имеет двойное управление – по PWM и CAN. Управл
Наука - Хабрахабр

DroneCan. Анатомия

Так получилось, что мне пришлось заниматься регуляторами для электромоторов. Большинство из них имеет двойное управление – по PWM и CAN. Управление по PWM проще, поэтому  его чаще  всего и применяют. Но если вы хотите надежности, вам надо переходить на CAN, а точнее на DroneCAN.  Об этом протоколе и пойдет речь в статье. Читать далее

Как я автоматизировал создание стикеров для соцсетей: локально обучаем стилевую LoRA для SD 1.5 на 30 картинках

Генерация красивых единичных артов давно перестала быть проблемой. Но как только возникает прикладная задача — например, сделат
Наука - Хабрахабр

Как я автоматизировал создание стикеров для соцсетей: локально обучаем стилевую LoRA для SD 1.5 на 30 картинках

Генерация красивых единичных артов давно перестала быть проблемой. Но как только возникает прикладная задача — например, сделать серию консистентных иллюстраций или заготовок для стикерпака в едином стиле — обычный промпт‑инжиниринг начинает буксовать. Закрытые модели дают высокое качество, но забирают контроль и навязывают свое видение.Поэтому я решил собрать собственный контролируемый пайплайн. Базой для эксперимента была выбрана Stable Diffusion 1.5. Да, это далеко не самая новая архитектура: она хуже современных моделей понимает комплексные описания, чаще ломает анатомию и ограничена базовым разрешением 512×512. Но у неё остаются неоспоримые козыри: низкие требования к железу, гигантская экосистема (ControlNet, чекпоинты) и возможность быстро обучать и тестировать гипотезы на домашнем ПК.Суть эксперимента — обучить стилевую LoRA на обезличенной подборке стикеров из ВК. Модель должна была выучить не лицо конкретного персонажа и не манеру конкретного художника, а общие паттерны жанра: белый фон, упрощённые формы, характерный векторный контур и мультяшную выразительность эмоций. Читать далее

ИграКОД: Генератор судоку на TypeScript: почему найти решение проще, чем доказать единственность

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

ИграКОД: Генератор судоку на TypeScript: почему найти решение проще, чем доказать единственность

Главная ошибка наивного генератора судоку — проверять, что решение существует, но не проверять, что оно единственное.Вот почти заполненное поле:534..8912 672195348 198342567 859..1423 426853791 713924856 961537284 287419635 345286179 solve() быстро заполнит четыре пропуска. Только завершений здесь два: цифры 6 и 7 можно переставить, не нарушив ни строку, ни столбец, ни блок.countSolutions(puzzle, 2) останавливается после второго решения и возвращает 2. Это не демонстрационная картинка. Та же строка из 81 символа лежит в solver.spec.ts, тест так и называется: «контрпример из лида действительно имеет два решения».Я реализовал три стратегии поиска, а MRV и propagation дополнительно сравнил на наборах задач. Ещё измерил две операции: получение первого решения и доказательство того, что второго решения нет. Вторая вызывается после каждой попытки убрать подсказку, поэтому она в основном определяет цену генерации. React, Web Worker и тесты появятся дальше как обвязка этого поиска, а не как отдельные темы.Это первый выпуск рубрики «ИграКОД» — про алгоритмы через запускаемые мини-игры. Ранее в цикле выходили материалы про useEffect, any, перенос TypeScript на Go, варианты архитектуры React-магазина и мы собирали и разбирали комбайн. Читать далее

Торговля по паттернам с точки зрения алгоритмов

Классические фигуры вроде «головы и плеч» легко увидеть глазами, но тяжело формализовать без десятков спорных условий. В статье я рассказыва
Наука - Хабрахабр

Торговля по паттернам с точки зрения алгоритмов

Классические фигуры вроде «головы и плеч» легко увидеть глазами, но тяжело формализовать без десятков спорных условий. В статье я рассказываю, как заменил ручное описание паттернов поиском похожих исторических участков с помощью корреляции Пирсона, какие проблемы возникают при таком подходе и почему высокая корреляция сама по себе ещё не является торговым сигналом. Читать далее

Прокси для парсинга — какие выбрать, а от каких лучше держаться подальше?

При парсинге данных есть одна ключевая проблема — защитные механизмы, которые препятствуют массовому сбору. Это могут быть как вполне себе т
Наука - Хабрахабр

Прокси для парсинга — какие выбрать, а от каких лучше держаться подальше?

При парсинге данных есть одна ключевая проблема — защитные механизмы, которые препятствуют массовому сбору. Это могут быть как вполне себе тривиальные лимиты по частоте запросов, так и сложных системы поведенческого анализа (Cloudflare, Akamai, DataDome). В топе самых частых ошибок, приводящих к срабатыванию защитных механизмов — использование личных IP-адресов или IP-адресов сервера, на котором запускается парсер. Читать далее

Школьное уравнение, в котором прячется гиперболический тангенс

Привет, Хабр! Есть приём, который я люблю за его наглость: взять одно уравнение, решить его двумя совершенно разными способами и приравнять от
Наука - Хабрахабр

Школьное уравнение, в котором прячется гиперболический тангенс

Привет, Хабр! Есть приём, который я люблю за его наглость: взять одно уравнение, решить его двумя совершенно разными способами и приравнять ответы. Раз левые части равны — равны и правые, а значит, мы получили тождество, которого раньше не видели.В этой статье я проверну такой фокус на простом показательном уравнении, из тех, что решают в школе. Один способ решения приведёт нас к обычному логарифму. Второй — к обратному гиперболическому тангенсу, функции уже из курса высшей математики. Приравняв два ответа, мы получим формулу через логарифм. Читать далее

Почему кнопка «Войти через VK» заняла три дня. Кейс

На первый взгляд, Social Login — одна из самых простых функций современного веб-приложения.Добавить кнопку «Войти через VK». Добавить кнопку «Войт
Наука - Хабрахабр

Почему кнопка «Войти через VK» заняла три дня. Кейс

На первый взгляд, Social Login — одна из самых простых функций современного веб-приложения.Добавить кнопку «Войти через VK». Добавить кнопку «Войти через Яндекс». OAuth 2.0 давно стандартизирован, OpenID Connect тоже. Документации и библиотек полно. Да и AI сегодня умеет писать интеграции быстрее человека. Поэтому, когда я решил добавить VK ID и Яндекс ID в Авторизу, честно рассчитывал уложиться в один рабочий день:Свою систему знаю. OIDC знаю. Подобные интеграции раньше проектировал. Под рукой ChatGPT, Claude и AI-агенты.Что вообще может пойти не так?Спойлер: получилось почти три дня. И самой сложной частью оказался не OAuth.День первый. Самоуверенность Читать далее

Мыслю, следовательно, страдаю

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

Мыслю, следовательно, страдаю

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

Двойная бронь: как мы поймали гонку в записи и закрыли её EXCLUDE-констрейнтом

Я делаю сервис онлайн-записи для салонов красоты: клиент записывается в чат-боте или на странице, а запись падает в расписание мастера. Однажд
Наука - Хабрахабр

Двойная бронь: как мы поймали гонку в записи и закрыли её EXCLUDE-констрейнтом

Я делаю сервис онлайн-записи для салонов красоты: клиент записывается в чат-боте или на странице, а запись падает в расписание мастера. Однажды мастер написал мне: на 15:00 к ней пришли два клиента. Оба записаны, оба уверены, что слот их. Классическая двойная бронь — и классическая race condition. Разберу, почему наивная проверка «свободно ли время?» не спасает, и как мы закрыли дыру двумя слоями: advisory-lock и EXCLUDE-констрейнтом в PostgreSQL. По пути — один неочевидный подвох с IMMUTABLE, на который легко напороться. Читать далее

Детектор жизни без техзадания

Как насчёт поисков внеземной жизни всерьёз? Отложим на время разговоры о зондах высокоразвитых цивилизаций и недостроенных сферах Д
Наука - Хабрахабр

Детектор жизни без техзадания

Как насчёт поисков внеземной жизни всерьёз? Отложим на время разговоры о зондах высокоразвитых цивилизаций и недостроенных сферах Дайсона; нас и внеземная бактерия обрадует. Вот вам инженерная задачка: попробуйте спроектировать детектор внеземной жизни, который зажигает индикатор и пищит при контакте с живым образцом.Погодите тянуться за паяльником. На что должен реагировать прибор? На обмен веществ? Отдельные реакции ничего не доказывают: их на раз имитирует автокатализ. Рост и поддержание структуры? Под такой размытый критерий попадает даже пламя свечи. Может, способность к размножению — маркер жизни? Но мулы, гибриды кобылы и осла, потомства не дают. А как реагировать на пограничные формы жизни, вроде прионов, белков без генома, которые, в отличие от мулов, размножаются? Сейчас разговор не о них; считать прионы живыми или нет, может быть делом договорённости. Хуже другое: мы тратим миллиарды на поиски следов жизни в марсианских песках и облаках Венеры, так и не договорившись окончательно, по какому признаку признаем находку живой. Читать далее

Уведомления на Android без Google: почему UnifiedPush через публичный ntfy у вас не работает

Как вы помните мы делаем мессенджер. Google-сервисы в нашем основном регионе недоступны, значит FCM отпадает, что мы с этим сделали?Стандартный от
Наука - Хабрахабр

Уведомления на Android без Google: почему UnifiedPush через публичный ntfy у вас не работает

Как вы помните мы делаем мессенджер. Google-сервисы в нашем основном регионе недоступны, значит FCM отпадает, что мы с этим сделали?Стандартный ответ на эту задачу известен и выглядит красиво: UnifiedPush. Открытый контракт, никакого Google, пользователь сам выбирает, через кого получать сигналы. Мы так и сделали в июне, всё заработало на тестовых устройствах, и мы поехали дальше.Полтора месяца спустя пошли жалобы, что уведомления не приходят. Мы полезли в логи прода и обнаружили, что четыре из пяти попыток разбудить устройство заканчивались отказом, и так было с первого дня работы фичи. Ниже разбор: почему так, почему платный тариф это не лечит, и что мы в итоге написали сами. Цифры настоящие, из журнала боевого сервера. Читать далее

Мой агент Ouroboros побил Codex с Claude Code на Terminal-Bench, OSWorld и CL-Bench. Он написал себя сам

Я долго думал, как мог бы выглядеть идеальный универсальный агент. Такой Jarvis из «Железного человека». И довольно быстро понял: фиг я с
Наука - Хабрахабр

Мой агент Ouroboros побил Codex с Claude Code на Terminal-Bench, OSWorld и CL-Bench. Он написал себя сам

Я долго думал, как мог бы выглядеть идеальный универсальный агент. Такой Jarvis из «Железного человека». И довольно быстро понял: фиг я смогу такого сделать. Зато можно попробовать дать агенту возможность придумать и построить себя самого в автономном цикле эволюции.Так появился Уроборос: кривой косой агентный луп на чистом Python с доступом к git, правом переписывать свой рантайм, безопасным рестартом на новой версии и откатом к прошлой, если всё сломалось. Я поселил первую версию в Google Colab, чтобы он не убил мне комп самоэволюцией (сервера Google не жалко, у них хорошая изоляция), дал бюджет и автономность, и понеслось.С тех пор прошло несколько месяцев. Когда я последний раз рассказывал про него публично, это был ещё милый desktop‑агент, который рисовал котиков, зависал на ютюбе и менял обои. Сейчас на Terminal‑Bench 2.1, CL‑Bench и OSWorld у него SOTA результаты, а на GAIA и SWE‑Pro получается паритет с Claude Code и Codex. Сам бы я такой харнесс не придумал, а вот автономная эволюция и куча сожжённых денег на токены — да.В этом посте: цифры и воспроизводимость, несколько неловких историй из аудита трейсов, коротко про архитектуру, и почему я теперь почти всё делаю через него. Читать далее

Бэкдоры в вакансиях на работу

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

Бэкдоры в вакансиях на работу

На Хабре уже приводили примеры, как приглашение на работу превращается в атаку. Вакансия на сайте поиска работы — это зацепка, чтобы привести жертву к запуску эксплоита. Такой метод социальной инженерии особенно опасен в нынешних рыночных условиях, когда интерес к вакансиям вырос.Внедрение бэкдоров через вакансии на популярных сайтах встречается всё чаще. Об одном таком случае в сети LinkedIn рассказывает Python-разработчик Роман Иманкулов, о другом — разработчик Николай Коновалов, и похожих историй предостаточно. Читать далее