26 февраля 05 года


          Напоминаю, что в связи с катастрофической нерегулярностью выпусков - интересующиеся могут подписаться. Адрес е-почты - внизу странички, форма - произвольная (мало у меня читателей, автоматику заводить дороже чем руками обрабатывать).
          Желающие прочитать про устройство, при помощи котрого был получен снимок луны из прошлого номера - таки нашлись. Поэтому - рассказываю.
          Немного теории. Наверное, многие в детстве изобретали "подзорные трубы" из попавших в руки линзочек от дверных глазков и разбитых очков. Простейший (но не лучший) вариант - сильная "отрицательная" линза в качестве окуляра, слабая (длиннофокусная) линза в качестве объектива, расстояние между линзами (для бесконечно удаленного объекта) равно разности фокусных расстояний линз, увеличение - отношению фокусных расстояний. Изображение в окуляре "прямое", не перевернутое, но качество картинки, как и возможности по увеличению поля зрения, довольно скромные. Чаще применяется вариант с двумя "положительными" линзами, опять же - более сильная как окуляр, расстояние между линзами - сумма фокусных, увеличение - отношение фокусных. Переворот картинки в биноклях и подобных приборах обычно делается специальной призмой (отсюда "кривой" внешний вид бинокля, если смотреть на его "половинку" - трубу для одного глаза).
          Те, кто делал подобные трубы "из двух линзочек" знают, что при расположении окуляра вплотную к глазу, видимый глазом угол изображения определяется диаметром объектива (входной линзы) и расстоянием до объектива же, то есть обычно весьма мал, либо требует светосильной (и дорогой) передней линзы. Однако, разрисовав ход лучей (см. рис. ниже) и взаимное расположение объектива, окуляра и зрачка глаза (объектив создает "в воздухе" изображение, которое мы "разглядываем" сквозь окуляр, при этом в силу прямолинейности хода лучей в глаз попадают только те лучи из объектива, что благополучно миновали апертуру окуляра и зрачка), можно убедиться, что при расположении окуляра на некотором расстоянии от зрачка, можно добиться угла зрения, практически не зависящего от светосилы объектива, и определяемого в основном светосилой (отношением диаметра линзы к её фокусному расстоянию) окуляра, правда, без учета конечного диаметра зрачка глаза (чем больше диаметр зрачка, тем сильнее дополнительно ограничится угол зрения системы). А это существенно облегчает дело - найти светосильный короткофокусный объектив куда проще, чем светосильный длиннофокусный - а низкая светосила длиннофокусного объектива не ограничит поле зрения, а лишь уменьшит яркость картинки.
ход лучей (под картинкой - большая)


          Теперь перейдем к практике. Использование "линзочек", увы, допустимо лишь в системах типа "глазок дверной совецкий", где качество изображения может быть весьма плохим - этого никто не заметит. Уже в дешевейшей "веб-камере" с картинкой 320х240 стоит минимум трёхлинзовый объектив. В "подзорной трубе" простые линзочки картинку дают весьма мрачную по качеству, особенно с краю, поэтому "линзочки" мы с негодованием отвергаем, и используем фотографические объективы от зеркальных камер - в фотографических объективах основные виды искажений в занчительной мере скомпенсированы.
          Начнем с самого неоднозначного - с окуляра. Требования к окуляру довольно противоречивы - он должен быть короткофокусным (чтобы обеспечить достаточное увеличение), он должен иметь не просто большую светосилу, но и абсолютную апертуру (иначе начнет сказываться диаметр входного зрачка камеры - а он заметно больше зрачка глаза), а кроме того - должна быть возможность "отнести" его на нужное для максимального поля зрения расстояние от объектива камеры, с чем у короткофокусных объективов зеркальных камер есть определенные проблемы :-) Связанные как с конструкцией самих зеркалок, так и с конструкцией объектива той камеры, на которую мы всё это наденем.
          ...в зеркалках, как известно, есть зеркало. Которое не дает приблизить линзовый блок объектива близко к пленке. Объектив сам по себе - сложная система линз, "в линейном приближении" сводящаяся к плоской линзе, но - с "виртуально смещенными" вдоль оптической оси, иногда за пределы собственно объектива, передней и задней поверхностями! Конкретно в случае короткофокусных объективов к зеркалкам, объектив должен целиком находиться "до зеркала", но при этом "виртуальная задняя поверхность" (расстояние от которой до пленки равно фокусному) - должно находиться за пределами конструкции объектива, где-то "внутри камеры, пересекая зеркало". Передняя поверхность объектива при этом тоже оказывается далеко не на передней линзе. Аналогично, передняя поверхность зум-объектива вашей цифровой камеры часто находится "внутри" объектива, за передней линзой. Поскольку же нужно обеспечить нужое расстояние между соответсвующими "виртуальными" поверхностями объективов - может оказаться, что даже установки объективов вплотную может не хватить, чтобы приблизить поверхности на нужное расстояние.
          Короче говоря, я использовал наиболее распространенный и дешевый Гелиос-44 (58мм, f/2.0), можно использовать современные "полтинники", широкоугольные объективы (с меньшим фокусным расстояним) - использовать лучше с осторожностью.
          Окуляр располагается передней частью объектива к камере, задней - к объективу нашей трубы. Почему? Потому, что объектив оптимизирован под то, что "точка транслируется в точку" когда спереди - точка находится "далеко", сзади же - на расстоянии примерно равном фокусному ("в плоскость пленки"). Формируемое объективом (длиннофокусным) нашей трубы изображение находится примерно на фокусном расстоянии окуляра от окуляра, окуляр транслирует его в "сходящийся на бесконечности" пучок... то есть, тот объектив, который у нас окуляр, ставить надо именно "мордой к морде".
          Расстояние установки подбирается экспериментально, по максимуму засветки, видимой на экране камеры, от "удаленного точечного источника" (маленькой лампочки в нескольких метрах от окуляра). Подобрав расстояние, делаем крепление окуряра к камере (или, скорее, камеры к окуляру) - я использовал оправу от светофильтра, наклеенную на окуляр и вкручивающуюся в "насадку конверторов" моего фотоаппарата.
          Дальшейшее - теоретически просто, практически забавно. Нам надо приделать к окуляру - средство для крепления длиннофокусного объектива, и средство для крепления всего этого на штативе. Я воспользовался двумя удлиннтельными кольцами, склеенными (стеклоткань, пропитанная эпоксидкой) "навстречу друг другу", так чтобы с обоих сторон можно было ввернуть объектив. Полученная труба прикреплялась к "оптическому столику", к которому в свою очередь было приделано гнездо под штатив. Расстояния соблюдать можно не особо точно - главное чтобы "не пропала бесконечность", то есть чтобы была возможность навестись на бесконечно удаленные объекты, лучше если с небольшим "запасом хода" объектива.
          Систему в сборе (без камеры) см. на рис.
хреновина


          Диафрагма окуляра должна быть открыта полностью. Зум камеры - полнстью выдвинут. Диафрагма объектива камеры влияет на виньетирование и разрешающую способность системы, диафрагма объектива трубы - на разрешающую способность системы. Фокусироваться лучше на полностью открытых диафрагмах, можно грубо навестись вручную "трубой" и попробовать дать "дофокусироваться" камере. Учитывая, что замер и экспозицию камера делает при разных диафрагмах, а диафрагма камеры теперь не определяет однозначно попадающий на сенсор свет, возможны ошибки экспозиции и необходимость экспокоррекции или ручного режима. Разумеется, штатив и "пультик"/тросик или хотя бы задержка спуска - highly recommended.

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


From: Belenov Roman
По поводу увеличения разрешения подбором текстуры - смотреть
http://www.ai.mit.edu/people/wtf/publications.html [http://www.ai.mit.edu/people/wtf/publications.html] , в частности
http://www.ai.mit.edu/people/wtf/papers/g2free-lo.pdf [http://www.ai.mit.edu/people/wtf/papers/g2free-lo.pdf] или, скажем,
http://www.merl.com/papers/TR2000-08/ [http://www.merl.com/papers/TR2000-08/]


          Посмотрел. Я, если честно, ожидал чего-то более лучшего. Ну... видимо, прорыв в этой области нас ещё только ожидает - пресловутые "фракталы" придумывают детали не сильно хуже существующих алгоримов на "цепях Маркова"...
          Микрософт любят ругать за то, что "в старой версии винды такая-то программа работала, а в новой перестала! Они это нарочно!!!". А я вот - наткнулся на веблог одного человека [http://weblogs.asp.net/oldnewthing/category/2282.aspx?Show=All], работающего в микрософт, и занимающегося application compatibility... и до-олго и с интересом читал, какие ужасы (и в каких количествах) попадаются в программах "под винду", и как микрософту приходится модифицировать windows так, чтобы программы, написанные с ошибками или с использованием тех функций, которые не просто недокументированы, но которые и микрософт-то сам не использовал, продолжали работать в новых версиях windows.

          Самая запомнившаяся история - про программу, вызывавшую системную функцию с "левыми" параметрами. Функция возвращала ошибку, программа ошибку игнорировала, а код ошибки - использовала как данные для дальнейшей работы, ибо код ошибки по случайности совпал с требуемыми данными. В новой версии изменился порядок проверки аргументов и в результате изменился код ошибки... далее понятно, микрософт пришлось переписывать системную функцию так, чтобы при таких параметрах выдавался бы тот же код ошибки...
          Только в голову придет интересная идея - как её кто-нибудь реализует, пусть и чуть-чуть по другому :-)
          А идея очень простая. Флэш-память упорно уменьшается в размерах - "карточка" SD/MMC уже не самый мелкий из популярных форматов, мельче - xD, а что будет дальше? С одной стороны - форматов сейчас достаточно много разных, и несмотря на явный выход SD/MMC на уровень "нового стандарта на замену CF", варианты по дальнейшему "стандартообразованию", при условии если новому стандарту удастся предложить что-то принципиально хорошее и не сильно сломать старое, как говорится, возможны.
          С другой стороны - чтобы подключить флэшку "от фотика" к компьютеру - нужен USB-ридер, "переходник" (активный) с формата "карточки" на формат USB. Без ридера в том или ином виде (хотя бы в виде самого фотоаппарата) с флэшкой на компьютере делать нечего... если это не USB-флэшка. Но - USB-флэшка, хотя стандарт на "интерфейс" и устоялся (USB mass storage device сейчас поддерживается даже "не совсем компьютерами"), в фотоаппарат "не лезет": не делают производители фотоаппаратов разъема под USB-флэшку. Не потому что злые и недобрые, а потому, что большие они, флэшки, а главное - сильно разные по габаритам, не подходит такое для фотоаппарата.
          Какое-то время назад я где-то читал про "самую маленькую USB-флэшку". Идея предельно проста - из USB-разъема убираем металлическую "окантовку", и оставляем только (чуть утолщенную, чтобы скомпенсировать удаление металлической части) контактную часть: кусочек плоского пластика с четырьма контактами. Кусочек этот делаем размером сантиметра полтора-два, чтобы можно было удобно вставлять и вынимать это из стандартного USB-разъема, собственно память запаиваем внутрь кусочка, благо проблем с размером кристаллов сейчас особо нет. Легко убедиться, разглядывая разъем, что такое плоское и очень компактное чудо будет без проблем вставляться в любой стандартный USB-разъем.
          ...а если стандартизовать длину такой флэшки (ширина, толщина и спецификация интерфейса уже стандартизованы) - мы получим чудо природы: USB-флэшку, по массогабаритным характеристикам отлично подходящую для использования в устройствах типа фотоаппаратов. Ибо имеет небольшой размер, стандартный интерфейс, и легко сделать стандартом длину такой флэшки. Осталась "сущая мелочь" - наладить достаточно массовое производство и продажу такой флэшки, ну, и убедить производителей фото- и другой техники принять этот стандарт на вооружение.
          Кстати, по тем же массогабаритным характеристикам она получше чем xD будет. Толще, правда - зато меньше и удобнее.

          ...А sandisk тем временем - придумал "двухстандартные" карточки [http://www.sandisk.com/pressrelease/20050106a.htm]. Которые как бы SD, но если отогнуть в сторону пластиковую "рамочку" с одной из сторон - получится натуральный плоский USB-разъем. Что очень похоже на мою идею, но с одной стороны - может уже применяться сейчас, не дожидаясь появления нового поколения дивайсов, с другой стороны - явно менее прочно механически...

          ...дополнение от 01.03.05. Сивцов Павел прислал ссылку на FISHmemory [http://www.fishmemory.org/]. Это не совсем то о чем говорю я (там полноразмерный USB-разъем, я же - о части разъема, толщиной не больше той же SD-карточки), но идея использвать такой формат в PDA, DSC и прочих чудесах техники - там высказывается.
          Спасибо за присланную ссылку!
          "12 января 2005 года "Лаборатория Касперского" зарегистрировала случай заражения сетевым червем Cabir.a мобильного телефона, находящегося в непосредственной эксплуатации. Hапомним, что Cabir умеет распространяться и заражать телефоны с помощью Bluetooth"

          Забавно. Напомню, что Cabir создавался изначально как "концептуальный вирус", должный продемонстрировать принципиальную возможность заражения портативных устройств по радиоканалу (конкретно - bluetooth), и "в мир" его автор выпускать не предполагал - да и не ожидалось, что при существующей плотности способных заразиться устройств, он смог бы выжить в этом мире. Однако, будучи кем-то запущенным - выжил (хотя и сомневаюсь, что смог прожить больше нескольких дней).
          Но интересно другое. Если когда-то вирусы распространялись дискетами, потом - по почте, сейчас все более популярны "самобеглые черви", распространящиеся по сети, то предсказанное фантастами мрачное будущее, когда вирусы будут летать по воздуху и заражать предметы личного обихода - уже почти пришло.
          "По воздуху" на самом деле - фигня, сейчас много чего летает по воздуху, и каким-нибудь "мобильным интернетом" никого не удивишь. Хуже другое - современный человек уже сильно зависим от своих "персональных цифровых помощников" (именно так расшифровывается PDA) - в них хранятся контакты и заметки, переносятся документы, PDA напоминают о встречах и используются для чтения электронной почты и поиска информации в интернет... и если вирус будет не просто вирусом, а вирусом умеющим модифицировать заметки, искажать или прятать контакты, "забывать" о напоминаниях, "перлюстрировать" электронную почту и выдавать искаженную информацию при соединении с интернет (это всё не так уж сложно) - любого современного бизнесмена, во многом полагающегося на возможности своего "цифрового помощника", можно эффективно "вывести из строя", а при умелом применении - и вообще "из игры".
          При этом подобные вирусы до сих пор рассматриваются как не очень опасные для реальных дел забавы хакеров - ну, завесят/перезагрузят пару-тройку телефонов, подумаешь... А через несколько лет (или десятков лет, не суть важно), когда "мозги" PDA и "ширина" беспроводных каналов связи вырастут настолько, что вирус может работать незаметно, не выдавая себя явным "торможением" системы и повышенной нагрузкой на канал - это может стать проблемой. И - мы можем вспомнить современных "киберпанковских" фантастов. Ведь скажи мне кто лет десять назад, что вирусы буду жить в телефонах и передавать себя прямо по воздуху - поверил бы я? Вряд ли...
          Возвращаясь к идее из прошлого выпуска. Напомнаю - организовать доступ к данным с возможностью быстрого их уничтожения (или возможности сделать вид что "не было тут никаких данных"). И, желательно, с возможностью восстановления - но опять же так, чтобы любому человеку "со стороны" казалось, что данных либо не было вообще, либо они уничтожены и бэкапа не существует. И к идее о "замурованной в стене точке WiFi доступа".
          Всё гораздо проще. Идея:


From: Pavel V. Kaygorodov
С наступившим тебя !

Есть такая идея:

Берем комп, который умеет грузиться с USB (вроде, сейчас уже есть такие). Ставим на него винду, делаем полную дефрагментацию, определяем номер цилиндра, начиная с которого диск свободен. На флэшку пишем загрузчик, например, FreeBSD, у которой есть система шифрования блочных устройств -- GBDE. Туда-же пишем крипто-ключи. На свободном пространстве диска создаем криптованную партицию, при этом не трогая таблицу разделов, а просто забив ее смещение в конфиг на флэшке. После инициализации такой партиции вся область диска будет (по заверениям разработчиков) забита "белым шумом", и никаких сигнатур содержать не будет. На эту партицию ставится система и пишутся все данные. Таким образом, получается картина: если при включении компа в USB вставлена спецфлэшка, то загрузка идет с нее и грузится FreeBSD с криптованной партиции (потом флэшку можно и вытащить). Если в порт ничего не вставлено -- грузится девственно чистая винда, имеющая признаки напрочь почищенного диска -- полная дефрагментация и забитие свободного места псевдослучайной последовательностью. Из признаков "теневой" системы -- только последовательность загрузки в BIOS (да и то, можно каждый раз еe выставлять ручками и после загрузки системы исправлять обратно через прямую запись в nvram). Для пущего эффекта можно вставить в плату дохлую батарейку и инсталляцию винды производить при "нулевой" дате, чтобы времена модификации файлов не навели на мысль, что системой вообще никогда не пользовались. А фря вполне может и по ntp часы себе выставлять :)

Pasha.K



          То есть, идея - грузить с флэшки FreeBSD (или любую другую подходящую ОС), из неё подцеплять шифрованный диск и отдавать его по сети, флэшку вынимать. При загрузке без флэшки - "голая винда" с пустым диском.
          Идея отличная, но я её чуть модифицировал бы. "Голая винда" на пустом диске, да ещё без признаков того что её вообще запускали за последние полгода (легко выясняется по датам модификации файлов или по записям в системном логе), при условии что на момент обыска машина была включена, а на рабочих станциях вполне могут остаться признаки того, что с них ходили на какой-то локальный сервер, на данный момент в сети почему-то отсутствующий - подозрительно. И может привести к тому же ректотермальному криптоанализу, против которого бессильна даже GBDE.
          Поэтому модификация такая.
            - Грузимся не просто с флэшки, а с SD (или CF, не суть важно) карточки, через ридер. Карточку после загрузки - втыкаем в фотоаппарат: туда вряд ли полезут искать данные
            - На этак половину объема раздела - накидываем "мусора": киношек в divx, музыки, картинок всяких, и прочей требухи, которая обычно сама собой стремится занять всё дисковое пространство. Дефрагментируем, остаток отдаем под шифрованный диск (разумеется, без каких-либо записей об этом на самом жестком диске, вся информация о шифрованном разделе хранится на флэшке).
            - В качестве "обманной системы" - ставим... ту же FreeBSD с максимально похожими настройками! И раздел этот - отдаем по сети с тем же именем (а так же под тем же логином-паролем и с того же "имени компьютера") что и шифрованный раздел до этого. Обнаруженные на рабочих станциях ссылки на этот сетевой диск - приведут на вполне рабочий раздел с "мусором" (а что, файлообменная помойка выглядит вполне разумно) - собственно, эти ссылки и маскировать не надо, можно прямо на рабочий стол повесить гордый ярлык на сетевой диск - ведь он приведет на "обманную" систему.
            - Система, загрузившаяся с флэшки, должна максимально точно делать вид, что загрузилась она не с флэшки :-) Не в том смысле, чтобы подключивши монитор нельзя было понять что система загружена не с диска (этого не требуется - при обыске никто не будет подключать монитор), а том смысле, что логи (или их имитация) о загрузке системы, запуске сервисов, и прочей жизни системы - писались бы туда же, куда их пишет система, загруженная с жесткого диска. Возможно, потребуется их фильтрация и/или подделка на ходу - если в логах содержится информация, выдающая наличие флэшки - но это не так сложно.

          При этом мы утром втыкаем флэшку, грузимся и прячем её в фотоаппарат, а при обыске - спокойно смотрим, как конфискуют компьютер. После следующей загрузки - все пути буду вести на невинную файлопомойку, при этом все логи будут показывать, что именно эту систему загружали какждый день приходя, и шатдаунили перед уходом. Вуаля - данных как бы нет, а на месте их - настоящая и выглядящая так будто она тут и работала всё время система.
          ...один тонкий момент. В "юниксовых" FS, с их "размазанной" по разделу служебной информацией, может оказаться невозможным найти непрерывный кусок раздела, на котром можно не повредив исходную FS разместить шифрованный диск. Это не страшно - просто будет поврежден (не фатально, он скорее всего спокойо смонтируется и даже будет читаться) раздел. Если не взводить dirty flag - то "обманная" система не запустит fsck, и ничего не произойдет. Но если в процессе экспертизы разок перегрузятся ресетом или по другой причине запустят fsck - содержимое шифрованного диска улетит в никуда. А в принципе - разве мы ровно этого не хотели? ;-)
          Когда-то "в быту", а также во всяком "детском техническом творчестве" в качестве аккумуляторов почти безвариантно применялись никель-кадмиевые (NiCd) аккумуляторы. Свинцовые не рассматриваю - их применение и тогда, и до сих пор весьма специфично. :-) Простые в применении и способные выдерживать сильный перезаряд NiCd "банки" позволяли спокойно заряжать себя "по часам" тупым зарядником "с постоянным током" (грубо говоря, "оставлять заряжаться на ночь не боясь испортить"). Потом появились никель-металлгидридные (NiMH) аккумуляторы, с большей емкостью, с меньшим "эффектом памяти", но и с несколько большими требованиями к зарядке - хотя их по прежнему можно "бросать на ночь", но перезаряд они переносят хуже, и зарядка "с контролем конца" все-таки желательна. Сейчас широко распространились и наконец-то в достаточной мере подешевели литий-ионные аккумуляторы, и при их удобном напряжении "на банку" да плотности энергии именно их бы и использовать во всяких самоделках с автономным питанием, но - зарядка, зарядка... литиевые аккумуляторы перезарядку не выдерживают вообще - пухнут, дохнут, могут рвануть, а значит нужен контроллер зарядки, а он сложный и на коленке не делается...
          Так вот - делается! Причем схема оказалась на редкость простой в изготовлении. Единственное - требуется нормальный цифровой тестер (впрочем, сейчас любой цифровой тестер, если его не топили в унитазе и не били молотком, нужную точность скорее всего обеспечит), а для эстетов - неплохо бы миллимапермер (стрелочный) для контроля тока. Собственно...
ход лучей



          ...см. рис. LM317 - дешевый интегральный стабилизатор, от диода можно отказаться (теоретически он защитный, практически проверять что произойдет если подоткнуть аккумулятор к выключенному заряднику без диода - как-то неохота), слева - любой блок питания на напряжение 8-15 вольт с подходящим током, если БП "слишком мощный" и способен поджарить аккумулятор - последовательно надо добавить токоограничивающий резистор. Подстроечный резистор на схеме - любой многооборотный на сопротивление 1-5 кОм, миллиамперметр (при настройке - очень желательно, в готовый прибор - по вкусу, проще стрелочный) - в разрыв провода к аккумулятору.
          При отключенном аккумуляторе выставляется напряжение на выходе 4.20 В. Подключаем аккумулятор, убеждаемся что начальный ток не запредельно большой (половинный от значения емкости вполне допустим), следим за изменением тока. Ток довольно быстро снижается, если через несколько часов он выходит на уровень единиц миллиампер - всё в порядке, зарядник работает :-)
          Держать на зарядке больше суток все-таки нежелательно, в остальном - неожиданно "дешево и сердито". Правда, полная зарядка получается довольно долгой (зарядники "с умным контроллером" заряжают быстрей), но лично мне это некритично - всё равно "бросать на ночь".
          И не надо бояться лития :-) Пусть производители придумывают сотни разных внутрифирменных "стандартов" на аккумуляторные картриджи - мы-то знаем, что разломав пластмассу мы обнаружим внутри одно и то же :-) А аккумулятор "для разборки" проще всего взять "из неликвидов" в каком-нибудь салоне сотовой связи, получится дешевле всего, и как бы не дешевле чем те же NiMH.
         

- RU.PHOTO.DIGITAL ------------------------------------------------------------
 From : Alex Tutubalin                      2:5020/400      Sat 27 Nov 04 22:22
 To   : All                                                 Sun 28 Nov 04 10:39
 Subj : О производительности Photoshop

Привет.
 
Если сделать в Windows ramdisk - и туда положить свап,
то производительность может и не вырастет. А вот если
сделать рамдиск и положить туда скратч-файлы фотошопа
(все равно он больше 2Gb использовать не может), то
производительность растет кардинально.
 
Цифры тут: http://www.lexa.ru/articles/photoshop.html#pscs
 
Старые данные, очевидно, можно выкинуть.
 
-- 
Алексей Тутубалин
lexa@lexa.ru





Оригинал страницы находится на http://dibr.nnov.ru/issue260205.html.(с) DiBR
При перепечатке ссылка обязательна. <<  *  >>