<?xml version="1.0" encoding="UTF-8"?>
<!-- generator="wordpress/2.3.3" -->
<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/"
	>

<channel>
	<title>Artem's blog</title>
	<link>http://artemgolubev.com</link>
	<description>Software and non-software development :)</description>
	<pubDate>Thu, 31 Jul 2008 01:19:08 +0000</pubDate>
	<generator>http://wordpress.org/?v=2.3.3</generator>
	<language>en</language>
			<item>
		<title>Конек-горбунок Porsche 911 Carrera S Cabriolet</title>
		<link>http://artemgolubev.com/konek-gorbunok-porsche-911-carrera-s-cabriolet/</link>
		<comments>http://artemgolubev.com/konek-gorbunok-porsche-911-carrera-s-cabriolet/#comments</comments>
		<pubDate>Thu, 31 Jul 2008 00:47:45 +0000</pubDate>
		<dc:creator>Artem</dc:creator>
		
		<category><![CDATA[inRussian]]></category>

		<category><![CDATA[911]]></category>

		<category><![CDATA[Cabriolet]]></category>

		<category><![CDATA[porsche]]></category>

		<category><![CDATA[Porsche 911 Carrera S Cabriolet]]></category>

		<guid isPermaLink="false">http://artemgolubev.com/konek-gorbunok-porsche-911-carrera-s-cabriolet/</guid>
		<description><![CDATA[Я всегда мечтал иметь Porsche.  Думал буду жить в своем домике и ездить на работу на этом средстве передвижения. И вот недавно взяли экземплярчик Porsche 911 Carrera S Cabriolet (997) с автоматической коробкой покататься.
По традиции, тех характеристики с сайта Porsche:

лошадок: 355;
крутящий момент: 400 на 4600 оборотах;
разгон до 100 км/ч: 5.4 сек;
расход 98 бензина на 100 км: 17.9/8.4 [...]]]></description>
			<content:encoded><![CDATA[<p>Я всегда мечтал иметь Porsche. <a href="http://artemgolubev.com/wp-content/uploads/2008/07/img_9832.JPG" title="img_9832.JPG"><img src="http://artemgolubev.com/wp-content/uploads/2008/07/img_9832.thumbnail.JPG" alt="img_9832.JPG" /></a> Думал буду жить в своем домике и ездить на работу на этом средстве передвижения. И вот недавно взяли экземплярчик Porsche 911 Carrera S Cabriolet (997) с автоматической коробкой покататься.</p>
<p>По традиции, тех характеристики с <a href="http://www.porsche.com/russia/models/911/911-carrera-s-cabriolet/featuresandspecs/">сайта Porsche</a>:</p>
<ul>
<li>лошадок: 355;</li>
<li>крутящий момент: 400 на 4600 оборотах;</li>
<li>разгон до 100 км/ч: 5.4 сек;</li>
<li>расход 98 бензина на 100 км: 17.9/8.4 в городе/за городом.</li>
</ul>
<p>Ну а теперь, что есть на самом деле. Ощущение такое, что там не 355 лошадок, а 355 нахрапистых взбесившихся коньков-горбунков, которые живут своей совершенно самостоятельной жизнью. Если не переключаться в ручной режим коробки передач, то при нажатии на газ горбунки с причитающейся секундной паузой сначала нехотя, а потом вдруг резко, начинают рваться вперед так, что даже мне жутко становится. Может, порше - это машинка исключительно для ручной коробки? Или ручного режима, чтобы ездить громко и быстро? На неровностях дороги коньки ведут себя тоже совершенно непредсказуемо. Могут прыгнуть куда им захочется. Хотя общая плавность хода вполне даже себе замечательная. Мне показалась лучше, чем на BMW. Ну а о шумоизоляции в салоне можно просто забыть. Это не для Porsche. Даже если едешь по трассе на 5-й передаче, на низких оборотах звук такой, как был у моего папы на 7-ке (ВАЗ, не бимер), когда у него глушак отвалился. Серьезно. Просто дежавю. А если отключить поршевскую фирменную систему стабилизации, то ездить быстро становится просто страшно. </p>
<p>Интересно также отношение порше к посадочной формуле 2+2. Если в бимере, <a href="http://artemgolubev.com/bmw-328i-convertible/">на котором мы катались в Los Angeles-е</a>, сзади совершенно спокойно умещались 2 пассажира, то в порше это возможно только при открытой крышке. Когда ее закрываешь, там не только невозможно сидеть не нагнувшись, но и вылезти проблематично. Если не производить хитрых махинаций с передними седлушками, они (седлушки, ес-но) просто не откинутся - крышу задевают (без шуток). Так что 2+2 по версии порше - это 2 пассажира и 2 сумочки <img src='http://artemgolubev.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> Да и вообще, сегодня у любой самой дешевой мазды есть управление автомагнитолкой с руля. А конкретно, обычно можно регулировать громкость и переключать дорожки/файлы. В порше ничего такого нет. На месте этих переключалок стоят переключатели передач. Т.е. на руле только переключатели передач и бибикалка. Все, больше ничего. Типа слушайте, ребятки, моторчеГ, а не музычку.</p>
<p>Теперь про расход на 100. Все враки. Я ездил 80% времени по трассе, лишь слегка принажимая газок, и расход получился более 18 литров на 100. А вовсе не 8,5 и даже не 17,9! Но самый большой шок у меня вызвал прецедент, когда нам надо было остановиться, чтобы закрыть крышу, потом отъехать назад, чтобы попасть на полосу разгона, и после перестроения на дорогу коробку заклинило на 4-й передаче. Я чуть не поседел. Не помогало ничего, ни перевод в ручной режим, ни шелчки переключателя, ни переход на нейтралку. На самой же 4 по трассе ехать было очень некомфортно, т.к. оборотов было за 5000, и двигатель орал так, как будто мы не едем как все в потоке, а несемся с нереальной скоростью по автобану. Вот, кстати, 1 из преимуществ порше перед бимером это то, что крышку можно закрывать (чуть не написал &#8220;заколачивать&#8221;) <a href="http://www.porsche.com/russia/models/911/911-carrera-4s-cabriolet/indetail/comfort/">на скорости до 50 км в час</a>, а для того, чтобы проделать такой же фокус на бимере, надо полностью остановиться. Я помню, мы как-то ехали по трассе и пошел дождик, так мы проезжали мимо одного дядьки на бимере, который стоял на обочине и поднимал крышку. <img src='http://artemgolubev.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>Кстати, порше эта та машинка, про которую нельзя сказать &#8220;355 лошадок под капотом&#8221; и не из-за того, что у нее вместо лошадок бешенные горбунки, а из-за того, что под капотом у нее багажник<a href="http://artemgolubev.com/wp-content/uploads/2008/07/img_9849.JPG" title="img_9849.JPG"><img src="http://artemgolubev.com/wp-content/uploads/2008/07/img_9849.thumbnail.JPG" alt="img_9849.JPG" /></a> <img src='http://artemgolubev.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> Натуральный такой багажник. А движок сзади.<a href="http://artemgolubev.com/wp-content/uploads/2008/07/img_9860.JPG" title="img_9860.JPG"><img src="http://artemgolubev.com/wp-content/uploads/2008/07/img_9860.thumbnail.JPG" alt="img_9860.JPG" /></a> </p>
<p>Из приятных моментов в голове отложился только разгон. Все просто отдыхали далеко позади, когда я нажимал на газок посильнее. Машинка рвала так, что мало не покажется. Правда именно поэтому в остальное время приходилось очень аккуратно дозировать нажатие, иначе болид, взревев моторищем, шустро разгонялся. И при включенной системе сталибизации машинка изображала из себя трамвай. Ну и, конечно же, зависть пролетариата. Афро-американские братья ограничивались обычно просто &#8220;look at this motherfucking car!&#8221;, а какой-то белый после разглядывания машинки в шутку заявил &#8220;so beautiful car!&#8221;,<a href="http://artemgolubev.com/wp-content/uploads/2008/07/img_9894.JPG" title="img_9894.JPG"><img src="http://artemgolubev.com/wp-content/uploads/2008/07/img_9894.thumbnail.JPG" alt="img_9894.JPG" /></a> &#8220;I hate you! I&#8217;ll kill you!&#8221;, обязался выйграть в лотерею такую же. <img src='http://artemgolubev.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>В общем, порше - это спортивный автомобильчик с минимумом удобств; если ездить на таком на работу - будешь приезжать уже уставшим, а вот как 2-я или 3-я машинка в гараже вполне даже ничего. Покататься с ветерком в свое удовольствие, показать пролетариату, кто есть кто <img src='http://artemgolubev.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> Ну а для ежедневных поездок я бы выбрал драндулет поудобнее. Перед работой на дороге надо отдыхать! Так что у меня стресс - я думаю, что я уже совсем постарел для ежедневного порша.<a href="http://artemgolubev.com/wp-content/uploads/2008/07/img_9891.JPG" title="img_9891.JPG"><img src="http://artemgolubev.com/wp-content/uploads/2008/07/img_9891.thumbnail.JPG" alt="img_9891.JPG" /></a></p>
]]></content:encoded>
			<wfw:commentRss>http://artemgolubev.com/konek-gorbunok-porsche-911-carrera-s-cabriolet/feed/</wfw:commentRss>
		</item>
		<item>
		<title>BMW для алкашей</title>
		<link>http://artemgolubev.com/bmw-dlya-alkashej/</link>
		<comments>http://artemgolubev.com/bmw-dlya-alkashej/#comments</comments>
		<pubDate>Wed, 30 Jul 2008 00:27:29 +0000</pubDate>
		<dc:creator>Artem</dc:creator>
		
		<category><![CDATA[inRussian]]></category>

		<category><![CDATA[bmw]]></category>

		<guid isPermaLink="false">http://artemgolubev.com/bmw-dlya-alkashej/</guid>
		<description><![CDATA[Судя по рекламе BMW она позиционирует свою тройку для алкашей и наркоманов. У них на сайте в разделе видео есть клип 328i sedan, события в катором развиваются следующим образом: показывают что-то типа психушки или диспансера для алкаголиков, вокруг здания бегает мужичек. По нему сразу видно, что бухает. И причем серьезно так бухает, и, судя по [...]]]></description>
			<content:encoded><![CDATA[<p>Судя по рекламе BMW она позиционирует свою тройку для алкашей и наркоманов. У них <a href="http://www.bmwusa.com/Standard/Content/Vehicles/2008/3/335xiSedan/335xiSedanMediaGallery.aspx">на сайте</a> в разделе видео есть клип 328i sedan, события в катором развиваются следующим образом: показывают что-то типа психушки или диспансера для алкаголиков, вокруг здания бегает мужичек. По нему сразу видно, что бухает. И причем серьезно так бухает, и, судя по довольной роже, с утра уже принял. Затем он из фужеров для вина распивает с какой-то наркоманического вида женщиной жидкость непонятного содержания. Затем они вместе садятся в бимер и куда-то едут. Причем, половину клипа показывают, как их мотает по дороге, как они пересекают сплошную и как они с трудом вписываются в повороты. Типа бимер насолько прост в управлении, что даже в зюзю упитый алконавт с ним стправится.</p>
]]></content:encoded>
			<wfw:commentRss>http://artemgolubev.com/bmw-dlya-alkashej/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Puzzle with weights</title>
		<link>http://artemgolubev.com/puzzle-with-weights/</link>
		<comments>http://artemgolubev.com/puzzle-with-weights/#comments</comments>
		<pubDate>Fri, 25 Jul 2008 03:55:33 +0000</pubDate>
		<dc:creator>Artem</dc:creator>
		
		<category><![CDATA[Mathematics]]></category>

		<guid isPermaLink="false">http://artemgolubev.com/puzzle-with-weights/</guid>
		<description><![CDATA[The following is a programming task from my childhood:
Assume, we have a weight of integer value (say, X) and an infinite set of weights 1, 3, 9, 27, &#8230; Assuming that we have ideal pharmaceutical scales. The task is to balance weight X using set of weights, if we can put any amount of weights on any scale.
The [...]]]></description>
			<content:encoded><![CDATA[<p>The following is a programming task from my childhood:</p>
<p>Assume, we have a weight of integer value (say, X) and an infinite set of weights 1, 3, 9, 27, &#8230; Assuming that we have ideal pharmaceutical scales. The task is to balance weight X using set of weights, if we can put any amount of weights on any scale.</p>
<p>The solution is to factor X in 3-nary presentation:</p>
<p>X = x_0 * 1 + x_1 * 3 + x_2 * 9 + &#8230; + x_n * 3^n</p>
<p>where all x_i are in {0, 1, 2} (i.e. in mod3 ring in mathematical terminology).</p>
<p>Let&#8217;s use [y] notation for integer part of y.</p>
<p>Let&#8217;s assume that we put X on scale A and the second scale has name B. Let&#8217;s denote Y sum of all weights on A and Z as sum of all weights on B.</p>
<p>We denote Y = y_0 * 3^0 + y_1 * 3^1 + &#8230; + y_n * 3^n</p>
<p>At the beginning we have Y = X and Z = 0;</p>
<p>The idea is to go from 0 to n (and, possibly n+1) and do the following (*):</p>
<ul>
<li>if x_i = 0 we are fine, do nothing;</li>
<li>if x_i = 1, put 3^i on scale B;</li>
<li>if x_i = 2, put 3^i on scale A and now Y = Y + 3^i, which is, actually makes y_i = 0 and y_(i+1) = y_(i+1) + 1;</li>
</ul>
<p>Now let&#8217;s prove that X will be balanced by this algorithm in not more than [log_3(X)]+1 steps by induction:</p>
<p>[</p>
<p>1) if n = 0, X in {0, 1, 2} by (*) we have</p>
<p>     ether 0 on all scales in 1 step</p>
<p>     or 1 on both scales in 1 step</p>
<p>    or {X, 1} on scale A and 3 on scale B in 2 steps;</p>
<p>2) let&#8217;s assume that the proposition is correct for any k &lt;= n, and we have log_3 X = n+1, so, assuming that we&#8217;ve already done n steps (added or did not added 1 on level n+1)</p>
<p>we have now 4 possible situations:</p>
<p>a) y_(n+1) in {0, 1} on step n and [step do not add 1 to y_(n+1);</p>
<p>b)  y_(n+1) = 2 on step n and [step do not add 1 to y_(n+1);</p>
<p>c)  y_(n+1) in {0, 1} on step n and [step adds 1 to y_(n+1);</p>
<p>d)  y_(n+1) = 2 on step n and [step adds 1 to y_(n+1);</p>
<p>I) in cases a) - c) on step n+ 1 we have y_(n+1) in {0, 1, 2} and y_k = 0 for all k &gt; (n+1); by (*) and like in 1) we can complete balancing in not more than 2 steps, so having total (n+2) steps at maximum;</p>
<p>II) in case d) on step n+1 we have y_ (n+1) = 0 and y_(n+2) = 1 which can we balanced by putting 3^(n+2) on B, which adds 2 more steps casing finish in (n+2) steps.</p>
<p>We also pay attention, that for each n we put 3^n only on A if y_n = 2 or on B if y_n = 1 and nowhere if y_n = 0. So we do not need more than 1 weight with value 3^n for all n.</p>
<p>]</p>
<p>This proposition arise 1 interesting question: What is the least amount of weights k^n for all n do we need to balance any X on such scales?</p>
<p>First of all, let&#8217;s point our attention, that the question is trivial if the only place we can put our weights (except X) is B. In this case we have to have k-1 weights of each k^i weight which represents X in k-nary system.</p>
<p>We have 2 cases k is even and k is odd.</p>
<p>I) If k is odd that in k-nary system x_i will be in {0, &#8230; , k-1} where k-1 is even. In this case let&#8217;s prove we need (k-1)/2 weights.</p>
<p>For each i if we have y_i &lt;= (k-1)/2, we put y_i weight on B. if y_i &gt;= (k-1)/2  (**) we have z = k - y_i  &lt;= (k-1)/2 (***) is the amount s.t. (y_i + z) mod k = 0 and (y_i + z) div k = 1.</p>
<p>It means that z is the amount we can put on A to have 0 there and shift 1 to the next level.  And we can not have amount of weights &lt; (k-1)/2 since (**) and (***) can reach equality.</p>
<p>II) if k is even, k-1 is odd, let&#8217;s denote k-1 = 2l+1,  [(k-1)/2] = l weights is not enough since there is a middle value [(k-1)/2] + 1 = l+1which is strictly greater than [(k-1)/2] = l  and l is not enough to shift it to next level, since (l+1) + l = 2l + 1 = k-1 &lt;k, but [(k-1)/2]+1 = l + 1 weight is enough, since, we can up on B amounts up to l + 1 and z = 2l - (l + 1) = l - 1 &lt; l + 1, so we have enough amount of weights to shift to the next level. By the way, [(k-1)/2] + 1 = l + 1 = (2l + 2)/2 = k/2</p>
<p>To summarize, we have the following:</p>
<p>The least amount of k^i weights for each i to balance scales  is (k-1)/2 is k is odd and k/2 if k is even. Or, simply, [k/2] </p>
<p>In our proposition we had odd situation so we had (3-1)/2 = 1 weight enough to balance.</p>
]]></content:encoded>
			<wfw:commentRss>http://artemgolubev.com/puzzle-with-weights/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Mythical Great Developer</title>
		<link>http://artemgolubev.com/mythical-great-developer/</link>
		<comments>http://artemgolubev.com/mythical-great-developer/#comments</comments>
		<pubDate>Mon, 26 May 2008 06:05:58 +0000</pubDate>
		<dc:creator>Artem</dc:creator>
		
		<category><![CDATA[Software]]></category>

		<category><![CDATA[Great Developer]]></category>

		<guid isPermaLink="false">http://artemgolubev.com/mythical-great-developer/</guid>
		<description><![CDATA[Nowadays a lot of guys are curious how to find &#8220;Great Developer&#8221; but, do not specify what do they mean by this words. How can we find something if we do not know what we are looking for? Let us at first find out is this instance exists. Probably, you are looking for a guy, [...]]]></description>
			<content:encoded><![CDATA[<p>Nowadays a lot of guys are curious <a target="_blank" href="http://www.joelonsoftware.com/articles/FindingGreatDevelopers.html">how to find &#8220;Great Developer&#8221;</a> but, do not specify what do they mean by this words. How can we find something if we do not know what we are looking for? Let us at first find out is this instance exists. Probably, you are looking for a guy, who is:</p>
<ol>
<li>Knows everything on technologies she/he supposed to work with during her/his job at your company;</li>
<li>Can create perfect easy-to-understand, scalable, maintainable architecture/code;</li>
<li>Team player;</li>
<li>Has nice leadership skills.</li>
</ol>
<p>If you do, I can surely tell you that you are on the wrong way. Let me explain why.</p>
<ol>
<li>Usually, a regular human can not know every detail of every technology. Good professionals know key points and some details, not all. It means that it could make no sense to ask person for a particular details of that particular technology. Professionals usually know how to find this detail quickly, not all the details.</li>
<li>I pointed my attention that roughly speaking all people could be divided into 3 categories:
<ol>
<li>people with good memory but bad analytical skills and</li>
<li>people who have good analytical skills and not very good memory</li>
<li>people who have perfect analytical skills, perfect memory but do not care of your business, since whey could be perfect chess players and think about chess all the day instead of working on you</li>
</ol>
</li>
<li>On 2 I would say that usually code either easy to understand or scalable/maintainable, not both. So there are people, who writes first or second types of code.</li>
<li>Next bad news is that usually person either hacker or team player. I knew 1 hacker on 1 project was so negative that it would be better that this guy just never participated at the project at all;</li>
<li>And at the end leader persons are rarely good developers themselves;</li>
<li>And now imagine of 2 hackers on the team hating each other!</li>
</ol>
<p>We usually do not think about it when building our perfect team, yeah?</p>
<p>And there is even a <a href="http://www.socionics.com/">theory called socionics</a> that explains all types of characters and intertype relations.</p>
<p>Roughly speaking it tells us the next:</p>
<ul>
<li>Person is either thinker of feeler, meaning either good abstract thinker or good team player;</li>
<li>Person is either sensing or intuitive type, meaning either stable worker and leader or gifted hacker, who can learn in seconds and do job better an faster than others;</li>
<li>Person either perceiving or judging meaning either strategist or tactician.</li>
</ul>
<p>More of that, even hacker performs better if works with &#8220;bad worker&#8221; of appropriate type. And the whole team performs better if all members has non conflicting intertype relations. It is what Tom DeMarco and Timothy Lister were talking about in their <a href="http://en.wikipedia.org/wiki/Peopleware">peopleware</a> than they told us about &#8220;unproductive&#8221; people on successful teams and on successful teams participating in selection of their colleagues. Does your team do it?</p>
<p>Even more, the <a href="http://www.joelonsoftware.com/articles/FindingGreatDevelopers.html">Joel&#8217;s method of finding &#8220;Great Developers&#8221;</a> on conferences could fail for Introverts, which would prefer writing code and learning new technology to participating on some conference.</p>
<p>But everything is not so bad. Some people advance their skills in areas they are not best in. So there is a chance you can find appropriate person or Guru. Don&#8217;t forget to ask person what area she or he is the best, what is easy and what she/he is working on.</p>
<p>Good luck in building your team!</p>
]]></content:encoded>
			<wfw:commentRss>http://artemgolubev.com/mythical-great-developer/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Problems with outsourcing in software development</title>
		<link>http://artemgolubev.com/problems-with-outsourcing-in-software-development/</link>
		<comments>http://artemgolubev.com/problems-with-outsourcing-in-software-development/#comments</comments>
		<pubDate>Mon, 26 May 2008 03:09:45 +0000</pubDate>
		<dc:creator>Artem</dc:creator>
		
		<category><![CDATA[Software]]></category>

		<category><![CDATA[outsourcing]]></category>

		<guid isPermaLink="false">http://artemgolubev.com/problems-with-outsourcing-in-software-development/</guid>
		<description><![CDATA[I actually was on the both sides. So I know how it looks like from inside and outside. I&#8217;m going to describe several problems, which you can, probably, face to, starting to work with some software development outsourcing.
1. Guys there think another way. They, probably, did not read peopleware and other books, you&#8217;ve read. They [...]]]></description>
			<content:encoded><![CDATA[<p>I actually was on the both sides. So I know how it looks like from inside and outside. I&#8217;m going to describe several problems, which you can, probably, face to, starting to work with some software development outsourcing.</p>
<p>1. Guys there think another way. They, probably, did not read peopleware and other books, you&#8217;ve read. They could be surprised by schedule you provide them or have in mind, but they could say nothing. Some that guys think that as they are pay hourly, it is not their problems to correct your schedule. You are lucky if have experienced team lead/PM on site to let you know about project risks. The usual rule applies: more expensive teams/companies/developers could cost you less overall.<br />
Actually the main problem here is integration. Let me tell you about 2 projects I worked for. One from outsourcing side, and another from US side.  On both projects US side wrote business logic and remote team wrote UI. If you do things this way you can be already in trouble of bad integration.</p>
<p>2.  Remote guys sleep when on site team works and vice versa. If you are lucky, you can, probably, have an hour or two of overlapping time. It means that if one of the teams have a bug it will be fixed next day only, causing huge problems to another team. In worse case they could loose whole day.</p>
<p>3. If teams do not have common source repository it is another big issue. If some team do some refactoring it affects another team - other team&#8217;s code become uncompilable. Even bigger evil here is integration. On the second project I participated that way we had 2 guys on US side constantly working on integration tasks only, stating from second week of development, when we tried to integrate our code (!). On the similar project before we had only 3 guys on site doing UI, before the same task was transferred to outsourcing team. Can you imagine that? 3 guys did job here and after switching to outsourcing it were 2 guys doing integration tasks! On the first project bugs in business logic prevented UI developers from testing their code.</p>
<p>Okay, it is not always so bad, and sure, it make sense to have outsourcing in many cases.</p>
<p>Here is what you can do to have successful outsourcing:</p>
<p>1. If it is possible, let outsourcing do all parts of the job. That will save you from integration evil. Remember, that if you can&#8217;t let outsourcing do all parts of the task, integration is your biggest risk here;</p>
<p>2. Even if you were lucky with 1., make all your teams to write unit tests and run continuous integration everyday or even more often in all teams. It will at least help your teams to prevent most of integration issues, and help them to find their bugs earlier;</p>
<p>3. If it is possible, all teams should store their code in the same source control system. This will help teams to do successful refactoring, even changing other team&#8217;s code. To let it work better all teams should try to commit code before end of day, to let remote team successfully refactor. If it is not possible, new code from remote team should be committed to local repository daily;</p>
<p>4. Make business logic team to write all interfaces and mockups before writing actual code. The actual code could take much time, since interfaces and mockups are easy. It will also help your teams to write unit tests and to set up continuous integration tasks early.</p>
<p>Hope it will help you to choose right way and good luck with outsourcing if you are going to use it!</p>
]]></content:encoded>
			<wfw:commentRss>http://artemgolubev.com/problems-with-outsourcing-in-software-development/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Bushido of Software Development</title>
		<link>http://artemgolubev.com/bushido-of-software-development/</link>
		<comments>http://artemgolubev.com/bushido-of-software-development/#comments</comments>
		<pubDate>Sun, 27 Apr 2008 21:07:39 +0000</pubDate>
		<dc:creator>Artem</dc:creator>
		
		<category><![CDATA[Software]]></category>

		<category><![CDATA[BSD]]></category>

		<category><![CDATA[bushido]]></category>

		<category><![CDATA[software development]]></category>

		<guid isPermaLink="false">http://artemgolubev.com/bushido-of-software-development/</guid>
		<description><![CDATA[12 Must Have in Software Development 
Just a minimal simple set or rules and approaches, which, I believe, help projects to succeed. Most of software developers will say that it is something like &#8221;must have&#8221; on your project and, of course, it is not complete set. Since each complete set is a process and you can always chose the most suitable process [...]]]></description>
			<content:encoded><![CDATA[<p><strong><em>12 Must Have in Software Development</em></strong> </p>
<p>Just a minimal simple set or rules and approaches, which, I believe, help projects to succeed. Most of software developers will say that it is something like &#8221;must have&#8221; on your project and, of course, it is not complete set. Since each complete set is a process and you can always chose the most suitable process for you.</p>
<ol>
<li>Unit and integration testing full or most code coverage (of course, you don&#8217;t have to test your DTOs or VOs if they don&#8217;t have any business logic inside);</li>
<li>Continuous integration. Running integration testing at least daily;</li>
<li>All developers (of all sub-teams) on the project can communicate with each other directly (not only though representative person);</li>
<li>Adequate number of developers on the project (not too small and not too much);</li>
<li>Adequate volume of design documentation (again not too small and not too much);</li>
<li>Design documentation must be readable, illustrative, brief, well-structured and clear; </li>
<li>Developers must have adequate hardware and software to develop software;</li>
<li>Team must have at least one development server to have development version of software, DB, continuous integration there;</li>
<li>Team must have mock-ups (separate DB) for continuous integration;</li>
<li>Team must use source-control system, all sub-teams of the team must integrate with code in the source control at least daily;</li>
<li>Team must have development infrastructure. Such as wiki, project management and bug-tracking software, etc.;</li>
<li>Automate everything you can.</li>
</ol>
<h3>Unit and integration testing full or most code coverage</h3>
<p>It will let developers be sure that their code is functioning OK. More of that, it let them to to check if some part is OK without re-testing whole application.</p>
<h3>Continuous integration</h3>
<p>Imagine, some developer changed behavior of her/his module and updated his unit tests. Her/his unit tests works fine, but some other, dependent part could be broken.<br />
Continuous integration allows developers to know if there are hidden problems in their application.</p>
<h3>All developers on the project can communicate with each other directly</h3>
<p>Don&#8217;t let absence of communication to become bottleneck of your process. If one developer has question and/or misunderstanding regarding some part of other developer&#8217;s work, communicating though contact person could delay delivery date of your project. Or even worse: communication person could transfer information incorrectly.</p>
<h3>Adequate number of developers on the project</h3>
<p>No need to tell you what happens if there not enough developers on the project. The surprising problem could happen if you took too many developers:<br />
they will face all integration issues. Sometimes small teams could perform better than big ones. The one more issue about big teams is non-uniformity of the application<br />
design. Not all developers have the same level and not all people have the same approaches.</p>
<h3>Adequate volume of design documentation</h3>
<p>It is simple. Nobody will read bad-structured huge design documents. On the other hands something should stay in-written to reflect common parts, possible misunderstandings,<br />
etc.</p>
<h3>Design documentation must be readable, illustrative, brief, well-structured and clear</h3>
<p>If it not readable obviously nobody will read it. Non-illustrative documentation hard to process and developers could miss something. Why should it be brief is discussed in<br />
previous section. In badly structured document hard to find information you need, so such documents become useless.</p>
<h3>Developers must have adequate hardware and software to develop software</h3>
<p>Just not fast enough hardware will simply delay your project. Do you need it? Usually the biggest expense is developers themselves. So it is very improvidently to spend<br />
their time for waiting while program is compiled. The same idea is about software. Just let your developers work more effectively.</p>
<h3>Team must have at least one development server to have development version of software, DB, continuous integration there</h3>
<p>By word &#8220;server&#8221; you can understand some computer. They are not so expensive nowadays.</p>
<h3>Team must have mock-ups (separate DB) for continuous integration</h3>
<p>Don&#8217;t let changes in your development DB break your unit-testing. It is not such a big deal to maintain 1 more DB for testing.<br />
Just let your developers play in development DB (or DB on their PCs) and put only what you need for testing to test DB.<br />
Your continuous integration will hardly work well without it.</p>
<h3>Team must use source-control system, all sub-teams of the team must integrate with code in the source control at least daily</h3>
<p>I can&#8217;t imagine a project without source control. I&#8217;m sure everyone does the same. The issue can be, for example, if you have one team in<br />
closed proprietary network (say, writing business logic) and one outside (say for presentation layer development). Sometimes both teams<br />
can&#8217;t use the same source-control for various reasons, but at least in one of teams should integrate with others frequently (they can put<br />
other team&#8217;s code in their source control. Even this process can usually be automated.).</p>
<h3>Team must have development infrastructure. Such as wiki, project management and bug-tracking software, etc.</h3>
<p>Don&#8217;t make your developers search their emails for some important information. Just set up wiki. Your developers are still write<br />
their tasks on pieces of paper? How do you plan to manage it? Use software to develop software.</p>
<h3>Automate everything you can</h3>
<p>Compilation, deployment, integration with other source controls, sometimes even code-generation, etc. Usually you already have to do much for continuous integration. You can even chose dedicated person for this task if your team is big enough. Save costy time of your developers.</p>
]]></content:encoded>
			<wfw:commentRss>http://artemgolubev.com/bushido-of-software-development/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Misunderstanding of Agile development</title>
		<link>http://artemgolubev.com/misunderstanding-of-agile-development/</link>
		<comments>http://artemgolubev.com/misunderstanding-of-agile-development/#comments</comments>
		<pubDate>Sat, 26 Apr 2008 17:38:11 +0000</pubDate>
		<dc:creator>Artem</dc:creator>
		
		<category><![CDATA[Software]]></category>

		<category><![CDATA[Agile]]></category>

		<guid isPermaLink="false">http://artemgolubev.com/misunderstanding-of-agile-development/</guid>
		<description><![CDATA[Agile development is NOT:

A mess-style development;
Agile does not mean that you can write programs without any design documentation;
When your developers have no access to business and business do not take part in the communication with the development team;
Separating development sub-teams;
Absence of continuous integration;
Absence of unit-testing at all or even just some unit-testing instead of full [...]]]></description>
			<content:encoded><![CDATA[<p><em><strong>Agile development is NOT</strong></em>:</p>
<ol>
<li>A mess-style development;</li>
<li>Agile does not mean that you can write programs without any design documentation;</li>
<li>When your developers have no access to business and business do not take part in the communication with the development team;</li>
<li>Separating development sub-teams;</li>
<li>Absence of continuous integration;</li>
<li>Absence of unit-testing at all or even just some unit-testing instead of full coverage;</li>
</ol>
<p>Unfortunately, sometimes you have to be negative to distinguish misinterpretations.</p>
]]></content:encoded>
			<wfw:commentRss>http://artemgolubev.com/misunderstanding-of-agile-development/feed/</wfw:commentRss>
		</item>
		<item>
		<title>BMW 328i Convertible</title>
		<link>http://artemgolubev.com/bmw-328i-convertible/</link>
		<comments>http://artemgolubev.com/bmw-328i-convertible/#comments</comments>
		<pubDate>Wed, 16 Apr 2008 04:59:01 +0000</pubDate>
		<dc:creator>Artem</dc:creator>
		
		<category><![CDATA[inRussian]]></category>

		<category><![CDATA[bmw]]></category>

		<category><![CDATA[BMW 328i Кабриолет]]></category>

		<category><![CDATA[кабриолет]]></category>

		<guid isPermaLink="false">http://artemgolubev.com/bmw-328i-convertible/</guid>
		<description><![CDATA[Впечатления от катания на BMW 328i Convertible по солнечной Калифорнии
Праздновал тут, намедни, свой день рождения в Калифорнии. Замечательный штат - тепло, светло и мухи не кусают.
Самое идеальное место для катания на кабриолетах и проч. буржуинских средствах передвижения. Вообще-то сначала я хотел взять Porshe Carrera S тоже кабриолетик, но оного в наличии не оказалось и небыло [...]]]></description>
			<content:encoded><![CDATA[<h3>Впечатления от катания на BMW 328i Convertible по солнечной Калифорнии</h3>
<p><a href="http://artemgolubev.com/wp-content/uploads/2008/04/img_8959s.jpg" title="328"><img src="http://artemgolubev.com/wp-content/uploads/2008/04/img_8959s.thumbnail.jpg" alt="328" /></a>Праздновал тут, намедни, свой день рождения в Калифорнии. Замечательный штат - тепло, светло и мухи не кусают.</p>
<p>Самое идеальное место для катания на кабриолетах и проч. буржуинских средствах передвижения. Вообще-то сначала я хотел взять Porshe Carrera S тоже кабриолетик, но оного в наличии не оказалось и небыло тогда когда я еще раз про него спрашивал. Живут же люди - кто-то продлил рент автомобиля еще на день. Т.е. еще на 500 местных зеленых бумажек.</p>
<p>Но я не пожалел, что взял этот кабриолет в прокат. Первое, что мне больше всего в нем понравилось это жесткая крыша, которая убирается нажатием кнопки. Т.е. не тот убогий брезент, который обычно рефлексирует под крышу а настоящая металлическая крыша вовсе даже не черного цвета <img src='http://artemgolubev.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> Жутко удобно, практично и приятно. Тут тебе и кабриолет и купе в одном флаконе. И еще мне понравился сам процесс: жмешь кнопку и она поднимается. Очень волнующий зажгательно! <img src='http://artemgolubev.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> Единственное, крышка не будет подниматься на ходу. Вот в каком состоянии вы с ней начали движение в таком она и останется, сколько не тереби волшебную кнопку. Я разок поднимал на перекрестке, чуть зеленый не пропустил, хотя подъехал на начало красного. Причем местные жители терпеливо ждали в очереди пока я поеду. Даже не побибикали <img src='http://artemgolubev.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> Кстати, в случае когда крыша сложена от багажника остаются рожки да ножки <img src='http://artemgolubev.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>Теперь о насущном. Данные брал с американского сайта (<a href="http://www.bmwusa.com/Standard/Content/Vehicles/2008/3/328iConvertible/default.aspx">http://www.bmwusa.com/Standard/Content/Vehicles/2008/3/328iConvertible/default.aspx</a>), звиняйте, но судя по <a href="http://www.bmw.ru/russian/choose/automobiles/_pdf/0308/3_cabrio.pdf">российскому сайту BMW</a> такая модель в России не продается. Только чуть более мощная 330i, которая в свою очередь не продается в США. <img src='http://artemgolubev.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> Судя по <a href="http://www.bmwusa.com/Standard/Content/Vehicles/2008/3/328iConvertible/Features_and_Specs/328iConvertibleSpecifications.aspx">данным производителя</a> машинка вполне себе шустренькая: разгоняет тушку до 100 (точнее до 60 миль в час) за 7.2 секунды на автоматической коробке передач. Такая же версия но купе разгоняется уже за 6.8 секунды за счет меньшего коэффициента сопротивления (0.28 против 0.30) и значительно меньшего веса (1540 против 1780). Хотя умельцы утверждают, что умеют разгонять этот болид еще быстрее. Кушает сие чудо природы всего лишь 13.3 по городу, 6.8 за городом и 9.2 в смешанном цикле (это данные для даже более мощной модельки 330 с <a href="http://www.bmw.ru/?content=http://www.bmw.ru/russian/choose/automobiles/3series/cabrio2007/tech.html">российского сайта</a>) почти как <a href="http://www.lada-auto.ru/cgi-bin/models.pl?model_id=4459&amp;branch=tth">14-я вазочка</a> и меньше, чем <a href="http://www.gazgroup.ru/buyers/car/eclass/?p=200">Волга</a>, несмотря на в 2 раза большую мощность! Хотя масса у них практически одинаковая. </p>
<p>Ну а теперь о субъективном: Впечатления от вождения BMW описать словами (нематерными) практически невозможно. Сплошной восторг! По-началу я не прочухал, что автомат можно перевести в спортивный режим и довольствовался обычным, в котором машинка ведет себя достаточно стандартно (не считая отличного чувства дороги и руля). Но только стоит переключиться на спортивный режим, как сразу понимаешь, что такое BMW на самом деле и почему ее так все любят. На газ машинка начинает реагировать просто восхитительно. Ускорение напрямую зависимост от силы нажатия на педальку газа. Ощущение, как будто пересел в спортивный автомобиль. В сочетании с идеальными реакциями на руль, шикарными тормозами ничего кроме восторга не вызывает. Соверешенно непередаваемые ощущения я получил, катаясь по тому самому Mulholland Drive. Это такая дорожка по краю обрыва,<a href="http://artemgolubev.com/wp-content/uploads/2008/04/img_9005s.JPG" title="Mulholland Drive"><img src="http://artemgolubev.com/wp-content/uploads/2008/04/img_9005s.thumbnail.JPG" alt="Mulholland Drive" /></a> где не знаешь (если, конечно же, там уже не ездил) насколько крут следующий поворот. Моим пассажирам, как они утверждают, было жутко. <img src='http://artemgolubev.com/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> К сожалению ниразу не переключил передачу с самостоятельно с руля (хотя переключатели там есть), т.к. автомат работает просто отлично. Странно, только почему БМВ-шники не сделали еще его быстрее ручной коробки как это сделали менее ленивые инженеры Porsche.</p>
<p>Кстати, если сравнивать эту машинку с предыдущей, про которую я писал (Pontiac Grand Prix) то большую мощность и больший крутящий момент ей удается развить на моторчике меньшего объема (3 против 3.8 литра), что внушает уважение немецким инженерам, хорошо умеющим превращать кубики в лошадки! <img src='http://artemgolubev.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>Цена же у буржуев как обычно почти в два раза ниже чем в России (от $43 200). Вот такая вот несправедливость. Хотя немцы ближе к россиянам, хотя бы географически. Кстати, тут отлично развита система лизинга и более мощную версию 335i с кучей опций (так что цена дотянет до 57 000) можно взять в лизинг на 3 года всего за 669 баксов в месяц. В России мне такое и не снилось. Все, что я мог себе позволить за такие же деньги это 3-ю мазду в кредит.</p>
]]></content:encoded>
			<wfw:commentRss>http://artemgolubev.com/bmw-328i-convertible/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Pontiac Grand Prix и прочие американцы</title>
		<link>http://artemgolubev.com/usa-cars/</link>
		<comments>http://artemgolubev.com/usa-cars/#comments</comments>
		<pubDate>Tue, 25 Mar 2008 03:16:50 +0000</pubDate>
		<dc:creator>Artem</dc:creator>
		
		<category><![CDATA[inRussian]]></category>

		<guid isPermaLink="false">http://artemgolubev.com/usa-cars</guid>
		<description><![CDATA[Ощущения от езды на американском автомобиле по американским же дорогам

Волею судьбы приходится бороздить просторы техасщины на Pontiac Grand Prix. Это такой немаленький автомобильчик (см. фото). Другие кусочки машинки можно увидеть здесь. 3.8-литровый 6-ти горшковый 203-сильный движок разгоняет этот 1,5-тонный танк до 100 км/ч за 8,5 секунд. И не так прожорлив, как может показаться: 9,8л на [...]]]></description>
			<content:encoded><![CDATA[<h3>Ощущения от езды на американском автомобиле по американским же дорогам</h3>
<p><a href="http://artemgolubev.com/wp-content/uploads/2008/03/img_1559jpg.jpg" title="Car"><img src="http://artemgolubev.com/wp-content/uploads/2008/03/img_1559jpg.thumbnail.jpg" alt="Car" /></a></p>
<p>Волею судьбы приходится бороздить просторы техасщины на Pontiac Grand Prix. Это такой немаленький автомобильчик (см. фото). Другие кусочки машинки можно увидеть <a href="http://picasaweb.google.com/artem.golubev/OurCar">здесь</a>. 3.8-литровый 6-ти горшковый 203-сильный движок разгоняет этот 1,5-тонный танк до 100 км/ч за 8,5 секунд. И не так прожорлив, как может показаться: 9,8л на 100 км в смешанном цикле. Тех. характеристики можно посмотреть <a href="http://www.autonet.ru/catalogs/auto/index.asp/mark/Pontiac/serie/Grand+Prix/action/model/catalogID/274218.html">тут</a>. Для сравнения <a href="http://www.gazgroup.ru/buyers/car/eclass/?p=200">Волга 31105</a> разгоняет свои 1,5 тонны до сотни за 13,5 секунд при помощи 2,4-литрового 4-х горшкового движка, кушая при этом 9, а за городом 13,5 литров в городе на сотню.</p>
<p>Теперь о субъективщине.<br />
Я как-то с детства привык ездить на машинках с механической коробкой передач. Ну, казалось бы, нет ничего проще, чем пересесть на автомат. Ан нет, с непривычки давил на тормоз левой ногой. Из-за чего начальник, имевший неосторожность не пристегнуться на заднем сиденье, долбанулся об переднее головой. 2 раза %). А я удивлялся, насколько чувствительные тормоза у машинки <img src='http://artemgolubev.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> Хотя, они, собственно, такие и есть. Слишком чувствительные. Это очень неудобно, т.к. любое неосторожное нажатие приводит к тому, что машина просто резко встает. А резко тормозить у буржуев не принято. Они все тормозят очень плавно, что, безусловно, радует. Так что будь я конструктором, тормоза я бы приделал к этой машинке другие.</p>
<p>Теперь про газ (педальку, а не известный автозавод). Газ, прямо скажем, неадекватный. Просто не знаешь, что от него ожидать. С непривычки, иногда стартую с пробуксовкой, несмотря на то, что газ жму несильно. С другой стороны тормозной автомат понимает, что надо переключиться на пониженную только через несколько мнгновений после того, как утапливаешь педальку. Почему эти мнгновения иногда кажутся вечностью, я думаю, объяснять не надо :). Да и вообще, педалька, мягко говоря, неинформативная. Совершенно не чувствуешь адекватную отдачу и сложно дозировать нажатие. При езде по местным дорогам возникает ощущение, что тебя несет потоком. Обгонять не получается, т.к. во всех рядах едут с одинаковой скоростью даже на трассах %). Да и жутковато на таком корабле обгонять, 5 метров в длину все-таки. Хотя, наверное, на Porsche тут тоже было бы скучно ездить :/<br />
Зато в машинке есть такая приятная фичка как круиз-контроль. Т.е. едешь, жмешь на кнопку и педаль газа можно отпустить - машинка будет сама поддерживать наебходимую скорость. В городе фичка бесполезная, а вот на трассе - достаточно приятная.<br />
Кондиционер в машинке плюшевенький. Я, конечно, не избалован этим буржуйским изобретением, но впечатления достаточно грустные. Печка не печет, кондишен охлаждает так себе. Зато вентилятор работает практически бесшумно. И еще что мне понравилось, громкость музыки на штатной магнитолке увеличивается при увеличении скорости движения.</p>
<p>Вот что тут замечательное - это дороги. Это просто местная достопримечательность. Дело даже не в качестве покрытия (тут большинство дорог бетонные) а в том, что дороги хорошие ВЕЗДЕ! Даже в самой захудалой улочке в самом заныканном уголке города. Вот, что важно! Причем везде широкие дороги, несколько полос в каждую сторону, с газончиком и паребриком между направлениями движения. Ну а развязки там (см. фото) - вообще отдельная песня. Так что приезжайте к нам на техасщину - вместе попоем <img src='http://artemgolubev.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>Причем тут &#8220;прочие американцы&#8221;? А дороги-то кто делал. :))</p>
]]></content:encoded>
			<wfw:commentRss>http://artemgolubev.com/usa-cars/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Подробный рецепт солянки по-шагам</title>
		<link>http://artemgolubev.com/solyanka/</link>
		<comments>http://artemgolubev.com/solyanka/#comments</comments>
		<pubDate>Tue, 25 Mar 2008 02:55:37 +0000</pubDate>
		<dc:creator>Artem</dc:creator>
		
		<category><![CDATA[inRussian]]></category>

		<category><![CDATA[recipe]]></category>

		<category><![CDATA[solianka]]></category>

		<category><![CDATA[soljanka]]></category>

		<category><![CDATA[solyanka]]></category>

		<guid isPermaLink="false">http://artemgolubev.com/solyanka</guid>
		<description><![CDATA[Солянка по-Артемовски 
Из расчета на большую кастрюлю:
Ингридиенты:

Beef (говядина, 1 цельный кусок) &#62; 1lb (0.5 кг);
Колбасы (полукопченые, копченые, вареные), копчености, можно сосиски &#62; 1.5 lb (0.75 кг);
поллитровая банка хороших (крепких) соленых огурцов (с рассолом);
немного зеленых маслин (шт 6-8) без косточек;
1 лимон;
2 картофелины;
4 крупных луковицы;
2 морковки;
томатная паста;
подсолнечное масло для жарки;
соль по вкусу;
черный перец молотый по вкусу;
грибы по [...]]]></description>
			<content:encoded><![CDATA[<p>Солянка по-Артемовски <img src='http://artemgolubev.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /><br />
Из расчета на большую кастрюлю:</p>
<p>Ингридиенты:</p>
<ol>
<li>Beef (говядина, 1 цельный кусок) &gt; 1lb (0.5 кг);</li>
<li>Колбасы (полукопченые, копченые, вареные), копчености, можно сосиски &gt; 1.5 lb (0.75 кг);</li>
<li>поллитровая банка хороших (крепких) соленых огурцов (с рассолом);</li>
<li>немного зеленых маслин (шт 6-8) без косточек;</li>
<li>1 лимон;</li>
<li>2 картофелины;</li>
<li>4 крупных луковицы;</li>
<li>2 морковки;</li>
<li>томатная паста;</li>
<li>подсолнечное масло для жарки;</li>
<li>соль по вкусу;</li>
<li>черный перец молотый по вкусу;</li>
<li>грибы по вкусу;</li>
<li>сметана.</li>
</ol>
<p>Процесс:</p>
<ol>
<li>Кладем говядину в кастрюлю одним цельным куском, туда же 2 луковицы (неразрезанные, целиком), туда же 2 морковки,<br />
заливаем полностью водой по края, чуть подсаливаем, ставим на огонь;</li>
<li>Когда морковка готова, ее вытаскиваем. Мясо довариваем до полной готовности (обычно не менее часа);</li>
<li>Когда мясо готово вытаскиваем мясо и лук из бульона (бульон НЕ сливаем, он - основа супа),<br />
вареные луковицы выкидываем(!);</li>
<li>Мелко режем 2 луковицы, режем картошку маленькими кубиками (5мм х 5мм х 5мм);</li>
<li>Берем сковородку, смазываем маслом, чтобы не пригорало, кладем нарезанные луковицы и ставим на огонь, слегка обжариваем<br />
добавляем туда картофель, распределяем его по всей сковородке, обжариваем картофель (необязательно до полной готовности);</li>
<li>Нарезаем говядину, колбасы, копчености, сосиски и прочие мясопродукты, которые у нас есть, маленькими<br />
длинненькими параллелепипедиками (примерно 5мм х 3мм х 20мм), добавляем к картошке туда же дабавляем<br />
очень мелко нарезанную вареную морковку, при желании можно добавить чуть-чуть нарезанных грибочков и обжариваем это все;</li>
<li>Добавляем пару больших ложек томатной пасты, нарезанные такими же мелкими параллелепипедиками огурцы (1/2 - 3/4 банки)<br />
и еще обжариваем (можно при этом чуток посолить);</li>
<li>Сваливаем все это обжаренное в бульон из-под говядины, добавляем туда маслины, разрезаем лимон пополам и 1 половинку выжимаем в бульен,<br />
затем добавляем туда 1/4 часть рассола из-под огурцов, ложку томатной пасты,<br />
тут же можно добавить чуть-чуть черного молотого перца и варим 10-15 мин под крышкой;</li>
<li>После выключения даем супу настояться под крышкой мин 15;</li>
<li>Уже в тарелки добавляем сметану по-вкусу.</li>
</ol>
<p>Know-How:</p>
<ol>
<li>Очень важно НЕ пересолить. Если что-то солите - соли надо добавлять совсем капельку, т.к. соленость будет от рассола и соленых огурцов;</li>
<li>То же для перца - максимум щепотку;</li>
<li>Картошку резать непосредственно перед тем как жарить, иначе обветрится;</li>
<li>На остроту так же влияет лимон, так что можно его тоже чуть меньше заливать, так же убедитесь, что косточки НЕ попадают в суп, когда вы<br />
выжимаете лимон, для этого перед тем как его выживать надо выковорять все косточки, можно также разрезать половинку еще пополам,<br />
чтобы косточки было удобнее выковыривать.</li>
</ol>
<p>В итоге суп готовится очень легко и быстро, т.к. вываривание говядины не требует внимания,<br />
а обжарка и варка все вместе занимает мин 30;</p>
<p>Приятного аппетита!</p>
]]></content:encoded>
			<wfw:commentRss>http://artemgolubev.com/solyanka/feed/</wfw:commentRss>
		</item>
	</channel>
</rss>
