Мега-цоколь

Искал сегодня по всему дому куда-то запрятанную принципиальную схему от электрофона «Арктур-004 стерео». В итоге нашел ее в ящике с разнообразным радиобарахлом. А кроме того, в ящике обнаружилась лампа 6П3С с оригинально сломанным цоколем.

Слева — нормальный ламповый цоколь с пластиковым «ключом» посередине, позволяющим вставить лампу в панельку единственно возможным способом. Справа — цоколь с обломанным ключом. Что удивило — так это то, что вместе с ключом не обломали штенгель («хвостик», возникающий при запайке стеклянной колбы).

Кстати, в процессе поисков обнаружил инструкцию на один прибор, произведенный Псковским заводом тяжелого электросварочного оборудования. Кто угадает — что за девайс?

Ликбез по djvu

Удивляет тотальное незнание народа о замечательном формате djvu (читается déjà vu). Поэтому сегодняшний пост будет посвящен этому замечательному графическому формату. Для начала — немного истории.

Где-то в начале 90-х возникла проблема перевода существующих «бумажных» архивов в электронный вид. Для фирмы AT&T эта проблема стояла еще более остро — за годы работы накопилось огромное количество технической документации, содержащей не только текст, но и рисунки, графики, схемы и формулы. Естественно, никто не стал бы «набивать» все эти данные заново, поэтому в 1996 году был разработан формат djvu специально для эффективного хранения сканированных документов.

Естественно, djvu относится к семейству графических форматов, использующих компрессию с потерями. Но сжатие в djvu намного более эффективно, чем, например, jpeg. Просто приведу числа. Сканированная страница формата A3, при разрешении сканирования 300 точек на дюйм и 24-битном цвете занимает при использовании формата без компрессии около 50 Мб. Сжатием без потерь (вроде ZIP или RAR) удается сократить размер примерно до 30-40 Мб. JPEG при сохранении «читабельности» текста «сожмет» файл до 1 Мб. В djvu эта же страница будет «весить» около 200 Кб. Результат впечатляющий.

Дальше будут картинки, они уменьшены, чтобы не рвать френдленту, полная версия — по щелчку.

Медвед-1892, скан 300 dpi
Медвед-1892, скан 300 dpi

За счет чего достигаются такие выдающиеся показатели? При сжатии в djvu изображение «разбивается» на несколько слоев. Один слой содержит «четко выделяющиеся» элементы изображения, такие как текст и графики — он называется foreground, «передний план», другой — background, «фон». К ним применяются различные алгоритмы сжатия.

Фон от того же медведа
Фон от того же медведа

Как легко видеть, «фон» — это крупные цветные пятна, рисунок сохраняется с пониженным разрешением и сильным сжатием. А что представляет собой «передний план»?

Передний план от медведа
Передний план от медведа

В качестве «переднего плана» программа сжатия выделила некоторые контрастные элементы рисунка. Здесь также применяется сжатие с потерями, но работающее по другому алгоритму. В результате наложения переднего плана на фон получим такую картинку:

Медвед после жестокого djvu-сжатия
Медвед после жестокого djvu-сжатия

Конечно, многие уже испугались и навсегда зареклись использовать djvu. Но… В силу вступают новые соображения. Данный формат разработан специально для документов, предназначенных для просмотра на экране компьютера, а не для печати с полиграфическим качеством. Поэтому смотреть рисунки надо не с разрешением 300 точек на дюйм, а ограничиться лишь 72.

Сверху - оригинал, снизу - djvu
Сверху - оригинал, снизу - djvu

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

Скан 300 dpi
Скан 300 dpi

Как нетрудно заметить, при наборе текста используется не больше сотни отдельных литер (включим сюда разнообразные умляуты и прочие «радости» некоторых европейских языков). Это обстоятельство было учтено при разработке djvu, и при сжатии текста в этом формате сначала выделяются символы с похожим начертанием, а потом в тех местах, где они встречаются, сохраняется лишь информация об отличиях от «эталонного» начертания. Более того, слой «текста» — монохромный, что позволяет добиться очень высокой степени компрессии.

Текст в djvu
Текст в djvu

К сожалению, тут не обошлось без недостатков. В оригинале имеются довольно сильные дефекты печати, которые оказались «не по зубам» djvu-формату. Но там, где текст достаточно хорош, сжатие позволило даже улучшить читаемость за счет повышения контрастности.

И еще немного сжатого в djvu текста
И еще немного сжатого в djvu текста

Совершенно незаменим формат djvu при сканировании книг со «сложным» текстом, насыщенным формулами или графиками. «Среднюю» книгу, например, по математике — около 500 страниц A5, в djvu можно сжать до 5-10 Мб. 10 Кб на страницу — это очень неплохо. Пожалуй, меньше будет только текст книги в TeX. Качество же — вполне на уровне, можно даже печатать:

Всяческие формулы
Всяческие формулы

Впрочем, и книги по совершенно гуманитарным дисциплинам в этом формате выглядят неплохо. Если нет времени на «вычитку» OCR — то вполне можно воспользоваться djvu, «потомки скажут спасибо». Для сравнения, в PDF со сравнимым качеством двухсотстраничная книга «весит» 27 Мб, а в djvu — всего лишь 5 Мб.

Кстати, в djvu предусмотрен еще один слой, о котором я еще не сказал. Это так называемый OCR-слой, предназначенный для хранения текста. В него можно добавить распознанный «читалкой», например ABBYY Fine Reader, текст. Из djvu-документа с вставленным таким образом текстом можно копировать отдельные части, в нем можно искать какие-то слова — фактически, работать, как с простым текстовым файлом.

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

Правильная музыка

Sabaton выпустили новый клип — Cliffs of Gallipoli. Смотреть всем — это круто:

А еще у меня есть полная коллекция Johnny Rebel, так что сегодня я не буду сканировать Petit Journal, а буду слушать песни с названиями типа Send ‘Em All Back To Africa или Some Niggers Never Die (They Just Smell That Way).

Поймали говнокомментера

В общем, это последнее предупреждение гарному хлопцу из Луганска с IP 91.195.120.95.

Еще один комментарий с рекламой в моем блоге — и твоему провайдеру идет письмо с жалобой на спам. Ну ты в общем понял?

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

Удивительное рядом

В «Правилах участия» в рекламной сети Яндекса (тот же «Бегун», но под другим соусом) есть совершенно замечательный пункт:

Не допускается показ объявлений Яндекса на сайтах:

— заявляющих неравенство людей по полу, расе, национальности, вероисповеданию, социальному статусу и имущественному уровню;

Интересно, буквы эМ и Жо на двери сортира относятся к «неравенству людей по полу»?

Standalone-френдлента

Похерил свою «френдленту», которую изготавливал плагин Feedwordpress. Плагин жутко глючный, не используйте ни в коем случае!

Придется писать свой практически с нуля.

Про OpenID-плагин

Продолжаю разбираться с OpenID-плагином Александра Никулина. Сегодня напишу свои измышления по поводу реализованных в этом плагине методов авторизации.

Итак, в «обычном» WordPress без плагинов можно «авторизоваться» двумя способами. Первый — оставить комментарий, тогда WordPress сбросит cookie с информацией о комментаторе. При последующих загрузках страницы с формой для комментариев будет происходить ее автозаполнение. Второй способ — авторизация на страничке wp-login, но у нее есть свои недостатки. Во-первых, не хотелось бы включать опцию «каждый может зарегистрироваться» и пускать пользователей в админскую панель, пусть даже и «сильно обрезанную». Во-вторых, регистрироваться на standalone-блоге лишь для того, чтобы оставить комментарий, будет далеко не каждый.

Плагин Александра Никулина добавляет «третью» возможность. Оставив OpenID-комментарий, пользователь получит cookie, по которому OpenID-плагин будет «узнавать» его. Это напоминает первый метод, но в cookie используются другие параметры.

Этот подход имеет огромное количество недостатков. Самый большой — незнание авторов других плагинов о том, что пользователь с определенными cookies считается «залогиненным». Эти cookies не опознаются, как принадлежащие WordPress. Конечно, можно добавить в OpenID-плагин фильтр, который, при наличии кеширующего плагина, будет оповещать тот, что пользователь уже зашел, но придется также править .htaccess, что уже не настолько тривиально.

В общем, плагин нуждается в серьезной переделке. И здесь снова есть два подхода — сделать авторизацию по специальным образом составленному «имени пользователя» в cookie или же использовать встроенную в WordPress систему «пользователей» и «ролей». Второй вариант мне представляется более интересным. Думаю, что подобным способом можно сделать даже некое подобие ЖЖшных «сообществ» на движке WordPress — а это уже очень заманчивая перспектива. Если удастся еще и «подружить» это с WordPress MU — то будет совсем здорово.

Про кризис

Модно стало смеяться над тем, что в некоторых СМИ, якобы, запрещено в сообщениях употреблять слова «экономический кризис». Соотвественно, СМИ, считающие себя «продвинутыми», употребляют слово «кризис» к месту и не к месту.

Конечно, это их личное дело. Но когда после «кризиса» идут новости про «массовую драку молодежи на юге/востоке/западе/севере Москвы», как-то хочется задать вопрос: а раз вы такие смелые, что не стесняетесь говорить «кризис», не слабо ли вам, уважаемые господа журналисты, сказать, кто с кем подрался?

Видимо, для того, чтобы сказать в эфире о том, что подрались, к примеру, таксисты-нелегалы, делившие «сферы влияния», нужна совершенно адская смелость. Про кризис говорить — оно полегче будет.

Кстати

Я поставил на сайте рекламу и меня абсолютно не волнует ничье мнение по этому поводу.

Если будете сильно просить — поставлю плагин NoAdsForFriends.

Кроме того, отрубил cookie для опенайдистов. Это временная мера, пока я переделываю авторизацию по OpenID, встроенную в плагин.

И как следствие последнего — врубил кеш, а то полторы сотни ошибок 503 за эти выходные — это многовато.

Смешное про «Спарк»

Мой пост про печальную судьбу ЗАО «Электроком» обсуждают на провайдерском форуме. Из сообщения одного из участников:

У меня кстати модем мышку безпроводную глушил.Сейчас пользуюсь проводной

Ничего удивительного — многие китайские «радиомышки» работают в диапазоне 27 МГц, который прекрасно «глушится» PLC в том варианте, который использует «Спарк». Вот она, электромагнитная совместимость в действии.

А вот отечественный производитель

Пока я любовно разглядывал картинку с Degen DE1123, на радиосканере перешли к обсуждению отечественной продукции в контексте «надежного приемника для походно-полевых условий».

Естественно, всеми любимый Degen DE1103 под указанные в теме задачи подходит слабо — все-таки это бытовой приемник для «домашних» условий. С другой стороны, в теме представлен повод порадоваться за отечественных разработчиков и производителей. Один из участников форума работает в фирме, которая за год довела проект «неубиваемого» радиоприемника от эскизов…

…до полноценного образца на испытаниях:

По известной на данный момент информации, «прототипом» приемника послужил все тот же Degen DE1103 — основные схемотехнические решения и определенные для разработки параметры взяты из него. Приемник разрабатывался по заказу военных, поэтому выполнен в «неубиваемом» исполнении. Питание — от 6 до 30 В, пыле- и влагозащита, встроенная подсветка и фонарь, отсутствие вращающихся деталей (главная беда Дегенов — быстро засоряющийся валкодер) не оставляют сомнений в назначении девайса. Радиоприемные характеристики — на уровне Дегена, из диапазонов присутсвуют СВ, КВ (3-30 МГц) и «российский» УКВ (64-108 МГц).

К сожалению, в Веге РП-007 отсутствует SSB и полноценной замены Дегену пока не получилось. Тем не менее, разработчики обещают в следующей модификации расширить КВ «вниз», добавить SSB и — чего нет и никогда не было в Дегенах — преобразователь 12 кГц для приема DRM — Digital Radio Mundiale — одного из цифровых видов модуляции, считающимся перспективным для коротковолнового вещания.

В общем, даже не знаю, что же попросить у Дедушки Мороза на Новый Год — Degen DE1123 или Вегу РП-007 :)

А можно, конечно, подождать появления Веги РП-008.

Превед-1892

Еще один отсканированный номер Petit Journal. На этот раз — от 26 ноября 1892 года.

Пока французские солдаты в пробковых шлемах разглядывают идолов в Дагомее…

…в России «знаменитый Преображенский полк» сражается с медведами, терроризирующими Холмогоры:

А они всего лишь хотели сказать «ПРЕВЕД!»

Кроме негритянских божков и русских медведей, в этом номере можно найти рассказы «Un Malentendu» Альфонса Доде и «Le Chomage» Эмиля Золя.

Номер целиком можно скачать у меня (1,76 Мб):

http://shura.luberetsky.ru/petitjournal/26novembre1892.djvu

Номер выставлен на molotok.ru:

http://molotok.ru/show_item.php?item=489606528

Другие номера тоже будут продаваться, следите за обновлениями.

Женераль БрусилОфф, или Petit Journal от 2 июля 1916 года

Не одной русско-японской войной жив Petit Journal. Только что закончил сканировать номер от 2 июля 1916 года.

Немецкие войска стоят в 120 километрах от Парижа. Еще никто не знает, что на заводах Круппа начали отливку сверхдальнобойного орудия, которое в следующем 1917 году будет установлено недалеко от Парижа и будет обстреливать город. Во Франции — проблемы с бумагой (как и в ноябре 2008 года). Несмотря на это, Petit Journal продолжает выходить на плохо разрезанной бумаге, по ощущениям напоминающей нынешнюю газету «Советская Россия».

Вся надежда — на cossackoв генерала Brousilloff, которые бьют проклятых бошей и их австрийских прихвостней. Под впечатлением от grande victoire russe австрийские дезертиры рванули аж на румынскую границу, где решили сдаться хотя бы румынам.

Это — ле женераль БрусилОфф. Можно распечатать и повесить на стенку в самое видное место:

А это — австрийские дезертиры сдаются в плен румынам:

Кроме того, журнал развлекает читателей карикатурами на околовоенные темы:

А на развороте посередине — фотографии из мест боевых действий.

Номер целиком в djvu можно скачать у меня (2,17 Мб):

http://shura.luberetsky.ru/petitjournal/2juillet1916.djvu

А можно — купить бумажный на molotok.ru:

http://molotok.ru/show_item.php?item=489599634

Petit Parisien, 12 июня 1904

Пришло еще несколько номеров Petit Journal и Petit Parisien. В посылку француз вложил записку «Sorry for late… No wrapping paper!!!». Экономический кризис наступает.

Сегодня выкладываю номер Petit Parisien от 12 июня 1904 года. Во Франции судят маньяков и убивцев (первая страница), а на Дальнем Востоке (Extreme Orient) идет русско-японская война. На последней странице — изображения японского броненосца непонятной конструкции (3D-моделисты, рисовавшие «Славрору» в «АдмиралЪе» отдыхают) и не менее удивительных русских морских мин.

Кстати, пользуясь случаем, хочу пропеарить уважаемого [info]szhaman, который пишет в том числе о «короткостволе» начала XX века. Примерно вот таком (из рекламы на 7 странице):

Револьвер системы «Галан» можно было купить всего за 30 франков — 12 тогдашних рублей (в свое время в ознаменование союза с Францией были выпущены золотые монеты, имевшие хождение в обеих странах одновременно, достоинством 37,5 рублей или 100 франков — так что «обменный курс» известен), в нагрузку к сочинениям господина Буссенара. По тогдашним оружейным каталогам подобные револьверы, предназначавшиеся для самообороны, стоили 10-15 рублей. Для сравнения, зарплата земского учителя в те времена составляла около 30-40 рублей. Пересчитывая тогдашние цены в нынешние «по покупательной способности», получим, что нынешние «Осы», «Макарычи», «Наганычи» и прочие «резинострелы» по цене сравнимы с тогдашними «Велодогами» и другим «оружием для самообороны».

Весь номер в djvu можно скачать у меня (1,78 Мб):

http://shura.luberetsky.ru/petitparisien/12juin1904.djvu

Новости ботоводства

Еще один раз убеждаюсь, что все девушки мыслят одинаково. А именно, моя старая программа Delirium (генератор «текста» методом цепей Маркова) с базой из нескольких десятков постов девушек от 18 до 22 лет выдала такую фразу:

развлекались сегодня с матерью шоппингом, теперь у меня теперь есть носок для телефона

Над ней работало как минимум трое «доноров», получилось неплохо.

А еще — у бота появился первый взаимный френд, точнее, френдесса. Что интересно, в свое время она перепугалась известного вируса вконтакте и написала истеричный пост в духе «роботы захватят мир». Еще более интересно — она и бот учатся в ГУГНе (точнее, она учится, а бот — «записался»). Для тех кто не знает — это так называемый Государственный Университет Гуманитарных Наук, редкостное «учебное заведение» с ежегодным набором в три десятка человек, «все друг друга знают». Как можно в таких условиях принять бота за человека — не знаю.

В общем, роботы идут.

Продолжаем бугагировать

Из переписки с ЖЖшным суппортом по поводу все того же обращения про OpenID:

Уважаемый г-н Люберецкий,

Спасибо за то, что связались с нами и высказали свои соображения. Однако мы в службе поддержки ничем не можем помочь вам в этой ситуации — в данный момент аккаунты OpenID в системе не имеют паролей, которые вы могли бы передать на другой сайт, и единственным способом аутентификации для такого аккаунта является проверка подлинности стандартным для OpenID способом. Если вы хотите, чтобы в систему Живого Журнала была введена возможность авторизоваться в таком аккаунте посредством ввода пароля, вы можете отправить такое предложение в сообщество lj_ru_support, но учтите, что изложение этого предложения не в форме предложения, а в форме претензии, или использование в записи обсценной лексики скорее всего приведут к тому, что эта запись будет отвергнута.

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

С уважением,
Служба поддержки Живого Журнала

К сожалению, мой support request закрыли от посторонних. Видать, боятся.

Кстати, а кто такой «уважаемый г-н»?

Про OpenID-плагин и кеш

[info]werwolf_lg заметил интересный баг в моей «сборке» WordPress, заключающийся в неправильной совместной работе кеша и OpenID-плагина Александра Никулина. А именно, если пользователь сначала оставлял комментарий по OpenID, а затем заходил на любую страницу, то в кеш отправлялась страница с неправильной формой добавления комментария (она генерировалась для пользователя с OpenID и на ней не показывались поля для ввода имени, e-mail и URL). Опенайдист затем не испытывал никаких затруднений, а остальным выдавалась страничка с надписью «Вы вошли как такой-то». При этом при отправке комментария WordPress, не найдя cookies OpenID-пользователя, начинал ругаться на неправильно заполненную форму.

Кроме того, обнаружил, что «доработка» OpenID-плагина для красивого изображения юзернеймов из ЖЖ может не коснуться некоторых пользователей. Поэтому хотел бы попросить всех пользователей ЖЖ, оставлявших у меня комментарии, нажать на эту ссылку:

http://shura.luberetsky.ru/wp-content/plugins/openid/openid-comments-post.php?openid_logout=1&post_id=581

Сейчас кеш временно отключен. Буду дорабатывать OpenID-плагин, когда все станет «хорошо» — включу кеш обратно. Надеюсь, [info]knutov не будет сильно ругаться.