<?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/"
	xmlns:georss="http://www.georss.org/georss" xmlns:geo="http://www.w3.org/2003/01/geo/wgs84_pos#" xmlns:media="http://search.yahoo.com/mrss/"
	>

<channel>
	<title>Alexpir's Weblog</title>
	<atom:link href="http://alexpir.wordpress.com/feed/" rel="self" type="application/rss+xml" />
	<link>http://alexpir.wordpress.com</link>
	<description>Notes on software development</description>
	<lastBuildDate>Wed, 17 Feb 2010 10:51:23 +0000</lastBuildDate>
	<language>ru</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.com/</generator>
<cloud domain='alexpir.wordpress.com' port='80' path='/?rsscloud=notify' registerProcedure='' protocol='http-post' />
<image>
		<url>http://s2.wp.com/i/buttonw-com.png</url>
		<title>Alexpir's Weblog</title>
		<link>http://alexpir.wordpress.com</link>
	</image>
	<atom:link rel="search" type="application/opensearchdescription+xml" href="http://alexpir.wordpress.com/osd.xml" title="Alexpir&#039;s Weblog" />
	<atom:link rel='hub' href='http://alexpir.wordpress.com/?pushpress=hub'/>
		<item>
		<title>Потокобезопасный синглтон</title>
		<link>http://alexpir.wordpress.com/2010/02/17/threadsafe-singleton/</link>
		<comments>http://alexpir.wordpress.com/2010/02/17/threadsafe-singleton/#comments</comments>
		<pubDate>Wed, 17 Feb 2010 09:41:48 +0000</pubDate>
		<dc:creator>alexpir</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://alexpir.wordpress.com/?p=191</guid>
		<description><![CDATA[Как известно, классический синглтон Мейерса не является потокобезопасным. После осознания этого факта, программист проходит обычно следующую цепочку действий: 1) Вставляет критическую секцию на все тело метода &#171;получение экземпляра&#187; 2) Осознает, что это неэффективно, и применяет double-check lock 3) Обнаруживает, что double-check lock не обеспечивает 100% потокобезопасность, и начинает это лечить (см. volatile, memory barriers и [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=alexpir.wordpress.com&amp;blog=5097525&amp;post=191&amp;subd=alexpir&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Как известно, классический синглтон Мейерса не является потокобезопасным.</p>
<p>После осознания этого факта, программист проходит обычно следующую цепочку действий:</p>
<p>1) Вставляет критическую секцию на все тело метода &laquo;получение экземпляра&raquo;</p>
<p>2) Осознает, что это неэффективно, и применяет double-check lock</p>
<p>3) Обнаруживает, что double-check lock не обеспечивает 100% потокобезопасность, и начинает это лечить (см. volatile, memory barriers и т.п.)</p>
<p>Грустная правда заключается в том, что, поскольку в нынешней версии стандарта С++ ничего нет на тему потоков, решения которое было бы абсолютно переносимо на любую платформу (компилятор + ОС + железо) не существует. На эту тему есть <a href="http://www.aristeia.com/Papers/DDJ_Jul_Aug_2004_revised.pdf">статья Мейерса</a>. Однако для VC++ и IA32-64 есть вполне простое работающее решение (к сожалению, в статье об этом не говорится, поэтому она производит неоднозначное впечатление).</p>
<p>Дискуссии на эту тему есть здесь:</p>
<p><a href="http://rsdn.ru/forum/cpp.applied/3545271.aspx">http://rsdn.ru/forum/cpp.applied/3545271.aspx</a></p>
<p><a href="http://www.rsdn.ru/forum/cpp.applied/3234750.all.aspx">http://www.rsdn.ru/forum/cpp.applied/3234750.all.aspx</a></p>
<p><a href="http://www.rsdn.ru/forum/cpp/531461.flat.4.aspx">http://www.rsdn.ru/forum/cpp/531461.flat.4.aspx</a></p>
<p><a href="http://rsdn.ru/forum/cpp.applied/3545271.aspx">http://rsdn.ru/forum/cpp.applied/3545271.aspx</a></p>
<p>. В общем и целом, достаточно классического double-check lock + применения volatile &#8211; указателей на создаваемый объект + приравнивания статического указателя на объект к свежесозданному объекту через 1) временную переменную 2) InterlockExchange с этой временной переменной. На указанной архитектуре и с указанным компилятором это приведет к барьерам памяти в нужных местах. Попозже выложу код.</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/alexpir.wordpress.com/191/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/alexpir.wordpress.com/191/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/alexpir.wordpress.com/191/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/alexpir.wordpress.com/191/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/alexpir.wordpress.com/191/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/alexpir.wordpress.com/191/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/alexpir.wordpress.com/191/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/alexpir.wordpress.com/191/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/alexpir.wordpress.com/191/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/alexpir.wordpress.com/191/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/alexpir.wordpress.com/191/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/alexpir.wordpress.com/191/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/alexpir.wordpress.com/191/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/alexpir.wordpress.com/191/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=alexpir.wordpress.com&amp;blog=5097525&amp;post=191&amp;subd=alexpir&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://alexpir.wordpress.com/2010/02/17/threadsafe-singleton/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/1b41cca37e7d326c50d2da87f1dce959?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">alexpir</media:title>
		</media:content>
	</item>
		<item>
		<title>PropertyPage Apply</title>
		<link>http://alexpir.wordpress.com/2009/12/14/propertypage-apply/</link>
		<comments>http://alexpir.wordpress.com/2009/12/14/propertypage-apply/#comments</comments>
		<pubDate>Mon, 14 Dec 2009 09:44:35 +0000</pubDate>
		<dc:creator>alexpir</dc:creator>
				<category><![CDATA[MFC]]></category>

		<guid isPermaLink="false">http://alexpir.wordpress.com/?p=189</guid>
		<description><![CDATA[При нажатии кнопки Apply изменения, внесенные на пропертипейдж должны &#171;глубоко&#187; сохраняться незамедлительно. Объяснение. Логика пользователя такова &#8211; изменения, сделанные до нажатия на эту кнопку, должны обязательно запоминаться. Даже если потом будет нажато cancel, или диалог закрыт «крестиком»  ЭТИ изменения должны быть сохранены. А те изменения, которые были сделаны после нажатия на Apply, разумеется, при нажатии [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=alexpir.wordpress.com&amp;blog=5097525&amp;post=189&amp;subd=alexpir&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>При нажатии кнопки Apply изменения, внесенные на пропертипейдж должны &laquo;глубоко&raquo; сохраняться незамедлительно.</p>
<p><em>Объяснение.</em> Логика пользователя такова &#8211; изменения, сделанные до нажатия на эту кнопку, должны обязательно запоминаться. Даже если потом будет нажато cancel, или диалог закрыт «крестиком»  ЭТИ изменения должны быть сохранены. А те изменения, которые были сделаны после нажатия на Apply, разумеется, при нажатии на Cancel НЕ должны применяться. Это не позволяет повесить применение всех изменений на OnClose.</p>
<p>Надо сказать, в очередной раз раздражает то, что DoDataExchange (SaveAndValidate) всегда вызывается при покида<span style="color:#000000;">нии данной Propertypage. Это не зависит от того, посылалось ли в PropertySheet </span><span style="color:#ffff00;font-size:x-small;"><span style="color:#000000;">PSM_CHANGED Более того, я не нашел способ внутри Propertypage понять, установлен ли этот флаг. Таким образом, сохранение данных ВСЕГДА происходит при покидании PropertyPage</span></span></p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/alexpir.wordpress.com/189/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/alexpir.wordpress.com/189/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/alexpir.wordpress.com/189/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/alexpir.wordpress.com/189/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/alexpir.wordpress.com/189/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/alexpir.wordpress.com/189/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/alexpir.wordpress.com/189/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/alexpir.wordpress.com/189/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/alexpir.wordpress.com/189/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/alexpir.wordpress.com/189/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/alexpir.wordpress.com/189/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/alexpir.wordpress.com/189/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/alexpir.wordpress.com/189/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/alexpir.wordpress.com/189/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=alexpir.wordpress.com&amp;blog=5097525&amp;post=189&amp;subd=alexpir&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://alexpir.wordpress.com/2009/12/14/propertypage-apply/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/1b41cca37e7d326c50d2da87f1dce959?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">alexpir</media:title>
		</media:content>
	</item>
		<item>
		<title>Проблемы с CValueDlg</title>
		<link>http://alexpir.wordpress.com/2009/10/30/%d0%bf%d1%80%d0%be%d0%b1%d0%bb%d0%b5%d0%bc%d1%8b-%d1%81-cvaluedlg/</link>
		<comments>http://alexpir.wordpress.com/2009/10/30/%d0%bf%d1%80%d0%be%d0%b1%d0%bb%d0%b5%d0%bc%d1%8b-%d1%81-cvaluedlg/#comments</comments>
		<pubDate>Fri, 30 Oct 2009 12:28:07 +0000</pubDate>
		<dc:creator>alexpir</dc:creator>
				<category><![CDATA[NB]]></category>
		<category><![CDATA[NK6]]></category>

		<guid isPermaLink="false">http://alexpir.wordpress.com/2009/10/30/%d0%bf%d1%80%d0%be%d0%b1%d0%bb%d0%b5%d0%bc%d1%8b-%d1%81-cvaluedlg/</guid>
		<description><![CDATA[Проблема заключается в том, что рекурсия изменений (изменение присылается в сам источник изменений, например значение параметра фильтра – в методику, которая и апдейтила CValueDlg ) заблокирована в самом CValueDlg  (т.е. он не будет обрабатывать изменение, если он источник изменений), но не заблокирована в обратном направлении со стороны хранителя значения. Она происходит постольку, поскольку соотв. сообщение [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=alexpir.wordpress.com&amp;blog=5097525&amp;post=188&amp;subd=alexpir&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Проблема заключается в том, что рекурсия изменений (изменение присылается в сам источник изменений, например значение параметра фильтра – в методику, которая и апдейтила CValueDlg ) заблокирована в самом CValueDlg  (т.е. он не будет обрабатывать изменение, если он источник изменений), но не заблокирована в обратном направлении со стороны хранителя значения. Она происходит постольку, поскольку соотв. сообщение WM_VALUEDLG рассылается из DoDataExchange, если bSaveAndValidate = false, либо если источник UpdateData (true) – edit, т.е. реально во всех случаях, когда что-то делается в DoDataExchange.</p>
<p>Непонятно, почему из DoDataExchange(FALSE), т.е. в ситуации, когда ValueDlg отображает изменения внсенные снаружи, он присылает это сообщение. Это вроде бы неправильно.</p>
<p>Неправильный подход заключается в том, что изменения вносимые изнутри (нажатия на плюс-минус, и т.д.) применяются посредством вызова UpdateData (FALSE). Таким образом, поскольку SetValue тоже (и это как раз правильно) вызывает UpdateData (FALSE), объединяются совершенно различные ситуации: изменение снаружи и изменение изнутри диалога.</p>
<p>Исправление:</p>
<p>DoDataExchange(FALSE) в не должен рассылать сообщение WM_VALUEDLG. Он вызывается, когда требуется обновление контролов диалога в соотв. с измененным значением; это ситуация, обратная той о которой должно сигнализировать сообщение WM_VALUEDLG (и соотв. оно должно рассылаться при DoDataExchange(TRUE)).</p>
<p>Со своей стороны , кнопки плюс минус и т.д. должны в конечном счете приводить а) к DoDataExchange(FALSE) б) к рассылке сообщения.</p>
<p>Можно сделать функцию ChangeValueFromInside()</p>
<p>{UpdateData(FALSE); SendMessage(WM_VALUEDLG)}</p>
<p>SetValue должен применять DoDataExchange(FALSE)? но  не должен высылать сообщение WM_VALUEDLG. Оно должно высылаться только если произошла внутренняя (в диалоге) редакция значения. Рассылка нового значения по разным окнам (если такая требуется –надо проанализировать все вызовы SetValue) должна делаться как-то по-другому.</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/alexpir.wordpress.com/188/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/alexpir.wordpress.com/188/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/alexpir.wordpress.com/188/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/alexpir.wordpress.com/188/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/alexpir.wordpress.com/188/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/alexpir.wordpress.com/188/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/alexpir.wordpress.com/188/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/alexpir.wordpress.com/188/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/alexpir.wordpress.com/188/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/alexpir.wordpress.com/188/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/alexpir.wordpress.com/188/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/alexpir.wordpress.com/188/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/alexpir.wordpress.com/188/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/alexpir.wordpress.com/188/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=alexpir.wordpress.com&amp;blog=5097525&amp;post=188&amp;subd=alexpir&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://alexpir.wordpress.com/2009/10/30/%d0%bf%d1%80%d0%be%d0%b1%d0%bb%d0%b5%d0%bc%d1%8b-%d1%81-cvaluedlg/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/1b41cca37e7d326c50d2da87f1dce959?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">alexpir</media:title>
		</media:content>
	</item>
		<item>
		<title>vector _bool_</title>
		<link>http://alexpir.wordpress.com/2009/10/15/vector_bool/</link>
		<comments>http://alexpir.wordpress.com/2009/10/15/vector_bool/#comments</comments>
		<pubDate>Thu, 15 Oct 2009 09:18:10 +0000</pubDate>
		<dc:creator>alexpir</dc:creator>
				<category><![CDATA[C0x]]></category>
		<category><![CDATA[Не могу молчать!]]></category>

		<guid isPermaLink="false">http://alexpir.wordpress.com/?p=180</guid>
		<description><![CDATA[Драфт нового стандарта C0x вызывает у меня последнее время все больше вопросов. Такое впечатление,  что господа Страуструп, Саттер и компания даже не подчистили проблемы, известные со времен обсуждения предыдущего C98. Вот яркий пример. Еще в 98-99 годах активно высказывались мнения (упомянутого Саттера), что описание vector&#60;bool&#62; в стандарте С98 содержит внутреннее противоречие &#8211; данный контейнер не [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=alexpir.wordpress.com&amp;blog=5097525&amp;post=180&amp;subd=alexpir&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2008/n2798.pdf">Драфт нового стандарта C0x</a> вызывает у меня последнее время все больше вопросов. Такое впечатление,  что господа Страуструп, Саттер и компания даже не подчистили проблемы, известные со времен обсуждения предыдущего C98. Вот яркий пример.</p>
<p>Еще в 98-99 годах активно высказывались <a href="http://www.gotw.ca/publications/N1211.pdf">мнения</a> (упомянутого Саттера), что описание vector&lt;bool&gt; в стандарте С98 содержит внутреннее противоречие &#8211; данный контейнер не является стандартным, а также является underspecified.</p>
<p>Еще ДО принятия C98 делались попытки разрешить эту ситуацию, но к сожалению безрезультатно. Как с некой суммой информации об этом (а также, если кто-то подзабыл &#8211; в чем собсна проблема) можно ознакомиться вот с этой <a href="http://www.informit.com/guides/content.aspx?g=cplusplus&amp;seqNum=98">статьей</a>.</p>
<p>Поскольку в большинстве статей по проблеме, которые я видел, люди пишут что-то вроде</p>
<blockquote><p>нельзя сделать ссылку на элемент вектора, или получить ссылку из итератора, или выполнить</p>
<p><pre class="brush: cpp;">
vector&lt;bool&gt; vb;
...//init vb
bool *b = &amp;vb[0];
</pre></p></blockquote>
<p>и на этом &laquo;мысль заканчивается&raquo;, пойдем немного дальше и попытаемся понять, почему же это так плохо.</p>
<p>Для начала &#8211; чем хорош нынешний vector&lt;bool&gt;? Он оптимизирует место, занимаемое контейнером. Когда это полезно? Когда массив очень большой. А какие еще проблемы у нас возникнут при работе с большим массивом, помимо места? Скорость, разумеется. Проблема не в том, что как пишут <a href="http://alenacpp.blogspot.com/2005/06/vector.html">здесь </a>, &laquo;1 Кб никого не парит&raquo;, а в том что эта оптимизация места оборачивается пессимизацией скорости &#8211; не &laquo;потенциально&raquo;, а 100% кинетически, если вы <strong>работаете </strong>с большими массивами bool, т.е. сохраняете их, копируете, передаете каким-то другим модулям. Благодаря невозможности получить указатели на кусок памяти, занимаемый нужным фрагментом контейнера, для нас закрыта возможность работать через быстрые &laquo;старорежимные&raquo; rtl-фунции типа memcpy ( или скажем fwrite, который сработает в несколько раз быстрее, чем всякие там ostream_iterator(ofstream_object) ). Т.е. примененная &laquo;оптимизация для больших объемов&raquo; при работе с оными создаст вам гораздо более грозные проблемы, чем те что она решает. Это известно с 90-х годов, но в Dinkumware STL, которую использует VS 2005, у vector&lt;bool&gt; по-прежнему нет методов получения вожделенного указателя, хотя от рождения есть всякие нестандартные flip, и можно было бы добавить еще. Это означает, что vector&lt;bool&gt; &#8211; &laquo;политический труп&raquo;, на который давно махнули рукой, и все рекомендуют его просто игнорировать.</p>
<p>Что же мы видим в драфте нового стандарта (вот его позднейший <a href="www.open-std.org/jtc1/sc22/wg21/docs/papers/2008/n2738.pdf">кусочек про сабж</a>) ? А ничего.  Все та же мутная херня, что и была в предыдущем стандарте. Те же пожелания реализовывать vector&lt;bool&gt; с упаковкой в биты. Даже не потрудились переименовать vector&lt;bool&gt; в bit_vector, чтобы люди могли легко получить нормальную, не проксированную реализацию vector&lt;bool&gt;.</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/alexpir.wordpress.com/180/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/alexpir.wordpress.com/180/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/alexpir.wordpress.com/180/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/alexpir.wordpress.com/180/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/alexpir.wordpress.com/180/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/alexpir.wordpress.com/180/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/alexpir.wordpress.com/180/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/alexpir.wordpress.com/180/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/alexpir.wordpress.com/180/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/alexpir.wordpress.com/180/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/alexpir.wordpress.com/180/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/alexpir.wordpress.com/180/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/alexpir.wordpress.com/180/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/alexpir.wordpress.com/180/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=alexpir.wordpress.com&amp;blog=5097525&amp;post=180&amp;subd=alexpir&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://alexpir.wordpress.com/2009/10/15/vector_bool/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/1b41cca37e7d326c50d2da87f1dce959?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">alexpir</media:title>
		</media:content>
	</item>
		<item>
		<title>RIP Concepts</title>
		<link>http://alexpir.wordpress.com/2009/10/09/rip-concepts/</link>
		<comments>http://alexpir.wordpress.com/2009/10/09/rip-concepts/#comments</comments>
		<pubDate>Fri, 09 Oct 2009 11:34:00 +0000</pubDate>
		<dc:creator>alexpir</dc:creator>
				<category><![CDATA[Не могу молчать!]]></category>

		<guid isPermaLink="false">http://alexpir.wordpress.com/?p=178</guid>
		<description><![CDATA[In July 2009 the C++ standards committee decided to remove concepts from the C++0x by an unprecedented move Аллилуйя!!! Вот выкинули бы нахер еще всякие shared_ptr и было бы ваще счастье. PS &#171;Slowpoke detected&#187; &#8211; yeah I know.<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=alexpir.wordpress.com&amp;blog=5097525&amp;post=178&amp;subd=alexpir&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.devx.com/cplus/Article/42448/0/page/1">In July 2009 the C++ standards committee decided to remove concepts from the C++0x by an unprecedented move</a><br />
Аллилуйя!!!</p>
<p>Вот выкинули бы нахер еще всякие shared_ptr и было бы ваще счастье.</p>
<p>PS &laquo;Slowpoke detected&raquo; &#8211; yeah I know.</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/alexpir.wordpress.com/178/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/alexpir.wordpress.com/178/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/alexpir.wordpress.com/178/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/alexpir.wordpress.com/178/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/alexpir.wordpress.com/178/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/alexpir.wordpress.com/178/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/alexpir.wordpress.com/178/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/alexpir.wordpress.com/178/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/alexpir.wordpress.com/178/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/alexpir.wordpress.com/178/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/alexpir.wordpress.com/178/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/alexpir.wordpress.com/178/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/alexpir.wordpress.com/178/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/alexpir.wordpress.com/178/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=alexpir.wordpress.com&amp;blog=5097525&amp;post=178&amp;subd=alexpir&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://alexpir.wordpress.com/2009/10/09/rip-concepts/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/1b41cca37e7d326c50d2da87f1dce959?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">alexpir</media:title>
		</media:content>
	</item>
		<item>
		<title>GdiPlus::MeasureString</title>
		<link>http://alexpir.wordpress.com/2009/10/07/gdiplusmeasurestring/</link>
		<comments>http://alexpir.wordpress.com/2009/10/07/gdiplusmeasurestring/#comments</comments>
		<pubDate>Wed, 07 Oct 2009 10:22:27 +0000</pubDate>
		<dc:creator>alexpir</dc:creator>
				<category><![CDATA[Гейц сгори в аду!]]></category>
		<category><![CDATA[NB]]></category>

		<guid isPermaLink="false">http://alexpir.wordpress.com/?p=168</guid>
		<description><![CDATA[если передать сабжу пустую строку, вернет левый верхний угол ограничивающего прямоугольника, а вовсе не нулевой прямоугольник вокруг точки, где сказано выводить строку rectBnd == Rect(ClientRect.UpperLeft(),  ClientRect.UpperLeft()), т.е. 0,0,0,0 а не rectBnd == Rect(pointOrigin, pointOrigin) Поэтому если попытаться потом сделать rect(pointOrigin, rectResult.bottomright()), то получишь прямоугольник у которого левый бок правее правого бока. сукасука<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=alexpir.wordpress.com&amp;blog=5097525&amp;post=168&amp;subd=alexpir&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>если передать сабжу пустую строку, вернет левый верхний угол ограничивающего прямоугольника, а вовсе не нулевой прямоугольник вокруг точки, где сказано выводить строку</p>
<p><pre class="brush: cpp;">

GetClientRect(rectBnd);

graphics.MeasureString(L&quot;&quot;, -1, font, pointOrigin/*origin*/, stringFormat, rectBnd/*in:rectBound, out:rectResult*/);

</pre></p>
<p>rectBnd == Rect(ClientRect.UpperLeft(),  ClientRect.UpperLeft()), т.е. 0,0,0,0</p>
<p>а не rectBnd == Rect(pointOrigin, pointOrigin)</p>
<p>Поэтому если попытаться потом сделать </p>
<p>rect(pointOrigin, rectResult.bottomright()),</p>
<p>то получишь прямоугольник у которого левый бок правее правого бока.</p>
<p>сукасука</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/alexpir.wordpress.com/168/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/alexpir.wordpress.com/168/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/alexpir.wordpress.com/168/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/alexpir.wordpress.com/168/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/alexpir.wordpress.com/168/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/alexpir.wordpress.com/168/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/alexpir.wordpress.com/168/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/alexpir.wordpress.com/168/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/alexpir.wordpress.com/168/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/alexpir.wordpress.com/168/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/alexpir.wordpress.com/168/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/alexpir.wordpress.com/168/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/alexpir.wordpress.com/168/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/alexpir.wordpress.com/168/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=alexpir.wordpress.com&amp;blog=5097525&amp;post=168&amp;subd=alexpir&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://alexpir.wordpress.com/2009/10/07/gdiplusmeasurestring/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/1b41cca37e7d326c50d2da87f1dce959?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">alexpir</media:title>
		</media:content>
	</item>
		<item>
		<title>Акселераторы</title>
		<link>http://alexpir.wordpress.com/2009/07/22/%d0%b0%d0%ba%d1%81%d0%b5%d0%bb%d0%b5%d1%80%d0%b0%d1%82%d0%be%d1%80%d1%8b/</link>
		<comments>http://alexpir.wordpress.com/2009/07/22/%d0%b0%d0%ba%d1%81%d0%b5%d0%bb%d0%b5%d1%80%d0%b0%d1%82%d0%be%d1%80%d1%8b/#comments</comments>
		<pubDate>Wed, 22 Jul 2009 15:23:28 +0000</pubDate>
		<dc:creator>alexpir</dc:creator>
				<category><![CDATA[NB]]></category>
		<category><![CDATA[NK6]]></category>

		<guid isPermaLink="false">http://alexpir.wordpress.com/?p=165</guid>
		<description><![CDATA[Задавать в качестве акселераторов не VK, а просто символы можно только для тех клавиш, которые являются латинскими буквами. Для остальных надо использовать VK_OEM_* Например если нужен акселератор &#171;правая квадратная скобка&#187; следует ставить VK_OEM_6. Если поставить &#171;]&#187; &#8211; не будет работать.<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=alexpir.wordpress.com&amp;blog=5097525&amp;post=165&amp;subd=alexpir&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Задавать в качестве акселераторов не VK, а просто символы можно только для тех клавиш, которые являются латинскими буквами. Для остальных надо использовать VK_OEM_*</p>
<p>Например если нужен акселератор &laquo;правая квадратная скобка&raquo; следует ставить VK_OEM_6. Если поставить &laquo;]&raquo; &#8211; не будет работать.</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/alexpir.wordpress.com/165/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/alexpir.wordpress.com/165/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/alexpir.wordpress.com/165/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/alexpir.wordpress.com/165/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/alexpir.wordpress.com/165/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/alexpir.wordpress.com/165/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/alexpir.wordpress.com/165/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/alexpir.wordpress.com/165/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/alexpir.wordpress.com/165/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/alexpir.wordpress.com/165/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/alexpir.wordpress.com/165/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/alexpir.wordpress.com/165/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/alexpir.wordpress.com/165/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/alexpir.wordpress.com/165/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=alexpir.wordpress.com&amp;blog=5097525&amp;post=165&amp;subd=alexpir&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://alexpir.wordpress.com/2009/07/22/%d0%b0%d0%ba%d1%81%d0%b5%d0%bb%d0%b5%d1%80%d0%b0%d1%82%d0%be%d1%80%d1%8b/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/1b41cca37e7d326c50d2da87f1dce959?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">alexpir</media:title>
		</media:content>
	</item>
		<item>
		<title>О приоритете операторов</title>
		<link>http://alexpir.wordpress.com/2009/06/02/%d0%be-%d0%bf%d1%80%d0%b8%d0%be%d1%80%d0%b8%d1%82%d0%b5%d1%82%d0%b5-%d0%be%d0%bf%d0%b5%d1%80%d0%b0%d1%82%d0%be%d1%80%d0%be%d0%b2/</link>
		<comments>http://alexpir.wordpress.com/2009/06/02/%d0%be-%d0%bf%d1%80%d0%b8%d0%be%d1%80%d0%b8%d1%82%d0%b5%d1%82%d0%b5-%d0%be%d0%bf%d0%b5%d1%80%d0%b0%d1%82%d0%be%d1%80%d0%be%d0%b2/#comments</comments>
		<pubDate>Tue, 02 Jun 2009 13:40:45 +0000</pubDate>
		<dc:creator>alexpir</dc:creator>
				<category><![CDATA[NB]]></category>

		<guid isPermaLink="false">http://alexpir.wordpress.com/?p=163</guid>
		<description><![CDATA[LPDWORD pdwCountsReceived = &#8230;; *pdwCountsReceived=0; //все верно *pdwCountsReceived++; //++ выполнится прежде *, инкрементируется указатель а не содержимое<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=alexpir.wordpress.com&amp;blog=5097525&amp;post=163&amp;subd=alexpir&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>LPDWORD pdwCountsReceived = &#8230;;</p>
<p>*pdwCountsReceived=0; //все верно</p>
<p>*pdwCountsReceived++; //++ выполнится прежде *, инкрементируется указатель а не содержимое</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/alexpir.wordpress.com/163/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/alexpir.wordpress.com/163/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/alexpir.wordpress.com/163/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/alexpir.wordpress.com/163/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/alexpir.wordpress.com/163/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/alexpir.wordpress.com/163/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/alexpir.wordpress.com/163/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/alexpir.wordpress.com/163/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/alexpir.wordpress.com/163/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/alexpir.wordpress.com/163/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/alexpir.wordpress.com/163/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/alexpir.wordpress.com/163/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/alexpir.wordpress.com/163/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/alexpir.wordpress.com/163/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=alexpir.wordpress.com&amp;blog=5097525&amp;post=163&amp;subd=alexpir&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://alexpir.wordpress.com/2009/06/02/%d0%be-%d0%bf%d1%80%d0%b8%d0%be%d1%80%d0%b8%d1%82%d0%b5%d1%82%d0%b5-%d0%be%d0%bf%d0%b5%d1%80%d0%b0%d1%82%d0%be%d1%80%d0%be%d0%b2/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/1b41cca37e7d326c50d2da87f1dce959?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">alexpir</media:title>
		</media:content>
	</item>
		<item>
		<title>NK6 Presentation 24_04_09</title>
		<link>http://alexpir.wordpress.com/2009/05/05/nk6-presentation-24_04_09/</link>
		<comments>http://alexpir.wordpress.com/2009/05/05/nk6-presentation-24_04_09/#comments</comments>
		<pubDate>Tue, 05 May 2009 07:46:38 +0000</pubDate>
		<dc:creator>alexpir</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://alexpir.wordpress.com/?p=161</guid>
		<description><![CDATA[<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=alexpir.wordpress.com&amp;blog=5097525&amp;post=161&amp;subd=alexpir&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<span style="text-align:center; display: block;"><a href="http://alexpir.wordpress.com/2009/05/05/nk6-presentation-24_04_09/"><img src="http://img.youtube.com/vi/wYW7pmgcDyA/2.jpg" alt="" /></a></span>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/alexpir.wordpress.com/161/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/alexpir.wordpress.com/161/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/alexpir.wordpress.com/161/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/alexpir.wordpress.com/161/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/alexpir.wordpress.com/161/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/alexpir.wordpress.com/161/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/alexpir.wordpress.com/161/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/alexpir.wordpress.com/161/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/alexpir.wordpress.com/161/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/alexpir.wordpress.com/161/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/alexpir.wordpress.com/161/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/alexpir.wordpress.com/161/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/alexpir.wordpress.com/161/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/alexpir.wordpress.com/161/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=alexpir.wordpress.com&amp;blog=5097525&amp;post=161&amp;subd=alexpir&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://alexpir.wordpress.com/2009/05/05/nk6-presentation-24_04_09/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/1b41cca37e7d326c50d2da87f1dce959?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">alexpir</media:title>
		</media:content>
	</item>
		<item>
		<title>NK 6.0.0.2</title>
		<link>http://alexpir.wordpress.com/2009/05/03/nk-6002/</link>
		<comments>http://alexpir.wordpress.com/2009/05/03/nk-6002/#comments</comments>
		<pubDate>Sun, 03 May 2009 20:13:14 +0000</pubDate>
		<dc:creator>alexpir</dc:creator>
				<category><![CDATA[Сделал]]></category>
		<category><![CDATA[NK6]]></category>

		<guid isPermaLink="false">http://alexpir.wordpress.com/?p=157</guid>
		<description><![CDATA[Второй релиз вылетел из гнезда. NK 6.0.0.2 Исправления и улучшения см в readme Из существенных для любопытствующих &#8211; есть демосигнал, работает без усилителя. Для этого, сразу после логина, нажать на кнопку с шестеренками, на вкладке &#171;Общие&#187; выбрать &#171;MBN-20 демо&#187; и закрыть &#8211; открыть заново НК6 Пора бы и поставить за деньги, только вот некому &#8211; [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=alexpir.wordpress.com&amp;blog=5097525&amp;post=157&amp;subd=alexpir&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Второй релиз вылетел из гнезда.</p>
<p><a href="http://www.box.net/shared/fol13ik3lb">NK 6.0.0.2</a></p>
<p>Исправления и улучшения см в readme</p>
<p>Из существенных для любопытствующих &#8211; есть демосигнал, работает без усилителя.</p>
<p>Для этого, сразу после логина, нажать на кнопку с шестеренками, на вкладке &laquo;Общие&raquo; выбрать &laquo;MBN-20 демо&raquo; и закрыть &#8211; открыть заново НК6</p>
<p>Пора бы и поставить за деньги, только вот некому &#8211; 2009 год продажами НК пока не ознаменовался.</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/alexpir.wordpress.com/157/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/alexpir.wordpress.com/157/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/alexpir.wordpress.com/157/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/alexpir.wordpress.com/157/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/alexpir.wordpress.com/157/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/alexpir.wordpress.com/157/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/alexpir.wordpress.com/157/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/alexpir.wordpress.com/157/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/alexpir.wordpress.com/157/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/alexpir.wordpress.com/157/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/alexpir.wordpress.com/157/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/alexpir.wordpress.com/157/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/alexpir.wordpress.com/157/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/alexpir.wordpress.com/157/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=alexpir.wordpress.com&amp;blog=5097525&amp;post=157&amp;subd=alexpir&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://alexpir.wordpress.com/2009/05/03/nk-6002/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/1b41cca37e7d326c50d2da87f1dce959?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">alexpir</media:title>
		</media:content>
	</item>
	</channel>
</rss>
