<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet href="http://feeds.feedburner.com/~d/styles/atom10full.xsl" type="text/xsl" media="screen"?><?xml-stylesheet href="http://feeds.feedburner.com/~d/styles/itemcontent.css" type="text/css" media="screen"?><feed xmlns="http://www.w3.org/2005/Atom" xmlns:thr="http://purl.org/syndication/thread/1.0"><id>http://piranha.org.ua/blog/</id><title>Amazon byteflow</title><updated>2008-12-16T22:37:53Z</updated><link href="http://piranha.org.ua/blog/" rel="alternate" /><author><name>Alexander Solovyov</name></author><generator version="r33" uri="http://code.google.com/p/django-atompub/">django-atompub</generator><link rel="self" href="http://feeds.feedburner.com/AmazonByteflow" type="application/atom+xml" /><entry><id>http://piranha.org.ua/blog/2008/12/16/die-banks/</id><title type="html">Смерть банкам!</title><updated>2008-12-16T22:37:53Z</updated><published>2008-12-16T22:37:47Z</published><category term="offtopic" /><link href="http://piranha.org.ua/blog/2008/12/16/die-banks/" rel="self" /><link href="http://piranha.org.ua/blog/2008/12/16/die-banks/" rel="alternate" /><content type="html">&lt;p&gt;Мой пост совсем не в тему блога приходится, но моя душа просто кричит о своём согласии с &lt;a href="http://lleo.aha.ru/dnevnik/2008/11/26.html"&gt;мнением Ллео&lt;/a&gt; о банках &amp;mdash; я даже несколько лет назад начинал писать в свой ЖЖ пост по тому же поводу, но меня хватило лишь на пару строк матов, после чего я забил.&amp;nbsp;:)
&lt;/p&gt;
&lt;p&gt;Но тут прочёл и все мучения с ОКПами и адресами отделений вспомнились ещё раз. Ну скажите, зачем вменяемому человеку адрес моего шлюза (отделения), когда у меня на карточке уже 16 цифр? Это ж насколько больше число, чем может быть в&amp;nbsp;айпишнике!
&lt;/p&gt;
&lt;p&gt;В общем, минутка ненависти завершена. Может, кризис закоцает эту всю систему, и на обломках мы построим что-то банк2.0-ное.&amp;nbsp;:)
&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/AmazonByteflow/~4/486937074" height="1" width="1"/&gt;</content></entry><entry><id>http://piranha.org.ua/blog/2008/12/03/mercurial-11/</id><title type="html">Mercurial 1.1</title><updated>2008-12-03T00:46:58Z</updated><published>2008-12-03T00:37:42Z</published><category term="hg" /><category term="news" /><link href="http://piranha.org.ua/blog/2008/12/03/mercurial-11/" rel="self" /><link href="http://piranha.org.ua/blog/2008/12/03/mercurial-11/" rel="alternate" /><content type="html">&lt;p&gt;Вышел Меркуриал 1.1 со &lt;a href="http://www.selenic.com/mercurial/wiki/index.cgi/WhatsNew#head-b1d1f9a535adb686d6e0a490e049261313f10d7d"&gt;списком изменений&lt;/a&gt; на 2,5 страницы. :) Есть там и результаты моих усилий, и в общем фичи очень клёвые. Помимо графика дерева изменений в вебморде мне очень нравится &lt;code&gt;zeroconf&lt;/code&gt; &amp;mdash; после его включения &lt;code&gt;hg paths&lt;/code&gt; в локальной сети показывает все запущенные &lt;code&gt;hg serve&lt;/code&gt;. Очень удобно &amp;mdash; не приходится спрашивать, смотреть и читать вслух айпишники.&amp;nbsp;:)
&lt;/p&gt;
&lt;p&gt;Само собой, присутствует сделанный в Google SoC &lt;code&gt;rebase&lt;/code&gt;, а также &lt;code&gt;bookmarks&lt;/code&gt; &amp;mdash; аналог бранчей из гита. К сожалению,  они пока работают только локально, но я думаю, что в 1.2 всё&amp;nbsp;будет.
&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/AmazonByteflow/~4/472976650" height="1" width="1"/&gt;</content></entry><entry><id>http://piranha.org.ua/blog/2008/11/28/blog-redesign/</id><title type="html">Редизайн блога</title><updated>2008-11-28T23:29:34Z</updated><published>2008-11-28T23:29:01Z</published><category term="blog" /><category term="news" /><link href="http://piranha.org.ua/blog/2008/11/28/blog-redesign/" rel="self" /><link href="http://piranha.org.ua/blog/2008/11/28/blog-redesign/" rel="alternate" /><content type="html">&lt;p&gt;Идея эта у меня висит ещё с лета, когда я увидел &lt;a href="http://ifany.org/"&gt;ifany.org&lt;/a&gt; &amp;mdash; очень симпатично сделанный, с моей точки зрения, сайт. Но когда я попытался натянуть дизайн на свой блог, оказалось, что мне не нравятся всякие мелочи. В результате я нарисовал практически всё с нуля, использовав оттуда только идеи и некоторые&amp;nbsp;цвета.
&lt;/p&gt;
&lt;p&gt;То, что мне получилось, мне нравится. :) Правда, оказалось, что впечатление очень сильно зависит от того, как отображаются шрифты &amp;mdash; у меня всё очень клёво, а вот я пошёл, посмотрел на винде хр &amp;mdash; всё как-то совсем уныло. :( Ну да я решил на это дело плюнуть, потому что затачивать ещё под виндовый рендеринг шрифтов просто выше моих сил.&amp;nbsp;:)
&lt;/p&gt;
&lt;p&gt;Даже не знаю, что ещё написать &amp;mdash; но хотелось бы услышать мнения о новом дизайне.&amp;nbsp;:)
&lt;/p&gt;
&lt;p&gt;&lt;span class="caps"&gt;P.S.&lt;/span&gt;Очень нравится, как повписывались иконки фидов &amp;mdash; перед комментариями и в фильтрации по тегам.&amp;nbsp;:)
&lt;/p&gt;
&lt;p&gt;&lt;span class="caps"&gt;P.P.S.&lt;/span&gt;Надеюсь, ни с чем не завтыкал. :) А то в следующий раз взгляну аж через сутки.&amp;nbsp;;)
&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/AmazonByteflow/~4/468749925" height="1" width="1"/&gt;</content></entry><entry><id>http://piranha.org.ua/blog/2008/11/28/my-tools/</id><title type="html">Мои инструменты</title><updated>2008-11-28T22:46:02Z</updated><published>2008-11-28T22:40:21Z</published><category term="emacs" /><category term="programming" /><category term="python" /><link href="http://piranha.org.ua/blog/2008/11/28/my-tools/" rel="self" /><link href="http://piranha.org.ua/blog/2008/11/28/my-tools/" rel="alternate" /><content type="html">&lt;p&gt;Я тут немножечко протормозил с продолжением поста &lt;a href="http://web-brains.com/2008/11/24/rabochee-okruzhenie/"&gt;Лориена&lt;/a&gt; на тему используемых инструментов &amp;mdash; довольно напряжённые были последние пару дней (да и последующие тоже такими будут, судя по всему :), но вот всё же собрался &amp;mdash; и пишу. :)&lt;!--more--&gt;
&lt;/p&gt;
&lt;p&gt;Собственно основное время я провожу в Емаксе. ;) У меня в нём &amp;mdash; текстовый редактор (да, &lt;em&gt;это&lt;/em&gt; можно использовать как текстовый редактор!), &lt;a href="http://orgmode.org/" title="Домен прикольный :)"&gt;органайзер&lt;/a&gt;, почтовый клиент (Gnus), &lt;a href="http://emacs-jabber.sf.net/"&gt;джаббер-клиент&lt;/a&gt; и &lt;a href="http://www.nongnu.org/circe/"&gt;irc-клиент&lt;/a&gt;. :) На самом деле это всё достаточно удобно, потому что система управления окнами (так в емаксе называются те зоны, на которые вертикально или горизонтально можно делить окно) тут достаточно развитая (больше 20 лет уже занимаются ей), и в результате так выходит гораздо проще, чем держать все эти программы во внешней ОС. Кстати, благодаря монитору (как я доволен, что купил себе вайдскрин &amp;mdash; 1680х1050) при делении экрана пополам вертикально как раз влазит по 90 с небольшим символов &amp;mdash; очень удобно редактировать, посматривая на что-то сопуствующее (старый код, документация, чат с кем-то в&amp;nbsp;джаббере).
&lt;/p&gt;
&lt;p&gt;Внешней осью служит дебиан, на который сверху прилеплен &lt;a href="http://xmonad.org/"&gt;xmonad&lt;/a&gt; &amp;mdash; я перешёл на мозаичный менеджер окон примерно год назад и оказалось, что это очень удобно. В результате у меня на рабочих столах последовательно висят Емакс, Файрфокс (куда ж без него?) и три терминала. Три терминала &amp;mdash; это для разработки, в одном &lt;code&gt;./manage.py runserver&lt;/code&gt;, в других &amp;mdash; по необходимости шелл, шелл джанги, коннект к базе и тому&amp;nbsp;подобное.
&lt;/p&gt;
&lt;p&gt;Ну и где-то ближе к концу (рабочих столов всего 9) висит Амарок &amp;mdash; к сожалению, в линухе ничего лучше (и хотя бы близко приближающееся к foobar2000) я не нашёл. :( Правда, в отличие Лориена, у меня всё крутится вокруг моей музыки, а не интернет-радио &amp;mdash; и коннект не позволяет, и подбирал же я эту самую музыку не зря?&amp;nbsp;:)
&lt;/p&gt;
&lt;p&gt;Надеюсь, что это было интересно прочесть не только заказчегу, а я останавливать такие посты на своём блоге не собираюсь &amp;mdash; мне было бы очень интересно прочесть, как всё организовано у &lt;a href="http://pyobject.ru/"&gt;Юры&lt;/a&gt;.&amp;nbsp;:-)
&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/AmazonByteflow/~4/468688693" height="1" width="1"/&gt;</content></entry><entry><id>http://piranha.org.ua/blog/2008/11/24/firepython-no-prints/</id><title type="html">FirePython - нет print'ам?</title><updated>2008-11-24T22:05:09Z</updated><published>2008-11-24T22:03:07Z</published><category term="django" /><category term="programming" /><category term="python" /><link href="http://piranha.org.ua/blog/2008/11/24/firepython-no-prints/" rel="self" /><link href="http://piranha.org.ua/blog/2008/11/24/firepython-no-prints/" rel="alternate" /><content type="html">&lt;p&gt;Когда я разрабатываю какое-то веб-приложение, то практически не пользуюсь разного рода отладчиками и всякими вспомогательными инструментами: в 90% случаев с головой хватает &lt;code&gt;print variable&lt;/code&gt; для того, чтоб понять, в чём проблема. Ну, иногда я всё-таки делаю &lt;code&gt;import pdb; pdb.set_trace()&lt;/code&gt;, в особо запутанных&amp;nbsp;случаях.
&lt;/p&gt;
&lt;p&gt;Но тут буквально вчера мне показали пальцем на очень клёвую штуку &amp;mdash; &lt;a href="http://github.com/woid/firepython/tree/master"&gt;FirePython&lt;/a&gt;. Состоит эта штука из двух частей &amp;mdash; небольшая либа на питоне и плагин к &lt;a href="http://getfirebug.com/"&gt;Firebug&lt;/a&gt;&amp;#8216;у. Этот тандем занимается очень полезным делом &amp;mdash; показывает всё, что логается в питоновском коде&lt;sup id="fnr1-26941121"&gt;&lt;a href="#fn1-26941121"&gt;1&lt;/a&gt;&lt;/sup&gt;, в табе файрбага.&lt;!--more--&gt;
&lt;/p&gt;
&lt;p&gt;Штука невероятно удобная &amp;mdash; теперь для разработки постоянно необходимы только два приложения: редактор и браузер, плюс не придётся высматривать вывод принтов в выводе runserver&amp;#8217;а. Относительно обычного использования &lt;code&gt;logging&lt;/code&gt; тоже хватает плюсов &amp;mdash; как минимум не требуется следить за файлами и их путями (на создание которых может и не быть прав), к тому же сразу готов неплохой просмотрщик логов с возможностью&amp;nbsp;фильтрации.
&lt;/p&gt;
&lt;p&gt;Я сегодня написал к файрпитону две миддлвари &amp;mdash; джанговскую и &lt;span class="caps"&gt;WSGI&lt;/span&gt;, так что теперь его использование &amp;mdash; вопрос пары движений. ;) Вкратце: надо установить сам &lt;a href="https://addons.mozilla.org/en-US/firefox/addon/9602"&gt;плагин&lt;/a&gt;, который зависит от &lt;a href="https://addons.mozilla.org/en-US/firefox/addon/1843"&gt;Firebug 1.3&lt;/a&gt; (он ещё бета, но я и так использую Firefox 3.1, так что меня это не пугает :P). После этого сделать &lt;code&gt;easy_install firepython&lt;/code&gt;. Как вариант: склонировать проект с гитхаба и положить каталог &lt;code&gt;firepython&lt;/code&gt; из каталога &lt;code&gt;python&lt;/code&gt; в &lt;code&gt;sys.path&lt;/code&gt; или директорию&amp;nbsp;проекта.
&lt;/p&gt;
&lt;p&gt;После этого надо просто включить миддлварь, дописав в &lt;code&gt;MIDDLEWARE_CLASSES&lt;/code&gt; путь к ней: &lt;code&gt;firepython.django.FirePythonDjango&lt;/code&gt;. Для использования в &lt;span class="caps"&gt;WSGI&lt;/span&gt;-приложениях есть аналогичная миддлварь: &lt;code&gt;firepython.wsgi.FirePythonWSGI&lt;/code&gt;, которую можно использовать как и любую другую &lt;span class="caps"&gt;WSGI&lt;/span&gt;-миддлварь, оборачивая вокруг объекта приложения.&amp;nbsp;:)
&lt;/p&gt;
&lt;p&gt;Использовать это в коде&amp;nbsp;легко:
&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;import logging
logging.debug('what you want to debug today?')
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;Логично, что вместо дебага можно использовать любой уровень &amp;mdash; потом их можно фильтровать в морде&amp;nbsp;FirePython&amp;#8217;а.
&lt;/p&gt;

&lt;div class="footnotes"&gt;&lt;div class="footnote" id="fn1-26941121"&gt;&lt;sup&gt;&lt;a href="#fnr1-26941121" class="footnoteBackLink" title="Jump back to footnote 1 in the text"&gt;1&lt;/a&gt;&lt;/sup&gt; &amp;mdash; &lt;p&gt;Ну не совсем всё, а только то, что логировалось в то время, пока FirePython был хендлером в&amp;nbsp;logging.
&lt;/p&gt;
&lt;/div&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/AmazonByteflow/~4/464251496" height="1" width="1"/&gt;</content></entry></feed>
