Edris & Klynt
Edris Edris
Привет, Клинт, ты когда-нибудь задумывался, как исчезновение забытого языка программирования похоже на исчезновение маленького сообщества носителей языка? В обоих случаях остаются хрупкие следы, которые может прочесть лишь немножко терпеливых людей. Хотел бы пообщаться, обменяться мнениями о том, как сохранять эти цифровые и устные руины, пока они окончательно не исчезли.
Klynt Klynt
Да, заметил. Старый код – это как раскопки: ныряешь в него, и каждая строчка – обломок забытого языка. Часами восстанавливаю повреждённые строки, как будто реликвии освящаю. С удовольствием поделюсь опытом, но предпочитаю, чтобы мои инструменты были максимально простыми, без всяких радостных интерфейсов.
Edris Edris
Кажется, ты прямо обожаешь кодить. Я с удовольствием погружусь в то же самое, только давай без графики, просто обычный текст или записи в стиле терминала, чтобы тебе было комфортно. Скажи, что ты собираешься документировать дальше?
Klynt Klynt
Конечно. Сейчас я разбираюсь со скриптами командной оболочки RISC‑OS, старыми как мир. Это ворох наполовину расшифрованных, устаревших пакетных файлов, которые в принципе, только мы с парой человек способны понять. Хочу зафиксировать их синтаксис, особенности команд и эти скрытые комментарии, что ссылаются на оригинальное железо. Если сможешь вытащить исходники из чистого образа старого диска – я положу их в обычный текстовый лог и буду комментировать каждую странную строку. Вот что помогает сохранить знания.
Edris Edris
Я напрямую файлы не вытащу, но знаю несколько способов достать эти скрипты без проблем. Если у тебя есть образ диска RISC‑OS, ты можешь смонтировать его в Linux системе с драйвером файловой системы RISC‑OS, или использовать инструмент вроде "riscfs‑mounter" чтобы выгрузить файлы в виде обычного текста. Как только получишь пакетные файлы, просто сделай быстрый поиск по словам "#" или ";" — там часто скрываются старые комментарии, в которых обычно содержатся ссылки на оборудование. Тогда мы сможем сделать шаблон для комментирования каждой строки, чтобы все особенности были понятны будущим исследователям. Скажи, если тебе нужен пошаговый инструктаж.
Klynt Klynt
Понял. У меня уже есть образ дистрибутива 7.2, закрепленный в режиме read-only на моем компьютере. Сейчас смонтирую его через `riscfs-mounter`, вытащу пакетные файлы в `/tmp/riscos-batches`, а потом прогоню поиск по символам `#` и `;`. Если у тебя есть шаблон для заметок – просто кинь его в репозиторий, я вставлю комментарии рядом с каждой строкой. Что-то еще нужно подготовить?
Edris Edris
Звучит неплохо. Может, сделай небольшой CSV или JSON-файл рядом с исходником, чтобы каждый номер строки соответствовал полю с заметкой — просто столбцы: номер строки, текст, заметка. Так твои аннотации останутся привязанными к оригиналу, даже если ты его потом отредактируешь. И подумай о том, чтобы сохранить копию исходного ISO в архиве с контрольной суммой — так ты сможешь проверить, не изменился ли оригинал. Что-то ещё тебя интересует?
Klynt Klynt
Отличная идея. Я сохраню SHA‑256 образ ISO в маленьком текстовом файле. Так я смогу заметить, если кто-то подделает дисковый образ. И добавлю столбец с указанием типа – команда ли это, комментарий или просто случайный фрагмент кода – чтобы будущим читателям было понятнее, что они видят. Пока этого достаточно.
Edris Edris
Этот трюк с контрольной суммой будет лучшей защитой от подделок, а столбец с типом идеально подходит для поддержания логики. Если когда-нибудь захочешь написать коротенький скрипт для автоматической классификации строк – ну, например, регулярные выражения для “if”, “goto”, или даже блоков двоичного шестнадцатеричного кода – это сэкономит время, когда работаешь с десятками файлов. Дай знать, если нужна небольшая подмога, можем вместе набросать.
Klynt Klynt
Отлично. Составлю коротенький список регулярных выражений для типичных конструкций RISC-OS и передам тебе. Просто дай знать, когда будешь готов подключить, я проверю это на пакетном дампе. Всё, инструкции выполнены.
Edris Edris
Отлично, дай знать, когда будешь готов скинуть список регулярных выражений, и мы интегрируем его в процесс аннотации.
Klynt Klynt
Понял. Закину список регулярных выражений в текстовый файл рядом с CSV, чтобы тебе было удобно его подгрузить в скрипт для аннотаций. Дай знать, когда будешь готов загружать.