<?xml version="1.0" encoding="utf-8"?> 
<rss version="2.0"
  xmlns:itunes="http://www.itunes.com/dtds/podcast-1.0.dtd"
  xmlns:atom="http://www.w3.org/2005/Atom">

<channel>

<title>Блоги: заметки с тегом bf</title>
<link>https://blogengine.me/blogs/tags/bf/</link>
<description>Автоматически собираемая лента заметок, написанных в блогах на Эгее</description>
<author></author>
<language>ru</language>
<generator>Aegea 11.0 (v4079e)</generator>

<itunes:subtitle>Автоматически собираемая лента заметок, написанных в блогах на Эгее</itunes:subtitle>
<itunes:image href="" />
<itunes:explicit>no</itunes:explicit>

<item>
<title>Brainfuck и Новый год</title>
<guid isPermaLink="false">124855</guid>
<link>https://bolknote.ru/all/brainfuck-i-novy-god/</link>
<pubDate>Mon, 11 Dec 2023 22:50:46 +0500</pubDate>
<author>Евгений Степанищев</author>
<comments>https://bolknote.ru/all/brainfuck-i-novy-god/</comments>
<description>
&lt;p&gt;&lt;a href="https://bolknote.ru/"&gt;Евгений Степанищев&lt;/a&gt;:&lt;/p&gt;
&lt;p&gt;Сегодня мы пришли на работу в украшенный к Новому году офис. Было очень много всего крутого, но особенно меня порадовала небольшая программа на языке «Браинфак», появившаяся на одной из стен. Я &lt;a href="https://bolknote.ru/tags/bf/"&gt;много писал&lt;/a&gt; об этом языке и до сих пор горячо его люблю, как забавную головоломку.&lt;/p&gt;
&lt;div class="e2-text-picture"&gt;
&lt;img src="https://bolknote.ru/pictures/2023.12.11.1@2x.jpg" width="1000" height="562" alt="" /&gt;
&lt;div class="e2-text-caption"&gt;Программа на языке «Браинфак», выводящая число 42 — ответ на главный вопрос жизни, вселенной и всего такого&lt;/div&gt;
&lt;/div&gt;
</description>
</item>

<item>
<title>Переходим все на Brainfuck</title>
<guid isPermaLink="false">124863</guid>
<link>https://bolknote.ru/all/perehodim-vse-na-brainfuck/</link>
<pubDate>Mon, 03 Apr 2023 16:59:31 +0500</pubDate>
<author>Евгений Степанищев</author>
<comments>https://bolknote.ru/all/perehodim-vse-na-brainfuck/</comments>
<description>
&lt;p&gt;&lt;a href="https://bolknote.ru/"&gt;Евгений Степанищев&lt;/a&gt;:&lt;/p&gt;
&lt;p&gt;Меня тут атакуют время от времени алармистки настроенные программисты, с вопросом что дальше делать, — ведь их всех скоро заменит &lt;i&gt;ChatGPT&lt;/i&gt;. Так вас же ещё 2017-м Герман Греф предупреждал — не идите в программисты, программисты станут невостребованной профессией!&lt;/p&gt;
&lt;p&gt;Лично я услышал Грефа, и вот уже шесть лет как переписываю все свои проекты на язык «Брейнфак». Это минималистичный язык, состоящий из шести операторов, при этом он полный по Тьюрингу.&lt;/p&gt;
&lt;div class="e2-text-picture"&gt;
&lt;img src="https://bolknote.ru/pictures/2023.04.03@2x.jpg" width="1000" height="562" alt="" /&gt;
&lt;div class="e2-text-caption"&gt;Этот ваш &lt;i&gt;ChatGPT&lt;/i&gt; очень плох в «Брейнфаке» — его программа на самом деле выводит «&lt;i&gt;Hello World&lt;/i&gt;!»&lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;Прелесть его в том, что он плохо токенизируется — у него совершенно другая структура, поэтому генеративные нейросети не умеют писать на нём программы. Даже хвалённая четвёртая версия &lt;i&gt;ChatGPT&lt;/i&gt;, которая вышла недавно, не умеет на нём и двух знаков связать.&lt;/p&gt;
&lt;p&gt;Коллеги, если мы успеем тайно переписать все свои проекты на «Брейнфак» в ближайшее время, то для поддержания всех переписанных на него проектов, понадобятся живые программисты! У нас будет работа! Никого не уволят! Так победим!&lt;/p&gt;
</description>
</item>

<item>
<title>PHP 7.4 vs. PHP 8.0a</title>
<guid isPermaLink="false">124864</guid>
<link>https://bolknote.ru/all/php-74-vs-php-80a/</link>
<pubDate>Thu, 19 Mar 2020 01:56:58 +0500</pubDate>
<author>Евгений Степанищев</author>
<comments>https://bolknote.ru/all/php-74-vs-php-80a/</comments>
<description>
&lt;p&gt;&lt;a href="https://bolknote.ru/"&gt;Евгений Степанищев&lt;/a&gt;:&lt;/p&gt;
&lt;p class="remark"&gt;Резюме — в моём частном случае стало ощутимо быстрее, PHP 7.4 работал 63,9 секунд, 8.0a — 42,6.&lt;/p&gt;
&lt;p&gt;Как многие знают, основной фишкой восьмой версии интерпретатора ПХП &lt;a href="https://bolknote.ru/all/about-php8/"&gt;будет &lt;i&gt;JIT&lt;/i&gt;&lt;/a&gt;. Обещают ускорение вычислительных задач, что немного не про веб, где в основном используется этот язык, но всё равно выглядит интересно.&lt;/p&gt;
&lt;p&gt;В официальном репозитории альфа восьмой версии лежит уже давно, стало интересно сравнить её с «семёркой» — много ли даёт &lt;i&gt;JIT&lt;/i&gt; приросту. Для подобных тестов я &lt;a href="https://bolknote.ru/all/4261/"&gt;давно использую&lt;/a&gt; свой оптимизирующий транслятор «Брейнфака», с загруженной в него задачей вычисления числа Пи.&lt;/p&gt;
&lt;p&gt;Восьмой ПХП собрался на моём «Макбуке» следующей последовательностью команд:&lt;/p&gt;
&lt;pre class="e2-text-code"&gt;&lt;code class="bash"&gt;PATH=/usr/local/Cellar/bison/3.5.3/bin/:$PATH ./buildconf
./configure --prefix=/opt/php-bin/ --without-iconv --disable-xml \
--without-libxml --disable-simplexml --disable-xmlwriter --disable-dom --disable-xmlreader
make -j4
make install&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;Версию 7.4 ставил через «брю», сборочную конфигурацию оставил как есть, ничего не менял.&lt;/p&gt;
&lt;p&gt;После небольшой коррекции &lt;tt&gt;php.ini&lt;/tt&gt; в информации об интерпретаторе появились &lt;i&gt;OPcache&lt;/i&gt; и &lt;i&gt;JIT&lt;/i&gt;:&lt;/p&gt;
&lt;div class="e2-text-picture"&gt;
&lt;img src="https://bolknote.ru/pictures/2020.03.18@2x.jpg" width="1000" height="392" alt="" /&gt;
&lt;div class="e2-text-caption"&gt;Скомпилированная версия PHP 8.0a со включенным JIT&lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;Вообще свой брейфаковский транслятор когда-то давно я умудрился сломать, но с быстрым фиксом он выплюнул некую калечную программу, которая, тем не менее, выдала результат, похожий на правду и довольно бодро нагрузила одно ядро процессора.&lt;/p&gt;
&lt;div class="e2-text-picture"&gt;
&lt;img src="https://bolknote.ru/pictures/2020.03.18.2@2x.jpg" width="1000" height="546" alt="" /&gt;
&lt;div class="e2-text-caption"&gt;Сравнение PHP 7.4 и 8.0a, со включённым и выключенным opcache (меньше — лучше)&lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;Каждую версию интерпретатора я тестировал со включенным и выключенным &lt;i&gt;OPcache&lt;/i&gt; десять раз, а результаты усреднил. Как видите, &lt;i&gt;JIT&lt;/i&gt; существенно ускорил выполнение программы в моём случае (там огромное количество циклов и ветвлений) — 63,9 секунды против 42,6.&lt;/p&gt;
&lt;p&gt;Что интересно — &lt;i&gt;PHP 8.a&lt;/i&gt; без &lt;i&gt;OPcache&lt;/i&gt; обогнал версию 7.4 со включенным &lt;i&gt;opcache&lt;/i&gt;, это примечательный результат— значит сам «голый» интерпретатор тоже оптимизируют.&lt;/p&gt;
</description>
</item>

<item>
<title>Скорость PHP7 на интерпретаторе Brainfuck</title>
<guid isPermaLink="false">124865</guid>
<link>https://bolknote.ru/all/4261/</link>
<pubDate>Sat, 20 Dec 2014 22:19:00 +0500</pubDate>
<author>Евгений Степанищев</author>
<comments>https://bolknote.ru/all/4261/</comments>
<description>
&lt;p&gt;&lt;a href="https://bolknote.ru/"&gt;Евгений Степанищев&lt;/a&gt;:&lt;/p&gt;
&lt;table cellpadding="0" cellspacing="0" border="0" class="e2-text-table"&gt;
&lt;tr&gt;
&lt;td&gt;&lt;img width="660" height="268.5" src="//bolknote.ru/imgs/2014.12.20.1.jpg" alt="Производительность PHP7 (161.98КиБ)" srcset="//bolknote.ru/imgs//2014.12.20.1@2x.jpg 2x"&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/table&gt;
&lt;p&gt;У меня есть старинная забава — брать свой &lt;a href="https://github.com/bolknote/brainfuck"&gt;оптимизирующий интерпретатор языка «Брейнфак»&lt;/a&gt; и запускать программу, вычисляющую число «Пи» под разными версиями ПХП, чтобы посмотреть их производительность. Тест довольно синтетический, но посмотреть всё равно интересно.&lt;/p&gt;
&lt;p&gt;Сравнил в данном случае версии 5.5.14  и сегодняшнюю сборку 7.0, разница всё равно заметна, хоть и не так впечатляюща, как в случае с «&lt;a href="https://wiki.php.net/phpng#performance_evaluation"&gt;Вордпрессом&lt;/a&gt;» — там разница в два раза.&lt;/p&gt;
&lt;p&gt;Время у меня на скриншоте общее — то есть трансляция программы на «Брейнфаке» в ПХП и запуск получившегося через &lt;i&gt;eval&lt;/i&gt;.&lt;/p&gt;
</description>
</item>

<item>
<title>Оптимизирующий транслятор Brainfuck → PHP</title>
<guid isPermaLink="false">124866</guid>
<link>https://bolknote.ru/all/3955/</link>
<pubDate>Sun, 28 Apr 2013 21:47:00 +0500</pubDate>
<author>Евгений Степанищев</author>
<comments>https://bolknote.ru/all/3955/</comments>
<description>
&lt;p&gt;&lt;a href="https://bolknote.ru/"&gt;Евгений Степанищев&lt;/a&gt;:&lt;/p&gt;
&lt;p&gt;Грех было не запустить свою же программу &lt;a href="/2013/04/28/~3954"&gt;из предыдущего поста&lt;/a&gt; на собственном стареньком (2005 года) оптимизирующем трансляторе Брейнфака в ПХП. Оказалось, оттранслировал его неправильно.&lt;/p&gt;
&lt;p&gt;Нашёл баг (неверно транслировалась последовательность «[&amp;lt;]» в некоторых случаях), исправил, почистил, убрал наследие ПХП 4, ввёл небольшую новую оптимизацию и &lt;a href="https://github.com/bolknote/brainfuck"&gt;выхожил на ГитХаб&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;История этого интерпретатора тянется ещё с 2001-го года и сайта &lt;a href="http://web.archive.org/web/20100528182757/http://bf.kzn.ru/lang.htm"&gt;bf.kzn.ru&lt;/a&gt;, который ныне не существует. На нём у меня работал &lt;i&gt;jBF&lt;/i&gt;, транслятор Брейнфака на Джаваскрипт и это был первый в мире интерпретатор Брейнфака, который использовал &lt;a href="http://web.archive.org/web/20100605005331/http://bf.kzn.ru/readme.rus.txt"&gt;оптимизирующие техники&lt;/a&gt;. Вышло аж тринадцать версий интерпретатора и он довольно неплохо уделывал аналоги.&lt;/p&gt;
&lt;p&gt;В 2005 году я переделал его на ПХП и попробовал предложить на &lt;a href="http://pear.php.net"&gt;ПЕАР&lt;/a&gt; (к тому времени у меня там уже было несколько модулей), но там он не прошёл предворительный осмотр, сказали, что такой модуль не нужен.&lt;/p&gt;
&lt;p&gt;Так он у меня и валялся в разделе «Храню», пока я не запустил сегодня на нём свою программу. Должен, кстати, сказать, что интерпретатор держит марку, например, вот вычисление числа «Пи» на моём трансляторе и &lt;a href="https://github.com/rickbutton/bfi"&gt;интерпретаторе на Джаве&lt;/a&gt;:  &lt;/p&gt;
&lt;table cellpadding="0" cellspacing="0" border="0" class="e2-text-table"&gt;
&lt;tr&gt;
&lt;td&gt;&lt;img width="480" height="215" src="//bolknote.ru/imgs/2013.04.28.png" alt="BFi vs PHP BF (15.14КиБ)"&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/table&gt;
&lt;p&gt;Хотя, может быть, Джава просто медленно стартует.&lt;/p&gt;
&lt;p&gt;Заодно, кстати, на своей же программе &lt;a href="https://github.com/bolknote/highlight.js/commit/ab945645433d7872be9873434688b5c7edf18fb9"&gt;нашёл баг&lt;/a&gt; в расцветке Брейфака, которую я делал для библиотеки &lt;i&gt;highlight.js&lt;/i&gt;.&lt;/p&gt;
</description>
</item>

<item>
<title>JavaScript, совмещённый с Brainf*ck: «hello friends»</title>
<guid isPermaLink="false">124867</guid>
<link>https://bolknote.ru/all/3954/</link>
<pubDate>Sun, 28 Apr 2013 16:44:00 +0500</pubDate>
<author>Евгений Степанищев</author>
<comments>https://bolknote.ru/all/3954/</comments>
<description>
&lt;p&gt;&lt;a href="https://bolknote.ru/"&gt;Евгений Степанищев&lt;/a&gt;:&lt;/p&gt;
&lt;p&gt;Помните моё поздравление с &lt;a href="/2012/01/05/~3535/"&gt;Новым годом&lt;/a&gt;, написанное на запутанном Джаваскрипте? Такой же принцип я использовал для привлекающего внимание &lt;a href="https://twitter.com/bolknote/status/315333227718012929/photo/1"&gt;баннера нашей компании&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;Я давно уже заметил, что это сильно похоже на язык &lt;a href="http://ru.wikipedia.org/wiki/Brainfuck"&gt;Брейнфак&lt;/a&gt;. Давно хотелось попробовать смешать эти два языка в одном листинге. Со стороны Брейнфака всё довольно гладко — надо только балансировать квадратные скобки (но Джаваскрипт требует того же) и избегать вечных циклов (тут уже сложнее, так как листинги на запутанном Джаваскрипте часто требуют пустых циклов), незнакомые символы этот язык пропускает. В Джаваскрипте синтаксис построже, там нужно было помучаться больше.&lt;/p&gt;
&lt;p&gt;Получилась следующая программа (используется расцветка для Брейнфака, чтобы было видно какие части программы он пропускает):&lt;/p&gt;
&lt;pre class="e2-text-code"&gt;&lt;code class="hljs lang-plaintext"&gt;($=!{}&lt;span class="hljs-meta"&gt;[&lt;/span&gt;/&lt;span class="hljs-meta"&gt;-&lt;/span&gt;/&lt;span class="hljs-meta"&gt;+&lt;/span&gt;/\&lt;span class="hljs-meta"&gt;+&lt;/span&gt;@&lt;span class="hljs-meta"&gt;+&lt;/span&gt;@&lt;span class="hljs-meta"&gt;+&lt;/span&gt;!&lt;span class="hljs-meta"&gt;+&lt;/span&gt;/)&lt;span class="hljs-meta"&gt;-&lt;/span&gt;!{$:/&lt;span class="hljs-meta"&gt;&amp;gt;&lt;/span&gt;/&lt;span class="hljs-meta"&gt;+&lt;/span&gt;/!&lt;span class="hljs-meta"&gt;&amp;gt;&lt;/span&gt;/&lt;span class="hljs-meta"&gt;+&lt;/span&gt;/&lt;span class="hljs-meta"&gt;&amp;lt;&lt;/span&gt;/}&lt;span class="hljs-meta"&gt;+&lt;/span&gt;
(_=!&lt;span class="hljs-meta"&gt;-&lt;/span&gt;{}&lt;span class="hljs-meta"&gt;-&lt;/span&gt;$&lt;span class="hljs-meta"&gt;+&lt;/span&gt;/&lt;span class="hljs-meta"&gt;&amp;gt;&lt;/span&gt;/)&lt;span class="hljs-meta"&gt;-&lt;/span&gt;~(/&lt;span class="hljs-meta"&gt;&amp;lt;&lt;/span&gt;/)&lt;span class="hljs-meta"&gt;+&lt;/span&gt;
(_$=&lt;span class="hljs-meta"&gt;-&lt;/span&gt;$&lt;span class="hljs-meta"&gt;-&lt;/span&gt;{}&lt;span class="hljs-meta"&gt;-&lt;/span&gt;$&lt;span class="hljs-meta"&gt;+&lt;/span&gt;/&lt;span class="hljs-meta"&gt;&amp;gt;&lt;/span&gt;/)&lt;span class="hljs-meta"&gt;[&lt;/span&gt;$$=&lt;span class="hljs-meta"&gt;-&lt;/span&gt;(~&lt;span class="hljs-meta"&gt;-&lt;/span&gt;~$&lt;span class="hljs-meta"&gt;+&lt;/span&gt;~&lt;span class="hljs-meta"&gt;-&lt;/span&gt;~$&lt;span class="hljs-meta"&gt;-&lt;/span&gt;!&lt;span class="hljs-meta"&gt;+&lt;/span&gt;{$:/!&lt;span class="hljs-meta"&gt;&amp;lt;&lt;/span&gt;/})&lt;span class="hljs-meta"&gt;+&lt;/span&gt;
_&lt;span class="hljs-meta"&gt;[&lt;/span&gt;$$&lt;span class="hljs-meta"&gt;+&lt;/span&gt;=~&lt;span class="hljs-meta"&gt;-&lt;/span&gt;~{$:/&lt;span class="hljs-meta"&gt;]&lt;/span&gt;/}&lt;span class="hljs-meta"&gt;+&lt;/span&gt;
_$&lt;span class="hljs-meta"&gt;-&lt;/span&gt;~{}&lt;span class="hljs-meta"&gt;+&lt;/span&gt;
_$&lt;span class="hljs-meta"&gt;[&lt;/span&gt;$$&lt;span class="hljs-meta"&gt;+&lt;/span&gt;~{_:&lt;span class="hljs-meta"&gt;-&lt;/span&gt;$&lt;span class="hljs-meta"&gt;&amp;gt;&lt;/span&gt;/&lt;span class="hljs-meta"&gt;]&lt;/span&gt;/}&lt;span class="hljs-meta"&gt;+&lt;/span&gt;
$&lt;span class="hljs-meta"&gt;-&lt;/span&gt;$$&lt;span class="hljs-meta"&gt;]&lt;/span&gt;&lt;/code&gt;
&lt;/pre&gt;
&lt;p&gt;Оба интерпретатора выполняют её с разным результатом, Брейнфак выводит «&lt;i&gt;hello&lt;/i&gt;», а Джаваскрипт — «&lt;i&gt;friends&lt;/i&gt;»:&lt;/p&gt;
&lt;pre class="e2-text-code"&gt;&lt;code class=""&gt;bolk@Bolk ~$ ./brainfuck &amp;lt;&amp;lt;&amp;lt;&amp;#039;($=!{}+[/-/]+/\+@+@+!+/)[-!{$:/&amp;gt;/+/!+&amp;gt;/+/&amp;lt;&amp;lt;/}]+(_=!-{}+[-$]+/&amp;gt;/)[-~(/&amp;gt;[-&amp;gt;+&amp;gt;+&amp;lt;&amp;lt;]&amp;gt;&amp;gt;[-&amp;lt;+&amp;lt;+&amp;gt;&amp;gt;]&amp;lt;&amp;lt;&amp;lt;/)]+(_$=[-$][-{}]+[-$]+/&amp;gt;&amp;gt;/)
[$$=-(~-~$+~-~$-!+{$:/!+&amp;gt;+&amp;gt;+&amp;gt;+&amp;gt;+&amp;gt;+&amp;lt;&amp;lt;&amp;lt;&amp;lt;&amp;lt;/})]+_[$$+=~-~{$:/[-&amp;gt;++++&amp;gt;+&amp;gt;++++++++&amp;gt;++++++++&amp;gt;+++++++++++[&amp;lt;]]/}]+_$[-~{}]+_$[$$+~{_:-$&amp;gt;/[.&amp;gt;]/}]+$[-+-$$]&amp;#039;

hello

bolk@Bolk ~$ v8 -e &amp;#039;print(($=!{}+[/-/]+/+@+@+!+/)[-!{$:/&amp;gt;/+/!+&amp;gt;/+/&amp;lt;&amp;lt;/}]+(_=!-{}+[-$]+/&amp;gt;/)[-~(/&amp;gt;[-&amp;gt;+&amp;gt;+&amp;lt;&amp;lt;]&amp;gt;&amp;gt;[-&amp;lt;+&amp;lt;+&amp;gt;&amp;gt;]&amp;lt;&amp;lt;&amp;lt;/)]+(_$=[-$][-{}]+[-$]+/&amp;gt;&amp;gt;/)
[$$=-(~-~$+~-~$-!+{$:/!+&amp;gt;+&amp;gt;+&amp;gt;+&amp;gt;+&amp;gt;+&amp;lt;&amp;lt;&amp;lt;&amp;lt;&amp;lt;/})]+_[$$+=~-~{$:/[-&amp;gt;++++&amp;gt;+&amp;gt;++++++++&amp;gt;++++++++&amp;gt;+++++++++++[&amp;lt;]]/}]+_$[-~{}]+_$[$$+~{_:-$&amp;gt;/[.&amp;gt;]/}]+$[-+-$$])&amp;#039;

friends&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;Повозиться пришлось прилично, если честно, некоторые конструкции ДжЭс делит с Брейфаком (большинство квадратных скобок), а кое-где торчат чистые инструкции Брейнфака, засунутые в те места программы, где они не могут помешать своему соседу. Пустые циклы, которые образуются квадратными скобками я старался сводить к операции зануления ячейки („[-]“), сильно мешали плюсы, используемые в Джаваскрипте для объединения букв — они увеличивали содержимое ячейки в Брейнфаке на единицу, это приходилось учитывать.&lt;/p&gt;
&lt;p&gt;Слово «&lt;i&gt;friends&lt;/i&gt;» я выбрал потому что его легко записать:&lt;/p&gt;
&lt;pre class="e2-text-code"&gt;&lt;code class="javascript"&gt;&amp;quot;false&amp;quot;[0]+&amp;quot;true&amp;quot;[1]+&amp;quot;undefined&amp;quot;[5]+&amp;quot;true&amp;quot;[3]+&amp;quot;undefined&amp;quot;[1]+&amp;quot;undefined&amp;quot;[2]+&amp;quot;false&amp;quot;[3]&lt;/code&gt;&lt;/pre&gt;&lt;/pre&gt;&lt;p&gt;Принцип я когда-то более-менее &lt;a href="/2012/01/05/~3535/#n32932"&gt;подробно разбирал&lt;/a&gt;.&lt;/p&gt;
</description>
</item>

<item>
<title>Brainf★ck в highlight.js</title>
<guid isPermaLink="false">124868</guid>
<link>https://bolknote.ru/all/3793/</link>
<pubDate>Sun, 11 Nov 2012 17:45:00 +0500</pubDate>
<author>Евгений Степанищев</author>
<comments>https://bolknote.ru/all/3793/</comments>
<description>
&lt;p&gt;&lt;a href="https://bolknote.ru/"&gt;Евгений Степанищев&lt;/a&gt;:&lt;/p&gt;
&lt;p&gt;Я как-то &lt;a href="/2012/09/13/~3740/"&gt;писал&lt;/a&gt;, что ко Дню программиста сделал подсветку синтаксиса языка &lt;i&gt;Brainfuck&lt;/i&gt; для библиотеки &lt;i&gt;highlight.js&lt;/i&gt;.&lt;/p&gt;
&lt;p&gt;Оказывается, я пропустил выход версии 7.3, куда вошла моя подсветка, теперь &lt;i&gt;Brainfuck&lt;/i&gt; &lt;a href="http://softwaremaniacs.org/soft/highlight/en/download/"&gt;входит&lt;/a&gt; в список поддерживаемых языков.&lt;/p&gt;
</description>
</item>


</channel>
</rss>