<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" media="screen" href="/~d/styles/rss2russianfull.xsl"?><?xml-stylesheet type="text/css" media="screen" href="http://feeds.feedburner.com/~d/styles/itemcontent.css"?><rss 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/" version="2.0">

<channel>
	<title>Алексей Пахунов</title>
	
	<link>http://blog.not-a-kernel-guy.com</link>
	<description>... также известный как "Not a kernel guy"</description>
	<lastBuildDate>Thu, 24 May 2012 22:00:30 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.2.1</generator>
		<atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="self" type="application/rss+xml" href="http://feeds.feedburner.com/not-a-kernel-guy" /><feedburner:info xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" uri="not-a-kernel-guy" /><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="hub" href="http://pubsubhubbub.appspot.com/" /><feedburner:feedFlare xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" href="http://add.my.yahoo.com/rss?url=http%3A%2F%2Ffeeds.feedburner.com%2Fnot-a-kernel-guy" src="http://us.i1.yimg.com/us.yimg.com/i/us/my/addtomyyahoo4.gif">Subscribe with My Yahoo!</feedburner:feedFlare><feedburner:feedFlare xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" href="http://www.newsgator.com/ngs/subscriber/subext.aspx?url=http%3A%2F%2Ffeeds.feedburner.com%2Fnot-a-kernel-guy" src="http://www.newsgator.com/images/ngsub1.gif">Subscribe with NewsGator</feedburner:feedFlare><feedburner:feedFlare xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" href="http://feeds.my.aol.com/add.jsp?url=http%3A%2F%2Ffeeds.feedburner.com%2Fnot-a-kernel-guy" src="http://o.aolcdn.com/favorites.my.aol.com/webmaster/ffclient/webroot/locale/en-US/images/myAOLButtonSmall.gif">Subscribe with My AOL</feedburner:feedFlare><feedburner:feedFlare xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" href="http://www.bloglines.com/sub/http://feeds.feedburner.com/not-a-kernel-guy" src="http://www.bloglines.com/images/sub_modern11.gif">Subscribe with Bloglines</feedburner:feedFlare><feedburner:feedFlare xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" href="http://www.netvibes.com/subscribe.php?url=http%3A%2F%2Ffeeds.feedburner.com%2Fnot-a-kernel-guy" src="http://www.netvibes.com/img/add2netvibes.gif">Subscribe with Netvibes</feedburner:feedFlare><feedburner:feedFlare xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" href="http://fusion.google.com/add?feedurl=http%3A%2F%2Ffeeds.feedburner.com%2Fnot-a-kernel-guy" src="http://buttons.googlesyndication.com/fusion/add.gif">Subscribe with Google</feedburner:feedFlare><feedburner:feedFlare xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" href="http://www.pageflakes.com/subscribe.aspx?url=http%3A%2F%2Ffeeds.feedburner.com%2Fnot-a-kernel-guy" src="http://www.pageflakes.com/ImageFile.ashx?instanceId=Static_4&amp;fileName=ATP_blu_91x17.gif">Subscribe with Pageflakes</feedburner:feedFlare><feedburner:feedFlare xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" href="http://lenta.yandex.ru/settings.xml?name=feed&amp;url=http%3A%2F%2Ffeeds.feedburner.com%2Fnot-a-kernel-guy" src="http://lenta.yandex.ru/i/addfeed.gif">?????? ? ??????.?????</feedburner:feedFlare><item>
		<title>Как перевести SDDL в двоичный дескриптор безопасности.</title>
		<link>http://blog.not-a-kernel-guy.com/2012/05/24/1338?utm_source=rss&amp;utm_medium=rss&amp;utm_campaign=%25d0%25ba%25d0%25b0%25d0%25ba-%25d0%25bf%25d0%25b5%25d1%2580%25d0%25b5%25d0%25b2%25d0%25b5%25d1%2581%25d1%2582%25d0%25b8-sddl-%25d0%25b2-%25d0%25b4%25d0%25b2%25d0%25be%25d0%25b8%25d1%2587%25d0%25bd%25d1%258b%25d0%25b9-%25d0%25b4%25d0%25b5%25d1%2581%25d0%25ba%25d1%2580%25d0%25b8%25d0%25bf%25d1%2582%25d0%25be%25d1%2580</link>
		<comments>http://blog.not-a-kernel-guy.com/2012/05/24/1338#comments</comments>
		<pubDate>Thu, 24 May 2012 22:00:30 +0000</pubDate>
		<dc:creator>Алексей Пахунов</dc:creator>
				<category><![CDATA[itblogs]]></category>
		<category><![CDATA[Маленькие хитрости]]></category>
		<category><![CDATA[Реестр]]></category>
		<category><![CDATA[PowerShell]]></category>

		<guid isPermaLink="false">http://blog.not-a-kernel-guy.com/?p=1338</guid>
		<description><![CDATA[Некторые ключи реестра хранят дескрипторы безопасности (security descriptor) в двоичной форме (REG_BINARY). Пример &#8211; значение AccessPermission, которое устанавливает дескриптор безопасности COM сервера. Редактировать такой дескриптор &#8211; одно удовольствие. Стандартный диалог редактирования двоичного значения в реестре. Тем не менее, отыскался способ как сделать это без помощи сторонних инструментов (или компилятора) &#8211; с помощью PowerShell и WMI [...]]]></description>
			<content:encoded><![CDATA[<p>Некторые ключи реестра хранят дескрипторы безопасности (security descriptor) в двоичной форме (REG_BINARY). Пример &#8211; значение <a href="http://msdn.microsoft.com/en-us/library/windows/desktop/ms688679(v=vs.85).aspx">AccessPermission</a>, которое устанавливает дескриптор безопасности COM сервера. Редактировать такой дескриптор &#8211; одно удовольствие. <img src='http://blog.not-a-kernel-guy.com/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' /> </p>
<div id="attachment_1339" class="wp-caption aligncenter" style="width: 385px"><a href="http://blog.not-a-kernel-guy.com/wp-content/uploads/2012/05/editing_reg_binary.png"><img src="http://blog.not-a-kernel-guy.com/wp-content/uploads/2012/05/editing_reg_binary.png" alt="" title="editing_reg_binary" width="375" height="327" class="size-full wp-image-1339" /></a><p class="wp-caption-text">Стандартный диалог редактирования двоичного значения в реестре.</p></div>
<p>Тем не менее, отыскался способ как сделать это без помощи сторонних инструментов (или компилятора) &#8211; с помощью PowerShell и WMI класса <a href="http://msdn.microsoft.com/en-us/library/windows/desktop/aa394403(v=vs.85).aspx">Win32_SecurityDescriptorHelper</a>. Вот так можно прочитать дескриптор из реестра и преобразовать его в <a href="http://msdn.microsoft.com/en-us/library/windows/desktop/aa379567(v=vs.85).aspx">SDDL</a>:</p>
<pre><code class="no-highlight">$key = "hklm:\SOFTWARE\Classes\AppID\{4ff35d5e-d226-4550-9248-03e7779e67de}"
$sd = (gp -Path $key).AccessPermission
$sddl = ([wmiclass]"Win32_SecurityDescriptorHelper").BinarySDToSDDL($sd).SDDL</code></pre>
<pre><code class="no-highlight">PS C:\Users\alexeypa&gt; $sddl
O:BAG:BAD:(A;;CCDC;;;IU)(A;;CCDC;;;SY)(A;;CCDC;;;BA)</code></pre>
<p>И в обратную сторону:</p>
<pre><code class="no-highlight">$binary_sd = ([wmiclass]"Win32_SecurityDescriptorHelper").SDDLToBinarySD($sddl).BinarySD
-join ($binary_sd | foreach {$_.ToString("X2")})</code></pre>
<p>И, наконец, если SDDL вам кажется китайской грамотой &#8211; поможет sddlgen.exe из Windows SDK:</p>
<div id="attachment_1340" class="wp-caption aligncenter" style="width: 522px"><a href="http://blog.not-a-kernel-guy.com/wp-content/uploads/2012/05/sddlgen.png"><img src="http://blog.not-a-kernel-guy.com/wp-content/uploads/2012/05/sddlgen.png" alt="" title="sddlgen" width="512" height="688" class="size-full wp-image-1340" /></a><p class="wp-caption-text">SDDLGen</p></div>
<div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/not-a-kernel-guy?a=niH-WtD633I:Y1uLOxZqvM0:D7DqB2pKExk"><img src="http://feeds.feedburner.com/~ff/not-a-kernel-guy?i=niH-WtD633I:Y1uLOxZqvM0:D7DqB2pKExk" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/not-a-kernel-guy/~4/niH-WtD633I" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://blog.not-a-kernel-guy.com/2012/05/24/1338/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Windows Internals, Part 1, Sixth Edition.</title>
		<link>http://blog.not-a-kernel-guy.com/2012/05/10/1326?utm_source=rss&amp;utm_medium=rss&amp;utm_campaign=windows-internals-part-1-sixth-edition</link>
		<comments>http://blog.not-a-kernel-guy.com/2012/05/10/1326#comments</comments>
		<pubDate>Fri, 11 May 2012 06:44:18 +0000</pubDate>
		<dc:creator>Алексей Пахунов</dc:creator>
				<category><![CDATA[itblogs]]></category>
		<category><![CDATA[Windows Internals book]]></category>

		<guid isPermaLink="false">http://blog.not-a-kernel-guy.com/?p=1326</guid>
		<description><![CDATA[Ух ты, оказывается, первая часть 6-ой редакции Windows Internals вышла в марте: RTM’d today: Windows Internals, Sixth Edition, Part 1! В отличие от 5-ой редакции, в список резензентов которой я, можно сказать, попал просто за компанию &#8211; главным образом потому, что работал тогда в команде Window Kernel, в этот раз я ждал возможности поучаствовать в [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://blogs.msdn.com/b/microsoft_press/archive/2012/03/14/rtm-d-today-windows-internals-sixth-edition-part-1.aspx"><img src="http://blog.not-a-kernel-guy.com/wp-content/uploads/2012/05/windows_internals_6_part1.jpg" alt="" title="windows_internals_6_part1" width="180" height="221" class="alignleft size-full wp-image-1329" /></a>Ух ты, оказывается, первая часть 6-ой редакции Windows Internals вышла в марте: <a href="http://blogs.msdn.com/b/microsoft_press/archive/2012/03/14/rtm-d-today-windows-internals-sixth-edition-part-1.aspx">RTM’d today: Windows Internals, Sixth Edition, Part 1</a>! В отличие от 5-ой редакции, в список резензентов которой я, можно сказать, попал просто за компанию &#8211; главным образом потому, что работал тогда в команде Window Kernel, в этот раз я ждал возможности поучаствовать в создании книги с нетерпением. В этот раз мне было что сказать &#8211; не даром я с Wow64 нянчился столько времени. Не смотря на это, я умудрился прошляпить рецензирование “своего” раздела про Wow64 и делал это в последную минуту &#8211; уже после того, как глава была закончена.</p>
<p>Теперь придется купить книжку, чтобы проверить какие из правок вошли в финальный вариант. В список рецензентов я, по крайней мере, попал:</p>
<div id="attachment_1328" class="wp-caption aligncenter" style="width: 462px"><a href="http://blog.not-a-kernel-guy.com/wp-content/uploads/2012/05/windows_internals_acknowledgments.jpg"><img src="http://blog.not-a-kernel-guy.com/wp-content/uploads/2012/05/windows_internals_acknowledgments.jpg" alt="" title="windows_internals_acknowledgments" width="452" height="287" class="size-full wp-image-1328" /></a><p class="wp-caption-text">Acknowledgments</p></div>
<p> <img src='http://blog.not-a-kernel-guy.com/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' /> </p>
<div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/not-a-kernel-guy?a=cwp9cfbXPkg:sFhuZAEgPos:D7DqB2pKExk"><img src="http://feeds.feedburner.com/~ff/not-a-kernel-guy?i=cwp9cfbXPkg:sFhuZAEgPos:D7DqB2pKExk" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/not-a-kernel-guy/~4/cwp9cfbXPkg" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://blog.not-a-kernel-guy.com/2012/05/10/1326/feed</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Битва титанов: Visual Studio 2010 против Sophos Antivirus.</title>
		<link>http://blog.not-a-kernel-guy.com/2012/05/04/1317?utm_source=rss&amp;utm_medium=rss&amp;utm_campaign=%25d0%25b1%25d0%25b8%25d1%2582%25d0%25b2%25d0%25b0-%25d1%2582%25d0%25b8%25d1%2582%25d0%25b0%25d0%25bd%25d0%25be%25d0%25b2-visual-studio-2010-%25d0%25bf%25d1%2580%25d0%25be%25d1%2582%25d0%25b8%25d0%25b2-sophos-antivirus</link>
		<comments>http://blog.not-a-kernel-guy.com/2012/05/04/1317#comments</comments>
		<pubDate>Fri, 04 May 2012 17:50:56 +0000</pubDate>
		<dc:creator>Алексей Пахунов</dc:creator>
				<category><![CDATA[itblogs]]></category>
		<category><![CDATA[Инструменты]]></category>
		<category><![CDATA[Программирование]]></category>
		<category><![CDATA[WTF]]></category>

		<guid isPermaLink="false">http://blog.not-a-kernel-guy.com/?p=1317</guid>
		<description><![CDATA[По рассылке пришло описание бага ну просто феерической кавайности: http://connect.microsoft.com/VisualStudio/feedback/details/649139/vs2010-does-complete-rebuild-based-on-completely-unrelated-file. Если вкраце, то присутсвие Sophos Antivirus на машине, заставляет Visual Studio делать полный билд вместо инкрементального. Почему? Потому что MSBuild полагает, что файл “%ProgramData%\Sophos\Sophos Anti-Virus\config\Config.bops” (который, понятно, ни к MSBuild, ни к собираемому проекту никак не относится) является вводом каждого target’а в проекте. По какой-то [...]]]></description>
			<content:encoded><![CDATA[<p>По рассылке пришло описание бага ну просто феерической кавайности: <a href="http://connect.microsoft.com/VisualStudio/feedback/details/649139/vs2010-does-complete-rebuild-based-on-completely-unrelated-file">http://connect.microsoft.com/VisualStudio/feedback/details/649139/vs2010-does-complete-rebuild-based-on-completely-unrelated-file</a>. Если вкраце, то присутсвие Sophos Antivirus на машине, заставляет Visual Studio делать полный билд вместо инкрементального. Почему? Потому что MSBuild полагает, что файл “%ProgramData%\Sophos\Sophos Anti-Virus\config\Config.bops” (который, понятно, ни к MSBuild, ни к собираемому проекту никак не относится) является вводом каждого target’а в проекте. По какой-то причине, этот файл обновляется очень часто, что и вызывает полную пересборку всего проекта. WTF?</p>
<div id="attachment_1320" class="wp-caption aligncenter" style="width: 210px"><a href="http://blog.not-a-kernel-guy.com/wp-content/uploads/2012/05/house_wtf.jpg"><img src="http://blog.not-a-kernel-guy.com/wp-content/uploads/2012/05/house_wtf.jpg" alt="" title="house_wtf" width="200" height="220" class="size-full wp-image-1320" /></a><p class="wp-caption-text">WTF?</p></div>
<p>Оказывается, чтобы определить зависимости между файлами в проекте, MSBuild внедряется в процессы компилятора, линкера и перехватывает чтение и запись файлов (что одновременно и гениально, и не очень умно). Sophos Antivirus, мало чем отличаясь по своей коварности от других антивирусов, также внедряется в каждый процесс на машине (и, стало быть, творит там свои черные дела). Помимо всего прочего, Sophos Antivirus читает “%ProgramData%\Sophos\Sophos Anti-Virus\config\Config.bops”. Ну а посольку делает он это от имени процесса куда внедрился, то MSBuild заносит этот конфигурационный файл в список зависимостей.</p>
<div id="attachment_1321" class="wp-caption aligncenter" style="width: 384px"><a href="http://blog.not-a-kernel-guy.com/wp-content/uploads/2012/05/house_facepalm.jpg"><img src="http://blog.not-a-kernel-guy.com/wp-content/uploads/2012/05/house_facepalm.jpg" alt="" title="house_facepalm" width="374" height="318" class="size-full wp-image-1321" /></a><p class="wp-caption-text">Facepalm</p></div>
<p>PS. Вот этот комментарий к ответу Дэна (инженера из Microsoft) с описанием в чем, собственно, проблема очень порадовал:</p>
<blockquote><p>Hello Dan,<br />
and thanks for your response.<br />
Unfortunately I was not able to comprehend your response.<br />
&#8230;
</p></blockquote>
<blockquote><p>Здраствуйте Дэн и спасибо за ваш ответ.<br />
К сожалению, я не смог понять ваш ответ.<br />
&#8230;
</p></blockquote>
<p> <img src='http://blog.not-a-kernel-guy.com/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' /> </p>
<div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/not-a-kernel-guy?a=WoxJX5bpSso:ZEHOkU10caA:D7DqB2pKExk"><img src="http://feeds.feedburner.com/~ff/not-a-kernel-guy?i=WoxJX5bpSso:ZEHOkU10caA:D7DqB2pKExk" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/not-a-kernel-guy/~4/WoxJX5bpSso" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://blog.not-a-kernel-guy.com/2012/05/04/1317/feed</wfw:commentRss>
		<slash:comments>37</slash:comments>
		</item>
		<item>
		<title>… плюс электрификация всей страны.</title>
		<link>http://blog.not-a-kernel-guy.com/2012/04/16/1311?utm_source=rss&amp;utm_medium=rss&amp;utm_campaign=%25d0%25bf%25d0%25bb%25d1%258e%25d1%2581-%25d1%258d%25d0%25bb%25d0%25b5%25d0%25ba%25d1%2582%25d1%2580%25d0%25b8%25d1%2584%25d0%25b8%25d0%25ba%25d0%25b0%25d1%2586%25d0%25b8%25d1%258f-%25d0%25b2%25d1%2581%25d0%25b5%25d0%25b9-%25d1%2581%25d1%2582%25d1%2580%25d0%25b0%25d0%25bd%25d1%258b</link>
		<comments>http://blog.not-a-kernel-guy.com/2012/04/16/1311#comments</comments>
		<pubDate>Tue, 17 Apr 2012 06:21:50 +0000</pubDate>
		<dc:creator>Алексей Пахунов</dc:creator>
				<category><![CDATA[default]]></category>
		<category><![CDATA[Всякая всячина]]></category>

		<guid isPermaLink="false">http://blog.not-a-kernel-guy.com/?p=1311</guid>
		<description><![CDATA[Попался на глаза вот такой камень в парке: Камень с розеткой. Ну а что, пожарный гидрант в лесу (на приличном расстоянии от ближайшего дома) я уже видел. Электричество тоже провели. Осталось Wi-Fi организовать и эскалатор поставить.]]></description>
			<content:encoded><![CDATA[<p>Попался на глаза вот такой камень в парке:</p>
<div id="attachment_1313" class="wp-caption aligncenter" style="width: 447px"><a href="http://blog.not-a-kernel-guy.com/wp-content/uploads/2012/04/stoneplug.jpg"><img src="http://blog.not-a-kernel-guy.com/wp-content/uploads/2012/04/stoneplug.jpg" alt="" title="stoneplug" width="437" height="600" class="size-full wp-image-1313" /></a><p class="wp-caption-text">Камень с розеткой.</p></div>
<p>Ну а что, пожарный гидрант в лесу (на приличном расстоянии от ближайшего дома) я уже видел. Электричество тоже провели. Осталось Wi-Fi организовать и эскалатор поставить.</p>
<div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/not-a-kernel-guy?a=AXey3UeDa4w:cKne77RoB6c:D7DqB2pKExk"><img src="http://feeds.feedburner.com/~ff/not-a-kernel-guy?i=AXey3UeDa4w:cKne77RoB6c:D7DqB2pKExk" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/not-a-kernel-guy/~4/AXey3UeDa4w" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://blog.not-a-kernel-guy.com/2012/04/16/1311/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>А вы знаете, что ваш браузер устарел?</title>
		<link>http://blog.not-a-kernel-guy.com/2012/04/15/1305?utm_source=rss&amp;utm_medium=rss&amp;utm_campaign=%25d0%25b0-%25d0%25b2%25d1%258b-%25d0%25b7%25d0%25bd%25d0%25b0%25d0%25b5%25d1%2582%25d0%25b5-%25d1%2587%25d1%2582%25d0%25be-%25d0%25b2%25d0%25b0%25d1%2588-%25d0%25b1%25d1%2580%25d0%25b0%25d1%2583%25d0%25b7%25d0%25b5%25d1%2580-%25d1%2583%25d1%2581%25d1%2582%25d0%25b0%25d1%2580%25d0%25b5%25d0%25bb</link>
		<comments>http://blog.not-a-kernel-guy.com/2012/04/15/1305#comments</comments>
		<pubDate>Sun, 15 Apr 2012 17:56:57 +0000</pubDate>
		<dc:creator>Алексей Пахунов</dc:creator>
				<category><![CDATA[itblogs]]></category>
		<category><![CDATA[браузеры]]></category>
		<category><![CDATA[совместимость]]></category>

		<guid isPermaLink="false">http://blog.not-a-kernel-guy.com/?p=1305</guid>
		<description><![CDATA[Вот пример, почему проверка версии браузера &#8211; зло (и адъ, и Содомъ с Гоморрой): Did you know that your Internet Explorer is out of date? Самое забавное, что это окошко нельзя закрыть. Проблема также усугубляется тем, что все это счастье показывается внутри iframe и выставить опции совместимости так просто не получается. Приходится копировать ссылку и [...]]]></description>
			<content:encoded><![CDATA[<p>Вот пример, почему проверка версии браузера &#8211; зло (и адъ, и Содомъ с Гоморрой):</p>
<div id="attachment_1306" class="wp-caption aligncenter" style="width: 310px"><a href="http://blog.not-a-kernel-guy.com/wp-content/uploads/2012/04/upgradeie.jpg"><img src="http://blog.not-a-kernel-guy.com/wp-content/uploads/2012/04/upgradeie-300x162.jpg" alt="" title="upgradeie" width="300" height="162" class="size-medium wp-image-1306" /></a><p class="wp-caption-text">Did you know that your Internet Explorer is out of date?</p></div>
<p>Самое забавное, что это окошко нельзя закрыть. Проблема также усугубляется тем, что все это счастье показывается внутри iframe и выставить опции совместимости так просто не получается. Приходится копировать ссылку и открывать страницу в отдельном окне.</p>
<p>Я вот, кстати, не понимаю. От 99% проверок на версию браузера можно было бы отказаться, если бы браузеры поддерживали проверку поддерживаемых фич. Тогда продобные проверки выглядели бы не как &#8220;если версия IE > X.Y или версия Firefox > A.B или &#8230;&#8221;, а как &#8220;если поддерживается тег video&#8221;. Вон процессоры и операционные системы делают это спокон веков: <a href="http://msdn.microsoft.com/en-us/library/windows/desktop/ms724482(v=vs.85).aspx">IsProcessorFeaturePresent()</a>.</p>
<p>PS. И тем более не понимаю, если браузеры уже поддерживают проверку поддерживаемых фич (Я просто не в курсе как обстоят дела на этом фронте).</p>
<div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/not-a-kernel-guy?a=-Jx4mWyiyH4:fm0OEPCipSc:D7DqB2pKExk"><img src="http://feeds.feedburner.com/~ff/not-a-kernel-guy?i=-Jx4mWyiyH4:fm0OEPCipSc:D7DqB2pKExk" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/not-a-kernel-guy/~4/-Jx4mWyiyH4" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://blog.not-a-kernel-guy.com/2012/04/15/1305/feed</wfw:commentRss>
		<slash:comments>10</slash:comments>
		</item>
		<item>
		<title>Иди на … (быстро-быстро).</title>
		<link>http://blog.not-a-kernel-guy.com/2012/04/12/1296?utm_source=rss&amp;utm_medium=rss&amp;utm_campaign=%25d0%25b8%25d0%25b4%25d0%25b8-%25d0%25bd%25d0%25b0-%25d0%25b1%25d1%258b%25d1%2581%25d1%2582%25d1%2580%25d0%25be-%25d0%25b1%25d1%258b%25d1%2581%25d1%2582%25d1%2580%25d0%25be</link>
		<comments>http://blog.not-a-kernel-guy.com/2012/04/12/1296#comments</comments>
		<pubDate>Thu, 12 Apr 2012 18:45:09 +0000</pubDate>
		<dc:creator>Алексей Пахунов</dc:creator>
				<category><![CDATA[default]]></category>
		<category><![CDATA[Всякая всячина]]></category>

		<guid isPermaLink="false">http://blog.not-a-kernel-guy.com/?p=1296</guid>
		<description><![CDATA[Вот! pandora.com подсунула шикарную песню &#8220;Fuck you (Very Much)&#8221; в исполнении Lily Allen: Пойду теперь в top.artlebedev.ru и буду постить её в ответ на каждый второй комментарий. . Update: в связи с наметившимся недопониманием добавлю, что песня адресуется вполне конкретной категории нетолерантных людей, включая гомофобов и ксенофобов. Этим постом, я чуть более чем полностью поддерживаю [...]]]></description>
			<content:encoded><![CDATA[<p>Вот! <a href="http://pandora.com">pandora.com</a> подсунула шикарную песню &#8220;Fuck you (Very Much)&#8221; в исполнении Lily Allen:</p>
<p><object width="480" height="360"><param name="movie" value="http://www.youtube.com/v/IpZm1TstpjQ?version=3&amp;hl=en_US" /><param name="allowFullScreen" value="true" /><param name="allowscriptaccess" value="always" /><embed src="http://www.youtube.com/v/IpZm1TstpjQ?version=3&amp;hl=en_US" type="application/x-shockwave-flash" width="480" height="360" allowscriptaccess="always" allowfullscreen="true"></embed></object></p>
<p>Пойду теперь в <a href="http://top.artlebedev.ru">top.artlebedev.ru</a> и буду постить её в ответ на каждый второй комментарий. <img src='http://blog.not-a-kernel-guy.com/wp-includes/images/smilies/icon_razz.gif' alt=':-P' class='wp-smiley' /> .</p>
<p><strong>Update</strong>: в связи с наметившимся недопониманием добавлю, что песня адресуется вполне конкретной категории нетолерантных людей, включая гомофобов и ксенофобов. Этим постом, я чуть более чем полностью поддерживаю данный посыл. <img src='http://blog.not-a-kernel-guy.com/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' /> </p>
<div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/not-a-kernel-guy?a=GaTSLExPyxI:zqixolt2xgw:D7DqB2pKExk"><img src="http://feeds.feedburner.com/~ff/not-a-kernel-guy?i=GaTSLExPyxI:zqixolt2xgw:D7DqB2pKExk" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/not-a-kernel-guy/~4/GaTSLExPyxI" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://blog.not-a-kernel-guy.com/2012/04/12/1296/feed</wfw:commentRss>
		<slash:comments>6</slash:comments>
		</item>
		<item>
		<title>История “DeCSS хайку”.</title>
		<link>http://blog.not-a-kernel-guy.com/2012/04/07/1285?utm_source=rss&amp;utm_medium=rss&amp;utm_campaign=%25d0%25b8%25d1%2581%25d1%2582%25d0%25be%25d1%2580%25d0%25b8%25d1%258f-decss-%25d1%2585%25d0%25b0%25d0%25b9%25d0%25ba%25d1%2583</link>
		<comments>http://blog.not-a-kernel-guy.com/2012/04/07/1285#comments</comments>
		<pubDate>Sun, 08 Apr 2012 06:12:31 +0000</pubDate>
		<dc:creator>Алексей Пахунов</dc:creator>
				<category><![CDATA[itblogs]]></category>
		<category><![CDATA[Копирайт]]></category>

		<guid isPermaLink="false">http://blog.not-a-kernel-guy.com/?p=1285</guid>
		<description><![CDATA[Now help me, Muse, for I wish to tell a piece of controversial math. Сет Шоен, DeCSS хайку История двенадцатилетней давности. 20 января 2000 года, судья Окружного суда Южного округа Нью-Йорка Льюис А. Каплан, рассматривая дело Universal City Studios et al. v. Reimerdes et al., выносит предварительный запрет на распространение ответчиком компьютерного кода для чтения [...]]]></description>
			<content:encoded><![CDATA[<p style="text-align: right;">Now help me, Muse, for<br />
I wish to tell a piece of<br />
controversial math.</p>
<p style="text-align: right;">Сет Шоен, DeCSS хайку</p>
<p><a href="http://www.cs.cmu.edu/~dst/DeCSS/Gallery/">История двенадцатилетней давности</a>. 20 января 2000 года, судья Окружного суда Южного округа Нью-Йорка Льюис А. Каплан, рассматривая дело Universal City Studios et al. v. Reimerdes et al., выносит предварительный запрет на распространение ответчиком компьютерного кода для чтения зашифрованных DVD. Иск против ответчика был возбужден в соответствии с положениями Digital Millenium Copyright Act.</p>
<p>Обосновывая свое решение, судья Каплан указал, что положения Первой поправки о защите свободы слова не распространяются на исполняемый исходный код. Это противоречило решению Девятого окружного апелляционного суда США по “криптографическому” делу Бернштейна, утверждающему, что исходный код является формой речи, защищаемой Первой поправкой. В своем решении суд даже процитировал код на Scheme из декларации профессора MIT Харольда Абельсона, поясняющей почему исходный код является эффективным и, иногда, предпочитаемым способом коммуникации между людьми. Позднее Шестой окружной апелляционный суд США вынес решение о том, что независимо от функциональной важности кода, его выразительная природа заслуживает защиты Первой поправки.</p>
<p><!-- more -->Возникает вопрос. Если напрямую компилируемый и исполняемый код может быть ограничен в распространении согласно положениям DMCA, как утверждает судья Каплан, но текстовое описание того же алгоритма может распространяться свободно, то где именно проходит граница? Профессор Дэвид Турецкий из университета Карнеги-Меллон создал <a href="http://www.cs.cmu.edu/~dst/DeCSS/Gallery/">“галерею CSS дешифраторов”</a> чтобы исследовать это противоречие и указать на абсурдность позиции судьи Каплан, что возможно юридически различить исходный код и другие формы письменной речи.</p>
<p>В галерее профессора собраны всевозможные формы одного и того же алгоритма расшифровки DVD: обычный код на C; код в виде GIF картинки; код, напечатанный на футболке; код на новом языке программирования, для которого (пока) не существует компилятора; несколько музыкальных версий и, наконец, поема.</p>
<p>Про последнюю, известную как <a href="http://www.cs.cmu.edu/~dst/DeCSS/Gallery/decss-haiku.txt">“DeCSS хайку”</a>, есть <a href="http://www.loyalty.org/~schoen/haiku.html">совершенно отдельная, стоящая прочтения, история</a>. Но и сама поэма тоже ничего. </p>
<blockquote><p>Now help me, Muse, for<br />
I wish to tell a piece of<br />
controversial math,</p>
<p>for which the lawyers<br />
of DVD CCA<br />
don&#8217;t forbear to sue:</p>
<p>that they alone should<br />
know or have the right to teach<br />
these skills and these rules.</p></blockquote>
<blockquote><p>(Now those six bytes, the<br />
DVD CCA says<br />
under penalty</p>
<p>of perjury, are<br />
its trade secret, and you are<br />
breaking the law if</p>
<p>you tell someone that,<br />
for instance, the Xing player<br />
used the following:</p>
<p>(далее идут заветные числа. <img src='http://blog.not-a-kernel-guy.com/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' /> )</p></blockquote>
<blockquote><p>&#8220;Energy is just<br />
the same as matter, but for<br />
a little factor,</p>
<p>speed of light by speed<br />
of light, and we are ourselves<br />
frozen energy.&#8221;</p></blockquote>
<blockquote><p>Rejoice then, get some<br />
popcorn out, and butter if<br />
you aren&#8217;t vegan.</p></blockquote>
<div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/not-a-kernel-guy?a=0U-B85V4ucU:d8zdva5eKd8:D7DqB2pKExk"><img src="http://feeds.feedburner.com/~ff/not-a-kernel-guy?i=0U-B85V4ucU:d8zdva5eKd8:D7DqB2pKExk" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/not-a-kernel-guy/~4/0U-B85V4ucU" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://blog.not-a-kernel-guy.com/2012/04/07/1285/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Автоматическая настройка яркости монитора.</title>
		<link>http://blog.not-a-kernel-guy.com/2012/03/28/1272?utm_source=rss&amp;utm_medium=rss&amp;utm_campaign=%25d0%25b0%25d0%25b2%25d1%2582%25d0%25be%25d0%25bc%25d0%25b0%25d1%2582%25d0%25b8%25d1%2587%25d0%25b5%25d1%2581%25d0%25ba%25d0%25b0%25d1%258f-%25d0%25bd%25d0%25b0%25d1%2581%25d1%2582%25d1%2580%25d0%25be%25d0%25b9%25d0%25ba%25d0%25b0-%25d1%258f%25d1%2580%25d0%25ba%25d0%25be%25d1%2581%25d1%2582%25d0%25b8-%25d0%25bc%25d0%25be</link>
		<comments>http://blog.not-a-kernel-guy.com/2012/03/28/1272#comments</comments>
		<pubDate>Thu, 29 Mar 2012 06:43:49 +0000</pubDate>
		<dc:creator>Алексей Пахунов</dc:creator>
				<category><![CDATA[itblogs]]></category>
		<category><![CDATA[Всякая всячина]]></category>

		<guid isPermaLink="false">http://blog.not-a-kernel-guy.com/?p=1272</guid>
		<description><![CDATA[Прогресс не стоит на месте. В моем новом Lenovo X220 стоит новый тачпад без нижнего ряда кнопок и с чуствительной нижней гранью. В результате, я научился: а) выразительно шипеть, безуспешно пытаясь выделить кусок текста; б) держать руки подальше от тачпада. Мотивы (помимо денежных) hardware engineers, внедривших это новшество, остались неизвестны. Другая интересная особенность этого (да [...]]]></description>
			<content:encoded><![CDATA[<p>Прогресс не стоит на месте. В моем новом Lenovo X220 стоит новый тачпад без нижнего ряда кнопок и с чуствительной нижней гранью. В результате, я научился: а) выразительно шипеть, безуспешно пытаясь выделить кусок текста; б) держать руки подальше от тачпада. Мотивы (помимо денежных) hardware engineers, внедривших это новшество, остались неизвестны.</p>
<p>Другая интересная особенность этого (да и, наверное, других моделей) ноутбука в том, что он умеет самостоятельно менять яркость экрана. Совершенно самостоятельно. Скажем, переключюсь я в редактор кода (серый фон) – яркость и контрастность экрана плавно уменьшаются. Переключась обратно в браузер (белый фон) – яркость и контрастность плавно возвращаются в норму.</p>
<p>Поскольку я сам сижу на software стороне баррикад, то мотивы software engineers, которые написали этот чудный алгоритм, мне несколько более понятны. Ради меня старались, мерзавцы. Экономили заряд батареи, наверное. Не могу не заменить однако, что успехи в создании сколь-нибудь годного к использованию искуственного интеллекта, по-прежнему ожидаются не ранее, чем через двадцать лет. О чем, вышеназванные инженеры, тоже должны быть в курсе. Могли бы и догадаться, чем закончится эта затея.</p>
<p>Короче говоря, я нашел где этот спецэффект отключается. В «Intel Control Center» выбирается «Intel HD Graphics»:</p>
<div id="attachment_1278" class="wp-caption aligncenter" style="width: 342px"><a href="http://blog.not-a-kernel-guy.com/wp-content/uploads/2012/03/intel_control_center.png"><img src="http://blog.not-a-kernel-guy.com/wp-content/uploads/2012/03/intel_control_center.png" alt="" title="intel_control_center" width="332" height="140" class="size-full wp-image-1278" /></a><p class="wp-caption-text">Intel Control Center.</p></div>
<p>В нем выбирается «Advanced Mode» (само собой):</p>
<div id="attachment_1279" class="wp-caption aligncenter" style="width: 411px"><a href="http://blog.not-a-kernel-guy.com/wp-content/uploads/2012/03/intel_hd_graphics.png"><img src="http://blog.not-a-kernel-guy.com/wp-content/uploads/2012/03/intel_hd_graphics.png" alt="" title="intel_hd_graphics" width="401" height="259" class="size-full wp-image-1279" /></a><p class="wp-caption-text">Advanced Mode \m/.</p></div>
<p>Далее, во вкладке «Power» нужно снять галочки с «Automatic Display Brightness» и «Display Power Saving Technology». Сделать это нужно для всех источников питания.</p>
<div id="attachment_1280" class="wp-caption aligncenter" style="width: 392px"><a href="http://blog.not-a-kernel-guy.com/wp-content/uploads/2012/03/automatic_display_brightness.png"><img src="http://blog.not-a-kernel-guy.com/wp-content/uploads/2012/03/automatic_display_brightness.png" alt="" title="automatic_display_brightness" width="382" height="324" class="size-full wp-image-1280" /></a><p class="wp-caption-text">Automatic Display Brightness is evil.</p></div>
<div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/not-a-kernel-guy?a=xOsGUO-H0T4:BNwvPHv2NDI:D7DqB2pKExk"><img src="http://feeds.feedburner.com/~ff/not-a-kernel-guy?i=xOsGUO-H0T4:BNwvPHv2NDI:D7DqB2pKExk" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/not-a-kernel-guy/~4/xOsGUO-H0T4" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://blog.not-a-kernel-guy.com/2012/03/28/1272/feed</wfw:commentRss>
		<slash:comments>15</slash:comments>
		</item>
		<item>
		<title>Уведомления о смене состояния.</title>
		<link>http://blog.not-a-kernel-guy.com/2012/02/21/1267?utm_source=rss&amp;utm_medium=rss&amp;utm_campaign=%25d1%2583%25d0%25b2%25d0%25b5%25d0%25b4%25d0%25be%25d0%25bc%25d0%25bb%25d0%25b5%25d0%25bd%25d0%25b8%25d1%258f-%25d0%25be-%25d1%2581%25d0%25bc%25d0%25b5%25d0%25bd%25d0%25b5-%25d1%2581%25d0%25be%25d1%2581%25d1%2582%25d0%25be%25d1%258f%25d0%25bd%25d0%25b8%25d1%258f</link>
		<comments>http://blog.not-a-kernel-guy.com/2012/02/21/1267#comments</comments>
		<pubDate>Wed, 22 Feb 2012 07:06:47 +0000</pubDate>
		<dc:creator>Алексей Пахунов</dc:creator>
				<category><![CDATA[itblogs]]></category>
		<category><![CDATA[Программирование]]></category>

		<guid isPermaLink="false">http://blog.not-a-kernel-guy.com/?p=1267</guid>
		<description><![CDATA[А давайте разберем антипаттерн &#8211; реализацию механизма уведомления о смене состояния чего-либо с помощью очереди сообщений. Для примера возьмем Session Change Notifications в Windows. Пример, как очевидно, совершенно произвольный и не имеющий никакого отношения к тому, что я их сегодня полдня ковырял. По идее, все просто. Хотим отслеживать состояние сессий &#8211; регистрируем окошко или обработчик, [...]]]></description>
			<content:encoded><![CDATA[<p>А давайте разберем антипаттерн &#8211; реализацию механизма уведомления о смене состояния чего-либо с помощью очереди сообщений. Для примера возьмем <a href="http://msdn.microsoft.com/en-us/library/windows/desktop/bb530723(v=vs.85).aspx">Session Change Notifications</a> в Windows. Пример, как очевидно, совершенно произвольный и не имеющий никакого отношения к тому, что я их сегодня полдня ковырял. <img src='http://blog.not-a-kernel-guy.com/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' /> </p>
<p>По идее, все просто. Хотим отслеживать состояние сессий &#8211; регистрируем окошко или <a href="http://msdn.microsoft.com/en-us/library/windows/desktop/ms683241(v=vs.85).aspx">обработчик</a>, куда будут посылаться уведомления о смене состояния сессий и все дела. Если присмотреться, то все не так просто. Как, к примеру, синхронизировать <a href="http://msdn.microsoft.com/en-us/library/windows/desktop/ee621014(v=vs.85).aspx">получение начального состояния всех сессий</a> и установку обработчика? Оба действия не атомарны и, следовательно, можно либо пропустить некоторые уведомления, либо получить уведомления, уже учтенные начальным состоянием сессий. Или другая проблема: состояние сессии, вычисленное по полученным уведомлениям может не соответствовать актуальному состоянию сессии. Т.е. получаем WTS_SESSION_LOGON, а сессия уже давно завершилась и даже соответствующее уведомление было послано, просто сообщение все еще сидит в очереди оконных сообщений необработанное. Именно с сессиями, такое вряд ли конечно может случиться на практике. Слишком они тяжеловесны. Но теоретически такое возможно. Хотя стресс тесты и не такое, бывает, находят.</p>
<p>Возникает вопрос, а что же делать? Одно из возможных решений &#8211; разделить доставку уведомления о смене состояния и получение текущего состояния. Получение уведомления будет означать, что состояние, возможно, поменялось. Обработчик уведомления должен будет опросить текущее состояние и сравнить его с сохраненной копией. Опять же, в моем случае, все что мне нужно было отследить &#8211; это номер сессии, присоединенной в физической консоли. Для этого есть отдельная, и очень эффективная функция &#8211; <a href="http://msdn.microsoft.com/en-us/library/windows/desktop/aa383835(v=vs.85).aspx">WTSGetActiveConsoleSessionId()</a>. Вот её полный листинг:</p>
<pre><code style="no-highlight">0:000&gt; uf kernel32!WTSGetActiveConsoleSessionId
kernel32!WTSGetActiveConsoleSessionId:
75133f49 a1d802fe7f      mov     eax,dword ptr [SharedUserData+0x2d8 (7ffe02d8)]
75133f4e c3              ret</code></pre>
<p> <img src='http://blog.not-a-kernel-guy.com/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' /> </p>
<p>При таком подходе представления обработчика о текущем состоянии гораздо ближе к реальности, однако некоторые переходы между состояниями могут быть пропущены. В прочем, для асинхронных уведомлений это возможно в любом случае.</p>
<div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/not-a-kernel-guy?a=GIdE5QqLN8w:Cw4RTVAHt0A:D7DqB2pKExk"><img src="http://feeds.feedburner.com/~ff/not-a-kernel-guy?i=GIdE5QqLN8w:Cw4RTVAHt0A:D7DqB2pKExk" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/not-a-kernel-guy/~4/GIdE5QqLN8w" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://blog.not-a-kernel-guy.com/2012/02/21/1267/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Первые две недели.</title>
		<link>http://blog.not-a-kernel-guy.com/2012/01/22/1263?utm_source=rss&amp;utm_medium=rss&amp;utm_campaign=%25d0%25bf%25d0%25b5%25d1%2580%25d0%25b2%25d1%258b%25d0%25b5-%25d0%25b4%25d0%25b2%25d0%25b5-%25d0%25bd%25d0%25b5%25d0%25b4%25d0%25b5%25d0%25bb%25d0%25b8</link>
		<comments>http://blog.not-a-kernel-guy.com/2012/01/22/1263#comments</comments>
		<pubDate>Mon, 23 Jan 2012 02:34:08 +0000</pubDate>
		<dc:creator>Алексей Пахунов</dc:creator>
				<category><![CDATA[itblogs]]></category>
		<category><![CDATA[Google]]></category>

		<guid isPermaLink="false">http://blog.not-a-kernel-guy.com/?p=1263</guid>
		<description><![CDATA[Мой первый день работы в Google случился всего две недели назад и пока у меня не получается внятно разложить свои впечатления по полочкам. Собственно говоря, толком поработать за эти две недели мне не пришлось. Первая неделя была полностью занята тренингами и прочими формальностями. Во время второй в Сиэтле случился Snopocalypse &#8211; выпало, наверное, целых два [...]]]></description>
			<content:encoded><![CDATA[<p>Мой первый день работы в Google случился всего две недели назад и пока у меня не получается внятно разложить свои впечатления по полочкам. Собственно говоря, толком поработать за эти две недели мне не пришлось. Первая неделя была полностью занята тренингами и прочими формальностями. Во время второй в Сиэтле случился <a href="http://www.youtube.com/watch?v=rhZCyQ3emQg">Snopocalypse</a> &#8211; выпало, наверное, целых два дюйма снега. А может и три. По такому случаю закрылись все школы, а большинство компаний распустили работников по домам, чтобы те со спокойной совестью могли поехать в горы кататься на лыжах по укрытым свежим снегом склонам. Поэтому буду делиться впечатлениями в порядке их прихода в голову. <img src='http://blog.not-a-kernel-guy.com/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' /> </p>
<p>Google-овский HR пытается называть себя People Operations, но, похоже, эта затея обречена на провал. Аббревиатура “HR” проще, понятней и гораздо более узнаваемая, чем непонятное, хотя и прикольно звучащее, “People Operations”. Более того, сами people operators постоянно сбиваются, то и дело называя себя HR. Как бы в отместку за это HR заваливает новых гуглеров (nooglers) кучей интранетных ссылок на важные и не очень страницы, документы и формы. К концу первого дня количество только важных ссылок (которые нужно обязательно посетить и прочитать) переваливает за два десятка, так что перспектива остаться без первого пейчека из-за какой-то незаполненной формы начинает казаться реальной.</p>
<p>Google-овский интранет как две капли воды напоминает старшего брата &#8211; Интернет. Такая же куча сайтов, актуальных и не очень страниц, документов и т.п., и все это сверху приправлено поисковиком. Все это постоянно меняется разными людьми, мигрирует туда-сюда. Нет только спама и порносайтов. Как ни странно такая организация довольно удобна, стоит только привыкнуть. </p>
<p>Про бесплатную еду, массаж и прочие радости простого гуглера все давно в курсе, как я понимаю. Вечером на кампусе сравнительно многолюдно, но люди, в основном, концентрируются в двух местах &#8211; кафе и спортзал. В одном из зданий на кампусе в Mountain View есть боулинг. Между зданиями можно ездить на велосипедах, которые щедро разбросаны по всему кампусу. На парковках есть выделенные места для электрических автомобилей. Сами электрические (в смысле полностью электрические, не гибриды) машины тоже попадаются.</p>
<p>В Google культивируется открытость &#8211; внутри компании свободно доступна информация о многих вещах, которые были бы большим секретом в других местах. Скажем, сайт показывающий текущее состояние, связность и кучу другой актуальной информации о дата центрах компании доступен всем FTE работникам компании. Каждый вечер пятницы на всю компанию транслируется TGIF meeting, на котором Ларри и Сергеем рассказывают о том, как прошла неделя и отвечают на вопросы работников.</p>
<p>С другой стороны, старательно подчеркивается, что открытость внутри компании не означает, такой же открытости за пределами компании. Информация, покидающая, компанию тщательно фильтруется. Слова “данная информация &#8211; только для внутреннего употребления” прозвучали за первые две недели не один десяток раз. </p>
<p>Шрифты в Linux по-прежнему ужасны. Даже если поставить шрифты из Windows. И если раньше я мог думать, что проблема состоит в патентованных алгоритмах, отсутствии денег или серьезных дизайнеров, готовых работать pro bono, то теперь я начинаю подозревать, что дело совсем в другом &#8211; это никого серьезно не парит. Ну подумаешь, замыленный или “грязный” шрифт. Читается же. Точно также как и растягивание 4:3 картинки в 16:9 формат, вложенные скролл-бары на web страницах (ненавижу!) или видео в 360 линий по гигабитной сетке. Стива Джобса на них нет. Ноутбуки у большинства, кстати, &#8211; все сплошь маки.</p>
<p>С Emacs, на удивление, можно жить. Особенно если поменять putty на <a href="http://code.google.com/p/mintty/">mintty</a> и ходить удаленно на Linux машину (шрифты!).</p>
<p>Пока все.</p>
<div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/not-a-kernel-guy?a=Snmt1yIbe2E:RRdfSe_gxes:D7DqB2pKExk"><img src="http://feeds.feedburner.com/~ff/not-a-kernel-guy?i=Snmt1yIbe2E:RRdfSe_gxes:D7DqB2pKExk" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/not-a-kernel-guy/~4/Snmt1yIbe2E" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://blog.not-a-kernel-guy.com/2012/01/22/1263/feed</wfw:commentRss>
		<slash:comments>21</slash:comments>
		</item>
	</channel>
</rss>

