Новый пылесос

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

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

Ещё у него нет лидара, его заменяет набор камер. Из-за этого он гораздо тоньше и пролезает под диван, прежний туда не помещался.

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

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

Робот-пылесос круглой формы с чёрным корпусом и серебристой верхней панелью стоит на деревянном полу.

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

Приступ «гопникомании»

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

Исходный код оригинальной игры, по всей видимости, канул в лету, но мне когда-то повезло наткнуться на неоконченный порт этой игры под Линукс. С тех пор я ей иногда занимаюсь.

Пиксельный портрет мужчины в кепке с сигаретой и надписью «ГОПНИК-2», подзаголовками «ОКОРЕНИЕ», «УЛЬТУРНОЙ», «ТОЛИЦЫ» на тёмном фоне.
Заставка оригинальной игры, взятая из текстового файла описания

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

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

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

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

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

Колоризация бабушкиного фото

Хочу показать уникальное фото, оно у нас одно такое. На нём моя бабушка, Клавдия Фёдоровна, мама моего папы. Фотография, вероятнее всего делалась на доску почёта.

Уникальность его в том, что оно колоризовано в советское время, папа говорит, что скорее всего в ателье, судя по цветам — зелёнкой, марганцовкой и йодом видимо анилиновыми красителями (как меня поправили в комментариях).

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

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

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

Поход: нагрёбся

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

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

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

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

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

Зелёный внедорожник УАЗ с номером А777ВС 16 буксирует лодку на прицепе; на лодке сидит человек в камуфляже, рядом красный забор и деревья.

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

Дочка в новой школе

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

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

Очень радует, что для обратной связи не надо «записываться на приём» в неудобное время, как было в предыдущей школе: сами пишут, рассказывают, если есть спорные ситуации — улаживают и вводят в курс дела родителей.

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

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

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

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

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

Скриншот приложения с аватаром, надписью «Evolution Walking», меткой «Школа» и кнопкой «Включить режим Уроки»; справа — индикатор заряда 87%.

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

Мигают ли лампы

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

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

Для этого надо переключиться в режим, где можно настраивать характеристики камеры вручную (у меня это режим «Профи») и сильно уменьшить выдержку. Например, у меня на скриншоте выдержка установлена в 1/1250, на этой отметке очень хорошо видно мерцание светодиодной ленты, световое пятно которой я сфотографировал.

Скриншот интерфейса камеры Leica Authentic с настройками: ISO 12800, выдержка 1/1250, диафрагма F2.82, баланс белого 3600K, формат JPG, разрешение 12.5M.

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

Частота мерцания монитора

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

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

Причём частоты примерно до 85 Герц я различал, глядя на монитор, а при более высоких частотах приходилось хитрить — открывать на мониторе что-то большое и яркое и смотреть мимо него, боковым зрением.

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

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

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

FP8 и Nvidia A100

Недавно вышла новая модель Qwen3 с 80 миллиардами параметров. Мы её решили попробовать, но оказалось, что версия фреймоворка vllm, которую мы используем, с ним несовместима. Чтобы не экспериментировать на своём оборудовании, арендовали у «Селектела» две Nvidia A100. Хотели что-нибудь поновее, но всё расхватали.

Модель рассчитывали взять квантованную до FP8, такая есть в выпущенном наборе моделей. Нам она хорошо подходит — как раз уместится в память наших карт. Я рассчитываю, что 80 миллиардов с точностью восемь бит побьют предыдущие тридцать с вдвое большей точностью.

Но нас тут ждало разочарование — карты A100 тип FP8 не поддерживают, есть только эмуляция через FP16. Так как карты с FP8 всё равно пока арендовать не получится, выделили себе четыре A100 и поставили полную модель, без квантованния. Не совсем то, что хотелось, но всё равно полезно посмотреть как встанет и немного погонять по производительности.

В итоге, «завалить» модель одновременными соединениями не вышло (модели, которые мы крутили на одной или двух H100 заваливались), время ответа от нашего эталонного промпта получилось от 3,59 секунд до 8,74. Это очень быстро.

Скриншот вывода nvidia-smi: 4 GPU NVIDIA A100 80GB PCIe, драйвер 535.216.03, CUDA 12.2; загрузка 93–94%, память почти полная; процессы VLLM::Worker_TP0–TP3 по ~80330MiB на каждом.

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

Интересные липучки

Купил недавно себе найковскую куртку на межсезонье — и жена обратила внимание на то какие у неё интересные «липучки».

И правда, раньше таких не видел: сделаны не по принципу репейника, а скорее как «Лего» — мелкие пластиковые столбики входят между такими же столбиками на другой стороне.

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

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

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

«Дар мой»

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

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

Добавлено: я только обратил внимание, что в конце слова «дар» нет ера, то ли не поместился, то ли я погорячился с веками.

Ржавый болт с гайкой, лежащий на зелёной текстурированной поверхности рядом с круглым отверстием, заполненным рыхлым коричневым материалом.
Тёмная круглая печать с выгравированными буквами «ДОР» и «АНО» на зелёном текстурированном фоне.

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

Мой блог

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

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

Никаких дополнительных смыслов тогда в этом слове не было и я в них не нуждаюсь тоже. У меня нет планов сделать себе таким образом имя или как-то монетизироваться.

У меня совершенно другие цели — это моя публичная внешняя память. В этом качестве мой сайт мне очень часто пригождается.

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

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

«Боинг» и дискеты

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

А тут, в чате с мемасиками от бывших коллег, увидел адаптер, который выпускала компания «Сони». Он позволяет работать с карточками «Мемори Стик» через флоповод. Чего бы «Боингу» на такие не перейти? На «Ебее» они до сих пор продаются, причём есть и конкурентные решения — например, что-то похожее выпускала «Фуджифильм».

Интересно, что в адаптер, кроме «Мемори Стика», вставляются ещё две батарейки-таблетки CR2016 — ведь карточке нужно питание, а взять его больше неоткуда. Их ёмкости хватает примерно на 16 часов чтения или 12 часов записи.

Адаптер Sony Memory Stick/Floppy Disk Adaptor MSAC-FD2M: чёрный корпус с жёлтой надписью, логотипом Memory Stick и оранжевыми полосами, маркировка INSERT.
Адаптер, который выпускала компания «Сони» — MSAC-FD2M

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

Деньги начала эры интернета

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

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

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

Лицевая и оборотная стороны подарочной карты Яндекс.Деньги номиналом 5000 рублей с номером 1064-37570, паролем и кодом проверки на деревянном фоне.

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

«Мышастик»: отдал ноду на время

Давно ничего не писал про «мышастик». Напомню: это меш-сеть поверх протокола LoRa, которая позволяет обмениваться текстовыми сообщениями даже в условиях сильно зашумленного канала.

Признаться, я мало слежу за этим проектом, но всё же вижу, что количество нод постепенно растёт. В качестве поддержки я какое-то время назад купил ноду с экраном на «электронной бумаге». Была мысль помочь покрыть центр, где связность почти отсутствует, но толку оказалось немного. Моя нода постоянно работала в офисе, однако — поскольку это всего лишь второй этаж — её сигнал мало кто ловил.

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

Сегодня отдал на время свою «бумажную» ноду, чтобы она поработала одним из таких мостов — будет работать в одном из высотных зданий КФУ в центре, оно на горке, удобное место.

Рука держит чёрное устройство с антенной и экраном рядом с белым зарядным кабелем с европейской вилкой на фоне серой плитки.

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

Расширяем кафе

Хорошие новости: слева от нас освободилось большое помещение — 80 м², где больше десяти лет находился пункт выдачи «Вайлдберриз». Мы уцепились за этот вариант, потому что в кафе ходит очень много народу, и площади явно не хватает. В общем, будем расширяться, пока есть шанс.

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

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

Редактирование фото нейросетями

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

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

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

Вот, например, первая же попытка наскоро улучшить фотографию Шигирского идола, сделанную в 2010 году в Екатеринбургском Музее истории и археологии Урала. Тогда мы ездили туда с другими блогерами по приглашению «Росатома» — посетить Белоярскую АЭС.

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

Два высоких деревянных резных артефакта с геометрическими узорами, выставленные в стеклянных витринах на фоне тёмно-зелёной стены музея.
Слева — Шигирский идол, снятый в музее Екатеринбурга в 2010-м году, справа — его обработка

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

99 бутылок: JOSS

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

85. JOSS (JOHNNIAC Open Shop System) — язык, созданный Клиффордом Шоу в RAND Corporation в 1963 году для машины JOHNNIAC.

Именно в этом языке впервые появились условные выражения, диапазоны, функции и компактный синтаксис ветвлений, позволявший записывать целые решения в одну строку. Из «Джосса» выросли TELCOMP, STRINGCOMP, CAL, MUMPS, «Фокал» и «Бейсик» — целое поколение языков, унаследовавших его простоту и интерактивность.

Что в «Джоссе» необычного? Из тех языков, с которыми наиболее вероятно столкнуться в реальной жизни, он, разумеется, напоминает какой-нибудь простенький «Бейсик», но при этом содержит конструкции, которые редко встречаются в современных языках программирования.

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

Во-вторых, интересно устроена запись функций. Такого я, кажется, нигде больше не видел: в моём коде функция b(n) принимает один аргумент и возвращает значение в зависимости от того, какая проверка сработает.

В-третьих, в языке используется постфиксная запись операторов — for и if ставятся после выражения. Похожие конструкции существуют в «Перле» — не самом популярном сегодня, но всё ещё используемом языке.

Ну и мелочи: перевод строки обозначается подчёркиванием (_), умножение — интерпунктом (·), «звёздочка» при этом служит для экспоненты, «неравно» записывается отдельным символом (≠). Таких деталей в «Джоссе» много — перечислять можно долго.

* "99 Bottles of Beer," written in JOSS on Oct 16, 2025
* by Evgeny Stepanishchev (https://bolknote.ru)

Let b(n)=[n=1:" bottle"; n≠1:" bottles"].

1.1  Set n=99.
1.2  Do part 2 for i=n(-1)1.
1.3  Do part 3.
1.4  Stop.

2.1  Set j=i-1.
2.2  Type i, b(i), " of beer on the wall, ", i, b(i), " of beer.".
2.3  Type "Take one down and pass it around, no more bottles of beer on the wall." if j=0.
2.4  Type "Take one down and pass it around, ", j, b(j), " of beer on the wall." if j>0.
2.5  Type _.

3.1  Type "No more bottles of beer on the wall, no more bottles of beer.".
3.2  Type "Go to the store and buy some more, 99 bottles of beer on the wall.".

Go.

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

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

Текст песни «10 бутылок пива на стене» в терминале: отсчёт от 10 до 0, затем «пойти в магазин и купить ещё, 99 бутылок на стене»; внизу строка «bolck: JOSS $ _

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

Браузер ViolaWWW ожил

В 2017-м году я в своих раскопках в интернете наткнулся на браузер ViolaWWW. Он совершенно незаслуженно забыт, хотя обладал в своё время поразительными возможностями: имел встроенный язык программирования Cmm и собственную реализацию таблицы стилей! Это задолго до появления стандарта CSS!

Пожалуй он заслуживает быть вписанным в историю развития интернета!

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

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

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

За один рабочий день нейросеть портировала этот брайзер под «МакОС» и перевела 32-битное приложение в 64 бита!

Скриншот веб-страницы с заголовком «Editing Photos with Neural Networks» и текстом о редактировании фото нейросетями, включая пример улучшения фотографии Шигирского идола.

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

Наблюдение за вайбкодингом

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

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

Теперь — по пунктам.

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

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

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

В-третьих, у меня сложилось субъективное ощущение, что в разные моменты времени одна и та же модель (у меня сейчас используется Claude 4.5) то «умнеет», то «глупеет» в течение дня. Возможно, это какая-то экономия ресурсов при перегрузке запросами от пользователей, а может, просто случайность.

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

Мы сейчас продолжаем переводить приложение на 64 бита (не все куски кода переведены), поэтому я попросил сделать команду make, которая подсвечивает ошибки усечения типа (ключ -Wshorten-64-to-32). После своих исправлений она запускает эту команду и правит оставшиеся ошибки.

Скриншот IDE Cursor с открытым файлом box.c на C, терминалом с ошибкой EXC_BAD_ACCESS и чатом ИИ-ассистента, анализирующего падение программы в функции putHashEntry_str.
Нейросеть в процессе правки падения приложения — она умеет использовать отладчик, чтобы смотреть где упало

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

«Мышастик»: MeshPocket

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

Чатится я собираюсь с женой, отдам ей T-Deck — у неё «Айфон», с установкой приложения там сложности, а у этого устройства собственная клавиатура.

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

Белый автоматизированный прибор с жёлтой рамкой, логотипом «HELTEC AUTOMATION» вверху и надписью «Powered» внизу, на бежевом фоне.

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

Привет из прошлой жизни

Вчера разбирали старые бумаги, нашли привет из прошлой жизни — когда мы жили в Москве, а я работал в «Яндексе», ещё в старом офисе — на Таганке. В конверте каталог компании Lush, 2008-го года, как видно.

Белый конверт с логотипом «Яндекс» и рукописными надписями «Галинке» и «Степанову», внутри — новогодний каталог 2008 года, на деревянном столе.

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

Продолжаю возиться с «Виолой»

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

Чтобы не нарушать аутентичность, решил править только ошибки — их там нашлось и ещё найдётся немало — и доработать работу с сетью. Добавил менеджер соединений, поддержку HTTPS и транслитерацию кодировок: иначе пришлось бы заменять шрифты, а это в мои планы не входит. Кроме того, сделал забавную вещь — поддержку протокола «Веб-архива»: если сайт не резолвится, браузер ищет его в «Веб-архиве» через их API и переходит туда.

Если желаете тоже прикоснуться к истории, проект лежит на «Гитхабе», можно попробовать себе его собрать. Только сразу скажу — я собираю под «МакОС», под другие платформы без переделки собрать не получится.

Скриншот веб-страницы Viola Home Page в браузере ViolaWWW: заголовок, описание гипермедийного инструмента Viola и ссылки на документацию, демо и скриншоты.

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

STG: таблицы стилей в «Виоле»

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

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

Оказалось — показалось, в браузере было реализовано даже меньше.

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

Стилевые таблицы подключаются тегом LINK и имеют расширение .stg, хотя это не обязательно, но в спецификации так:

<link rel="style" href="HTML_sodium.stg">

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

Селекторов всего два — можно выбрать тег или стиль тега (это работает немного не так как в CSS):

(BODY,SECTION
     BGColor=green
     FGColor=red
     (P)
     (KBD
          BDColor=black
          border=1
     )
)

Что тут написано? Что в тегах BODY и SECTION будет зелёный фон и красный цвет шрифта, а кроме того эти атрибуты унаследуют теги P и KBD, причём у последнего будет ещё и чёрный бордюр.

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

Ещё есть стилизованный браузером элементы, некие встроенные стили (например, WARNING, NOTE и так далее), которые можно навешивать на произвольные теги при помощи атрибута STYLE. На картинке пример того как выглядит встроенный стиль WARNING: оранжевый бордюр и картинка.

Скриншот редактора кода с HTML-файлом html_5.html, содержащим заголовок STYLE и параграф с классом WARNING, отображающий предупреждение с иконкой восклицательного знака.

К тегам, помеченным атрибутом STYLE тоже можно применять собственные стили:

(P
    BGColor=white
    FGColor=black
    {STYLE "WARNING"
        FGColor=red
        fontSlant=italic
    }
)

У тега P здесь белый фон и чёрный цвет шрифта, а если у него есть атрибут STYLE, равный WARNING, то добавляются ещё два стиля, определяющие красный шрифт наклонного начертания.

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

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

Скриншот ViolaWWW с заголовком «A simple stylesheets test»: красный фон H1, синие и зелёные блоки адресов, текст с разными стилями.
Тестовый пример с сайта «Виолы», открытый собранным мною браузером

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

Транслит в «Виоле»

Пытаюсь улучшить транслит в браузере «Виола», который я продолжаю ковырять. Напомню: чтобы не менять шрифты, я сделал транслитерацию для языков, буквы которых отсутствуют в кодировке ISO-8859-1 — именно в ней всё работает по умолчанию.

Кодировка сейчас обрабатывается в три прохода.

На первом шаге я определяю кодировку страницы: смотрю её в заголовке Content-Type или в x-archive-guessed-charset — такой заголовок использует «Веб-архив».
Если кодировка отличается от UTF-8, выполняю перекодирование с помощью библиотеки iconv.

На втором шаге перегоняю текст в транслит при помощи ICU, для русских букв использую таблицу BGN, для остальным — то, что там работает по-умолчанию.

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

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

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

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

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

Светофор: идея

У меня уже лет пятнадцать крутится в голове одна идея, до которой всё никак не доходили руки. Но недавно мне прислали приглашение потестировать новую нейросеть для генерации видео — Sora 2. Я решил воспользоваться приглашением и, заодно, визуализировать эту старую задумку.

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

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

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

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

Вайбкодинг: как убить трёхчасовую работу

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

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

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

Когда пришёл, всё уже было готово, но я решил проверить перед коммитом — всё ли в порядке. Скомпилировал, запустил один из тестов… и всё развалилось. В сердцах пишу в чат с нейросеткой капсом: «ЧТО ТЫ НАДЕЛАЛ, ТЫ ВСЁ ИСПОРТИЛ». Понимаю, что бесполезно, но на меня так накатило, что куда-то надо было сбросить всю злость.

И сетка в чате пишет в режиме размышления: «понятно, пользователь чем-то сильно расстроен, видимо я что-то сделал не так» и одной командой безвозвратно удаляет всю многочасовую работу!

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

Скриншот браузера Viola: адрес gopher://gopher.floodgap.com/1/world и список ссылок на серверы Gopher, включая Floodgap Systems, Greatest hits и новые серверы.
Мы сейчас в аэропорту, летим в отпуск, интересно, что «гофер» открывается, а он работает через порт 70, обычно нестандартные порты не работают в аэропортах

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

Патч Бармина

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

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

Я решил посмотреть, нет ли в XPM тех же уязвимостей и, если они есть, — исправить.

Одна из уязвимостей, которую мы рассматривали, — запуск произвольных команд. Мы её, конечно, закрыли, но посмотрите, что нейросеть предложила в качестве теста на отсутствие уязвимости: запуск команды rm -rf /, которая, если бы сработала, удалила бы на диске всё, до чего у неё был бы доступ.

Массив тестовых данных для проверки обработки имён файлов, включая валидные случаи и попытки инъекции команд через символы ;, |, $(), `, &, >.

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

Скриптовый язык «Виолы»

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

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

Кстати, страница на скриншоте выглядит идеально, ровно как задумано. Такой её в современном браузере не посмотреть. Тут и анимация, и собственные виоловские стили, и кнопки, добавленные страницей — ещё одна интересная фича «Виолы».

Скриншот интерфейса браузера ViolaWWW Hypermedia Browser (V 3.3) с предупреждением о бета-версии, описанием функций поддержки HTML 3.0 и навигационными элементами.

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

Ева говорит

Небольшой список того, что записал за Евой. Мало записывать стал, ситуаций много, но я что-то их часто упускаю, а потом и не вспомнишь.

— Папа, а у тебя в детстве была мечта?
— Ну конечно, целый список, — клад найти или в космос полететь…
— И что, сбылось что-то?
— Конечно, клад нашёл, например!
— Клад, — это мы с мамой, да?
— Это очень хорошая версия, дочка, но я имел ввиду монеты…
29.08.2024

⁂

— Папа, а ты всё на свете видел?
— Дааа, — я своих мыслях, пишу программу, поэтому отвечаю на автомате.
— А как верблюды какают, тоже видел? — дочь, видимо поняла, что я её не слушаю.
— Чтоооо? — я, наконец, отвлёкся от кода на Пайтоне и в шоке переспрашиваю.
01.01.2025

⁂

С чувством:
— Папа, я вырасту художницей, певицей и… — пытается подобрать феминитив, неуверенно, — …игрицей-гитарицей, что ли?
09.01.2025

⁂

Я в кресле читаю книгу, рядом сидит дочка и, обнимая котика, разговаривает с ним:
— Вот скажи мне, котик…
— …в чём сила, — не могу удержаться, чтобы не продолжить, — думаешь, в мышцах? Вот и папа мой думает, что в мышцах, а я думаю, что… — размышляю как закончить…
— …в уме! — заканчивает дочь.
23.01.2025

⁂

На днях обсуждали с дочкой условную и безусловную любовь, утром, по дороге на стоянку:
— Мамочка, я тебя люблю больше, чем ты меня!
— Почему это?
— Потому что ты меня родила!
Пока мама ищет контраргументы, поворачивается ко мне:
— Папочка, я тебя больше люблю, чем ты меня!
— Почему?!
Ни секунды не задумываясь:
— Па-та-му-шта!
24.10.2025

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

Мой английский

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

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

Маленькая лодка с тентом плывёт по спокойному морю на фоне слоистых горных хребтов, уходящих в дымку; вдали видна ещё одна лодка, а в небе — птица.
Фотография из Омана, сделанная полдня назад. Это не рисунок, горы действительно так необыкновенно выглядели

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

Шахматы в «Виоле»

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

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

Скриншот веб-страницы «A Chess Board» с шахматной доской, где белые фигуры стоят на 1–2 рядах, чёрные — на 7–8, а на 4-м и 5-м рядах по одной пешке каждого цвета.

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

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

/* Show original URL when loading via Wayback Machine */
dispURL = docURL;
/* Rule: find "https://web.archive.org/web/", then drop until next '/' */
wbPrefix = "https://web.archive.org/web/";
wbAt = findPattern(dispURL, wbPrefix);

if (wbAt != -1) {
    wbAfter = wbAt + 1;
    wbRest = nthChar(dispURL, wbAfter, 999);
    wbSlash = findPattern(wbRest, "/");

    if (wbSlash != -1) {
        dispURL = nthChar(wbRest, wbSlash + 1, 999);
    }
}
mvw.doc.url("show", dispURL);

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

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

Как рождался CSS

Мне стало интересно: автор «Виолы» первым догадался отделить стилизацию элементов от структуры, или эта идея уже активно обсуждалась? Нашёл объёмное исследование о том, как зарождался CSS. Браузер «Виола» со своими собственными таблицами стилей там тоже упомянут.

Оказалось, что таблицы стилей как концепция гораздо старше самого веба. Ещё в конце 1970-х Брайан Рид из Университета Карнеги—Меллон разработал систему разметки «Скрайб». Она стала темой его докторской диссертации, защищённой в 1980 году, за которую в 1982-м Рид получил премию имени Грейс Мюррей Хоппер, присуждаемую Ассоциацией вычислительной техники (ACM).

Язык разметки описывал структуру документа — слова, строки, страницы, интервалы, заголовки, подстрочные примечания, нумерацию, оглавление и т. д. — по принципу, близкому к HTML. Далее специальный компилятор использовал базу стилей (Style Database), где хранились определения оформления — шрифты, поля, отступы и прочие параметры.

Сравнение разметки: ручные пометки, слова-разделители, escape-символы (@i, @b, @begin) для курсива, жирного, цитат.
Описание разметки «Скрайба», скриншот из руководства (октябрь 1980 года)

Позже, с появлением веба и браузеров, эта идея перекочевала и туда. До стандартизации CSS существовало множество предложений о том, каким должен быть синтаксис таблиц стилей в вебе, в найденном мной исследовании можно с ними ознакомиться.

Синтаксис «Виолы» был не самым продуманным, не был и единственным, но был одним из первых — он появился уже в 1993 году.

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

«Виола» и эпоха раннего интернета

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

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

На моём скриншоте две программы для «Виолы» от автора браузера.

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

Справа — пример того, как страница может вывести произвольную информацию на панель браузера с кнопками. В данном примере создаётся соединение с адресом pebble.berkeley.ora.com по порту 7777, и строится график чисел, получаемых из этого сокета. Такого адреса давно нет, чтобы пример заработал, я написал небольшой сервер на «Пайтоне» и перенаправил этот адрес на свою машину.

Скриншоты интерфейса ViolaWWW: слева — окно «doodle» с рисунком кота и фигур, справа — «Continuously Updating Field» с кодом скрипта monitorBar.v и заголовком в тулбаре.

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

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

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

netscape.security.PrivilegeManager.enablePrivilege('UniversalFileAccess')
netscape.security.PrivilegeManager.enablePrivilege("UniversalConnect")

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

В общем, думаю пока как всё сделать лучшим образом.

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

Что прикупить из нейросетей?

У меня постоянно спрашивают, сколько и за какие нейросети я плачу. На самом деле у меня немного платных сервисов — всего две подписки.

У меня оформлена самая дешёвая ($22,4 в месяц) подписка на ChatGPT, и то только из-за функции глубокого поиска. За эти деньги нейросеть может несколько раз (точно не помню, ни разу не упирался в лимит) очень тщательно, порой десятки минут, шерстить интернет с заданной вами целью, а затем кратко обобщить найденное.

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

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

Кроме того, у меня есть самая дешёвая ($20) подписка на «Курсор», чтобы программировать, но сейчас мне не хватает, я всё время докупаю токены. Планирую перейти на более дорогой тариф ($80), но, учитывая мои аппетиты, может и этого не хватить. Когда «Виола» надоест, вернусь обратно на самый дешёвый.

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

Сенсорный провод

Неожиданно всплыло воспоминание из далёкого детства.

Мне тогда было лет шесть, может, даже меньше. Мы жили у Мойкиных — снимали у них квартиру, пока они уехали «на Север» на заработки. В те годы в СССР там, в суровых северных краях, можно было скопить приличные деньги.

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

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

Папа и мне предложил попробовать — показал как касаться пальцем. Мама тут же всполошилась — не ударит ли током? Но папа возмутился и уверил её, что напряжение низкое и мне ничего не грозит.

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

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

← сюда туда →