Обновить
16K+

Brainfuck *

Эзотерический язык программирования

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

Часть I. Конечные автоматы. Универсальная машина Тьюринга. Интерпретатор Brainfuck

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

▒▒▒▒▒▒▒▒▒█▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀█
▒▒▒▒▒▒▒█░▒▒▒▒▒▒▒▓▒▒▓▒▒▒▒▒▒▒░█
▒▒▒▒▒▒▒█░▒▒▓▒▒▒▒▒▒▒▒▒▄▄▒▓▒▒░█░▄▄
▒▒▄▀▀▄▄█░▒▒▒▒▒▒▓▒▒▒▒█░░▀▄▄▄▄▄▀░░█
▒▒█░░░░█░▒▒▒▒▒▒▒▒▒▒▒█░░░░░░░░░░░█
▒▒▒▀▀▄▄█░▒▒▒▒▓▒▒▒▓▒█░░░█▒░░░░█▒░░█
▒▒▒▒▒▒▒█░▒▓▒▒▒▒▓▒▒▒█░░░░░░░▀░░░░░█
▒▒▒▒▒▄▄█░▒▒▒▓▒▒▒▒▒▒▒█░░█▄▄█▄▄█░░█
▒▒▒▒█░░░█▄▄▄▄▄▄▄▄▄▄█░█▄▄▄▄▄▄▄▄▄█
▒▒▒▒█▄▄█░░█▄▄█░░░░░░█▄▄█░░█▄▄█

Я практик и популяризатор языково-ориентированного программирования [1]. В нём задачи решают тройкой: доменная виртуальная машина VM, доменный язык программирования DSL и алгоритмы на нём.
В этом курсе удачными фрагментами разных заметок доступно объясним причины многообразия языков и преимущества их разработки. С теорией, историей и примерами.
Вся наша работа строится вокруг VM, DSL, EBNF, отношений и графов. Мы увидим, как эти объекты соединяют вместе, получая вычислители и программы.

Читать далее

Новости

10 настроек Claude Code, до которых большинство разработчиков не доходит

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

Ранее я писал про утечку исходного кода Claude Code. 512 000 строк, KAIROS, упоминания нерелизнутых моделей Opus 4.7 и Sonnet 4.8. Так вот. В актуальном Claude Code уже есть Opus 4.7. Ровно как и было в leaked‑коде. Вместе с ней появился новый уровень /effort xhigh — это мы сегодня тоже разберём.

В первой части я показал что Claude Code умеет из коробки. Типовой сценарий после этого: «понял, установил, пользуюсь». И дальше тот же потолок что у всех — Claude работает быстро, но как‑то странно. Отвечает не то, повторяет одно и то же к концу сессии, просит разрешения на каждый чих, жрёт токены как не в себя.

Это решается настройками. Конкретными. Которые лежат в двух файлах и никто до них не доходит.

Ниже десять вещей которые я настроил за полгода работы с Claude Code и которые сделали разницу между «работает» и «работает как отдел». С готовыми конфигами. Копируй, вставляй, меняй под себя.

Читать далее

10 фичей Claude Code, которые превратили одного разработчика в команду из 15 человек

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

512 000 строк утёкшего кода, совещание ботиков, и почему человек стал узким местом разработки

31 марта 2026 года Anthropic случайно выложила npm-пакет с source map файлом на 59.8 мегабайт. Внутри - 512 000 строк TypeScript, 1 900 исходных файлов и 44 скрытых feature flags. Весь исходный код Claude Code, включая вещи, о которых пользователи даже не подозревали.

За несколько часов репозиторий форкнули 41 500 раз. Anthropic начала рассылать DMCA-takedowns, но было поздно. Сообщество успело найти упоминания KAIROS - автономного агента, который работает пока ты спишь, консолидирует память и проактивно действует без промптов. 150+ упоминаний в коде. Нерелизнутые модели Opus 4.7 и Sonnet 4.8. Режим "Undercover" для сотрудников Anthropic, скрывающий AI-атрибуцию в коммитах на публичных репозиториях.

Я пользуюсь Claude Code каждый день. Это мой основной инструмент разработки. Я пересадил на него команду, я создаю с ним проекты с нуля, и я вижу как он меняет саму суть профессии разработчика. В этой серии из трёх статей я расскажу что я понял за это время - от базовых фич до продвинутых паттернов, которые позволяют одному человеку работать как команда.

Начнём с десяти вещей, которые делают Claude Code не просто ещё одним AI-помощником.

Читать далее

Конвертация старых физических серверов в виртуалки (часть 1)

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

Несмотря на то, что на дворе уже 2025 год, и, казалось бы уже все давным давно держат свои вычислительные ресурсы (сервера) в облаке или, как минимум, в виде виртуальных машин, я оказался в ситуации, что мне нужно конвертировать 2 физических лаб сервера в виртуальные машины:

Читать далее

Brainfuck-калькулятор: Как я создал вычислительную машину на эзотерическом ЯП и не сошел с ума

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

Привет, Хабр! Когда-то совсем недавно я, (пока что) зеленый джун, узнал о таком интересном языке, как Brainfuck. Даже не языке, а так, "язычке", с 8 командами. 8-битные лимиты чисел (т.е. не может обрабатывать числа больше 255), а синтаксис и процесс кодинга такой, что и тимлид там ногу сломит. Увидев сие чудо 1993 года (динозавер), меня постигла безумнейшая идея провести один веселый вечер за компов, породив полноценный калькулятор, использовав BF-код для вычислительных мощей в своей забавной разработке. Но сначала давайте по порядку...

Читать далее

Уменьшил синтаксис Си ради 15 байт

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

Скучая на очередном уроке биологии я вспомнил о таком прекрасном творении как brainfuck и о его интерпритаторах...

Вернувшись домой я нашел самый маленикий среди интерпритаторов:

Читать далее

The role of microinteractions and small details in UX design

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

Microinteractions play a huge role in UX design despite being labelled “micro”. They include all the small details you can find in a software product, i.e. animations, emotive reactions, clicks, vibrations, etc. Not only do they make it more interesting and joyful for users to interact with a product, they also help ease the navigation process and make it more intuitive by providing important information. Which types of microinteractions can be used in apps, what makes them a vital part of software products, how to implement them correctly and which common mistakes to avoid when designing small details? 

Types of microinteractions

Читать далее

О том как я генератор Brainfuck кода писал

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

Разбираемся в Brainfuck, Пишем для него генератор кода и интерпретатор

Или рассказ о том, как я решал легкую C задачку

Однако я решил что решать эту задачу привычным методом будет скучно и я решил слегка усложнить себе задачу, чтобы поинтереснее было. Так и появилась идея написать этот код на brainfuck, а на C интерпретатор для него.

Естественно делать это голыми руками будет больно и не приятно, поэтому я решил написать генератор brainfuck кода на Java.

Читать далее

Профессиональная разработка на Brainfuck

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

Хотите довести до дурки любимого преподавателя компьютерных наук или навсегда прослыть «особенным» среди коллег сразу после (немедленного) увольнения?

Читайте про патентованный метод.

Читать далее

Интерпретатор Brainfuck на Brainfuck

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

Когда-то давно, году в 2013-м, на глаза мне попался следующий код:

>>>+[[-]>>[-]++>+>+++++++[<++++>>++<-]++>>+>+>+++++[>++>++++
++<<-]+>>>,<++[[>[->>]<[>>]<<-]<[<]<+>>[>]>[<+>-[[<+>-]>]<[[
[-]<]++<-[<+++++++++>[<->-]>>]>>]]<<]<]<[[<]>[[>]>>[>>]+[<<]
<[<]<+>>-]>[>]+[->>]<<<<[[<<]<[<]+<<[+>+<<-[>-->+<<-[>+<[>>+
<<-]]]>[<+>-]<]++>>-->[>]>>[>>]]<<[>>+<[[<]<]>[[<<]<[<]+[-<+
>>-[<<+>++>-[<->[<<+>>-]]]<[>+<-]>]>[>]>]>[>>]>>]<<[>>+>>+>>
]<<[->>>>>>>>]<<[>.>>>>>>>]<<[>->>>>>]<<[>,>>>]<<[>+>]<<[+<<
]<]

Это интерпретатор языка Brainfuck, написанный на самом Brainfuck. Ссылки на оригинал у меня не осталось, только код, так что автора я назвать не смогу.

Мне всегда было безумно интересно узнать, как он работает. И теперь я решил наконец-то это сделать!

Читать далее

Сказ о том, как я интерпретатор Brainfuck'а писал

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

Рассказываю о том, как писал интерпретатор языка Brainfuck на Python (с показом исходного кода и его объяснения).

Читать далее

Звучащий код — пишем музыку на языке ByteBeat

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

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

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

Послушать пример из заглавной картинки: [sarpnt][greggman]

Читать далее

Пневмоника и процессор постапокалипсиса

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

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

Удивительно, но струйная логика используется не только в ракетных двигателях или газодинамических подшипниках, но и в бытовых газовых счётчиках. Совершенно случайно я наткнулся на пост «Внутренности газового счётчика» на Пикабу и увидел своих старых знакомых. «Ребята, а что вы тут делаете?», — подумал я и понял: время пришло.
Читать дальше →

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

Проектируем процессор постапокалипсиса с помощью openSource

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

Проектируемый компьютер на сверхминиатюрных электронных лампах хоть и является радиационно-стойким, однако работает на электричестве. Кроме того, восстановить в сжатые сроки производство электронных ламп в условиях постапокалипсиса будет довольно сложной задачей. На руинах цивилизации гораздо проще организовать массовое производство логических элементов, работающих на эффекте прилипания струи воздуха к стенке — при этом сам элемент можно лепить хоть из глины! И мало того, что для создания потока воздуха не обязательно использовать электричество — теоретически такой процессор сможет работать на энергии ударной волны ядерного взрыва! Но обо всём по порядку. Для тех, кто следит за проектом DekatronPC — не пугайтесь, ему ничего не угрожает.

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

Мой маленький триод: Ламповая ЭВМ — это магия

Время на прочтение25 мин
Охват и читатели35K
Экспериментальная 3U декатронная ячейка. Модуль декатрона А103 со схемой шифратора и переноса

Пришло время возобновить славную традицию ежегодного первоапрельского дайджеста по моим безумным вычислительным проектам. В прошлой трилогии [1], [2], [3] я рассказывал про создание де-факто самого быстрого в мире релейного компьютера BrainfuckPC. После трёх лет раздумий я наконец-то готов начать активную фазу строительства уникальной ламповой ЭВМ с кодовым названием DekatronPC.
Читать дальше →

«Как же он меня бесит!»: Почему нас раздражает ЭТО в других людях

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

Александр Н. (37 лет) очень внимателен к соблюдению правил и выполнению общественных норм. Если кто-то нарушает правила дорожного движения или паркуется на газоне, Александр буквально взрывается, делает замечания, кричит. Несоблюдение правил моментально заводит его, выводит из себя, он переходит на агрессивный тон, демонстрирует нетерпимость. Ольга С. (29 лет) настолько же сильно нетерпима к беспорядку, не переносит, когда люди не убирают за собой посуду, дети разбрасывают игрушки, а муж не кладет на место пульт. При этом Ольгу совсем не «триггерит» нарушение правил и общественных норм, а Александр терпим к немытой посуде. А вот Олег К. (41 год) не выносит «выскочек» - тех, кто что-то из себя возомнили, хотя у них нет ни докторских степеней, как у Олега, ни диссертаций. А «выскочка» вот пользуется популярностью, люди за ним следят и читают, смотрят YouTube-канал, хотя этот «выскочка» полный профан в своем вопросе! То ли дело сам Олег! У Александра, Ольги и Олега (имена изменены, но случаи эти реальны – из моей частной психологической практики) разные триггеры и ситуации, которые их выводят из себя, но у них есть нечто общее. Я приглашаю вас разобраться в данном вопросе и выяснить, почему именно ЭТО триггерит вас, а другое – нет.

Триггер  - спусковой крючок, тот факт/событие/поведение/человек – который вызывает бурную эмоциональную реакцию. Например, Александр Н. осуждает убийц и воров, он считает их плохими людьми, заслуживающими наказания. Но они его не триггерят. Сильно бесят, до желания бить их и обзывать именно те, кто нарушает нормы общественного порядка. Это – его триггер. Странно, да? Ведь убийца гораздо хуже того, кто припарковался на газоне...

Читать далее

Только добровольцы — шаг вперед

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

Только добровольцы — шаг вперед!


Нужно провести разведку боем


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

Почта на «малинке»

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

Проектирование


Почта, почта… «В настоящее время любой начинающий пользователь может завести свой бесплатный электронный почтовый ящик, достаточно зарегистрироваться на одном из интернет-порталов», — утверждает Википедия. Так что запуск для этого своего почтового сервера — это немного странно. Тем не менее, я не жалею о потраченном на это месяце, считая со дня установки ОС до дня отправки первого письма адресату в интернете.
Читать дальше →