ИСТОЧНИК:
Личная картотека автора блога
Очков В.Ф., Пухначев Ю.В. 128 советов начинающему программисту. – М., 1991.
СИТУАЦИЯ:
Общеизвестный факт: в операционной системе Windows нельзя создать папку или файл с именем CON (или con, Con). Существует легенда, будто Билл Гейтс в юные годы имел прозвище «con», что примерно соответствует нашему «ботаник» на современном молодежном сленге. И якобы компьютерный гуру, обиженный таким неуважением к своей персоне, технически исключил саму возможность напоминания об этом компрометирующем его факте из своей биографии.
Впрочем, это не более чем легенда. Специалисты знают, что имя CON относится к так называемым «зарезервированым DOS-овским именам» и к Гейтсу ни малейшего отношения не имеет. И все-таки, давайте поставим «шутейную», учебно-тренировочную задачу. Как обойти запрет и создать папку или файл с именем CON, утерев нос Биллу Гейтсу? Ну, хотя бы для того, чтобы показать: «У советских собственная гордость, на буржуев смотрим свысока!» Дополнительные ограничения: нельзя использовать сложные программные методы; время на выполнение задачи – 1 минута.
СИСТЕМНОЕ ПРОТИВОРЕЧИЕ:
Файл с именем con должен быть, чтобы показать Гейтсу «козью морду», и файла с таким именем быть не должно, поскольку операционная система этого не позволяет.
РЕШЕНИЕ:
Не будем лишать Читателя возможности попробовать самостоятельно решить эту задачку. Чтобы продемонстрировать, что такое решение возможно, автор специально создал пустую папку с именем CON, заархивировал её и выложил на «Яндекс.Народ»; скачать или просто взглянуть можно вот здесь: CОN.rar. Вопрос: как это стало возможным?
ИСПОЛЬЗОВАННЫЙ ПРИЕМ:
КОММЕНТАРИЙ:
Практического интереса решение нашей шуточной задачи вроде бы и не представляет. Однако использованный прием можно с успехом применить в системах защиты информации от несанкционированного доступа.
КАТЕГОРИЯ:
ТРИЗ в программировании
Не очень понял, какое все таки решени?
ОтветитьУдалитьStanislav, одну из букв в названии папки (C или О) достаточно написать не латиницей, а кириллицей. Или обе буквы.
Удалить