Евгений Степанищев

Я — эксперт в области разработки веб-приложений и безопасности в интернете. Каждый месяц мой блог посещают около 90 тысяч человек. Работаю техническим директором в «Системах документооборота», занимаюсь электронным правительством.

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

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

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

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

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

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

Редирект в 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 комментария
8 ноября 2007 18:16

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

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

Веб-камеры

Будете выбирать веб-камеру для видеонаблюдения, попробуйте посмотреть продукцию фирмы «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 комментария
8 ноября 2007 14:54

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

По наводке сайта «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 комментарий
7 ноября 2007 19:45

Реклама на CAPTCHA

CAPTCHA (20.99КБ)

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

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

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

Pump It Up

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

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

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

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.
9 комментариев
7 ноября 2007 00:49

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 часов проигрывания музыки.
Комментировать
6 ноября 2007 18:29

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

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

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

6 комментариев
6 ноября 2007 03:44

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

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

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

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

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

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

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

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

500`000 (47.64КБ) Слухи уже разошлись и часть из них — правда: перебираюсь в декабре в Москву. Подброшу в топку дров: у меня в руках на снимке — первый залог за квартиру в Москве.
12 комментариев
5 ноября 2007 21:16

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 комментарий
5 ноября 2007 20:13

«Corner» — альтернатива стандартным баннерам

Баннер «Corner» (31.41КБ) У Глеба Гарипова увидел реализацию замечательной идеи — баннеров формата «Corner». Мне она нравится своей ненавязчивостью, правда меня мучают сомнения — будет ли вообще её кто-то открывать. Первые несколько раз, из любопытства — несомненно, а потом? На скриншоте не видно весь процесс, поэтому поясняю приницип — в свёрнутом состоянии баннер занимает небольшой анимированный уголок экрана, как только пользователь его потянет, открывается баннер целиком, по принципу перелистывания страницы. Живой пример можно увидеть на сайте медицинского портала Doctor.kz, справа над поиском.
4 комментария
5 ноября 2007 15:19

Комментарии на Blok

Сделал комментарии на блок, через OpenID (поддерживается так же Simple Registration Extension) как и собирался. Пока, можно сказать, в стадии бета-тестрирования — я не слишком ещё хорошо разбираюсь в тонкостях OpenID. Кстати, если у кого-то ещё нет OpenID, то очень рекомендую завести его на сервисе myOpenID, исключительно удобно.

P.S. Дима, можешь написать прямо на сайте какую глупость я написал.
29 комментариев
5 ноября 2007 01:24