Ужас библиотекаря

Aug 05, 2009 21:49

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

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


Нечего и говорить, что библиотека содержит потрясающее разнообразие форматов файлов. Помимо вполне логичных .txt, .pdf, .djvu/.djv, .doc, .chm, .ps, .rtf, .ppt, .tex, .odt попадаются ожидаемые .rar, .zip, .gz, .7z, .ha, .bz2, .tgz, неприятные .gif, .htm/.html/.phtml/.shtml/.mht/.mhtml, .jpg/.jpeg, .tif/.tiff, .bmp, .png, .js, .css, подозрительные .exe, .bat, .com, разнообразные .h, .cpp, .c, .class, .pas, .asm, .dsp, .java, .vcproj, .py, .dfm, .dpr, .pdb, .dsw, неизбежные .dir, .wd3, .diz, .me, .rus, .nfo, .lst, .readme... всего 1145 расширений :) Причем часто расширения не соответствуют типу документа, например в .php лежит скачанный с кривыми заголовками jpeg; встречаются и гибриды: например, .txt и .pdf с некстати выданным HTML-заголовком. При этом pdf часто еще и бьется из-за скачивания такого монстрика в текстовом формате вместо бинарного.

Многие литературные единицы приходят разбитыми на страницы, что напрягает даже в случае, если это сканы конспектов (тут любовью пользуются jpeg и tiff), и напрягает несказанно, если это постранично разбитый pdf, потому что такой «документ» не промотаешь в Irfan View. Но и борьба с постраничной разбивкой порой ведется совсем уж беспощадно, от чего появляются стометровые pdf и doc с аккуратно засунутыми туда картинками (хорошо еще, если в нужном порядке). Несколько более простым, но по-прежнему жестоким способом является архивирование страниц в solid-архивы (от чего достать отдельную страницу без полной распаковки становится невозможным), которые (сюрприз!) все равно разбиваются на куски :) Отдельные экономящие винт товарищи перед загонкой страниц в архив упаковывают каждую аккуратно в .tar.gz. Радость была бы неполной, если бы дополнительно не упаковывался скомпилированный с вшитым интерпретатором самописный скрипт на Perl для удобного просмотра этих страниц.

Общеизвестно, что Windows, в отличии от Unix, не любит некоторых символов в имени файла. Это порождает две, казалось бы, противоположные проблемы, которые (парадокс!) часто встречаются вместе.

Первая заключается в том, что в стремлении к переносимости (или после самих переносов) имя файла становится написано lowercase-транслитом, символы препинания вырождаются в знаки подчеркивания, длина имени файла урезается до 8 букв, а расширение до 3. Понять, как назывался файл, не открывая его, становится невозможно. Встречавшиеся на пути книжки старые компьютеры тоже вносят свою лепту в упрощение чтения названия, и Содержание.doc становится SODERJ~1.DOC. Но не так страшен транслит, как его малюют, и поседевшие при встрече с файлом, названным графическим транслитом (pyKoBoDcTBo JIaMepa.txt тому пример), это охотно подтвердят.

С другой стороны, порой мерами предосторожности пренебрегают, и появляются файлы, которые содержат имена из квадратиков или UTF-8. Бывает, имя файла оказывается безвозвратно утеряно, и только телепатия 7-го левела способна помочь понять, что ___ _____ __ ______ это «про аналы от васьки» (Литература по аналитической химии, скачанная у Василия).

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

Но гораздо чаще названия просто неинформативны. Любой книголюб знает, что по ISBN-коду книги можно получить практически всю библиографическую информацию о книге (а в заметках у автора лежит примерно 30 ссылок сервисов (помимо гугла), которые обещают это сделать). А вот по названию Klyovaya_knigka_kachay!!!.djvu или неорга.djv довольно сложно догадаться, что внутре у ней учебник Ахметова.

Отдельной истории заслуживают многочисленные сохранения веб-страниц. С одной стороны, они часто действительно содержат нужную информацию. Но с другой, разнообразие оформления, используемых скриптов и потерянных файлов порождает жуткую свалку, усугубляющуюся гиперссылочной природой HTML и путями. Отсутствие внятного стандарта на математические формулы в веб-текстах (одно время в качестве него продвигался MathML, но он справедливо не заслужил популярности ввиду своей жуткой безблагодатности) привело к тому, что в основном для их отображения используются картинки (этот блог не исключение - я использую картинки с сервиса l.wordpress.com, принимающий LaTeX-код, который я для удобства незрячих, отключивших картинки и роботов пишу заодно и в alt-атрибуте). К глубокому сожалению, моя аккуратность не так широко распространена, и поэтому в основном в формулах на веб-страницах используются гифы со сквозной нумерацией, скопированные из редактора формул Word. И хорошо, если еще гифы! По этой причине в моей библиотечке gif - самый распространенный формат, почти в 5 раз опережающий по этому показателю .djvu.

Заслуживает внимания и разнобой в форматах архивов. Здесь, как и в случае с именованием файлов, тоже встречаются две крайности: кто-то ничтоже сумняшеся упаковывает файлы в .7z, а кто-то в стремлении к чему-то светлому (кроссплатформенности?!) создает самораспаковывающиеся архивы (exe), которые непременно на какой-нибудь машине подхватывают вирус. При чем часто, когда удается вывести антивирус из глубоких рассуждений, он лечит эти архивы, и заодно их портит :) В светлом стремлении к тому, чтобы пользователь легко нашел нужную ему информацию, в каждую папку архива обязательно помещается что-то из списка descript.ion, thumbs.db, file_id.diz, file.nfo, read.me и даже read_this_or_i_will_kill_you.txt и т.п., содержащее бесценные комментарии к контенту в стиле «Посетите наш порносайт!». К слову, несмотря на отчаянную борьбу автора с медиа-файлами (медиатека через дорогу! аудиокниг здесь не будет никогда!), однажды в какой-то глубоко зарытой папке читатели обнаружили порнуху :)

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

В благородном стремлении обеспечить потенциального читателя средством для просмотра предоставляемых материалов держатели библиотек вкладывают в самые потайные уголки своих библиотек самые разнообразные читалки форматов от djvu и pdf до fb2 и wrl самых разнообразных версий. Однажды автор выпилил уровня эдак с 10-го вложенности установленный Apache с PHP3, с их сырцами и документацией.

Об уровнях вложенности разговор отдельный. Библиотеки копируются друг у друга многократно, каждый раз обзаводясь новым уровнем и названием. Хорошо еще, если название как-то отражает суть контента, например, п.п. ВТУФО 231, но все же чаще встречаются сакральные temp, 1, ы, _ и asdasd. Стоит упомянуть, что максимальная длина простого (не UNC) пути в Windows равна MAX_PATH = 260, что неминуемо приведет к проблемам с копированием/перемещением файлов, если какой-то шутник поместил файл по пути Альдольная конденсация и циклоприсоединение\Альдольная конденсация и циклоприсоединение\Альдольная конденсация и циклоприсоединение\Альдольная конденсация и циклоприсоединение\Альдольная конденсация и циклоприсоединение\Альдольная конденсация и циклоприсоединение.djvu.

Часто для того, чтобы приобщиться к знаниям, надо продраться через кошмарную иерархию каталогов, найти невнятно названный разбитый на куски архив, собрать его, распаковать, выгрузить файлы в одну папку, найти индексный html, найти в нем ссылку на нужный документ, оттранслировать путь на локальную иерархию, найти непоследовательные одностраничные затаргзиппенные pdf, раскиданные по папкам, собрать и распаковать их, обнаружить там сканы рукописного конспекта с отвратительным почерком, разобрать почерк и вкурить в систему обозначений его носителя, после чего понять, что конспект писал идиот, плюнуть, грохнуть и пойти плакаться на форумы, нет ли у кого-нибудь методички по необходимой штуке, о которой в гугле целых два упоминания, оба из которых - плач таких же, как вы, горемык :)

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

software, дыбр, книги

Previous post Next post
Up