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

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

Беспредел белорусских властей

У Сергея Островского в ЖЖ статья о том как его задержали ГАИ в Минске и во что это вылилось, текст длинный, но… э… познавательный. Небольшая цитата (Зверуга — фамилия одного из гаишников):

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

Запуганный мужичок влез в авто, посмотрел на задыхающегося и не могущего говорить меня и выслушал историю о том, что я напал на сотрудников ГАИ, Зверуге порвал левый карман куртки (напомню, он сидел за рулем) и сбил рацию, начав махать ногами в машине. Мужичок поцокал языком, дал свои паспортные данные и был таков.
2 комментария
17 апреля 2008 14:08

Масштабирование браузерами изображений

Масштабирование браузерами изображений (33.74КБ) Очень полезная ссылочка «Масштабирование картинок в браузерах», позволяет наглядно оценить разницу при уменьшении и увеличении различными браузерами изображений.
Комментировать
16 апреля 2008 18:35

Линк на английские тексты

Линк на английские текст (7.19КБ) Сделал у себя на блоге хорошую, на мой взгляд, функцию — подсветку ссылок на тексты на английском языке. Сам я не люблю читать английские тексты, так как знаю язык недостаточно, и, кликнув на ссылку, которая ведёт на английский текст, раздражаюсь. Думаю, я не одинок. Для таких как я, сделал специальный флажок на ссылке (появляется при наведении на ссылку), на скриншоте его видно. Для таких как я он означает «по ссылке можно не ходить».
19 комментариев
16 апреля 2008 17:03

Spesta 2.21a+b

Spesta2 (0.30КБ) Вышла Spesta 2.21a+b (качать — там же).

Список изменений: Спасибо владельцу блога «Тут хумора.NET», который тестирует эту версию уже неделю.
40 комментариев
15 апреля 2008 18:04

Изречение

В хорошем изречении что важно? Чтобы было банально и присутсвовала элементарная игра слов. Нияз Сайфутдинов (более известный простому народу по одному из «бизнес-линчей» на сайте студии Лебедева) родил недавно неплохое, на мой взгляд, изречение:

«Живи, пока живёшь, потом такой возможности не будет»
Комментировать
15 апреля 2008 14:31

Data URL: так ли страшны издержки

Я уже несколько раз писал о data URL, так что наверное все уже запомнили что это такое. У этого способа внедрения ресурсов есть интересные плюсы, но, в своей массе, веб-мастера не торопятся использовать его из-за мнимых минусов, которые я хочу сейчас рассмотреть. Все эти минусы — мнимые.

По первому пункту. Многие сайты используют gzip-сжатие веб-страниц, что позволяет сильно уменьшить размер страницы. Я прогнал через base64 всю базу изображений моего сайта (примерно 350 картинок), после чего сжал их gzip. Размер, по сравнению с первоначальным вырос, в среднем, на 2%. Если вы используете сжатие страниц, вам не нужно бояться увеличения размера страницы.

По второму. Даже начинающий верстальщик знает как использовать изображение из data URL несколько раз. Для этого надо поместить его в CSS и сделать фоном контейнера.

По третьем пункту я уже высказывался. В IE до восьмой версии не было data URL (в IE8b1 поддержка есть, но очень урезанная — всего 32Кб данных), но я придумал способ как внедрять изображения в IE.
13 комментариев
14 апреля 2008 03:36

Новоселье у Димы Смирнова II

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

На фото я помогаю Кукуцу худеть, тогда как Дима занимается балетом.

Белая берёза снова на коне (51.54КБ)

Как видно — занят полезным делом и не моргаю. А фото, которое я запорол морганием можно увидеть в у Димы, там Кукуц в аватаре кузена Оно (Cousin Itt).
16 комментариев
14 апреля 2008 00:08

Автообновление CMS

У Бирмана встретил на сайте его движка блогов «e2»:

Рекламируют автообновление:

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

Я действительно гений. После того, как я это сделал в 2004 году, это стало появляться и в других веб-приложениях.


TimeLabs CMS (23.89КБ)

в 2003-м появилась TimeLabs CMS, хорошая система для тех лет, с контекстным меню, автообновлением, модулем, позволяющим создавать произвольные типы данных (причём более гибко, чем в «Битриксе» даже сейчас), безопасным логином (через JavaScript SHA1), гибкой системой прав, системой контекстной помощи, PHP cron, AJAX-модулем общения админов (админка была расчитана на IE) и так далее — интересных особенностей там была куча.

Система прав, локализатор и модуль файла конфигурации сейчас используется в Lixil CMS, а миниязык блокировки по IP — в проекте KVNru.ru. Так что часть системы жива и сейчас, не говоря уже о том, что до сих пор существуют сайты на этой CMS (скриншот взят с одного из таких сайтов).
14 комментариев
13 апреля 2008 17:09

Новоселье у Димы Смирнова

Побывал у Димы Смирнова на новоселье. Наконец-то сделали групповой снимок создателей движка «Регистр» — первого популярного движка блогов в России. Число установленных копий в те далёкие времена (2002—03 гг.) достигало нескольких тысяч.

Слева направо: Дмитрий Смирнов aka «Spectator», Роман Иванов aka «Kukutz», Евгений Степанищев aka «BOLK».

Дмитрий Смирнов, Kukutz, BOLK (45.96КБ)

Примечательно, что все мы понаехали — первым Роман из Екатеринбурга, потом я из Казани, следом Дима из Новосибирска.
32 комментария
13 апреля 2008 15:03

Урезаем текст средствами CSS, часть II

Как мне справедливо подсказали в предыдущей заметке большинство современных браузеров поддерживает свойство text-overflow, позволяющее добиться того, что я сделал в предыдущем примере одной строкой. Работает для всех браузеров, кроме FireFox, у него таких стилей нет.

Я модифицировал предыдущий пример так, чтобы он работал в FireFox и сделал для остальных браузеров поддержку через их родные свойства. Получилось несколько громоздко, но это первый в интернете пример, работающий без JavaScript:
<style type="text/css">
body { background: white; color: black; font-family: Arial; font-size: 16px }

.crop div div
{
    text-overflow: ellipsis;    /* Internet Explorer 6.0 и выше, Safari, Konqueror */
    -o-text-overflow: ellipsis; /* Opera 9.0TP1 и выше */
    white-space: nowrap;
    width: 100%;                /* для IE */
    overflow: hidden;
}

.crop ins, .crop del { display: none } /* скрываем свои хаки от остальных браузеров */

/* стили только для FF, см. http://bolknote.ru/2008/03/14/~1623/ */
@-moz-document url-prefix()
{ 
    /* ширина «…» — 16px, высота строки — 18px */
    .crop          { overflow: hidden; height: 18px; width: 100% }
    .crop div      { clear: none; float: left }
    .crop div div  { white-space: nowrap; overflow: hidden; margin-right: 16px; width: auto}
    .crop ins      { float: right; margin-left: -16px }

    /* margin делаем на -1px уже, чем ширина «…», чтобы блок «свалился» чуть раньше */
    .crop del      { float: right; color: white; background: white; width: 16x; margin-left: -15px }
    .crop del, .crop ins { display: block; text-decoration: none }
}
</style>
<div style="max-width: 700px; margin-left: 10px">

<div class="crop">
<div>
    <div>Who let the dogs out (woof, woof, woof, woof)!</div>
    <ins>&hellip;</ins> 
    <del>&hellip;</del>
</div>
</div>

</div>
Вот такая эмуляция text-overflow в FireFox.
1 комментарий
12 апреля 2008 01:06

Урезаем текст средствами CSS: concept proof

Возникла у меня на днях задача — обрезать текст средствами браузера с красивым многоточием, если текст не умещался. Обычно такую проблему решают через JavaScript, но мне пришло в голову сделать это средствами CSS, я даже сразу придумал откуда можно начать.

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

CSS text cropping в «Сафари» (6.78КБ)

В качестве concept proof я накидал небольшой пример, который сразу заработал в «Опере» и «Сафари», FF2 и IE7 возможностями победнее, они не потянули, видимо, в них придётся убрать селектор «:after» и заменить всё тегами с троеточиями внутри.

Сам код:
<style type="text/css">
	body { background: white; color: black; font-family: Arial; font-size: 16px }

	div.crop { width: 100%; height: 20px; overflow: hidden; z-index: 1 }

	div.crop div { float: left; width: auto }

	div.crop:after     { content: '\2026'; position: relative; z-index: 2; background: white; margin-left: -16px }
	div.crop div:after { content: '\2026'; position: relative; z-index: 3; background: white; color: white }
</style>

<body>
<div class="crop"><div>Текст не умещается в контейнер, до того он длинный</div></div>
<div class="crop"><div>Текст не умещается в контейнер</div></div>
</body>
10 комментариев
11 апреля 2008 17:39

14 лет «домику»

«Домик» из Netscape 0.9 (19.59КБ)

В этом году «домику», который Лебедев более десяти лет назад придумал в иконку исполнится 14 лет — 13 октября 1994 года вышла версия Mosaic Netscape 0.9 с «домиком» в качестве символа домашней страницы.
4 комментария
11 апреля 2008 14:00

«Пасхальные яйца» Фотошопа и Image Ready

Как известно многим пользователям программ Adobe Photoshop и Image Ready, в этих программах есть «пасхальные яйца» (easter eggs), так называют спрятанные создателями программы секреты-шутки. На сайте Завгороднего попались три интересные статьи на эту тему:

«Альтернативные заставки Adobe Photoshop, они же — „пасхальные яйца“ (easter eggs)»
«Альтернативные заставки Adobe ImageReady, они же — „пасхальные яйца“ (easter eggs)»
«Истинное лицо утки из Adobe Photoshop»

Такого исчерпывающего исследования я ещё не видел. Хотя бы просмотрите — очень забавно.
Комментировать
11 апреля 2008 13:30

Логотип Blok

Александр Блок (3.20КБ) Как многие наверное знают, движок моего блога называется «Blok». Основные особенности — всё на файлах (никаких баз данных, так интереснее) , никакого интерфейса администрирования через веб, максимальное использование чужих сервисов и RSS как средство оповещения о чём угодно.

У такого замечательного движка до сих пор не было логотипа. Я как-то не озаботился, а сегодня случайно наткнулся на жизнеописание небезызвестного Александра Блока (помните, «ночь, улица, фонарь, аптека…»). Подумал — неплохое лого.

Сейчас придёт Смирнов и скажет, что логотип полная лажа.
10 комментариев
10 апреля 2008 18:12

Какие форматы изображений поддерживает Internet Explorer

Цитата из базы знаний Microsoft:

Обозреватель Internet Explorer отображает файлы рисунков с расширениями ART, WMF, EMF, PNG, MOV, XBM, AVI, MPG, GIF, JPG, MPEG и BMP.
MOV, AVI, MPG и MPEG — это, конечно же, не рисунки. Но IE умеет их поддерживать в теге IMG. WMF и EMF — это Windows Media File и Enhanced Metafile, форматы, которые были введены Microsoft ещё в 90x годах. ART — формат графики от America OnLine (похоже не поддерживается с IE7), XBM — текстовый формат графики в X-системах (не поддерживается с IE6SP1).

XBM, кстати, неплохой формат был. Самое смешное, что его можно было внедрять в HTML-код без data URL, в том числе и в Internet Explorer.
Комментировать
10 апреля 2008 13:35