Позднее Ctrl + ↑

Unable to open

Сообщение об ошибке:

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

Open Design

Я полагаю, ни у кого нет сомнений, что Open Design рулит? По крайней мере, один раз:

Соки Rich

Ну и кстати. Никак не могу понять, почему уроды в магазинах ставят эти соки так, чтобы слово Rich не читалось? Совсем ведь не сложно нормально поставить. Я вот, почему-то, когда работал в магазине всё ставил на полки так, чтобы людям было удобно и красиво.

Смотри также

Вот, Дмитрий Смирнов прошелся по этому сайту. Ну, всё то, что он сказал, — это, конечно, да. А меня еще порадовало то, что снизу:

Смотри также на тему «веб-дизайн»: Грамотная раскрутка сайта, Полная занятость, Подбор цветов, Портфолио пополняется, Фирменный стиль, Координаты веб-дизайна, Варианты дизайна, далее...

Грамотная раскрутка сайта — это, спору нет, на тему «веб-дизайна».

Магнит в сумку

Кто бы мог подумать!

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

Regex vs. strip_tags()

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

<b style="color: #f00">red bold text</b>

<a href="#" onclick="return false &(document.title='whatever')">
click here to change title
</a>

Пришлось писать свой регекс, который выкидывает все лишние атрибуты у тегов. Получилось вот что:

$t = preg_replace (
'/\<( *)(\S+?)(?(?<=\<a)fuckoff) (.+?)\>/si',
'<\\2>',
$t);

Тут фишка в том, что атрибуты выкидываются у всех тэгов, кроме <a>, так как у него у единственного есть нужный и важный атрибут href. Регекс работает так:

  • \<( *)(\S+?) Начало тэга: знак «меньше»; возможно, пробелы и как минимум один не пробел;
  • (?(?<=\<a)fuckoff) Проверка, вдруг это тэг <a>, тогда заставляем matcher найти ещё и fuckoff (которого нет);
  • (.+?)\> Всевозможная другая фигня.

Вот. Потом отдельно парсится <a> на предмет возможных «javascript:» и т. п. Регексы, разумеется, рулят.

Идеальный блог

Copypasted from Spectator’s Register:
The ultimate Weblogging system.

Выводы (что нужно сделать):

  • Защита от слэшдоттинга
  • Более удобные урлы вида meanwhile/5-05-03/ideal_blog
  • Посылка новых заметок по email и с мобильного телефона

Экспорт в RSS по кейворду я давно придумал. Тоже надо будет реализовать. И еще не повредит прикрутить «current music».

Егор Жгун

Егор Жгун. Рисует в CorelDraw (просто офигительно рисует) и пишет заметки. Редкий случай: несмотря на ошибки кое-где, весь сайт вызывает только приятные эмоции.

Психоделик goa транс

Купил себе mp3-сборник «Goa Trance 2002 Volume 5» за то, что он features Pulse no. 12 (2 CD). Очень даже хорошо.

Диск очень пиратский. Очень-очень. На обложке написано «Более 7 часов психоделик goa транса». На каком основании выбрана именно такая комбинация алфавитов — неясно...

Обложка

«Дизайн» обложки весьма оригинален. Трэк Analog Pussy «Spooky Loops» на диске записан дважды.

Update. Нет, что-то с гоа-трансом не то происходит. Если сравнить с Astral Projection 1995—1999, то сейчас гоа-трансом называют совсем другую музыку. Многое из того, что на диске, очень интересно и радует. Например, Analog Pussy оба раза. Но странно слышать всё это под названием «гоа-транс», странно...

Глюк

Обнаружил большой глюк в моей «системе модерирования комментариев». Функция-убийца комментариев (kill_comment) удаляла комментарий с помощью unset(), а ведь в мануале ясно написано:

The unset() function allows unsetting keys of an array. Be aware that the array will NOT be reindexed.

Поэтому после удаления комментариев на их месте оставались дырки и следующие комментарии не сдвигались. Теперь, благодаря sort(), сдвигаются.

Online Crash Analysis

Как мы все знаем, в Windows XP в окошке, сообщающем о разнообразных сбоях системы, появилась кнопка «Отправить отчет». А в старых Windows в аналогичном окне были кнопки «Сведения» и «Закрыть». Естественно, все нажимали «Закрыть», т. к. «Сведения» не помогали никому. Ну и в XP я по привычке всегда нажимал «Не отправлять», т. к. привык, что с глюками нужно разделываться как можно быстрее.

Сегодня моя XP упала в BSOD с сообщением IRQL_NOT_LESS_OR_EQUAL. Что еще там было написано — я не знаю, т. к. кириллица в BSOD’е не отображается, а текст написан именно ей. После перезагрузки, как и полагается, Windows сообщила мне, что «система восстановлена после серьезной ошибки» и предложила отправить отчет в Microsoft. И я впервые в жизни решил последовать её совету.

Отправка заняла несколько секунд и тут же начал запускаться IE. Я было подумал, что сейчас они мне напишут «Thank you for submitting blah-blah-blah» и пошлют подальше. Но не тут-то было. Вот что они мне сказали:

Thank you for submitting an error report. The Online Crash Analysis service has processed and analyzed this report and has determined that this crash event was likely caused by:

VSDATANT.SYS

Zone Labs®, Inc. is the manufacturer. An updated driver for your device is available that corrects this problem. Microsoft recommends that you install the new driver to improve the stability of your system. To download the updated driver, see the Zone Labs®, Inc. Web site at http://www.zonelabs.com/.

Немного поизучав Online Crash Analysis (OCA), я пришел к выводу, что это не так плохо.

А потом я отправился в интернет в поисках полного текста BSOD’а. Нашел по-английски и нарисовал по этому поводу обои:

Вообще, очень приятно, что в XP BSOD — это полная остановка. Нет никаких «Press any key to continue» и «If you reboot any data will be lost». Ведь, как говорится в одном юмористическом BSOD’е:

You can try going back to Windows and getting on with life, but who are we kidding, that never works

Ранее Ctrl + ↓