Обновить
128K+

Ненормальное программирование *

Извращения с кодом

163,01
Рейтинг
Сначала показывать
Порог рейтинга
Уровень сложности

Как один комментарий на Хабре перевернул архитектуру моего мессенджера

Уровень сложностиСредний
Время на прочтение8 мин
Охват и читатели7.1K

После моей первой статьи про Pulse я не ожидал, честно говоря, примерно ничего. Но к моему удивлению увидел реакцию: немного поддержки, немного критики, несколько советов по UX.

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

Читать далее

Новости

Как мы превратили 700 студентов‑гуманитариев в продуктовые команды и получили 51 MVP за 8 недель

Время на прочтение8 мин
Охват и читатели7.7K

За два месяца более 700 студентов‑гуманитариев создали 51 цифровой продукт и 19 проектов по Data Science. При этом самой сложной задачей для них оказалось не освоение технологий искусственного интеллекта, а понимание пользователя и формулирование продуктовой гипотезы.

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

Читать далее

Велосипедный взрыв

Уровень сложностиПростой
Время на прочтение3 мин
Охват и читатели18K

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

Читать далее

T2M Bridge, часть 2: как я написал Java‑библиотеку для Telegram Bot API вместе с Codex — уже примерно 50/50

Уровень сложностиСредний
Время на прочтение16 мин
Охват и читатели6.5K

Это вторая статья из цикла о разработке T2M Bridge - бота для кросспостинга между Telegram-каналами и MAX-каналами.

Читать далее

T2M Bridge, часть 1: как я написал Java‑библиотеку для MAX Bot API с помощью Codex

Уровень сложностиСредний
Время на прочтение16 мин
Охват и читатели6.3K

Это первая статья из цикла о разработке T2M Bridge — бота для кросспостинга между Telegram‑каналами и MAX‑каналами.

Читать далее

Картинки рвало полосами, а файлы при этом были чистыми

Уровень сложностиСредний
Время на прочтение21 мин
Охват и читатели5.5K

Три ночи я был уверен, что у меня сломан рендер.

Вертикальные картинки — те самые 9:16, под обои телефона и под сторис, — на экране разъезжались горизонтальными полосами. Как будто старый телевизор поймал помехи. Квадрат рисуется нормально. Горизонталь — нормально. А вертикалку рвёт в труху.

Три раза я её «починил». И все три раза чинил вообще не то.

Правда оказалась дурацкой и красивой одновременно: файлы были в полном порядке. Рвало только то, как macOS показывала их на экране. Но к этому моменту я уже немного поседел.

Это не история из серии «смотрите, какой я молодец». Это честный рассказ, как обычный человек без программистского образования за неделю собрал себе на Mac локальный генератор картинок — и на какие грабли наступил по дороге. Я энтузиаст, не разработчик. И сразу самое важное, чтобы потом не было неловко: я не написал ни одной строчки кода. Ни единой. Даже Xcode толком не открывал. Код писал вместе со мной Claude Code, модель Opus 4.8. И сам движок генерации — тоже не мой. А моё во всём этом — то, что движок не топит ваш Mac и не показывает вам битые картинки. Звучит мелко? Вот про эту мелочь и весь рассказ. Прятать тут нечего, про границы расскажу честно прямо сейчас.

Читать далее

Что происходит с LLM‑пайплайном, если провайдер падает посреди выполнения

Уровень сложностиСредний
Время на прочтение4 мин
Охват и читатели5.2K

Что делать, если посреди многоэтапного ИИ‑пайплайна кредитного скоринга у Anthropic или OpenAI ложится API? Обычные сетевые гейтвеи (вроде LiteLLM) умеют делать автоматический retry отдельного HTTP‑запроса, но они абсолютно слепы к контексту и не знают, на каком шаге бизнес‑логики находится ваш агент.

В этой статье мы разберем, как спроектировать по‑настоящему отказоустойчивый LLM‑конвейер, используя концепцию конечных автоматов (FSM) и легковесный детерминированный движок llm-nano-vm.

Читать далее

OpenCode с NorthMiniCode на своем железе

Уровень сложностиСредний
Время на прочтение5 мин
Охват и читатели7.1K

В последнее время большинство обсуждений агентской разработки крутится вокруг Claude Code, Codex, Gemini CLI и других облачных инструментов. Но, с одной стороны, киты индустрии блокируют нам доступы снаружи, с другой — чиновничьи умы блокируют нам доступ изнутри, потому необходимо иметь под рукой локальный инструмент для агентской разработки.

9 июня 2026 вышла модель NorthMiniCode, в отличие от qwen и подобных специально заточенная под агентские циклы. Планирование, инструменты, редактирование, терминал — это то, на что заточена модель. Подробно разбирать архитектурные особенности будем в следующий раз, а сейчас опишу свой опыт развертывания данной модели и использования ее в OpenCode на домашнем компьютере.

Разблокировать знания

Ненормальное марковское программирование: бег по правилам

Уровень сложностиСредний
Время на прочтение14 мин
Охват и читатели5.6K

Продолжение. Начало здесь. Предыдущая часть. Репозиторий с кодом - на гитхабе.

(Сокращения: НАМ - нормальные алгорифмы Маркова, КТ - компайл-тайм, РТ - рантайм).

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

Читать далее

Remoded: разбираем демо-эффекты (часть 2)

Уровень сложностиСредний
Время на прочтение21 мин
Охват и читатели9.3K

И снова приветствую всех любителей олдскула, демосцены и олдскульной демосцены. Это вторая часть разбора DOS-демки "Remoded" и соответственно эффектов, основанных на аппаратных особенностях видеоадаптера VGA. Сегодня мы продолжим разбираться с аппаратным скроллингом, узнаем, что такое "xorfill" и как его правильно готовить, как эмулировать 12 тысяч цветов в 256-цветном режиме, а также познакомимся с другими технологиями прошлого столетия.

MOV AX, 13h; INT 10h

Opus оркеструет, DeepSeek V4 пишет код: как собрать связку внутри Claude Code и сэкономить деньги

Уровень сложностиПростой
Время на прочтение5 мин
Охват и читатели11K

Однажды я открыл биллинг и просто посмотрел, на что уходят токены. Не на «подумать над архитектурой». А на переименование переменных, генерацию тестов по готовому ТЗ и прогон миграций. Всё это считалось по тарифу флагманской модели, хотя такую работу вытянет модель в десятки раз дешевле.

Ниже — как развести действительно сложные задачи и рутину по двум моделям внутри Claude Code, не ставя ни одного стороннего форка. И три зоны, куда дешёвую модель я не пускаю принципиально.

Читать далее

«IT-Планета 2026»: задачи второго этапа по PostgreSQL

Уровень сложностиПростой
Время на прочтение39 мин
Охват и читатели6.8K

Продолжаем проводить конкурc SQL в рамках «IT-Планеты 2026». Как обычно во втором этапе участникам было предложено решить пять задач на чистом SQL. Перейдем к рассмотрению задач.

Читать далее

Делаем P2P-кинотеатр: как мы написали десктопное приложение для совместного просмотра видео на Electron

Уровень сложностиСредний
Время на прочтение4 мин
Охват и читатели6.3K

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

Читать далее

Ближайшие события

Я собрал свой мессенджер по вечерам после работы

Время на прочтение5 мин
Охват и читатели6.5K

Я обычный инженер-программист в банке. Вечерами, после работы и семьи, я начал эксперимент: смогу ли я один, с помощью нейросетей, сделать мессенджер таким, каким, как мне кажется, он должен быть? Не «убийцу Telegram» или кого-либо другого, а просто альтернативу - спокойное место для общения. Без шума, без бесконечных кружков, без ощущения, что ты должен читать каналы, на которые никогда не подписывался.

Знаете это чувство, когда подписки и личные чаты свалены в одну кучу? Да, папки есть, но эти вездесущие счётчики непрочитанного… они просто сводят с ума. Ты выходишь из канала, а тебя кто-то туда возвращает — и ты даже не понимаешь, как и кто это сделал.

Я хотел чёткого разделения контекстов: группы отдельно, контакты отдельно, скрытые диалоги — чтобы глаза отдыхали. И спокойного, мягкого интерфейса. Сидя целый день перед монитором, хочется смотреть на приятные цвета, плавные переходы, а не на очередной аляповатый дизайн.

В общем то немного покумекав, я подумал - если тебе что-то не нравится - сделай сам! И я начал делать.

Так родился Pulse.

Читать далее

Как я за 12 дней переписал 6 лет Excel-учёта в локальное фитнес-приложение на Electron, FastAPI и SQLite

Уровень сложностиСредний
Время на прочтение10 мин
Охват и читатели11K

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

Вес, питание, тренировки, замеры тела, статистика прогресса — всё существовало отдельно друг от друга. Весной 2026 года я уже почти два месяца сидел без работы и неожиданно получил ресурс, которого обычно не хватает взрослому человеку: свободное время.

22 мая мне пришла простая мысль: а что, если объединить все свои данные в одну систему?

На следующий день я узнал, насколько далеко продвинулись инструменты разработки на базе ИИ, купил подписку и решил попробовать.

Читать далее

Как я перестал исправлять ИИ код и начал проектировать под него архитектуру

Уровень сложностиСредний
Время на прочтение3 мин
Охват и читатели12K

После нескольких месяцев работы с AI‑кодом я пришёл к неожиданному выводу: проблема может быть не в LLM, а в наших привычках проектирования. Попытка сформулировать архитектуру, которая изначально рассчитана на AI как основного автора кода.

Читать далее

Ненормальное марковское программирование: КТ-строки и синглетоны

Уровень сложностиСредний
Время на прочтение11 мин
Охват и читатели7.4K

Продолжение. Первая часть - программирование на НАМ. Вторая - обзор неприятностей, концепты.

Пришло время запутаться и распутаться со строками в компайл-тайме... и с зависимыми типами.

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

Читать далее

ПростоГраф: как я сделал глубокий форк LightRAG под свои (и, возможно, ваши) нужды

Уровень сложностиПростой
Время на прочтение8 мин
Охват и читатели7.7K

ПростоГраф — мой глубокий форк LightRAG под реальные нужды: self‑hosted graph‑RAG для отделов с ролями, физическим разграничением доступа к документам, промптами под каждый отдел. Готовый инструмент. Бери — пользуйся. Более подробно что это, зачем это, как это, в статье...

Читать далее

Ненормальное марковское программирование: неприятности

Уровень сложностиСредний
Время на прочтение8 мин
Охват и читатели7.2K

(Продолжение. См. первую часть, где мы научились кодить на марковских алгорифмах "на бумажке").

Какие неприятности нас ждут?

Я уже сказал, что реализация НАМ в КТ - это задача со звёздочкой.

Что нам придётся героически преодолеть, и о чём понятно прямо на старте?

Читать далее

Как тестировать LLM-фичи: пишем автоэвалы и гоняем их в CI

Уровень сложностиСредний
Время на прочтение11 мин
Охват и читатели6.9K

У нас в проде живёт бот, который отвечает на вопросы по документации продукта — обычный RAG. Первые месяца три мы катили его, как все: поправил промпт, прогнал пяток вопросов руками, поставил в голове галочку «вроде стало лучше» и выкатил. Закончилось это предсказуемо. Коллега подкрутил промпт ретривера под свой кейс и по дороге сломал мой, причём заметили мы это через две недели по жалобе пользователя.

После того случая мы построили себе автоэвалы.

Читать далее
1
23 ...