-
Я делаю сервис онлайн-записи для салонов красоты: клиент записывается в чат-боте или на странице, а запись падает в расписание мастера. Однажды мастер написал мне: на 15:00 к ней пришли два клиента. Оба записаны, оба уверены, что слот их. Классическая двойная…
-
Мыслю, следовательно, страдаю
Как сомнение превращается из инструмента мышления в способ ничего не решатьЗа годы управления инженерными подразделениями я десятки раз начинал разговор одной и той же фразой:Почему ты не сказал об этом три дня назад?Суть ответа почти всегда была одинаковой. Человек уже…
-
Бенчмаркая ArrayPool: подстава при копировании потоков — 131 072 байта в LOH
Уважаемые читатели, в этой статье я хочу разобраться, что происходит с буфером при аренде из ArrayPool, и представить свои выводы.Пул берут, чтобы переиспользовать массивы вместо создания новых. Особенно крупные: массив от 85 000 байт попадает в кучу больших объектов, а…
-
Как быстро загнать страницу в индекс Яндекса — и почему для Алисы AI этого мало
Новую страницу в поиске Яндекса не видно, пока её не обошёл робот. Пока страницы нет в индексе (базе поиска), её не будет ни в обычной выдаче, ни в ответе Алисы AI. Алиса опирается на источники, которые высоко стоят в поиске,…
-
Бэкдоры в вакансиях на работу
На Хабре уже приводили примеры, как приглашение на работу превращается в атаку. Вакансия на сайте поиска работы — это зацепка, чтобы привести жертву к запуску эксплоита. Такой метод социальной инженерии особенно опасен в нынешних рыночных условиях, когда интерес к вакансиям…
-
Мой агент Ouroboros побил Codex с Claude Code на Terminal-Bench, OSWorld и CL-Bench. Он написал себя сам
Я долго думал, как мог бы выглядеть идеальный универсальный агент. Такой Jarvis из «Железного человека». И довольно быстро понял: фиг я смогу такого сделать. Зато можно попробовать дать агенту возможность придумать и построить себя самого в автономном цикле эволюции.Так появился Уроборос: кривой косой агентный…
-
Уведомления на Android без Google: почему UnifiedPush через публичный ntfy у вас не работает
Как вы помните мы делаем мессенджер. Google-сервисы в нашем основном регионе недоступны, значит FCM отпадает, что мы с этим сделали?Стандартный ответ на эту задачу известен и выглядит красиво: UnifiedPush. Открытый контракт, никакого Google, пользователь сам выбирает, через кого получать сигналы.…
-
Метрика, ты что?! Всё верно, но я забыл про реорганизацию
Третья статья из цикла «Аналитик в чужом процессе»Во второй статье я остановился на простой мысли — снимок в моменте обманывает. Цифра сама по себе почти ничего не говорит. Важно, как она меняется — и что стоит за этим изменением.Логичный следующий…
-
Как мы проектировали идеальный пользовательский опыт для OTP-поля
Почему ввод кода из смс раздражает, хотя занимает всего несколько секунд? Казалось бы, OTP-поле — простой элемент интерфейса, но именно на этом этапе пользователи часто сталкиваются с мелкими, на первый взгляд, проблемами: не срабатывает автоподстановка, неудобно вставляется код, теряется фокус,…
-
Counter-Strike: Global Offensive стал доступен для запуска в браузере
Энтузиаст под ником slqnt, который до этого работал на проектом браузерного Half‑Life 2, выложил проект в открытый доступ проект CS:GO Webport — Counter‑Strike: Global Offensive в браузере. Порт CS:GO основан на утёкших в 2020 году исходных кодах и создан с помощью ИИ. При первом запуске в…