<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" media="screen" href="/~d/styles/rss2full.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/" xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" version="2.0">

<channel>
	<title>Technogeek</title>
	
	<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>
			<atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="self" type="application/rss+xml" href="http://feeds.feedburner.com/darth_bender" /><feedburner:info uri="darth_bender" /><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="hub" href="http://pubsubhubbub.appspot.com/" /><item>
		<title>Google Nexus One и Ubuntu 10.4</title>
		<link>http://feedproxy.google.com/~r/darth_bender/~3/1fTcU517xFI/</link>
		<comments>http://technogeek.ru/2010/05/30/528/#comments</comments>
		<pubDate>Sun, 30 May 2010 20:30:04 +0000</pubDate>
		<dc:creator>Darth Bender</dc:creator>
				<category><![CDATA[Железяки]]></category>
		<category><![CDATA[Google]]></category>
		<category><![CDATA[Nexus One]]></category>
		<category><![CDATA[Ubuntu]]></category>

		<guid isPermaLink="false">http://technogeek.ru/?p=528</guid>
		<description><![CDATA[Для подключения Google Nexus One к Ubuntu 10.4 в Debug-mode вопреки тому, что написано тут: http://developer.android.com/guide/developing/device.html#setting-up.
Надо писать так:

SUBSYSTEM==&#34;usb_device&#34;, SYSFS&#123;idVendor&#125;==&#34;18d1&#34;, MODE=&#34;0666&#34;

После чего отключить устройство от USB и перезапустать сервис adb.
]]></description>
			<content:encoded><![CDATA[<p>Для подключения Google Nexus One к Ubuntu 10.4 в Debug-mode вопреки тому, что написано тут: <a href="http://developer.android.com/guide/developing/device.html#setting-up">http://developer.android.com/guide/developing/device.html#setting-up</a>.<br />
Надо писать так:</p>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;"><span style="color: #007800;">SUBSYSTEM</span>==<span style="color: #ff0000;">&quot;usb_device&quot;</span>, SYSFS<span style="color: #7a0874; font-weight: bold;">&#123;</span>idVendor<span style="color: #7a0874; font-weight: bold;">&#125;</span>==<span style="color: #ff0000;">&quot;18d1&quot;</span>, <span style="color: #007800;">MODE</span>=<span style="color: #ff0000;">&quot;0666&quot;</span></pre></div></div>

<p>После чего отключить устройство от USB и перезапустать сервис adb.</p>
]]></content:encoded>
			<wfw:commentRss>http://technogeek.ru/2010/05/30/528/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://technogeek.ru/2010/05/30/528/</feedburner:origLink></item>
		<item>
		<title>Обновление VS Event Popup Toaster</title>
		<link>http://feedproxy.google.com/~r/darth_bender/~3/DsnT5QsgXug/</link>
		<comments>http://technogeek.ru/2010/01/19/497/#comments</comments>
		<pubDate>Tue, 19 Jan 2010 01:06:37 +0000</pubDate>
		<dc:creator>Darth Bender</dc:creator>
				<category><![CDATA[Разработка ПО]]></category>
		<category><![CDATA[Add-in]]></category>
		<category><![CDATA[Event Toaster]]></category>
		<category><![CDATA[Sketch in .NET]]></category>
		<category><![CDATA[Technogeek Labs]]></category>
		<category><![CDATA[update]]></category>
		<category><![CDATA[Visual Studio]]></category>

		<guid isPermaLink="false">http://technogeek.ru/?p=497</guid>
		<description><![CDATA[Выпустил обновление VS Event Popup Toaster.
Подробности на сайте проекта.



Technogeek Labs


]]></description>
			<content:encoded><![CDATA[<p>Выпустил обновление <a href="http://labs.technogeek.ru/eventtoaster">VS Event Popup Toaster</a>.<br />
<a href="http://labs.technogeek.ru/2010/01/19/67/">Подробности на сайте проекта</a>.</p>
<table>
<tr>
<td><img src="http://labs.technogeek.ru/favicon.ico" alt="" /></td>
<td><a href="http://labs.technogeek.ru">Technogeek Labs</a></td>
</tr>
</table>
]]></content:encoded>
			<wfw:commentRss>http://technogeek.ru/2010/01/19/497/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://technogeek.ru/2010/01/19/497/</feedburner:origLink></item>
		<item>
		<title>В нашем полку прибыло</title>
		<link>http://feedproxy.google.com/~r/darth_bender/~3/ffh2V0KT-_w/</link>
		<comments>http://technogeek.ru/2009/11/09/492/#comments</comments>
		<pubDate>Sun, 08 Nov 2009 21:13:19 +0000</pubDate>
		<dc:creator>Darth Bender</dc:creator>
				<category><![CDATA[Игры]]></category>
		<category><![CDATA[Action Figures]]></category>
		<category><![CDATA[Gears of War 2]]></category>

		<guid isPermaLink="false">http://technogeek.ru/?p=492</guid>
		<description><![CDATA[




Gears of War: Locust Theron Guard


]]></description>
			<content:encoded><![CDATA[<table style="width:194px;">
<tr>
<td align="center" style="height:194px;background:url(http://picasaweb.google.com/s/c/transparent_album_background.gif) no-repeat left"><a href="http://picasaweb.google.com/petrowich/GearsOfWarLocustTheronGuard?feat=embedwebsite"><img src="http://lh4.ggpht.com/_EywOUpUsKOY/SvczKX4gqoE/AAAAAAAAAbM/E9oyXqP-y-8/s160-c/GearsOfWarLocustTheronGuard.jpg" width="160" height="160" style="margin:1px 0 0 4px;"></a></td>
</tr>
<tr>
<td style="text-align:center;font-family:arial,sans-serif;font-size:11px"><a href="http://picasaweb.google.com/petrowich/GearsOfWarLocustTheronGuard?feat=embedwebsite" style="color:#4D4D4D;font-weight:bold;text-decoration:none;">Gears of War: Locust Theron Guard</a></td>
</tr>
</table>
]]></content:encoded>
			<wfw:commentRss>http://technogeek.ru/2009/11/09/492/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://technogeek.ru/2009/11/09/492/</feedburner:origLink></item>
		<item>
		<title>Windows 7 и Power Management</title>
		<link>http://feedproxy.google.com/~r/darth_bender/~3/MJVSDut4VOs/</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>
		<feedburner:origLink>http://technogeek.ru/2009/10/27/481/</feedburner:origLink></item>
		<item>
		<title>Shared Folder в Google Docs теперь официально</title>
		<link>http://feedproxy.google.com/~r/darth_bender/~3/9N3zqc86_ig/</link>
		<comments>http://technogeek.ru/2009/10/13/478/#comments</comments>
		<pubDate>Tue, 13 Oct 2009 10:05:11 +0000</pubDate>
		<dc:creator>Darth Bender</dc:creator>
				<category><![CDATA[Интернет]]></category>
		<category><![CDATA[Google]]></category>
		<category><![CDATA[Google Apps]]></category>
		<category><![CDATA[Google Docs]]></category>

		<guid isPermaLink="false">http://technogeek.ru/?p=478</guid>
		<description><![CDATA[Не так давно, я упомянул о скрытой на тот момент возможности сервиса Google Docs открывать общий доступ к папкам и предложил решение для &#8220;включения&#8221; этой фичи посредством Google API. Теперь эти хитрости не нужны.
Shared Folders в Google Docs теперь официально.
]]></description>
			<content:encoded><![CDATA[<p>Не так давно, я упомянул о скрытой на тот момент возможности сервиса Google Docs открывать общий доступ к папкам и <a href="http://technogeek.ru/2009/09/22/449/" target="_blank">предложил решение</a> для &#8220;включения&#8221; этой фичи посредством Google API. Теперь эти хитрости не нужны.<br />
Shared Folders в Google Docs <a href="http://googledocs.blogspot.com/2009/10/shared-folders-and-more-in-google-docs.html" target="_blank">теперь официально</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://technogeek.ru/2009/10/13/478/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://technogeek.ru/2009/10/13/478/</feedburner:origLink></item>
		<item>
		<title>“Муха CC” и Seagate 7200.11</title>
		<link>http://feedproxy.google.com/~r/darth_bender/~3/V6-vIUYYNpg/</link>
		<comments>http://technogeek.ru/2009/10/01/466/#comments</comments>
		<pubDate>Thu, 01 Oct 2009 16:53:03 +0000</pubDate>
		<dc:creator>Darth Bender</dc:creator>
				<category><![CDATA[Железяки]]></category>
		<category><![CDATA[Seagate]]></category>
		<category><![CDATA[Solution]]></category>

		<guid isPermaLink="false">http://technogeek.ru/?p=466</guid>
		<description><![CDATA[Не так давно, я умудрился столкнуться с проблемой, с чьей-то легкой руки в рунете названной &#8220;Муха CC&#8221;. Этот недуг постигает жесткие диски Seagate серии 7200.11, выпущенные в конце прошлого/начале этого календарного года. Компания Seagate не очень вовремя спохватилась, выпустила новую прошивку для жестких дисков этой серии и обратила внимание пользователей, однако в некоторых случаях программа, [...]]]></description>
			<content:encoded><![CDATA[<p>Не так давно, я умудрился столкнуться с проблемой, с чьей-то легкой руки в рунете названной &#8220;Муха CC&#8221;. Этот недуг постигает жесткие диски Seagate серии 7200.11, выпущенные в конце прошлого/начале этого календарного года. Компания Seagate <a href="http://seagate.custkb.com/seagate/crm/selfservice/search.jsp?DocId=207931" target="_blank">не очень вовремя спохватилась, выпустила новую прошивку для жестких дисков этой серии и обратила внимание пользователей</a>, однако в некоторых случаях программа, призванная определить необходимость прошивки, работает некорректно, и для пущей убедительности лучше сходить на сайт производителя и <a href="https://apps1.seagate.com/rms_af_srl_chk/rms_af_serial_check_index.jsp" target="_blank">по серийному номеру определить</a>, принадлежит ли жесткий диск к бракованной партии.</p>
<p>Проблема характерна двумя типами неисправностей: либо HDD еще определяется БИОСом, но имеет нулевой объем, либо БИОСом уже не определяется (более &#8220;тяжелый&#8221; вариант), в моем случае именно это  и произошло. К нынешнему моменту про &#8220;Муху СС&#8221; уже много известно и существую методы &#8220;лечения&#8221;. Самое толковое <a href="http://people.overclockers.ru/showman/record1" target="_blank">руководство</a> написано пользователем showman, там собрано, пожалуй, больше всего информации по теме. Тем не менее, каждая поломка такого рода уникальна, и если вы столкнулись с чем-то подобным стоит почитать еще две ветки на форуме iXBT (<a href="http://forum.ixbt.com/topic.cgi?id=11:36760" target="_blank">ветка 1</a> и <a title="http://forum.ixbt.com/topic.cgi?id=11:39316" href="http://" target="_blank">ветка 2</a>) и <a href="http://forums.overclockers.ru/viewtopic.php?t=295009" target="_blank">ветку на форуме overclockers.ru</a>.</p>
<p>От себя добавлю, что пошаговое следование инструкции от showman по началу должного результата не дало. Оборвалось все при попытке первый раз  в гипертерминале увидеть приглашение к вводу команд (&#8220;F3 T&gt;&#8221;), введя комбинацию клавиш CTRL+Z. Не смотря на то, что устройство для прошивки (в смоем случае это были спаянные провод для перепрограммирования и прошивки телефонов Siemens ME/S/SE-45 <strong> </strong>и провод для соединения CD/DVD привода и звуковой карты)  было собрано нормально и &#8220;эхо&#8221; в гипертерминале корректно отображалось, в момент подключения жесткого диска комбинация CTRL+Z писала в поток &#8220;стрелку&#8221; (&#8220;→&#8221;) и никаких приглашений для ввода команд не появлялось.</p>
<p>Решил я эту проблему, перейдя сразу к шагу изоляции платы от оси HDD. Открутил 3 болта, ближних к оси, и подсунул сложенный вчетверо лист обычной бумаги A4. После этого снова включил компьютер, включил терминал, и тогда-то комбинация CTRL+Z сработала исправно.</p>
<p>Фотографии &#8220;больного&#8221; и &#8220;операционной&#8221;:</p>
<table style="width:194px;">
<tr>
<td align="center" style="height:194px;background:url(http://picasaweb.google.ru/s/c/transparent_album_background.gif) no-repeat left"><a href="http://picasaweb.google.ru/petrowich/Seagate720011?feat=embedwebsite"><img src="http://lh5.ggpht.com/_EywOUpUsKOY/SsTbrWrgvJE/AAAAAAAAAU0/Kv9qe14uCSM/s160-c/Seagate720011.jpg" width="160" height="160" style="margin:1px 0 0 4px;"></a></td>
</tr>
<tr>
<td style="text-align:center;font-family:arial,sans-serif;font-size:11px"><a href="http://picasaweb.google.ru/petrowich/Seagate720011?feat=embedwebsite" style="color:#4D4D4D;font-weight:bold;text-decoration:none;">Seagate 7200.11</a></td>
</tr>
</table>
<p>После обновления прошивки диск заработал и я полчил доступ к данным, которые, на первый взгляд, оставились целы, но злые языки твердят, что это не надолго. Потому, в качестве back-up диска был куплен WD Caviar Green объемом 1TB. С Seagate я пока повременю.</p>
]]></content:encoded>
			<wfw:commentRss>http://technogeek.ru/2009/10/01/466/feed/</wfw:commentRss>
		<slash:comments>7</slash:comments>
		<feedburner:origLink>http://technogeek.ru/2009/10/01/466/</feedburner:origLink></item>
		<item>
		<title>Google Push Email и ошибка ActiveSync 0×8000FFFF</title>
		<link>http://feedproxy.google.com/~r/darth_bender/~3/xrsIHVSKvi0/</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>
		<feedburner:origLink>http://technogeek.ru/2009/09/24/463/</feedburner:origLink></item>
		<item>
		<title>Folder Sharing в Google Docs</title>
		<link>http://feedproxy.google.com/~r/darth_bender/~3/F-tcQgA8_hI/</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>
		<feedburner:origLink>http://technogeek.ru/2009/09/22/449/</feedburner:origLink></item>
		<item>
		<title>Марк Руссинович. Pushing the Limits of Windows.</title>
		<link>http://feedproxy.google.com/~r/darth_bender/~3/dKF7o4kLoHo/</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>
		<feedburner:origLink>http://technogeek.ru/2009/07/17/444/</feedburner:origLink></item>
		<item>
		<title>Google Apps как замена Microsoft Outlook</title>
		<link>http://feedproxy.google.com/~r/darth_bender/~3/hooK-xwZQSQ/</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>
		<feedburner:origLink>http://technogeek.ru/2009/06/19/422/</feedburner:origLink></item>
	</channel>
</rss>
