Евгений Степанищев (RSS Feed)'s avatar
Евгений Степанищев (RSS Feed)
bolknote.ru_rss@rss.nostr.twinkle.lol
npub15jxf...mfgm
Этот сайт — моя персональная записная книжка. Интересны мне, по большей части, программирование, история и события из моей жизни https://bolknote.ru/
«МК-Про»: ЯП уровня для «МК-61» Язык высокого уровня для программируемого калькулятора «Электроника МК-61», который я начал писать (https://bolknote.ru/all/yazyk-vysokogo-urovnya-dlya-mk-61/) с нейросетью, теперь называется «МК-Про». Надо же его как-то называть. image Вообще, начал я его писать, потому что меня спросили, не знаю ли я какую-то задачу, с которой сегодняшние нейросети не справятся. Не то чтобы я ожидал, что совсем ничего не выйдет, но думал, что хорошо, пожалуй, не получится. Задача — сделать язык программирования, который будет транслироваться в код, которому доступно всего 105 ячеек, — мне показалась достаточно сложной. Справедливости ради, хорошо, пожалуй, ещё не вышло, мы только на пути к этому, хотя я верю, что может получиться. Тот вариант, который сейчас уже есть (https://github.com/bolknote/MKPro), я оцениваю где-то на три с плюсом. Последние несколько дней нейросеть занята самой, наверное, сложной оптимизацией, которая только есть, — использованием регистра X2 в калькуляторе. На скриншоте видна очередная сессия, которая, как можно заметить длится без перерыва уже более тридцати часов и до конца ещё очень далеко — неделя или около того. Чтобы сеть не прерывалась, я выставил так называемую «цель», её видно на скриншоте. 105 байт памяти, стек и пятнадцать официально доступных регистров вынуждают использовать самые нетривиальные хаки. Их очень много: если начать рассказывать, я буду писать только о них. Самый нетривиальный, как оказалось, — хак с использованием регистра X2. Это недокументированная возможность, поэтому её использование не очень распространено. Это не вполне регистр, скорее техническая ячейка для хранения копии экрана, но в программном режиме она обрастает некоторым количеством багов — их вообще в этом калькуляторе полно, — что позволяет использовать её в некоторых случаях как ещё один регистр. В основном — для хранения промежуточных значений. Я собрал очень много готовых программ — почти восемь сотен, и в самых плотно упакованных все регистры уже заняты. Выгрузить их тоже некуда: памяти, напоминаю, очень мало — сотня байт, поэтому X2 там очень даже к месту. Интересно, насколько хорошо будет работать оптимизация, когда нейросетка её доделает. Хотя мы всё обвешиваем тестами, промежуточный результат пока ничего не даёт, кроме расхода токенов: оптимизацию можно будет полноценно включить только в самом конце. Очень жду завершения этого этапа: так долго подпинывать нейросеть без промежуточного результата — скучновато.
Всем, наверное, интересно, чем же кончилась моя история со случайным удалением аккаунта (https://bolknote.ru/all/sluchayno-udalil-akkaunt-v-telegrame/) в «Телеграме». Кончилась тем, что я прошёл через все стадии принятия и зарегистрировал новый аккаунт на тот же номер. Техподдержка не ответила ни на одно из двух моих писем, да я и не ждал, поэтому, как только получилось зарегистрироваться заново, я это сделал. Не получалось несколько часов — мне должен был позвонить бот и продиктовать код, но он всё никак не звонил. Канал в «Телеграме», где я дублирую этот сайт, естественно, тоже пришлось создать заново, так что заходите ( кому удобнее читать меня там.
Спортинвентарь в отелях В отелях меня каждый раз удивляет наплевательское отношение к спортивному инвентарю. Особенно почему-то это заметно на примере ракеток для пинг-понга. Это уже просто какое-то правило: даже в самых хороших отелях ракетки для пинг-понга ободранные и облупленные. В этот раз меня это так возмутило, что я пошёл к сотрудникам, и они выдали мне совершенно новые ракетки, которые я после игры оставил рядом со старыми. Надо ли говорить, что сегодня драные ракетки лежали там же, где обычно, а новые, видимо, сотрудники опять куда-то утащили. image
ИИ и системное администрирование Вокруг программирования с помощью нейросетей так много шума, что кажется, будто остальные айтишные профессии остаются в стороне: будто в их жизни ничего не меняется и не поменяется. Разумеется, это не так. Я уже как-то описывал (https://bolknote.ru/all/ii-a-gde-zhe-kolenka/) случай, когда полторы-две недели занимался решением одной практической задачи: нужно было устанавливать и запускать на нескольких серверах мой пучок скриптов на Пайтоне для проверки различных гипотез. Тогда я обошёлся без автоматизации — просто потому, что нейросеть выполняла мои хотелки с такой скоростью, что автоматизация оказалась мне не нужна. Тем более что в нестандартных ситуациях я не ограничен интерфейсом выбранного решения: в моём распоряжении голая командная строка, пиши что хочешь. Выглядит это не очень промышленно, но не надо думать, что никто не исследует тему того, каким образом можно было бы хотя бы частично заменить системного администратора искусственным интеллектом. На скриншоте — одна из первых ласточек: Линукс от «Селектела» со встроенным «системным администратором»; в его качестве выступает нейросеть «Квен 3.5» с весьма скромными по нынешним временам характеристиками. Она превращает задачу пользователя в команды в консоли сервера. Интерфейс пока аскетичный, но и задачи полностью заменить администратора пока нет: каждая команда требует анализа специалистом и подтверждения. В таком режиме от администратора не требуется знать хитрые ключи командной строки или нетривиальную последовательность действий — всё это за него уже может делать машина. У нас один из сотрудников, занимающихся системным администрированием, в настоящий момент гоняет это решение на изолированной виртуалке. Не для рабочих задач, разумеется, а чтобы понять, куда ветер дует. image
Попробовал «Кодекс» Так исторически сложилось, что серьёзно программировать с нейросетями я начал с «Курсора». До сих пор его использую, и планов куда-то переходить у меня не появилось. «Курсор» — специализированная среда разработки, заточенная под работу с нейросетями. В ней есть очень много специальных костыликов, позволяющих нейросети делать свою работу. Такие среды дают огромный прирост по сравнению с копированием кода из окна нейросети — тем, с чего мы все начинали. Недавно братишка уговорил меня попробовать «Кодекс» — конкурирующую среду разработки, которую делает компания «Оупен-Эй-Ай». Аргумент он привёл очень убедительный — стоимость. Не обманул: позже я убедился, что в рамках подписки за двести долларов можно работать почти с любой интенсивностью. Там, где я в «Курсоре» тратил по двести долларов в день, тут я, заплатив один раз, больше ничего не плачу́. Объяснение простое: «Курсор» в основном перепродаёт токены чужих нейросетей, зарабатывая на разнице, а «Кодекс» продаёт токены нейросетей той компании, которая его делает. При этом с «Курсором» мне работать приятнее. Не из-за эффекта утёнка, а из-за двух вещей, которые в «Кодексе» сделаны плохо. Во-первых, «Кодекс» очень плохо сжимает контекст. Наверное, все знают, что у нейросетей есть так называемое «контекстное окно» — что-то вроде кратковременной памяти, где хранится ваш текущий разговор. И «Курсор», и «Кодекс» умеют заставлять сеть пересказывать себе ваш текущий разговор в более краткой форме, чтобы высвободить часть контекстного окна, когда оно приближается к пределу, но у «Кодекса» это получается плохо. Я часто вижу, как «Кодекс» принимает часть моих указаний, на которые он уже отвечал, за сигнал к действию и начинает выполнять задачи, которыми уже занимался. В «Курсоре» я такого не видел ни разу. Во-вторых, «Кодекс» плохо работает с планами. В «Курсоре» я частенько ставил большую задачу, он писал очень подробный план, показывал мне его, разбивал задачу на более мелкие, а потом очень долго воплощал план в жизнь, не останавливаясь, пока не доведёт дело до конца. У «Кодекса» есть режим планирования, но развёрнутые планы он не пишет, а тем планам, которые пишет, не всегда следует. Он может без видимой причины остановиться, не доделав задачу; в этом случае мне приходится его подпинывать словами «делай дальше» или «продолжай». В отпуске я очень много использую «Кодекс» — каждый день для развлечения пишу язык высокого уровня (https://bolknote.ru/all/yazyk-vysokogo-urovnya-dlya-mk-61/) для калькулятора «Электроника МК-61», и у меня постоянно в стеке команд вереница фраз «делай дальше и коммить». Они подставляются по одной, когда сеть останавливается. Выводы. «Кодекс» я и дальше планирую использовать для своих собственных задач. Всё-таки возможность тратить меньше денег на хобби — существенный плюс, даже с учётом возрастающих затрат на управление. К счастью, возрастают они несущественно. Бюджет «Курсора» буду тратить на работе. Во-первых, это позволит мне программировать для себя и компании в один и тот же день: раньше я разделял их, чтобы чётче понимать, сколько денег мне надо вернуть; во-вторых, затраты на управление для меня дороже в рабочее время, у меня очень высокая загрузка, и всё время дёргаться и смотреть, что там сделала сеть, для меня не вариант. image
Никогда бы не поверил, что такое бывает в принципе и тем более случится со мной. Случайно удалил свой аккаунт в «Телеграме», сказался сильный недосып из-за совпадения нескольких факторов. Как следствие поторопился, невнимательно прочитал, что написано в интерфейсе на сайте и удалил. Удалилось всё — история переписки с друзьями, рабочие чаты и группы. Восстановить, как я понимаю, нельзя. Пока сижу в полном раздрае, не могу поверить, что я своими руками это сделал.
Хаки в «Электронике МК-61» Очень интересно разбирать хаки, которые разные люди изобретали, чтобы уместить свои программы в 105 байт памяти калькулятора «Электроники МК-61». Их там действительно просто нереальное количество, они разной сложности, но один из них показателен в своей простоте. В коде программы «Рембо-III (https://lordbss.narod.ru/pmk53.html)» есть несколько похожи мест (я буду приводить код на языке «МК-Про (https://github.com/bolknote/MKPro)» для наглядности): fn lost() { halt("ЕГГОГ") } fn front_stop() { … if cells[7] < 0 { lost() } … } Если некое проверяемое значение меньше нуля (в двух остальных местах — меньше или равно нулю), то пишем на экране «ЕГГОГ» — слово «error», это одно из немногих слов, которое калькулятор способен отобразить, так как у него есть специальная логика для отображения некоторых букв. Оптимизатор умеет заменять halt("ЕГГОГ") одним опкодом, потому что это «встроенное» в калькулятор слово, но тут он пишет относительно много кода — проверка условия и вызов, тогда как проверку и вывод «еррора» можно объединить в один опкод — F √ или F lg в зависимости от условия. Если число строго меньше нуля, квадратный корень из него даст ту же ошибку, как и логарифм от числа, которое меньше или равно нулю. В «Рембо-III» это сокращает программу на четыре байта. Это существенно, когда у доступно так мало памяти.
Людно во Вьетнаме Мы во Вьетнаме в третий раз. Тут всегда было людно, но сейчас особенно. Гиды говорят, что из-за событий в Эмиратах сюда хлынул весь поток туристов, который не поехал туда. Говорят, Вьетнам к такому наплыву оказался не готов. В связи с этим наш огромный отель битком. Некоторых даже не поселили в их номера из-за овербукинга. На отельной встрече такие люди были даже в небольшой группе тех, кто прилетел позавчера вместе с нами в тот же отель. Погода в этот сезон сошла с ума: вдруг начались дожди, хотя для этой местности это необычно в конце мая. Одно радует — всегда тепло и иногда выходит солнышко. Говорят, прогнозу тут верить не надо. И это радует, потому что в прогнозе ничего хорошего. Зато-о-о, зато! Прошла голова. Я только на второй день понял, что она у меня не болит. Видимо, действительно сказывался сильный стресс на работе в последнее время. Развлекаюсь написанием транслятора (https://bolknote.ru/all/yazyk-vysokogo-urovnya-dlya-mk-61/). Сложная задача, мне очень нравится придумывать всякие оптимизации, а нейросетка быстро их пробует — ничем не ограниченный полёт фантазии, очень здо́рово! Записались на пару экскурсий. Тут всё самое интересное далеко, так что выбрали то, что поближе: обезьяны, аквапарк, аттракционы, плавание в маске — достаточно традиционно. Ну и конечно, несмотря на дождь, всё же тут тепло, беззаботно, рядом море, бассейны и очень вкусно кормят. Надеюсь прийти в норму.
Язык высокого уровня для «МК-61» Я тут довольно большой проект начал — язык высокого уровня для программируемого калькулятора «Электроника МК-61». В прошлом я с ним немного сталкивался и даже писал десять лет назад «Песню о пиве» для него (https://bolknote.ru/all/4418/). Программирую вайбкодингом, разумеется, лучшими нейросетями из доступных — «Опусом 4.8» и «ГПТ 5.5». Вручную это проект на годы, без сеток я бы его даже не начинал. Основная сложность — скромные возможности. На программу выделено всего 105 байт и несколько регистров, которыми можно оперировать, поэтому все лучшие программы написаны просто с нереальным количеством хаков (https://sergeanvarov.github.io/russian/mk61/Недокументированные%20возможности%20ПМК%20МК-61.html), использующих как универсальные вещи (вроде возвратно-ориентированного программирования), так и специфические вещи, основанные на аппаратных особенностях и багах и багах калькулятора. image Калькулятор «Электроника МК-61» по версии сети «Нанабанана-2» Ядро языка уже давно написано и даже пережило несколько рефакторингов, но до конца ещё далеко. Я перевёл на него несколько существующих кодовых бриллиантов, чтобы разобраться с применёнными там приёмами оптимизации и моему транслятору до таких вершин ещё далеко. Сейчас я, например, разбираюсь с упаковкой нескольких переменных в один регистр. Идея простая, но позволяет иногда экономить очень много: если у нас есть три переменные и каждая принимает значение от нуля до десяти, то можно хранить их в одном регистре поразрядно от «00.0» до «99.9». Так, например, переписывается в текущем синтаксисе игра «Охота на лис (https://monatkodenis.blogspot.com/2014/01/blog-post.html)» из блога Дениса Монатко: program FoxHuntMK61 { field: board(0..9, 0..9) state { cell: coord(field) foxes: coord_list(field, 9) = random_unique() bearing: counter 0..9 = 0 } loop { cell = read() if cell in foxes { found_fox() } scan_from_cell() show("--", cell:02, "--", bearing) } fn found_fox() { show(-20) } fn scan_from_cell() { bearing = line_count(foxes, cell) } } Это одна из более чем двадцати примеров, где оптимизатор справляется лучше или на уровне опытного программиста на этом калькуляторе.
Отпуск начался Ну всё, дожил до отпуска. Осталось его пережить. Вылетали из России вечером, прилетели во Вьетнам утром, но вьетнамским утром, по России мы прибыли в два часа ночи. Сидели мы на местах с увеличенным пространством для ног, что в моём случае оказалось минусом — я очень плохо сплю в самолётах, как правило упираюсь лбом в следующее сиденье и дремлю, а тут этого сиденья впереди просто не было. Во Вьетнаме пасмурно и дождь. Такое мы видели и на родине. Правда, тепло — около 30°, в Казани сейчас, наверное, вдвое холоднее. Очень хочется спать, но негде — номер ещё не готов.
ИИ и системное администрирование Вокруг программирования с помощью нейросетей так много шума, что кажется, будто остальные айтишные профессии остаются в стороне: будто в их жизни ничего не меняется и не поменяется. Разумеется, это не так. Я уже как-то описывал (https://bolknote.ru/all/ii-a-gde-zhe-kolenka/) случай, когда полторы-две недели занимался решением одной практической задачи: нужно было устанавливать и запускать на нескольких серверах мой пучок скриптов на Пайтоне для проверки различных гипотез. Тогда я обошёлся без автоматизации — просто потому, что нейросеть выполняла мои хотелки с такой скоростью, что автоматизация оказалась мне не нужна. Тем более что в нестандартных ситуациях я не ограничен интерфейсом выбранного решения: в моём распоряжении голая командная строка, пиши что хочешь. Выглядит это не очень промышленно, но не надо думать, что никто не исследует тему того, каким образом можно было бы хотя бы частично заменить системного администратора искусственным интеллектом. На скриншоте — одна из первых ласточек: Линукс от «Селектела» со встроенным «системным администратором»; в его качестве выступает нейросеть «Квен 3.5» с весьма скромными по нынешним временам характеристиками. Она превращает задачу пользователя в команды в консоли сервера. Интерфейс пока аскетичный, но и задачи полностью заменить администратора пока нет: каждая команда требует анализа специалистом и подтверждения. В таком режиме от администратора не требуется знать хитрые ключи командной строки или нетривиальную последовательность действий — всё это за него уже может делать машина. У нас один из сотрудников, занимающихся системным администрированием, в настоящий момент гоняет это решение на изолированной виртуалке. Не для рабочих задач, разумеется, а чтобы понять, куда ветер дует. image
Книги: «Космонавт — мотоциклетный мастер» У меня есть немного странная особенность: есть ряд книг и фильмов, которые я смотрел в детстве и которые мне страсть как хочется разыскать. Как правило, я помню там одну-две сцены или какой-то момент, что благодаря нейросетям позволило мне со временем пройти почти весь список фильмов. А вот книги поддаются нейросетям хуже: кажется, я так и не смог найти ни одной книжки с их помощью. Но тут спасибо читателям: один из них помог расколоть ( один из самых крепких орешков — книгу «Космонавт — мотоциклетный мастер». Книжку я купил, получил и с удовольствием прочитал дочке. Я почему-то не ожидал, что ей понравится, но она осталась в полном восторге. Удивительно, что я помню куда больше, чем ожидал: вспомнились почти все иллюстрации и довольно большая часть рассказов. Надо же, столько времени прошло, а это всё ещё в какой-то степени хранится в моей памяти. После полного прочтения выяснилась немного печальная штука: я думал, что один из рассказов, которые я помню, должен оказаться в этой книге, но, как оказалось, я искал не одну книгу, а две. Книжка детская, а рассказ был о том, что не всегда нужно говорить правду. Я помню, что папа объясняет это ребёнку на следующем примере. Когда мама была беременная, она не всегда была красивая. Но когда она спрашивала папу красивая ли она, папа иногда говорил ей неправду. В общем, теперь ищу эту книгу. Может быть кто-то из читателей её читал и вспомнит, либо какая-нибудь нейросеть мне со временем поможет.
Дочка и соревнования У дочки на этой неделе расстройство — в первый раз пришла на соревнованиях первой, но медаль не дали. Плыла два раза, двумя стилями — на спине и кролем. На спине заняла второе место, а кролем пришла первой, но оказалось, что заплыв был разбит на два, и она в тройку не вошла. Зато проплыла на разряд, но и тут фиаско — в этот раз не было каких-то нужных судей, которые имеют право присваивать разряд, и разряд тоже не дали. Горько поплакала, даже поход в любимый ресторан не до конца скрасил день. На следующий день обиды уже забылись, но я что-то эту ситуацию отпустить пока не могу: мне было плохо от её слёз и я до сих пор переживаю. Понимаю, что это тоже важный жизненный урок, но как-то от этого не легче. Но были на этой неделе и радостные события. Во-первых, дочка сдала экзамен на десятый кю по айкидо. Она только недавно начала заниматься, это её первый пояс. Во-вторых, фактически закончила третий класс. Нам уже неофициально дали её табель — вышла ударницей. Очень переживала, что не перейдёт в следующий класс. Где её так напугали — непонятно. Учёба кончится, улетим в отпуск. Я уже живу только этой идеей. Голова нескончаемо болит каждый день уже которую неделю. Надеюсь, от стресса, а не от чего-то более серьёзного. Болит не очень сильно, но зато постоянно. image Дочкина медаль и художественный беспорядок на её столе
Manchester Baby Мне кажется, нейросети потенциально могут породить такое явление: зачем искать и скачивать программу, если проще её написать? Когда-то мы копили всё скачанное, потому что качать было долго. Сейчас я не храню ничего, что можно скачать повторно. Вполне возможно, скоро так же будет и с программами. Я уже начал лениться. Я тут недавно писал про «компьютерную шею (https://bolknote.ru/all/kompyuternaya-sheya/)» в фильме про Швейка 1957 года, а сегодня прочитал (https://www.opennet.ru/opennews/art.shtml?num=65486) про эмулятор компьютера 1948 года — Манчестерской малой экспериментальной машины. Я о ней никогда не слышал и не то, чтобы это что-то меняло в моём восприятии фильма про Швейка, но стало интересно — что там вообще можно было на ней запрограммировать в 1948 году. Я знаю только о компьютерах Конрада Цузе (https://bolknote.ru/all/3501/) того же времени, на этом мои познания заканчиваются, но о его работе никто и не знал — война помешала, а тут что-то более мейнстримовое. Эмулятор из прочитанной мной статьи идёт в наборе с целой кучей других и обещает качаться больше недели, поэтому я нашёл другой. Я сильно не утруждался, первым мне попался экземпляр для ДОСа, но поскольку я недавно как раз запускал у себя ДОС, то решил, что он меня вполне устроит. Оказалось, что устройство ввода компьютера того времени не вполне совместимо с моим терпением, тыкаться в эмуляторе ДОСа быстро наскучило. И вот тут проявилась та лень, о которой я пишу: вместо того, чтобы поискать новый эмулятор, я просто попросил нейросеть адаптировать мне то что есть для моей операционной системы. Нейросетка справилась одной левой — я сел позаниматься своими вещами, а когда переключился обратно, у меня уже запускался готовый эмулятор (https://github.com/bolknote/madm-sdl2). image Программа, выводящая слово «BOLK»
Manchester Baby: что за компьютер Вчера я писал (https://bolknote.ru/all/manchester-baby/) про Манчестерскую малую экспериментальную машину по прозвищу «Малышка», но не написал, что этот компьютер из себя представлял. Если бы вы встретили его в какой-то из комнат какого-нибудь заброшенного НИИ, вряд ли поняли бы, что это компьютер: несмотря на свои не впечатляющие сейчас характеристики (память — 32 32-битных слова, производительность — 830 инструкций в секунду), он занимал несколько шкафов и весил одну тонну. Машина была разработана в качестве исследовательского прототипа для проверки концепции цифровой памяти с использованием электронно-лучевой трубки, вероятно, поэтому в рабочем состоянии не сохранилась, но в Музее науки и промышленности в Манчестере есть работающая копия. Машина запустила первую в мире сохранённую программу примерно в 11:00 утра в понедельник, 21 июня 1948 года. Программа вычисляла наибольший собственный делитель числа 218, перебирая все числа от 218 в обратном порядке. Программа (https://www.curation.cs.manchester.ac.uk/computer50/www.computer50.org/mark1/firstprog.html) состояла из семнадцати инструкций и выполнялась около 52 минут, пока не выдала правильный ответ — 131 072. За это время компьютер выполнил около 3,5 миллиона операций. Машина использовала четыре электронно-лучевые трубки — три в качестве памяти и одну для отображения. Трубка отображения могла показать содержимое одной из трёх областей памяти — основную, аккумулятор «А» и трубку управления, где хранились адрес текущей команды и сама выполняемая инструкция. Назначение почти всех трубок самоочевидно, а «аккумулятор» должен быть знаком каждому, кто знает слово «ассемблер». Ввод был устроен тоже просто: 32 кнопки, позволяющие выставить 32 бита в текущем слове, кнопки прохода по памяти, «запуск», переключение режима дисплея и так далее. Таким образом оператор последовательно передвигался по всем необходимым ячейкам памяти, вводя переключателями 32 бита в нужную ячейку, — так осуществлялся ввод программы. image Реплика (https://hoc.lgfl.org.uk/s2_manchester_baby.html) Манчестерской малой экспериментальной машины
Программирование на двух GPU image Две карты Nvidia H100, вынутые из нашего сервера На этой неделе мы наконец получили NVLink, чтобы связать наши два видеоускорителя собственной шиной. Это нужно, чтобы запускать модели большего размера, занимающие обе карты: на шине общего назначения скорости не те, и модели еле ворочаются. Развернуть и потрогать пока успели только две модели: - deepseek-ai/DeepSeek-V4-Flash - QuantTrio/MiniMax-M2.7-AWQ Обе модели урезанные, разумеется, но даже так они еле умещаются на картах, параллельность никакая. Обе модели должны быть мощнее, чем те, которые удалось запустить (https://bolknote.ru/all/programmirovanie-na-odnoy-gpu/) на одной карте; по крайней мере, синтетика даёт ожидаемые результаты, но на практике не всё так однозначно. Ребятам больше всех пока понравился «Квен-Кодер» из предыдущего эксперимента, хотя я уверен, что они ещё просто не распробовали новые модели. Надо понимать, что серьёзным облачным моделям эти модели в подмётки не годятся: они мощнее примерно на порядок, и оборудование, которое позволяет их запустить, стоит совершенно других денег. Для серьёзного программирования такие локальные модели непригодны, но в каких-то вещах их приспособить всё же удаётся. Сейчас мы заняты тем, что пытаемся очертить для себя круг задач, где они облегчают, а не усложняют жизнь. Поделиться мне пока ещё нечем, так как эксперименты в самом разгаре.
Клим С. Иногда я жалею, что время ЖЖ прошло. Когда-то это была очень популярная площадка для блогов — настолько популярная, что я знал немало людей, которые ставили знак равенства между ЖЖ и блогами вообще. Жалею не из-за какой-то абстрактной ностальгии, а потому что там часто можно было встретить по-настоящему интересных людей. Они, конечно, тоже тонули в общей массе авторов, но, к счастью, ЖЖ почему-то манил оригинальных пишущих людей, и найти их там было куда проще, чем в нынешнем интернете. Именно там я познакомился со многими, с кем потом годами приятельствовал. Позже жизнь нас пораскидала, но с кем-то я вижусь до сих пор. Правда, за их творческой жизнью теперь, к сожалению, почти негде наблюдать. ЖЖ, умерев, не породил себе наследников — разве что зеркальные лабиринты площадок для микроформатов, бесконечно переотражающие одни и те же тренды в разных лицах. Одного из таких приятелей, назовём его Клим С., я вижу почти каждый день. Иногда встречаю на улице, иногда вижу из окна кабинета — он работает со мной в одном здании. Когда-то мне нравилось читать его небольшие тексты, пропитанные здоровым хармсовским безумием. Теперь читать негде, ЖЖ окуклился, но с Климом я всякий раз здороваюсь, когда вижу его на улице — он вечно куда-то спешит, передвигаясь размашистым шагом. А недавно он отпустил длинные волосы и стал мне очень сильно кого-то напоминать. Сегодня, когда я его в очередной раз увидел из окна, понял кого — персонажа игры «Тир На Ног (https://en.wikipedia.org/wiki/Tir_Na_Nog_(video_game))» для «Спектрума», в которую очень любил играть один из моих друзей. Меня игра особо не цепляла, но мой друг, приходя в гости, частенько за неё садился. Походка того персонажа и его развивающиеся волосы, как мне кажется, здорово напоминают моего приятеля Клима С. Пользуясь доступностью нейросетей, я, пока ехал домой, накидал небольшой виджет, в котором вы можете наблюдать персонажа этой игры, так похожего на моего приятеля Клима С., большого оригинала в душе, который теперь отлично маскируется под обычного офисного работника.
Память во сне Интересная штука — серийные сны, если задуматься. Не знаю, как они официально называются, это я их так называю, но мне, как, наверное, и многим, иногда снятся сны с продолжением. Причём продолжение может присниться через несколько лет после первых серий. Сегодня мне снился сон-продолжение, где моя карьера пошла совершенно по другому пути. Например, в нём я после переезда из Москвы ещё раз пришёл поработать в «Яндекс». После пробуждения я мало что помню: сон выветрился за какие-то минуты. При этом я успел запомнить, что многие события были прямым продолжением сна, который снился мне в последний раз около десятилетия назад. Вот у меня и возник вопрос — а где, собственно, хранится память о всех этих событиях между моими снами? Для моей «дневной личности» она недостижима — просыпаясь, я почти сразу забываю о том, что произошло. Получается, что во все я действую от лица личности с каким-то другим опытом, память которой хранится отдельно от моей, да ещё и сохраняется длительное время. Попахивает шизофренией.
Ева говорит image Ева во время отдыха в ОАЭ, октябрь 2025 Обсуждаем нового тьютора в школе, которую взяли на место уволившейся прежней: — Дочка, как тебе новый тьютор? — Мне она не очень нравится… — А что такое?.. — Ну понимаешь, она не очень-то вовлечённая. Если Э. И. (это учитель) или Г. И. (прежний тьютор) кидаешь мячик своих эмоций, они кидают его в ответ, а этот тьютор как будто шагает в сторону и мячик падает на пол… февраль 2026 ⁂ В школе заболела учительница, её заменяет другая, спрашиваю Еву нравится ли ей новая учительница: — Нет, папочка, не очень!.. — Почему? — Ну знаешь, она слишком строгая, всё контролирует, как будто каждый наш шаг — решающий шаг в будущее! 21.02.2026 ⁂ Мы в тот день летали в Стамбул, прилетели очень поздно, пока ехали в отель, Ева уснула. Стараемся её растормошить, так как через несколько минут нам выходить: — Ева, ну смотри какая красота! Какое красивое здание! — Угу, — нехотя открывая один глаз и щурясь, — тут самое время появиться кроватке, но что-то я её не вижу! 21.02.2026 ⁂ Выходит из детской с целой кучей лошадок, вырезанных из бумаги и раскрашенных: — Уф, папочка, я так устала их вырезать! Я, знаю, что она опять это скорее всего делала не за столом, а на полу, поэтому и чувствует себя уставшей: — Может тебе это надо было не на полу делать, давай, может, я тебе стул отрегулирую, если неудобно? — Нет, я сейчас ничего этого не хочу, хочу чтобы ты посмотрел и восхитился! 28.03.2026 ⁂ Выходные, я у себя в кабинете, наблюдаю за экспериментом (https://bolknote.ru/all/ii-sobrano-na-kolenke/) на дашборде, дочка выходит из комнаты, видит меня: — Пап, а есть что-нибудь вкусненькое? — Да, там яблоки есть и мандарины… Поворачивается в сторону кухонного стола, видит её любимые булочки с маком: — Не-е-т, пожалуй, я возьму булочки. Будут и́х уминать и причитать как я с них толстею… 12.04.2026 ⁂ У Евы выскочил очередной прыщ на носу, жена: — Опять в тебя кто-то влюбился! Дочка смеётся: — В меня уже столько мальчиков втюрилось, сколько у нас в классе нет! 29.04.2026 ⁂ Ева сегодня плохо себя чувствует, легла в моём кабинете и пробует уснуть: — Пап, включи какую-нибудь свою лекцию, может я усну? Через несколько минут: — Надо было записать голос моего учителя по философии, у него очень спокойный голос, даже чрезмерно, я всегда на его уроках отлично спала! 11.05.2026
Забавные часы: утечка памяти Обратил внимание, что мои «Забавные часы (https://bolknote.ru/all/zabavnye-chasy/)» иногда как будто вылетают: дважды по утрам я приходил, а на терминале — «Андроид», без часов. Я сразу заподозрил, что моё приложение «течёт»: накапливает ресурсы и не освобождает их, пока система его не прибивает из-за нехватки памяти. Нейросеть мне на слово не поверила — я использовал ГПТ-5.5. Видимо, она уже начала подозревать, что человека не всегда стоит слушать. Упёрлась — и всё: «Нет, — говорит, — у тебя не утечки, это всё кеши приложения». Никаких моих приказов не слушалась. Пришлось запустить замеры на четыре часа и построить график потребления памяти. Только после этого она начала разбираться в проблеме. Неожиданно оказалось, что причина — в компоненте работы с камерой фреймворка «Флаттер», на котором построено это приложение. Камера используется для мониторинга освещённости: в моём устройстве нет соответствующего датчика, поэтому приложение переключает фон, определяя уровень света с помощью камеры. Как мы ни крутили этот модуль, за два дня работы с камерой ресурсы всё равно выедались подчистую. Пришлось заменить компонент на нативный для «Андроида». image График потребления памяти за четыре часа