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

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

А с платформы говорят: это город Ленинград

Наверное Apple/Mac очень дружественная платформа, но при переносе на Windows этого совсем незаметно. Я уже писал о проблемах, с которыми столкнулся, пытаясь зарегистроваться в iTunes Story. А вчера заметил, что в списке городов нет Санкт-Петербурга, но есть Ленинград.
8 комментариев
29 октября 2008 18:15

Кто целовал мой помидор?

На кухне в «Яндексе» всплыла совершенно новая для меня тема: оказывается многие в детстве тренировались целоваться на помидорах. Достаточно набрать что-то вроде «поцелуи помидоры» в любом поисковике, чтобы убедиться: тема не умирает и сегодня.

Но воспоминания из советского прошлого всё-таки радуют больше:

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

[…]

Мне было проще — мы были два чайника, а потому особо не стеснялись. :) ну и учились друг на друге :))) с применением винограда. сачала парень кладет виноградинку в рот, твоя цель — ее конфисковать. Языком. Потом наоборот. А с помидорой не пробовала… это как?

[…]

На помидорах с сестрой в 11 лет!
С зеркалами(мама была в шоке!)
С коленкой в ванной! :-)
11 комментариев
28 октября 2008 17:31

Ностальжи

Вспоминали на каких бесплатных вебмейлах были адреса у нас в начале развития интернета. Перешли на адреса проектов на бесплатных хостингах. Я сделал насилие над памятью и вспомнил два адреса своих проектов, один 1999 года, второй, примерно 2002-го:

DOS Word Viewer v1.00b
PV Application Manager RUS p3
9 комментариев
28 октября 2008 15:01

IE7/IE8 CSS hack: bolk minus hack

Нашёл CSS-хак для Internet Explorer 7.0 и 8.0:
    -, body { background: gray; }
Основан на баге парсера браузера, который был введён для того, чтобы обрабатывать стили, начинающиеся с «-» (в IE7 появился первый стиль с префиксом «-ms-»).
8 комментариев
27 октября 2008 20:53

CSS-хак для Сафари

Век живи, век учись. Оказывается, конструкцию «-webkit-min-device-pixel-ratio:0» понимает Opera 9.2x. Какое безобразие. На «Хабре» появилась статья, где описаны популярные хаки для браузеров и, в частности, есть решение этой проблемы:
/* Первая конструкция — против Opera 9.5, которая понимает вторую, а вторая — против Opera 9.2, которая
понимает первую. Верх извратства :) Вобщем-то безопасная конструкция, т. к. 9.2 уже не будет
эволюционировать и явно не сможет обработать :first-of-type, а -webkit- — проприетарное свойство и 
обрабатывается Opera 9.2 скорее по ошибке, что следует из отсутсвия поддержки в 9.5 */

/* Safari понимает обе, поэтому хак работает */
@media all and (-webkit-min-device-pixel-ratio:0) {
   
   body:first-of-type #lightSF3 { display: block }
   /* вместо :first-of-type можно еще использовать :nth-of-type(1) — он для Safari 3.1 */
   
}
Комментировать
27 октября 2008 19:39

Сююмбике́

На этот раз «гипнотезёры» с телевидения лопухнулись вполне конкретно (речь идёт о передаче на ТНВ):

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

Удивила следующая деталь: иносказательно получается, что Cююмбике у нас вроде как юная девочка-красавица, а злодей Иоанн Василич вроде как на нее покусился, а вовсе не на ханство со всеми причиндалами. Даже такая тирада в общегипнотическом бреду есть: «он разрушил мой город, он убил много людей, он сказал моему отцу, что сожжет город, если не получит меня».
Многие за пределами Татарстана (впрочем, это заблуждение встречается и в его пределах) верят в легенду, что Сююмбике прыгнула с минарета, чтобы не достаться врагу. На деле, это не более, чем легенда:

Сююмбике́ (тат. Sөyembikə, Сөембикә) — казанская правительница, жена казанских ханов Джан-Али (1533—1535), Сафа-Гирея, Шах-Али, дочь ногайского бия Юсуфа. Правила Казанским ханством в 1549—1551 г. в качестве регентши ввиду несовершеннолетия своего сына, который стал наследником престола в грудном возрасте. Сююмбике — одна из первых женщин-мусульманок в истории исламского мира, которые выполняли роль главы государства.

В 1551 г. казанцами вместе со своим сыном Утямыш-Гиреем и казанской казной была выдана русским. Произошло это (выдача) при участи муллы Кул Шарифа и тюменского князя Бибарса Растова. В Патриаршей летописи об этом говорится следующее: они (казанцы -ред.) послали «к Шигалею (Шах Али) и к воеводам бити челом, чтобы государь пожаловал, гнев свой им отдал, а пленити их не велел, а дал бы им на царство царя Шигалея (Шах Али), а Утемыш-Гирея царя государь к собе взял и с материю Сююнбика-царицею».

Через полтора года против своей воли была отдана замуж за касимовского правителя Шах-Али. Последние годы жила и умерла в Касимове, могила неизвестна.
6 комментариев
26 октября 2008 12:44

Купил Panasonic RP-HC500

Раз тема Гитлера никому не близка, давайте что ли про гаджеты.

Panasonic RP-HC500 (17.65КБ)

Купил себе пару недель назад наушники Panasonic RP-HC500. Понравился внешний виду, звук, как сидят и характеристики. Одним из ключевых факторов являлась фукнция шумоподавления.

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

А вот основная функция (собственно шумоподавление), оказалась не особо востребованной, не с чем сравнить: наушники прекрасно закрывают уши и я в них почти ничего не слышу, соответственно, когда включаю шумодавилку, звуки просто ещё чуть-чуть гаснут.
6 комментариев
24 октября 2008 17:36

Стихи о Гитлере

Это гениально, я считаю. Стихи о Гитлере:

плохой плохой плохой
ГИТЛЕР

нехороший гадкий дурной
ГИТЛЕР

отвратительный бяка поганый
ГИТЛЕР

скверный негодный паскудный
ГИТЛЕР

дрянной паршивый мерзкий
ГИТЛЕР

противный грязный омерзительный
ГИТЛЕР

говно говно говно
ГИТЛЕР

Автор, по всей видимости, ЖиЖист aklirud_lorap.
Комментировать
23 октября 2008 21:34

Mac shutdown

В Windows и Linux есть команда shutdown, она предназначена для перезагрузки и выключения машины из коммандной строки. Этой же командой можно отменить этот процесс (в Windows ключ «-a», в Linux — «-c»). В Маке ничего подобного нет:

A scheduled shutdown can be canceled by killing the shutdown process (a SIGTERM should suffice).
Какие-то костыли.
22 комментария
23 октября 2008 19:22

Песня про блоггинг: «Всё я сказал»

Костя Коломеец сегодня показал клип пророческой песни группы «Дети», которая в 1989 году уже всё знала про блоггинг (кстати, в этом году я написал свою первую программу на ассемблере машины Радио РК-86 (набор комманд Intel 8080)). Я не мог пройти мимо и не записать слова этой гениальной песни (тем более в интернете текста не обнаружилось).

Наслаждайтесь:

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

Всё я сказал! Всё он сказал!

Семь лет назад я купил холодильник,
Шесть лет назад я купил пылесос,
Пять лет назал я купил телевизор,
Четыре года назад — гарнитур.

Всё я сказал! Всё он сказал!

Семь месяцев назад я пил,
Шесть месяцев назал я пил,
Пять месяцев назал я пил,
Четыре месяца назал перестал.

Всё я сказал! Всё он сказал!

Семь дней назад я ходил в Дом культуры,
Шесть дней назад я ходил на футбол,
Пять дней назад я ходил по музеям,
Четыре дня назад я дома сидел.

Всё я сказал! Всё он сказал!

А семь часов назад я съел рассольник,
А шесть часов назад поел котлет,
А пять часов назад я выпил чаю,
Четыре часа назад — вздремнул.

Всё я сказал! Всё он сказал!

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

Всё я сказал! Всё он сказал!

А семь секунд назад включил телевизор,
А шесть секунд назад взглянул на часы,
А пять секунд назад я глянул в окошко,
И что ж увидел? Ядерный гриб.
6 комментариев
23 октября 2008 00:21

PHP для Windows Mobile

Немного посмотрел HPH, диалект PHP для Windows Mobile. Я о нём писал пару лет назад, а вот теперь посмотрел, коль скоро у меня устройство с WM6.1.

Что сказать? Это не PHP. Это какой-то язык отдалённо напоминающий PHP. Всюда натыкаешься на странное с точки зрения программиста PHP поведение: то HPH не нравится, что в конце нет «?>», то конструктор класса должен называться в том же регистре, что и сам класс и так далее. Кстати, о классах — ООП от PHP4, что удручает. На сайте сказано, что объекты передаются по ссылке, за это спасибо, массивы почему-то — тоже (в PHP не так).

Если не называть это PHP, то вполне сносный язык, для… для… для чего же? Не знаю, может быть поднять персональные сервисы на нём, ту же Wiki, как пример. Не такая уж плохая идея, жаль только, что ничего готового под него не пойдёт: поддержки MySQL нет (но есть SQLite3!), список функций неполный. Но авторы всё равно молодцы и делают интерпретатор, кажется, для собственного удовольствия.

По сути, список поддерживаемых функций давно таков, что новые можно писать уже на самом HPH и включать как библиотеку, тем более, что реализации некоторых, самых важных, есть в PEAR модуле PHP_Compat.
Комментировать
22 октября 2008 23:52

Geolocation API

Google добавил отличнейшую штуку в Google Gears: определение географических координат пользователя по различным сетям (wi-fi, сотовые сети, GPS, что доступно). Например, на ноуте будет использованы идентификаторы wi-fi сетей, которые есть вокруг.

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

Способ использования до смешного прост: на страницу подключается gears_ini.js, а далее координаты доступны как свойства latitude и longitude объекта, который попадает в callback-функцию обновления координат.

Документация небольшая и полна понятных примеров.

Врёт API пока сильно (я на Таганке, меня показало на Охотном ряду) и под FF (хм…) у меня не заработало, пробовал под 3.0.3 и 3.1beta1.
Комментировать
22 октября 2008 17:58

Пол в базах данных

Кстати, кто как обозначает пол в таблицах баз данных (предположим, что типа enum у нас нет)?

Есть вариант «'f', 'm', 'u'», я обычно это делаю как «-1, 0, 1» (догадайтесь как мужчина), один разработчик у нас делает «1, 0, null» (догадайтесь где женщина), но я видел варианты «0, 1, 2», «'+', '', '-'» и множество других.
33 комментария
22 октября 2008 17:28

SkyExpress прекращает полёты в Казань

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

SkyExpress (6.66КБ)

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

В этой связи лечу на самолёте компании «S7», которые опять поменяли свой сайт. Из плюсов: форма заказа стала заметно удобнее, из минусов — в полях не работают стрелки и кнопка удаления (эачем это было отключать?!), а билеты приходят на почту в PDF (у всех стоит Acrobat Reader?, ничего если я на КПК залезу в почту, посмотреть когда у меня отправление?).
14 комментариев
21 октября 2008 14:17

Как я был лаборантом (про программирование)

В разделе «обо мне» написано, что я работал лаборантом при кафедре ВМК. Иногда меня спрашивают — чем же я там занимался. Отвечаю: в основном, программно решал возникающие задачи, программировал я тогда, по большей части, на ассемблере x86. Поясню на примере.

В зоне отвественности кафедры было тогда (1996-97 гг.) четыре комьютерных класса. Везде, в основном, DOS. Типовое ПО (MS-DOS 6.22, Norton Commander, TurboC, TurboPascal и т.п.), непрерывный поток студентов. Из этого проистекают две проблемы: во-первых, студенты пишут файлы на диск, во-вторых, студенты удаляют и модифицируют уже существующие на диске файлы.

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

Вот такую проблему требовалось решить.

В DOS было (и есть) API — множество фукнций, вызываемых через так называемое прерывание №21 (были и другие прерывания, обслуживаемые DOS, но это — основное). Когда программы под DOS работали с файлами они использовали это API.

Придумал я, в итоге, следующее. Винт форматируется, туда ставится DOS, Norton Commander и другое типовое ПО. Все файлы этого ПО помечаются атрибутом ReadOnly (это стандартный атрибут). Я написал программу, которая подменяет собой функции DOS для работы с файлом, которая запрещает модифицировать этот атрибут и делать что-то с этим файлом (точнее, в этом случае я возвращал код успешного завершения, но с файлом ничего не делал).

Свою программу я добавил в autoexec.bat, запретил остановку загрузки DOS (клавиши F5, F8), boot с дискеты и поставил пароль на BIOS.

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

Для специалистов: int 25/26/13 я никак не подменял, но квалификации студентов тогда не хватало, чтобы обойти защиту.
22 комментария
21 октября 2008 13:01