Это сайт — моя персональная записная книжка. Интересна мне, по большей части, история, своя жизнь и немного программирование.

Позднее Ctrl + ↑

«Элиза»

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

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

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

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

Пример разговора с «Элизой»

«Элиза» очень неплохо притворяется человеком. На известном тесте Тьюринга она опережает «ЧатГПТ 3.5» — 27% против 14%. Возможно в это сложно поверить, но общение с «ЧатГПТ» и в самом деле мало напоминает общение с живыми людьми, я удивлён, что вообще хоть кто-то обманывается.

Самое же удивительное для меня, что 27% набирает код, занимающий чуть больше 400 строк!

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

The Golden Horde и Сrasher Warezzz BBS

Случайно открыл пифос Пандоры. Посидел над источниками на тему казанских электронных досок (BBS) и оказалось, что они были у очень многих казанских фидошников, среди которых у меня довольно много знакомых. Написал нескольким и потонул в потоке воспоминаний.

Заодно устроил перепись казанских BBS, всего пока получилось 65 штук.

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

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

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

Модем родом из 90-х — Datatronics Discovery 2400CM, справа внизу он же, сфотографированный на мои часы Casio WQV-3, картинка в оригинальном разрешении

Пока тема для меня свежа, я напишу ещё о нескольких казанских BBS.

Ещё одной электронной доской владел И. Б. (адрес в Фидо: 2:5049/113.15) в начале 2000-х. Его доска носила название, которое он точно не помнит. Что-то вроде Crashed Warezzz или Crasher Warezzz и проработала полгода-год.

Доска принимала пользователей с 21⁰⁰ до 3⁰⁰ ночи, именно в это время можно было дозвониться к нему домой и получить доступ к контенту, который он выкладывал — софт и книжки. Рекламой свой BBS он особо не занимался, разве что иногда упоминал о ней на сисопках, которые было по пятницам на Чёрном Озере — одном из известных мест общения фидошников того времени.

Другой мой знакомый, П. И. (2:5049/7) был владельцем The Golden Horde BBS в середине 90-х. В то время в ЦИВТ КГУ был приобретён модем для работы с UUCP-почтой через «Релком», и вскоре начались поиски других точек для подключения.

Сначала был найден открытый X.25 шлюз в Казани, позже подключились к «Фидонету», где использовался пакетный режим связи с периодическими созвонами для обмена накопленными данными. В промежутках модем работал в автоответчике и запускал BBS, если не звонил фидошный мейлер. Компьютер, куда дозванивлись пользователи, стоял в здании ЦИВТ КГУ, в комнате 201.

На BBS выкладывались актуальные программы, а для рекламы часто добавлялись файлы с ASCII-артом в архивы. Пользователи, обмениваясь программами, распространяли с ними реквизиты BBS. Также существовал список BBS, который распространялся через Фидо. Фидо и BBS были тесно связаны: почти все BBS имели фидо-ноды.

Забыть наперегонки

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

Pulse BBS

Оказалось, что один из моих старых знакомых, Р. Х. (адрес в Фидо: 2:5049/46.21) когда-то управлял BBS в Казани — это были электронные доски объявлений, которые существовали до широкого распространения интернета в том виде, в котором мы его знаем. BBS позволяли подключаться к сети через телефонную линию с помощью модема. Пользователи могли обмениваться файлами, читать сообщения и общаться в чатах.

Я никогда не видел этих досок вживую — они почти исчезли, когда я только переехал в Казань. В моём родном городе их, похоже, не было вообще. Однако в те годы, когда мы обменивались софтом на дискетах, на некоторых из них можно было увидеть заставки BBS, выполненные в ASCII-графике.

Я немного расспросил его о тех временах — ведь это часть истории, и мне было интересно её зафиксировать. Вот что он рассказал.

Заставка Pulse BBS не сохранилась, но вам пример как могли оформляться заставки досок в те времена

В 1996 году, когда ему было 15 лет, он настроил свою собственную электронную доску с помощью популярной в те годы программы — «Tornado BBS» и назвал её «Pulse».

Программа «Tornado» позволяла создавать интерфейсы с использованием ASCII-графики, организовывать разделы для обмена файлами и даже делать чаты. Мой знакомый покупал CD-диски с софтом и утилитами, которые потом размещал на своей BBS.

Его доска работала преимущественно ночью — с 19⁰⁰ до 9⁰⁰, когда телефонная линия не была занята. Это время он оставлял для пользователей. Он активно рекламировал свою BBS на других досках, благодаря этому у него часто было много посетителей. Когда он спал, из его комнаты нередко раздавался характерный звук подключения по модему — это значит на BBS зашёл пользователь. Одновременное подключение было невозможно — для этого нужен был пул из нескольких телефонных номеров.

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

MyHeritage → «Фамилио»

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

Спасибо читателям, подсказали. Есть другой способ — скачать клиентское приложение «Family Tree Builder», залогиниться там, а потом экспортировать дерево оттуда. Это сработало.

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

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

Приложение «Family Tree Builder» с открытым в нём моим деревом

DoomPDF

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

Но «Дум», запущенный внутри PDF-файла, меня чертовски удивил! Не то, чтобы я не знал, что это возможно — в конце-концов, PDF сам по себе программный файл (там внутри язык программирования PostScript), но я как-то даже и не думал о такой возможности.

Вы попробуйте, работает даже внутри браузера!

Правда, в данном случае PostScript почти не использовался. Всё дело в том, что внутри PDF есть возможность использовать ещё и JavaScript. Причём, в случае Adobe Acrobat, доступны, например, такие, сомнительные для PDF возможности, как 3Д-графика или HTTP-запросы.

В просмотрщиках PDF современных браузеров поддержка JavaScript тоже есть, правда она сильно ограничена по функционалу. Тем не менее, для запуска «Дума» хватило и этого.

Чтобы запустить «Дум» внутри PDF, использовался старый Emscripten, который компилирует код на Си в asm.js (это такое подмножество JavaScript), вместо более привычного WebAssembly. Но этого недостаточно — нужно было придумать, как принимать ввод с клавиатуры и отображать графику. Это оказалось не таким уж и простым. К счастью, в браузерах PDF-движки поддерживают текстовые поля и кнопки, что и было использовано для ввода.

С графикой возникли следующие проблемы. Речь идет о разрешении 320×200 пикселей, что означает, что если бы использовались обычные текстовые поля для каждого пикселя, пришлось бы обновлять тысячи полей на каждый кадр. В общем, так бы вы никогда не поиграли в «Дум». Вместо этого автор решил использовать одно текстовое поле на каждую строку экрана и обновлять их с помощью ASCII-символов. Простой, но довольно эффективный способ, который дает в итоге монохромную картинку с шестью цветами. Конечно, такой способ тоже не даёт плавного рендера картинки, но играть всё равно довольно комфортно!

Стабильность ПО

Когда я слышу о том, что когда-то раньше писали простой, удобный софт без багов, мне всё время хочется узнать когда же были те благословенные времена. Вообще я учусь не встревать в дискуссии (хотя есть специальные площадки, где я выпускаю пар), но недавно, когда обсуждали то каким был прекрасным и совершенным пакет микрософтского «Офиса» в 90-е, пока его не испортили, я не выдержал.

Symantec Norton CrashGuard на компакт-диске и кусочек интерфейса; обратите внимание на необычную форму окна, это было время экспериментов

Пришлось напомнить собеседником насколько зависания и падения «Офиса» когда-то были обычным делом. Ситуация не улучшалась годами, что привело к выпуску фирмой «Симантек» продукта «Symantec Norton CrashGuard with AntiFreeze».

Это был платный инструмент, который за деньги исправлял базовые ошибки другого платного инструмента. Только вдумайтесь в это.

Понятно, что в России ни за тот ни за другой не платили, но в других странах было иначе.

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

Социальный интеллект и большие языковые модели

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

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

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

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

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

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

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

Прощай, MyHeritage

Я много лет пользовался сайтом myheritage.com, вёл там родовое дерево, которым когда-то активно занимался — у меня в нём 3866 персон. Разумеется, это не только и, наверное, не столько мои предки, но и боковые по отношению ко мне ветки. Кроме того, там масса фотографий с привязкой фотографируемых к дереву.

Перед Новым годом я, как и другие российские пользователи ресурса, получил письмо, что из-за санкций накопленные данные буду удалены 1 февраля 2025 года.

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

Возвращение плагина Pogoda​Status​Bar

У меня есть традиция — время от времени чинить мой старенький и порядком уже поднадоевший мне плагин для редактора «Саблайм 3». Плагин называется Pogoda​Status​Bar, потому что он когда-то показывал пробки и погоду с сервиса «Яндекс.Погоды».

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

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

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

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

Я уже с таким сталкивался. У «Саблайма» внутри две версии «Пайтона» — 3.3 и 3.8. Обе, в общем-то, уже старые. Мой плагин запускается с версией 3.3 и у меня никак не дойдут руки залезть в общий репозиторий плагинов и переписать для моего плагина версию «Пайтона».

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

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

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

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

С этим я опять поленился разбираться, вместо этого попытался отредактировать код прямо в архиве через консольный файловый менеджер mc. Неожиданно это сработало. Так я узнал, что ошибка была в том, что я использую вызов html.unescape, который появился только в «Пайтоне» 3.4. Пришлось заменить его на вполне устроивший меня в этом месте replace('"', '"') и всё заработало.

Код плагина, открытый через редактор консольного файлового менеджера

С Новым годом из 1950-х

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

Нежелательные контакты

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

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

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

«Читай в 12 ч ночи 31 декабря 1952 года»

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

На этот раз тут даже не открытка, а только конверт. Я думал, что он от одной из найденных открыток, но ни к одной из них он не подошёл.

Симфонионы и маркетинговые цифры

Коллаж из вырезки журнала «Всемірная иллюстрація къ рождественскимъ праздникамъ», №1507, 13 декабря 1897 года

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

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

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

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

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

Назад, в жизнь

Второй день нечеловеческими усилиями возвращаем режим в норму. Вчера встали в 8⁰⁰. Дочь, с трудом разлепив глаза, первым делом спросила — «папочка, а почему так темно?» и заплакала от предчувствия скорого конца каникул.

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

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

Ранее Ctrl + ↓