«МК-61s»: новые команды
Меня тут один читатель натолкнул на идею рассказать вот о чём.
Что можно было бы дёшево улучшить
Под улучшением я тут подразумеваю
Ретроконсоль «
Позже в одном из эмуляторов появился и ответ на вопрос, заданный в начале этой заметки.
Позже Сергей Фролов провёл эксперимент и, как результат, в некоторые эмуляторы были добавлены семь дополнительных ячеек памяти и дополнительный регистр f. Казалось бы, не бог весть что, но не в том случае, когда доступно всего 105 ячеек.
Я разобрал очень много оптимизаций для своего другого проекта — языка высокого уровня
Так что семь байт и ещё один регистр — это очень большое подспорье.
В «
Дополнено 22 августа: оказывается, эксперимент провёл не Сергей Фролов. Статью я напишу позже. Мне сегодня сделали операцию, отхожу, ещё и горло заболело
«0W-Tube»: 0.7.3
Неделю назад выпустил новую версию «
На таких видеохостингах валяется куча всякого мусора, но бывают и фильмы. Чтобы отличить одно от другого, я оставляю в результатах только полнометражные видеофайлы.
Не буду утверждать, что PeerTube даёт
Бег Наруто
В 2019 году в интернете многие обсуждали знаменитый вирусный мем «Бег Наруто к Зоне 51». Его автор предложил толпе людей собраться и штурмовать секретную военную базу США, передвигаясь с помощью «бега Наруто» (наклонившись вперёд и вытянув руки назад), чтобы «увернуться от пуль» и увидеть инопланетян.
Думаю, многие тогда впервые узнали об этом персонаже, одноимённом сериале, а также о «беге Наруто». Манга, кстати, выпускалась с 1999 года. Мангу я не читал, да и вообще не поклонник этого жанра, поэтому не знаю, был ли в ней такой способ бега, но подозреваю, что был: вряд ли его придумали специально для сериала.
А вчера мы пересматривали в который раз фильм «Куда приводят мечты» с чудесным Робином Уильямсом, и я внезапно понял, что в одном из моментов его персонаж Крис Нильсен бежит «бегом Наруто». Но загвоздка в том, что фильм вышел за год до выхода манги.
Вот я сижу и думаю: есть ли шанс, что создатели «Наруто» опирались на этот фильм, или всё объясняется проще и у такого способа бега есть
«МК-61s»: новый экран
Дошёл сегодня новый экран для ретроконсоли «
Купил WEH001602AGPP5N00100: у него есть оба режима — более простой
Сегодня экран от него доехал до меня, но не заработал — не подаёт никаких признаков жизни. Мы попробовали отладить его дистанционно, я даже в одном месте припаял другое питание, но всё тщетно.
Он, судя по статьям, вообще довольно проблемное устройство, на «Хабре» есть несколько статей, ему посвящённых. Мы их с нейросетью проштудировали и заранее подготовили прошивку с обходом всех известных проблем. Жалко не помогло. Впрочем, он может оказаться просто неисправным. Чтобы проверить, нужна «Ардуинка», а у меня её нету.
Отправил экран обратно, тому же сокоманднику, который мне контакты паял, у него всё есть, посмотрим, жив ли экран или просто не подходит.
Кормушка для улиток
Давно хотели с дочкой нарисовать контейнер, чтобы кормить наших ахатин,
В эти выходные попробовали, но слишком сложно оказалось. Я модели и не делал никогда, а дочка не рисовала их очень давно — в прошлый раз это было ещё в самой первой школе.
В итоге я вспомнил, что несколько месяцев назад делал трёхмерные модели при помощи нейросети, был удачный опыт. С тех пор столько времени прошло, наверняка сейчас они ещё лучше это делают!
Нейросеть не просто справилась, а сделала даже красивее, чем у нас вышло — точно по размеру, со скруглёнными углами, отверстиями и даже оптимизацией модели под принтер!
«Sarcophagus»: многопользовательский режим
Дочка всё хотела присоединиться ко мне в «Саркофагусе» — играла сначала рядом на своём ноутбуке, а потом стала проситься ко мне в игру. Ну что мне, жалко что ли? Два дня работы нейросети и два вечера тестирования и появилась вполне рабочая версия многопользовательской игры. Двухпользовательской, если быть точным.
Играть можно только в паре и только в локальной сети. Второй игрок именуется «призраком» (поэтому он такой белый) и входит в чужой мир только с разрешения хозяина. «Призрак» может делать то же, что и основной игрок, но взаимодействовать между собой, по сути, не могут — проходят друг сквозь друга и не разговаривают.
Чтобы подключиться нужно запустить две копии на разных устройствах, одному из игроку загрузить мир, а второму — дождаться обнаружения «астральной связи», установить которую можно нажатием клавиши «J».
Сизифов английский
«Дуолинго» сегодня прислало уведомление о том, что я знаю двадцать шесть
Для меня настоящая загадка, почему так вольготно себя чувствуют люди с сотней иностранных слов в голове. Может, это
Как будто над бессознательным распознаванием языка включается
И вот мне это очень помогает в профессиональной деятельности, но мешает в быту. На отдыхе за границей такая скрупулёзность избыточна, но отключать я её не умею и слишком много трачу на анализ того что же мне говорят и как ответить точнее.
Распознаватель «Тессеракт»
При помощи нейросети протестировал пятую версию «Тессеракта» — проекта с открытым исходным кодом для распознавания текста. Тестировал на двух скачанных книжках, текст которых был переведён в картинки и искусственно зашумлён.
Мы до сих пор используем четвёртую версию, и у меня была надежда, что в пятой версии режим rus+eng, в котором одновременно распознаются русский и английский тексты, работает не так отвратительно, как в предыдущей версии.
Надежда не оправдалась. «Пятёрка» по качеству в этом режиме даже уступает «четвёрке», хотя во всех режимах работает значительно быстрее.
«МК-61s»: класси́к
Когда я только присоединился к проекту разработки ретроконсоли «
Позже оказалось, что только экранов может быть три разновидности, одна из которых даже имеет графический режим. Чтобы посмотреть как всё на нём смотрится, мне пришлось сделать его эмуляцию, которая транслирует видео ретроконсоли в приложение, запущенное у меня на ноуте.
К сожалению это не даёт понимание как в точности будет выглядеть изображение на реальном экране. А это мешает мне всерьёз заняться шрифтами графического режима — я совсем не уверен, что в жизни всё будет так же хорошо, как на моём виртуальном экране.
И вот, наконец, ко мне едет образец с графическим экраном, плюс заказанный графический двухстрочный экран для той консоли, которая у меня на руках — хочу побаловаться с графическим режимом и там тоже.
«Sarcophagus»: доделки
Дочка в выходные иногда приходила ко мне в кабинет посмотреть, как я прохожу игру «Саркофагус»: проверить, везде ли всё переведено на русский и нет ли
Сначала ей было лишь немного любопытно, но когда я начал прокапываться вниз, а потом ещё и строить себе жилище из скрафченных блоков, семя слабенького интереса упало на благодатную почву,
Сегодня она принесла ко мне свой ноутбук и попросила поставить ей «ту игру, где из блоков строить можно». Поставил, только в исходниках
Пока я играл, дочка тоже времени не теряла: разровняла себе площадку под будущий дом и попробовала сделать бассейн из природного озерца, но разлила воду, потому что случайно снесла одну из стенок.
Игру я потихоньку дополировываю. Поправил всякие мелочи,
Пироги с черёмухой
Пока дочка была у моих родителей в Лениногорске, мне пришла идея, навеянная увиденным недавно черёмуховым деревом: попросить маму показать Еве, как печь пироги с черёмухой.
Получилась бы такая передача семейной традиции.
К сожалению, свежую черёмуху найти довольно сложно, поэтому я заказал сушёную на одном
Вышло, если честно, так себе — примерно как пирог с «Полифепаном», есть такой чёрный сорбент. Тесто получилось вкусным, а начинка — сухой и не особенно аппетитной.
Думаю, испечь хороший пирог из сушёной черёмухи вполне возможно, но начинку нужно готовить
Игра «Sarcophagus»
В десятые годы Дима Смирнов, известный на заре интернета блогер, увлёкся игровым дизайном. В тот момент, насколько я помню, он выпустил несколько карточных игр и пару компьютерных.
Тогда я почти перестал его читать: игровой дизайн мне был неинтересен. Тем не менее иногда я всё же заглядывал к нему в блог. Он человек талантливый, кроме того, мы
В 2019 году он выпустил игру «Саркофагус». Мне очень хотелось поиграть: понравилась идея, но, к сожалению, не вышло. Игра на английском, а моего уровня и сейчас не хватает, чтобы играть в неё комфортно. За прошедшие годы я сделал две попытки, но быстро грустнел от обилия незнакомых слов.
Я вообще мало во что играю, иногда паузы длятся годами, поэтому не то чтобы я сильно страдал от невозможности в неё поиграть. Но недавно подумал: почему бы не перевести её на русский при помощи нейросетей?
Попутно пришлось поправить ещё несколько багов. Наверное, нашёл пока не все, но не скажу, что это
Сама игра — симулятор жизни бессмертного чувака, который ходит по подземельям, населённым разными тварями, сражается с ними, собирает всякое, из чего можно крафтить различные предметы.
Я не так далеко прошёл, но по скриншотам на сайте игры понятно, что дальнейшая перспектива — крепкое хозяйство: огородик,
Подробного описания у игры нет, но так и задумано. Смысл как раз в том, чтобы искать, экспериментировать и выяснять как всё работает.
Если хотите поиграть, локализованную версию с исправлением багов можно скачать из моего репозитория, там же есть небольшое описание на двух языках.
0W-Tube: история и скорость
Несколько дней дал себе отдохнуть от вайбкодинга. Занятие слишком увлекательное: в последнее время я
Сегодня токены возобновились, поэтому я продолжил работу сразу по четырём проектам. Первый из них — «
Скорость меняется в настройках воспроизведения, которые поглотили кнопку зеркалирования, а история доступна по жесту смахивания.
На «Андроиде ТВ» история вызывается и скрывается клавишами «вниз» и «вверх» соответственно. Появившиеся в этой версии настройки воспроизведения доступны через кнопку «≡» («меню»).
Из малозаметных изменений: портировал из утилиты yt-dlp различные особенности работы с видеохостингами, которые в основной код этой утилиты пока не попали. По моей просьбе нейросеть прошерстила предложенные исправления и побочные ветки и добавила нам всё полезное.
Видеонаблюдение: ускорение
Очень понравилось, каким получился проект «Видеонаблюдение». Я написал собственное приложение, которое опрашивает домофоны, установленные в нашем дворе, и распознаёт лица. Если приложение узнаёт человека, оно автоматически открывает соответствующий домофон.
Проблема пока одна — время реакции достигает нескольких секунд. Основная загвоздка в том, что устройству тяжело одновременно обрабатывать несколько видеопотоков. Можно использовать альтернативный вариант: получать с каждой камеры отдельные снимки. Такая возможность есть, но изображения обновляются всего раз в секунду. В итоге, пока устройство накопит несколько кадров, чтобы исключить ложноположительные срабатывания, проходит несколько секунд.
Мне пришла в голову идея разделить камеры на два периметра — внешний и внутренний. Обычно человек проходит их последовательно: сначала попадает во двор через калитку внешнего периметра, а затем подходит к подъездной двери.
Поскольку у нас сквозной подъезд, калитки внешнего периметра естественным образом делятся на две группы: каждая группа соответствует одному из двух подъездных домофонов. В большинстве случаев сценарий выглядит именно так: человек заходит во двор через калитку и направляется к ближайшей подъездной двери.
Новая версия «Видеонаблюдения» теперь работает так: когда человек со знакомым лицом проходит через одну из внешних калиток, программа на три минуты запускает видеопоток с соответствующей камеры в подъезде, не забывая получать картинки и с других камер (вдруг придёт ещё
Я ещё не испытал эту схему, но ожидаю, что время прохода двери в подъезд должно сильно сократиться.
Человек и вайбкодинг
Но даже мемы, на мой взгляд, уже не успевают за развитием нейросетей. Многие из них выглядят откровенно нелепо: ситуация меняется настолько быстро, что мемы устаревают почти сразу, выставляя профаном тех, кто продолжает их распространять.
Особенно показательна ситуация с вайбкодингом. В феврале этого года, как я
Тут, кстати, тоже есть неочевидный момент: программисты (которых больше) и тимлиды (которых меньше)
А так как программистов больше, именно они формируют наиболее распространённый взгляд отрасли на вайбкодинг. По крайней мере, именно так это выглядит
Это, вкупе с неглубоким погружением в предмет, рождает огромное количество дремучих страхов, которые кочуют из статьи в статью, подогреваемые эффектом толпы.
Например, уже невыносимо смотреть, как люди устанавливают себе
Пресловутые «техдолг» и «архитектура» — туда же. Чем нас вообще пугают техдолг и кривая архитектура? Тем, что человеку придётся долго в этом разбираться, а потом ещё дольше всё исправлять. Но сеть не устаёт, не нервничает, просматривает код и программирует со скоростью, которую человеку уже не догнать. И создают столько же техдолга, как средний программист, а может и меньше — сейчас некоторые сети уже находятся на синьорском уровне.
Разумеется, за сетью пока должен стоять нормальный тимлид. Пока — так. Но обвязки постепенно движутся к тому, чтобы сети сами организовывали свою работу. И здесь они довольно забавно повторяют человеческую эволюцию. Не в том порядке, но всё же: сначала у них рос «мозг», потом они освоили разделение труда, а теперь начинают общаться друг с другом на равных. Буквально несколько дней назад я наблюдал, как у меня в чате начали общаться два агента, работающие над одним проектом в разных вкладках одной и той же обвязки.
В общем, если вы всё ещё боитесь вайбкодинга, попробуйте придумать себе такую задачу, решение которой убедило бы вас, что вайбкодинг сравнялся по качеству с кодом, написанным живыми программистами. Потом оплатите любую подписку на одну из топовых моделей и попробуйте
Бабушкино свидетельство о рождении
Выкладываю второй документ, который привёз из поездки в Лениногорск в эти выходные, — свидетельство о рождении Клавдии Фёдоровны Старостиной, папиной мамы. Именно боевой путь её отца, пропавшего без вести в самом начале Великой Отечественной войны, я пытаюсь пока безуспешно проследить с помощью нейросети.
Свидетельство, по всей видимости, выдано повторно — об этом свидетельствует приписка в правом верхнем углу. Возможно, это связано с тем, что дом её родителей, как мне
Свидетельство о браке Мироновых
В эти выходные ездили в Лениногорск за дочкой. Она гостила у дедушки с бабушкой — моих родителей, — но уже успела соскучиться по дому. Приехали туда вчера вечером, а сегодня после обеда отправились обратно: хотелось успеть вернуться засветло,
Пока мы были там, мама, зная, что я собираю всё, что осталось от старших родственников, передала мне два документа, которые нашла среди семейных бумаг. Второй покажу позже, а первый — свидетельство о браке родителей моей мамы. Честно говоря, я даже не ожидал, что такие документы у нас сохранились.
Крупный почерк на свидетельстве принадлежит бабушке — Татьяне Степановне. Видимо записан
Судя по всему, после смерти дедушки этот документ использовали как лист для заметок.
Дверь куда-то
В прошлые выходные ездили с другом на необитаемые острова. На одном из них нашли вот такую дверь. Поставили её вертикально, чтобы сфотографировать. Судя по ощущениям, весит она килограммов пятьдесят.
Берег там постоянно подмывает, и за десятилетия его размыло очень сильно. Вероятно, дверь упала вместе
Я успел её сфотографировать, пока она не отправилась в металлолом — уж очень колоритно выглядит: кованая, клёпаная.
Говорят, на этом острове
Видеонаблюдение: что вышло
Вчера писал, как пытался превратить бывший платёжный терминал, который стоит у меня на столе, в систему видеомониторинга с распознаванием лиц. Забегая вперёд — всё получилось: от момента, когда я начинаю смотреть в камеру, до открытия двери проходит около трёх секунд. Это вполне комфортно.
Вчера вечером, когда я вернулся домой, решил взять запись моей утренней попытки открыть дверь лицом и скормить её нейросети внутри терминала, чтобы посмотреть, насколько быстро она меня узнает. К моему удивлению, это произошло почти моментально.
Оказалось, что приложение уже работало, просто очень медленно — пришлось бы торчать у камеры примерно полминуты, прежде чем опрос камер дошёл бы до меня и распознал лицо.
То есть проблема была в том, что приложение очень медленно обходит камеры.
Причин оказалось две.
Первая проблема решилась легко: датчика освещения в терминале нет, поэтому я использовал в этом качестве камеру, чтобы переключать тему часов с тёмной на светлую в зависимости от уровня освещённости. Постоянное использование камеры создавало серьёзную нагрузку. Я просто сделал эту функцию отключаемой — не так уж она мне и нужна.
Заодно снизил расход памяти. Часы выводятся случайными шрифтами, чтобы было интереснее, и раньше все 1500 шрифтов регистрировались при запуске, занимая память. Теперь это место переделано: загружаются случайные сто шрифтов, которые перевыбираются каждые пять минут.
Со второй причиной было посложнее, но способ нашёлся. Вместо видеопотоков теперь забираются отдельные кадры несколько раз в секунду: интерфейс домофона предоставляет такую возможность. А вместо анализа разницы между кадрами теперь измеряется изменение освещённости.
При таких условиях даже довольно хиленькое оборудование терминала заработало как надо. Попробую ещё снизить время обработки, но три секунды на распознавание — уже хороший результат.
Видеонаблюдение
Возможно, помните, как я приспособил купленный на «Авито» платёжный терминал под настольные часы. Поскольку сейчас я много времени провожу в кабинете, решил встроить туда ещё и систему видеонаблюдения, чтобы было удобно открывать домофоны со всех сторон дома.
Поскольку от часов отказываться я не планирую, домофонное приложение вызывается тройным стуком — задействуется встроенный акселерометр. У меня давно уже готово такое же приложение для ноутбука: мы зареверсили официальное приложение домофона. Но пользоваться им на ноутбуке оказалось не слишком удобно — открыть дверь пальцем гораздо проще, поэтому на платёжном терминале оно пришлось как нельзя кстати.
Кроме того, поскольку в платёжном терминале есть нейросетка для распознавания лиц, у меня родилась идея непрерывно мониторить все камеры и, если кадры существенно отличаются, запускать эту сеть, чтобы она распознавала всех членов нашей семьи и открывала нам дверь без ключа.
Разобраться, как вызывать эту сеть из приложения, оказалось несложно, но практического результата пока нет. Думаю, это связано с тем, что камера терминала, перед которой я крутил головой, чтобы модель научилась меня узнавать, и камеры домофона сильно различаются по характеристикам. Видимо, придётся