Логотип Blok

Как многие наверное знают, движок моего блога называется «Blok». Основные особенности — всё на файлах (никаких баз данных, так интереснее) , никакого интерфейса администрирования через веб, максимальное использование чужих сервисов и RSS как средство оповещения о чём угодно.
У такого замечательного движка до сих пор не было логотипа. Я
Сейчас придёт Смирнов и скажет, что логотип полная лажа.
Какие форматы изображений поддерживает 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 — текстовый формат графики
XBM, кстати, неплохой формат был. Самое смешное, что его можно было внедрять
Thanks A. Lot
Шутка для умных. Thanks A. Lot.

Загрузка изображений в Blok
Проблема с загрузкой изображений через «Semagic» решилась куда проще (напомню, что у меня на сайте нет
Мой движок анализирует нет ли во введённых данных тега IMG с data URL, выдёргивает из него данные, кладёт на диск в виде изображения, а обратно отдаёт тег уже
MicroSD → Memory Stick
Нужный для владельцев PSP адаптор появился. Позволяет использовать MicroSD карточки вместо MemoryStick. Удобно, если MicroSD уже есть, не нужно покупать ещё одну для PSP, да и стоят MicroSD чуть дешевле. Правда есть опасения, что будут поддерживаться не более чем 2Гб карточки, так как карты бо́льшего формата называются MicroSD HC.
Cursor CSS
Заношу себе в закладки хорошую статью с сайта QuirksMode, рассказывающую и наглядно показывающую (если поводить мышкой по названиям свойств) какие значения
В статье есть смешное место — написано, что значение «url» (помечено как «Microsoft», т. е. собственное свойство IE) не поддерживается браузерами Internet Explorer.
На деле Internet Explorer требует указывать курсоры в форматах .cur или .ani, тогда как в редакции CSS3 (где данное свойство заимствовано и расширено) курсор может быть в любом формате, поддерживаемом браузером (для Gecko это BMP, JPG, CUR, GIF, SVG и XBM), плюс должны быть указаны координаты активной точки (hotspot) курсора.
Google AdSense
Решил подержать на сайте месяц Google AdSense. Для интереса — сколько с этого можно получить прибыли.
Опыт, который получает наёмный работник
Мне понравился коментарий Носика к небольшой заметке про порядки в «Яндексе»:
В нормальной компании работник получает не только бабки, но и training, и доступ к чужим непубличным разработкам, в которые вложены очень нехилые деньги. Эти разработки — не только код, но и принципы, и методы, и архитектурные решения, и эвристики, и опыт, сын ошибок трудных, и другие вещи, трудно защитимые патентным и авторским правом. Если он, всё это освоив
за пару-тройку месяцев, встаёт и уходит создавать конкурирующий продукт, от создания которого его на момент найма в компании отделяли годы проб, ошибок, проектирования и разработок — то это, мягко говоря, не совсем его «право». А добровольное обязательство так не поступать — отнюдь не «поражение в правах», а необходимая нанимателю гарантия, что в training данного сотрудника не опасно вкладывать ресурсы и деньги.
Подпишусь под каждым словом.
data URL в IE ★
Пару лет назад я занимался проблемой data URL в Internet Explorer, добился определённых результатов, но то, что получилось, использовать было невозможно. Data URL (иногда его ещё называют «протокол data:») — возможность вставлять ресурсы (графику, CSS, JavaScript и так далее) в HTML код.
Выглядит это примерно так:
<img
src="data:image/gif;base64,R0lGODdhMAAwAPAAAAAAAP///ywAAAAAMAAw
AAAC8IyPqcvt3wCcDkiLc7C0qwyGHhSWpjQu5yqmCYsapyuvUUlvONmOZtfzgFz
ByTB10QgxOR0TqBQejhRNzOfkVJ+5YiUqrXF5Y5lKh/DeuNcP5yLWGsEbtLiOSp
a/TPg7JpJHxyendzWTBfX0cxOnKPjgBzi4diinWGdkF8kjdfnycQZXZeYGejmJl
ZeGl9i2icVqaNVailT6F5iJ90m6mvuTS4OK05M0vDk0Q4XUtwvKOzrcd3iq9uis
F81M1OIcR7lEewwcLp7tuNNkM3uNna3F2JQFo97Vriy/Xl4/f1cf5VWzXyym7PH
hhx4dbgYKAAA7" />В Data URL указывает тип содержимого и способ его кодирования. Способа кодирования два — base64 (именно он и указан в примере), увеличивающий содержимое на треть и URL encoding (в этом случае способ кодирования не указывается) — привычный многим способ кодирования при помощи %xx, в лучшем случае вообще не увеличивает размер содержимого, в худшем — увеличивает в три раза.
Кстати, в настоящее время IE8b1 поддерживает data URL, но, увы, длиной не более 32Кб.
Теперь амбула.
Вчера ночью мне пришла в голову идея как можно попытаться корректно совместить data URL и включение картинок через протокол mhtml. То, что у меня не получилось два года назад, получилось сейчас.
Результат — готовый код на PHP из двух функций. Первую функцию («bolk_data_uri_header») нужно вызвать в самом начале перед выводом любого вашего кода, вторую («bolk_data_uri») собственно для включения картинки в код. Надеюсь на примерах всё понятно:
bolk_data_uri_header();
bolk_data_uri('myjpeg.jpg');
bolk_data_uri('ourpng.png', 'border: 2px dotted red');Код самой библиотеки:
function bolk_data_uri_header()
{
echo "<!--\n"
."Content-Type: multipart/related; boundary=\"=_NextPart_01C6A9B1.539AB070\"\n\n"
."--=_NextPart_01C6A9B1.539AB070\n"
."Content-Transfer-Encoding: base64\n"
."Content-Type: text/html\n"
."-->\n\n";
}
function bolk_data_uri($file, $style = '')
{
if (!( file_exists($file) && ($data = @getimagesize($file)) )) return false;
$name = uniqid('', true);
if ($style <> '') $style = ' style="'.htmlspecialchars($style).'"';
echo "<!--\n"
."--=_NextPart_01C6A9B1.539AB070\n"
."Content-Location: {$name}\n"
."Content-Transfer-Encoding: base64\n"
."Content-Type: {$data['mime']}; -->\n"
."<object data='data:{$data['mime']};base64,\n\n";
echo base64_encode(file_get_contents($file));
echo "' {$data[3]}{$style} type='\n{$data['mime']}'><img "
."src='mhtml:http://{$_SERVER['HTTP_HOST']}{$_SERVER['REQUEST_URI']}!{$name}' {$data[3]}{$style} /></object>\n\n"
."<!--\n"
."--=_NextPart_01C6A9B1.539AB070-->";
return true;
}У данного метода, по сравнению с обычными data URL есть масса ограничений: необходим специальный заголовок в начале файла, т. е. этот метод невозможно использовать на чужих сайтах, этим методом нельзя воспользоваться (по крайней мере не в таком виде) для включения ресурсов внутрь CSS или JavaScript. В принципе, тут есть достаточно большое поле для экспериментов, возможно все или некоторые из проблем можно решить.
В разделе «храню» есть пример, который можно потестировать на имеющихся у вас браузерах. Уже протестировано на Opera 9.25 и 9.50b, FF 2.0.0.13 и 4 (Minefield), Safari 3.1 (Safari под iPhone — тоже), Internet Explorer 6.0SP2 и 7.0, Sony PSP browser, Opera mini, Netscape Navigator 9.0.0.5.
PHP 5.3.0 jumps to Basic
CAPTCHA: Я, не робот.

Форма регистрации на сервисе «LiveInternet». Написать простую фразу «Например Иванов» с ошибкой на сервисе такого масштаба, это надо постараться.
Spesta 2.12 a+b
Обновление (файл называется так же) системы стастистики «Spesta 2 a+b». С предыдщего апдейта изменилось следующее:
- сортировка и подсчёт процентов о отчёте переделаны, теперь они работают более адекватно (сортируют и считают статистику целиком)
- собственные настройки (например, пароль) можно вынести в файл
config-personal.inc.php, формат такой же как в config.inc.php. Т. е. при заливке дистрибутива ваш пароль на админку перезаписан не будет - внутри отчётов, в фильтрах можно использовать расширенную грамматику, об этом ниже
Кто не в курсе, что это за система, прочитайте у меня на сайте соответствующую статью.
Теперь о расширенной граматике. Включается она только тогда, когда в фильтре используется звёздочка («*»). «mozilla*» означает «начинается с mozilla» (регистр значения не играет), «mozilla*windows*» — строка содержит сначала «mozilla», потом «windows». Т. е. «*» — это «любые символы».
Если нужно совпадение и чувствительность к регистру, то можно искать так: «*MSIE*!» — найдёт только строки, где содержится «MSIE» именно в этом регистре.
Если нужно инвертирование поиска, то можно писать так: «!*MSIE*» — найдёт строки, в которых не содержится «MSIE» в любом регистре, «!*MSIE*!» — найдёт строки, где не содержится «MSIE» именно в этом регистре.
Что такое SEO
Совершенно раскошное определение SEO:
SEO — это «поисковая оптимизация». Это как сделать так, чтобы
какой-нибудь говно-блог об обмене утилизированных б/у японских шин на запчасти к пластиковым окнам занималтоп-позиции в тындыксе-гугле и т. п.то есть, вы создаете текст, состоящий из фраз «ебут пятиклассницу», маркетинг, заработать на блоге, «скачать», маркетинг, заработать на блоге,
«супер-анал», маркетинг, заработать на блоге, пластиковые окна, маркетинг, заработать на блоге, японские шины, маркетинг, заработать на блоге, развратные учительницы сосут прямо на перемене, маркетинг, заработать на блоге, скачатьСопроно-6, маркетинг, заработать на блоге, голые участницыДома-2, маркетинг, заработать на блоге, в переводе Гоблина и т. п. и засираете им всё, что только можно. Все дела.
C СЕО произошло то же, что с языком программирования PHP в своё время — нужная отрасль
Яндекс меня шантажирует!
BOLK, 02.04.2008 16:38:47: Ура! Яндекс проиндексировал мой сайт
BOLK, 16:38:49: дело за тиц
Дмитрий Смирнов, 16:39:28: это потому, что мы тебя хотим в разработчики
BOLK, 16:39:41: хотели — уже бы и тиц перевели
Дмитрий Смирнов, 16:39:49: а ты пока не согласился
Некоторое время назад купил новый домен (для новеньких — мой сайт много лет располагался по адресу bolk.exler.ru), всё ждал когда «Яндекс» его проиндексирует, теперь жду когда перенесётся тИЦ.
BLOK: MetaWeblog API, FotoBuilder API
Я, когда писал движок для своего сайта (до сих пор недописанный, кстати), сразу расчитывал на то, что
Протокол достаточно простой, но описан очень плохо. Как бы то ни было, я его реализовал. Один недостаток — загрузка изображений. В протоколе flat такой возможности нет. Почесав репку, я посмотрел на обилие описанный протоколов и выбрал очень простой MetaWeblog. Протокол излишне многословен (даже по меркам XML, как мне кажется), но зато реализуется за час.
Теперь ещё хочу посмотреть Windows Live Writer, но через штатный инсталлятор мне поставить его не удаётся, грешу на прокси. В общем, остаюсь пока на Semagic, но с загрузкой изображений надо
Попытался сделать это наскоком, не удалось. Видимо (это обычно для документации LiveJournal) пропустили
С первым апреля всех!
Друзья!
Если сегодня прочитаете, что Microsoft выпускает новую версию CSS.2012, а друг говорит вам, что принёс девятую серию «Lost», вспомните, что сегодня первое апреля!

Кстати, у меня сегодня выросли крылья, малиновая шерсть и жабры, поэтому я завязываю дышать лёгкими и лечу купаться в Балешвар.
Коллаж принадлежит перу и плашету Нияза Сайфутдинова.
Яндекс раздаёт антивирус Касперского бесплатно
Яндекс совершенно бесплатно предоставляет вам лицензию на специальную версию антивирусной защиты Касперского. Программа содержит ключ для работы в течение полугода. Потом вы сможете получить и установить новый ключ — также бесплатно.
Отличная новость — «Яндекс» раздаёт «Касперского» бесплатно.
Вышел публичный билд «Оперы», проходящий ACID3
Пару дней назад «Опера» прошла тест ACID3, но публичного билда, подтверждающего это событие, не было. Сегодня стал доступен специальный билд, который демонстрирует прохождение теста (есть версии для Windows и Linux). Я себе его скачал, посмотрел, тест действительно проходит, но сайты открывает ужасно, видимо, это специальная ветка разработки, патчи из которой будут включены в «Оперу» позднее. Так же эта версия действительно поддерживает web fonts и цвета в виде rgba/hsla.
Кстати,
Сегодня же вышел еженедельный снапшот «Оперы», где большое внимание уделено улучшению производительности. Удалось достигнуть ускорения
Mac OS X: неуловимый Джо
Как известно, пользователи компьютеров «Эпл» гордятся тем, что для него существует очень малое количество вирусов и известно небольшое количество уявзвимостей. Мне эта ситуация всегда напоминала песню про Неуловимого Джо, которого никто не ловит, потому что он никому не нужен.
Помнится, аналогичная ситуация была с браузером FireFox — он был неязвим, пока не стал популярен, как только «Гугл» вложился в рекламу, счётчик найденный уязвимостей завертелся с тахионной скоростью.
Вот и на ежегодном турнире PWN2OWN, уже два года подряд быстрее всех из тройки Windows Vista, Mac OS X и Ubuntu Linux взламывают именно Mac OS X:
Как и в прошлом году, первой и единственной жертвой стала операционная система Mac OS X. В этом году, Чарли Миллер, главный аналитик Independent Security Evaluators, скомпрометировал Apple MacBook с Mac OS X 10.5.2 «Leopard» меньше чем за минуту, воспользовавшись неизвестной ранее ошибкой в браузере Safari. Найденная уязвимость, по мнению специалистов, очень серьезная. Она позволяет злоумышленнику удаленно выполнить произвольный код, что и было продемонстрировано на соревновании.
CSS IE: -ms-interpolation-mode
У Internet Explorer
У свойства два значения —
img.highqual { -ms-interpolation-mode:bicubic }
img.nearestn { -ms-interpolation-mode:nearest-neighbor }