❌

Normal view

Фотосессия стоматологов без фотосессии за $3: FLUX.3 klein + ComfyUI + RunPod = 290 кадров

Я настраиваю платный трафик для стоматологических клиник (и не только). Для хороших креативов всегда нужны фото врачей: настоящее лицо врача в кабинете работает лучше стока. Но для клиники фотосессия врачей превращается в отдельный проект с большими временными и денежными тратами. Врачи заняты пациентами, кабинеты заняты, фотографу надо платить, а хорошему надо платить много. Через месяц нужны новые кадры, потому что старые креативы выгорели. В общем, для стоматологий это долгая и дорогая морока. Я понимал это с самого начала и решил пойти другим путём.

Читать далее

Пайпы OpenWebUI: зачем писать код там, где «всё уже есть в настройках»

Настроить кастомную модель с инструментами и RAG в OpenWebUI — легко. Заставить её работать предсказуемо в бою — сложнее. Наш бот техподдержки на Gemma 4 сначала отвечал правдоподобно, но без данных из систем. Мы разобрались, почему это происходит, и превратили «одну модель в интерфейсе» в детерминированный конвейер с помощью пайпов.

Читать далее

Третий месяц вайб-дебажу настолку в браузере. На что уходит столько времени

Веб-версию своей настолки делаю пятый месяц, три из которых уже ушли на вайб-дебагинг. «Release любой ценой» это карточная игра про хаос IT-разработки.

В соцсетях постоянно попадаются посты о том, как за выходные с ИИ собирают игры с 3D и мультиплеером. Инструменты у нас одни и те же, и я не понимаю, почему у них выходные, а у меня месяцы.

Нас в проекте двое плюс модели. Коллега-разработчик держит движок и сеть, я же за то, что видно на экране, и за правила. Прочитать код я могу, а вот понять нет. Разбор пойдёт от того, что я вижу на экране третий месяц подряд, как в дне сурка.

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

Читать далее

Человекоцентричность, или тихая революция в дизайне

Одна из самых значимых перемен в интерфейсном дизайне последних лет происходит почти незаметно. Экран перестал быть самостоятельным продуктом с фиксированной информационной архитектурой. Теперь пользователь формулирует запрос, а агент выполняет задачу и возвращает вместе с текстом UI-компоненты — таблицу, график, карточку с действием или карту. Такой подход называется Generative UI, или GenUI. Но сам по себе пересобираемый экран — не революция. Персонализированную ленту и адаптивную вёрстку индустрия делает уже давно, но каждый раз в итоге пользователю приходиться изучать язык системы, просто другой.

Сейчас наблюдаются две перемены. Первая в том, что точкой входа в сценарий впервые становится жизненная ситуация пользователя, описанная его словами. Вторая в том, что единицей работы дизайнера становится правило, исполняемое в миллионах сгенерированных экранов. Отсюда термин «человекоцентричность», который так часто звучит рядом с GenUI, и трактовать его стоит буквально.

Читать далее

Не давайте агенту docker.sock: как я сделал для ИИ отдельный вход в свой Docker-менеджер

Я пишу d9c, терминальный менеджер Docker для удалённых серверов, и однажды заметил, что через него к моим серверам ходит уже не только я, но и Claude Code. Таблицы для людей агенту не подходят. Ему нужен JSON, ограничение на объём вывода, чёткая граница между «посмотреть» и «сломать» и человек, который подтверждает удаление. Рассказываю, как сделал для агентов CLI-режим, MCP-сервер и десять skills, почему инструментов двенадцать, а не сорок, и как агент всё-таки удалил стейджинг, не спросив меня, хотя задумано было ровно наоборот.

Читать далее

Как я улучшил управление окнами в macOS

Написал приложение, которое добавляет в macOS две функции:

1. Открытие приложений сочетанием клавиш, например ⌥-1 для Chrome, ⌥-2 для Slack;

2. Открытие проектов сочетанием клавиш, например ⌥-3 откроет Option1.xcodeproj в Xcode. Работает с любым приложением.

В статье покажу принцип работы и возможности macOS о которых вы могли не знать.

Текст и код подготовлены без использования технологий искусственного интеллекта.

Читать далее

ymcp, или как подружить агентов с YouTrack, если ты не админ

Всё началось с того, что я в очередной раз копировал описание задачи из YouTrack в Claude Code. Потом комментарии к ней. Потом ещё один комментарий, который кто‑то оставил, пока я копировал первые. Потом ждал, пока агент напишет код, открывал PR, возвращался в задачу, вставлял ссылку, менял статус на Fixed — и шёл за следующей.

В какой‑то момент я понял, что из всей этой цепочки самая бесполезная её часть — это я. Агент умеет писать код, YouTrack умеет хранить задачи, а я работаю буфером обмена с ногами.

Решение вроде бы очевидное: дать агенту доступ к трекеру через MCP, и пусть сам читает, сам пишет, сам двигает задачи. Ну чтож, давайте подключим.

Читать далее

Пишем свою мобильную ОС с нуля на Rust. Часть 4: GUI, SQLite и DOOM

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

Дальше началась системная работа, о которой я писал в предыдущей части. Теперь ОС наращивает userspace-слой. На экран вернулась картинка — уже с окнами, кнопками и приложениями для телефона, Raspberry Pi и QEMU. На телефоне заработал и тачскрин.

Эта часть будет обзорной: посмотрим, как теперь устроены связи между программами, файловая система и поддержка C и C++, запустим SQLite и DOOM. А в конце напишем своё GUI-приложение — калькулятор. В третьей части он выводил результат в UART. В этой сделаем калькулятор с окном и кнопками.

Читать далее

Я вернулся на Android, и мне не понравилось

Под конец 2025 года мой iPhone 11 стал всеми силами показывать, как ему тяжело в современных реалиях, когда приложения повышают свои системные требования, а сама обновлённая iOS на старых девайсах выглядит хуже, чем на тех, что поновее, — всё же 4 гигабайта ОЗУ играют свою роль. До iPhone 11 у меня была «лопата» Xiaomi Mi Max (не самый плохой смартфон, кстати!) и другие бюджетники, так что «андроиды» для меня были не в новинку. Но, глядя на цены на новые айфоны и конкурентов в лице Samsung, возник вопрос: а что, собственно, я потеряю, вернувшись сейчас на Android в лице Galaxy S25 Plus? Ох, с чего бы начать…

Сразу же дисклеймер: я уважаю обе операционные системы и вижу плюсы у обеих. Ваш опыт использования этих ОС может отличаться — и это нормально.

Читать далее

Плавающая панель вкладок iOS 26 в .NET MAUI: что сломалось и как я это исправила

В первой статье я рассказывала, как переводила приложение для торговых представителей с Xamarin.Forms на .NET MAUI, а во второй — как ускоряла в нём списки. На Android новая версия уже работает у агентов, следующий шаг — переход на iPad. И перед этим шагом iOS 26 и Xcode 27 подкинули мне новую задачу.

В iOS 26 панель вкладок стала плавающей, и интерфейс, который до этого нормально выглядел на iPad, перестал с ней сочетаться. А сборка с Xcode 27 вообще перестала запускаться. В этой статье — что именно сломалось, как я это исправляла и какой код для этого понадобился.

Спойлер: платформенного кода получилось немного — один класс на 60 строк, один стиль и пара файлов для запуска. А ушло на всё два с половиной дня.

Узнать, как дизайн дизайнить
❌