<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Perlover&#039;s Blog</title>
	<atom:link href="http://blog.perlover.com/feed/" rel="self" type="application/rss+xml" />
	<link>http://blog.perlover.com</link>
	<description>Blog about Unix, Perl, Firefox, JavaScript and other internet technologies</description>
	<lastBuildDate>Thu, 12 Aug 2010 11:56:49 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0.1</generator>
		<item>
		<title>Билайн отличился&#8230;</title>
		<link>http://blog.perlover.com/2010/08/12/beeline-the-best-super-price/</link>
		<comments>http://blog.perlover.com/2010/08/12/beeline-the-best-super-price/#comments</comments>
		<pubDate>Thu, 12 Aug 2010 11:53:46 +0000</pubDate>
		<dc:creator>Perlover</dc:creator>
				<category><![CDATA[Напрягуха :(]]></category>
		<category><![CDATA[Расслабуха :)]]></category>
		<category><![CDATA[3g]]></category>
		<category><![CDATA[gprs]]></category>
		<category><![CDATA[phones]]></category>
		<category><![CDATA[билайн]]></category>
		<category><![CDATA[жулики]]></category>
		<category><![CDATA[мобильная связь]]></category>
		<category><![CDATA[обман]]></category>
		<category><![CDATA[Премиум сайты]]></category>

		<guid isPermaLink="false">http://blog.perlover.com/?p=997</guid>
		<description><![CDATA[В продолжение темы «Премиум-сайтов» вот новость, которая лично меня удивила самим фактом, что клиент может уйти в минус на столько денег. Хотя, осознание того факта, что это произошло у &#171;Билайна&#187;, приводит меня в чувство. Чую также, что не обошлось без Премиум сайтов, помноженных на роуминг цены Билайна Итак, встречаем Билайн и его клиента, которому «Вымпелком» [...]]]></description>
			<content:encoded><![CDATA[<p>В продолжение темы «<a href="http://blog.perlover.com/2009/11/06/beeline-premium-sites/" target="_blank">Премиум-сайтов</a>» вот новость, которая лично меня удивила самим фактом, что клиент может уйти в минус на столько денег. Хотя, осознание того факта, что это произошло у &laquo;Билайна&raquo;, приводит меня в чувство. Чую также, что не обошлось без <a href="http://blog.perlover.com/2009/12/01/beeline-premium-sites-2/" target="_blank">Премиум сайтов</a>, помноженных на роуминг цены Билайна <img src='http://blog.perlover.com/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' />  Итак, встречаем Билайн и его клиента, которому «Вымпелком» <strong>предъявил счет на 522 тыс. руб за 4 часа интернет-а</strong> в роуминге! Билайн пора заносить в книгу рекордов Гиннеса по стоимости интернета за час <img src='http://blog.perlover.com/wp-includes/images/smilies/icon_wink.gif' alt=';-)' class='wp-smiley' /> . <strong><a href="http://lenta.ru/news/2010/08/11/plr/" target="_blank">Lenta.RU пишет</a></strong>:</p>
<blockquote><p>&#8230; В начале 2010 года одна из сотрудниц Penny Lane <strong>отдыхала </strong>вместе со своим  сыном <strong>в Египте</strong>. К ее рабочему телефону (<strong>тариф &laquo;Живи Легко 180&#8243;</strong>), как  выяснили позднее в компании, оказалась &laquo;по умолчанию&raquo; подключена услуга  международного роуминга и мобильного GPRS-интернета, хотя, как отмечает  Дзагуров, никто и никогда в Penny Lane не заказывал данных услуг.</p>
<p>Сын сотрудницы, пишет Дзагуров, воспользовался ее телефоном iPhone,  поиграв в онлайн-игры. <strong>Всего мальчик провел в интернете 4 часа.</strong> Гендиректор Penny Lane утверждает, что в случае, <strong>если такой же объем  трафика был бы израсходован в Москве</strong>, то Penny Lane получила бы от  &laquo;Вымпелкома&raquo; <strong>счет на 139 рублей</strong>. Но <strong>из-за роуминга счет составил 522  тысячи рублей</strong>&#8230; <em><strong><a href="http://lenta.ru/news/2010/08/11/plr/" target="_blank">Продолжение</a></strong></em></p></blockquote>
<p>От себя скажу, что господин Дзагуров, видимо, не знает про Премиум-сайты от Билайна! Правда, откуда он узнает, если про это ничего нет ни в договоре, ни на сайте Билайна (экое приятное &laquo;упущение&raquo; от Билайн). Так что 139 рублей, как он думает, в Москве могли бы быть не 139-тью рублями, а эдак в 50 раз больше (премиум трафик стоит всего то  50 раз больше). Ну и конечно же, не удивлюсь, если вдруг выяснится, что у Билайна есть &laquo;Премиум Роуминг&raquo; &#8211; в 75 раз больше (это не с потолка взято, а простой расчет: 522000 / 139 / 50 = 75) <img src='http://blog.perlover.com/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' />  Ну чтож, может быть такие случаи побыстрее доведут Вымпелком до суда и найдется на них управа.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.perlover.com/2010/08/12/beeline-the-best-super-price/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Чуть улучшенный Live HTTP Headers</title>
		<link>http://blog.perlover.com/2010/08/09/patched-live-http-headers/</link>
		<comments>http://blog.perlover.com/2010/08/09/patched-live-http-headers/#comments</comments>
		<pubDate>Mon, 09 Aug 2010 14:25:34 +0000</pubDate>
		<dc:creator>Perlover</dc:creator>
				<category><![CDATA[Add-ons]]></category>
		<category><![CDATA[For AWMs]]></category>
		<category><![CDATA[Для Webmasters]]></category>
		<category><![CDATA[Программирование]]></category>
		<category><![CDATA[Debugging]]></category>
		<category><![CDATA[FireFox]]></category>
		<category><![CDATA[HTTP]]></category>
		<category><![CDATA[internet]]></category>
		<category><![CDATA[patches]]></category>
		<category><![CDATA[security]]></category>
		<category><![CDATA[Sniffing]]></category>
		<category><![CDATA[soft]]></category>
		<category><![CDATA[urls]]></category>
		<category><![CDATA[xpi]]></category>
		<category><![CDATA[сисадминам]]></category>

		<guid isPermaLink="false">http://blog.perlover.com/?p=987</guid>
		<description><![CDATA[Я часто пользуюсь Live HTTP headers, но постоянно раздражают установленные каждый раз флажки во вкладке Generator -&#62; Show &#171;images&#187; &#38; &#171;CSS&#187;. Обычно, Live HTTP headers используется для перехвата GET &#38; POST запросов HTTP трафика броузера, но при этом в 99% случаев не нужны данные о перехвате графики и CSS стилях. Постоянно приходится их отключать, так [...]]]></description>
			<content:encoded><![CDATA[<p>Я часто пользуюсь <strong><a href="https://addons.mozilla.org/en-US/firefox/addon/3829/" target="_blank">Live HTTP headers</a></strong>, но <strong>постоянно раздражают установленные каждый раз флажки</strong> во вкладке Generator -&gt; <strong>Show &laquo;images&raquo; &amp; &laquo;CSS&raquo;</strong>. Обычно, Live HTTP headers используется для перехвата GET &amp; POST запросов HTTP трафика броузера, но при этом в 99% случаев не нужны данные о перехвате графики и CSS стилях. Постоянно приходится их отключать, так как они &laquo;засоряют&raquo; поток других, более важных, данных. <strong>Решил покончить для себя с этим</strong>, поправив чуть чуть этот плагин. <strong>Кому надо &#8211; пользуйтесь. </strong>Правда, когда плагин выпустят с новой версией, эта будет перетерта и все перестанет работать. Как это произойдет, постараюсь придумать более лучшее решение. Исправлена пара строк, но зато так стало удобнее&#8230; <img src='http://blog.perlover.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p><strong><a href="http://blog.perlover.com/wp-content/uploads/2010/08/live_http_headers-0.16-fx+sm1.xpi" target="_self">Правленный Live HTTP headers v0.16</a></strong></p>
]]></content:encoded>
			<wfw:commentRss>http://blog.perlover.com/2010/08/09/patched-live-http-headers/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>OpenSSH и доступ по ключам</title>
		<link>http://blog.perlover.com/2010/08/09/openssh-keys-using/</link>
		<comments>http://blog.perlover.com/2010/08/09/openssh-keys-using/#comments</comments>
		<pubDate>Mon, 09 Aug 2010 10:20:04 +0000</pubDate>
		<dc:creator>Perlover</dc:creator>
				<category><![CDATA[Unix]]></category>
		<category><![CDATA[backups]]></category>
		<category><![CDATA[Crypto]]></category>
		<category><![CDATA[OpenSSH]]></category>
		<category><![CDATA[rsync]]></category>
		<category><![CDATA[security]]></category>
		<category><![CDATA[ssh]]></category>
		<category><![CDATA[Криптование]]></category>
		<category><![CDATA[сисадминам]]></category>

		<guid isPermaLink="false">http://blog.perlover.com/?p=790</guid>
		<description><![CDATA[Часто в Unix администрировании приходится использовать работу с ssh коннектами. Особенно, если это касается скриптов для полуавтоматизации, то это может сильно раздражать &#8211; ведь для того, чтобы скопировать что-то через scp или rsync, ваши скриптам придется прерываться и запрашивать у вас пароль. Какая тут автоматизация? Что делать? Прочитать эту статейку&#8230; Итак, если кратко, то надо [...]]]></description>
			<content:encoded><![CDATA[<p>Часто в Unix администрировании приходится использовать работу с ssh коннектами. Особенно, если это касается скриптов для полуавтоматизации, то это может сильно раздражать &#8211; ведь для того, чтобы скопировать что-то через scp или rsync, ваши скриптам придется прерываться и запрашивать у вас пароль. Какая тут автоматизация? <img src='http://blog.perlover.com/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' />  Что делать? Прочитать эту статейку&#8230; <img src='http://blog.perlover.com/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' /> </p>
<p><span id="more-790"></span>Итак, если кратко, то надо сгенерировать закрытый и открытый ключи на стороне, где будем запускать скрипты (назовем такую машину &laquo;клиент&raquo;), положить открытый ключ туда, куда будем коннектится (назовем его условно &laquo;сервер&raquo;) и настроим, чтобы сессия для такого-то аккаунта Unix запускалась не от Unix пароля, а от ключа (с паролем, но ниже будет показано, как настроить, чтобы вводить его однократно за весь день, например)</p>
<ol>
<li>На стороне клиента генерируем ключ типа DSA:
<pre class="brush: bash;">
mkdir -p ~/.ssh
chmod 700 ~/.ssh
cd ~/.ssh
ssh-keygen -t dsa
Enter passphrase (empty for no passphrase): …
Enter same passphrase again: …
chmod go-rwx ~/.ssh/*</pre>
<p>Я рекодмендую обязательно указать пароль. Рекомендуется указывать пароль, который не используется для аккаунта Unix. Если вы не укажите пароль (сделаете пустым), то любой, кому попадет ваш закрытый ключ-файл, сможет зайти на удаленный сервер под вашим аккаунтом без всяких проблем. Конечно, чтобы файл попал к кому либо, надо, чтобы были нарушены права доступа в Unix. Но файл может &laquo;утечь&raquo; случайно с утилитами синхронизации, бекапа или т.п.. Далее, я расскажу, как настроить, чтобы вы сами в дальнейшем не вводили часто пароль для закрытого ключа.</li>
<li>Копируем ключ на сервер:
<pre class="brush: bash;">scp -p id_dsa.pub remoteuser@remotehost:
Password: ********</pre>
</li>
<li>На уделенном сервере делаем:
<pre class="brush: bash;">ssh -l remoteuser remotehost
Password: ********
mkdir -p ~/.ssh # Создать директорию, если ее нет
chmod 700 ~/.ssh
cat id_dsa.pub &gt;&gt; ~/.ssh/authorized_keys  # Добавление к файлу, если он уже есть
chmod 600 ~/.ssh/authorized_keys
mv id_dsa.pub ~/.ssh # Не обязательно, но можно сохранить открытый ключ на всякий случай
logout</pre>
<p>Теперь, у вас есть закрытый и открытый ключ на вашей клиентской машине, защищенный (или нет) паролем, и открытый ключ на стороне сервера. Серверу достаточно вашего открытого ключа, чтобы вас идентифицировать (условно говоря, сервер каждый раз будет генерировать некий уникальный текст и давать его вашей клиентской машине при открытии сессии, а ваша машина должна будет его подписать с помощью закрытого ключа, передать обратно цифровую подпись серверу, а тот сверит ее для выданного вам же текста. Поскольку подписать может только тот, кто имеет закрытый ключ + пароль к нему, а проверить подпись может тот, что имеет ваш открытый ключ, то идентификация в этом случае гарантирует серверу, что вы &#8211; эти именно вы, и Unix пароль в таком случае вообще не нужен и нигде в сессии не передается).</li>
<li>Следующий шаг &#8211; настройка ssh-agent. Он может нам понадобится, если мы не хотим постоянно вводить пароль для закрытого ключа. Если же вы на шаге 1 указали пустой пароль, то можете пропустить 4 -6 пункты &#8211; вам не потребуется демон ssh-agent для кеширования пароля &#8211; его попросту нет &#8211; он не будет запрашиваться утилитами, использующими протокол ssh, и все эти утилиты могут работать из скриптов прямо на этом этапе.<br />
Демон ssh-agent висит в памяти и за операциями подписи и криптования к нему обращаются программы ssh &amp; scp (и другие). Этот демон хранит в своей памяти ваш пароль для закрытого ключа определенное время, заданное вами. Это очень удобно, если вы повседневно используете openssh, например, даже для git pull &amp; git push.</p>
<pre class="brush: bash;">crontab -e</pre>
<p>Вставляем в редакторе в crontab файл:</p>
<pre class="brush: bash;">@reboot ssh-agent -s | grep -v echo &gt; $HOME/.ssh-agent</pre>
<p>Эти команды говорят крону, что во время ребута системы запустить ssh-agent, а его вывод &#8211; переменные среды окружения с настройками записать в файл $HOME/.ssh-agent. Этот файл необходим нам для того, чтобы программы ssh, scp знали, куда коннектится (в них сохраняются пути до Unix сокетов коммуникации с ssh-agent).<br />
Чтобы нам не ждать перезагрузки, запускаем демон сразу же:</p>
<pre class="brush: bash;">nohup ssh-agent -s &gt; ~/.ssh-agent</pre>
</li>
<li> Теперь, в ваши скрипты, которые используют ssh &amp; scp, надо добавить такую строку:
<pre class="brush: bash;">. ~/.ssh-agent</pre>
<p>Также, рекомендую добавить следующие строки в ~/.bashrc (для bash shell-а):</p>
<pre class="brush: bash;">. $HOME/.ssh-agent
alias keyon=&quot;ssh-add -t 10h&quot;
alias keyoff='ssh-add -D'
alias keylist='ssh-add -l'</pre>
<p>Тем самым, при заходе на клиентскую машину ssh сессией, у вас загрузятся настройки для работы с ssh-agent, а также определятся алиасы команд для повседневной работы. Например, выполнив в bash команду &laquo;keyon&raquo;, от вас ssh-add команда потребует ввести пароль для ключа. После ввода он будет еще работать 10 часов. В это время вы можете запускать команды ssh, scp и любые другие, что используют ssh для коннекта на сервер (rsync, git), и все эти команды будут работать без запроса пароля.</li>
<li>Второй вариант настройки ssh-agent (если его выбираете, можете пропустить пункты 4 и 5):<br />
В файле ~/.bash_profile прописываем:</p>
<pre class="brush: bash;">SSHAGENT=/usr/bin/ssh-agent
SSHAGENTARGS=&quot;-s&quot;
if [ -z &quot;$SSH_AUTH_SOCK&quot; -a -x &quot;$SSHAGENT&quot; ]; then
eval `$SSHAGENT $SSHAGENTARGS`
trap &quot;kill $SSH_AGENT_PID&quot; 0
ssh-add
fi</pre>
<p>Этими командами вы говорим при логине, если если нет таких-то переменных, запустить ssh-agent, выполнить команды вывода ssh-agent в текущем шеле (eval), а по завершении shell-а пристрелить процесс ssh-agent-а (trap). Здесь также при логине у вас единожды запросится пароль для ключа. Затем он будет в памяти ssh-agent</li>
</ol>
<p>Подробнее и всесторонне об ssh-agent можете прочитать в <strong><a href="http://mah.everybody.org/docs/ssh" target="_blank">статье Mark A. Hershberger</a></strong></p>
<p>Также рекомендуется к чтению:</p>
<ol>
<li><a href="http://rus-linux.net/nlib.php?name=/MyLDP/sec/openssh.html" target="_blank">20 советов по безопасному использованию сервера OpenSSH</a></li>
<li><a href="http://sial.org/howto/openssh/publickey-auth/" target="_blank">OpenSSH Public Key Authentication</a></li>
</ol>
]]></content:encoded>
			<wfw:commentRss>http://blog.perlover.com/2010/08/09/openssh-keys-using/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Google 500 Server Error</title>
		<link>http://blog.perlover.com/2010/08/06/google-internal-server-error-500/</link>
		<comments>http://blog.perlover.com/2010/08/06/google-internal-server-error-500/#comments</comments>
		<pubDate>Fri, 06 Aug 2010 09:36:20 +0000</pubDate>
		<dc:creator>Perlover</dc:creator>
				<category><![CDATA[Для Webmasters]]></category>
		<category><![CDATA[Программирование]]></category>
		<category><![CDATA[Расслабуха :)]]></category>
		<category><![CDATA[Google]]></category>
		<category><![CDATA[internet]]></category>
		<category><![CDATA[webmaster]]></category>
		<category><![CDATA[о жизни]]></category>

		<guid isPermaLink="false">http://blog.perlover.com/?p=966</guid>
		<description><![CDATA[Впервые в жизни увидел, как сервис Google (Google Webmaster Tools) выдавал мне несколько раз 500-ую ошибку сервера. Для тех, кто не знает что это &#8211; это ошибка, когда на стороне сервера программа выполняет ошибку и документ не может быть сформирован. Другими словами, Google Webmaster Tools сбоит на уровне сервера, то есть где-то там, в глубине [...]]]></description>
			<content:encoded><![CDATA[<p>Впервые в жизни увидел, как сервис Google (Google Webmaster Tools) выдавал мне несколько раз 500-ую ошибку сервера. Для тех, кто не знает что это &#8211; это ошибка, когда на стороне сервера программа выполняет ошибку и документ не может быть сформирован. Другими словами, Google Webmaster Tools сбоит на уровне сервера, то есть где-то там, в глубине &laquo;датацентров&raquo; Гугля программисты что-то где-то накосячили. Я такого раньше не видел &#8211; сырые программы, они видимо, тщательно оттачивают перед размещением их &laquo;для всех&raquo;. А тут вот за день (6 августа 2010) &#8211; 5 или 6 раз, и всегда в том месте, когда я &laquo;авторизую&raquo; свой сайт при добавлении в сервис. Это говорит о том, что даже такой крупный гигант, как Гугль, иногда делает ляпы <img src='http://blog.perlover.com/wp-includes/images/smilies/icon_wink.gif' alt=';-)' class='wp-smiley' /><br />
Скриншот прилагается <img src='http://blog.perlover.com/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' /> </p>
<div id="attachment_967" class="wp-caption alignnone" style="width: 580px"><a href="http://blog.perlover.com/wp-content/uploads/2010/08/google-500-error.jpg"><img class="size-full wp-image-967 " title="google-500-error" src="http://blog.perlover.com/wp-content/uploads/2010/08/google-500-error.jpg" alt="" width="570" height="160" /></a><p class="wp-caption-text">500 Internal Server Error of Google</p></div>
]]></content:encoded>
			<wfw:commentRss>http://blog.perlover.com/2010/08/06/google-internal-server-error-500/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Как заставить Copy Plain Text работать</title>
		<link>http://blog.perlover.com/2010/08/03/copy-plain-text-doesn-t-work-freezes/</link>
		<comments>http://blog.perlover.com/2010/08/03/copy-plain-text-doesn-t-work-freezes/#comments</comments>
		<pubDate>Tue, 03 Aug 2010 07:05:49 +0000</pubDate>
		<dc:creator>Perlover</dc:creator>
				<category><![CDATA[Add-ons]]></category>
		<category><![CDATA[bugs]]></category>
		<category><![CDATA[chrome]]></category>
		<category><![CDATA[FireFox]]></category>
		<category><![CDATA[patches]]></category>
		<category><![CDATA[soft]]></category>
		<category><![CDATA[xpi]]></category>
		<category><![CDATA[софт]]></category>

		<guid isPermaLink="false">http://blog.perlover.com/?p=953</guid>
		<description><![CDATA[Разработчик расширения &#171;Copy Plain Text&#187; для Firefox не позаботился о том, чтобы обновить версию &#171;Copy Plain Text&#187; для последнего и современного Firefox 3.6.*, хотя его расширение используется многими другими, например AutoCopy. Результат &#8211; некорректная его работа после устновки &#8211; невозможно открыть &#171;опции&#187; (Options) для него из пункта Tools -&#62; Add-ons &#8211; Firefox просто перестает реагировать [...]]]></description>
			<content:encoded><![CDATA[<p>Разработчик расширения &laquo;<strong><a href="https://addons.mozilla.org/en-US/firefox/addon/134/" target="_blank">Copy Plain Text</a></strong>&raquo; для Firefox не позаботился о том, чтобы обновить версию &laquo;Copy Plain Text&raquo; для последнего и современного Firefox 3.6.*, хотя его расширение используется <a href="http://blog.perlover.com/2009/10/23/one-click-copy-search-save-images/">многими другими, например AutoCopy</a>. Результат &#8211; некорректная его работа после устновки &#8211; невозможно открыть &laquo;опции&raquo; (Options) для него из пункта Tools -&gt; Add-ons &#8211; Firefox просто перестает реагировать на действия внутри окна Add-ons. Решение &#8211; либо вручную сделать изменения для установленного и не работающего расширения, либо использовать, например, уже правленную версию, например мою. <strong><a title="Правленная версия copy plain text 0.3.3" href="http://blog.perlover.com/wp-content/uploads/2010/08/copy_plain_text-0.3.3-fx+mz+tb.xpi" target="_self">Для моей версии кликните по этой ссылке</a></strong>, а для тех, кто хочет руками поправить, смотрите патч в формате утилиты patch &#8211; ее формат довольно понятен без всяких комментариев:</p>
<pre class="brush: diff;">diff -Nur 1/copy_plain_text-0.3.3-fx+mz+tb/chrome.manifest 2/copy_plain_text-0.3.3-fx+mz+tb/chrome.manifest
--- 1/copy_plain_text-0.3.3-fx+mz+tb/chrome.manifest	1970-01-01 05:00:00.000000000 +0500
+++ 2/copy_plain_text-0.3.3-fx+mz+tb/chrome.manifest	2010-08-03 12:17:02.031250000 +0600
@@ -0,0 +1,6 @@
+overlay chrome://browser/content/browser.xul chrome://copyplaintext/content/overlay.xul
+overlay chrome://navigator/content/navigatorOverlay.xul chrome://copyplaintext/content/overlay_moz.xul
+overlay chrome://navigator/content/navigator.xul chrome://copyplaintext/content/overlay_moz.xul
+overlay chrome://messenger/content/mailWindowOverlay.xul chrome://copyplaintext/content/overlay_thunder.xul
+overlay chrome://messenger/content/messengercompose/messengercompose.xul chrome://copyplaintext/content/overlay_thunder.xul
+content copyplaintext jar:chrome/copyplaintext.jar!/content/
diff -Nur 1/copy_plain_text-0.3.3-fx+mz+tb/install.rdf 2/copy_plain_text-0.3.3-fx+mz+tb/install.rdf
--- 1/copy_plain_text-0.3.3-fx+mz+tb/install.rdf	2006-11-27 21:14:12.000000000 +0500
+++ 2/copy_plain_text-0.3.3-fx+mz+tb/install.rdf	2010-08-03 12:15:14.812500000 +0600
@@ -22,7 +22,7 @@
 			&lt;Description&gt;
 				&lt;em:id&gt;{ec8030f7-c20a-464f-9b0e-13a3a9e97384}&lt;/em:id&gt;
 				&lt;em:minVersion&gt;1.0&lt;/em:minVersion&gt;
-				&lt;em:maxVersion&gt;2.0&lt;/em:maxVersion&gt;
+				&lt;em:maxVersion&gt;3.6.*&lt;/em:maxVersion&gt;
 			&lt;/Description&gt;
 		&lt;/em:targetApplication&gt;
</pre>
]]></content:encoded>
			<wfw:commentRss>http://blog.perlover.com/2010/08/03/copy-plain-text-doesn-t-work-freezes/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Это должно быть в цитатнике</title>
		<link>http://blog.perlover.com/2010/07/20/stopping-fucked-spam/</link>
		<comments>http://blog.perlover.com/2010/07/20/stopping-fucked-spam/#comments</comments>
		<pubDate>Tue, 20 Jul 2010 14:21:33 +0000</pubDate>
		<dc:creator>Perlover</dc:creator>
				<category><![CDATA[Без рубрики]]></category>
		<category><![CDATA[webmaster]]></category>
		<category><![CDATA[WordPress]]></category>
		<category><![CDATA[анти-спам]]></category>
		<category><![CDATA[о жизни]]></category>

		<guid isPermaLink="false">http://blog.perlover.com/?p=927</guid>
		<description><![CDATA[Пришел тут ко мне сегодня коммент на одну мою статью. Что то в этом комменте мне показалось нехорошим. Странный он был какой-то&#8230; Он такой и был: &#171;Это должно быть в цитатнике&#187;. Ну думаю, что за цитатник такой. Давай рыть и искать, но недолго, правда. Была в уме мысляшка, что спам это хитрый Так и оказалось. [...]]]></description>
			<content:encoded><![CDATA[<p>Пришел тут ко мне сегодня коммент на одну мою статью. Что то в этом комменте мне показалось нехорошим. Странный он был какой-то&#8230; Он такой и был: &laquo;Это должно быть в цитатнике&raquo;. Ну думаю, что за цитатник такой. Давай рыть и искать, но недолго, правда. Была в уме мысляшка, что спам это хитрый <img src='http://blog.perlover.com/wp-includes/images/smilies/icon_wink.gif' alt=';-)' class='wp-smiley' />  Так и оказалось. Фраза то URL-а не имеет, но зато бот сгенерировал имя и поставил нужный линк.</p>
<p>Оказывается, если погуглить на фразу именно в кавычках (чтобы порядок слов искался именно такой), то найдете кучу буржуйских блогов, где все на английском, зато комменты все на русском и многие из них такие <img src='http://blog.perlover.com/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' />  Правда там капчей нет почти нигде. А у меня есть. И ведь надо же, спам как то через капчу пролез. Видимо умеют ее распознавать ботами&#8230; Правда есть способ распознавать капчи любые автоматом. Простой и эффективный. Только для этого нужен популярный сайт, чтобы он был ваш. Думаю, сообразительные уже догадались, как <img src='http://blog.perlover.com/wp-includes/images/smilies/icon_wink.gif' alt=';-)' class='wp-smiley' /> </p>
]]></content:encoded>
			<wfw:commentRss>http://blog.perlover.com/2010/07/20/stopping-fucked-spam/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Золотые монеты Центрального Банка ржавеют</title>
		<link>http://blog.perlover.com/2010/07/16/fake-gold-from-central-bank-russia/</link>
		<comments>http://blog.perlover.com/2010/07/16/fake-gold-from-central-bank-russia/#comments</comments>
		<pubDate>Fri, 16 Jul 2010 16:23:25 +0000</pubDate>
		<dc:creator>Perlover</dc:creator>
				<category><![CDATA[Напрягуха :(]]></category>
		<category><![CDATA[Расслабуха :)]]></category>
		<category><![CDATA[anekdots]]></category>
		<category><![CDATA[анекдоты]]></category>
		<category><![CDATA[о жизни]]></category>

		<guid isPermaLink="false">http://blog.perlover.com/?p=885</guid>
		<description><![CDATA[Очень забавная, и в то же время, настораживающая новость. От себя скажу, что хоть там и говориться, что по пробам &#8211; там золото, тем не менее есть способы его подделать. Об этом я писал ранее в своем блоге. В реальности, золото не покрывается ржавчиной, значит с вероятностью 99% можно утверждать, что в ЦБ кто-то очень [...]]]></description>
			<content:encoded><![CDATA[<p>Очень забавная, и в то же время, настораживающая новость. От себя скажу, что хоть там и говориться, что по пробам &#8211; там золото, тем не менее <a href="http://blog.perlover.com/2009/11/19/about-gold/" target="_blank">есть способы его подделать</a>. <a href="http://blog.perlover.com/2009/11/19/about-gold/" target="_blank">Об этом я писал ранее</a> в своем блоге. В реальности, золото не покрывается ржавчиной, значит с вероятностью 99% можно утверждать, что в ЦБ кто-то очень сильно разбогател, сделав фальшивки. А теперь, собственно, новость:</p>
<blockquote><p>Герман Стерилигов обнаружил следы сильной коррозии и ржавчины на тысячах инвестиционных монет «Победоносец» 999.<br />
Чистое золото не вступает в реакции и не окисляется – это известно всем еще из школьного курса химии. Аналогично инвестиционные монеты качества 999 (чистое золото), производимые ЦБ, не портятся и не окисляются. Однако сотрудники Международной Резервной Расчетной Системы обнаружили следы ржавчины (коричневые и красные пятна и полосы на обеих сторонах монеты) сразу на нескольких тысячах монет. Значительная часть монет, по просьбе клиентов, хранилась не в сейфовых ячейках МРРС, а находилась в гораздо более трудноступном месте – была «закопана под дубом». Очевидно, монеты начали окисляться под воздействием влаги&#8230;</p></blockquote>
<p>Далее, подробно уже на первоисточнике: <a href="http://group.sterligoff.ru/?p=2435" target="_blank">Золотые монеты Центрального Банка ржавеют</a></p>
<p>Также, будет интересно: <a href="http://buisnescat.livejournal.com/302505.html" target="_blank">Поддельные слитки золота из Форта Нокс! Как США кидают весь мир&#8230;</a></p>
]]></content:encoded>
			<wfw:commentRss>http://blog.perlover.com/2010/07/16/fake-gold-from-central-bank-russia/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Perl &#8211; надо ли делать свой дистрибутив проекта?</title>
		<link>http://blog.perlover.com/2010/06/23/why-need-perl-makefile-pl-make/</link>
		<comments>http://blog.perlover.com/2010/06/23/why-need-perl-makefile-pl-make/#comments</comments>
		<pubDate>Wed, 23 Jun 2010 07:32:38 +0000</pubDate>
		<dc:creator>Perlover</dc:creator>
				<category><![CDATA[Perl]]></category>
		<category><![CDATA[git]]></category>
		<category><![CDATA[make]]></category>
		<category><![CDATA[Makefile]]></category>
		<category><![CDATA[Программирование]]></category>

		<guid isPermaLink="false">http://blog.perlover.com/?p=843</guid>
		<description><![CDATA[Если вы программер на perl, и читаете эту статью, то вы навярняка задавались вопросом &#8211; как устанавливать ваши скрипты, надо ли вообще делать дистрибутив, даже если вы не распространяете проект? Я несколько лет использовал свои скрипты, устанавливая их обычным копированием в отдельную папку и прописывая до нее путь, например через строки кода use lib qw(/path1 [...]]]></description>
			<content:encoded><![CDATA[<p>Если вы программер на perl, и читаете эту статью, то вы навярняка задавались вопросом &#8211; как устанавливать ваши скрипты, <strong>надо ли вообще делать дистрибутив, даже если вы не распространяете проект?</strong> Я несколько лет использовал свои скрипты, устанавливая их обычным копированием в отдельную папку и прописывая до нее путь, например через строки кода <code>use lib qw(/path1 /path2)</code> и т.п.. Такие скрипты работали, проблем не возникало, и я вообще не думал о дистрибутивах. Затем, понадобилось устанавливать несколько своих скриптов на несколько серваков, вот тогда я и сделал свой первый дистрибутив. Но до недавнего времени, я придерживался взгляда, что дистрибутив нужен только для публичного распространения, или когда вам надо использовать свои разработки на нескольких серваках. Но так ли это на практике?</p>
<p><span id="more-843"></span>Мое последняя точка зрения &#8211; если надо запускать проект, пусть и на одном сервере, надо все таки стремится сразу создавать дистрибутив. Ниже я рассмотрю несколько плюсов и минусов в сравнении с вариантом, когда вы используете простое копирование.</p>
<p>Но пока, <strong>давайте, определимся с термином &laquo;дистрибутив&raquo; для perl</strong>. Этим термином я буду называть упакованный пакет файлов (например <em>tar.gz</em> формата), который в своем составе имеет <em>Makefile.PL</em> &#8211; стартовый perl скрипт для формирования <em>Makefile</em> файла утилиты make. Также, &laquo;правильный&raquo; дистрибутив, помимо использования make, должен иметь две раздельные фазы работы. Первая &#8211; подготовка файлов, для их дальнейшей установки, внутри своей рабочей директории (исполняется не от &#8216;<em>root</em>&#8216;, команда &#8216;<em>make all</em>&#8216;, например). Вторая &#8211; установочная: подготовленные файлы копируются в нужные установочные директории (&#8216;<em>make install</em>&#8216;). Эта фаза либо исполняется от &#8216;root&#8217;, либо от какого либо пользователя, в его внутреннюю home директорию. Хочется заметить, что в отличии от компиляционных языков, типа C/C++, perl &#8211; язык интерпретатора, поэтому в большинстве случаев в компиляции не нуждается (кроме &#8216;XS&#8217; модулей), а значит make мало что сможет сделать для нас, с первого взгляда. По этой причине, часто встает вопрос &#8211; а нужен ли дистрибутив?</p>
<p>Теперь давайте рассмотрим плюсы и минусы дистрибутива в сравнении с обычным копированием perl файлов.</p>
<h1>+)</h1>
<p><strong>Дистрибутив</strong> &#8211; это прежде всего <strong>порядок в вашей голове</strong> по поводу файлов проектов &#8211; какие файлы рабочие, где библиотеки, где директории, созданные в процессе инсталлирования. Создавая дистрибутив, вы вынуждены наводить этот порядок. Но это окупится в дальнейшем.</p>
<h1>-)</h1>
<p>На <strong>перевод готового проекта в дистрибутив требуется больше времени</strong> и изучение принципов построения дистрибутива (этот этап однократный). Но если начинать проект сразу с формирования дистрибута, этот минус уже не играет роли.</p>
<h1>-)</h1>
<p>Любые правки и их испытание на рабочем процессе &#8211; это всегда команда make install, заместо обычной правки PM или PL файла в месте, где он установлен руками. Но этот минус незначительный, так как make install обычно работает быстро &#8211; она отслеживает только те файлы, что вы изменили и инсталирует только их. Другими словами, <strong>после каждой правки исходников, для их тестирования, надо будет немного тратить больше времени.</strong></p>
<h1>+)</h1>
<p>Если вы используете <strong>написание XS модулей</strong> (вставок C кода) в проекте &#8211; то <strong>без дистрибутива вам не обойтись</strong> &#8211; такие файлы требуют компиляции, и команда make просто необходима.</p>
<h1>+)</h1>
<p>Самый большой плюс перехода на дистрибутив &#8211; это <strong>возможность использования программ контроля версий</strong>. Я остановился на git (пробовал SVN &#8211; не понравился). Дело в том, что многие программы контроля версий не учитывают точные права Unix файлов &#8211; например, git хранит в репозитарии только статус файлов: исполняемый (&#8216;x&#8217;) или нет &#8211; он не помнит user.group, в точности mode самого файла для (user, group, other) и даже не сохраняет дату модификации файла (то есть выставляет ее в &laquo;настоящее время&raquo;  между переключениями версий проекта, что на самом деле является плюсом, как нистранно &#8211; дата модификации служит ориентиром для make, что опять же плюс в использовании дистрибутива). То есть, если вы будете использовать git, вам надо будет иметь специальные свои программы, выставляющие права и/или копирующие файлы в другое месте после каждого переключения между версиями репозитария проекта (то есть без дистрибутива вы фактически создадите свой вариант дистрибутива без make, что будет являться &laquo;изобретением велосипеда&raquo;). А также надо учитывать то, что все программы контроля версий контролируют одну папку. А рабочие файлы проекта, как правило, живут не в одной папке, а раскиданы по нескольким. Поэтому программы контроля версий будут жить только с дистрибутивами.</p>
<h1>+)</h1>
<p>Написав грамотный make, можно улучшить порядок вашего проекта &#8211; <strong>make будет выставлять права, какие необходимы на рабочие директории</strong>, создавать их при необходимости и т.п.. Если вам придется запускать проект на другом нулёвом сервере &#8211; это будет минимум затрат по времени.</p>
<h1>+)</h1>
<p><strong>Использование таких команд, как <em>make distcheck</em></strong>, позволяет проверить, какие новые файлы вы добавили/создали, но не поместили их еще в MANIFEST (список файлов для дистрибутива, так сказать, список файлов &laquo;на экспорт&raquo;), поможет определиться, какие файлы надо убрать из дистрибутива (MANIFEST.SKIP). Все это &#8211; опять же порядок, который положительно скажется на вашем проекте (в MANIFEST не обязательно добавлять все файлы, некоторые можно иметь только в своей папке дистрибутива, а при подготовке &laquo;установочного&raquo; tar.gz архива они будут просто исключаться).</p>
<h1>+)</h1>
<p>Ваш проект, при создании дистрибутива, даст вам сразу такие преимущества: <strong>возможность легкого переноса вашего проекта на другие сервера без особых затрат</strong>, без проблем из него можно сделать open source проект и дать ему дальнейший импульс развития вне рамок вашей организации, или же сделать коммерческим проектом с легкой инсталяцией и т.п..</p>
<p>Вот вроде все плюсы и минусы, которые я обнаружил на основе своего опыта. Как видно, плюсов больше, чем минусов. Дополнительное время надо потратить только в самом начале проекта. Дальше &#8211; проще. В perl позаботились, чтобы облегчить жизнь разработчику &#8211; есть возможность отслеживать, какие новые файлы вы добавили в проект, но не добавили &laquo;на экспорт&raquo; в будущий дистрибут, или даже есть команды автоматического построения <em>MANIFEST</em> файла. Также, не надо руками создавать <em>Makefile</em> с длинным списком всех своих PL &amp; PM файлов &#8211; &laquo;<em>perl Makefile.PL</em>&raquo; за вас найдет в нужных папках такие файлы и автоматом включит их в <em>Makefile</em>.</p>
<p>В следующей статье я расскажу вам, как легко и быстро создавать perl дистрибутивы. Для начинающих это может показаться сложно, так как надо читать много документации, прежде чем понять это. Я попробую рассказать об этом, опуская все лишнее.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.perlover.com/2010/06/23/why-need-perl-makefile-pl-make/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>rsync &#8211; быстрый резерв + быстрый перенос сайтов</title>
		<link>http://blog.perlover.com/2010/06/16/rsync-quickly-reserve-moving/</link>
		<comments>http://blog.perlover.com/2010/06/16/rsync-quickly-reserve-moving/#comments</comments>
		<pubDate>Wed, 16 Jun 2010 05:44:13 +0000</pubDate>
		<dc:creator>Perlover</dc:creator>
				<category><![CDATA[For AWMs]]></category>
		<category><![CDATA[Unix]]></category>
		<category><![CDATA[Для Webmasters]]></category>
		<category><![CDATA[apache]]></category>
		<category><![CDATA[backups]]></category>
		<category><![CDATA[mysql]]></category>
		<category><![CDATA[rsync]]></category>
		<category><![CDATA[webmaster]]></category>

		<guid isPermaLink="false">http://blog.perlover.com/?p=826</guid>
		<description><![CDATA[Когда-то давно, для резервирования, я использовал такие, казалось бы, незаменимые утилиты, как tar или pax. Я слышал в то время про rsync, но не представлял себе, как она в точности работает, поэтому я ощибочно полагал, что rsync &#8211; простая утилита копирования. А раз простая, то вряд ли я получу от нее много толку. Поэтому я [...]]]></description>
			<content:encoded><![CDATA[<p>Когда-то давно, для резервирования, я использовал такие, казалось бы, незаменимые утилиты, как tar или pax. Я слышал в то время про rsync, но не представлял себе, как она в точности работает, поэтому я ощибочно полагал, что rsync &#8211; простая утилита копирования. А раз простая, то вряд ли я получу от нее много толку. Поэтому я продолжал и продолжал пользоваться tar или pax, затем копировал по scp эти архивы, там распаковывал и т.п.. Я даже использовал find затем, чтобы докопировать файлы, которые изменились за последние сутки. <strong>Эх, жаль, что я столько много истратил времени на копирование, ведь была rsync!</strong></p>
<p><span id="more-826"></span>Итак, <strong>что же это за такая rsync?</strong> Это действительно, утилита рекурсивного копирования (копирует все файлы и поддиректории) с одного хоста на другой, или даже внутри одной машины. На этом все ее отличие от, например, утилиты cp заканчивается. И вот тут самое интересное &#8211; она при копировании каждый файл или директории, которые копируем, проходит блоками, и отслеживает только изменения блоков в сравнении с уже скопированными блоками. Грубо говоря, <strong>она копирует только &laquo;дельты&raquo; файлов и директорий!</strong> Что это значит? Это значит, что второй, третий и так далее запуски этой программы на определенную цель (куда копировать) будут занимать гораздо меньше времени, операций копирования и передачи данных по сети при повторном копировании уже изменившихся файлов. Вот несколько примеров ее использования:</p>
<h3>1) Быстрый перенос баз данных (на примере SQL).</h3>
<p>Имеем два сервака &#8211; один рабочий A, второй Б &#8211; куда будем резервировать свои базы данных (там где нет работающего SQL). Тогда для резервирования <strong>можно периодически запускать rsync</strong> на сервере A, <strong>не прекращая работы SQL сервера</strong> (назовем это &laquo;рабочим резервом&raquo;). Но чтобы нам иметь полностью правильные базы в резервной директории сервера Б, нам надо временами останавливать SQL на серваке А, и пока там нет работаюшего SQL, делать повторное копирование (назовем это &laquo;фиксированным резервом&raquo;). Вот тут то rsync и пригождается! Во время &laquo;рабочего резерва&raquo; многие файлы успевают устареть, ведь SQL продолжает работать. Во время &laquo;фиксированного резерва&raquo; копируются только дельты с последнего запуска &laquo;рабочего резерва&raquo;. Если время между этими запусками мало, то дельты копируются очень быстро &#8211; на больших базах это может быть не более минуты, например. Для снижения времени простоя, надо просто выполнить повторный &laquo;рабочий резерв&raquo; прямо перед остановкой MySQL сервера. Плюсы такого способа &#8211; <strong>минимальный даун по времени</strong>, минимум человеческих ошибок, простота. Я не знаю другого способа на данный момент, чтобы сделать быстрый резерв больших баз данных на другую машину, и при этом свести время простоя к минимуму.</p>
<p>Команды (<strong>смотрите не перепутайте!</strong> Тут все как в теории относительности <img src='http://blog.perlover.com/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' /> )<br />
<strong>На стороне сервера Б </strong>(можно и на стороне А, но тогда надо поменять пути местами), куда копируем, запускаем команды копирования во время &laquo;рабочего резерва&raquo;</p>
<pre class="brush: bash;">cd
nohup /bin/nice -n 20 ionice -c3 rsync --rsync-path='/bin/nice -n 20 ionice -c3 rsync' -avz --delete IP.ADDRESS.SERVER.A:'/path/to/source/folder/' /path/to/target/folder/</pre>
<p><strong>Краткие пояснения (ВАЖНО):</strong><br />
Некоторые утилиты могут отсутствовать, <strong>примеры даны для Linux!</strong> Здесь <a href="http://ru.wikipedia.org/wiki/Nohup" target="_blank">nohup</a> &#8211; &laquo;оторвать&raquo; ввод/вывод от терминала. Это нам потребуется, когда мы захотим оставить запущенный &laquo;резерв&raquo; в фоновом режиме. Сразу мы не можем этого сделать (то есть не ставлю &#8216;&amp;&#8217; в конце), так как rsync при копировании использует ssh, и раз мы копируем на другой сервак, он запросит у нас пароль (если авторизация через openssh ключи + ssh-agent, то можно и поставить &#8216;&amp;&#8217;, но об этом в другой раз, в другой статье). После ввода пароля уже можно будет нажать <em>Ctrl+Z</em> в shell и затем <code>"<strong>%1 &amp;</strong>"</code> для запуска в фоновом режиме первой запущенной задачи (см. <a href="http://linux.die.net/man/1/bash" target="_blank">man bash</a>). Команда <a href="http://ru.wikipedia.org/wiki/Nice" target="_blank">nice</a> &#8211; выставить приоритет для процессора, а <a href="http://linux.die.net/man/1/ionice" target="_blank">ionice</a> &#8211; приоритет для операций при работе с диском &#8211; все приоритеты ставяться на понижение, чтобы продолжалась нормальная работа сервера. Опция <code>--delete</code> для rsync &#8211; удалять все файлы в целевой директории (от слово &laquo;цель&raquo;, target), которых нет в исходной (source). То есть, после копирования получим полностью равную директорию по содержанию.<br />
<strong>Слеш в конце исходной директории (</strong><code>/path/to/source/folder/</code><strong>)  &#8211; важная штука!</strong> Если в конце слеш &#8211; директория рассматривается rsync-ом как комплект директорий и файлов в ней для копирования, а если слеша нет &#8211; как один объект, целая директория со своим именем &#8211; в обоих случаях копирование рекурсивное, но если из примера убрать слеш в конце первого пути (сделать /path/to/source/folder), то в /path/to/target/folder/ будет создана папка folder и туда скопируется ее содержимое! Почитайте man-ы, если хотите понять, как присутствие или отсутствие слешей в конце директории влияет на ход событий <img src='http://blog.perlover.com/wp-includes/images/smilies/icon_wink.gif' alt=';-)' class='wp-smiley' /> </p>
<h3>2) Перенос сайтов.</h3>
<p>Способом, описанным выше, также можно переносить и сайты вместе с их базами. Для баз мы используем способ выше, а для переноса контента делаем все то же самое, но при работающем apache. Как и в первом способе, apache мы останавливаем только на несколько минут или секунд, быстро запускаем rsync для &laquo;фиксированного резерва&raquo;, а после окончания запускаем apache снова. После остается сменить только DNS на новый IP адрес и все! Для повышения скорости переноса не забудьте за неделю до переноса выставить часовой TTL в вашем DNS для SOA записи зоны и для всех ее остальных записей. Тогда при смене IP весь трафик на сайт переместится за один час! Но это, как говориться, уже другая история. <img src='http://blog.perlover.com/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' /> </p>
]]></content:encoded>
			<wfw:commentRss>http://blog.perlover.com/2010/06/16/rsync-quickly-reserve-moving/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>QR-Code</title>
		<link>http://blog.perlover.com/2010/06/14/qr-code/</link>
		<comments>http://blog.perlover.com/2010/06/14/qr-code/#comments</comments>
		<pubDate>Mon, 14 Jun 2010 13:17:06 +0000</pubDate>
		<dc:creator>Perlover</dc:creator>
				<category><![CDATA[Для Webmasters]]></category>
		<category><![CDATA[internet]]></category>
		<category><![CDATA[phones]]></category>
		<category><![CDATA[webmaster]]></category>
		<category><![CDATA[мобильная связь]]></category>
		<category><![CDATA[Советы]]></category>

		<guid isPermaLink="false">http://blog.perlover.com/?p=834</guid>
		<description><![CDATA[Сегодня впервые узнал такую классную штуку, как QR-Code. Представьте себе, что вы хотите записать адрес интернета к себе в мобильник, а он к тому же еще длинный. Что вы будете делать? Или хотите оставить ваш email или рекламное объявление на столбе, и чтобы его потом можно было использовать в мобильнике (про столб, я конечно, загнул, [...]]]></description>
			<content:encoded><![CDATA[<p>Сегодня впервые узнал такую <strong>классную штуку</strong>, как <strong>QR-Code</strong>. Представьте себе, что вы хотите записать адрес интернета к себе в мобильник, а он к тому же еще длинный. Что вы будете делать? Или хотите оставить ваш email или рекламное объявление на столбе, и чтобы его потом можно было использовать в мобильнике (про столб, я конечно, загнул, но это вполне может быть стать широкоупотрибимым при поддержке сотовых телефонов). Оказывается, японцы давно уже придумали простой способ ввода информации в мобильник &#8211; <strong>квадратный штрихкод</strong> с информацией, который <strong>читается обычной камерой мобильника</strong>! И даже если ваш телефон не японский, вы можете легко добавить для него такую фишку &#8211; установить приложение. А некоторые мобильники умеют это уже делать прямо с завода <img src='http://blog.perlover.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p><span id="more-834"></span>Итак, имеем штрихкод &#8211; см. слева<a href="http://blog.perlover.com/wp-content/uploads/2010/06/http-blog.perlover.com-2010-06-14-qr-code-.png"><img class="alignleft size-full wp-image-836" title="Адрес этой статьи в QR-Code" src="http://blog.perlover.com/wp-content/uploads/2010/06/http-blog.perlover.com-2010-06-14-qr-code-.png" alt="" width="280" height="280" /></a>. Это &#8211; адрес данной статьи. Запускаем некое приложение, которое читает QR-Codes,  наводим камеру на монитор, щелкаем кнопкой и спустя пару секунд &#8211; адрес у нас уже в телефоне. Из своего опыта и экспериментов, я хочу предложить вам следующие ссылки для установки приложений, читающих QR-Codes:</p>
<ol>
<li><strong><a href="http://i-nigma.mobi/" target="_blank">i-nigma.mobi</a></strong> &#8211; самое <strong>лучшее приложение</strong>, которое мне понравилось из нескольких протестированных мною &#8211; приятный интерфейс, оформление, хистори, возможность отправить через СМС отсканированный текст, нормальная работа с русскими буквами, понимает все форматы + может еще читать обычный линейный штрих-код <img src='http://blog.perlover.com/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' /> . Просто наберите этот адрес в мобильнике, вам будет предложена ссылка для скачки Java приложения на основании марки телефона, которым вы зайдете на тот сайт.</li>
<li><strong><a href="http://qrcode.kaywa.com/" target="_blank">qrcode.kaywa.com</a></strong> &#8211; Здесь вы <strong>найдете онлайн генератор </strong>для формирования штрихкода для вашего URL адреса, текста, SMS. Если вы владелец сайта, и у вас есть мобильный контент, вам это будет очень кстати.</li>
<li><strong><a href="http://www.qrstuff.com/" target="_blank">www.qrstuff.com</a></strong> -  Другой, <strong>более гибкий генератор</strong>. Показывает QR код сразу, во время набора. Также <strong>делает нормально vCard &amp; meCard </strong>(&laquo;карточки контактов&raquo;) &#8211; для мобильника рекомендую выбрать тип meCard. Также там <strong>можно сформировать GPS точку и картой Google Map </strong>(сам стандарт QR кода не предусматривает это, но то, чего нет, тот севрис делает через URL сервисы своего сайта). Очень рекомендую этот генератор для продвинутых QR кодов.</li>
<li><strong><a href="http://ru.wikipedia.org/wiki/QR_Code" target="_blank">Статья в русской Wiki</a></strong>, рассказывающая о QR-Codes</li>
</ol>
<p>Если подумать, применений этому можно найти много. И не обязательно в интернет <img src='http://blog.perlover.com/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' /> </p>
]]></content:encoded>
			<wfw:commentRss>http://blog.perlover.com/2010/06/14/qr-code/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
	</channel>
</rss>
