<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:dc="http://purl.org/dc/elements/1.1/" version="2.0"><channel><atom:link rel="hub" href="http://tumblr.superfeedr.com/" xmlns:atom="http://www.w3.org/2005/Atom"/><description></description><title>SvartalF</title><generator>Tumblr (3.0; @svartalf)</generator><link>http://blog.svartalf.info/</link><item><title>Read the Docs + ctypes = ☹</title><description>&lt;p&gt;Написание приличной документации (ковыряюсь с &lt;a href="http://python-quirc.readthedocs.org/"&gt;документацией для python-quirc&lt;/a&gt;) занимает примерно в два раза больше времени, чем написание самого кода. Формат &lt;a href="http://docutils.sourceforge.net/rst.html"&gt;reStructuredText&lt;/a&gt; незнакомый, немного не интуитивный, поэтому пишется не очень весело.&lt;/p&gt;

&lt;p&gt;Вдобавок, выяснилось, что &lt;a href="http://readthedocs.org/"&gt;Read the Docs&lt;/a&gt; благоразумно не дают у себя собирать библиотеки, написанные на C, поэтому возможности &lt;a href="http://sphinx.pocoo.org/ext/autodoc.html#module-sphinx.ext.autodoc"&gt;sphinx autodoc&lt;/a&gt; внезапно обвалились из-за того, что нельзя импортировать python биндинги. В качестве решения проблемы &lt;a href="http://read-the-docs.readthedocs.org/en/latest/faq.html#i-get-import-errors-on-libraries-that-depend-on-c-modules"&gt;предлагают&lt;/a&gt; использовать &lt;a href="http://en.wikipedia.org/wiki/Mock_object"&gt;Mock объекты&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;Таким образом встает задача подменить вызов &lt;a href="http://docs.python.org/library/ctypes.html#finding-shared-libraries"&gt;ctypes.util.find_library&lt;/a&gt;, и вернуть Mock объект. Простейшим вариантом было бы проверить наличие &lt;a href="http://read-the-docs.readthedocs.org/en/latest/faq.html#how-do-i-change-behavior-for-read-the-docs"&gt;переменной окружения READTHEDOCS&lt;/a&gt;, но это очень не по-джедайски, ставить подобные проверки в те места исходного кода, где им совсем не место.&lt;/p&gt;

&lt;p&gt;Альтернативный вариант: руками скопировать документацию и не использовать sphinx autodoc.&lt;/p&gt;

&lt;p&gt;Один вариант другого хуже.&lt;/p&gt;</description><link>http://blog.svartalf.info/post/23795885092</link><guid>http://blog.svartalf.info/post/23795885092</guid><pubDate>Sat, 26 May 2012 23:16:22 +0900</pubDate><category>python</category><category>reStructuredText</category><category>ReadTheDocs</category><category>Mock</category><category>ctypes</category><category>python-quirc</category></item><item><title>Travis Continious Integration</title><description>&lt;p&gt;Нашел чудесный сервис, позволяющий бесплатно выполнять непрерывную интеграцию для проектов, размещающихся на GitHub: &lt;a href="http://travis-ci.org"&gt;Travis CI&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;После простейшей регистрации в настройках профиля можно выбрать, какие из проектов будут автоматически собираться и тестироваться на нодах этого сервиса. Для &lt;a href="http://about.travis-ci.org/docs/user/languages/python/"&gt;Python&lt;/a&gt; есть ноды с 2.5, 2.6, 2.7, 3.2 и pypy версиями интерпретатора.&lt;/p&gt;

&lt;p&gt;Для примера я решил сделать тестирование &lt;a href="https://github.com/svartalf/python-quirc"&gt;ctypes биндингов к libquirc&lt;/a&gt; (написанной на C библиотеки для распознавания QR кодов), которые сейчас пишу.&lt;/p&gt;

&lt;p&gt;Тестирование проекта происходит автоматически после каждого нового коммита на основе конфигурационного файла &amp;#8220;.travis.yml&amp;#8221;. &lt;a href="https://github.com/svartalf/python-quirc/blob/master/.travis.yml"&gt;Файл настроек&lt;/a&gt; кладется в корень проекта и описывает конфигурацию для тестирования.&lt;/p&gt;

&lt;p&gt;Для начала указываем язык исходников:&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;language: python
&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;Описываем версии, под которыми будет тестироваться проект:&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;python:
    - '2.5'
    - '2.6'
    - '2.7'
    - 'pypy'
&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;Так как в моем случае проект — это биндинги к уже имеющейся библиотеке, нужно сначала установить саму библиотеку, чтобы было что тестировать. В репозиториях дистрибутивов ее нет, поэтому собираем ее вручную. Для этого подходит секция &amp;#8220;before_install&amp;#8221; в конфиге, куда можно написать ряд команд bash, чтобы собрать себе работоспособное окружение.&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;before_install:
    - 'sudo apt-get install libsdl1.2-dev'
    - 'git clone --depth 1 git://github.com/dlbeer/quirc.git /tmp/quirc'
    - 'make -C /tmp/quirc libquirc.so libquirc.a'
    - 'sudo install -o root -g root -m 0644 /tmp/quirc/libquirc.a /usr/local/lib'
    - 'sudo install -o root -g root -m 0755 /tmp/quirc/libquirc.so /usr/local/lib/libquirc.so.1.0'
    - 'sudo ln -sf /usr/local/lib/libquirc.so.1.0 /usr/local/lib/libquirc.so.1'
    - 'sudo ln -sf /usr/local/lib/libquirc.so.1.0 /usr/local/lib/libquirc.so'
&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;На мое счастье, &lt;a href="http://about.travis-ci.org/docs/user/ci-environment/"&gt;в окружении доступны gcc и make&lt;/a&gt;, поэтому библиотеку собрать не составляет труда.&lt;/p&gt;

&lt;p&gt;Кроме того, для тестирования под версиями python&amp;lt;2.7 используется библиотека &lt;a href="http://pypi.python.org/pypi/unittest2"&gt;unittest2&lt;/a&gt;, чтобы задействовать новые возможности штатной unittest. В той же секции &amp;#8220;before_install&amp;#8221; проверяем версию python в окружении и при необходимости устанавливаем библиотеку:&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;    - 'if [[ $TRAVIS_PYTHON_VERSION == "2.5" ]]; then pip install unittest2 --use-mirrors; fi'
    - 'if [[ $TRAVIS_PYTHON_VERSION == "2.6" ]]; then pip install unittest2 --use-mirrors; fi'
&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;После этого уже можно запускать тестирование:&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;script: LD_PRELOAD=/usr/local/lib/libquirc.so python setup.py test
&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;Теперь после каждого коммита будет происходить сборка проекта, на почту будут приходить ехидные уведомления «The build is still failing», а на &lt;a href="http://travis-ci.org/#!/svartalf/python-quirc"&gt;странице проекта&lt;/a&gt; можно будет посмотреть подробную информацию о результатах тестирования.&lt;/p&gt;

&lt;p&gt;Не забудьте в README проекта добавить плашку с информацией о результатах билда, это весело: &lt;img src="https://secure.travis-ci.org/svartalf/python-quirc.png" alt=""/&gt;&lt;/p&gt;</description><link>http://blog.svartalf.info/post/23267678680</link><guid>http://blog.svartalf.info/post/23267678680</guid><pubDate>Fri, 18 May 2012 11:09:00 +0900</pubDate><category>python</category><category>github</category><category>travis</category><category>Continious Integration</category></item><item><title>9 мая</title><description>&lt;p&gt;Сегодня с &lt;a href="http://twitter.com/#!/Laquna"&gt;@Laquna&lt;/a&gt; затеяли доброе дело, купили большую охапку гвоздик и после военного парада на сквере Кирова дарили их ветеранам.&lt;/p&gt;

&lt;p&gt;&lt;img src="http://distilleryimage2.instagram.com/1bab6644998511e1989612313815112c_7.jpg" alt=""/&gt;&lt;/p&gt;

&lt;p&gt;Меня огорчает то, что несмотря на мои предложения в интернете присоединиться к нам, я так и не увидел никого из друзей и знакомых, но мы там в любом случае были не одни такие, к ветеранам подходили совершенно незнакомые им люди, говорили «спасибо» и дарили цветы.&lt;/p&gt;

&lt;p&gt;Это не очень большой и серьезный поступок, но в любом случае это намного лучше, чем под предлогом Дня Победы напиться в хлам и вести себя аггресивно. Во всяком случае, вечером идти на салют в нашем городе чревато, потому что можно огрести от пьяного быдла.&lt;/p&gt;

&lt;p&gt;Поэтому на салют я не пошел. А вот цветы ветеранам сегодня дарил, и это было очень приятно.&lt;/p&gt;</description><link>http://blog.svartalf.info/post/22711406078</link><guid>http://blog.svartalf.info/post/22711406078</guid><pubDate>Wed, 09 May 2012 20:36:29 +0900</pubDate></item><item><title>Подумайте, прежде чем идти в интернет.</title><description>&lt;p&gt;По &lt;a href="http://company.yandex.ru/researches/reports/internet_regions_2012.xml"&gt;данным Яндекса&lt;/a&gt; на весну этого года доступ в интернет имеют около 54,5 миллионов человек в России (а это уже 47%).&lt;/p&gt;

&lt;p&gt;В рамках этой всеобщей «интернетизации» можно заметить интересную деталь: некоторые люди, являющиеся депутатами или начальниками компаний (в общем, серьезными дядями) доходят до идеи вести свой собственный блог или твиттер, чтобы быть более публичными людьми. Я не могу не согласиться с этой мыслью, это действительно хорошо и для человека и для его компании, если она у него есть.&lt;/p&gt;

&lt;p&gt;Как и многое в наших суровых российских условиях, эта идея разбивается об первые же подводные камни, встречающиеся на пути каждого начинающего «блоггера». Кто-то не заморачивается на грамотность речи, некоторые не считают нужным соблюдать хоть какие-нибудь простейшие нормы приличия, а кто-то и вовсе постит котиков и ссылки на ржаку.&lt;/p&gt;

&lt;p&gt;В этот момент нужно срочно выставить перед собой ладони в примиряющем жесте и пояснить, что да, мы тут даже не говорим про большую часть пользователей некоторых социальных сетей!
Речь о тех людях, которые собой представляют что-то немного более серьезное, чем обычный девятиклассник, фотающийся «на аватарку вконтакте». Прекратите, пожалуйста, писать чушь, вас ведь действительно могут читать. Подучите русский язык, научитесь формулировать свои мысли и перестаньте пороть чушь.&lt;/p&gt;

&lt;p&gt;А то впечатление о соответствии занимаемой должности улетучивается в неизвестные дали.&lt;/p&gt;

&lt;p&gt;&lt;em&gt;Паранормальное / Старческое брюзжание&lt;/em&gt;&lt;/p&gt;</description><link>http://blog.svartalf.info/post/22250653983</link><guid>http://blog.svartalf.info/post/22250653983</guid><pubDate>Wed, 02 May 2012 20:19:15 +0900</pubDate><category>internet</category></item><item><title>В подъезде повесили нормальную пробковую доску для объявлений....</title><description>&lt;img src="http://25.media.tumblr.com/tumblr_m3a32pFCOm1qbx3z7o1_500.jpg"/&gt;&lt;br/&gt;&lt;br/&gt;&lt;p&gt;В подъезде повесили нормальную пробковую доску для объявлений. Наконец-то никаких уродливых листочков в мультифорах, приклеенных на скотч к стене  (Taken with &lt;a href="http://instagr.am"&gt;instagram&lt;/a&gt;)&lt;/p&gt;</description><link>http://blog.svartalf.info/post/22109788062</link><guid>http://blog.svartalf.info/post/22109788062</guid><pubDate>Mon, 30 Apr 2012 14:54:24 +0900</pubDate></item><item><title>О курении водителей общественного транспорта за рулем</title><description>&lt;p&gt;Уже &lt;a href="http://www.irk.ru/news/20090727/smoke/"&gt;почти три года назад&lt;/a&gt; в Иркутске запретили водителям общественного транспорта курить за рулем, а пассажирам разрешили не платить таким водителям.&lt;/p&gt;

&lt;p&gt;Первое время тему активно раскручивали, но потом энтузиазм пропал, на горячей линии перестали отвечать, и новый номер телефона для жалоб теперь не найти. Имея хоть малейшее желание сделать мир хоть немного лучше, можно при желании все-таки добиться того, чтобы водитель получил по шапке.&lt;/p&gt;

&lt;ol&gt;&lt;li&gt;Открываем на сайте местной администрации &lt;a href="http://www.admirkutsk.ru/?doc=3635"&gt;список частных перевозчиков&lt;/a&gt;;&lt;/li&gt;
&lt;li&gt;Находим компанию, обслуживающую нужный маршрут:&lt;/li&gt;
&lt;li&gt;Так как телефоны там не указаны, используем, например, &lt;a href="http://maps.2gis.ru/irkutsk"&gt;ДубльГИС&lt;/a&gt;, чтобы найти телефон компании;&lt;/li&gt;
&lt;li&gt;Звоним, и без стеснения говорим, что хотим пожаловаться на курение водителя за рулем;&lt;/li&gt;
&lt;li&gt;Сообщаем номер автомобиля и маршрута.&lt;/li&gt;
&lt;/ol&gt;&lt;p&gt;В результате водитель &lt;a href="http://www.irk.ru/news/20090909/driver/"&gt;огребает от начальства&lt;/a&gt;, и перестает так делать.&lt;/p&gt;

&lt;p&gt;Отдельно для тех, кто считает, что жаловаться — это «&lt;em&gt;не по-пацански&lt;/em&gt;», хочется сказать, что пока мы будем позволять друг другу вести себя, как мудаки, ничего не изменится. Возьми, блять, и позвони в следующий раз.&lt;/p&gt;</description><link>http://blog.svartalf.info/post/20999567546</link><guid>http://blog.svartalf.info/post/20999567546</guid><pubDate>Fri, 13 Apr 2012 10:40:00 +0900</pubDate><category>irkutsk</category><category>smoking</category></item><item><title>Что делать со спамом в твиттере?</title><description>&lt;p&gt;В последние несколько дней в русскоязычном сегменте твиттера наблюдается массовая спам-атака, активно захламляющая все возможные хэштеги. Несмотря на недавние попытки твиттера &lt;a href="http://money.cnn.com/2012/04/06/technology/twitter-spam-lawsuit/index.htm"&gt;привлечь спамеров к ответственности&lt;/a&gt;, ситуация пока не изменилась.&lt;/p&gt;

&lt;p&gt;На мою жалобу в abuse team так и не ответили, поэтому спасение утопающих, как обычно, оказалось делом рук самих утопающих.&lt;/p&gt;

&lt;p&gt;Для начала в Иркутске появился &lt;a href="https://twitter.com/#!/search/realtime/%23%D1%82%D0%B2%D0%B8%D1%80%D0%BA"&gt;новый хэштег #твирк&lt;/a&gt;, на который вроде как можно было переехать, и спокойно туда писать. На мой взгляд, это неэффективная мера: стоит только хэштегу набрать популярность, и он тоже попадет в списки спамеров.&lt;/p&gt;

&lt;p&gt;Текущий поиск по хэштегам &lt;a href="https://twitter.com/#!/search/realtime/%23irkutsk%20OR%20%23twirkutsk%20OR%20%23%D0%98%D1%80%D0%BA%D1%83%D1%82%D1%81%D0%BA"&gt;#irkutsk, #иркутск и #twirkutsk&lt;/a&gt; забит спамом, новые сообщения появляются каждую минуту, поэтому читать его невозможно. Вместо этого можно пользоваться, например, отфильтрованной &lt;a href="http://irkutsk.tw/stream/"&gt;лентой твитов&lt;/a&gt;, в которую не попадают спамерские сообщения.&lt;/p&gt;

&lt;p&gt;Если ваш твиттер-клиент позволяет фильтровать твиты по клиенту, с которого они были отправлены, блокируйте клиент «Growth Memory», это должно помочь.&lt;/p&gt;

&lt;p&gt;И переходя от обороны к атаке: пожалуйста, хотя бы раз в день заходите на &lt;a href="http://irkutsk.tw/antispam/"&gt;антиспам&lt;/a&gt;, и нажимайте кнопку «&lt;em&gt;заблокировать их всех&lt;/em&gt;». Все спам-боты попадают в список для бана автоматически, поэтому чем чаще в abuse team твиттера будут уходить жалобы о спаме, тем возможно, они быстрее будут на это безобразие реагировать.&lt;/p&gt;</description><link>http://blog.svartalf.info/post/20698573765</link><guid>http://blog.svartalf.info/post/20698573765</guid><pubDate>Sun, 08 Apr 2012 14:10:30 +0900</pubDate><category>twitter</category><category>spam</category><category>irkutsk</category></item><item><title>Если всем этим большим организациям так важен мой звонок, то какого черта я должен продираться...</title><description>&lt;p&gt;Если всем этим большим организациям так важен мой звонок, то какого черта я должен продираться сквозь эти голосовые меню и прослушивать пять минут кряду рекламу?&lt;/p&gt;

&lt;p&gt;Сразу же после снятия трубки я хочу, как клиент, слышать «&lt;em&gt;чтобы поговорить с оператором, нажмите вот эту кнопку, и больше не забивайте себе голову, ведь мы ценим ваше время&lt;/em&gt;».&lt;/p&gt;</description><link>http://blog.svartalf.info/post/20279647415</link><guid>http://blog.svartalf.info/post/20279647415</guid><pubDate>Sun, 01 Apr 2012 19:15:41 +0900</pubDate></item><item><title>Что делать начинающему блогеру?</title><description>&lt;p&gt;Сегодня меня занесло на мастер-класс «Как стать блогером. Секреты мастерства», где я, как почти начинающий блогер, хотел посмотреть на то, чем жива блогосфера Иркутска.&lt;/p&gt;

&lt;p&gt;Целевой аудитории (тех самых мистических блогеров-неофитов) на мастер-классе наблюдалось от силы десять человек из сорока, поэтому всё собрание превратилось в междусобойчик, в ход пошли заумные фразы и споры с залом. Начинающие блогеры от такого вставали и уходили.&lt;/p&gt;

&lt;p&gt;В один из таких споров включился и я, потому что во-первых твиттер был объявлен недостойным звания блогоплатформы (об этом чуть дальше), а во-вторых, меня еще с самого начала очень тянуло спросить, как определить, что блогер уже очень известный. Для этого я заранее подготовил &lt;a href="http://blog.svartalf.info/post/20109558862/twitter-top10-popular-irkutsk-citizens"&gt;топ-10 известных иркутских твиттер-пользователей&lt;/a&gt;, и попытался ввернуть его в разговор. Мне показалось, что участвующие в полемике немного обиделись на эти цифры, опять подвели твиттер под статус гиковского сервиса, и закончили на этом спор.&lt;/p&gt;

&lt;p&gt;&lt;img src="http://28.media.tumblr.com/tumblr_m1nj0m2yOI1qbx3z7o1_500.jpg" alt=""/&gt;&lt;/p&gt;

&lt;p&gt;Сами доклады я бы поделил на три категории: «обзорный и простой доклад», «понятный только автору набор предложений» и выступление &lt;a href="https://twitter.com/#!/demeshkoff_38"&gt;Демешкова&lt;/a&gt;, в котором он не торопясь разъяснил, кому и какой блог стоит вести, и стоит ли вообще.&lt;/p&gt;

&lt;p&gt;Вместо обзора блогоплатформ были настойчивые указания о неведомых преимуществах LiveJournal и (хопа, реклама) блогов Областной газеты, сулившей по тысяче посетителей в день, Откуда они их берут, я так и не понял.&lt;/p&gt;

&lt;p&gt;Твиттер, который год набирающий обороты в русской блогосфере, старательно обошли стороной, сначала отказавшись называть его блогом, а потом и вовсе рассказав, что им пользуются только гики и девочки от 14 до 24 лет. Я хоть и гик, но с этим утверждением не согласен, потому что уже достаточно давно слежу за развитием иркутского твиттера и представляю, кто им пользуется.&lt;/p&gt;

&lt;p&gt;В итоге, вышло непонятно для кого и непонятно зачем. Был бы я начинающим блогером — ничего бы не понял.&lt;/p&gt;</description><link>http://blog.svartalf.info/post/20117024263</link><guid>http://blog.svartalf.info/post/20117024263</guid><pubDate>Thu, 29 Mar 2012 23:53:00 +0900</pubDate><category>irkutsk</category><category>blogosphere</category><category>infotorial</category></item><item><title>Самые популярные микроблоггеры Иркутска</title><description>&lt;p&gt;В пику разрозненным заявлениям о собственной популярности среди блогосреды Иркутской области я собрал реальные данные известности и читаемости в твиттере.&lt;/p&gt;

&lt;p&gt;Алгоритм простой:&lt;/p&gt;

&lt;ol&gt;&lt;li&gt;Берем твиттер-пользователей &lt;a href="https://twitter.com/#!/svartalf/irkutsk"&gt;нашей&lt;/a&gt; &lt;a href="https://twitter.com/#!/svartalf/irkutsk-part-two"&gt;области&lt;/a&gt;;&lt;/li&gt;
&lt;li&gt;Находим, кто из них кого читает;&lt;/li&gt;
&lt;li&gt;Выясняем, кого читают больше всего людей.&lt;/li&gt;
&lt;/ol&gt;&lt;p&gt;Плюсы этого подхода: в расчеты не попадают боты, масс-фолловеры и прочие неизвестные люди; остаются только настоящие живые люди.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Топ-10:&lt;/strong&gt;&lt;/p&gt;

&lt;ol&gt;&lt;li&gt;&lt;a href="https://twitter.com/#!/Kondrashov_V"&gt;Виктор Кондрашов&lt;/a&gt;: 225 фолловеров&lt;/li&gt;
&lt;li&gt;&lt;a href="https://twitter.com/#!/golodnyj"&gt;Голодный&lt;/a&gt;: 213&lt;/li&gt;
&lt;li&gt;&lt;a href="https://twitter.com/#!/lenih_irk"&gt;Дядя Ленин&lt;/a&gt;: 177&lt;/li&gt;
&lt;li&gt;&lt;a href="https://twitter.com/#!/svartalf"&gt;SvartalF&lt;/a&gt;: 165&lt;/li&gt;
&lt;li&gt;&lt;a href="https://twitter.com/#!/diagrun"&gt;Диагран&lt;/a&gt;: 143&lt;/li&gt;
&lt;li&gt;&lt;a href="https://twitter.com/#!/Laquna"&gt;Анна Суркова&lt;/a&gt;: 135&lt;/li&gt;
&lt;li&gt;&lt;a href="https://twitter.com/#!/ten_sergey"&gt;Сергей Тен&lt;/a&gt;: 129&lt;/li&gt;
&lt;li&gt;&lt;a href="https://twitter.com/#!/offinga"&gt;Антон Паймышев&lt;/a&gt;: 121&lt;/li&gt;
&lt;li&gt;&lt;a href="https://twitter.com/#!/Tatarnikoff"&gt;Илья Татарников&lt;/a&gt;: 115&lt;/li&gt;
&lt;li&gt;&lt;a href="https://twitter.com/#!/suzrik"&gt;Дмитрий Сизиков&lt;/a&gt;: 115&lt;/li&gt;
&lt;/ol&gt;&lt;p&gt;Потрясение устоев.&lt;/p&gt;</description><link>http://blog.svartalf.info/post/20109558862</link><guid>http://blog.svartalf.info/post/20109558862</guid><pubDate>Thu, 29 Mar 2012 17:26:00 +0900</pubDate><category>irkutsk</category><category>twitter</category></item><item><title>Все программисты иногда ошибаются</title><description>&lt;p&gt;Мой банк сегодня лоханулся, и вместо письма с информацией о проведенной транзакции прислал raw xml, из которой, видимо, это письмо и рендерится:&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;&amp;lt;Message&amp;gt;
  &amp;lt;CardNo&amp;gt;xxxx&amp;lt;/CardNo&amp;gt;
  &amp;lt;RegimeID&amp;gt;x&amp;lt;/RegimeID&amp;gt;
  &amp;lt;Cur&amp;gt;RUR&amp;lt;/Cur&amp;gt;
  &amp;lt;TransDate&amp;gt;21.03.2012&amp;lt;/TransDate&amp;gt;
  &amp;lt;TransTime&amp;gt;03:55:41&amp;lt;/TransTime&amp;gt;
  &amp;lt;Result&amp;gt;0&amp;lt;/Result&amp;gt;
  &amp;lt;ReqCat&amp;gt;Q&amp;lt;/ReqCat&amp;gt;
  &amp;lt;TransSum&amp;gt;xxx.xx&amp;lt;/TransSum&amp;gt;
  &amp;lt;TransCur&amp;gt;RUR&amp;lt;/TransCur&amp;gt;
  &amp;lt;TransType&amp;gt;xx&amp;lt;/TransType&amp;gt;
  &amp;lt;CardSum&amp;gt;xxx.xx&amp;lt;/CardSum&amp;gt;
  &amp;lt;Details&amp;gt;28 2 Zheleznodorozhnaya&amp;lt;/Details&amp;gt;
  &amp;lt;RRN&amp;gt;xxxxxxxxxxxx&amp;lt;/RRN&amp;gt;
  &amp;lt;AuthCode&amp;gt;xxxxxx&amp;lt;/AuthCode&amp;gt;
  &amp;lt;AmountAvailable&amp;gt;xxxx.xx&amp;lt;/AmountAvailable&amp;gt;
  &amp;lt;OwnBalanceAvailable&amp;gt;xxxx.xx&amp;lt;/OwnBalanceAvailable&amp;gt;
  &amp;lt;CredBalanceAvailable&amp;gt;0&amp;lt;/CredBalanceAvailable&amp;gt;
  &amp;lt;CheckAvailable&amp;gt;Y&amp;lt;/CheckAvailable&amp;gt;
&amp;lt;/Message&amp;gt;
&lt;/code&gt;&lt;/pre&gt;</description><link>http://blog.svartalf.info/post/19652766531</link><guid>http://blog.svartalf.info/post/19652766531</guid><pubDate>Wed, 21 Mar 2012 08:17:14 +0800</pubDate><category>ВТБ24</category></item><item><title>"Проблема в том, что в выборах нет ничего сложного, ничего аналитического и, что самое важное,..."</title><description>“Проблема в том, что в выборах нет ничего сложного, ничего аналитического и, что самое важное, никаких решений. Демократические выборы — это просто смена власти. Один посидел — дай другому посидеть. И пока наш народ этого не понимает — не понимает, что только постоянная и гарантированная сменность власти может создать прочные институты её воспроизводства и конкуретной за неё борьбы — он будет из раза в раз получать то путина–сталина, то революции. И жить то при ворах, то при убийцах — но непременно в сравнительной нищете.”&lt;br/&gt;&lt;br/&gt; - &lt;em&gt;Написал dr_rus, 05.03.2012 в 03.32&lt;/em&gt;</description><link>http://blog.svartalf.info/post/18842926500</link><guid>http://blog.svartalf.info/post/18842926500</guid><pubDate>Tue, 06 Mar 2012 18:47:56 +0800</pubDate></item><item><title>Тетеринг интернета с android-powered телефона на arch linux</title><description>&lt;p&gt;В телефоне нужно включить USB debug mode (&lt;em&gt;Настройки / Приложения / Разработка приложений / Отладка USB&lt;/em&gt;)&lt;/p&gt;

&lt;p&gt;&lt;img src="http://i.imgur.com/WWhT0.jpg" alt="Включение отладки USB"/&gt;&lt;/p&gt;

&lt;p&gt;Там же включить интернет-тетеринг (&lt;em&gt;Настройки / Беспроводные сети / Интернет-модем&lt;/em&gt;)&lt;/p&gt;

&lt;p&gt;&lt;img src="http://i.imgur.com/F6cTU.jpg" alt="Включение интернет-тетеринга"/&gt;&lt;/p&gt;

&lt;p&gt;На arch linux сделать &lt;code&gt;modprobe usbnet&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;Дальше система самостоятельно создает usb0 устройство, и через него уже можно подключаться, например, как через eth0.&lt;/p&gt;

&lt;p&gt;&lt;img src="http://i.imgur.com/9g8Dp.png" alt=""/&gt;&lt;/p&gt;

&lt;p&gt;Линукс уже практически для людей стал, всего три шага, чтобы получить интернет.&lt;/p&gt;

&lt;p&gt;Ссылки:&lt;/p&gt;

&lt;ul&gt;&lt;li&gt;&lt;a href="https://wiki.archlinux.org/index.php/Android_Tethering"&gt;Arch Linux Wiki о тетеринге&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;</description><link>http://blog.svartalf.info/post/18660167361</link><guid>http://blog.svartalf.info/post/18660167361</guid><pubDate>Sat, 03 Mar 2012 21:34:00 +0800</pubDate><category>android</category><category>tethering</category><category>arch linux</category><category>usb0</category></item><item><title>hqall3: Any root .bachrc best practices?&#13;</title><description>hqall3: Any root .bachrc best practices?&lt;br /&gt;&#13;
Ravicious: In my root's .bachrc I keep a score for Toccata and Fugue in D minor.</description><link>http://blog.svartalf.info/post/18527831254</link><guid>http://blog.svartalf.info/post/18527831254</guid><pubDate>Thu, 01 Mar 2012 09:56:34 +0800</pubDate></item><item><title>Final SSD fantasy</title><description>&lt;p&gt;В воскресенье забрал деньги за очень &lt;a href="http://blog.svartalf.info/post/17707943261/ssd-2-redemption"&gt;скоропостижно покинувший&lt;/a&gt; мой ноутбук ssd винт, и под надуманной причиной «сколько можно с ними мучаться?!» взял Crucial M4.&lt;/p&gt;

&lt;p&gt;&lt;img src="http://media.tumblr.com/tumblr_lzo95uxdlx1qb9zn0.jpg" alt=""/&gt;&lt;/p&gt;

&lt;p&gt;Вдобавок, поддался уговорам &lt;a href="http://sedictor.ru"&gt;sedictor&lt;/a&gt;, и купил аж на 128 гб. Дорого, честное слово.&lt;/p&gt;</description><link>http://blog.svartalf.info/post/17924947744</link><guid>http://blog.svartalf.info/post/17924947744</guid><pubDate>Mon, 20 Feb 2012 11:23:55 +0800</pubDate><category>ssd</category><category>ocz</category><category>crucial</category></item><item><title>synergy</title><description>&lt;p&gt;Сегодня рассказали о чудесной программе &lt;a href="http://synergy-foss.org"&gt;synergy&lt;/a&gt;, позволяющей абсолютно прозрачно объединять несколько компьютеров в один большой workspace, расшаривая клавиатуру, мышь и буфер обмена с компьютера-сервера на все клиенты.&lt;/p&gt;

&lt;p&gt;&lt;img src="http://media.tumblr.com/tumblr_lzo8opNz9V1qb9zn0.jpg" alt="Пример работы synergy"/&gt;&lt;/p&gt;

&lt;p&gt;Берем мышку на одном компьютере, ведем ее к краю экрана, и опа, мы уже на ноутбуке! Так как сама synergy консольная, в качестве GUI можно взять &lt;a href="http://www.volker-lanz.de/software/qsynergy"&gt;qsynergy&lt;/a&gt;, например.&lt;/p&gt;

&lt;p&gt;Без небольшого минуса не обошлось, компьютеры не хотели видеть друг друга, пока в &lt;em&gt;/etc/hosts&lt;/em&gt; не были прописаны их IP адреса.&lt;/p&gt;</description><link>http://blog.svartalf.info/post/17924547023</link><guid>http://blog.svartalf.info/post/17924547023</guid><pubDate>Mon, 20 Feb 2012 11:17:12 +0800</pubDate><category>linux</category><category>synergy</category><category>desktop sharing</category></item><item><title>SSD, baby, one more time</title><description>&lt;p&gt;Продолжение недавнего поста про &lt;a href="http://blog.svartalf.info/post/17462518326/ssd"&gt;ssd винт&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;Через два дня после покупки он благополучно умер, когда я закрыл крышку ноутбука, и тот отправился в спящий режим. Ноутбук обратно проснулся, а контроллер винта уже нет.&lt;/p&gt;

&lt;p&gt;Как &lt;a href="http://www.google.ru/webhp?sourceid=chrome-instant&amp;amp;ix=sea&amp;amp;ie=UTF-8&amp;amp;ion=1#sclient=psy-ab&amp;amp;hl=ru&amp;amp;newwindow=1&amp;amp;site=webhp&amp;amp;source=hp&amp;amp;q=ocz%20ssd%20not%20recognized&amp;amp;pbx=1&amp;amp;oq=&amp;amp;aq=&amp;amp;aqi=&amp;amp;aql=&amp;amp;gs_sm=&amp;amp;gs_upl=&amp;amp;fp=b51fb513d71dbdde&amp;amp;ix=sea&amp;amp;ion=1&amp;amp;ix=sea&amp;amp;ion=1&amp;amp;bav=on.2,or.r_gc.r_pw.,cf.osb&amp;amp;fp=b51fb513d71dbdde&amp;amp;biw=1366&amp;amp;bih=679&amp;amp;ix=sea&amp;amp;ion=1"&gt;оказалось&lt;/a&gt;, проблема у производителя известная, и в ряде случаев решаема. А иногда нет, и именно так у меня и умер винт.&lt;/p&gt;

&lt;p&gt;Теперь поглядываю на ssd от Intel или Crucial, этот возвращаю в магазин, и не советую кому-либо брать ssd от ocz.&lt;/p&gt;</description><link>http://blog.svartalf.info/post/17707943261</link><guid>http://blog.svartalf.info/post/17707943261</guid><pubDate>Thu, 16 Feb 2012 20:01:03 +0800</pubDate><category>ssd</category><category>OCZ</category></item><item><title>В звуковом микшере KDE перемещение слайдера вправо делает звук...</title><description>&lt;img src="http://25.media.tumblr.com/tumblr_lzd0rcJOQ11qbx3z7o1_400.png"/&gt;&lt;br/&gt;&lt;br/&gt;&lt;p&gt;В звуковом микшере KDE перемещение слайдера вправо делает звук громче.&lt;/p&gt;

&lt;p&gt;При этом справа стоит иконка выключенного динамика, поэтому постоянно создается ощущение, что справа - тише, а громче - слева, потому что там зеленая иконка.&lt;/p&gt;</description><link>http://blog.svartalf.info/post/17583673760</link><guid>http://blog.svartalf.info/post/17583673760</guid><pubDate>Tue, 14 Feb 2012 09:42:48 +0800</pubDate><category>kde</category><category>usability</category></item><item><title>SSD</title><description>&lt;p&gt;Взял себе на пробу &lt;a href="http://www.ocztechnology.com/ocz-vertex-3-sata-iii-2-5-ssd.html"&gt;SSD винчестер&lt;/a&gt; для ноутбука. Еще до покупки меня начала давить жаба, и поэтому купил винт на 60 гб, рассудив, что для ноутбука хватит, а рядом лежащий внешний винт на терабайт ему поможет.&lt;/p&gt;

&lt;p&gt;Оговорюсь сразу, в интернете достаточно отзывов, что у девайсов от &lt;em&gt;OCZ&lt;/em&gt; со старыми прошивками хватает глюков. Мне, видимо, повезло, потому что фирменная утилита для смены прошивки сказала, что обновлять уже больше некуда.&lt;/p&gt;

&lt;p&gt;Как обычно, на ноутбук был поставлен &lt;a href="http://archlinux.org"&gt;Arch Linux&lt;/a&gt;, и в качестве продолжения эксперимента использована новая файловая система &lt;a href="http://ru.wikipedia.org/wiki/Btrfs"&gt;btrfs&lt;/a&gt;. В результате разделы &lt;em&gt;/&lt;/em&gt; и &lt;em&gt;/home&lt;/em&gt; обзавелись &lt;em&gt;btrfs&lt;/em&gt;, а &lt;em&gt;/tmp&lt;/em&gt; и вовсе переехал в оперативную память с помощью &lt;em&gt;tmpfs&lt;/em&gt;.&lt;/p&gt;

&lt;p&gt;Все btrfs разделы монтируются с дополнительными опциями:&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;ssd,discard,compress=lzo,noatime
&lt;/code&gt;&lt;/pre&gt;

&lt;ul&gt;&lt;li&gt;&lt;em&gt;ssd&lt;/em&gt; включает оптимизацию работы с ssd дисками для btrfs&lt;/li&gt;
&lt;li&gt;&lt;em&gt;compress=lzo&lt;/em&gt; включает &lt;a href="http://www.phoronix.com/scan.php?page=article&amp;amp;item=btrfs_compress_2635&amp;amp;num=1"&gt;прозрачное сжатие файлов&lt;/a&gt; с &lt;a href="http://www.phoronix.com/scan.php?page=article&amp;amp;item=btrfs_lzo_2638&amp;amp;num=1"&gt;помощью lzo&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;em&gt;discard&lt;/em&gt; включает поддержку &lt;a href="http://ru.wikipedia.org/wiki/TRIM_(%D0%BA%D0%BE%D0%BC%D0%B0%D0%BD%D0%B4%D0%B0_SSD)"&gt;TRIM&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;и &lt;em&gt;noatime&lt;/em&gt; выключает запись времени последнего обращения к файлам, чтобы снизить количество записей&lt;/li&gt;
&lt;/ul&gt;&lt;p&gt;Так как единственный винчестер в ноутбуке теперь SSD, а время считывания любого файла у него одинаковое, &lt;a href="http://www.opennet.ru/base/sys/ioshedulers.txt.html"&gt;IO scheduler&lt;/a&gt; был заменен на &lt;em&gt;noop&lt;/em&gt;, чтобы система не пыталась проводить лишних оптимизаций, и выбирать, какой запрос на IO пройдет первым, потому что сейчас его удобнее прочитать. В &lt;em&gt;/boot/grub/menu.lst&lt;/em&gt; строка kernel стала выглядеть так:&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;kernel /vmlinuz-linux root=/dev/disk/by-uuid/e61428d4-4721-4c7e-98a2-78a07d7f238d ro elevator=noop
&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;Возможно, это ухудшит производительность внешнего винчестера, но да и черт бы с ним.&lt;/p&gt;

&lt;p&gt;Кроме всего прочего, &lt;em&gt;btrfs&lt;/em&gt; умеет делать snapshot файловой системы, так что в ближайшее время попробую сделать автоматические бэкапы.&lt;/p&gt;

&lt;p&gt;К сожалению, у меня в ноутбуке далеко не SATA3, поэтому производительность далека от максимальной возможной, но даже на глаз заметно, что жить стало гораздо легче. SSD - это дорого, много возни, но весело.&lt;/p&gt;</description><link>http://blog.svartalf.info/post/17462518326</link><guid>http://blog.svartalf.info/post/17462518326</guid><pubDate>Sun, 12 Feb 2012 10:20:05 +0800</pubDate><category>arch linux</category><category>ssd</category><category>btrfs</category><category>ocz</category></item><item><title>Тем временем, на нашем сайте для абсолютно разных пользователей...</title><description>&lt;img src="http://24.media.tumblr.com/tumblr_lyqqy8YNk21qbx3z7o1_500.jpg"/&gt;&lt;br/&gt;&lt;br/&gt;&lt;p&gt;Тем временем, на &lt;a href="http://www.irk.ru"&gt;нашем сайте&lt;/a&gt; для абсолютно разных пользователей доля Internet Explorer 6.0 составляет всего 2.02 % от общего количества посетителей.&lt;/p&gt;

&lt;p&gt;Internet Explorer 7.0 — 2,69 %.&lt;/p&gt;

&lt;p&gt;Аргументы вроде «&lt;em&gt;любой коммерческий сайт должен поддерживать все браузеры&lt;/em&gt;» уже давно стали недействительны, дешевле просто забить на них и в рамках «&lt;em&gt;gracefull degradation&lt;/em&gt;» просто делать так, чтобы контент хотя бы читался.&lt;/p&gt;

&lt;p&gt;Мы отказались от поддержки Internet Explorer 6, скоро наступит очередь седьмой версии.&lt;/p&gt;</description><link>http://blog.svartalf.info/post/16893346705</link><guid>http://blog.svartalf.info/post/16893346705</guid><pubDate>Thu, 02 Feb 2012 09:03:00 +0800</pubDate><category>irk.ru</category><category>ie</category></item></channel></rss>

