Обновить
1566.31

Программирование *

Искусство создания компьютерных программ

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

Забыть про Backprop: Как я собрал «Термодинамический Мозг» с фазой сна и митозом, который влезет в Arduino

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


Мы (человечество) очень хотим создать разум. Инопланетян мы пока не нашли, поэтому пытаемся собрать его сами из кремния и электричества. Но то, куда свернула индустрия сегодня, вызывает вопросы. Мы греем планету мегаваттами энергии, перемножая гигантские матрицы в дата-центрах, чтобы обучить LLM. Backpropagation и современный инференс - это непозволительно дорого и энергозатратно.

А что если вернуться к истокам? Что если интеллект — это не градиентный спуск, а кристаллизация связей под давлением информации?

В этой статье я расскажу о концепте Термодинамического Мозга. Это самоорганизующийся граф, который обучается в один проход O(1), непрерывно адаптируется к новым данным, спит по ночам, чтобы не сойти с ума, и настолько нетребователен к ресурсам, что его можно запустить хоть во вкладке браузера, хоть на Arduino.

Запустить митоз

Новости

Фотонный проц на одной инструкции: как Akhetonics строит комп из чистого света. И почему это куда сложнее, чем кажется

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

Представьте, что вы читаете громкий заголовок: «Самая простая Turing‑complete архитектура SUBLEQ (всего одна инструкция!) и реализовали её на фотонных логических вентилях». Звучит как настоящий прорыв из научной фантастики — один‑единственный тип команды, и вот уже у нас полноценный универсальный компьютер, работающий на скорости света, без кремния, без транзисторов, с терагерцевыми частотами и энергопотреблением в разы ниже.

Но если копнуть глубже, сразу вылезают два больших «но». Первое — SUBLEQ действительно может быть Turing‑полной, но только при очень конкретных условиях. Второе — реализовать даже такую «простую» архитектуру на настоящих фотонных вентилях в железе оказывается совсем не тривиальной задачей. И именно об этом мы сегодня поговорим подробно, без хайпа, но и без излишнего скепсиса.

Эта статья — разбор реальной истории, которая происходит прямо сейчас, в 2026 году. Немецкий стартап Akhetonics из Мюнхена всерьёз взялся за all‑optical general‑purpose processor и выбрал для доказательства концепции именно SUBLEQ. Мы пройдёмся по всем нюансам: от теории одной инструкции до проблем фотонной памяти, от лабораторных прототипов до того, почему чистый SUBLEQ, скорее всего, останется красивым PoC, а в реальном продукте придётся расширять набор команд.

Готовы? Поехали.

Полетели!

Законъ о запрете иностранных словъ… в разработке

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

Разговор будет серьёзный. С 1 марта 2026 вся публичная информация для потребителя должна быть на русском — N 168-ФЗ. Пока что разработку это не касается, но стоит быть готовыми. Предлагаю договориться о словаре разработчиков Российской Федерации.

Читать далее

Непотребные алгоритмы, ненормальные трюки и всевозможные хаки на C

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

Доброго времени суток, господа и дамы! Иногда у некоторых людей возникает желание заняться откровенным непотребством в программировании — то, что не несет практической пользы напрямую, но помогает развлечься. И я — не исключение. В этой статье я хочу рассказать вам о лайфхаках, трюках (магических и не очень) и алгоритмах на языке C!

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

Добро пожаловать в восьмую часть. Прошу под кат — там будет жарко, быстро и очень, очень интересно.

Читать далее

git-wt — AI First обёртка для git worktrees на чистом Bash

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

CLI-обёртка над git worktree на чистом Bash. Автоименование worktrees, централизованное хранение в ~/.git-wt/, копирование .env файлов, shell-автодополнение и поддержка AI-агентов через SKILL.md. Сделана для параллельной работы нескольких Claude Code / Cursor / Windsurf на одном репозитории, но полезна и для код-ревью, хотфиксов и тестирования. Ноль зависимостей, установка за 5 секунд.

Читать далее

Как читать новости об ИИ и отличать прорыв от пресс-релиза. И как относиться к заголовкам про «ИИ отнимет работу»

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

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

Эта статья научит,что проверять, когда выходит новая модель, как читать бенчмарки, на что смотреть в model/system card, чтобы понимать реальный смысл анонса, чем open-weight отличается от закрытых моделей и почему это влияет на рынок.

А заодно, как читать без паники и самообмана статьи вроде "ИИ отнимет у вас работу".

Читать далее

Долг оптимизацией красен: как мы в МойОфис объединили борьбу с легаси и увеличение производительности таблиц

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

Долг оптимизацией красен: как мы повышали производительность таблиц

Ещё Достоевский на примере своих героев-картёжников показал: быть должником удовольствие сомнительное в любую эпоху. В разработке тоже есть своя «долговая яма» — технический долг. Если продукт большой и развивается годами, полностью избежать его невозможно. Функциональность реализована, всё математически корректно работает, но из-за накопившихся архитектурных компромиссов всё сложнее укладываться в пользовательские ожидания по скорости и отзывчивости.

Меня зовут Дмитрий Шубин, я занимаюсь оптимизацией производительности в компании МойОфис — конкретно в Ядре редакторов (о нём ранее рассказывал мой коллега в статье «Как мы создаём редакторы документов. Ядро и его роль в кроссплатформенной разработке»).

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

В этой статье разберём, почему возникает такой долг и как мы с ним работаем на практическом примере оптимизации редактора «МояТаблица».

Читать далее

История о том, как я устал от галлюцинаций ИИ и собрал инструкцию для нейронки

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

Делал проект с помощью нейросети — бесконечные галлюцинации довели. Начал собирать инструкцию для ИИ. Через 14 версий и 25 000 слов получил систему с адаптивным Deep Compute Engine, Red Teaming и двухмерной системой статусов.

В статье:

Эволюция от v1.0 до v7.7.2 — что добавлял и зачем

Какая версия подойдёт под вашу задачу

Инструкция по внедрению в системный промпт

Режим Brainstorming для креатива

Пасхалка: иммерсивная «БРО» версия для фана

Для тех, кто устал объяснять агенту, что он выдумал параметр.

Читать далее

Приведение типа в C++

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

Продолжаем серию «C++, копаем вглубь». Цель этой серии — рассказать максимально подробно о разных особенностях языка, возможно довольно специфичных. Это десятая статья из серии, список предыдущих статей приведен в разделе 9. Серия ориентирована на программистов, имеющих определенный опыт работы на C++. Данная статья посвящена приведениям типа.

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

Итак, попробуем рассказать о приведениях типа максимально подробно.

Читать далее

ИИ в Agile-команде. Цифровой помощник, железный дровосек или коллега?

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

Всем привет! На связи команда «Клаудмастер» («Инферит FinOps»). Хотим рассказать вам про то, как мы используем ИИ в нашей работе.

Помните март 2025-го? Дарио Амадей, генеральный директор Anthropic, обещает, что очень скоро почти весь код будет писать ИИ, регуляторы и рынок труда должны будут адаптироваться (ну вы поняли). 

Тогда мы с командой спешно затеяли эксперимент: решили проверить, каков реальный КПД от ИИ на практике и стоит ли нам в него вложиться.

Читать далее

Агглютинативный код: почему будущее IT требует смены лингвистического фундамента

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

Каждые несколько лет IT-индустрия переживает очередной ренессанс. Мы пишем новые языки программирования - Rust для безопасной работы с памятью, Go для идеальной конкурентности, Swift для экосистемности. Мы плодим новые фреймворки, стандарты и сетевые протоколы, пытаясь превзойти существующие ограничения.

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

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

Читать далее

Генерация лабиринтов с использованием алгоритма Recursive backtracker

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

Расскажу о том, как сгенерировать рандомный лабиринт, используя алгоритм Recursive backtracker. Все подробности об алгоритме, структуре кода, асимптотике и итоговых лабиринтах здесь.

Читать далее

Claude Sonnet 4.6 vs ChatGPT 5.2: кто же лучше?

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

2026 год. Нейросети окончательно перестали быть просто «умными чатами» и превратились в полноценных сотрудников, дизайнеров и даже пилотов компьютера. Мы уже привыкли, что ИИ помогает писать код и посты, но теперь амбиции моделей вышли на новый уровень — они учатся самостоятельно управлять мышкой, заполнять формы и строить долгосрочные стратегии. Казалось бы, живи и радуйся.

Но есть одна проблема. Рынок снова раскололся. OpenAI выпустила GPT‑5.2 с упором на математику и науку, а Anthropic – Claude Sonnet 4.6, который обещает революцию в программировании и агентных сценариях. Два титана, две философии, и нам снова выбирать, на кого ставить в этом году.

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

Читайте, сравнивайте и делитесь мнением! Claude Sonnet 4.6 против GPT-5.2: кодеры против математиков, гигантский контекст против научной точности, агенты против аналитиков. Разминаем пальцы и готовимся выбирать нового короля горы!

Читать далее

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

Одна строка кода, которая заблокировала 102 потока

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

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

Это история о том, как DatatypeFactory.newInstance() поставил на колени наш высокопроизводительный Java-сервис, и об удивительно простом решении, позволившем полностью избавиться от проблемы.

Читать далее

3D-шейдер реального времени на Game Boy Color

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

Я написал игру для Game Boy Color, которая рендерит изображения в реальном времени. Игрок управляет источником света и вращает объект.

Поиграть в неё можно здесь: https://blog.otterstack.com/posts/202512-gbshader/data/teapot.html

Посмотреть код и скачать ROM можно здесь: https://github.com/nukep/gbshader

Читать далее

Заметки на полях: Изолируем Lua окружение в C++ приложении. Часть 3/3

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

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

В этой части разберём как из кубиков с буквами 'О', 'П', 'Ж' и 'А' while true do end

...составить слово "СЧАСТЬЕ".

Структуры данных на практике. Глава 5: Связанные списки — убийцы кэша

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

«Связанные списки — это goto структур данных.», — авторство приписывают разным системным программистам.

История из учебника

Все студенты, изучающие computer science, узнают о связанных списках на первом курсе по структурам данных. Их описание звучит привлекательно:

Преимущества (согласно учебникам):

- Вставки и удаления за O(1) в известных позициях

- Динамический размер: увеличиваются и уменьшаются согласно необходимости

- Пространство не тратится впустую: можно распределять ровно столько, сколько нужно

- Гибкость: простота реализации стеков, очередей и других структур

Недостатки (согласно учебникам):

- Поиск за O(n): необходим обход, начиная с головы списка

- Лишняя память: указатели добавляют оверхед

- Невозможность произвольного доступа: нельзя выполнять переходы в произвольные позиции

Вывод из учебника: «Используйте связанные списки, когда требуются частые вставки/удаления и не нужен произвольный доступ».

Вроде бы звучит разумно?

Проверка реальностью

А вот, чего учебники нам не говорят: связанные списки — это почти всегда плохой выбор.

Не потому, что ошибочен анализ «О» большого, в нём всё правильно, а потому, что он неполон. Он забывает про оборудование.

Читать далее

Я дал 100 AI-агентам равный бюджет — они изобрели кредиты под 15%

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

Дал 100 AI-агентам по 1000 токенов и одну цель — набрать максимум очков. Не программировал ни торговлю, ни кредиты, ни специализацию. Через двое суток агент №23 попросил у агента №91 займ под 15%. К 72-му часу — три банкира, 12 банкротов и коэффициент Джини 0.71. Внутри — код на Python, логи, распределение ресурсов. И честный разбор того в чем я до сих пор не уверен.

Читать далее

Избавляемся от утечек памяти в Angular с withExperimentalAutoCleanupInjectors

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

В версии Angular 21.1 появилась экспериментальная функция маршрутизатора withExperimentalAutoCleanupInjectors. Эта настройка для решения давней, печально известной архитектурной особенности, связанной с управлением памятью при навигации между страницами.

Читать далее

Как запустить новый XBox 360 рекомпилятор RexGlue

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

Инструкция по сборке нового XBox 360 статического рекомпилятора RexGlue https://github.com/rexglue/rexglue-sdk

Читать далее