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

<channel>
	<title>blinnov's blog &#187; Work</title>
	<atom:link href="http://www.blinnov.com/category/work/c/en+ru/feed/en+ru/" rel="self" type="application/rss+xml" />
	<link>http://www.blinnov.com</link>
	<description>another brilliant mind poisoned by c++</description>
	<lastBuildDate>Fri, 10 Feb 2012 11:08:41 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.2</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>История языков программирования</title>
		<link>http://www.blinnov.com/2012/01/27/%d0%98%d1%81%d1%82%d0%be%d1%80%d0%b8%d1%8f-%d1%8f%d0%b7%d1%8b%d0%ba%d0%be%d0%b2-%d0%bf%d1%80%d0%be%d0%b3%d1%80%d0%b0%d0%bc%d0%bc%d0%b8%d1%80%d0%be%d0%b2%d0%b0%d0%bd%d0%b8%d1%8f/ru/</link>
		<comments>http://www.blinnov.com/2012/01/27/%d0%98%d1%81%d1%82%d0%be%d1%80%d0%b8%d1%8f-%d1%8f%d0%b7%d1%8b%d0%ba%d0%be%d0%b2-%d0%bf%d1%80%d0%be%d0%b3%d1%80%d0%b0%d0%bc%d0%bc%d0%b8%d1%80%d0%be%d0%b2%d0%b0%d0%bd%d0%b8%d1%8f/ru/#comments</comments>
		<pubDate>Fri, 27 Jan 2012 00:24:33 +0000</pubDate>
		<dc:creator>vital</dc:creator>
				<category><![CDATA[C++]]></category>
		<category><![CDATA[Life]]></category>
		<category><![CDATA[Software design]]></category>
		<category><![CDATA[Work]]></category>

		<guid isPermaLink="false">http://www.blinnov.com/?p=1517</guid>
		<description><![CDATA[Краткая, неполная и практически полностью неправильная. Здесь.
1972 &#8211; Dennis Ritchie invents a powerful gun that shoots both forward  and backward simultaneously.  Not satisfied with the number of deaths  and permanent maimings from that invention he invents C and Unix.
]]></description>
			<content:encoded><![CDATA[<p>Краткая, неполная и практически полностью неправильная. <a href="http://james-iry.blogspot.com/2009/05/brief-incomplete-and-mostly-wrong.html">Здесь</a>.</p>
<blockquote><p>1972 &#8211; Dennis Ritchie invents a powerful gun that shoots both forward  and backward simultaneously.  Not satisfied with the number of deaths  and permanent maimings from that invention he invents C and Unix.</p></blockquote>
]]></content:encoded>
			<wfw:commentRss>http://www.blinnov.com/2012/01/27/%d0%98%d1%81%d1%82%d0%be%d1%80%d0%b8%d1%8f-%d1%8f%d0%b7%d1%8b%d0%ba%d0%be%d0%b2-%d0%bf%d1%80%d0%be%d0%b3%d1%80%d0%b0%d0%bc%d0%bc%d0%b8%d1%80%d0%be%d0%b2%d0%b0%d0%bd%d0%b8%d1%8f/ru/feed/ru/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Хозяйке на заметку</title>
		<link>http://www.blinnov.com/2012/01/19/%d0%a5%d0%be%d0%b7%d1%8f%d0%b9%d0%ba%d0%b5-%d0%bd%d0%b0-%d0%b7%d0%b0%d0%bc%d0%b5%d1%82%d0%ba%d1%83-3/ru/</link>
		<comments>http://www.blinnov.com/2012/01/19/%d0%a5%d0%be%d0%b7%d1%8f%d0%b9%d0%ba%d0%b5-%d0%bd%d0%b0-%d0%b7%d0%b0%d0%bc%d0%b5%d1%82%d0%ba%d1%83-3/ru/#comments</comments>
		<pubDate>Thu, 19 Jan 2012 04:09:34 +0000</pubDate>
		<dc:creator>vital</dc:creator>
				<category><![CDATA[Australia]]></category>
		<category><![CDATA[Life]]></category>
		<category><![CDATA[Work]]></category>
		<category><![CDATA[tech]]></category>

		<guid isPermaLink="false">http://www.blinnov.com/?p=1512</guid>
		<description><![CDATA[Как в большой западной компании безошибочно определить соотечественника?
По синим таблицам Far Manager на экране, как же еще.

У непосвященных местных эти таблицы вызывают нечто вроде пещерного ужаса. У посвященных, но ниасиливших, кстати, возникает недоумение &#8220;как они ЭТИМ пользуются&#8221;. Асиливших пока не встречал.
]]></description>
			<content:encoded><![CDATA[<p>Как в большой западной компании безошибочно определить соотечественника?</p>
<p>По синим таблицам Far Manager на экране, как же еще.</p>
<p><img class="aligncenter size-full wp-image-1513" title="screenshot0017tv" src="http://www.blinnov.com/wp-content/uploads/2012/01/screenshot0017tv.png" alt="" width="560" height="300" /></p>
<p>У непосвященных местных эти таблицы вызывают нечто вроде пещерного ужаса. У посвященных, но ниасиливших, кстати, возникает недоумение &#8220;как они ЭТИМ пользуются&#8221;. Асиливших пока не встречал.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.blinnov.com/2012/01/19/%d0%a5%d0%be%d0%b7%d1%8f%d0%b9%d0%ba%d0%b5-%d0%bd%d0%b0-%d0%b7%d0%b0%d0%bc%d0%b5%d1%82%d0%ba%d1%83-3/ru/feed/ru/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>Злободненвое</title>
		<link>http://www.blinnov.com/2011/12/08/%d0%97%d0%bb%d0%be%d0%b1%d0%be%d0%b4%d0%bd%d0%b5%d0%bd%d0%b2%d0%be%d0%b5/ru/</link>
		<comments>http://www.blinnov.com/2011/12/08/%d0%97%d0%bb%d0%be%d0%b1%d0%be%d0%b4%d0%bd%d0%b5%d0%bd%d0%b2%d0%be%d0%b5/ru/#comments</comments>
		<pubDate>Thu, 08 Dec 2011 00:06:36 +0000</pubDate>
		<dc:creator>vital</dc:creator>
				<category><![CDATA[Life]]></category>
		<category><![CDATA[Work]]></category>

		<guid isPermaLink="false">http://www.blinnov.com/?p=1487</guid>
		<description><![CDATA[О работе, а не о том, о чем все подумали.
Иногда мне кажется, что дядька, рисующий Дилберта, незаметно сидит за соседним с моим столом

]]></description>
			<content:encoded><![CDATA[<p>О работе, а не о том, о чем все подумали.</p>
<p>Иногда мне кажется, что дядька, рисующий Дилберта, незаметно сидит за соседним с моим столом</p>
<p><a title="Dilbert.com" href="http://dilbert.com/strips/comic/2011-12-07/"><img src="http://dilbert.com/dyn/str_strip/000000000/00000000/0000000/100000/40000/4000/900/144932/144932.strip.gif" border="0" alt="Dilbert.com" /></a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.blinnov.com/2011/12/08/%d0%97%d0%bb%d0%be%d0%b1%d0%be%d0%b4%d0%bd%d0%b5%d0%bd%d0%b2%d0%be%d0%b5/ru/feed/ru/</wfw:commentRss>
		<slash:comments>10</slash:comments>
		</item>
		<item>
		<title>Сипласпласное</title>
		<link>http://www.blinnov.com/2011/07/25/%d0%a1%d0%b8%d0%bf%d0%bb%d0%b0%d1%81%d0%bf%d0%bb%d0%b0%d1%81%d0%bd%d0%be%d0%b5/ru/</link>
		<comments>http://www.blinnov.com/2011/07/25/%d0%a1%d0%b8%d0%bf%d0%bb%d0%b0%d1%81%d0%bf%d0%bb%d0%b0%d1%81%d0%bd%d0%be%d0%b5/ru/#comments</comments>
		<pubDate>Mon, 25 Jul 2011 06:40:02 +0000</pubDate>
		<dc:creator>vital</dc:creator>
				<category><![CDATA[C++]]></category>
		<category><![CDATA[Life]]></category>
		<category><![CDATA[Software design]]></category>
		<category><![CDATA[Work]]></category>

		<guid isPermaLink="false">http://www.blinnov.com/?p=1421</guid>
		<description><![CDATA[Сегодня провели с коллегой полдня в пространных рассуждениях о многопоточности и с чем ее едят.
Езь код
std::map&#60;int, bool&#62; myMap;

// Map is filled in with some data here

void SetValue(int key, bool newValue)
{
myMap[key] = newValue;
}

Небольшие ограничения: мап заполняется значениями только один раз, при запуске программы, гарантированно однопоточно. После инициализации SetValue может вызываться из разных потоков для разных ключей [...]]]></description>
			<content:encoded><![CDATA[<p>Сегодня провели с коллегой полдня в пространных рассуждениях о многопоточности и с чем ее едят.</p>
<p>Езь код</p>
<pre class="brush:cpp">std::map&lt;int, bool&gt; myMap;

// Map is filled in with some data here

void SetValue(int key, bool newValue)
{
myMap[key] = newValue;
}
</pre>
<p style="padding-left: 30px;">Небольшие ограничения: мап заполняется значениями только один раз, при запуске программы, гарантированно однопоточно. После инициализации SetValue может вызываться из разных потоков для разных ключей (то есть гонок по одному ключу быть не может). Кроме того, вызов SetValue с ключом, которого в мапе нет, исключен (т.е. невозможен).</p>
<p>С моей точки зрения, с <em>данными допущениями</em> код SetValue можно считать потокобезопасным (присвоение bool считаем атомарной операцией, не углубляясь особенно в детали). Конечно, во всех этих допущениях просвечивает некоторое джидайство (к примеру, operator[] у мапа вообще-то для вставки используется), но если их принять, то никакого криминала в подобном грубом обращении с этим STL контейнером не будет.</p>
<p>Моя аргументация тут такова &#8211; SetValue() модифицирует только значения, не изменяя состояние контейнера, поэтому для обеспечения потокобезопасности кода в данном конкретном случае необходимо и достаточно обеспечить потокобезопасность оператора присвоения для типа значения. Контр-аргумент коллеги тоже имеет под собой все основания, ведь нигде прямо не написано, что присвоение элементу мапа нового значения &#8211; операция потокобезопасное. Я парировал тем, что в MSDN четко описаны случаи инвалидации итераторов, в число которых изменение уже хранимого значения без вставки или удаления нового ключа никаким боком не входит.</p>
<p>Впрочем, мы джедаи опытные и на личности не переходим. Но в итоге трехчасовой беседы с отсылкой к исходникам STL в коде SetValue появился таки появился лок с моим каментом &#8220;Меня заставили&#8221;.</p>
<p>Я не отрицаю, что в общем случае так делать не надо. Бо и правда, первый же залетевший дятел завтра заменит мап на какую другую неведому зверюшку и все развалится при первом же неосторожном чихе. Или какой юный падаван проигнорирует жЫрные ворнинги в каментах (а ворнинги там знатные &#8211; я, в отличие от, код без комментариев не пишу) выкорчует код и без изменений применит там, где <em>не надо</em>, в результате чего и огребет как тумаков от обладателей синего меча, так и поджопников &#8211; от владельцев красного, плюс еще щелбанов от юзверей на закуску.</p>
<p>Но в том-то и дело, что в данном конкретном случае речь шла не об абстрактном алгоритме в вакууме, а о весьма конкретном случае, когда мы уже под микроскопом рассматривали логи профайлера в надежде выжать из системы еще кусочек перформанса.</p>
<p>Вопрос  &#8211; я и правда провафлил какое-нибудь условие или мне стоило стоять на своем до конца?</p>
]]></content:encoded>
			<wfw:commentRss>http://www.blinnov.com/2011/07/25/%d0%a1%d0%b8%d0%bf%d0%bb%d0%b0%d1%81%d0%bf%d0%bb%d0%b0%d1%81%d0%bd%d0%be%d0%b5/ru/feed/ru/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>Для тех, кто еще не забыл схемотехнику</title>
		<link>http://www.blinnov.com/2011/07/13/%d0%94%d0%bb%d1%8f-%d1%82%d0%b5%d1%85-%d0%ba%d1%82%d0%be-%d0%b5%d1%89%d0%b5-%d0%bd%d0%b5-%d0%b7%d0%b0%d0%b1%d1%8b%d0%bb-%d1%81%d1%85%d0%b5%d0%bc%d0%be%d1%82%d0%b5%d1%85%d0%bd%d0%b8%d0%ba%d1%83/ru/</link>
		<comments>http://www.blinnov.com/2011/07/13/%d0%94%d0%bb%d1%8f-%d1%82%d0%b5%d1%85-%d0%ba%d1%82%d0%be-%d0%b5%d1%89%d0%b5-%d0%bd%d0%b5-%d0%b7%d0%b0%d0%b1%d1%8b%d0%bb-%d1%81%d1%85%d0%b5%d0%bc%d0%be%d1%82%d0%b5%d1%85%d0%bd%d0%b8%d0%ba%d1%83/ru/#comments</comments>
		<pubDate>Wed, 13 Jul 2011 02:23:28 +0000</pubDate>
		<dc:creator>vital</dc:creator>
				<category><![CDATA[Life]]></category>
		<category><![CDATA[Work]]></category>
		<category><![CDATA[tech]]></category>
		<category><![CDATA[electronics]]></category>

		<guid isPermaLink="false">http://www.blinnov.com/?p=1417</guid>
		<description><![CDATA[Обходя интереты, нашел интересное

Вот такой вот безтрансформаторный БП.
Уже неделю не могу найти ни одной причины, по которой оно работать не будет. Все вроде бы очень просто &#8211; суровые сибирские мужики заряжают 16-вольтовый электролит (C1) прямо из розетки огрызками полупериодов. Однако сама идея заряжать электролитический конденсатор прямо из розетки вызывает у меня труднопреодолимое желание забраться под [...]]]></description>
			<content:encoded><![CDATA[<p style="text-align: left;">Обходя интереты, нашел интересное</p>
<p style="text-align: center;"><img class="aligncenter" title="Безтрансформаторный БП" src="http://www.eleccircuit.com/wp-content/uploads/2010/06/Transformerless-5-Volt-Power-Supply.gif" alt="" width="567" height="318" /></p>
<p>Вот такой вот безтрансформаторный БП.</p>
<p>Уже неделю не могу найти ни одной причины, по которой оно работать не будет. Все вроде бы очень просто &#8211; суровые сибирские мужики заряжают 16-вольтовый электролит (C1) прямо из розетки огрызками полупериодов. Однако сама идея заряжать электролитический конденсатор прямо из розетки вызывает у меня труднопреодолимое желание забраться под плинтус и не вылезать оттудова.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.blinnov.com/2011/07/13/%d0%94%d0%bb%d1%8f-%d1%82%d0%b5%d1%85-%d0%ba%d1%82%d0%be-%d0%b5%d1%89%d0%b5-%d0%bd%d0%b5-%d0%b7%d0%b0%d0%b1%d1%8b%d0%bb-%d1%81%d1%85%d0%b5%d0%bc%d0%be%d1%82%d0%b5%d1%85%d0%bd%d0%b8%d0%ba%d1%83/ru/feed/ru/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Очень, очень полезный сайт</title>
		<link>http://www.blinnov.com/2011/07/01/%d0%9e%d1%87%d0%b5%d0%bd%d1%8c-%d0%be%d1%87%d0%b5%d0%bd%d1%8c-%d0%bf%d0%be%d0%bb%d0%b5%d0%b7%d0%bd%d1%8b%d0%b9-%d1%81%d0%b0%d0%b9%d1%82/ru/</link>
		<comments>http://www.blinnov.com/2011/07/01/%d0%9e%d1%87%d0%b5%d0%bd%d1%8c-%d0%be%d1%87%d0%b5%d0%bd%d1%8c-%d0%bf%d0%be%d0%bb%d0%b5%d0%b7%d0%bd%d1%8b%d0%b9-%d1%81%d0%b0%d0%b9%d1%82/ru/#comments</comments>
		<pubDate>Fri, 01 Jul 2011 02:05:11 +0000</pubDate>
		<dc:creator>vital</dc:creator>
				<category><![CDATA[Life]]></category>
		<category><![CDATA[Work]]></category>
		<category><![CDATA[tech]]></category>
		<category><![CDATA[Fun]]></category>

		<guid isPermaLink="false">http://www.blinnov.com/?p=1413</guid>
		<description><![CDATA[Is my credit card stolen?
И главное, совершенно бесплатно.  
]]></description>
			<content:encoded><![CDATA[<p><a href="http://ismycreditcardstolen.com">Is my credit card stolen?</a></p>
<p>И главное, совершенно бесплатно. <img src='http://www.blinnov.com/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> </p>
]]></content:encoded>
			<wfw:commentRss>http://www.blinnov.com/2011/07/01/%d0%9e%d1%87%d0%b5%d0%bd%d1%8c-%d0%be%d1%87%d0%b5%d0%bd%d1%8c-%d0%bf%d0%be%d0%bb%d0%b5%d0%b7%d0%bd%d1%8b%d0%b9-%d1%81%d0%b0%d0%b9%d1%82/ru/feed/ru/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Шок и трепет</title>
		<link>http://www.blinnov.com/2011/06/29/%d0%a8%d0%be%d0%ba-%d0%b8-%d1%82%d1%80%d0%b5%d0%bf%d0%b5%d1%82/ru/</link>
		<comments>http://www.blinnov.com/2011/06/29/%d0%a8%d0%be%d0%ba-%d0%b8-%d1%82%d1%80%d0%b5%d0%bf%d0%b5%d1%82/ru/#comments</comments>
		<pubDate>Wed, 29 Jun 2011 02:12:16 +0000</pubDate>
		<dc:creator>vital</dc:creator>
				<category><![CDATA[Life]]></category>
		<category><![CDATA[Software design]]></category>
		<category><![CDATA[Work]]></category>

		<guid isPermaLink="false">http://www.blinnov.com/?p=1406</guid>
		<description><![CDATA[Android,  оказывается, не поддерживает Ad-hoc wireless networks. Причем, вовсе не потому, что эту фичу решили не реализовывать &#8211; ее, напротив, выпилили в версии 2.2
Это, доложу вам, полный пиздец.  Кажется, удельная масса кретинов в гугле, как и в большинстве крупных компаний, перевалила критическую.
Ну и как дальше жыдь, я вас спрашиваю?
]]></description>
			<content:encoded><![CDATA[<p>Android,  оказывается, не поддерживает Ad-hoc wireless networks. Причем, вовсе не потому, что эту фичу решили не реализовывать &#8211; ее, напротив, выпилили в версии 2.2</p>
<p>Это, доложу вам, полный пиздец.  Кажется, удельная масса кретинов в гугле, как и в большинстве крупных компаний, перевалила критическую.</p>
<p>Ну и как дальше жыдь, я вас спрашиваю?</p>
]]></content:encoded>
			<wfw:commentRss>http://www.blinnov.com/2011/06/29/%d0%a8%d0%be%d0%ba-%d0%b8-%d1%82%d1%80%d0%b5%d0%bf%d0%b5%d1%82/ru/feed/ru/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Теория и практика макаронолитейного дела</title>
		<link>http://www.blinnov.com/2011/03/22/%d0%a2%d0%b5%d0%be%d1%80%d0%b8%d1%8f-%d0%b8-%d0%bf%d1%80%d0%b0%d0%ba%d1%82%d0%b8%d0%ba%d0%b0-%d0%bc%d0%b0%d0%ba%d0%b0%d1%80%d0%be%d0%bd%d0%be%d0%bb%d0%b8%d1%82%d0%b5%d0%b9%d0%bd%d0%be%d0%b3%d0%be/ru/</link>
		<comments>http://www.blinnov.com/2011/03/22/%d0%a2%d0%b5%d0%be%d1%80%d0%b8%d1%8f-%d0%b8-%d0%bf%d1%80%d0%b0%d0%ba%d1%82%d0%b8%d0%ba%d0%b0-%d0%bc%d0%b0%d0%ba%d0%b0%d1%80%d0%be%d0%bd%d0%be%d0%bb%d0%b8%d1%82%d0%b5%d0%b9%d0%bd%d0%be%d0%b3%d0%be/ru/#comments</comments>
		<pubDate>Tue, 22 Mar 2011 01:06:09 +0000</pubDate>
		<dc:creator>vital</dc:creator>
				<category><![CDATA[C++]]></category>
		<category><![CDATA[Life]]></category>
		<category><![CDATA[Software design]]></category>
		<category><![CDATA[Work]]></category>

		<guid isPermaLink="false">http://www.blinnov.com/?p=1370</guid>
		<description><![CDATA[Наверное, однажды я напишу книгу. Это будет руководство о том, как писать самый страшный, ужасный и неподдерживаемый код.
Вот искренне не понимаю, чем может думать человек, который в новоиспеченный класс вводит зависимость от другого очень толстого объекта при том, что новому классу требуется лишь знать значение одного поля этого объекта. При том, что это поле в [...]]]></description>
			<content:encoded><![CDATA[<p>Наверное, однажды я напишу книгу. Это будет руководство о том, как писать самый страшный, ужасный и неподдерживаемый код.</p>
<p>Вот искренне не понимаю, чем может думать человек, который в новоиспеченный класс вводит зависимость от другого очень толстого объекта при том, что новому классу требуется лишь знать значение одного поля этого объекта. При том, что это поле в рантайме измениться не может.</p>
<pre class="brush:cpp">class MyCoolClass
{
private:
BigFatObject* m_pOtherObject;
public:
MyCoolClass(BigFatObject* _pPtr):
m_pOtherObject(_pPtr)
{
}

void DoSmth()
{
std::string sName = m_pOtherObject-&gt;GetName();
// do smth
}

void DoMoreThings()
{
std::string sName = m_pOtherObject-&gt;GetName();
// do smth
}

// and other methods. All like this.

}</pre>
<p>Вот такого вот горбатого лепят сплошь и рядом. И даже искры сомнения о том, что тут что-то не так, не проскакивает. Зато другим людям, которым посчастливится изменять BigFatObject или которые захотят переиспользовать код класса в другом месте, придется метать гром и молнии.</p>
<p>Вот объясните мне, они действительно просто не понимают, что тут нужно было передать в конструктор строку, вместо того, чтобы пихать указатель, вводя совершенно ненужные зависимости, делая при этом юнит-тестирование пыткой и превращая будущий рефакторинг в ходьбу по минному полю, заодно добавляя вопрос в времени жизни объектов?  Или же это банальное вредительство?</p>
]]></content:encoded>
			<wfw:commentRss>http://www.blinnov.com/2011/03/22/%d0%a2%d0%b5%d0%be%d1%80%d0%b8%d1%8f-%d0%b8-%d0%bf%d1%80%d0%b0%d0%ba%d1%82%d0%b8%d0%ba%d0%b0-%d0%bc%d0%b0%d0%ba%d0%b0%d1%80%d0%be%d0%bd%d0%be%d0%bb%d0%b8%d1%82%d0%b5%d0%b9%d0%bd%d0%be%d0%b3%d0%be/ru/feed/ru/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>Хозяйке на заметку</title>
		<link>http://www.blinnov.com/2011/03/17/%d0%a5%d0%be%d0%b7%d1%8f%d0%b9%d0%ba%d0%b5-%d0%bd%d0%b0-%d0%b7%d0%b0%d0%bc%d0%b5%d1%82%d0%ba%d1%83-2/ru/</link>
		<comments>http://www.blinnov.com/2011/03/17/%d0%a5%d0%be%d0%b7%d1%8f%d0%b9%d0%ba%d0%b5-%d0%bd%d0%b0-%d0%b7%d0%b0%d0%bc%d0%b5%d1%82%d0%ba%d1%83-2/ru/#comments</comments>
		<pubDate>Thu, 17 Mar 2011 04:26:45 +0000</pubDate>
		<dc:creator>vital</dc:creator>
				<category><![CDATA[Life]]></category>
		<category><![CDATA[Work]]></category>

		<guid isPermaLink="false">http://www.blinnov.com/?p=1366</guid>
		<description><![CDATA[Первый сервис-пак для Windows 7 лучше пока не ставить. Может случиться бо-бо.
]]></description>
			<content:encoded><![CDATA[<p>Первый сервис-пак для Windows 7 лучше пока не ставить. Может случиться бо-бо.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.blinnov.com/2011/03/17/%d0%a5%d0%be%d0%b7%d1%8f%d0%b9%d0%ba%d0%b5-%d0%bd%d0%b0-%d0%b7%d0%b0%d0%bc%d0%b5%d1%82%d0%ba%d1%83-2/ru/feed/ru/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Так как же правильно взвешивать Боинг?</title>
		<link>http://www.blinnov.com/2011/02/21/%d0%a2%d0%b0%d0%ba-%d0%ba%d0%b0%d0%ba-%d0%b6%d0%b5-%d0%bf%d1%80%d0%b0%d0%b2%d0%b8%d0%bb%d1%8c%d0%bd%d0%be-%d0%b2%d0%b7%d0%b2%d0%b5%d1%88%d0%b8%d0%b2%d0%b0%d1%82%d1%8c-%d0%91%d0%be%d0%b8%d0%bd%d0%b3/ru/</link>
		<comments>http://www.blinnov.com/2011/02/21/%d0%a2%d0%b0%d0%ba-%d0%ba%d0%b0%d0%ba-%d0%b6%d0%b5-%d0%bf%d1%80%d0%b0%d0%b2%d0%b8%d0%bb%d1%8c%d0%bd%d0%be-%d0%b2%d0%b7%d0%b2%d0%b5%d1%88%d0%b8%d0%b2%d0%b0%d1%82%d1%8c-%d0%91%d0%be%d0%b8%d0%bd%d0%b3/ru/#comments</comments>
		<pubDate>Sun, 20 Feb 2011 20:45:26 +0000</pubDate>
		<dc:creator>vital</dc:creator>
				<category><![CDATA[C++]]></category>
		<category><![CDATA[Life]]></category>
		<category><![CDATA[Work]]></category>

		<guid isPermaLink="false">http://www.blinnov.com/?p=1341</guid>
		<description><![CDATA[Я уже не раз вскользь замечал, что так любимые некоторыми пассажирами головомки на темы, связанные с кардинальными изменениями ландшафта острова Хонсю или оценкой количества настройщиков музыкальных инструментов на самом деле являются отличными примерами мозгового онанизма. Интересно, что хотя эти задачи не подразумевают односложных ответов, и требуют вместо них неких линий рассуждений, считается, что существуют рассуждения [...]]]></description>
			<content:encoded><![CDATA[<p>Я уже не раз вскользь замечал, что так любимые некоторыми пассажирами головомки на темы, связанные с кардинальными изменениями ландшафта острова Хонсю или оценкой количества настройщиков музыкальных инструментов на самом деле являются отличными примерами мозгового онанизма. Интересно, что хотя эти задачи не подразумевают односложных ответов, и требуют вместо них неких линий рассуждений, считается, что существуют рассуждения правильные и неправильные. И якобы ход мыслей человека, направленный на решение этих абстрактных задач выражает его способность решать задачи реальные.</p>
<p>Знаете что? Единственное, что можно сказать о человеке, успешно решающем сферические головоломки в вакуууме это то, что он умеет решать сферические головоломки в вакууме.</p>
<p>Не говоря уже о том, что считающиеся правильными линии рассуждений при поиске решения задач являются как минимум неправильными. А как максимум &#8211; опасными.</p>
<p>Возьмем уже не очень популярную задачу о взвешивании Боинга без весов. Не очень популярную потому, что &#8220;правильные ответы&#8221; уже разве что на заборах не написаны.</p>
<p>Итак, посмотрим, чего пишут в интернетах.  А пишут в интернетах всякий кошмар. Например, предлагают &#8220;приземлиться на баржу и по водоизмещению вычислить вес&#8221;. Логично, в задаче ведь не указано, что число самолетов ограничено, самолетов через сто-сто двадцать можно разработать технику посадки Боингов на баржи одним куском.</p>
<p>Другие варианты не менее веселые. Например, предлагается где-то добыть конструкторскую документацию или каталоги поставщиков и просто сложить массы всех винтиков. Ну, вы знаете, есть еще такой крайне эффективный способ точного определения количества голов в стаде &#8211; посчитать все ноги и поделить на четыре. Мысль о том, что если им посчастливится достать подобную документацию, то где-нибудь на две тысячи триста пятнадцатой странице наверняка найдется сводная таблица основных характеристик самолета, которая будет включать разблюдовку его масс, никому в голову не приходит.</p>
<p>Есть еще и деструктивные варианты, которые я по понятным причинам упоминать не буду.</p>
<p>Впрочем, правильного ответа в интернетах нет. Правильный ответ вообще сам по себе односложен и является в свою очередь вопросом:</p>
<p>&#8220;А зачем Вам нужно знать вес Боинга?&#8221;.</p>
<p>Это единственный правильный ответ.  Потому что если у Вас нет ни самолета, ни весов и Вам просто интересно, то Вам прямая дорога на сайт производителя. Если у Вас по какой-то причине самолет есть, а весов нет, и вам просто позарез знать массу вашего конкретного самолета, то я бы посоветовал Вам не компостировать людям моск и не рисковать жизнями пассажиров, а приобрести соответствующие весы, если, конечно, весь Ваш интерес не ограничивается всего лишь оценкой потенциального дохода от сдачи алюминия, из которого он построен, во вторсырье. Впрочем, даже в этом случае я тоже посоветовал бы не заниматься фигней, а обратиться за информацией к производителю: не забывайте, что современные самолеты строятся из композитных материалов и алюминия в них может оказаться неожиданно мало.</p>
<p>Я бы мог понять, если бы подобные вопросы задавались при наборе на абстрактные должности решателей задач в вакууме. Я могу даже представить, что умение оценить количество настройщиков пианино в деревне Большие Васюки может быть очень полезно для каких-нибудь бизнес-аналитиков. Но ведь их задают при найме инженеров!</p>
<p>Дело в том, что инженеры решают задачи реального мира. В реальном мире нет абстрактной необходимости взвешивать абстрактные Боинги. В реальном мире может возникнуть потребность построить весы для самолета из  говна и палок (такая потребность подразумевает, что водоемов с баржами поблизости нет).  В реальном мире есть реальная необходимость обеспечивать оптимальную загрузку самолета и не допустить его перегрузки. Эта задача, на самом деле, на пару порядков сложнее. Инженер же такую задачу решит. Причем, прошу заметить, без разбора самолета до винтика или погрузки его на баржу. Далее, я вполне могу представить, что в реальном мире может потребоваться интегрировать весы собственно в сам самолет и я могу сходу предложить пару-тройку вариантов решения такой задачи, не требующих серьезной модификации самолета. Кстати, я сильно удивлюсь, если подобное решение нигде не используется.</p>
<p>Очевидно, что во всех этих случаях решения будут абсолютно разными, и определяться с решением инженер будет именно исходя из конкретной задачи. И именно поэтому вопрос &#8220;зачем&#8221; является самым правильным ответом для такой фудзиямовской задачи.</p>
<p>И если Вы собираетесь задавать такие вопросы на собеседовании, то, пожалуйста, сначала выясните для себя, кого именно вы ищите. От этого будет зависеть правильность ответов.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.blinnov.com/2011/02/21/%d0%a2%d0%b0%d0%ba-%d0%ba%d0%b0%d0%ba-%d0%b6%d0%b5-%d0%bf%d1%80%d0%b0%d0%b2%d0%b8%d0%bb%d1%8c%d0%bd%d0%be-%d0%b2%d0%b7%d0%b2%d0%b5%d1%88%d0%b8%d0%b2%d0%b0%d1%82%d1%8c-%d0%91%d0%be%d0%b8%d0%bd%d0%b3/ru/feed/ru/</wfw:commentRss>
		<slash:comments>9</slash:comments>
		</item>
	</channel>
</rss>

