<?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>Technogeek &#187; Программы</title>
	<atom:link href="http://technogeek.ru/category/software/feed/" rel="self" type="application/rss+xml" />
	<link>http://technogeek.ru</link>
	<description>by Darth Bender</description>
	<lastBuildDate>Sun, 30 May 2010 20:30:04 +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>Windows 7 и Power Management</title>
		<link>http://technogeek.ru/2009/10/27/481/</link>
		<comments>http://technogeek.ru/2009/10/27/481/#comments</comments>
		<pubDate>Tue, 27 Oct 2009 15:42:03 +0000</pubDate>
		<dc:creator>Darth Bender</dc:creator>
				<category><![CDATA[Программы]]></category>
		<category><![CDATA[Windows]]></category>
		<category><![CDATA[Windows 7]]></category>

		<guid isPermaLink="false">http://technogeek.ru/?p=481</guid>
		<description><![CDATA[Замечательная утилита PowerCFG  в Windows 7 теперь откликается и на ключ /energy , позволяющий получить в виде отчета дополнительную информацию о состоянии электропитания системы и жизни батареи ноутбука.
По-умолчанию сгененированный отчет размещается в: C:\Windows\system32\energy-report.html
]]></description>
			<content:encoded><![CDATA[<p>Замечательная утилита PowerCFG  в Windows 7 <a href="http://technet.microsoft.com/en-us/magazine/dd537557.aspx" target="_blank">теперь откликается</a> и на ключ<strong> /energy </strong>, позволяющий получить в виде отчета дополнительную информацию о состоянии электропитания системы и жизни батареи ноутбука.<br />
По-умолчанию сгененированный отчет размещается в: C:\Windows\system32\energy-report.html</p>
]]></content:encoded>
			<wfw:commentRss>http://technogeek.ru/2009/10/27/481/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Google Push Email и ошибка ActiveSync 0&#215;8000FFFF</title>
		<link>http://technogeek.ru/2009/09/24/463/</link>
		<comments>http://technogeek.ru/2009/09/24/463/#comments</comments>
		<pubDate>Thu, 24 Sep 2009 20:46:38 +0000</pubDate>
		<dc:creator>Darth Bender</dc:creator>
				<category><![CDATA[Интернет]]></category>
		<category><![CDATA[Мобильное]]></category>
		<category><![CDATA[Программы]]></category>
		<category><![CDATA[ActiveSync]]></category>
		<category><![CDATA[Google]]></category>
		<category><![CDATA[Google Apps]]></category>
		<category><![CDATA[Solution]]></category>

		<guid isPermaLink="false">http://technogeek.ru/?p=463</guid>
		<description><![CDATA[Не так давно, Google анонсировал функцию Push Email в Google Sync. Проще говоря, если раньше на Windows Mobile-based устройствах (про остальные можно прочесть по ссылке на Google Sync), при синхронизации через ActiveSync с Exchange Server, эмулятор которого был поднят на стороне Google,  можно было синхронизировать только Контакты и Календарь, теперь стала доступна Почта. Фича работает [...]]]></description>
			<content:encoded><![CDATA[<p>Не так давно, Google <a href="http://googlemobile.blogspot.com/2009/09/google-sync-now-with-push-gmail-support.html" target="_blank">анонсировал</a> функцию Push Email в <a href="http://m.google.com/sync" target="_blank">Google Sync</a>. Проще говоря, если раньше на Windows Mobile-based устройствах (про остальные можно прочесть по ссылке на Google Sync), при синхронизации через ActiveSync с Exchange Server, эмулятор которого был поднят на стороне Google,  можно было синхронизировать только Контакты и Календарь, теперь стала доступна Почта. Фича работает как для обычных GMail аккаунтов, так и для Google Apps.</p>
<p>Однако все оказалось крайне не просто. В момент первой синхронизации почта &#8220;не взлетела&#8221;, а после пересоздания &#8220;партнерства&#8221; с сервером Google и вовсе перестала работать. В статусе ActiveSync фигурировала ошибка с кодом <strong>0&#215;8000FFFF</strong>. Тем не менее, два дня бесплодных поисков увенчались успехом, и совместными усилиями решение было найдено.</p>
<p>Все дело оказалось в слешах (символ &#8220;/&#8221;), которые создает GMail при импорте писем, например из Outlook, для разделения папок и подпапок. Смена слешов на точки очень благоприятно сказалась на работоспособности синхронизации и все стало снова в норме.</p>
<p>Подробнее <a href="http://www.google.ru/support/forum/p/Google+Mobile/thread?tid=0edb7d5393c2cd9a&amp;hl=en&amp;fid=0edb7d5393c2cd9a00047458905df932" target="_blank">можно почитать тут</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://technogeek.ru/2009/09/24/463/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Folder Sharing в Google Docs</title>
		<link>http://technogeek.ru/2009/09/22/449/</link>
		<comments>http://technogeek.ru/2009/09/22/449/#comments</comments>
		<pubDate>Tue, 22 Sep 2009 14:38:30 +0000</pubDate>
		<dc:creator>Darth Bender</dc:creator>
				<category><![CDATA[Интернет]]></category>
		<category><![CDATA[Программы]]></category>
		<category><![CDATA[Разработка ПО]]></category>
		<category><![CDATA[Eclipse]]></category>
		<category><![CDATA[Google]]></category>
		<category><![CDATA[Google Docs]]></category>
		<category><![CDATA[Java]]></category>

		<guid isPermaLink="false">http://technogeek.ru/?p=449</guid>
		<description><![CDATA[До сих пор средствами Google Docs можно было открывать общий доступ только на документы, и, строго говоря, с точки зрения пользовательского интерфейса ничего не поменялось. Тем не менее, в новой редакции Google Docs API эта фича стала доступной.
Я написал небольшое приложение на Java, для автоматизации этого процесса, до тех пор пока нововведение не будет анонсировано [...]]]></description>
			<content:encoded><![CDATA[<p>До сих пор средствами Google Docs можно было открывать общий доступ только на документы, и, строго говоря, с точки зрения пользовательского интерфейса ничего не поменялось. Тем не менее, в <a title="Google Docs API" href="http://code.google.com/apis/documents/docs/3.0/developers_guide_protocol.html" target="_blank">новой редакции Google Docs API</a> эта фича стала доступной.</p>
<p>Я написал небольшое приложение на Java, для автоматизации этого процесса, до тех пор пока нововведение не будет анонсировано официально.</p>
<p>Для запуска необходимо настроить, например, Eclipse <a title="Google Docs Eclipse settings" href="http://code.google.com/apis/gdata/articles/eclipse.html" target="_blank">таким образом</a>, и в функцию <strong>main</strong> скопировать следующий код:</p>

<div class="wp_syntax"><div class="code"><pre class="java" style="font-family:monospace;">List<span style="color: #339933;">&lt;</span>String<span style="color: #339933;">&gt;</span> folderNames <span style="color: #339933;">=</span> <span style="color: #003399;">Arrays</span>.<span style="color: #006633;">asList</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;Folder1&quot;</span>, <span style="color: #0000ff;">&quot;Folder2&quot;</span>, <span style="color: #0000ff;">&quot;...&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
List<span style="color: #339933;">&lt;</span>String<span style="color: #339933;">&gt;</span> userMails <span style="color: #339933;">=</span> <span style="color: #003399;">Arrays</span>.<span style="color: #006633;">asList</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;user1@domain.com&quot;</span>, <span style="color: #0000ff;">&quot;user2@domain.com&quot;</span>, <span style="color: #0000ff;">&quot;...&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #003399;">String</span> role <span style="color: #339933;">=</span> <span style="color: #0000ff;">&quot;reader&quot;</span><span style="color: #339933;">;</span> <span style="color: #666666; font-style: italic;">// or &quot;owner&quot;, &quot;writer&quot;, &quot;peeker&quot;, &quot;none&quot;</span>
<span style="color: #003399;">String</span> appsName <span style="color: #339933;">=</span> <span style="color: #0000ff;">&quot;MyComp-MyApps-version&quot;</span><span style="color: #339933;">;</span>
<span style="color: #003399;">String</span> username <span style="color: #339933;">=</span> <span style="color: #0000ff;">&quot;username&quot;</span><span style="color: #339933;">;</span>
<span style="color: #003399;">String</span> password <span style="color: #339933;">=</span> <span style="color: #0000ff;">&quot;password&quot;</span><span style="color: #339933;">;</span>
&nbsp;
<span style="color: #000000; font-weight: bold;">if</span><span style="color: #009900;">&#40;</span><span style="color: #339933;">!</span>role.<span style="color: #006633;">equals</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;reader&quot;</span><span style="color: #009900;">&#41;</span>
<span style="color: #339933;">&amp;&amp;</span> <span style="color: #339933;">!</span>role.<span style="color: #006633;">equals</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;writer&quot;</span><span style="color: #009900;">&#41;</span>
<span style="color: #339933;">&amp;&amp;</span> <span style="color: #339933;">!</span>role.<span style="color: #006633;">equals</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;owner&quot;</span><span style="color: #009900;">&#41;</span>
<span style="color: #339933;">&amp;&amp;</span> <span style="color: #339933;">!</span>role.<span style="color: #006633;">equals</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;none&quot;</span><span style="color: #009900;">&#41;</span>
<span style="color: #339933;">&amp;&amp;</span> <span style="color: #339933;">!</span>role.<span style="color: #006633;">equals</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;peeker&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span>  <span style="color: #009900;">&#123;</span>
	<span style="color: #000000; font-weight: bold;">return</span><span style="color: #339933;">;</span>
<span style="color: #009900;">&#125;</span>
&nbsp;
DocsService client <span style="color: #339933;">=</span> <span style="color: #000000; font-weight: bold;">new</span> DocsService<span style="color: #009900;">&#40;</span>appsName<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
client.<span style="color: #006633;">setUserCredentials</span><span style="color: #009900;">&#40;</span>username, password<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
DocumentQuery query <span style="color: #339933;">=</span> <span style="color: #000000; font-weight: bold;">new</span> DocumentQuery<span style="color: #009900;">&#40;</span><span style="color: #000000; font-weight: bold;">new</span> <span style="color: #003399;">URL</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;http://docs.google.com/feeds/default/private/full/-/folder&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
DocumentListFeed resultFeed <span style="color: #339933;">=</span> client.<span style="color: #006633;">getFeed</span><span style="color: #009900;">&#40;</span>query, DocumentListFeed.<span style="color: #000000; font-weight: bold;">class</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #000000; font-weight: bold;">for</span> <span style="color: #009900;">&#40;</span>DocumentListEntry entry <span style="color: #339933;">:</span> resultFeed.<span style="color: #006633;">getEntries</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
	<span style="color: #000000; font-weight: bold;">for</span><span style="color: #009900;">&#40;</span><span style="color: #003399;">String</span> name <span style="color: #339933;">:</span> folderNames<span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
		<span style="color: #000000; font-weight: bold;">if</span><span style="color: #009900;">&#40;</span>entry.<span style="color: #006633;">getTitle</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span>.<span style="color: #006633;">getPlainText</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span>.<span style="color: #006633;">equalsIgnoreCase</span><span style="color: #009900;">&#40;</span>name<span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
			<span style="color: #000000; font-weight: bold;">for</span><span style="color: #009900;">&#40;</span><span style="color: #003399;">String</span> mail <span style="color: #339933;">:</span> userMails<span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
				AclRole aclRole <span style="color: #339933;">=</span> <span style="color: #000000; font-weight: bold;">new</span> AclRole<span style="color: #009900;">&#40;</span>role<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
				AclScope aclScope <span style="color: #339933;">=</span> <span style="color: #000000; font-weight: bold;">new</span> AclScope<span style="color: #009900;">&#40;</span>AclScope.<span style="color: #006633;">Type</span>.<span style="color: #006633;">USER</span>, mail<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
				<span style="color: #003399;">AclEntry</span> aclEntry <span style="color: #339933;">=</span> <span style="color: #000000; font-weight: bold;">new</span> <span style="color: #003399;">AclEntry</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
				aclEntry.<span style="color: #006633;">setRole</span><span style="color: #009900;">&#40;</span>aclRole<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
				aclEntry.<span style="color: #006633;">setScope</span><span style="color: #009900;">&#40;</span>aclScope<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
				client.<span style="color: #006633;">insert</span><span style="color: #009900;">&#40;</span><span style="color: #000000; font-weight: bold;">new</span> <span style="color: #003399;">URL</span><span style="color: #009900;">&#40;</span>entry.<span style="color: #006633;">getAclFeedLink</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span>.<span style="color: #006633;">getHref</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span>, aclEntry<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
			<span style="color: #009900;">&#125;</span>
		<span style="color: #009900;">&#125;</span>
	<span style="color: #009900;">&#125;</span>
	AclFeed aclFeed <span style="color: #339933;">=</span> client.<span style="color: #006633;">getFeed</span><span style="color: #009900;">&#40;</span><span style="color: #000000; font-weight: bold;">new</span> <span style="color: #003399;">URL</span><span style="color: #009900;">&#40;</span>entry.<span style="color: #006633;">getAclFeedLink</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span>.<span style="color: #006633;">getHref</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span>, AclFeed.<span style="color: #000000; font-weight: bold;">class</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
	<span style="color: #000000; font-weight: bold;">for</span> <span style="color: #009900;">&#40;</span><span style="color: #003399;">AclEntry</span> aclEntry <span style="color: #339933;">:</span> aclFeed.<span style="color: #006633;">getEntries</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
	  <span style="color: #003399;">System</span>.<span style="color: #006633;">out</span>.<span style="color: #006633;">println</span><span style="color: #009900;">&#40;</span>
		aclEntry.<span style="color: #006633;">getScope</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span>.<span style="color: #006633;">getValue</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span> <span style="color: #339933;">+</span> <span style="color: #0000ff;">&quot; (&quot;</span> <span style="color: #339933;">+</span> aclEntry.<span style="color: #006633;">getScope</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span>.<span style="color: #006633;">getType</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span> <span style="color: #339933;">+</span> <span style="color: #0000ff;">&quot;) : &quot;</span> <span style="color: #339933;">+</span> aclEntry.<span style="color: #006633;">getRole</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span>.<span style="color: #006633;">getValue</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
	<span style="color: #009900;">&#125;</span>
<span style="color: #009900;">&#125;</span></pre></div></div>

<p>Здесь списки <strong>folderNames</strong> и <strong>userMails </strong>необходимо заполнить соответствующими значениями. Параметр <strong>&#8220;&#8230;&#8221;</strong> в сигнатуре вызова функции <strong>asList</strong> &#8211; отсебятина, предназначенная просто показать, что количество параметров функции можно смело расширять. В конечном варианте когда его надо убрать. Вместо <strong>username </strong>и <strong>password </strong>вписать свои явки и пароли для доступа в к приложениям Google. Ну и роль выставить такую, какую требуется.</p>
<p>Теперь пользователи, с которыми вы разделили доступ к папке, смогут посмотреть на ее содержимое по ссылке: <a href="http://docs.google.com/#folders-shared-with-me" target="_blank">http://docs.google.com/#folders-shared-with-me</a></p>
<p>Тем не менее, не все сразу безоблачно заработает. Пользователи, которым вы разрешили доступ на изменение, не увидят созданные ими документы в этой папке. Чтобы все заработало как полагается, им необходимо добавить вас в соавторы их документов, а вам необходимо будет перетащить эти документы из общего списка в расшареную папку.</p>
]]></content:encoded>
			<wfw:commentRss>http://technogeek.ru/2009/09/22/449/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Марк Руссинович. Pushing the Limits of Windows.</title>
		<link>http://technogeek.ru/2009/07/17/444/</link>
		<comments>http://technogeek.ru/2009/07/17/444/#comments</comments>
		<pubDate>Fri, 17 Jul 2009 09:37:07 +0000</pubDate>
		<dc:creator>Darth Bender</dc:creator>
				<category><![CDATA[Программы]]></category>
		<category><![CDATA[Windows]]></category>

		<guid isPermaLink="false">http://technogeek.ru/?p=444</guid>
		<description><![CDATA[В рамках выхода 5-го издания Windows Internals Марк Руссинович выпускает статьи под общим названием  Pushing the Limits of Windows. На текущий момент есть 4 статьи:
Pushing the Limits of Windows: Physical Memory
Pushing the Limits of Windows: Virtual Memory
Pushing the Limits of Windows: Paged and Nonpaged Pool
Pushing the Limits of Windows: Process and Threads
Хорошие статьи. Рекомнедую.
]]></description>
			<content:encoded><![CDATA[<p>В рамках выхода 5-го издания <a href="http://www.amazon.com/Windows%C2%AE-Internals-Including-Windows-PRO-Developer/dp/0735625301/ref=sr_1_1?ie=UTF8&amp;s=books&amp;qid=1247819965&amp;sr=8-1">Windows Internals</a> Марк Руссинович выпускает статьи под общим названием  <strong>Pushing the Limits of Windows</strong>. На текущий момент есть 4 статьи:</p>
<p><a href="http://blogs.technet.com/markrussinovich/archive/2008/07/21/3092070.aspx" target="_blank">Pushing the Limits of Windows: Physical Memory</a></p>
<p><a href="http://blogs.technet.com/markrussinovich/archive/2008/11/17/3155406.aspx" target="_blank">Pushing the Limits of Windows: Virtual Memory</a></p>
<p><a href="http://blogs.technet.com/markrussinovich/archive/2009/03/26/3211216.aspx" target="_blank">Pushing the Limits of Windows: Paged and Nonpaged Pool</a></p>
<p><a href="http://blogs.technet.com/markrussinovich/archive/2009/07/08/3261309.aspx" target="_blank">Pushing the Limits of Windows: Process and Threads</a></p>
<p>Хорошие статьи. Рекомнедую.</p>
]]></content:encoded>
			<wfw:commentRss>http://technogeek.ru/2009/07/17/444/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Google Apps как замена Microsoft Outlook</title>
		<link>http://technogeek.ru/2009/06/19/422/</link>
		<comments>http://technogeek.ru/2009/06/19/422/#comments</comments>
		<pubDate>Fri, 19 Jun 2009 13:27:29 +0000</pubDate>
		<dc:creator>Darth Bender</dc:creator>
				<category><![CDATA[Интернет]]></category>
		<category><![CDATA[Мобильное]]></category>
		<category><![CDATA[Программы]]></category>
		<category><![CDATA[Google]]></category>
		<category><![CDATA[Google Apps]]></category>

		<guid isPermaLink="false">http://technogeek.ru/?p=422</guid>
		<description><![CDATA[Вот и пришло время объяснить, к чему были посты про Google Apps. Я предпринял попытку переползти от старого доброго Outlook, которым пользуюсь начиная с 97 офиса, в лоно cloud applications, под крыло Google Applications. Забегая немного вперед, скажу, что мне это удалось. Так как смысла куда-то переползать, получая ту же функциональность, но через другой сервис, [...]]]></description>
			<content:encoded><![CDATA[<p style="text-align: justify;">Вот и пришло время объяснить, к чему были <a href="http://technogeek.ru/tag/google-apps/">посты про Google Apps</a>. Я предпринял попытку переползти от старого доброго Outlook, которым пользуюсь начиная с 97 офиса, в лоно cloud applications, под крыло Google Applications. Забегая немного вперед, скажу, что мне это удалось. Так как смысла куда-то переползать, получая ту же функциональность, но через другой сервис, особого нет. Потому надо сначала взвесить все положительные и отрицательные черты, присущие Outlook, и понять к чему стремиться.</p>
<p style="text-align: justify;">Pro:</p>
<ol style="text-align: justify;">
<li> Отправка/получение почты нескольких аккаунтов.</li>
<li>Календарь с возможностью публикации в интернет.</li>
<li>Организация контактов.</li>
<li>Возможность синхронизации всего вышеперечисленного с мобильным устройством.</li>
<li>Чтение RSS в offline.</li>
</ol>
<p style="text-align: justify;">Contra:</p>
<ol style="text-align: justify;">
<li>Невозможность оперативно получить доступ к календарю/контактам/письмам с других машин или мобильного устройства (Miscrosoft Exchange Server по причине его дороговизны как, безусловно, решение, не рассматривается).</li>
</ol>
<p style="text-align: justify;">Детали того, как я выбирал между разным, как мучился в выборе и чем руководствовался, я опущу, возможно оставлю это на одну из следующих заметок. В сухом остатке я пришел к тому, о чем упомянул в заглавии.</p>
<p style="text-align: justify;">Итак Google Applications. С сохранением всех Pro, изничтожая Contra.</p>
<ul style="text-align: justify;">
<li>Первым делом, <a href="http://technogeek.ru/2008/09/23/211/" target="_blank">настраиваем Google Applications  на своем домене</a>. Теперь у нас есть Mail/Calendar/Docs/Talk/Contacs не на gamil.com, а на выбранном нами домене. Почту из старых аккаунтов можно загрузить программой <a href="http://code.google.com/p/google-email-uploader/" target="_blank">GMail Uploader</a>. Кто не готов поднимать приложения на своем домене, этот пункт может смело пропустить и настроить все для стандартных сервисов Google.</li>
<li> Далее ставим из <a href="http://pack.google.com/intl/en/pack_installer.html" target="_blank">Google Pack</a>: Google Chrome исключительно для сервисов Google Apps и, собственно, сами Google Apps, которые на рабочем столе создадут полезные иконки, о них позже, и заменят mail-клиент по-умолчанию на GMail.</li>
<li> Третьим пунктом <a href="http://technogeek.ru/2009/02/05/310/" target="_blank">включаем из Chrome Offline</a> для GMail, Calendar и, если надо, Docs. Плюс, исследуем возможность включения Offline в Google Reader перед отключением связи. Он скачивает все сообщения и можно RSS читать offline. Безусловно, есть некоторое неудобство в том, что надо включать режим stanalone каждый раз руками.</li>
<li> Затем <a href="http://www.google.com/support/a/bin/answer.py?hl=en&amp;answer=138652" target="_blank">настраиваем в Active Sync на мобильном устройстве синхронизацию контактов и календаря</a> с Google Apps сервером. И устанавливаем на кпк Mobile Google Apps, настроив их на использование собственного домена.</li>
</ul>
<p style="text-align: justify;">Казалось бы все. Но недалеко от каждой бочки меда, если присмотреться, можно обнаружить ложку дегтя. Все дело в ярлыках, которые создал инсталятор Google Apps, о них я писал выше.</p>
<p style="text-align: justify;">Дело в том, что приложение Google Apps отчего-то ничего не знает об активации Offline на сервисах, и когда мы решаем воспользоваться, например, почтовым клиентом по-умолчанию, при отсутствии связи с интернетом, получаем стандартную ошибку о том, что страница не может быть найдена. Нелогично и обидно, но не нерешаемо.</p>
<p style="text-align: justify;">Во-первых, можно в настройках Offline каждого сервиса создать на рабочем столе ярлыки на эти сервисы, но это не очень удобно &#8211; обилие одинаковых ярлыков не может не огорчать.<br />
Во-вторых, можно поковырять реестр и настроить клиент по-умолчанию на использование offline версии.<br />
Вторым путем я и пошел. Прикинув все возможные варианты я решил, что клиент по умолчанию будет открывать offline версию почту в Google Chrome, а ссылки &#8220;mailto:&#8221; его зависимую версию через Google Apps. Поскольку второе уже было настроено самими Google Apps, надо было поменять только первое.</p>
<p style="text-align: justify;">Для этого отрываем редактор реестра и идем к ключу command и меняем там значение (Default) на значение из Offline ярлыка:</p>

<div class="wp_syntax"><div class="code"><pre class="reg" style="font-family:monospace;"><span style="color: #000000;">&#91;</span><span style="color: #800000;">HKEY_LOCAL_MACHINE</span>\SOFTWARE\Clients\Mail\Google Apps <span style="color: #000000;">&#40;</span>your_domain.tld<span style="color: #000000;">&#41;</span>\shell\open\command<span style="color: #000000;">&#93;</span>
<span style="">@</span><span style="color: #000000;">=</span>&quot;
\chrome.exe --app<span style="color: #000000;">=</span>https://mail.google.com/a/your_domain.tld/&quot;</pre></div></div>

<p>Для изменения поведения ссылок &#8220;mailto:&#8221; устанавливаем схожее, но с учетом адресата отправителя, в ключе:</p>

<div class="wp_syntax"><div class="code"><pre class="reg" style="font-family:monospace;"><span style="color: #000000;">&#91;</span><span style="color: #800000;">HKEY_LOCAL_MACHINE</span>\SOFTWARE\Clients\Mail\Google Apps <span style="color: #000000;">&#40;</span>your_domain.tld<span style="color: #000000;">&#41;</span>\Protocols\mailto\shell\open\command<span style="color: #000000;">&#93;</span></pre></div></div>

<p>Вообще, существуют два типа ярлыков.</p>
<p>На <strong>Google Chrome</strong>:<br />
Почта:</p>

<div class="wp_syntax"><div class="code"><pre class="dos" style="font-family:monospace;">&quot;&lt;Path_to_Chrome&gt;\chrome.exe --app=https://mail.google.com/a/your_domain.tld/&quot;
&quot;&lt;Path_to_Chrome&gt;\chrome.exe --app=https://mail.google.com/&quot;</pre></div></div>

<p>Календарь:</p>

<div class="wp_syntax"><div class="code"><pre class="dos" style="font-family:monospace;">&quot;&lt;Path_to_Chrome&gt;\chrome.exe --app=https://calendar.google.com/a/your_domain.tld/
&quot;&lt;Path_to_Chrome&gt;\chrome.exe --app=https://calendar.google.com/&quot;</pre></div></div>

<p>Документы:</p>

<div class="wp_syntax"><div class="code"><pre class="dos" style="font-family:monospace;">&quot;&lt;Path_to_Chrome&gt;\chrome.exe --app=https://docs.google.com/a/your_domain.tld/
&quot;&lt;Path_to_Chrome&gt;\chrome.exe --app=https://docs.google.com/&quot;</pre></div></div>

<p>И на <strong>Google Apps</strong>:<br />
Почта:</p>

<div class="wp_syntax"><div class="code"><pre class="dos" style="font-family:monospace;">&quot;&lt;Path_to_Apps&gt;\googleapps.exe --mail.google.com --domain=your_domain.tld&quot;
&quot;&lt;Path_to_Apps&gt;\googleapps.exe --mail.google.com&quot;</pre></div></div>

<p>Календарь:</p>

<div class="wp_syntax"><div class="code"><pre class="dos" style="font-family:monospace;">&quot;&lt;Path_to_Apps&gt;\googleapps.exe --calendar.google.com --domain=your_domain.tld&quot;
&quot;&lt;Path_to_Apps&gt;\googleapps.exe --calendar.google.com&quot;</pre></div></div>

<p>Документы:</p>

<div class="wp_syntax"><div class="code"><pre class="dos" style="font-family:monospace;">&quot;&lt;Path_to_Apps&gt;\googleapps.exe --docs.google.com --domain=your_domain.tld&quot;
&quot;&lt;Path_to_Apps&gt;\googleapps.exe --docs.google.com&quot;</pre></div></div>

<p style="text-align: justify;">
Соответственно и пользоваться ими можно в зависимости от ситуации.</pre>
]]></content:encoded>
			<wfw:commentRss>http://technogeek.ru/2009/06/19/422/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Google Apps Contacts. Service not available.</title>
		<link>http://technogeek.ru/2009/06/17/418/</link>
		<comments>http://technogeek.ru/2009/06/17/418/#comments</comments>
		<pubDate>Wed, 17 Jun 2009 12:30:56 +0000</pubDate>
		<dc:creator>Darth Bender</dc:creator>
				<category><![CDATA[Интернет]]></category>
		<category><![CDATA[Мобильное]]></category>
		<category><![CDATA[Программы]]></category>
		<category><![CDATA[Google]]></category>
		<category><![CDATA[Google Apps]]></category>

		<guid isPermaLink="false">http://technogeek.ru/?p=418</guid>
		<description><![CDATA[Сегодня методом тыка установил, что если при попытке доступа к Google Applications Standalone Contact Manager (http://google.com/contacts/a/&#60;your_domain.tld&#62;) возникает ошибка &#8220;Service is not available for &#60;your_domain.tld&#62;&#8221;, то надо действовать так:

 Зайти на https://www.google.com/a/cpanel/&#60;your_domain.tld&#62;/ContactsSettings .
Выбрать &#8220;Disable Contacts&#8221;.
После того как контакты, якобы, отключатся, перейти на главную страницу.

Voilà:

Осталось только убедиться, что они и действительно &#8220;Active&#8221;, и настроить синхронизацию с Windows [...]]]></description>
			<content:encoded><![CDATA[<p>Сегодня методом тыка установил, что если при попытке доступа к Google Applications Standalone Contact Manager (http://google.com/contacts/a/&lt;your_domain.tld&gt;) возникает ошибка &#8220;Service is not available for &lt;your_domain.tld&gt;&#8221;, то надо действовать так:</p>
<ol>
<li> Зайти на https://www.google.com/a/cpanel/&lt;your_domain.tld&gt;/ContactsSettings .</li>
<li>Выбрать &#8220;Disable Contacts&#8221;.</li>
<li>После того как контакты, якобы, отключатся, перейти на главную страницу.</li>
</ol>
<p>Voilà:</p>
<p><img class="alignnone size-full wp-image-419" title="ga_cntcts" src="http://technogeek.ru/wp-content/uploads/2009/06/ga_cntcts.png" alt="ga_cntcts" width="166" height="28" /></p>
<p>Осталось только убедиться, что они и действительно &#8220;Active&#8221;, и настроить <a href="http://technogeek.ru/2009/03/03/342/" target="_blank">синхронизацию с Windows Mobile-based устройством</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://technogeek.ru/2009/06/17/418/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Eclipse Tips #1</title>
		<link>http://technogeek.ru/2009/05/21/377/</link>
		<comments>http://technogeek.ru/2009/05/21/377/#comments</comments>
		<pubDate>Thu, 21 May 2009 11:10:55 +0000</pubDate>
		<dc:creator>Darth Bender</dc:creator>
				<category><![CDATA[Программы]]></category>
		<category><![CDATA[Eclipse]]></category>
		<category><![CDATA[Plug-in]]></category>

		<guid isPermaLink="false">http://technogeek.ru/?p=377</guid>
		<description><![CDATA[Столкнувшись с разработкой plug-in для IDE Eclipse решил завести отдельную тему этому посвященную.
В первом выпуске немного о menuContribution, commands, Preferences Pages и PreferenceStorage.
Переход от action к commands  для расширения GUI оказался очень продуктивным. Но, по моему мнению, главным преимуществом является, как раз, обработка команд. Command Handlers отвечают за выполнение команды, однако таких обработчиков может [...]]]></description>
			<content:encoded><![CDATA[<p>Столкнувшись с разработкой plug-in для IDE Eclipse решил завести отдельную тему этому посвященную.<br />
В первом выпуске немного о menuContribution, commands, Preferences Pages и PreferenceStorage.</p>
<p>Переход от action к commands  для расширения GUI оказался очень продуктивным. Но, по моему мнению, главным преимуществом является, как раз, обработка команд. Command Handlers отвечают за выполнение команды, однако таких обработчиков может быть много, и каждый становится активным и обрабатывает команду при определенных условиях.</p>
<p>Подробнее можно почитать тут: <a href="http://blog.eclipse-tips.com/2009/01/commands-part-1-actions-vs-commands.html">http://blog.eclipse-tips.com/2009/01/commands-part-1-actions-vs-commands.html</a></p>
<p>В качестве, скорее, памятки основные locationURI для menuContribution и еще всего в кучу.</p>
<p>Для главного меню:<br />
<img src="http://technogeek.ru/wp-content/uploads/2009/05/eclipse-mainmenu.png" alt="eclipse-mainmenu" title="eclipse-mainmenu" width="559" height="35" class="alignleft size-full wp-image-382" /></p>

<div class="wp_syntax"><div class="code"><pre class="xml" style="font-family:monospace;">menu:org.eclipse.ui.main.menu</pre></div></div>

<p>Для всплывающего меню:<br />
<img src="http://technogeek.ru/wp-content/uploads/2009/05/eclipse-popup.png" alt="eclipse-popup" title="eclipse-popup" width="326" height="169" class="alignleft size-full wp-image-383" /></p>

<div class="wp_syntax"><div class="code"><pre class="xml" style="font-family:monospace;">popup:org.eclipse.ui.popup.any</pre></div></div>

<p>Для панели инструментов, как в примере по ссылке выше:</p>

<div class="wp_syntax"><div class="code"><pre class="xml" style="font-family:monospace;">toolbar:org.eclipse.ui.main.toolbar</pre></div></div>

<p>Для обработчика всплывающего меню в редакторе Java проверка, что именно редактор Java активен:</p>

<div class="wp_syntax"><div class="code"><pre class="xml" style="font-family:monospace;"><span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;activeWhen<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
         <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;with</span> <span style="color: #000066;">variable</span>=<span style="color: #ff0000;">&quot;activeEditorId&quot;</span><span style="color: #000000; font-weight: bold;">&gt;</span></span>
       		<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;equals</span> <span style="color: #000066;">value</span>=<span style="color: #ff0000;">&quot;org.eclipse.jdt.ui.CompilationUnitEditor&quot;</span><span style="color: #000000; font-weight: bold;">/&gt;</span></span>
    	 <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/with<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/activeWhen<span style="color: #000000; font-weight: bold;">&gt;</span></span></span></pre></div></div>

<p>О создании собственных Preferences Pages в настройках Eclipse подробно тут: <a href="http://www.eclipsepluginsite.com/preference-pages.html">http://www.eclipsepluginsite.com/preference-pages.html</a></p>
]]></content:encoded>
			<wfw:commentRss>http://technogeek.ru/2009/05/21/377/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Sketch in .NET VS Event Toaster</title>
		<link>http://technogeek.ru/2009/03/24/350/</link>
		<comments>http://technogeek.ru/2009/03/24/350/#comments</comments>
		<pubDate>Tue, 24 Mar 2009 18:05:59 +0000</pubDate>
		<dc:creator>Darth Bender</dc:creator>
				<category><![CDATA[Программы]]></category>
		<category><![CDATA[Разработка ПО]]></category>
		<category><![CDATA[Add-in]]></category>
		<category><![CDATA[Event Toaster]]></category>
		<category><![CDATA[Sketch in .NET]]></category>
		<category><![CDATA[update]]></category>
		<category><![CDATA[Visual Studio]]></category>
		<category><![CDATA[VS 2005]]></category>

		<guid isPermaLink="false">http://technogeek.ru/?p=350</guid>
		<description><![CDATA[Как бы это не было смешно, анонсированное в июле прошлого года обновление Sketch in .NET Visual Studio Event Toaster пролежало все это время со статусом Hidden.
Но, как говориться, лучше поздно, чем никогда.
Исправляю свою ошибку, вот правильная ссылка на релиз:
http://vspopuptoaster.codeplex.com/Release/ProjectReleases.aspx?ReleaseId=15414
Страница проекта:
http://vspopuptoaster.codeplex.com/
]]></description>
			<content:encoded><![CDATA[<p>Как бы это не было смешно, <a href="http://technogeek.ru/2008/07/17/149/">анонсированное</a> в июле прошлого года обновление <a href="http://technogeek.ru/2008/05/16/126/">Sketch in .NET Visual Studio Event Toaster</a> пролежало все это время со статусом Hidden.<br />
Но, как говориться, лучше поздно, чем никогда.</p>
<p>Исправляю свою ошибку, вот правильная ссылка на релиз:<br />
<a href="http://vspopuptoaster.codeplex.com/Release/ProjectReleases.aspx?ReleaseId=15414">http://vspopuptoaster.codeplex.com/Release/ProjectReleases.aspx?ReleaseId=15414</a></p>
<p>Страница проекта:<br />
<a href="http://vspopuptoaster.codeplex.com/">http://vspopuptoaster.codeplex.com/</a></p>
]]></content:encoded>
			<wfw:commentRss>http://technogeek.ru/2009/03/24/350/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Смена Volume Licensing Key в Windows XP</title>
		<link>http://technogeek.ru/2009/03/19/347/</link>
		<comments>http://technogeek.ru/2009/03/19/347/#comments</comments>
		<pubDate>Thu, 19 Mar 2009 14:36:07 +0000</pubDate>
		<dc:creator>Darth Bender</dc:creator>
				<category><![CDATA[Программы]]></category>
		<category><![CDATA[Windows XP]]></category>

		<guid isPermaLink="false">http://technogeek.ru/?p=347</guid>
		<description><![CDATA[Как сменить Volume Licensing Product Key в Windows XP:
http://www.petri.co.il/change_the_serial_in_windows_xp.htm
]]></description>
			<content:encoded><![CDATA[<p>Как сменить Volume Licensing Product Key в Windows XP:</p>
<p><a href="http://www.petri.co.il/change_the_serial_in_windows_xp.htm">http://www.petri.co.il/change_the_serial_in_windows_xp.htm</a></p>
]]></content:encoded>
			<wfw:commentRss>http://technogeek.ru/2009/03/19/347/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Goole Apps for Mobile Devices</title>
		<link>http://technogeek.ru/2009/03/03/342/</link>
		<comments>http://technogeek.ru/2009/03/03/342/#comments</comments>
		<pubDate>Tue, 03 Mar 2009 15:34:08 +0000</pubDate>
		<dc:creator>Darth Bender</dc:creator>
				<category><![CDATA[Мобильное]]></category>
		<category><![CDATA[Программы]]></category>
		<category><![CDATA[ActiveSync]]></category>
		<category><![CDATA[Google]]></category>
		<category><![CDATA[Google Apps]]></category>
		<category><![CDATA[Windows Mobile]]></category>

		<guid isPermaLink="false">http://technogeek.ru/?p=342</guid>
		<description><![CDATA[В Google Apps теперь есть поддержка мобильных устройств.
Помимо устанавливаемой Goole Toolbar на экран Today, можно включить соответствующий сервис в настройках домена, и настроить ActiveSync в мобильном устройстве (эмулируется подключение к Exchange Server). На текущий момент поддерживается синхронизация только &#8220;Календаря&#8221; и &#8220;Контактов&#8221;.
Тем не менее, не все проходит гладко. WM 6.1 испытывает определенные трудности при синхронизации сразу [...]]]></description>
			<content:encoded><![CDATA[<p>В Google Apps теперь есть поддержка мобильных устройств.<br />
Помимо <a href="http://www.google.com/mobile/">устанавливаемой Goole Toolbar на экран Today</a>, можно включить соответствующий сервис в настройках домена, и настроить ActiveSync в мобильном устройстве (эмулируется подключение к Exchange Server). На текущий момент поддерживается синхронизация только &#8220;Календаря&#8221; и &#8220;Контактов&#8221;.</p>
<p>Тем не менее, не все проходит гладко. WM 6.1 испытывает определенные трудности при синхронизации сразу с двумя источниками. Вылазит <a href="http://www.google.com/search?hl=en-GB&#038;q=ActiveSync+0x86000107&#038;sourceid=navclient-ff&#038;rlz=1B3GGGL_enRU307RU307&#038;ie=UTF-8">пресловутая ошибка 0&#215;86000107</a>. Происходит это не регулярно, но часто. Адекватного решения я пока не нашел. Разрыв партнерства помогает только на один раз.</p>
]]></content:encoded>
			<wfw:commentRss>http://technogeek.ru/2009/03/03/342/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
	</channel>
</rss>
