PDF в Safari — картинка

Браузер «Сафари» под «Мак», оказывается, умеет отображать PDF (и TIFF, кстати, тоже) в теге IMG. Т. е. как простую картинку. Поскольку в OSX есть встроенная поддержка PDF, такое поведение браузера, видимо, вытекает из того, что картинки в браузере отображаются через какой-то системный компонент. Причём, с отображением PDF через тег OBJECT у «Сафари» есть проблемы, если только не установить специальный плагин от фирмы Adobe.

А вот браузер «Опера», помимо стандартного набора JPEG/PNG/GIF/XBM умеет отображать ещё и ICO. Почему этого не делают остальные браузеры — загадка, ведь им всё равно приходится работать с этим форматом, чтобы отобразить favicon.ico.

Оставить комментарий

Россия глазами корейцев

У jkr-anitetta из Южной Кореи в ЖЖ появилась смешная заметка как она участвовала в массовке на съёмках сериала «Сеул, 1945», сериал про Вторую мировую, место действия — Владивосток. Если читать лениво, переходите сразу к фотографиям.

А были еще две лошадки и кареты. Что в общем-то было совсем не в тему. Никто в 45-ом в царских каретах не ездил. Дрожки — может быть, но не помпезные кареты 19 века. Несколько барышень были одеты в прикид 19 века! С мужиками вообще у них, у корейцев, как-то все было более правильно и в смысле одежды, и в смысле ролей. Ну да ладно, похоже русского, или хотя бы толкового специалиста по истории России пригласить забыли.

Хлебопекарня «Глист» (48.74КиБ)

Оставить комментарий

[LJ2ME] Blоk и сотовые телефоны

Самое приятное в том, что я отказался от веб-интерфейса и сделал управление сайтом через протокол Живого Журнала то, что я могу писать хоть из-под сотового телефона.

Оставить комментарий

Оптимизация MySQL InnoDB

Давно хотел записать, чтобы не потерять. Выдержка из главы «Defragmenting a Table» руководства по MySQL:

It can speed up index scans if you periodically perform a “null” ALTER TABLE operation: ALTER TABLE tbl_name ENGINE=INNODB

That causes MySQL to rebuild the table. Another way to perform a defragmentation operation is to use mysqldump to dump the table to a text file, drop the table, and reload it from the dump file.

По-русски говоря, таблицы в формате InnoDB могут сильно фрагметироваться в процессе работы, для того, чтобы избавиться от фрагметрации выполняйте иногда это «магическую» конструкцию или снимайте дамп с таблицы и заливайте обратно.

Пример скрипта для автоматической дефрагментации — дальше.

mysql_connect('localhost', 'root', 'пароль');

$res = mysql_query('SHOW DATABASES');

while (list($dbname) = mysql_fetch_row($res))
{
        mysql_select_db($dbname);

        $rec = mysql_query('SHOW TABLE STATUS');

        while ($data = mysql_fetch_object($rec))
        if ($data->Engine == 'InnoDB')
        {
                echo 'Processing ', $dbname, '.', $data->Name, ' ... '; flush();

                mysql_query("ALTER TABLE {$data->Name} ENGINE=InnoDB");

                echo "done.n";
        }

        mysql_free_result($rec);
}

mysql_free_result($res);

P.S. Как справедливо заметил Jimi Dini, в MySQL 5.0 и выше OPTIMIZE TABLE делает то же самое для InnoDB.

9 комментариев

Как заставить шевелиться коммунальные службы Москвы

На сайте Padlik нашёл простой, но действенный способ как заставить коммунальные службы выполнять свою работу:

Однако мой отец как-то давно случайно нашел волшебный пинок для этих паразитов. Пинок совершенно волшебный и действует безотказно. Проверено с десяток раз. Однако, что поразительно, уроки они не усваивают и пинок приходится применять снова и снова. […] Заходим на сайт mos.ru и в самом низу видем адресок почты mayor@mos.ru. Это адрес приемной Лужкова по вопросам… да почти по всем вопросам. В общем на этот адрес надо накатать письмецо, где расписать все то, что коммунальные службы “сделали”. А, скорее всего, “не сделали”.

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

Оставить комментарий

Blok и комментарии, часть III.

Пользователи ЖЖ теперь тоже могут воспользоваться сервисом «Граватар», чтобы завести себе аватары, которые будут отображаться у меня на сайте. Напоминаю, что «Граватар» — централизованный сервис, позволяющих использовать одну и ту же аватару на разных сайтах, аватара идентифицируется по адресу e-mail. Кстати, оказалось, что «Граватар» не сразу масштабирует картинку, видимо для снижения нагрузки, так что какое-то время аватару видно не будет.

Пользователи ЖЖ идентифицируются по e-mail имяпользователя@livejournal.com. Насколько я знаю, этим ящиком могут воспользоваться только пользователи платных и расширенных аккаунтов, но соображение тут очень простое — этот почтовый ящик однозначно идентифицирует пользователя, даже если доступа у пользователя к нему нет. Я подумываю о том, чтобы сделать то же самое для пользователей Яндекс, но, кажется, у них ситуация иная — ник и ящик могут не совпадать или я ошибаюсь?

Что интересно, в будущем «Граватар» будет поддерживать идентификацию по URL, вместе (или вместо) e-mail. Это позволит привязывать аватару к OpenID.

8 комментариев

Тег VIDEO в новой «Опере»

Последний экспериментальный билд «Оперы» (ни в коем случае не устанавливайте его поверх вашей рабочей версии — эта версия основана на одной из альфа-версий Opera 9.50) поддерживает новый тег VIDEO, который входит в предварительную версию стандарта HTML5. Пока в качестве формата видео для этого тега выбран бесплатный Ogg Theora (кстати, недавно я писал о веб-камере, где всё ПО пишется под лицензией GNU, там используется тот же формат). Так же этом билде «Оперы» есть возможность использовать тег VIDEO внутри SVG.

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

Самое простое использование тега VIDEO — указание в атрибуте SRC видеофайла, который он должен проиграть и атрибута controls, который указывает должен ли браузер показывать кнопки управления воспроизведением (или разработчик будет управлять видео через соответствующие JavaScript-методы — play, pause, stop). В статье на сайте разработчиков есть несколько примеров.

VIDEO в HTML5 (42.16КиБ)

Стандартные элементы управления (на рисунке) меня совершенно не впечатлили, я бы их использовать не стал, впрочем, дизайн ещё может измениться, да и всегда есть возможность сделать свои кнопки через JavaScript. Больше всего меня поразили методы внедрения видео в SVG — на сайте есть очень несложные в реализации примеры отражения шарика, движущегося внутри видео, в поверхности, наложения на видео фильтров (в примерах — trace edges, grayscale) и клиппинга.

P.S. На домашней странице Chris Double есть ссылки на FireFox3.0alpha9, собранный с поддержкой тега VIDEO.

Оставить комментарий

Убийца азиатов — лактоза

Увидел у Арсения Фёдорова ссылку на очередную битву между плотоядными и вегетарианцами. По ходу представления встречаются просто шедевры с обеих сторон, например:

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

Я, было, подумал, что это какой-то новый научный факт, решил обратиться к Яндексу. Оказывается, такая точка зрения настолько распространена, что попала в русскую «Википедию», славящуюся своим низким качеством материалов (я просмотрел аналогичную статью на нескольких языках в «Википедии», нигде этой вставки не нашёл). Русская «Википедия», как другие источники, во всём винит лактозу.

Лактоза — это молочный сахар, то вещество, которое придаёт молоку чуть сладковатый вкус. Непероносимость лактозы — реально существующее заболевание, обусловленое недостатком фермента лактазы. Выражается в урчании в животе, болях, метеоризме, поносе при употреблении. В кумысе, известном напитке азиатов, лактозы — 5%, это больше, чем в коровьем молоке (там 4.6%). При брожении количество лактозы снижается, видимо оттуда легенда, что «к кисломолочным это не относится». Да оно снижается. Кумыс делают из кобыльего молока, в нём содержание лактозы — 6.4%.

А вот что написано в английской «Википедии» на ту же тему (перевод мой, выделение — тоже):

У большиства биологических видов производство фермента лактазы прекращается с возрастом. Эта утрата фермента — распространённое явление у большинства взрослых людей. Однако, многие люди родом из Европы, Ближнего Востока, Индии, части Восточной Африки не утрачивают способность вырабатывать лактазу на протяжении всей жизни.

«И боже Вас упаси, доктор, никогда не читайте перед обедом советских газет» — говорил профессор Преображенский. И был прав.

18 комментариев

Редирект в ASP.NET

Есть тут специалисты в ASP.NET? Скажите, это единственный способ сделать редирект, используя эту замечательную технологию?

<configuration>
<system.web>
<urlMappings enabled="true">
<add url="~/Article28.aspx" mappedUrl="~/MyNewBestArtile.aspx"/>
<urlMappings>
</system.web>
</configuration>

P.S. Александр Семёнов из «ICL» уже подсказал, что есть возможность сделать просто «Response.Redirect», а приведённый выше кусок, по всей видимости, простой аналог «mod_rewrite» из веб-сервера «Apache».

3 комментария

Уроки по продуктам Adobe

Фирма Adobe начала выкладывать уроки в виде PDF файлов на русском языке (!) для всех своих ключевых продуктов: Photoshop CS3, Illustrator CS3, Flash CS3, InDesign & InCopy, Dreamweaver CS3.

9 комментариев

Веб-камеры

Будете выбирать веб-камеру для видеонаблюдения, попробуйте посмотреть продукцию фирмы «Elphel». Трое из пяти человек, работающих в этой небольшой фирме — ребята из России и Украины (на сайте есть статьи на русском языке, например, меня очень впечатлила «Создание сетевой камеры, использующей кодек Ogg Theora, на базе FPGA и под управлением встроенной ОС Linux»).

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

Камеры кардинально отличаются от всего, что производится на этой рынке «честной» матрицей в 3.2 мегапикселей (sic!). Максимальное выдаваемое разрешение — 2048x1536 при 12 кадрах в секунду, на разрешении 640x480 можно добиться скорости 90 кадров в секунду. Камера отдаёт поток в MJPEG (Motion JPEG) и Ogg Theora, подключается через обычный сетевой разъём, как у сетевых карт в компьютере.

Для сравнения (если хочется изучить источник — посмотрите комментарии на сайте Леонида Каганова) обычные камеры имеют, большей частью, матрицу 352x288, а кадры большего разрешения достигаются простым увеличением до нужного размера или последовательной съёмкой нескольких кадров и интерполяцией. Правда и цена соответствующая — около $1000.

P.S. После написания этой заметки со мной связался Андрей Филиппов из Elphel и уточнил, что в данный момент максимальным разрешением камеры является 2592x1944 (матрица 5 мегапикселей).

В прайсе для меня было неочевидно как высчисляется полная стоимость камеры, поэтому я сначала указал ошибочную цену. На самом деле, покупатель сам выбирается комплектацию, прибавляя к стомости базовой части стоимость выбранного сенсора, объектива, блока питания и так далее. Мне кажется, проще обратиться к производителю за консультацией, потому что не все блоки необходимы, а некоторые можно заказать в другом месте. Интересно, что заказчикам, самостоятельно разрабатывающим ПО для камеры под лицензией GNU/GPL (или совместимой) полагается скидка в $100.

3 комментария

Как отличить поддельные евро от настоящих

По наводке сайта «Denya’s blog» прочитал интересную статью в газете «Труд»: «Тест для первоклашки» о том как математическим путём определить фальшивая купюра или нет. Естественно, если у вас всё получилось, это не значит, что купюра настоящая. Но если не сошлось, можете идти в милицию.

— Серийный номер евро состоит из буквы и одиннадцати цифр, — говорит эксперт департамента наличного денежного обращения Банка России Владимир Авдошин. — Чтобы отличить настоящую банкноту от фальшивой, нужно заменить букву её порядковым номером в английском алфавите. Возьмем, к примеру, банкноту с номером X04017624905. В английском алфавите буква «X» по счету двадцать четвертая. Сложим это число с остальными: 24+0+4+0+1+7+6+2+4+9+0+5=62. Затем прибавим 6 к 2, получилось 8. Запомните, у всех подлинных европейских банкнот в результате такого сложения обязательно получится восьмерка! Выйдет другая — перед вами фальшивка.

Таблица символов

Еще один способ проверки — по контрольной сумме. Когда создавалась единая европейская валюта, было установлено, что каждой стране, где печатаются евро, должны соответствовать буква в номерах банкнот и контрольная сумма. Например, Германию обозначает «X», а контрольная сумма этой страны — двойка (см. таблицу). Сумму находят, складывая цифры банкнотного номера, пока не получится однозначное число. Буквы не прибавляют. Например, в банкноте с номером X04017624905 сумма цифр равна двум (0+4+0+1+7+6+2+4+9+0+5=38; 3+8=11; 1+1=2). «X» — это Германия. Все сошлось, значит, банкнота, скорее всего, подлинная.

Захотелось попробовать метод — вдруг липа? Банкноты под рукой не оказалось, решил поискать в интернете. Естественно то, что выдают поисковики по картинком номеров купюр не содержит, но выручил поиск Яндекса по картинкам — там есть любительское фото купюр в разрешении 2560x1920.

Итак. Берём два номера: L24624095405 и X08913865394.

Сначала первый способ: 12+2+4+6+2+4+0+9+5+4+0+5 = 53, 5+3 = 8. 24+0+8+9+1+3+8+6+5+3+9+4 = 80, 8+0 = 80. Работает!

Второй способ: 2+4+6+2+4+0+9+5+4+0+5 = 41, 4+1 = 5, «L» — это Финляндия с кодом 5. 0+8+9+1+3+8+6+5+3+9+4 = 56, 5+6 = 11, 1+1 = 2. «X» — Германия, код 2. Всё сходится.

Рекомендую! Таблицу соответствий кодов и сумм можно взять из статьи в газете «Труд», а узнать порядок символа — посчитав его по порядку на клавиатуре сотового телефона, ну или взять любой язык программирования, где можно узнать код символа.

Например, наберите в адресной строке браузера: «javascript:alert(prompt('').charCodeAt(0)-96)» и нажмите «Enter», введите символ (в нижнем регистре), получите его номер.

1 комментарий

Реклама на CAPTCHA

Ряд из девяти CAPTCHA-изображений с искажёнными буквами и цифрами: «4R3A», «ZIPFB», «N65X», «IAKOF», «ACMY», «DYEB2», «d56a4», «AZUDA», «IXYCO», «E86E».
CAPTCHA

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

Мне нравятся нетрадиционные методы рекламы. Мне понравилась идея (англ.), немного развитая на блоге «Сделано легко», размещать рекламу на CAPTCHA, т. е. просить пользователя вводить название бренда, телефон поддержки или URL сайта. Идею так пока никто и не реализовал.

Проблема только в том, что должна быть широкая ротация, иначе роботу будет очень просто угадать что написать. Например, если я продам место на своей CAPTCHA, скажем, молокозаводу «Ромул и Рем», то, разместив там, в ротации, их телефон, название бренда и сайт, я даю, настроенному вводить какое-то одно значение, роботу шанс «угадать» вводимую строку в 33% случаев, что для робота более чем достаточно.

3 комментария

Pump It Up

Одно из моих давних хобби, болезнь, которой я уже переболел — «Pump It Up». Это танцевальные игровые автоматы (есть и конкуренты — Dance Dance Revolution от Konami, например), производимые корейской фирмой Andamiro. Когда я только начинал, в Казани стоял один игровой автомат, к нему почти никто не подходил и я очень гордился своим пятым уровнем, сейчас в Казани около девяти различных автоматов разнообразных моделей, открываются сайты по «pump it up», а люди говорят о каких-то заоблачных уровнях.

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

Оценка за песню в конце вычисляется исходя из точности нажатий и количества пропусков (если не успели). Песни отличаются по сложности скоростью, наличием различных комбинаций и «насыщенностью» стрелок (насколько часто они идут друг за другом). На первых уровнях играть очень просто, хотя и их редко у кого получается пройти с первого раза, так что не стесняйтесь!

Оставить комментарий

Min-width в IE6 без JavaScript

Для меня оказалось сюрпризом, что min-width в Internet Explorer 6 и ниже можно эмулировать стилями, без обычного, в данном случае, JavaScript (в IE7 min-width работает). Оцените фокус:

CSS-файл:

/* min-width для остальных браузеров */
body {margin:0;padding:0;}
.outer {
  background-color:red;
  margin:0 auto;
  min-width:600px
}

/* стили для IE6 */
* html .outer {padding-left:600px}
* html .minwidth {height:0} /* holy hack для IE, что бы включить свойство hasLayout */
* html .container {margin-left:-600px;position:relative; height:0}

HTML:

<div class="outer">
<div class="minwidth">
<div class="container">
Блок с min-width 600 пикселей.
</div>
</div>
</div>

Первоисточником решения, по всей видимости, является статья Stu Nicholls на сайте CSSPlay.

8 комментариев

Luxury 2GB MP4 OLED Digital Leather Band Wristwatch

Luxury 2GB MP4 OLED Digital Leather Band Wristwatch (16.59КиБ)

Я гаджетоман. Люблю электронику, но необычную электронику. Часы «Luxury 2GB MP4 OLED Digital Leather Wristwatch» — это что-то потрясающее. Вместо механических стрелок — полторадюймовый OLED-экран 128x128, часы умеют проигрывать музыку в форматах MP3, WMA и MP4 SMV, записывать звук, просматривать текст (E-book), картинки (JPEG) и видео. Встроенная память — 2Гб, аккумулятора хватает на 8 часов проигрывания музыки.

Оставить комментарий

Blogun.RU и монетизация

Интересно, что сервисы, позволяющие монетизировать блоги не ограничиваются монетизацией трафика (т. е. непосредственным перенаправлением трафика куда-либо), есть возможность написать пост за деньги. Если тема мне самому интересна, то получить, помимо удовольствия, ещё и деньги я не откажусь. В качестве эксперимента выбрал «Blogun», посмотрю изнутри как это работает. Из 65 предложенных, на данный момент, тем по содержанию меня заинтересовали две — блог о стеклянной мозаике и винный магазин элитного вина. Остальные предложения похожи на ассортимент офисного распространителя — рефераты, путёвки, таблетки для желудка и прочее.

Что интересно — в некоторых заявках разрешается оставить не только положительный, но и отрицательный пост, что для меня, например, очень важно, я всё-таки не журналист и через себя писать не стану.

6 комментариев

Иегова? Саваоф? השם? Или как зовут Бога.

Из статьи «Тетраграмматон» с сайта «Википедия»:

Иудаизм всегда приписывал великую силу упоминанию имени Бога. Заповедь «Не произноси имени Господа, Бога твоего, напрасно» (Исх 20:7), которая, вероятно, первоначально подразумевала запрет на произнесение ложной клятвы именем Бога, впоследствии была истолкована как запрет на всякое употребление этого имени, не обусловленное необходимостью. Согласно Мишне, имя Бога произносилось в Иерусалимском храме первосвященником во время жертвоприношения в праздник Йом Кипур — День искупления (Иома 6:2), и священниками, дающими священическое благословение (Сота 7:6). Позже было запрещено произносить это имя и в богослужениях. Согласно одному из преданий, этот запрет возник после смерти первосвященника Симона Праведного (III веке до н. э.).

С сайта «Вопросы священнику»:

Слово «Иегова» появилось в результате допущенной неточности при попытке прочесть непроизносимое у евреев имя Божие. Речь идет тетраграмме (יהוה). Во время чтения священного текста в храме или синагоге вместо нее произносилось другое имя Божие — Адонаи (אדוני, Господь). В средние века масореты перенесли огласовку с этого имени на тетраграмму. «Позже условное масоретское написание было прочитано европейскими учеными буквально — отсюда неправильная, не отвечающая ни древнему, ни позднейшему традиционному чтению форма “Иегова”» (Томас О.Ламбдин. Учебник древнееврейского языка, пер. с англ., М., 1998, с. 117). На этом построена «догматика» секты иеговистов.

Синодальный перевод словом Господь как правило передает тетраграмму (יהוה). В Ветхом Завете это имя Божие встречается более 6 тысяч раз. Однако в некоторых местах, где в Синодальной Библии Господь, в еврейской Библии стоит Адонай (Исх.4:13; 3 Цар.22:6 и др.). В Септуагинте оба имени (тетраграмма и Адонай) перевели греческим словом Кюриос.

Саваоф (צבאות‎) — одно из имен Божиих в Ветхом Завете (блаж. Иероним насчитывает 10 имен). По-еврейски — Цеваот (мн. число от существительного цава — воинство). Этого имени нет в ранних книга Ветхом Завете (от Бытия до Руфь), а встречается только в книгах Царств, Паралипоменон, Псалтири и пророков.

В Быт 1:1 стоит Элохим (אלהים‎): «Бе-решит бара Элохим эт ха-шамайим ве эт ха-эрец»

5 комментариев

Москва-город

500`000 (47.64КиБ)

Слухи уже разошлись и часть из них — правда: перебираюсь в декабре в Москву. Подброшу в топку дров: у меня в руках на снимке — первый залог за квартиру в Москве.

12 комментариев

Blok и комментарии, часть II

Учусь использовать чужие сервисы дальше. Сделал в комментариях аватары через Gravatar. Сервис очень простой — регистрируетесь, указываете свой e-mail, подтверждаете его, закачиваете аватарку. Далее этот e-mail будет идентификатором для вашего аватара. Причём, сделано безопасно — выудить из HTML-кода ваш e-mail не получится, так как там указан md5-хеш от него. E-mail я получаю из данных, которые присылает (если присылает) ваш OpenID.

Оказывается, OpenID+Gravatar сочетание частое. Например, Апача в комментариях так и сделано. Но есть разница — там нужно указать адрес e-mail для gravatar. Я так делать не хочу, так как дальше тот же e-mail будет использоваться для подписки на комментарии.

Для визуальной идентификации тех, чей OpenID не отдаёт e-mail, придумал другой метод. У нас есть могучий Яндекс. А у Яндекса есть сервис, который отдаёт favicon сайта, причём уже в формате PNG и заведомо верный (т. е. не просто тот favicon.ico, что лежит в корне, а прописанный в тегах). Вот его я и использую.

21 комментарий