Breadcrumps, то есть хлебные крошки - хороший способ навигации по дереву. Хорошо дает понять, где ты находишся :) Говорят, что очень удобно сделаны они в проводнике Windows Vista, а в MacOS их вообще нет :( Не знаю, не проверял. Точно знаю, что они есть в Nautilus (Gnome аналог проводника Windows). А сегодня узнал, что нечто подобное есть в Total Commander. Для включения необходимо в установить значение InplaceRenamePath равное 2 (файл Wincmd.ini). Визуально это не отобразится, но можно будет щелкать по названию папки (выше панели)
В Firefox есть очень удобная вещь - поисковые плагины, по умолчанию стоит поиск от Гугла вместе с возможностью suggest (очень приятная иногда штука), поиск от Яндекса , Yandex.Lingvo и Wikipedia устанавливается отдельно. И вот возникло непреодолимое желание сделать такое же чудо для RSDN.ru и MSDN.ru. Итак, по порядку:
  1. Плагины находятся в папке "{Mozilla Firefox Directory}\searchplugins\". Ближайшее рассмотрение подсказывает что это xml-файлы :)
  2. Корневой тэг SearchPlugin с аттрибутом xmlns="http://www.mozilla.org/2006/browser/search/"
  3. Набор внутренние тэги: ShortName и Description - соответственно название и описание; InputEncoding - кодировка запроса; Image - иконка плагина вместе с параметрами width и height, содержит собственно рисунок; SearchForm - так и не понял зачем нужно :(
  4. И, наконец самое интересное - тэг Url. Содержит параметры type, method, template, что, соответственно, тип запроса (например, text/html), метод запроса (get или post), и жаблон адреса поиска. Далее можно перечислить несколько параметров взапроса с помощью тэга Param, причем {searchTerms} - означает поисковое выражение. Что интересно, в плагине от Гугла видим следующие строки:
<param name="rls" value="{moz:distributionID}:{moz:locale}:{moz:official}">
<mozparam name="client" condition="defaultEngine" truevalue="firefox-a" falsevalue="firefox"></mozparam>

Большой брат наблюдает за нами.... Гугл собирает статистику :( Удаляем
но кроме этого в плагине от Гугла есть и автозаполнение:


Зная все выше перечисленное без особого напряжения создаем два файла rsdn.xml и msdn.xml следующего содержания:

rsdn.ru:
<searchplugin xmlns="http://www.mozilla.org/2006/browser/search/">
<shortname>RSDN</shortname>
<description>RSDN</description>
<inputencoding>windows-1251</inputencoding>
<url type="application/x-suggestions+json" method="GET" template="http://suggestqueries.google.com/complete/search?output=firefox&client=firefox&qu={searchTerms}">
<url type="text/html" method="GET" template="http://img.meta.ua/rsdnsearch/">
<param name="q" value="{searchTerms}">
<param name="mode" value="rank">
<param name="group" value="N">
</url>
<searchform>http://img.meta.ua/rsdnsearch/</searchform>
</searchplugin>

msdn.ru:
<searchplugin xmlns="http://www.mozilla.org/2006/browser/search/">
<shortname>MSDN</shortname>
<description>MSDN</description>
<inputencoding>windows-1251</inputencoding>
<url type="application/x-suggestions+json" method="GET" template="http://suggestqueries.google.com/complete/search?output=firefox&client=firefox&qu={searchTerms}">
<url type="text/html" method="GET" template="http://search.microsoft.com/results.aspx">
<param name="q" value="{searchTerms}">
<param name="l" value="2">
</url>
<searchform>http://search.microsoft.com/results.aspx</searchform>
</searchplugin>


Получилось без картинок, но с Suggest`ом.
Кроме того, Suggest можно добавить во все поисковые плагины, очень удобно.
В Контакте открыл api для создания приложений. Пока доступно только использование flash и очень ограничена информация выдаваемая сервером. Эксперимента ради выложил флэшку с драконом. Работает :)
Есть идея сделать красивое отображение списка френдов, но это в следующем посте.
Сегодня на работе возникла задача - узнать реальную длину строки, после непродолжительных раздумий родился следующий код:

function stringSize(obj,str)
{
var s = document.createElement("span")
s.innerHTML=str;
s.style.visibility="hidden";
s.style.whiteSpace="nowrap";
obj.appendChild(s);
var res={width:s.offsetWidth,height:s.offsetHeight};
obj.removeChild(s);
return res;
}

Соответственно вычисляется размер строки с учетом стиля нужного элемента

Начинаю вести этот блог. Здесь будут размещаться различные мысли (в основном мои), мнения, обзоры, идеи (в основном технические).
Соответственно первая мысль:
Навеяно.
Не в первый раз слышу, что стихи позволяют улучшить память.
В связи с этим берем календарь "русские хайку" и каждый день учим по хайку.
Почему хайку? они маленькие, ритмичные и достаточно часто имеют смысл :)
Буду каждое утро заносить в налодонник и повторять в течении четырех дней.