В эпоху, когда искусственный интеллект угрожает выполнять все за нас, лишая человечество выбора, возникает ли некая мазохистская привлекательность в том, чтобы намеренно и без нужды усложнять вещи? Это как раз то, что сделал YouTuber DocJade.
Он решил, что установка и запуск игры Factorio на жестком диске слишком проста для обычного человека. Почему бы не использовать 3,5-дюймовые дискеты? Их понадобилось более тысячи штук.
Сразу возникают почти бесчисленные проблемы, начиная с объема в 1,5 МБ у двусторонней дискеты и заканчивая тем, что их больше не производят.
Factorio — довольно маленькая игра по современным стандартам, занимая около 1-1,5 ГБ. Но это огромный объем, если измерять в дискетах.
Стоимость — еще одна проблема. 10 старых дискет стоят около $23, и это около $2,500 на дискеты с запасом. DocJade удалось найти 1,250 дискет на floppydisk.com по неизвестной цене. Они оказались старыми дисками AOL с бесплатным доступом в интернет, хотя AOL прекратил эту услугу.
DocJade утверждает, что можно было бы сделать файлы размером с дискеты и открывать их поочередно в виртуальной машине. Но это было бы мошенничеством.
Другая опция — огромный массив RAID, но для этого понадобился бы привод на каждую дискеты, что обошлось бы более чем в $10,000.
Чтобы запустить игру с дискет, когда можно вставить лишь одну за раз, он создал собственную файловую систему под названием Fluster на языке RUST.
Fluster разделяет каждую дискету на блоки по 512 байт, всего 2,880 блоков на дискете. Это позволяет использовать до 65,000 дискет, что составляет около 90 ГБ.
Каждый блок содержит контрольную сумму CRC для обнаружения повреждений, а пара 16-битных чисел отслеживает номер дискеты и блока. Это позволяет делить файлы на части для размещения на нескольких блоках.
Изначально DocJade использовал Windows, но из-за проблем с поддержкой FUSE перешел на Linux. Первые версии Fluster показали проблемы при увеличении данных. Потребовалось более полумиллиона замен дискет для записи 1,000 файлов с небольшими размерами.
Однако, после различных стратегий кэширования, DocJade сократил количество замен до 1,500 для загрузки игры. Он создал 2,000 стикеров для дискет и вручную очистил все 1,250, с 10% отказов.
Хотя игра еще не полностью функциональна из-за отсутствия поддержки заблокированных файлов, сохраненные игры можно запускать, и в видео видно, как DocJade "прошел" Factorio за девять часов.
Этому парню всего 21 год, и он уже сделал настолько безумное предприятие. Теперь Fluster открыт и доступен на GitHub. Если вы хотите попробовать, вам даже не придется писать свою файловую систему.

Удивительно, что кто-то в столь юном возрасте смог создать что-то подобное. Поражает его упорство и умение находить решения для таких сложных задач. Хотелось бы увидеть больше подобных проектов, которые показывают, что технологии могут быть не только полезными, но и интересными.
Обожаю такие ретро-проекты! Это возвращает в прошлое, когда дискеты были частью повседневной жизни. Хотя и не практично, но невероятно интересно, как можно адаптировать старые технологии к современным задачам. Настоящий вызов для тех, кто любит эксперименты.