Фокусы с GIF, прозрачность и hover

Старинный револьвер с деревянной рукояткой и металлическим стволом на белом фоне.

Самые внимательные, наверное, заметили, что в прошлых заметках у меня на картинке использовалась эмуляция эффекта наведения на ссылку — посмотрите, если навести на картинку мышку, «ссылка», выделенная синим, на картинке подчеркнётся. И это не JavaScript.

Объяснение очень простое — картинка сделана с прозрачностью, далее при помощи CSS под неё подставлен белый фон, а при наведении (селектор «:hover») фон меняется на голубой. Такой же эффект использован на картинке с пистолетом слева (наведите мышку). Ссылка на картинке обязательна — без неё в Internet Explorer (версии ниже 7-й) фон менять не будет, «:hover» просто не сработает. Таблица стилей для этой картинки выглядит вот так:

a.gun:hover img { background: black } /* стиль при наведении мышкой */
a.gun img { margin: 0px; background: white } /* убираем поля в Opera и подкладываем белый фон */

HTML, соотвественно:

<a href="#" class="gun"><img src="gun.gif" /></a>

Если вам не ясно, почему пистолетик «стреляет» (т. е. почему изображение движется, когда наводишь мышку), то тут всё просто — прозрачная область движется (это animated GIF), на белом фоне этого не видно, когда фон меняется, создаётся эффект движущейся пули.

Ещё интересные эффекты можно получить, если использовать альфа-канал (полупрозрачность) в формате PNG, но, к сожалению, об анимации тут придётся забыть.

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

Азбука: история букв

Пока искал шрифты, наткнулся на крайне интересный проект «Азбука» — истории о буквах. Написано увлекательно, хорошо иллюстрированно, понятно даже неподготовленному читателю. Отдельное спасибо проекту за статью о букве «ё», цитирую небольшую часть (выше читируемого текста приводится мнение Артемия Лебедева по поводу это буквы, смотрите статью):

Рассказав исторический анекдот про княгиню Дашкову, Лебедев забыл упомянуть, что княгиню поддержали ряд ведущих деятелей культуры того времени, включая Державина, который первый начал использовать букву в деловой переписке. Уже в 1795 появилось первое печатное издание, в котором встречается буква ё, — книга Ивана Дмитриева «Мои безделки». А в 1796 году окончательно популяризовал букву Карамзин, напечатав в Московской университетской типографии свою первую стихотворную книжку «Аониды». В ней с буквой ё были напечатано три слова: орёл, мотылёк, слёзы.

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

Если посмотреть с художественной точки зрения, выносные элементы создают ритм, а ритм в свою очередь улучшает эстетические свойства шрифта. Это, кстати, и является одной из основных причин, почему латинский алфавит «красивей» кириллического. И по этой же причине текст набранный кириллицей называют «забором»: строчные буквы в массе своей копируют буквы прописные, а у них выносные элементы — большая редкость (Ц, Щ, Й, отчасти Ф в кириллице; Q, отчасти J в латинице).

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

Robots.txt для роботов?

На блоге «ODP (DMOZ) неофициально» нашёл ссылку на больше забавное, чем полезное исследование на тему применения файла robots.txt.

Andrew Wooster прошёлся скриптом, написанным на Python, по известнейшему каталогу DMOZ и скачал все robots.txt сайтов, которые там зарегистрированы. Получилась достаточно большая база — 12Гб (около 4,6 миллиона доменов). Бо́льшая часть сайтов (чуть больше 65%) этого файла не имеют, что ожидаемо, вот у меня, например, его тоже нет, у меня нечего запрещать к индексированию.

В остальной части встречались самые разные проблемы — это и нестандартные HTTP-коды ответа (например, 999 или 666), ошибочные mime-типы (например, text/x-perl, video/x-ms-asf или image/jpeg), файлы в других текстовых форматах (RTF, MS Word, HTML, LateX, KOffice — всё текстовые форматы), неверная кодировка (UTF-16 или, например, совсем уж экзотическая для многих французская «nf_z_62-010»), ошибочный формат комментариев (С++-комментарии или HTML), иструкции роботу на натуральных языках, файлы в формате info.txt, ошибки синтаксиса (опечатки, изменение порядка, ошибочное использование расширений), открыто указываются места расположений секретных каталогов (phpmyadmin, админка, частные данные) и так далее.

Какие выводы? В свете последних дискуссий о том, должен ли поисковик индексировать сайт без явного согласия на то веб-мастера, замечает Andrew Wooster, поисковикам придётся иметь очень нетривиальный парсер robots.txt, отпределяющий кодировки и форматы, поддерживающий все расширения и исправляющий любые ошибки. И даже в этом случае, если сторонники подобного запрета победят, ¾ интернета, если судить по кодам ответа, будет просто недоступна поисковым системам (DMOZ — достаточно хорошая выборка, это не мусорные сайты).

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

Крутой лох

Короны (0.54КиБ)

Корон на «Блоговаре» я набрал аж десять штук. Если знать как, это очень просто, с появлением ботов стало ещё проще — можно было просто встать в очередь и дожидаться, когда боты скинут первых. Сейчас дела обстоят значительно хуже. Вчера Ильшат Саетов обнаружил, что правила игры поменялись — боты применяют боевые заклинание не на того, кто стоит на первом месте, а на того, у кого корона.

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

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

Монетизация траффика

Обычно я плохо отношусь к рекламе, она навязчива, она тратит моё время без разрешения и отвлекает от основого содержания, паразитирует на нём. Посмотрите на средний сайт центральной полосы интернета — всё мигает, при заходе на страницу ¾ экрана закрыто Flash-баннером, вокруг и посредине текста — баннеры, рекламные вставки, ссылки и прочее. В свете всеобщей монетизации (два интересных блога, где я бываю чаще всего — Димы Смирнова и Ильи Бирмана монетизированы уже несколько месяцев), всё, кажется, должно бы стать ещё хуже. Но нет, я обнаружил, что меня это явление не раздражает.

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

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

Люди, которых я читаю, как талантливые и умные, выбирают ненавязчивые методы монетизации. «Sape» это вообще не реклама — это интимные отношения с «Яндексом», димины ссылки на сайт с фотографиями звёзд не пытаются играть с моими чувствами («такой хорошенький котёнок ест „Дрискас“», «после кружки пива „Мочаково“ они все пойдут к нему домой»), а заказные статьи, если они есть, действительно являются мнением авторов этих блогов.

Резюме — меня радует, что бо́льшая часть методов монетизации органично встраивается в контент. Это либо исключительно текстовая реклама (а значит её можно гармонично встроить в дизайн сайта и она не будет оттягивать на себя всё внимание, мешая сосредоточиться на главном), либо контекстная реклама, т. е., потенциально, увеличивающая ценность материала. Баннерная реклама попадается реже и это, как правило, партнёрская реклама, т. е. баннер можно изменить под дизайн сайта.

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

Пиксельные марки

Марка (4.74КиБ)

Интересный проект — пиксельные марки, собирает марки, наприсованный в пикельной технике художниками по всему миру. «Цена» на марке означает её популярность. На рисунке слева — марка известного дизайнера Sham. Правила участия очень просты — вы скачиваете один из двух шаблонов и рисуете в нём марку на одну из четырёх тем: «food», «fantasy», «sports» или «characters», выбираете каким шрифтом будет напечатана «цена» марки (один из пяти вариантов размеров) и отсылаете её на сайт.

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

Alternativa Game

На блоге «Флэш Потрошитель» увидел ссылку на любопытный проект — движок Alternativa3D (есть небольшая демострационная версия, нещадно отъедающая память).

Alternativa3D (81.40КиБ)

Alternativa3D — движок для MMORPG Alternative, который сделан на Flash9. В демонстрационной версии представлен небольшой кусок ланшафта с дорогами, травой, деревьями и домом. Всё это можно вращать, менять угол обзора. Скорость очень приличная — я попробовал игру на второй домашней машине, очень слабенькой (Pentium III-1.1GHz, 512Mb, GeForce3 Ti200), ниже 25 fps не опускается. Основные характеристики движка:

  • Трёхмерная геометрия и 3D-спрайты. Здания и ландшафт выполняются в “честном” 3D, объекты со сложной геометрией — в виде спрайтов, в т.ч. многофазных.
  • Система освещения, включающая направленные и точечные источники света. Изменение времени суток, рассеянный и солнечный свет, автоматическое затенение в углах, динамические тени, включая тени от спрайтов.
  • Настраиваемое качество текстур и освещения (при отсутствии аппаратной поддержки 3D-графики во Flash это особенно важно).
  • Низкая нагрузка на процессор (исключая моменты изменения освещения и вращения камеры, что происходит нечасто и не критично для игры).
    У создателей игры большие планы:

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

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

Любопытно будет взглянуть.

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

Неуловимый тег HYPE

Разбирая заметки сайта за 2000—2003 гг. (всё думаю — конвертировать их или не нужно), наткнулся на старую заметку, где я пытался разобраться с недокументированными тегами браузеров. На тот момент актуальными были Internet Explorer и, почивший ныне, Netscape Navigator (другой браузер под тем же именем зачем-то до сих пор выпускает AOL). Оказалось, что, по меньшей мере, один из «секретных» тегов браузера от Netscape дожил до наших дней — это HYPE.

Его до сих пор можно найти в исходниках ядра Gecko и, соответсвенно, он работает в браузерах, основанных на этом ядре. Основное его назначение туманно, по всей видимости, он должен выводить какую-то картинку и играть мелодию, но только на платформах Unix и Mac:

The hype tag is just for fun. It only effects the UNIX version which can affor to have a sound file compiled into the binary. If we have the memory, create a fake image tag to replace the <HYPE> tag and process it.

Легко убедиться, что тег присутствует, если попробовать в FireFox повесить на него любой CSS стиль. Кстати, тег таким же образом «работает» и в Опере, потому что (и это оказалось для меня большим сюрпризом) в Опере можно использовать любое сочетание букв в качестве тега. Самая старая Опера, которая у меня есть на компьютере — 8.02 прекрасно отобразила красный бордюр вокруг свежеизобретённого мной тега «REDBORDER» со стилем «background: 1px solid red».

Я думаю, что тег, возможно, не совсем бесполезен, так как Internet Explorer за тег его не считает. Возможно, таким образом можно применять CSS к какому-то блоку, незаметно для Internet Explorer или скрывать от него часть контента (применяя «display: none» на тег HYPE).

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

Перенос и FireFox

Как известно — FireFox последний из браузеров, который не поддерживает мягкий перенос (shy). Explorer, как один из продвинутых браузеров (не надо смеяться, я не шучу), начал его поддерживать самым первым. Мягким переносом верстальщик может указать где в длинном слове, при необходимости, можно сделать перенос, например, если слово не умещается в колонку. Я прочитал несколько статей на эту тему, но нигде эту задачу решить не смогли. Между тем, в FireFox действует нестандартный тег WBR, который позвляет добиться того же самого, но без символа переноса. Что не совсем то. Кстати, CSS применить к WBR нельзя. Как же быть?

Проблему я решил, но, увы, с потерями: придётся подбирать один параметр для каждого вида шрифта, слово разорванно тегом и поисковые машины проиндексируют его по частям, а полный (совместимый с Opera, FF и IE6) вариант довольно громоздок.

Во-первых, я сразу отказался от тега WBR, потому что любой HTML-валидатор укажет на то, что тег нестандартный. В FireFox действует Zero-width space, символ с кодом 8203, «пробел нулевой ширины». Он позволяет добиться того же самого — разорвать слово в определённом месте.

С идеей как это всё реализовать, я определился сразу — строка при переносе должна открывать концевой символ. А, если переноса нет, вставать поверх него. Вдоволь помучавшись с перекрытием через «position: absolute», и селектором «:after», я вдруг вспомнил о теге «Q», где можно указать текст перед и после этого тега (вообще-то указываются там открывающая и закрывающая кавычка, но сути-то это не меняет). Стало значительно проще. Для того, чтобы один символ затёр другой без остатка, я применяю «background: inherit» — наследуя фон из тегов выше.

Итак, один из минусов — это размер символа переноса в вашем экранном шрифте. Задаётся он в стиле (см. ниже) в параметре «margin-right» и для выбранной мной Tahoma равен 0.36em. Полный пример, работающий в FireFox таков (я выбрал «заброшенный» тег «VAR», чтобы реализовать задуманное):

<!-- Soft hyphen emulation in FireFox -->
<style type="text/css">
    body { background: white }
    var>q { quotes: "" "-"; margin-right: -0.36em }
    var { font-style: normal; background: inherit }
</style>

<var><q>оченьдлинноеслово&#8203;<var>продолжениеоченьдлинногослова</var></var>

Стоит браузеру разорвать слово в месте, где стоит пробел нулевой ширины и из-под второй половины слова появляется символ переноса. С полным вариантом всё немного сложнее — в Opera всё будет работать и так, в IE — нет. Там масса проблем — символ не будет перекрываться фоном, даже если вынести символ переноса из «Q» в текст, но можно заставить работать «shy». Для этого придётся убрать нулевой пробел, если его оставить в IE рядом с «shy», эффект будет непредвиденным.

Поэтому мы его убираем (кстати, можно попытаться вставить его через атрибут «content» селектором «var>var:before», если текст у нас в Unicode):

<!-- Soft hyphen in FireFox, Opera, IE6 -->
<style type="text/css">
    body { background: gray; font-size: 20px; font-family: Tahoma }
    var>q { quotes: "" "-"; margin-right: -0.36em }
    var { font-style: normal; background: inherit }
    * html var b { display: none }
</style>
<var><q>оченьдлинноеслово<b>&#8203;</b>&shy;<var>продолжениеоченьдлинногослова</var></var>

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

Про Никон

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

Человек я терпеливый, но после последней покупки решил рассказать вам печальную историю о приобретении никоновской оптики в Москве. По работе мне приходилось использовать оптику высокого класса, купленную в европе, потому я не сразу понял, что происходит =)

Началась вся беда естественно с… женщин ! =) Жена увлеклась фото. Первый сигнал — покупка полтинников 50/1.8 — из 3-х экземпляров 1 был более-менее резким, без ярко выраженных фф/бф. Почитав (в рунете!), что это практически норма, успокоился =) Далее 85/1.8 — та же история. Дальше интереснее! Покупка в фотомаркете 35-70/2.8 — выбирали вместе с продавцами, из 5 стекол все оказались с фф/бф ! Так же плачевно окончилась история с 55-200 VR. При тестовых снимках в Праге я был поражен его резкости для такой цены, потому здесь брал, не ожидая подвоха. А зря =) Сдал его обратно. Последняя капля — Никкор 12-24/4 — согласитесь, — недешевое стекло. Брак — мыло по левой стороне на 12—14мм. Обменял на… мыло по правой стороне на 12-14мм. Взял Сигмо — нет проблем =) При этом на западе такой проблемы не знают!

В Праге в Фотошкоде мне сказали, что в Россию техника Никон идет, минуя всего одно звено в производственной цепочке, — это ОТК =) Ни Никон, ни дистрибьюторов в этом винить нет смысла. Таможенные пошлины в нашей любимой стране таковы, что дилеры вынуждены были обратиться к производителю с просьбой снизить себестоимость техники. Как выяснилось — единственный способ, — исключить полную проверку на соответствие всех норм. А надо сказать, — 20% стоимости это как раз тестирование. Не знаю, относится ли это ко всей технике, ввозимой в Россию… к примеру, хороший знакомый из Эльдорадо сказал, что для их торговой сети это вообще норма, — это все, что втыкается в розетку =)

Сорри за сумбур, но накопилось =) Слишком уж много времени занимает беготня с возвратами и обменами.

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

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

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

P.S. Дима, можешь написать прямо на сайте какую глупость я написал.

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

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

Баннер «Corner» (31.41КиБ)

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

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

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 комментарий

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

500`000 (47.64КиБ)

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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 часов проигрывания музыки.

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

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 комментариев

Pump It Up

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

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

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

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

Реклама на CAPTCHA

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

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

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

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

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 комментарий

Веб-камеры

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

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

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

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

Редирект в 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 комментария

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

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

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

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

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

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

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

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

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

Тег 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.

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

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

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

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

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

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

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

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

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

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

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

Оптимизация 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 комментариев

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

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

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

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

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

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

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

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

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

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

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

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

IE6 background flicker bug

На первой странице студии Артемия Лебедева сегодня была новость о сайте «Хэлплайна» с движущимся, при наведении мышки, изображением пластмассовой уточки. Сама новость мне не интересна, а решение, которое позволяло уточке двигаться я посмотрел. Как и ожидалось — сдвиг позиции фонового изображения. Но есть и кое-что новое для меня — вызов «document.execCommand(„BackgroundImageCache“,false,true)» явно для Internet Explorer.

Как оказалось, это решение застарелого бага IE6 с миганием фона, подложенного под ссылку. Подробное описание описание условий возникновения бага можно найти в статье «Minimize Flickering CSS Background Images in IE6». Баг заметен, если в настройках кеширования браузера выбрать «Every visit to the page» для параметра «Check for newer versions of stored pages».

Вкратце, баг чаще всего проявляется при подкладывании фоновой картинки под ссылку — фон при наведении начинает неприятно мерцать, это Internet Explorer отсылает запросы на сервер, чтобы провеить не изменилась ли картинка, которую использовали как фон. Способ, который помогает решить проблему заключается в специальном JavaScript-вызове (хотя на мой взгляд лучше бы использовать «условную компиляцию» в IE), работает начиная с IE6SP1:

try {  document.execCommand('BackgroundImageCache', false, true);} catch(e) {}

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

Google Analytics — зачем это нужно?

Три отличных статьи по теме:

Google Analytics. Часть 1: Откровение для SEO-специалиста  Google Analytics. Часть 2: Откровение для владельца веб-сайта  Google Analytics. Часть 3: Анализ поведения посетителей сайта

Статьи полезны тем, что учат использовать «цели» (goals) и «воронки» (funnels) в Google Analytics. Если вы занимаетесь изготовлением сайтов, продающих какие-либо товары или услуги, статьи необходимо прочитать и научиться пользоваться этим инструментами.

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

Голубая роза

Голубая роза (24.17КиБ)

Долгие годы голубая роза была недостижимой мечтой селекционеров, то, что удавалось получить, было, в лучшем случае, сиреневого оттенка. Говорят, что существует старинный арабский искусственный способ получения розы цвета ляпис-лазури (возможно, на фотографии голубых роз с выставки цветов «Москва-99» именно такие розы), хранимый под большим секретом и описанный только со слухов. Рецепт прост — корни роз надсекаются и пропитываются краской индиго, перевязываются и засыпаются землёй.

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

Работа велась с 1990-го года, когда две фирмы — Suntory и Florigene решили сделать то, что не удалось селикционерам. Изначально учёные взяли ген цветка петуньи, но успеха это не возымело, зато удалось вывести в 1995 году синюю гвоздику. Компании намереваются продолжить свои исследования, чтобы улучшить цвет розы, более приблизить его к голубому. А пока они вывели более чем 20 вариантов гвоздик — жёлтые, розовые, с круглыми лепестками и так далее.

Голубые розы поступят в продажу в 2007—2008 годах.

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

Видеокарта open source

Помимо видеокамер с «open source» программной и аппаратной начинкой, есть ещё некоторое количество оборудования, которое разрабатывается по тем же принципам, например, «Project VGA» — видеокарта «open source» (в кавычках, потому что это понятие относится всё-таки к программному обеспечению). К сожалению, на текущий момент сайт недоступен, можно попробовать посмотреть на неё через кеш Google.

«Project VGA» — это проект разработки VGA-совместимой низкобюждетной карты с открытой аппаратной и программной частью. Если с открытостью, похоже, проблем нет (вторую версию схемы можно посмотреть при помощи редактора Cadsoft EAGLE), то низким бюджетом пока не получается — стомость деталей для сборки переваливает за €200 (правда, разработчики обещают подумать над мерами снижения цены).

Для чего нужны такие карты? Помимо экспериментов и получения новых знаний, они могут быть нужны там, где требуется повышенная секретность (у военных, например, ведь и у карты могут быть свои «закладки»), надёжность (к примеру — медики, спасатели; кто поручится, что видеокарта будет работать в определённых условиях, её ПО не содержит «заплаток», сделанных на скорую руку и так далее), тем людям, которые преданы делу «open source» до фанатизма или тем, кто любит всё делать своими руками.

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

Трафки™

На «Блоговаре» появился новый функционал — «трафки™» (от «травки» и «трафик»), идея, которую я вынашивал для другого проекта, но которая прекрасно подошла к «Блоговару». Смысл — расширить поле игры на блоги-участники, дать людям больше трафика и освежить игру. В принципе, это создаёт поле для квестов, но Дима ограничился (пока?) первым уровнем — только поиском ингредиентов и составлением из них «зелий», которые дают какие-то новые возможности.

Смысл, в конечном счёте — вы заходите не только на сайт «Блоговара», но и на блоги своих соперников, которые поставили специальный код. Этот код, в зависимости от каких-то условий, показывает вам или «трафку» или пустую картинку. «Трафку» можно собрать, они разные, из них позже можно «варить зелье» (в данной реализации — просто поменять их на зелье в магазине, т. е. тут это разновидность денег). Жаль Дима не реализовал придуманное мной зелье «Time shift» (позволяет применять заклинание сразу же, не дожидаясь окончания периода «бессилия», но увеличивает единоразово этот период ещё на два часа), зато сделал «Levitate» (правда, назвал его «Pervonax» и у меня была немного другая задумка — чтобы блог в любой сортировке рейтинга выходил первым на час).

P.S. Дима всё-таки сделал заклинание «Slowmo» (в девичестве — «Time Shift»).

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

Магический вектор

Магическое превращение (13.13КиБ)

Что делать, если у вас на руках растровое изображение, скажем, логотипа, исходник в «кривых» которого утерян? Его надо срочно вставить в скетч или дизайн, а инструментов под рукой нет? Рекомендую воспользоваться сервисом «Vector Magic».

Преобразование происходит в несколько этапов — на первом вам нужно выбрать тип исходного изображения: фотографическое, или было когда-то векторным с антиалиасингом или без него, на втором — качество, потом, если потребуется — широту используемой палитры цветов. Полученное изображение можно сохранить в форматах EPS, SVG или PNG.

Кстати, на сайте есть сравнение с Adobe Live Trace (Illustrator CS2) и Corel PowerTRACE (CorelDRAW X3), как не странно, выигрывает «Vector Magic» (а может и не странно, над этим продуктом трудились ребята из стенфордского университета).

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

Генерация «трафки™» или распределение по весам

Дима Смирнов применил интересное решение для генерации «трафок» на «Блоговаре»:

$rb   = str_pad (decbin (mt_rand (0,64)),6,"0", STR_PAD_LEFT);
$herb = (int) strpos ($rb, "1");

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

for ($i = 5; $i && mt_rand(0, 1); --$i);

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

«Опера» ищут траву или «мне это подкинули»

Давайте я вам всю мощь «Оперы» (последней) покажу? А то тут некоторые товарищи user.js для обнаружения «трафки™» начали придумывать. Тем не менее, JavaScript тут не нужен, хватит и CSS. Ведь у «Оперы», наряду с пользовательскими JavaScript, есть и пользовательские CSS. Так что, просто подключаем к «Опере» следующий код и следим за индикатором в левом верхнем углу экрана (рассказывать как подключать я не буду и другим не советую — пусть это будет фильтром).

a[href*="blogowar.ru/soldier"]  img[src*="blogowar.ru/herbs"]
{
        position: fixed; top: 4px; left: 4px; z-index:5000;
        background-image: url(http://blogowar.ru/favicon.ico);
        background-position: 50%;
        background-repeat: no-repeat;
        background-color: #eee;
        display: block;
        width: 25px; height: 25px;
}

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

Склонный к полноте друг поддержит в трудный год

Очень притча понравилась, правдивая:

Голодные волки встретили в лесу зайца и собрались его съесть, а заяц им говорит:
— Погодите, мной вы сильно не насытитесь, а я могу вас привести к стаду овец
Волки решили не есть зайца и пошли за ним. Идут, а голод мучает все сильнее, они значит спрашивают:
— Долго еще идти?
Заяц им отвечает:
— Вот, сразу за горой, которая перед нами
Начали подниматься на гору, но не совладали волки с голодом, набросились на зайцаи съели. Наестца не наелись, голод мучает, но соблазна перед глазами более нет.
Поднялись на гору и видят стадо овец.
Сытно отобедали, и тут один значит говорит:
— Как-то нехорошо с зайцем получилось
Другой:
— Да уж, пойдемте, останки что ли захороним?
Вернулись, похоронили зайца, поставили камень на могилку и думают, что же написать:
— «Другу зайцу» — не пойдет, не поймут, зачем друзья его съели
— «Врагу зайцу» — тоже не пойдет, какой же он враг, когда привел их к стаду овец
Думали, думали, и написали — «нашему консультанту и партнёру — зайцу»

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

ECMAScript 4 people

В ECMAScript 4 (JavaScript2 будет основан на этом языке) наконец-то появилась поддержка decimal — специального типа для работы с числами с фиксированным количеством десятичных знаков после запятой. В частности, это облегчит работу с денежными операциями.

Проблематику все понимают? Если нет, то хотя бы попробуйте сложить 0.1 и 0.7, умножить сумму на десять и округлить вниз в любом языке, который поддерживает числа с плавающей точкой. В языке, где числа с плавающей точкой представляются в соответствии со стандартом IEEE 754 (что у вас есть под рукой? JavaScript, Perl, PHP, MySQL) вы получите число 7. Почему так происходит — тема отдельного разговора, вкратце — дело в представлении числа с плавающей точкой на машинном уровне (на самом деле результатом данной суммы, в данном случае, с точки зрения такой реализации, будет 0.7999999999999999, а не 0.8) .

Decimal — специальный тип (чаще всего можно встретить его в СУБД), который позволяет манипулировать числами с фиксированной точкой. Зафиксировав точку, можно перейти к такому хранению числа, где таких погрешностей не будет.

В EMCAScript 4 (а так же в языках, на нём основанных — ActionScript 3 и JavaScript 2) есть два способа объявить число как decimal:

{
  use decimal;
  
  var a = 0.1;    //  a — decimal
  var b = 0.2;    //  b — decimal
  var c = a + b;  //  c — decimal (0.3)
}

var a = 0.1m;   //  a — decimal
var b = 0.2m;   //  b — decimal
var c = a + b;  //  c == 0.3m

Суффикс «m» пришёл из «C#» и расшифровывается как «money» («деньги»). В остальных языках программирования проблему обходят, работая с целыми числами. Перед выводом их просто делят на 100.

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

Weblog ping или блоги говорят

На мой взгляд, это очень здравая идея нового веба — что сайты должны обмениваться данными между собой по определённым протоколам. Самый известный — это RSS (экспорт статей сайта), чуть менее известные pingback и trackback (позволяют указать, что на статью сослались), набирающий популярность OpenID (позволяет авторизоваться на сайте пользователю другого сайта), незаслуженно забытый BLIMP (позволяет сайтам оповещать друг друга о битых ссылках).

Протокол «ping», точнее, это часть протокола XML-RPC WebLogs, позволяет сказать другому сайту «у меня по этому URL что-то изменилось». Это очень простая и хорошая идея. Например, поисковые машины (поиск по блогам от Яндекса, например, это умеет, Google — тоже) могут быстрее переиндексировать документы, а сайты — узнать об изменении RSS.

Благодаря ping я имею возможность использовать на сайте поиск Яндекса — ведь у меня есть возможность сообщить, где и что на сайте изменилось.

Как же делается ping? Надо всего лишь открыть соединение к выбранному серверу и передать по определённому URL сообщение. Имя сервера и URL можно найти в поиске или в любом списке «серверов ping для WordPress» (популярный движок блогов WordPress предоставляет пользователю возможность «пинговать» заданные сервера).

Сообщение отсылается по протоколу HTTP, методом POST, записывается в формате XML и имеет следующий (по версии Google) вид:

<?xml version="1.0"?>
<methodCall>
  <methodName>weblogUpdates.extendedPing</methodName>
  <params>
    <param>
      <value>Название вашего блога</value>
    </param>
    <param>
      <value>URL блога</value>
    </param>
    <param>
      <value>URL страницы, которая изменилась</value>
    </param>
    <param>
      <value>URL RSS, RDF или Atom, к которому относится страница</value>
    </param>
    <param>
      <value>Необязательный параметр — категория или «тег» сайта,
       можно указать несколько, разделённые символом «|»</value>
    </param>
  </params>
</methodCall>

На PHP самый простой способ всё это проделать — через Curl, хотя я формирую запрос и отсылаю его через fsockopen. Ответ часто можно и не читать, там содержится информация о том, выполнен ли запрос, но на практике это редко бывает интересно. Если не выполнен, то максимум, что вы можете сделать — это его повторить.

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

Крутое колдунство

Зелья на «Блоговар» (17.53КиБ)

Итак, я, похоже, первый, у кого на «Блоговаре» появилась возможность купить любое зелье. Напоминаю, что «зелья» — это то, что получается из «трафки», которую надо искать на сайтах, которые играют в «Блоговар».

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

В лицо шрифту (@font-face)

Когда я только начинал выходить в интернет (годах в 1997—1998), обе программы, который в то время считались браузерами — Internet Explorer 4.0 и Netscape Navigator 4.0 умели показывать так называемые «embeded fonts» («внедрённые шрифты», сейчас эту технологию всё чаще называют «web fonts»). IE использовал собственный формат — EOT («Embedded Font Technology»), а компания Netscape — лицензированную у Bitstream технологию.

С помощью «внедрённых шрифтов» в браузер можно было подгружать любой специально подготовленный шрифт и писать тексты им (например, в моём родном Татарстане так делали сайты на татарском языке, ещё до введения татарского алфавита на основе кириллицы в Unicode). Причём IE позволял включать в шрифт не все буквы, а только те, которые могут понадобиться. Технологию незаслуженно ругают — говорят, что из горе-дизайнеров на сайты будет больно смотреть. Запрещать инструмент только потому, что наверняка будут люди, которые не научатся им пользоваться?

Как обычно, то, что появляется в IE, со временем появляется и в других браузерах, только в другом виде. В данный момент «web fonts» является частью не вышедшей ещё спецификации CSS3 (впервые встречается ещё в CSS2) и уже есть браузер, который поддерживает часть возможностей — движок браузеров WebKit (на нём построен, например, браузер Safari) уже начал поддерживать правило «@font-face», позволяющее указывать загружаемый шрифт. Технический директор норвежской компании «Opera Software» Håkon Wium Lie обещал недавно, что «Опера» вот-вот начнёт поддерживать «@font-face», но WebKit обошёл на повороте.

web font (4.50КиБ)

В CSS это всё выглядит следующим образом:

@font-face {
  font-family: "Kimberley";
  src: url(http://www.princexml.com/fonts/larabie/kimberle.ttf) format("truetype");
}
h1 { font-family: "Kimberley", sans-serif }

Указывается путь до шрифта, его имя в документе и его формат («truetype»).

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

Brainlessness

Гомофобофилофоб — не любит тех, кто поддерживает гомофобов.

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

Все мы немного яблоко

Очень хорошую статью Евгения Лотоша нашёл «Ошибки и штампы в фантастике». Вот роскошное место про генетически модифицированные продукты:

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

Первый — это опасность контакта человеческого организма с модифицированными геномами таких растений. В чем опасность этого контакта, не расшифровывается. Опасность получить довесок к своим собственным генам, разумеется, является совершенно бредовой и высосанной из пальца. Помимо того, что написано чуть выше, нужно помнить, что человеческий (и не только) организм постоянно пропускает через свой кишечник массу животного и растительного генетического материала. И ничего — стручки и шерсть на нас расти пока еще не начали. И не вырастут — все, что попадает в наш желудок, в процессе пищеварения расщепляется на простейшие составляющие. У сложнейшей гигантской молекулы ДНК примерно столько же шансов попасть из кишечника в кровь неповрежденной, сколько у куска льда в доменной печи — дожить до следующего рассвета. Если провести грубую аналогию, то бессмысленно сыпать запчасти в бензобак — они все равно не встроятся в карбюратор и подвеску.

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

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

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

Дальше — про серебро
А вот, про чудестные свойства серебра, против обработки которым воды уже несколько раз высказывались учёные:

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

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

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

The Sims2

The Sims 2 Mobile (38.97КиБ)

Sims2, похоже, уже всюду запускается. Для PSP тоже есть какая-то версия, я даже пытался в неё играть. Теперь вот есть «The Sims2 Mobile», написана в виде мидлета, т. е. будет запускаться на любом телефоне, где поддерживается Java. Мне кажется, что так играть — удовольствие сомнительное, для маньяков, впрочем, я на Siemens S55 книжки читал, а экранчик у него, по нынешним временам, смешной.

Управление простое: 4 и 6 — выбор объекта, 2 и 8 — перемещение по меню, правая функциональная клавиша — выбор или использование объекта, левая — открыть виртуальный мобильник. Так же работает джойстик (на тех моделях, где он есть).

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

CSS3 text-shadow

Благодаря БлоGноту узнал об официальном открытии сервиса «Я.ру», походил по ссылкам и обратил внимание, что в Opera 9.50 некоторые ссылки как-то интересно подсвечиваются. До того интересно, что я было подумал, что «оперовцы» реализовали CSS-фильтры из Internet Explorer. Оказывается, нет, это работает CSS3-свойство text-shadow (позволяет добавлять к тексту тень), которое на данный момент поддерживается браузерами Safari (и его кузенами), Konqueror, iCab и теперь ещё «Оперой».

Интересно, что тени (text-shadow) можно накладывать на текст по нескольку раз, что даёт интересные визуальные эффекты, например тот, который вы увидите ниже, если ваш веб-браузер поддерживает text-shadow:

Многократные тени — впечатляющая штука

Как обычно, идея позаимствована из Internet Explrorer, там есть фильтр «drop shadow», который занимается тем же самым.

<div style="cursor:hand;height:160px; padding:10px; font:bold 13pt Verdana;
        filter:progid:DXImageTransform.Microsoft.dropshadow(OffX=5, OffY=5, 
        Color='gray', Positive='true')">
Текст с тенью
</div>

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

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

ЖЖ от 2007-11-19 13:40:00

Слово новое придумал — альфаамериканец (альфа-версия американца). Это те, кто уезжают в Америку с целью «попробовать как получится».

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

Сайт ожил!

Технический сбой, мешавший серверу, на котором хостится мой сайт, работать нормально, устранён, добро пожаловать назад!

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

iOwn Mokia N95

Серебристый слайдер-телефон с Bluetooth, экраном с изображением чашки чая и цветочными лепестками, клавиатурой и отдельным круглым модулем камеры с объективом в центре.
CECT P168

Удалось на днях подержать в руках примечательный телефон — китайскую подделку телефона Nokia N95. Купленную господином S. в Нижнем Новгороде с рук за 5 тысяч рублей под видом оригинальной Nokia. С первого взгляда отличить подделку трудно, особенно, если оригинал не лежит под носом каждый день — телефон как телефон, но стоит его включить… Меня сразу смутило качество прорисовки иконок, шрифт и, уже чуть позднее — русификация.

Китайцы в своей оригинальной манере. В меню встречаются пункты «короткий путь» (shortcut), «калечить» (disable) и тому подобные перлы. Кстати, за 5 тысяч телефон более чем хорош — большой сенсорный (!) экран в три дюйма с разрешением 320×240 точек, поддерживает 260000 цветов, Bluetooth, GPRS, два слота под SIM (одновременно не используются, в меню есть переключатель), 64-канальная полифония, очень громкие стереодинамики, громче всего, что я только слышал у телефонов, поддержка MP3, MIDI, какого-то набора кодеков WAV, 3GP, MPEG4, распознавание рукописного ввода (только английские буквы), J2ME 2.0, куча приложений (есть даже для вычисления менструального цикла), две видеокамеры 1,3 мегапикселя (1280×1024), поддержка карт T-Flash (MicroSD) до 4ГБ (на двух разделах). Размеры — 107×53×14 мм, вес — 90 грамм. Работает в режиме ожидания до 150 часов, в режиме разговора — 180-300 минут.

Интересно, что сторонние программы мне не потребовались — при подключении к компьютеру телефон сразу предлагает выбрать один из режимов: хранилище данных (как обычная флешка), веб-камера (!!) или модем, драйвера на каждый режим установились в Windows автоматически. Кстати, есть эта же модель, сделанная под iPhone (на корпусе написано «iOwn»). Китайцам подтянуть бы русификацию, убрать фальшивые надписи с корпуса, предложить поддержку и будет хороший телефон тысяч за 7-10.

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

Собаку съел, а хвост отдал врагу

Как наверное многим известно, некоторые народные пословицы со временем редуцировались, а их исходный смысл многих совершенно потерялся. Из таких примеров я помню только «собаку съел (хвостом подавился)». Решил посмотреть какие ещё примеры такой народной забывчивости существуют. В качестве источника взял книгу Эдуарда Вартаньяна «Путешествие в слово» и то немногое, что удалось найти в Яндексе.

  • чудеса в решете (дыр много, а вылезти некуда)
  • в ступе воду толочь (вода будет)
  • голод не тетка (пирожка не подсунет)
  • собака на сене (лежит, сама не ест и скотине не дает)
  • не все коту масленица (будет и великий пост)
  • собаку съел (только хвостом подавился)
  • палка, о двух концах (туда и сюда бьет)
  • бабушка (гадала, да) надвое сказала (то ли будет, то ли нет, то ли дождик, то ли снег)
  • славны бубны за горами (а к нам придут, что лукошко)
  • новая метла (чисто метёт)
  • пьяному море по колено (а лужа по уши)
  • мокрая курица (а тоже петушится)
  • пожалел волк кобылу (оставил хвот да гриву)
  • (от овса кони не рыщут) от добра добра не ищут
  • игла в стог сена (упала пиши пропало)
  • (менять ухо на ухо) баш на баш (без придачи)
    Дополнение от читателей:
  • смех смехом (а шутка на сторону)
  • с миру по нитке (нищему рубаха, с бору по сосенке — мёртвому кафтан)
  • слово серебро, а молчание золото (если лоб медный)
  • курочка по зёрнышку клюёт (а весь двор обо…ран)
  • за одного битого двух не битых дают (да и то не берут)

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

ЖЖ от 2007-11-21 17:20:00

Время от времени пересекаюсь с гражданами, которые (в XXI веке!) упорно считают, что им принадлежит место, в границах которого они родились. Причём граница их «владений» у них совпадает с границей их двора/города/страны, в зависимости от того, с кем им нужно дистанцироваться. И что ещё интересно — граница не фиксируется на момент их рождения, она… ползёт. Изменяется граница города или страны — изменяется и то, что они считают «своим местом», даже если они пальцем не пошевилили, чтобы граница подвинулась.

Я, конечно, толерантен ко многим тараканам в голове, но только до тех пор, пока эти тараканы не начинают ползать по мне. Потому что я, конечно, космополит, но всё-таки считаю свои тело и мозг своей собственностью, а люди в аватаре ксенофобов — самые неприятные для меня на свете существа.

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

Анимация в вебе

Как известно, единственный формат анимированных картинок, который был доступен в вебе до недавнего времени — Animated GIF. Его недостатки общеизвестны — поддерживается только 256 цветов, нет полупрозрачности (альфа-канала). На смену GIF, теоритически, должен прийти более совершенный PNG, с выходом Internet Explorer 7, который стал поддерживать альфа-канал почти так же хорошо, как его младшие братья, ситуация всё улучшается, но…

В PNG, увы, нет анимации. Три новых формата, которые пока знакомы редкому веб-мастеру — APNG, MNG и SVG позволяют, в какой-то степени, исправить это досадное упущение.

MNG (Multiple-image Network Graphics) в данный момент поддерживается без плагинов в Konqueror и Netscape 6 и выше. Формат похож на PNG, но использует больше типов данных. Фрейм, используемый в анимации, может сохраняться в форматах PNG или JNG (JPEG Network Graphics, по сути — JPEG с прозрачностью).

Анимированный PNG (10.98КиБ)

APNG (Animated PNG) — формат расширяющий PNG и совместимый сверху вниз. Если ваш браузер не поддерживает APNG, вы увидите просто статичную картинку. В настоящее время формат поддерживают Opera 9.50 и далёкий пока от релиза FireFox 3. Картинка выше этого абзаца — тест, поддерживает ли ваш браузер APNG. Если вы видите «Your browser does support Animated PNG», значит поддержка есть.

SVG (Scalable Vector Graphics) — относительно молодой векторный формат, который поддерживают достаточно много браузеров: Opera с восьмой версии, Safari 3 и выше, FireFox с версии 1.5, а так же все браузеры на движке Gecko, начиная с версии 1.8. Это XML формат, который для меньшего размера можно сжать алгоритмом GZip (формат SVGZ). Обычно, анимацию в SVG делают при помощи внедрённого туда EMCAScript, сменяя кадры из картинок в любом другом формате. Не совсем то, но поддерживается почти любым современным браузером, хотя в стандарте SVG есть собственные методы анимации, по этой теме можно почитать статью на несложном английском «Advanced SVG Animation Techniques».

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

Непрозрачное поведение Gecko

У Данила Иванова в блоге нашёл упоминание о том как лечить некорректное поведение браузеров на базе Gecko (FireFox, Camino, Flock, Seamonkey и так далее) при смене CSS-свойства «opacity»:

Время от времени сталкиваюсь с бажным поведением Gecko при смене opacity. То блок не туда встанет, то скролл обнулится. Хозяйке на заметку: помогает opacity:.99

Ни разу не сталкивался, но знать о таких вещах полезно.

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

Великарусский англицкий

Смешно, но некоторые новые сленговые слова, которые употребляют программисты и люди, приближенные к компьютеру, были когда-то в русском языке. Конечно, это были не те же самые слова, а просто звучат так же. Итак, моё исследование словаря Даля (особенно мне нравится, что в словосочетании «грязных хак» есть правда):

ЛОЧИТЬ (от «to lock», «лочить файл») что, влад. вят. (лочу; лочет и локчет) лакать. Собака лочет, локчет или лакает. Лоча ж. бурда, помои, поганое или дурное питье, похлебка. Лочкан м. лочканье собират. перм. татарин, татарва, бусурмане. Лочича? растен. Lampsana communis, бородавник, бородавница, бересква.

АСЕЧКА (ICQ), аська ж. перм. шапка без ушей, с круглым верхом.

БРИК (от искажённого «to break», точка останова при отладке) м. двухмачтовое мореходное судно, военное или купеческое, близко подходящее к корвету (трехмачтовому); купеческий бриг от 150 до 300 тонн. Бриговый, бричный, относящийся ко бригам, им свойственный.

ХАК (от «to hack», например, «сделать хак») м. и хаки мн. астрах. персидск. соляные грязи.

ФРЯ (одно из названий freeBSD) несклон. ж. укорно: важная особа. Эка фря! ты что за фря такая? Фрякаться вят. подымать нос, зазнаваться, важничать собою. Фрякать кем? тул.-каш. кланяться, поклонничать, просить? Я вами не фрякаю, не нуждаюсь в вас.

КРЯК (от «to crack», например, «найти кряк к программе») м. лягушачья икра, клек, вакотье, норост.

ПАЧИТЬ (от «to patch», производный глагол от «пачт» или (более редкий вариант) «пач») или пачиться, твер. прислуживать, прислуживаться кому и хлопотать. Не пачте, — сь, не беспокойтесь, не трудитесь.

РАСШАРИВАТЬ (от «to share», «расшарить папку») , расшарить что, шаря раскидать, разбросать. -ся, быть расшарену.

БУТ (от «boot», загрузочная область диска) м. ниж.-арз. слепень, овод (бутускать? или будить, будоражить?)

ТАСК (от «task», задача), буксир. Взять судно в таск.

ЛАГ (от «to lag», задержка от нехватки ресурсов компьютера или сети в играх) м. морск. одна сторона, бок корабля, относительно к пушкам.

БАЖИТЬ (от «bug», «бажить» — работать с ошибками) вологодск. перм. новг. яросл. ниж., бажить яросл. вят., бажанить новг. желать, хотеть чего, сильно и прихотливо просить, как больной или ребенок; жаждать, алкать чего.

ХОСТ («host», сервер в интернете) арх.-мез. Идти в хост, идти на промысел, за морским зверем, по плавучему льду.

КАТ (от «to cut», «убирать под кат») м. южн. зап. палач или заплечный мастер.

СКРИН (от «screen», экран компьютера) м. скринка ж. скриночка, стар. скрыня южн. малорос. (от скрыть, крышка?) укладка, сундук, коробья, коробейка; ларец.

СКИПАТЬСЯ (от «to skip», «текст поскипался», «ну, я скипнул») скипеться, твердеть кипением, становиться комом.

МОНЯ (от «monitor», не столько распространённое как «моник» название монитора) ж. кур. твер. брюхо, чрево, пузо, желудок.

БАНИТЬ (от «to ban», лишать доступа куда-либо) что, стар. южн. зап. мыть, чистить водою.

БОТ (программа, иммитирующая действия человека) м. оренб. перм. и др. ботало, шест с поперечною дощечкою, брусочком, для ботания, сгонки рыбы, особенно форели, пеструшки, хариусов, в речушках.

ДЕМА (от «demonstration», демонстрационная версия программы), демка? об. твер. обманщик, плут.

НИК (от «nickname», псевдоним) м.затылок, загривок, задняя сторона шеи.

КУКА (от «cookie», специальные файлы данных браузера) ж. кулак, сжатая ладонь.

ЛАН (от «LAN», локальная сеть) м. южн. вор. тул. поле, нива, пашня; большая засеянная полоса, около десятка десятин

В скобках мои добавления — какой термин я имею ввиду. Дополнения приветствуются.

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

I see a fire in the hole

Наверное многие видели в американских фильмах как Крутые Парни на боевых операциях подают друг другу определённые знаки. Многие из них понятны, но есть и очень специфические вещи, которые понять трудно. В интернете есть замечательная страничка «Standardized Hand Signals For Close Range Engagement (C.R.E.) Operations», где на картинках всё прекрасно понятно. Язык английский, но на уровне первого класса.

Сигнал «снайпер» (14.56КиБ)

Например, на рисунке выше солдат показывает сигнал «снайпер».

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

Размер имеет значение

Мне тут подумалось, что мониторы 16:9 удачный ход для производителей мониторов — на прилавке чисто визуально кажется, что wide-мониторы (16:9) имеют большую площадь по сравнению с «традиционными» (4:3) при той же диагонали. Много раз видел в глазах недоверие, когда сообщал людям, что дела обстоят ровно наоборот. Попробуем подсчитать?

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

4 * x * 3 * x = S4:3 16 * x * 9 * x = S16:9

или

12 * x² = S4:3 144 * x² = S16:9

Теперь осталось найти величину «x». Расчитать её просто по теореме Пифагора (сумма квадратов катетов равна квадрату гипотенузы, если кто позабыл что это такое):

(4x)² + (3x)² = D²4:3 (16x)² + (9x)² = D²16:9

Для определённости можно взять диагональ 20 дюймов. Попробуем найти «x» и подсчитать площади:

x² = 20² / (4² + 3²) ; S4:3 = 12 * (400 / 25) ; S4:3 = 192 x² = 20² / (16² + 9²) ; S16:9 = 144 * (400 / 337) ; S16:9 = 171

Вывод: монитор 4:3 с диагональю 20′′ больше монитора 16:9 с той же диагональю на 21 дюйм² (на 135 см²).

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

Генсек (general sexual)

Дарю два новых свежепридуманных слова: «гетеросятина» и «гетеросек».

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

«Очистка» плавающих блоков

В блоге «Life Style» полезная статья «„Очистка“ плавающих блоков». Новое решение старой проблемы — плавающие блоки не растягивают внешний контейнер, которая обычно решается добавлением дополнительного элемента с «clear: both». Вкратце, рецепт выглядит следующим способом, но рекомендую взглянуть и на полную статью:

div.container {
    overflow: auto;
    width: 100%
}

В комментариях подсказали ссылку на первоисточник: http://www.quirksmode.org/css/clearing.html.

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

Транскриптор

Как-то упустил на сайте студии Лебедева прекрасный инструмент — «транскриптор». Обычно, если я встречаю в тексте на иностранных сайтах имя, фамилию, незнакомое название, я не беру на себя ответственность за транскрибированние этих слов (т. е. запись их на русском с приблизительным сохранением звучания), пишу как есть, тем более, откуда мне знать как, к примеру, на чешском звучат «Jůza» или «Třeblický».

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

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

Это у американцев странные законы?

Нашёл на блоге «HeavyWave» ссылку на статью в «BBC Russian» «Саудовская Аравия: 200 розг жертве насилия». Выдержка:

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

Мужчина оказался приятелем девушки. Однако совсем не он выступил в роли насильника.

Машина, в которой находились молодые люди, была остановлена бандой из семи человек. Оба были жестоко изнасилованы.

Четверо из участников банды были признаны виновными по статье о похищении людей.

Их жертвам тоже определили наказание — по 90 ударов плетьми каждому за «незаконные отношения».

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

Адвоката, вызвавшегося защищать девушку, не допустили в зал суда, а затем и вовсе лишили лицензии на адвокатскую деятельность.

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

Минздрав предупреждает!

Я давно подозревал, что социальная реклама не на тех струнах пытается играть. Ну какое там самоуважение, забота о чужих и близких? Ревность, чувство собственничества, секс! Полюбуйтесь на эту картину неизвестного мне художника (кстати, никто источник не знает?):

Пока ты находишься в табачном плену, сосед-спортсмен еб… твою жену (48.42КиБ)

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

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

«Ты суслика видишь? — Нет. — И я нет. А он есть!» (фильм «ДМБ»)

До протокола HTTP, известного любому, кто бывает в интернете (для чайников — посмотрите в строку браузера, видите там «http://»?), в интернете был протокол «gopher» (с английского «суслик»). Протокол был широко распространён до изобретения World Wide Web, занимал 70-й порт и был больше похож на FTP — файловая структура с папками и документами, поддерживался тип документа (но куда более простенько, чем MIME-типы в HTTP), в том числе HTML и даже поисковые запросы.

Протокол придумала целая команда авторов  — Mark McCahill, Farhad Anklesaria, Paul Lindner, Dan Torrey и Bob Alberti из университета Минесоты в 1991-м году и теперь он медленно умирает на каких-то блогами забытых серверах в дальних, тёмных уголках интернета.

Сейчас в интернете насчитывается около 100 gopher-серверов. Если у вас FireFox или Lynx, то можете попытаться зайти на один из последних серверов этого типа. Konqueror поддерживает протокол лишь частично, Safari и Opera не поддерживают (точнее, «Опера» требует использование специального прокси), в Internet Explorer поддержка отключена ещё в июле 2002-го. Как не странно, поклонники протокола существуют до сих пор. Есть протокол расширения Gopher+ и основанный на нём трёхмерный GopherVR.

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

ИзнаСИлование программного кода

Видели когда-нибудь нижепроцитированное? Веб-сервер Apache на домашней машине сегодня порадовал при попытке скачать на вторую машину фильм в 3.9 гигабайта (обратите внимание на «content-length»). Корень проблемы ясен — какому-то программисту зачем-то понадобилось использовать знаковый integer для поля длины файла, соответственно всё, что больше двух гигабайт становится отрицательной длины. Чуть попозже попробую присоединить к этому файлу ещё мегабат двести и посмотреть как лопнет мозг у Apache при попытке засунуть это значение в 32 бита.

HTTP/1.1 200 OK
Date: Thu, 29 Nov 2007 18:04:09 GMT
Server: Apache/1.3.33 (Win32) PHP/5.2.0-dev
Last-Modified: Thu, 21 Jun 2007 11:27:00 GMT
ETag: "0-f702ceea-467a6084"
Accept-Ranges: bytes
Content-Length: -150810902
Connection: close
Content-Type: video/x-msvideo

Попробовал. Файл 4171 мегабайт Apache 1.3.33 показал как 74-х мегабайтный.

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

Сжатие картинок

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

PNG. Для сжатия PNG использовался известнейший pngcrush. Интересен в режиме «brute force» (перебора), где перебираются комбинации фильтров (фильтры — это специализированные методы сжатия, например, для градиента и т. д.). Я запускал сделующим образом: «pngcrush -brute -fix -e .png1 *.png». В итоге, все файлы png у меня в папке получают свою оптимизированную копию с расширением png1. Есть опасный момент — если у вас есть файлы APNG, pngcrush их превратит в файл без анимации. Экономия получилась порядка 7%.

JPEG. В JPEG’e особо оптимизировать нечего, формат сжатия с потерями, поэтому оптимизацию без участия человека не произвести — трудно просчитать насколько критично изменился рисунок. Оптимизировать тут нечего, но можно убрать мусор — многие программы записывают в файл комментарии, лишнюю информацию. Я использовал для чистки PureJPEG, после него прошёлся своим Photoshop Crap Remover, чтобы дочистить файл. Формат запуска PureJPEG следующий: «dir /B /S /A-D *.jpg | purejpeg», в итоге все файлы с расширением jpg будут вычищены. Моя утилита написана на PHP, так что я даже не буду упоминать как её запустить — кому надо разберётся, остальным объяснить очень трудно. Экономия — около 10%.

GIF. Несмотря на то, что утилите GIFLite уже около 12 лет, мне она кажется лидером по переупаковке GIF. Утилита написана White River Software, её разработка начата ещё в 1992 году и она рабоатет под DOS, т. е. должна запускаться даже в Linux из-под какого-нибудь DOSEmu. Утилита платная, но кому платить уже непонятно — никаких координат этой фирмы в сети нет. Поэтому ищем любой ключ, запускаем giflite с ключём /R и «регистрируемся».

Запускать её сложнее, чем предыдущие — в 1992-м году длинных имён не было, да и перебирать свои методы она не умеет. Поэтому я написал небольшую batch-программу. Она проходит по всем GIF-файлам в папке, применяет на каждый один из четырёх методов (видимо выбирается какая-то стратегия для выбора словаря в LZW-сжатии), после чего выбирает файл с наименьшим размером. Экономия составила около 8%.

giflite.cmd — внутри по ссылке
giflite.cmd:

@ECHO OFF
REM Написал Евгений «BOLK» Степанищев. 2007.

MKDIR GIFLITE.$$$ 2>nul

REM Основной цикл обработки файлов GIF
FOR /R %%N IN (*.gif) DO @CALL :method %%N

REM Удаляем весь мусор, который мог остаться
DEL /Q giflite.tmp 2>nul
RMDIR /S /Q GIFLITE.$$$
EXIT

:method
REM Перебираем методы
FOR %%M IN (0 1 2 3) DO @CALL :giflite %%M %%~s1 %1

REM Сортируем полученное по размеру и забираем последний (наименьший) файл
FOR /F "usebackq skip=3" %%R IN (`DIR /B /O-S GIFLITE.$$$`) DO @CALL :getresult %%R %1
GOTO :EOF

:getresult
REM Переписываем файл на место прежнего, удаляем мусор
MOVE /Y GIFLITE.$$$%1 %2
DEL /Q GIFLITE.$$$*.*
GOTO :EOF

:giflite
REM Запускаем преобразование
GIFLITE.EXE -t -h -m%1 -o %2 GIFLITE.$$$%1 >nul 2>nul

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

← сюда туда →