«МК-Про»: далеко ли до «отлично»?

В моей работе над проектом ретроконсоли «МК-61s» сейчас наступило запланированное затишье: все разумные улучшения сделаны. Иногда я нахожу небольшие ошибки или вижу возможность что-то сделать лучше и вношу соответствующие изменения, но моего активного участия проект уже не требует.

Поэтому высвободившееся внимание я направил на проект «МК-Про» — интерпретатор придуманного мной языка высокого уровня с мощным оптимизатором. Он должен уметь умещать программы разумного объёма в безумные 105 байт, доступных на программируемом калькуляторе «Электроника МК-61».

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

Со временем, у меня сложится такой критерий того насколько нейросеть хорошо решила эту задачу — насколько близко мы приблизились к оптимизированной версии игры «Пещера сокровищ» в варианте Сергея Анварова «Крестики-нолики 4×4» программиста Hs On — монстра оптимизации под эту ретроплатформу.

На настоящий момент разница составляет 34 байта или 25%, я попросил нейросеть нарисовать для наглядности график. Планирую сегодня запустить свежевышедшую на днях сеть «ГПТ-5.6 Сол» в режиме «ультра», посмотрим, продвинется ли она дальше. В режиме «очень высокого» усилия (это уровень, предшествующий режиму «ультра»), она продвинулась на два байта, это много.

График изменения размера в клетках с 28 мая по 11 июля: рост до 386 (полная игра), затем резкое снижение до 134 (UI fix), стабилизация около лимита 105.
Там где значения плюсовые — это исправления каких-то багов оптимизатора

Добавлено позднее: в итоге сеть мне сначала довела почти до 105 байт, а потом откатила часть прогресса, сделанного другими сетями и теперь программа у нас занимает 154 байта. Причина — оптимизации слишком заточены под конкретную программу, что противоречит задаче.

3 комментария

Нанял тренера

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

«Выбрал по лайкам», что называется. «Ютуб», поскольку я часто смотрю что-нибудь про единоборства, однажды подсунул мне тренера-блогера, который зацепил меня юморной подачей и доступностью изложения. Ему я и заплатил.

Пока он только следит за тем, что я ем: каждый день фотографирую еду, и вот уже заканчивается вторая неделя. Упражнений пока не было, но я уже начал худеть — почти два килограмма скинул на стыде. Думаю съесть что-нибудь лишнее, а потом вспоминаю: придётся Буське скидывать — стыдно. И не ем.

Моего тренера мы с женой зовём Буськой. Как его на самом деле зовут, я и не знаю. Буськой — потому что в конце почти каждого своего ролика он говорит: «Понял? Ай, молодец, держи буську».

Вот вам моя свежая фотография, в сложные моменты своей жизни я весил и на 15 килограмм больше, чем сейчас.

Мужчина в зелёной футболке и белой кепке с очками на козырьке стоит за деревянной трибуной и говорит в микрофон на фоне светлой шторы и чёрного экрана.
Я на трибуне актового зала Академии наук Республики Татарстан

5 комментариев

ИИ: локальное ревью кода

reviewbot запросил изменения в ревизии: дифф добавляет функционал коротких тем для вопросов ОГ, включая таблицы, миграции, контроллеры, валидаторы и интеграцию в карточку…

Подключил локальный DeepSeek-V4-Flash, который работает у нас в офисе на четырёх H200, к ревью кода. Прошла неделя, выводы такие: моя оценка колеблется от 3+ до 4, снижаю из-за многословности и промахов по ревью. Первое в процессе исправления, второе правится документацией, в которой надо описать особенности, которые он иногда из контекста и кода не выводит.

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

Считаю, что польза уже есть, но надо продолжать его улучшать.

Оставить комментарий

«МК61s»: распробовал «Фейбл 5»

Скриншот Finder macOS: папка /Volumes/MK61S FS с тремя файлами .M61 — Bumblebee Fly, Fox Hunting, Infinity Story — с иконками вопроса.

Самая сложная задача, которую пришлось решать для ретроконсоли «MK61s», — это монтирование её как диска. В прежней прошивке программы были зашиты внутрь, и пользовательского способа сохранить туда новые программы не существовало. Я подумал, что раз есть USB-разъёмы, то можно попробовать сделать свою файловую систему, которая будет отображаться на компьютере как диск.

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

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

Я написал «ГПТ-5.5» всю первую версию, которая довольно неплохо работала, пока я не стал копировать файлы группами — на группе по пять файлов возникал сбой, диск пропадал и операция прерывалась. С «ГПТ-5.5» я просидел до часу ночи, но баг не лечился. Мы даже делали псевдофайл, в который сохранялись команды операционной системы, чтобы разобраться в ситуации, но всё тщетно.

«ГПТ-5.5» мне говорил «вот новая прошивка, я всё починил», но баг никуда не уходил — простое копирование пяти файлов опять всё роняло.

В итоге, я открыл сеть «Фейбл 5», описал ей проблему и она задумалась минут на двадцать, после чего начала неспешно писать код, в котором проблема была исправлена. Без отладки, без тестов, без диагностики. Задачу я ставил в минимальной формулировке, почти буквально «пять файлов копирую, оно падает», а «Фейбл» разобрала весь код, увидела проблему и решила, даже ни разу ничего не запустив.

Что я хотел сказать этой историей — человек так не сможет.

43 комментария

Статья в газете о папе

Папа почти всю жизнь проработал в «Иркеннефти» — сейчас уже не существующим подразделении «Татнефти». В последней должности там он был начальником технического отдела. В его ведении была служба АСУП, которая занималась автоматизацией производства.

Недавно бывший руководитель этой службы разгребал дома архивы и нашёл заметку в газете «Нефтяник Татарстана» №79 (825) за 1998 год, про большой проект по автоматизации, в котором принимал участие и мой папа. Я решил статью вырезать и положить себе на сайт, чтобы она сохранилась.

Статья «Первые лауреаты Фирменной премии АО «Татнефть» о комплексной автоматизации НГДУ «Иркенефть» с фото четырёх авторов и схемой сети.

Оставить комментарий

Документалка об «Электронике МК-61»

Мужчина в клетчатой рубашке говорит в микрофон. Слева иллюстрация Евгения Степанищева и текст «ништяки для МК 61, ссылка в описании». Фон: неон JS, постер Oasis.

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

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

За этот опыт я очень благодарен Ивану.

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

Фильм уже неделю как был готов — оставалось дождаться только рекламодателя. Результат мне так понравился, что я буквально дождаться не мог момента, когда смогу разослать его всем. С особым удовольствием отправил ссылку ребятам из чата о ретроконсоли «MK61s». Надеюсь, им это согреет душу!

13 комментариев

«МК-61s»: русские буквы

Вчера я писал, что сделал ретроконсоли «МК-61s» русификацию. Звучит несложно, если не знать, что дисплей того устройства, которое у меня на руках, не выводит графику. У него алфавитно-цифровой принцип, причём у меня стоит японская версия, в которой русских букв нет. Вот вся его таблица:

Таблица символов кодовой страницы CP437: десятичные коды от 32 до 255, соответствующие ASCII-символы, латиница, кириллица, японские катакана и специальные графические символы.

Как же делается русификация? Секрет в том, что в позициях от нуля до семи стоят символы, которые можно определять самостоятельно. Пришлось написать упаковщик, который, выводя на экран русские символы, на самом деле заменяет их латиницей, а те буквы, которые есть только в русском, распихивает по восьми символам, которые можно рисовать самостоятельно. Если позиций не хватает, пытается минимально изуродовать вывод, заменяя «Ч» на «4» и «У» на «Y».

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

Оставить комментарий

Доработка «МК-61s»

Программировать всякие железки — увлекательнейшее занятие. За ночь и утро я её русифицировал (решив проблему распихивания русских букв на восьми программируемым знакоместам), выделил слой примитивов работы с экраном, что позволило объединить две прошивки в одну, добавил интепретаторы двух языков (Бейсик и Фокал), сделал файловую систему с монтированием этой системы на компьютере и ещё многое другое.

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

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

В «МК-61s» я сделал то же самое — на клавиатуре есть буквы от «a» до «e» для ввода имён регистров и некоторые другие буквы, на них я завязал ввод операторов, по пути переименовав некоторые из них — ASK, BRANCH, COMMENT, DO и так далее. А остальные буквы вводятся на цифровой клавиатуре, как это раньше делали с СМС — нажимаем K («клавиша»), а потом нужную цифровую кнопку на каждой из которой сидят по три или четыре цифры, как на старых кнопочных телефонах.

Я попробовал, так гораздо проще набирать программы. Мне кажется, что от Бейсика надо избавиться и, если уж хочется иметь в этой консоли какой-то язык высокого уровня, развивать Фокал.

Электроника МК-61s-Mini с экраном «ГРОМКОСТЬ 0, СКОРОСТЬ ТУРБО» и клавиатурой, подключена кабелем к USB; ссылка на GitHub: https://github.com/un7fg0/mk61s_mini

Оставить комментарий

Ретроконсоль «МК-61s»

Мне довольно быстро дошла посылка с собранной ретроконсолью «МК-61s». Я уже писал, что познакомился с её авторами на почве интереса к «Электронике МК-61», и они выслали мне устройство.

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

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

Дополнено: немножко разобрался, но вопросов стало только больше. Для работы с прошивкой предназначен разъём слева, устройство надо перевести в режим DFU через меню. Но, самое главное, — дата прошивки 10 мая 2026 года, а репозиторий устройства не обновлялся уже восемь месяцев. Вопрос — где же идёт работа?

Да и размеры не совпадают. Я слил прошивку с устройства, она там занимает около 80КБ, тогда как, если собрать прошивку из репозитория, она займёт около 60. Ничего не понимаю.

Калькулятор ЭЛЕКТРОНИКА МК-61s-Mini на фоне зелени. На корпусе URL: https://github.com/un7fg0/mk61s_mini

2 комментария

Кирпич «XW»? «MX»?

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

Со временем незнакомых мне казанский кирпичный клейм не осталось, но иногда судьба подбрасывает что-то новенькое. В прошлую мою прогулку по дебрям исторической части Казани, я случайно под ногами увидел обломок кирпича с новым для себя клеймом. Целиком оно не сохранилось, но ощущение такое, что буквы латинские и там то ли «XW», то ли «MX», непонятно. Планирую его выкопать и рассмотреть подробнее.

Потёртая красная плитка с белым крестом, лежащая в земле среди камней и мусора.
Обломок кирпича то ли с клеймом «XW», то ли с «MX»

1 комментарий

Завтраки в кафе

Красная миска с салатом из огурцов, моркови, горошка и мяса в соусе, рядом чашка с рисунком лица, салфетки и тень от растения на светло-голубом столе.
Один из завтраков. Я успел на него в обед

Давно всё никак не мог дойти до кафе, глянуть, как там дела. Сегодня наконец добрался, а там уже и весь персонал успел смениться. Заехал пообедать — повезло застать завтраки. Ребята недавно ввели их в меню: они там до 14⁰⁰, давно хотел попробовать. Вкуснотища!

Ещё появились новые десерты с лесной земляникой. Жаль, поздно увидел: переедать не хотелось. Попробую завтра съездить, может, ещё застану.

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

4 комментария

ИИ: что в имени тебе моём?

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

Начнём с открытых моделей, там есть о чём рассказать.

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

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

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

Например: Qwen3.6-35B-A3B.

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

3.6 — это поколение или версия модели. Обычно более новая версия означает, что разработчики улучшили архитектуру, обучение, данные, дообучение и поведение модели. То есть обновили в своей «школе» методику преподавания и учебники.

35B — это общий размер модели: примерно 35 миллиардов параметров. Упрощённо параметры можно сравнить с «объёмом мозга», в которых хранится опыт модели. Чем параметров больше, тем потенциально больше знаний и способностей может поместиться в модель, но размер — не единственный показатель ума. Иногда более новая и лучше обученная модель меньшего размера работает лучше, чем старая модель большего размера.

A3B означает, что модель относится к типу MoE — «mixture of experts», «смесь экспертов». У неё всего около 35 миллиардов параметров, но при ответе на каждый отдельный токен активируется только примерно 3 миллиарда. Если говорить совсем грубо, модель не задействует весь «мозг» сразу, а выбирает нужные участки под конкретный шаг ответа. Поэтому такие модели часто быстрее и дешевле в работе, чем плотные модели похожего общего размера.

Плотные модели — те, у которых задействуется сразу весь «мозг».

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

Если в названии дальше есть приписки вроде FP4, FP8, Q4_K_M, GPTQ, AWQ и похожие, это обычно говорит о формате хранения весов или о квантовании. Модель сжали или перевели в более экономный числовой формат, чтобы она занимала меньше памяти и быстрее запускалась на доступном железе.

Это означает, что «знания» модели обо всём менее точные. Хорошее квантирование мало сказывается на модели, но бесследно не проходит.

У коммерческих моделей всё сложнее, характеристики в названии не пишут, обычно там только версия модели. Например, у «Антропика» пишется название и версия.

Название указывает на размер, а версия — на «версию методики обучения». Самая умная и большая на сегодняшний момент — «Фейбл 5», менее умная — «Опус 4.8» и самая простая — «Соннет 5».

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

2 комментария

Книги: «Толкователи» Урсулы Ле Гуин

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

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

Оставить комментарий

О разном

Раз дочка в Лениногорске счастливо проводит время с бабушкой и дедушкой и нет надобности откуда-то её забирать вечерами, решил заняться здоровьем. Сначала зубы — во Вьетнаме как-то сама собой сломалась пломба, да и остальные зубы глянуть не мешает, всё-таки больше десяти лет у зубного не был. Потом займусь зрением — садится, надо всерьёз задуматься об очках, а потом и чекап неплохо было бы сделать. С прошлого почти семь лет пришло.

Всё вожусь с языком «МК-Про», всё глубже погружаясь в дебри «Электроники МК-61». Познакомился с увлечёнными программистами из старой гвардии, которые пилят проект «МК-61s» — программно-аппаратный эмулятор программируемого калькулятора с расширенными возможностями. Свой проект на Си++ я переписал в том числе с их подачи. Сообщество небольшое, но увлечённое, я сам не заметил, как тоже увлёкся.

Теперь ко мне едет уже собранный «MK-61s», должен через неделю приехать. Купить я пока не решился, этот мне выслали для тестов, возможно я смогу тоже привнести что-то своё в проект.

Говорят нам на днях должны вернуть нейросеть «Фейбл 5», на которую американское правительство наложило запрет. Сам я её погонять успел мало, но те, кто успел, говорят, что она программирует уже на уровне синьора. Ну проверим, у меня задача для неё есть — довести в «МК-Про» оптимизатор до такого уровня, чтобы повторить или превзойти по компактности вариант Сергея Анварова игры «Пещера сокровищ».

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

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

48 комментариев

«МК-Про»: два регистра в одном

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

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

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

Идея в том, что два целых числа с известными диапазонами можно упаковать в одно число: одно — в целую часть, другое — в дробную. Тогда извлечь их можно операциями нахождения целой части (K [x]) и дробной части (K {x}), причём дробную часть потом часто можно и не домножать: транслятор может заменить всю арифметику с ней так, что всё будет работать ожидаемым образом, но вместо диапазона 0…9 будет использоваться диапазон 0…0,9.

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

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

Вчера я остановился на том, что решатель должен перебирать функции, в том числе тригонометрические: именно они обычно дают самый толковый результат. Но в «МК-61» и в C++ они дают немного разные результаты.

В общем, зарядил я «Кодекс», чтобы он покопался в микрокоде калькулятора и алгоритмически повторил код, реализующий тригонометрию в Си++. Цель была обозначена, на мой взгляд, очень чётко. Но не зря я говорю, что нейросеть иногда похожа на джина, который всё, что можно понять двояко, вывернет вам во вред.

Когда я уходил спать, всё работало как часы — нейросеть копалась в ПЗУ калькулятора, сравнивала реализацию с эталоном, разбиралась почему ошибки. Утром я первым делом полез в этот код, чтобы посмотреть что получилось. А там…

А там, как говорят поляки «wygląda jak gówno, a smakuje jeszcze lepiej» — «выглядит как говно, а на вкус ещё лучше». Пятьдесят тысяч строк отвратительного лапшекода, сгенерированного программно из ПЗУ «МК-61».

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

48 комментариев

Воздухан

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

6 комментариев

«МК-Про»: переписано на Си++

Сегодня наконец закончился процесс переноса кода «МК-Про» на C++. Переписывание заняло около восьми дней, использовались три нейросети. Основной каркас был перенесён с помощью «ГПТ-5.5», часть тестов довольно механически переносилась нейросетью «ГПТ-5.3-Кодекс-Спарк», а последние штрихи вносил и баги чинил «Опус 4.8».

Производительность трансляции улучшилась в среднем в 2,5 раза. Есть один регресс у одной короткой программы, которая выполняются до 50 миллисекунд, но это, скорее всего, погрешность: не исключено, что в этот момент в фоне стартовало что-то тяжёлое.

За восемь дней было переписано 122 тысячи строк, которые превратились в 145,5 тысяч строк на C++.

Таблица сравнения времени выполнения примеров на TypeScript и C++: C++ быстрее в большинстве случаев (от 1.13x до 9.52x), кроме e-94-digits, где TS быстрее в 1.67x.

10 комментариев

Привезли дочку в Лениногорск

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

Благодаря платной дороге ездить стало гораздо проще — теперь дорога занимает около трёх часов. А когда я переехал в Казань, даже моста через Чистополь ещё не было, не говоря уже о платной дороге. Приходилось ехать через Набережные Челны, и в один конец мы добирались больше шести часов.

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

Погода неожиданно испортилась: конец июня, а на дворе +10, дождь и пасмурно, как осенью. Вчера мы едва проскочили мимо ливня, но в Лениногорске непогода всё равно нас поймала: хоть это был и не ливень, но немного покапало. Если верить прогнозу, так будет до конца недели, что же за лето такое?

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

Яркая радуга спускается с облачного неба на зелёные холмы и поля, окаймлённые лесными полосами.
Радуга, которая была с нами больше половины дороги из Казани в Лениногорск

5 комментариев

«Земной дракон»

Разбирал на днях папку со всяким скачанным барахлом и обнаружил две отсканированные страницы «Журнала-Копейки», № 35 за 1913 год. Я его как-то уже цитировал, но тогда не обратил внимания на заметку на другой странице. А она очень забавная — про «дракона».

Иллюстрация «Драконы въ Африкѣ»: два гигантских земных дракона с длинными шеями и хвостами, один крупнее другого, стоят на равнине; под ними — человек для масштаба.
Вырезка из «Журнала-Копейки», № 35 за 1913 год

Германская Восточная Африка — это, вероятно, территория современной Танзании. В те времена там была немецкая колония и в этом регионе постоянно проводят раскопки. Интересно, что художник изобразил «земного», то есть наземного, «дракона» вместе с древним человеком — если я правильно рассмотрел фигурку под динозавром.

Думаю, в те времена ещё знали, что люди разминулись с такими «драконами» на шестьдесят с лишним миллионов лет. Хотя, возможно, человек на рисунке приведён просто для масштаба.

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

Самым частым аргументом, насколько я помню, был вопрос: «А откуда тогда, по-твоему, взялись легенды о драконах?».

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

3 комментария

Иншааллах

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

Вот и сегодня вечером досматривал ролик, который мне попался ещё утром за завтраком: там турок, итальянец, француженка и американец играют в различные языковые игры. В кадре они пытались перевести русское «авось!» на свои языки.

Показалось интересным, что во Франции существует сленговое выражение inchallah («иншааллах», «если Аллах пожелает»), которое, вполне очевидно, пришло из арабоязычной мусульманской среды. Видимо, мусульман во Франции стало настолько много, что выражение вошло в местный разговорный язык.

Мы в Татарстане, кстати, говорим «Алла бирса» («если даст Аллах»), причём так говорят не только мусульмане, я, например, так тоже иногда говорю.

Четверо людей сидят в студии на фоне фиолетовой стены и растений; внизу экрана надпись: «inchallah дай бог (фр.).

3 комментария