Полгода назад написал первую статью про RBACX — RBAC/ABAC-движок авторизации для Python. С тех пор вышло 25+ релизов, и библиотека стала заметно мощнее: добавил ReBAC с поддержкой OpenFGA и SpiceDB, пакетную проверку прав, ИИ-генерацию политик из OpenAPI-схемы, Redis-кэш, async Django, шортхэнд для ролей и закрыл три security-бага. Рассказываю что, зачем и как это вообще делается в одного.
Читать далееВсем привет!
В какой-то момент у меня появился простой вопрос: «А можно ли заставить ассистента произнести что-то, что он в норме говорить не должен?» Без API, без навыков программирования, без автоматизации и т.п.
Оказалось - можно.
Читать далееРазрабатываете микросервисы и чувствуете, что бизнес-логика превращается в хаос?
В статье на примере простого UserService разберем, как три правила агрегатов DDD и асинхронные доменные события помогают навести порядок.
Обсудим, почему нельзя хранить объектные ссылки между сервисами, как спроектировать агрегат на Spring Boot
Читать далееЭто первая часть из задуманной серии статей про ИИ. Здесь мы на немного заступим в техническую часть памяти/контекста LLM моделей. Разберем, почему они частенько забывают или выдумывают факты и врут.
Читать далееСразу оговорюсь: я не собираюсь учить вас, как стать нейроблоггером. Я хочу поделиться своей историей и своим опытом — вдруг кому-то покажется интересным или полезным.
Это будет небольшая серия постов — иногда совсем коротких. Они выросли из раздела моего блога, который я в какой-то момент назвал «Блог про блог», и который со временем разросся настолько, что захотелось вынести его на более широкую аудиторию.
Читать далееВсем привет! Около года назад я публиковал здесь свои первые шаги в разработке — прототип редактора заметок. Тогда я получил много фидбека: и позитивного (+7 кармы), и критического. Признаю, второй мой пост был излишне эмоциональным и малоинформативным. Я сделал выводы, подтянул навыки и готов показать, во что вырос мой проект FocusMind.
В чем идея? Я по-прежнему считаю, что современные инструменты вроде Notion перегружены. Моя цель — создать максимально быстрый инструмент для тех, кто ценит фокус. Что уже реализовано в новом прототипе:
Космическо-лунный дизайн: Тёмная тема, которая не давит на глаза при долгой работе.
Скорость: Никаких тяжелых фреймворков, тормозящих загрузку. Приложение стартует мгновенно.
Локальность: База данных на JSON-сервере. Ваши мысли принадлежат вам и доступны даже без интернета (Offline-first).
Адаптивность: Я полностью переработал навигацию. На десктопе — удобное боковое меню, на мобильных и планшетах — отзывчивый «бургер».
Мои ошибки — мой опыт Раньше я гнался за одобрением, теперь гонюсь за качеством кода. Я понял, что пользователю не важны мои эмоции, ему важен инструмент, который не подведёт.
Что дальше? Мой план — за 5 месяцев довести FocusMind до идеального MVP. Впереди переход на IndexedDB для работы с огромными массивами данных и внедрение PWA.Буду рад, если вы заглянете в обновленный прототип FocusMind и дадите технический совет. Особенно интересует ваше мнение по реализации синхронизации локальных данных.
Читать далееИИ не заменяет людей - люди просто больше работают. Так давайте хотя бы ночью пусть работает ИИ.
Как мы сделали Авто-Кодера, выжимая максимум из нашей подписки на LLM!
Не знаю, как вам, а мне кажется — не очень-то у него выходит.
Вообще-то, если смотреть не на слова, а на дела, различий между ними кот наплакал. Оба в конечном счёте принадлежат к одной и той же касте — касте техно-олигархов.
И давайте прямо сейчас расстанемся с иллюзиями и признаем одну простую вещь: мы нужны им ровно в двух ролях — как поставщики поведенческих данных и как потребители их блестящих безделушек.
Если их галлюцинирующие боты иногда и делают для нас что-то полезное, причина ровно одна: пока ни у кого из них нет монополии на ИИ-рынке.
Читать далееКогда в команде происходит открытое столкновение – спор, переходящий в личные выпады, демонстративное молчание, жесткие сообщения в чатах – это уже не начало, а финал длительного процесса. Интересно, кстати, что в ИТ-среде конфликты редко возникают внезапно, это подтверждено свежим исследованием – им предшествует период накопления напряжения, который может длиться неделями. При этом к моменту эскалации руководитель упускает окно возможностей для мягкого и малозатратного урегулирования.
Специфика ИТ в том, что большинство конфликтов маскируются под профессиональные дискуссии. Спор об архитектуре, выборе технологического стека или способе реализации фичи выглядит как разговор «по делу». Однако исследования психологической безопасности показывают: под поверхностью технической аргументации часто скрывается нечто более глубокое. Ситуации, угрожающие психологической безопасности, чаще всего возникают именно в ходе технических активностей: код-ревью, согласования требований, оценки сроков, выбора технологий. За внешне рациональным спором могут стоять: страх показаться некомпетентным перед коллегами; ощущение, что твой опыт обесценивают; угроза профессиональной идентичности и репутации эксперта.
Пока руководитель пытается разрешить спор рациональными аргументами («давайте посмотрим метрики», «обратимся к документации»), реальная проблема остается нетронутой. И конфликт продолжает тлеть.
Как понять, что конфликт пройдет сам, а когда – нет? Не любые разногласия требуют вмешательства руководителя. Многие рабочие разногласия действительно могут быть урегулированы самими участниками или просто «сойдут на нет», если не подпитывать их эмоционально.
Читать далееВсем привет! Мы создаем простую, быструю и компактную диффузионную модель, которую можно обучать и запускать на обычных видеокартах, сохранив при этом высокое качество. Simple Diffusion (sdxs-1b) – это первый результат наших опытов, мы публикуем её как альфа-версию под лицензией Apache-2.0 вместе с открытым кодом подготовки данных и обучения. https://huggingface.co/AiArtLab/sdxs-1b
TLDR; На обучение SDXL потребовалось ~6 млн долларов. Z-Image говорят обучили всего за 600к. У нас была RTX-4080 и два чемодана желание сделать небольшой прототип быстрой и дешевой модели на imagenet. В процессе мы немного увлеклись. Вероятно удалось создать модель примерно в сотни раз дешевле/быстрее относительно быстро обучаемой SDXL с генерацией близко к реальному времени в высоком разрешении, и без характерных проблем в анатомии, но качество пока в целом ниже (но надеемся будет выше).
Читать далееUnchartevice 286 — свежая модель ноутбука, которая основана на популярной бюджетной платформе Intel N, в частности используется процессор N150. То есть, этот ноутбук рассчитан на простые задачи, будь то офисная работа, либо, для дома пощёлкать интернет и посмотреть киношку. Кроме всего прочего, этот ноутбук протестирован производителем на совместимость с Astra Linux, и соответственно, идёт в комплекте с некоммерческой версией Common Edition 12.8, в общем, никакого "маздая" из коробки там нет, у меня был ноутбук с Aстрой, но тогда я обошёл её стороной. А может зря? Попробую пощёлкать её и выяснить, насколько ею удобно использовать для повседневных задач, об этом, как всегда, по ходу обзора.
Читать далееВы уверены, что ваш “случайный” пароль действительно случайный?
Я тоже так думал — пока не полез разбираться, как Python на самом деле генерирует случайные значения. Оказалось, что привычный random — это не про безопасность вообще. Это генератор, который только выглядит случайным, но при определённых условиях может быть воспроизведён. Что даст нам возможность предсказать все будущие пароли и прошлые.
В статье я последовательно разбираю:
• почему классическая “энтропия пароля” часто вводит в заблуждение;
• как устроен Mersenne Twister и в чём его фундаментальная проблема;
• почему даже хороший seed (через os.urandom) не делает random безопасным;
• и что на практике можно (и нельзя) восстановить, имея время генерации, код и несколько паролей.
Я попытался воспроизвести реальную атаку: восстановить seed по временной метке и набору сгенерированных паролей. Спойлер — всё оказалось сложнее, чем кажется.
Отдельно показываю, где проходит граница между «кажется надёжным» и «действительно криптостойким», и почему secrets — это не просто «рекомендованный модуль», а принципиально другой класс генерации.
Читать далееЕсли тема управления задачами в Obsidian вам близка - заглядывайте в мой тг-канал, там я разбираю подобные вещи регулярно.
Читать далееСамые интересные новости финансов и технологий в России и мире за неделю: лимит на зарубежный инет-трафик в России, банковская инфраструктура РФ поломалась на день, IPO SpaceX целит уже на $2 трлн, OpenAI купили подкаст для псиопов, а у Claude Code утек исходный код.
Читать далееКто давно читает публикуемые здесь материалы, тот знает про мой интерес к мозгу, психике и вопросу о продуктивности. Когда речь заходит о продуктивности, то возникает закономерный вопрос: могу ли я что-то принять, чтобы быть умнее, сосредоточеннее, усидчивее? С одной стороны, у нас уже есть кофе, который бодрит, но есть ли что-то более фундаментальное? Да, есть. Но то, как работают базовые «смарт-таблетки», не влияет на интеллект, и не улучшает качество когнитивных усилий. А вот что именно улучшают эти таблетки и как их тестировали – в материале.
Читать далееПривет! Меня зовут Михаил Федоров, я руковожу центром компетенций QA. Мы решили не нанимать ещё двух тестировщиков, а написать систему AI-агентов, которая берёт на себя 80% рутины QA-инженера – от анализа требований до Merge Request с готовыми автотестами. В этой статье расскажу, как устроена архитектура, какие грабли мы собрали, и что из этого вышло на практике.
Читать далееВ этой статье рассмотрены две недавние атаки на цепочку поставок, направленные на пользователей популярных пакетов PyPI — litellm и telnyx. Также авторы предоставили рекомендации для разработчиков и сопровождающих проекты на Python о том, как подготовиться и защитить свои проекты.
Читать далееКак я потерял несколько лет, делая всё кроме главного — и что с этим сделал
Эта статья про две вещи. Сначала зачем: годы прокрастинации, иллюзия занятости и простая механика, которая это сломала. Потом как: 35-й вайбкодинг-проект за 10 месяцев, событийная архитектура, 39 коммитов за 3 недели, TypeScript, Playwright, LLM и деплой на двухъядерный VDS.
На Хабре вышла [статья Эдуарда Ланчева] — честная история, как один человек за 3 месяца с помощью ИИ собрал полноценный шахматный сервис. У меня похожая. Только не про шахматы, а про предпринимательство. И не 100 тысяч строк, а 9 500 — но с event store, инвариантами и Prometheus на проде.
Часть 1. Медоборудование, прокрастинация и иллюзия занятости
Потерянные годы
Несколько лет назад накопилось достаточно денег, чтобы попробовать своё дело. Ниша знакомая — проектные продажи медицинского оборудования. Бизнес-модель простая: находишь клиники и госпитали, заходишь к нужным людям, продаёшь.
Казалось бы, что сложного.
Я не продавал.
Вместо этого: маркетинговые материалы, поиск уникального оборудования, изучение конкурентов, чтение про отрасль, прокрастинация. Классика жанра. Всё это ощущалось как работа: занят, устал, лёг спать с чувством, что что-то делал. Но денег не было, потому что без продаж денег не бывает.
Самое неприятное: не было момента осознания, не было точки, чтобы посмотреть в зеркало и сказать: «окей, ты избегаешь главного». Просто отсутствие прогресса накапливалось, доходило до критической точки — тогда начиналось шевеление, минимальный результат, и всё возвращалось на "круги своя".
Я потерял несколько лет. Единственный вывод: что-то подсознательно избегалось.
Другие проекты — та же история
Прошло время. Новые проекты, другая сфера. И всё повторилось.
Снова, что угодно, кроме того, что действительно двигало бизнес вперёд. Допиливал продукт бесконечно, перескакивал между проектами, находил причины, почему «сегодня не лучший день», и проводил его в телефоне.
Читать далееLLM-агенты отлично решают алгоритмические задачи. Но что произойдет, если поместить их в реальную инфраструктуру – с CI/CD, branch protection и security-политиками?
Я провел эксперимент: дал агентам простую задачу – внести изменение в репозиторий и замерджить его в main, соблюдая все правила. При этом у них был доступ к тем же инструментам, что и у разработчика, включая GitHub CLI и админский токен.
Результат оказался немного неожиданным. Практически все модели успешно выполнили задачу, но ни одна так, как я ожидал.
Читать далееЯ запускаю свой продукт без команды, без бюджета и с полной занятостью в найме. К концу года он либо начнет приносить деньги, либо я тихо вернусь обратно и сделаю вид, что ничего не было. Это первая часть – про поиск идеи, которая найдет отклик у потенциальных пользователей и от которой не будет тошнить.
Читать далее