<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" media="screen" href="/~d/styles/atom10full.xsl"?><?xml-stylesheet type="text/css" media="screen" href="http://feeds.feedburner.com/~d/styles/itemcontent.css"?><feed xmlns="http://www.w3.org/2005/Atom" xmlns:openSearch="http://a9.com/-/spec/opensearch/1.1/" xmlns:georss="http://www.georss.org/georss" xmlns:gd="http://schemas.google.com/g/2005" xmlns:thr="http://purl.org/syndication/thread/1.0" xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" gd:etag="W/&quot;A0IFQH05eSp7ImA9WhRVGU0.&quot;"><id>tag:blogger.com,1999:blog-2391037223319513388</id><updated>2012-01-18T09:58:31.321-08:00</updated><category term="Visual Studio" /><category term="PropertyGrid" /><category term="finances" /><category term="xmlns" /><category term="tools" /><category term="live" /><category term="tsql" /><category term="news" /><category term="bug" /><category term="free" /><category term="interesting" /><category term="dotnetnuke" /><category term="vs2008" /><category term="xmldocument" /><category term="ultimate" /><category term="DataTable" /><category term="jpg" /><category term="upgrade" /><category term="service" /><category term="intuition" /><category term="ddms" /><category term="threading" /><category term="chrome" /><category term="www" /><category term="module" /><category term="xmltextwriter" /><category term="set" /><category term="mouse" /><category term="taxes" /><category term="in plain english" /><category term="vc2005" /><category term="extension" /><category term="spam" /><category term="rss" /><category term="apps" /><category term="radiobutton" /><category term="gdata" /><category term="resource" /><category term="video" /><category term="email" /><category term="mashup" /><category term="c++" /><category term="training" /><category term="2008" /><category term="prism" /><category term="rant" /><category term="InitInstance" /><category term="facebook" /><category term="flashing" /><category term="launchy" /><category term="gafyd" /><category term="java" /><category term="heroes happen here" /><category term="PathEditor" /><category term="theme" /><category term="cartoon" /><category term="graphics" /><category term="controlly" /><category term="whitehart" /><category term="format" /><category term="stackpanel" /><category term="sp2" /><category term="mvc" /><category term="ui" /><category term="authorize.net" /><category term="1337" /><category term="portable applications" /><category term="Assembly" /><category term="report" /><category term="aggregate" /><category term="text" /><category term="desktop" /><category term="emulator" /><category term="dns" /><category term="databinding" /><category term="tostring" /><category term="selection" /><category term="asp.net" /><category term="design" /><category term="mp3" /><category term="crystal reports" /><category term="project" /><category term="error" /><category term="compiler" /><category term="google" /><category term="svn" /><category term="XmlWriterSettings" /><category term="technology" /><category term="msdn" /><category term="Microsoft" /><category term="support" /><category term="hang" /><category term="whr-hp-g54" /><category term="quote" /><category term="search engine" /><category term="buffalo" /><category term="about" /><category term="SortedDictionary" /><category term="creative commons" /><category term="template" /><category term="XmlSerializerNamespaces" /><category term="currency" /><category term="sync" /><category term="vcproj" /><category term="toolbox" /><category term="tortoisesvn" /><category term="Version" /><category term="csharp" /><category term="Uncle Microsoft" /><category term="separator" /><category term="opensource" /><category term="DataSet" /><category term="blw" /><category term="gimp" /><category term="sp1" /><category term="knee chair" /><category term="code" /><category term="productivity" /><category term="designers" /><category term="inkscape" /><category term="learning" /><category term="ico" /><category term="app id" /><category term="del.icio.us" /><category term="vc++" /><category term="workaround" /><category term="wallpaper" /><category term="usb" /><category term="cookies" /><category term="virtual application" /><category term="howto" /><category term="music" /><category term="COM" /><category term="task chair" /><category term="gae" /><category term="linksys" /><category term="ie" /><category term="resx" /><category term="tip" /><category term="seo" /><category term="sql" /><category term="wireless" /><category term="untried" /><category term="identity" /><category term="wpf" /><category term="twitter" /><category term="BindingSource" /><category term="closure" /><category term="source code" /><category term="exception" /><category term="autopublish" /><category term="foss" /><category term=".net 2.0" /><category term="social media" /><category term="decimal" /><category term="ftp" /><category term="human" /><category term="calendar" /><category term="templates" /><category term="DataGridView" /><category term="openid" /><category term="xaml" /><category term="installation" /><category term="documentation" /><category term="xpmode" /><category term="registry" /><category term="mailto" /><category term="keepass" /><category term="tablelayout" /><category term="remunerated" /><category term="ClickOnce" /><category term="art" /><category term="column" /><category term="open source" /><category term="UITypeEditor" /><category term="common craft" /><category term="dvd" /><category term="insert" /><category term="phone" /><category term="devfuelnet" /><category term="library" /><category term="linkrolls" /><category term="c#" /><category term="addin" /><category term="firefox" /><category term="DOM" /><category term="travel" /><category term="vc6" /><category term="css" /><category term="ball chair" /><category term="wrt54g" /><category term="List" /><category term="DRM" /><category term="firmware" /><category term=".net" /><category term="professional" /><category term="performance" /><category term="google plus" /><category term="xp" /><category term="vb.net" /><category term="humor" /><category term="xml" /><category term="seating" /><category term="swopper" /><category term="hashtable" /><category term="os" /><category term="security" /><category term="local" /><category term="sourceforge" /><category term="Attribute" /><category term="game" /><category term="sample" /><category term="legacy code" /><category term="android" /><category term="notepad++" /><category term="html" /><category term="atom" /><category term="dev" /><category term="regular expressions" /><category term="screenshot" /><category term="testing" /><category term="release" /><category term="vs2003" /><category term="scc" /><category term="gcalview" /><category term="widget" /><category term="vista" /><category term="google apps" /><category term="sitemap" /><category term="cheat sheet" /><category term="media" /><category term="IBindingListView" /><category term="wiki" /><category term="linker" /><category term="dll" /><category term="javascript" /><category term="debugging" /><category term="comics" /><category term="hosts" /><category term="directory" /><category term="string" /><category term="multi-profile" /><category term="XmlSerializer" /><category term="duplicate" /><category term="delete" /><category term="win7" /><category term=".net 4.0" /><category term="metrics" /><category term="browser" /><category term="radiogroup" /><category term="script" /><category term="installer class" /><category term="chat" /><category term="layout" /><category term="windows" /><category term="gcal" /><category term="thunderbird" /><category term="vs2005" /><category term="file" /><category term="SynchronizationContext" /><category term="app engine" /><category term="stl" /><category term="installutil" /><category term="snippet" /><category term="oss" /><category term="feed" /><category term="tool" /><category term="essential" /><category term="tutorial" /><category term="control panel" /><category term="sorting" /><category term="vs6" /><category term="website" /><category term="quick reference" /><category term="font" /><category term="blog" /><category term="source" /><category term="blogger" /><category term="disk space" /><category term="web2.0" /><category term="qa" /><category term="activex" /><category term="generics" /><category term="languages" /><category term="hobby" /><category term="entertainment" /><category term="icon" /><category term="search" /><category term="windows7" /><category term="quotes" /><category term="mozilla" /><category term="attached property" /><category term="collections" /><category term="rambling" /><title>devfuel.com</title><subtitle type="html">Developing software in the wilds of Washington State</subtitle><link rel="http://schemas.google.com/g/2005#feed" type="application/atom+xml" href="http://www.devfuel.com/feeds/posts/default" /><link rel="alternate" type="text/html" href="http://www.devfuel.com/" /><link rel="next" type="application/atom+xml" href="http://www.blogger.com/feeds/2391037223319513388/posts/default?start-index=26&amp;max-results=25&amp;redirect=false&amp;v=2" /><author><name>Elliott B. Edwards</name><uri>http://www.blogger.com/profile/16287291748824973988</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="31" src="http://3.bp.blogspot.com/-W-PJamrzniU/ToSs0YpjOBI/AAAAAAAAAEo/T7qpTAD-pHs/s220/el_square_portrait.jpg" /></author><generator version="7.00" uri="http://www.blogger.com">Blogger</generator><openSearch:totalResults>142</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>25</openSearch:itemsPerPage><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="self" type="application/atom+xml" href="http://feeds.feedburner.com/Devfuel" /><feedburner:info uri="devfuel" /><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="hub" href="http://pubsubhubbub.appspot.com/" /><feedburner:emailServiceId>Devfuel</feedburner:emailServiceId><feedburner:feedburnerHostname>http://feedburner.google.com</feedburner:feedburnerHostname><entry gd:etag="W/&quot;AkIAR3Y5eyp7ImA9WhdUE08.&quot;"><id>tag:blogger.com,1999:blog-2391037223319513388.post-1763938687886415960</id><published>2011-09-29T11:06:00.001-07:00</published><updated>2011-09-29T13:35:46.823-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-09-29T13:35:46.823-07:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="identity" /><category scheme="http://www.blogger.com/atom/ns#" term="google plus" /><title>Google Plus</title><content type="html">After a great deal of thought on the matter, I have decided to de-anonymize this blog. Not that it would have been terribly complicated to reverse-engineer who wrote this, but now I am taking steps to informationally "claim" it as my own.&lt;br /&gt;
&lt;br /&gt;
My public profile on google plus is &lt;a href="https://plus.google.com/101256894969172700518"&gt;here&lt;/a&gt;.&lt;div class="blogger-post-footer"&gt;&lt;hr /&gt;&lt;a href="http://www.devfuel.com"&gt;devfuel.com&lt;/a&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2391037223319513388-1763938687886415960?l=www.devfuel.com' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/Devfuel/~4/VztHg0FbSOM" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://www.devfuel.com/feeds/1763938687886415960/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.devfuel.com/2011/09/google-plus_29.html#comment-form" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/2391037223319513388/posts/default/1763938687886415960?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/2391037223319513388/posts/default/1763938687886415960?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/Devfuel/~3/VztHg0FbSOM/google-plus_29.html" title="Google Plus" /><author><name>Elliott B. Edwards</name><uri>http://www.blogger.com/profile/16287291748824973988</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="31" src="http://3.bp.blogspot.com/-W-PJamrzniU/ToSs0YpjOBI/AAAAAAAAAEo/T7qpTAD-pHs/s220/el_square_portrait.jpg" /></author><thr:total>0</thr:total><feedburner:origLink>http://www.devfuel.com/2011/09/google-plus_29.html</feedburner:origLink></entry><entry gd:etag="W/&quot;AkcEQn48cCp7ImA9WhdUE08.&quot;"><id>tag:blogger.com,1999:blog-2391037223319513388.post-3777307415495061468</id><published>2011-07-30T12:00:00.001-07:00</published><updated>2011-09-29T13:26:43.078-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-09-29T13:26:43.078-07:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="multi-profile" /><category scheme="http://www.blogger.com/atom/ns#" term="chrome" /><title>Multi-Profile baked into Google Chrome (Dev Update Channel)</title><content type="html">&lt;a href="http://2.bp.blogspot.com/-kpQrkQq48EI/TjRRqZToRLI/AAAAAAAAAF8/2wdC7vCjcLA/s1600/profile_switcher.png" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="320" src="http://2.bp.blogspot.com/-kpQrkQq48EI/TjRRqZToRLI/AAAAAAAAAF8/2wdC7vCjcLA/s320/profile_switcher.png" width="153" /&gt;&lt;/a&gt;I have long been a fan of separate profiles for separate concerns. All my devfuel.com posts and management, for example, have been managed on a single profile. To accomplish this in the past, I have (in the past) made use of the &lt;a href="http://peter.sh/experiments/chromium-command-line-switches/"&gt;command line option&lt;/a&gt;&amp;nbsp;(&lt;span class="Apple-style-span" style="background-color: white; font-family: Verdana; font-size: 12px;"&gt;--user-data-dir):&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;ul&gt;
&lt;li&gt;Make a short-cut for each profile and set the --user-data-dir flag to a different folder for each&lt;/li&gt;
&lt;li&gt;Run chrome via the shortcut and then browse normally, but only as a particular profile&lt;/li&gt;
&lt;li&gt;Use chrome themes to visually distinguish between profile instances&lt;/li&gt;
&lt;/ul&gt;
&lt;div&gt;
This has worked fairly well, so far, but it is a bit geeky for most users. However, this morning when I logged on, the latest chrome version had improved on its &lt;a href="http://lifehacker.com/5796831/try-out-chromes-multiple-profile-support-in-the-canary-builds"&gt;multi-profile support&lt;/a&gt;. It now looks like this (as of 14.0.835.8):&lt;/div&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;a href="http://1.bp.blogspot.com/-2eMSfJlUD94/TjRRzyNDbjI/AAAAAAAAAGA/wgX5axDXTqE/s1600/new_profile.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="400" src="http://1.bp.blogspot.com/-2eMSfJlUD94/TjRRzyNDbjI/AAAAAAAAAGA/wgX5axDXTqE/s400/new_profile.png" width="330" /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class="separator" style="clear: both; text-align: left;"&gt;
There is also further management for changing the profile name and icon available in the settings:&lt;/div&gt;
&lt;div&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;a href="http://1.bp.blogspot.com/-vI1j0WsPFDc/TjRSFbyMncI/AAAAAAAAAGE/05kh1KNV8Z8/s1600/Profile_options.PNG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="152" src="http://1.bp.blogspot.com/-vI1j0WsPFDc/TjRSFbyMncI/AAAAAAAAAGE/05kh1KNV8Z8/s400/Profile_options.PNG" width="400" /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
Please note that this has, of course, not hit the stable update channels (and probably won't for some time). To see it, you have to switch to (for me) the dev update channel. This feature will probably evolve further in its look and feel, too. (I have seen several versions of it so far). Regardless, the functionality is fabulously useful. I can't wait to see/use the finished product.&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;
&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;hr /&gt;&lt;a href="http://www.devfuel.com"&gt;devfuel.com&lt;/a&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2391037223319513388-3777307415495061468?l=www.devfuel.com' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/Devfuel/~4/l22GWDxGixA" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://www.devfuel.com/feeds/3777307415495061468/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.devfuel.com/2011/07/multi-profile-baked-into-google-chrome_30.html#comment-form" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/2391037223319513388/posts/default/3777307415495061468?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/2391037223319513388/posts/default/3777307415495061468?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/Devfuel/~3/l22GWDxGixA/multi-profile-baked-into-google-chrome_30.html" title="Multi-Profile baked into Google Chrome (Dev Update Channel)" /><author><name>Elliott B. Edwards</name><uri>http://www.blogger.com/profile/16287291748824973988</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="31" src="http://3.bp.blogspot.com/-W-PJamrzniU/ToSs0YpjOBI/AAAAAAAAAEo/T7qpTAD-pHs/s220/el_square_portrait.jpg" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://2.bp.blogspot.com/-kpQrkQq48EI/TjRRqZToRLI/AAAAAAAAAF8/2wdC7vCjcLA/s72-c/profile_switcher.png" height="72" width="72" /><thr:total>0</thr:total><feedburner:origLink>http://www.devfuel.com/2011/07/multi-profile-baked-into-google-chrome_30.html</feedburner:origLink></entry><entry gd:etag="W/&quot;AkcEQ3c8fCp7ImA9WhdUE08.&quot;"><id>tag:blogger.com,1999:blog-2391037223319513388.post-2251877178473938475</id><published>2011-07-11T11:10:00.001-07:00</published><updated>2011-09-29T13:26:42.974-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-09-29T13:26:42.974-07:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="closure" /><category scheme="http://www.blogger.com/atom/ns#" term="learning" /><category scheme="http://www.blogger.com/atom/ns#" term="c#" /><category scheme="http://www.blogger.com/atom/ns#" term="csharp" /><title>It is important to get closure in c#</title><content type="html">&lt;a href="http://www.blogger.com/profile/16441901713967254504"&gt;Mike Hadlow&lt;/a&gt;&amp;nbsp;recently shared a nice, succinct &lt;a href="http://mikehadlow.blogspot.com/2011/07/what-is-closure.html"&gt;definition of a closure&lt;/a&gt;&amp;nbsp;by way of some description and code demonstrations in C#. As always, an elegant, understandable description is invaluable, and so it is collected and referenced here for posterity.&lt;div class="blogger-post-footer"&gt;&lt;hr /&gt;&lt;a href="http://www.devfuel.com"&gt;devfuel.com&lt;/a&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2391037223319513388-2251877178473938475?l=www.devfuel.com' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/Devfuel/~4/YgQiwKpn8BA" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://www.devfuel.com/feeds/2251877178473938475/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.devfuel.com/2011/07/it-is-important-to-get-closure-in-c_11.html#comment-form" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/2391037223319513388/posts/default/2251877178473938475?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/2391037223319513388/posts/default/2251877178473938475?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/Devfuel/~3/YgQiwKpn8BA/it-is-important-to-get-closure-in-c_11.html" title="It is important to get closure in c#" /><author><name>Elliott B. Edwards</name><uri>http://www.blogger.com/profile/16287291748824973988</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="31" src="http://3.bp.blogspot.com/-W-PJamrzniU/ToSs0YpjOBI/AAAAAAAAAEo/T7qpTAD-pHs/s220/el_square_portrait.jpg" /></author><thr:total>0</thr:total><feedburner:origLink>http://www.devfuel.com/2011/07/it-is-important-to-get-closure-in-c_11.html</feedburner:origLink></entry><entry gd:etag="W/&quot;AkcEQnwzfCp7ImA9WhdUE08.&quot;"><id>tag:blogger.com,1999:blog-2391037223319513388.post-6773518456180031254</id><published>2011-06-30T07:46:00.001-07:00</published><updated>2011-09-29T13:26:43.284-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-09-29T13:26:43.284-07:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="app engine" /><category scheme="http://www.blogger.com/atom/ns#" term="gafyd" /><category scheme="http://www.blogger.com/atom/ns#" term="apps" /><category scheme="http://www.blogger.com/atom/ns#" term="workaround" /><category scheme="http://www.blogger.com/atom/ns#" term="google apps" /><category scheme="http://www.blogger.com/atom/ns#" term="google" /><category scheme="http://www.blogger.com/atom/ns#" term="app id" /><category scheme="http://www.blogger.com/atom/ns#" term="gae" /><title>"You do not have the permissions necessary to install this application"</title><content type="html">I have been working with Google App Engine in conjecture with Google Apps for your domain, and their have been...quirks. The latest being that I recently added an application identifier that was a randomized series of letters and numbers (to avoid the dreaded &lt;span style="font-weight: bold;"&gt;"Sorry 'omgponies' is not available"&lt;/span&gt; message in the app creation process.&lt;br /&gt;
&lt;br /&gt;
The App ID I made (now disabled and scheduled for deletion) "806df7ef93" created successfully, and I uploaded my app content just fine, but when i went to &lt;a href="https://www.google.com/a/cpanel/[domain.com]/SelectServices"&gt;https://www.google.com/a/cpanel/[domain.com]/SelectServices&lt;/a&gt; and entered the correct App ID, I got the message:&lt;br /&gt;
&lt;blockquote&gt;
"You do not have the permissions necessary to install this application"&lt;/blockquote&gt;
&lt;div class="separator" style="clear: both; text-align: left;"&gt;
&lt;a href="http://2.bp.blogspot.com/-FF1K9tveq30/TgyhfUJXRGI/AAAAAAAAAFg/GhZ6mErApnM/s1600/You+do+not+have+the+permissions+necessary+to+install+this+application.PNG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="93" src="http://2.bp.blogspot.com/-FF1K9tveq30/TgyhfUJXRGI/AAAAAAAAAFg/GhZ6mErApnM/s320/You+do+not+have+the+permissions+necessary+to+install+this+application.PNG" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;br /&gt;
I was a bit confused as I was logged in with an account that was an "Owner" of the application, but I happened upon &lt;a href="http://www.google.com/support/forum/p/Google%20Apps/thread?tid=6909a9939170caa1&amp;amp;hl=en"&gt;a post&lt;/a&gt; by &lt;a href="http://www.google.com/support/forum/p/Google%20Apps/user?userid=13789225373433947226&amp;amp;hl=en"&gt;kernixski&lt;/a&gt; that suggested that this problem would occur if the App ID &lt;span style="font-weight: bold;"&gt;ended in a number&lt;/span&gt;.&lt;br /&gt;
&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;a href="http://3.bp.blogspot.com/-y9bGM1MAihU/TgyL_7WgqVI/AAAAAAAAAFc/sbgvfQ43iR8/s1600/kernixski_suggestion.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="85" src="http://3.bp.blogspot.com/-y9bGM1MAihU/TgyL_7WgqVI/AAAAAAAAAFc/sbgvfQ43iR8/s400/kernixski_suggestion.png" width="400" /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
Obviously there are other reasons for this error to manifest, and changing your App ID to not end in a number will probably not affect those cases. However, after choosing a new&amp;nbsp;&lt;span style="font-weight: bold;"&gt;ID that doesn't end with a number&lt;/span&gt;, this process worked perfectly. Now, if I could only use my native Google Apps account in AppEngine without a Gmail.com proxy account, things would really be looking up.&lt;div class="blogger-post-footer"&gt;&lt;hr /&gt;&lt;a href="http://www.devfuel.com"&gt;devfuel.com&lt;/a&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2391037223319513388-6773518456180031254?l=www.devfuel.com' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/Devfuel/~4/RO26YP3b_hU" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://www.devfuel.com/feeds/6773518456180031254/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.devfuel.com/2011/06/do-not-have-permissions-necessary-to.html#comment-form" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/2391037223319513388/posts/default/6773518456180031254?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/2391037223319513388/posts/default/6773518456180031254?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/Devfuel/~3/RO26YP3b_hU/do-not-have-permissions-necessary-to.html" title="&amp;quot;You do not have the permissions necessary to install this application&amp;quot;" /><author><name>Elliott B. Edwards</name><uri>http://www.blogger.com/profile/16287291748824973988</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="31" src="http://3.bp.blogspot.com/-W-PJamrzniU/ToSs0YpjOBI/AAAAAAAAAEo/T7qpTAD-pHs/s220/el_square_portrait.jpg" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://2.bp.blogspot.com/-FF1K9tveq30/TgyhfUJXRGI/AAAAAAAAAFg/GhZ6mErApnM/s72-c/You+do+not+have+the+permissions+necessary+to+install+this+application.PNG" height="72" width="72" /><thr:total>0</thr:total><feedburner:origLink>http://www.devfuel.com/2011/06/do-not-have-permissions-necessary-to.html</feedburner:origLink></entry><entry gd:etag="W/&quot;AkcEQng4cSp7ImA9WhdUE08.&quot;"><id>tag:blogger.com,1999:blog-2391037223319513388.post-848140730800872455</id><published>2011-06-15T15:10:00.001-07:00</published><updated>2011-09-29T13:26:43.639-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-09-29T13:26:43.639-07:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="tip" /><category scheme="http://www.blogger.com/atom/ns#" term=".net" /><category scheme="http://www.blogger.com/atom/ns#" term="c#" /><category scheme="http://www.blogger.com/atom/ns#" term="tostring" /><title>Stringing it out - object.ToString() vs. Convert.ToString()</title><content type="html">KodefuGuru has an &lt;a href="http://www.kodefuguru.com/post/2011/06/14/Deeper-into-Convert-ToString.aspx"&gt;interesting investigation and analysis&lt;/a&gt; of these two methods for serializing object data to strings. Convert.ToString() has some nice features that I will definitely be keeping in mind &lt;span style="font-style:italic;"&gt;while I linger&lt;/span&gt; in the world of .NET/C#.&lt;div class="blogger-post-footer"&gt;&lt;hr /&gt;&lt;a href="http://www.devfuel.com"&gt;devfuel.com&lt;/a&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2391037223319513388-848140730800872455?l=www.devfuel.com' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/Devfuel/~4/3V7WORfJbM0" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://www.devfuel.com/feeds/848140730800872455/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.devfuel.com/2011/06/stringing-it-out-objecttostring-vs_15.html#comment-form" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/2391037223319513388/posts/default/848140730800872455?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/2391037223319513388/posts/default/848140730800872455?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/Devfuel/~3/3V7WORfJbM0/stringing-it-out-objecttostring-vs_15.html" title="Stringing it out - object.ToString() vs. Convert.ToString()" /><author><name>Elliott B. Edwards</name><uri>http://www.blogger.com/profile/16287291748824973988</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="31" src="http://3.bp.blogspot.com/-W-PJamrzniU/ToSs0YpjOBI/AAAAAAAAAEo/T7qpTAD-pHs/s220/el_square_portrait.jpg" /></author><thr:total>0</thr:total><feedburner:origLink>http://www.devfuel.com/2011/06/stringing-it-out-objecttostring-vs_15.html</feedburner:origLink></entry><entry gd:etag="W/&quot;AkcEQng9eip7ImA9WhdUE08.&quot;"><id>tag:blogger.com,1999:blog-2391037223319513388.post-8556062581848399862</id><published>2011-04-04T20:28:00.002-07:00</published><updated>2011-09-29T13:26:43.662-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-09-29T13:26:43.662-07:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="wpf" /><category scheme="http://www.blogger.com/atom/ns#" term="attached property" /><category scheme="http://www.blogger.com/atom/ns#" term=".net 4.0" /><category scheme="http://www.blogger.com/atom/ns#" term=".net" /><category scheme="http://www.blogger.com/atom/ns#" term="xaml" /><category scheme="http://www.blogger.com/atom/ns#" term="resx" /><category scheme="http://www.blogger.com/atom/ns#" term="c#" /><category scheme="http://www.blogger.com/atom/ns#" term="string" /><category scheme="http://www.blogger.com/atom/ns#" term="resource" /><title>Bypass the colon - DRY your WPF/XAML label string resources with an Attached Property</title><content type="html">DRY, like KISS (Keep It Simple Stupid), is one of those acronyms that one is &lt;em&gt;unlikely to forget&lt;/em&gt; once you &lt;em&gt;get the gist&lt;/em&gt;. It stands for &lt;a href="http://en.wikipedia.org/wiki/Don%27t_repeat_yourself"&gt;Don’t Repeat Yourself&lt;/a&gt; and I have long been an adherent to this philosophy, but only recently was acquainted with the acronymic tie.&lt;br /&gt;
While working in WPF/XAML, I have see one such &lt;em&gt;repetition battleground&lt;/em&gt; emerge: String resources in a .resx file.&lt;br /&gt;
&lt;strong&gt;Consider:&lt;/strong&gt;&lt;br /&gt;
&lt;pre style="background: white;"&gt;&lt;span style="font-family: Consolas;"&gt;&lt;span style="color: blue;"&gt;&lt;span style="font-size: 9.8pt;"&gt;&amp;lt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size: 9.8pt;"&gt;&lt;span style="color: #a31515;"&gt;data&lt;/span&gt;&lt;span style="color: blue;"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: red;"&gt;name&lt;/span&gt;&lt;span style="color: blue;"&gt;=&lt;/span&gt;"&lt;span style="color: blue;"&gt;UserName&lt;/span&gt;"&lt;span style="color: blue;"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: red;"&gt;xml:space&lt;/span&gt;&lt;span style="color: blue;"&gt;=&lt;/span&gt;"&lt;span style="color: blue;"&gt;preserve&lt;/span&gt;"&lt;span style="color: blue;"&gt;&amp;gt;&lt;/span&gt;
&lt;span style="color: blue;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;&lt;/span&gt;&lt;span style="color: #a31515;"&gt;value&lt;/span&gt;&lt;span style="color: blue;"&gt;&amp;gt;&lt;/span&gt;User Name&lt;span style="color: blue;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #a31515;"&gt;value&lt;/span&gt;&lt;span style="color: blue;"&gt;&amp;gt;&lt;/span&gt;
&lt;span style="color: blue;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #a31515;"&gt;data&lt;/span&gt;&lt;/span&gt;&lt;span style="color: blue; font-size: 9.8pt;"&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/pre&gt;
&lt;strong&gt;Versus:&lt;/strong&gt;&lt;br /&gt;
&lt;pre style="background: white;"&gt;&lt;span style="font-family: Consolas;"&gt;&lt;span style="color: blue;"&gt;&lt;span style="font-size: 9.8pt;"&gt;&amp;lt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size: 9.8pt;"&gt;&lt;span style="color: #a31515;"&gt;data&lt;/span&gt;&lt;span style="color: blue;"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: red;"&gt;name&lt;/span&gt;&lt;span style="color: blue;"&gt;=&lt;/span&gt;"&lt;span style="color: blue;"&gt;UserNameLabel&lt;/span&gt;"&lt;span style="color: blue;"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: red;"&gt;xml:space&lt;/span&gt;&lt;span style="color: blue;"&gt;=&lt;/span&gt;"&lt;span style="color: blue;"&gt;preserve&lt;/span&gt;"&lt;span style="color: blue;"&gt;&amp;gt;&lt;/span&gt;
&lt;span style="color: blue;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;&lt;/span&gt;&lt;span style="color: #a31515;"&gt;value&lt;/span&gt;&lt;span style="color: blue;"&gt;&amp;gt;&lt;/span&gt;User Name:&lt;span style="color: blue;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #a31515;"&gt;value&lt;/span&gt;&lt;span style="color: blue;"&gt;&amp;gt;&lt;/span&gt;
&lt;span style="color: blue;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #a31515;"&gt;data&lt;/span&gt;&lt;/span&gt;&lt;span style="color: blue; font-size: 9.8pt;"&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/pre&gt;
The latter might be intended to be &lt;strong&gt;used in XAML like&lt;/strong&gt;:&lt;br /&gt;
&lt;pre style="background: white;"&gt;&lt;span style="font-family: Consolas;"&gt;&lt;span style="color: blue;"&gt;&lt;span style="font-size: 9.8pt;"&gt;&amp;lt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size: 9.8pt;"&gt;&lt;span style="color: #a31515;"&gt;TextBlock&lt;/span&gt;&lt;span style="color: red;"&gt; Text&lt;/span&gt;&lt;span style="color: blue;"&gt;="{&lt;/span&gt;&lt;span style="color: #a31515;"&gt;x&lt;/span&gt;&lt;span style="color: blue;"&gt;:&lt;/span&gt;&lt;span style="color: #a31515;"&gt;Static&lt;/span&gt;&lt;span style="color: red;"&gt; res&lt;/span&gt;&lt;span style="color: blue;"&gt;:&lt;/span&gt;&lt;span style="color: red;"&gt;Resources&lt;/span&gt;&lt;span style="color: blue;"&gt;.UserNameLabel}" /&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/pre&gt;
But now we can see the problem. If and when you take steps to internationalize, you have to translate both resources. And if you refactor, you have to manage both instances.&amp;nbsp; While I have seen a couple solutions to this problem, I happened upon an alternative idea, &lt;strong&gt;an Attached Property&lt;/strong&gt;:&lt;br /&gt;
&lt;pre style="background: white;"&gt;&lt;span style="font-family: Consolas;"&gt;&lt;span style="color: blue;"&gt;&lt;span style="font-size: 9.8pt;"&gt;&amp;lt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size: 9.8pt;"&gt;&lt;span style="color: #a31515;"&gt;TextBlock&lt;/span&gt;&lt;span style="color: red;"&gt; ns&lt;/span&gt;&lt;span style="color: blue;"&gt;:&lt;/span&gt;&lt;span style="color: red;"&gt;Attached.LabelText&lt;/span&gt;&lt;span style="color: blue;"&gt;="{&lt;/span&gt;&lt;span style="color: #a31515;"&gt;x&lt;/span&gt;&lt;span style="color: blue;"&gt;:&lt;/span&gt;&lt;span style="color: #a31515;"&gt;Static&lt;/span&gt;&lt;span style="color: red;"&gt; res&lt;/span&gt;&lt;span style="color: blue;"&gt;:&lt;/span&gt;&lt;span style="color: red;"&gt;Resources&lt;/span&gt;&lt;span style="color: blue;"&gt;.UserName}" /&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/pre&gt;
At this point, we have handily done away with the “colonated” version of the label (or hyphenated, etc.) in favor of the real, underlying resource. Now we have become more DRY (If I may use this sense).&lt;br /&gt;
The implementation is &lt;strong&gt;shockingly simple&lt;/strong&gt;:&lt;br /&gt;
&lt;div style="background: #ffffff; border-left: #eee 1px solid; border-top: #eee 1px solid; color: black; font-family: consolas, 'Courier New', courier, monospace; font-size: 10pt; overflow: scroll; padding-bottom: 0.5em; padding-left: 0.5em; padding-right: 0.5em; padding-top: 0.5em;"&gt;
&lt;pre style="margin: 0px;"&gt;&lt;pre style="background: white;"&gt;&lt;span style="font-family: Consolas;"&gt;&lt;span style="color: blue;"&gt;&lt;span style="font-size: 9.8pt;"&gt;public&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size: 9.8pt;"&gt;&amp;nbsp;&lt;span style="color: blue;"&gt;class&lt;/span&gt;&amp;nbsp;&lt;span style="color: #2b91af;"&gt;Attached&lt;/span&gt;
{
&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color: blue;"&gt;public&lt;/span&gt;&amp;nbsp;&lt;span style="color: blue;"&gt;static&lt;/span&gt;&amp;nbsp;&lt;span style="color: blue;"&gt;string&lt;/span&gt; GetLabelText(DependencyObject obj)
&amp;nbsp;&amp;nbsp;&amp;nbsp; {
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color: blue;"&gt;return&lt;/span&gt; (&lt;span style="color: blue;"&gt;string&lt;/span&gt;)obj.GetValue(LabelTextProperty);
&amp;nbsp;&amp;nbsp;&amp;nbsp; }
 
&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color: blue;"&gt;public&lt;/span&gt;&amp;nbsp;&lt;span style="color: blue;"&gt;static&lt;/span&gt;&amp;nbsp;&lt;span style="color: blue;"&gt;void&lt;/span&gt; SetLabelText(DependencyObject obj, &lt;span style="color: blue;"&gt;string&lt;/span&gt; value)
&amp;nbsp;&amp;nbsp;&amp;nbsp; {
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; TextBlock textBlock = obj &lt;span style="color: blue;"&gt;as&lt;/span&gt; TextBlock;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color: blue;"&gt;if&lt;/span&gt; (textBlock != &lt;span style="color: blue;"&gt;null&lt;/span&gt;)
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; textBlock.Text = &lt;span style="color: blue;"&gt;string&lt;/span&gt;.Format(&lt;span style="color: #a31515;"&gt;"{0} :"&lt;/span&gt;, value);
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color: green;"&gt;//TODO: Make the string format a localizable resource&lt;/span&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; obj.SetValue(LabelTextProperty, value);
&amp;nbsp;&amp;nbsp;&amp;nbsp; }
&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color: blue;"&gt;public&lt;/span&gt;&amp;nbsp;&lt;span style="color: blue;"&gt;static&lt;/span&gt;&amp;nbsp;&lt;span style="color: blue;"&gt;readonly&lt;/span&gt; DependencyProperty LabelTextProperty =
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; DependencyProperty.RegisterAttached(&lt;span style="color: #a31515;"&gt;"LabelText"&lt;/span&gt;,
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color: blue;"&gt;typeof&lt;/span&gt;(&lt;span style="color: blue;"&gt;string&lt;/span&gt;),
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color: blue;"&gt;typeof&lt;/span&gt;(TextBlock),
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color: blue;"&gt;new&lt;/span&gt; UIPropertyMetadata(&lt;span style="color: #a31515;"&gt;"DefaultLabel"&lt;/span&gt;));
}&lt;/span&gt;&lt;/span&gt;&lt;/pre&gt;
&lt;/pre&gt;
&lt;/div&gt;
So where does that leave us? We should now be able to use this Attached Property to avoid string resource repetition, and that is a good thing. A similar approach will work for other Controls, text decorations, etc. Let me know if it works out for you.&lt;div class="blogger-post-footer"&gt;&lt;hr /&gt;&lt;a href="http://www.devfuel.com"&gt;devfuel.com&lt;/a&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2391037223319513388-8556062581848399862?l=www.devfuel.com' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/Devfuel/~4/QSlPKlOOxAs" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://www.devfuel.com/feeds/8556062581848399862/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.devfuel.com/2011/04/bypass-colon-dry-your-wpfxaml-label_04.html#comment-form" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/2391037223319513388/posts/default/8556062581848399862?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/2391037223319513388/posts/default/8556062581848399862?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/Devfuel/~3/QSlPKlOOxAs/bypass-colon-dry-your-wpfxaml-label_04.html" title="Bypass the colon - DRY your WPF/XAML label string resources with an Attached Property" /><author><name>Elliott B. Edwards</name><uri>http://www.blogger.com/profile/16287291748824973988</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="31" src="http://3.bp.blogspot.com/-W-PJamrzniU/ToSs0YpjOBI/AAAAAAAAAEo/T7qpTAD-pHs/s220/el_square_portrait.jpg" /></author><thr:total>0</thr:total><feedburner:origLink>http://www.devfuel.com/2011/04/bypass-colon-dry-your-wpfxaml-label_04.html</feedburner:origLink></entry><entry gd:etag="W/&quot;AkcEQ3YyeCp7ImA9WhdUE08.&quot;"><id>tag:blogger.com,1999:blog-2391037223319513388.post-1454023017740838042</id><published>2010-10-06T16:25:00.001-07:00</published><updated>2011-09-29T13:26:42.890-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-09-29T13:26:42.890-07:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="emulator" /><category scheme="http://www.blogger.com/atom/ns#" term="workaround" /><category scheme="http://www.blogger.com/atom/ns#" term="ddms" /><category scheme="http://www.blogger.com/atom/ns#" term="android" /><category scheme="http://www.blogger.com/atom/ns#" term="screenshot" /><title>Workaround: Android DDMS: "Screen not available" for screenshot</title><content type="html">Been working more with DDMS as a screen capture mechanism (was using Alt+PrntScrn method before) and have found an alarming trend:&lt;br /&gt;
&lt;br /&gt;
Sometimes, when using the "Device Screen Capture" mechanism, I get the following:&lt;br /&gt;
&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;a href="http://4.bp.blogspot.com/_-G_3ErCaUTo/TK0DRD9YXvI/AAAAAAAABdg/hK5oRdn08mU/s1600/DeviceScreenCapture_Screen_Not_available.png" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="151" src="http://4.bp.blogspot.com/_-G_3ErCaUTo/TK0DRD9YXvI/AAAAAAAABdg/hK5oRdn08mU/s200/DeviceScreenCapture_Screen_Not_available.png" width="200" /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;div class="separator" style="clear: both; text-align: left;"&gt;
&lt;/div&gt;
It seems to happen more when I am on certain, custom views that deal with multiple layers of transparency. Usually i could just hit the "refresh" buttons a few times and work past it.&lt;br /&gt;
&lt;br /&gt;
When hit with a more persistent "Screen not available" situation, i was stuck. 15 refreshes never resulted in a capture. Closing and reopening had the same result.&lt;br /&gt;
&lt;br /&gt;
Finally, on a whim, i hit the &lt;a href="http://developer.android.com/guide/developing/tools/emulator.html#controlling"&gt;rotate keys&lt;/a&gt; while the focus was on the emulator (either "7" or "9" on the numeric keypad), and then the "refresh" button in DDMS. To my amazement and relief, the capture went through. Now when a capture repeatedly fails, I typically &lt;b&gt;rotate the orientation in the emulator and THEN hit capture&lt;/b&gt;. For whatever reason, this seems to do the trick. *shrug*&lt;div class="blogger-post-footer"&gt;&lt;hr /&gt;&lt;a href="http://www.devfuel.com"&gt;devfuel.com&lt;/a&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2391037223319513388-1454023017740838042?l=www.devfuel.com' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/Devfuel/~4/cksOGM0Di3c" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://www.devfuel.com/feeds/1454023017740838042/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.devfuel.com/2010/10/workaround-android-ddms-not-available.html#comment-form" title="1 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/2391037223319513388/posts/default/1454023017740838042?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/2391037223319513388/posts/default/1454023017740838042?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/Devfuel/~3/cksOGM0Di3c/workaround-android-ddms-not-available.html" title="Workaround: Android DDMS: &amp;quot;Screen not available&amp;quot; for screenshot" /><author><name>Elliott B. Edwards</name><uri>http://www.blogger.com/profile/16287291748824973988</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="31" src="http://3.bp.blogspot.com/-W-PJamrzniU/ToSs0YpjOBI/AAAAAAAAAEo/T7qpTAD-pHs/s220/el_square_portrait.jpg" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://4.bp.blogspot.com/_-G_3ErCaUTo/TK0DRD9YXvI/AAAAAAAABdg/hK5oRdn08mU/s72-c/DeviceScreenCapture_Screen_Not_available.png" height="72" width="72" /><thr:total>1</thr:total><feedburner:origLink>http://www.devfuel.com/2010/10/workaround-android-ddms-not-available.html</feedburner:origLink></entry><entry gd:etag="W/&quot;AkcEQn49fyp7ImA9WhdUE08.&quot;"><id>tag:blogger.com,1999:blog-2391037223319513388.post-356301625533520805</id><published>2010-08-27T10:46:00.002-07:00</published><updated>2011-09-29T13:26:43.067-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-09-29T13:26:43.067-07:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="email" /><category scheme="http://www.blogger.com/atom/ns#" term="emulator" /><category scheme="http://www.blogger.com/atom/ns#" term="workaround" /><category scheme="http://www.blogger.com/atom/ns#" term="android" /><title>Workaround: Can’t send email in Android emulator</title><content type="html">&lt;p&gt;Spent a fair amount of time this week trying to send various flavors and combinations of email. The slow leg of the development cycle was coming from the fact that there is no Gmail setup in the emulator. Thus, I would have to push the .APK file out to an actual device to test an iteration. &lt;/p&gt; &lt;p&gt;Fortunately I came across the &lt;a href="http://code.google.com/p/k9mail/"&gt;K-9 Mail application for Android&lt;/a&gt;. Since this allows POP and IMAP access, you can download its .APK in the emulator (via the browser), install it, and set up a simple POP/IMAP account. It then will respond to email-sending intentions. Goodbye to the “No applications can perform this action” message. While is isn’t exactly the same as the standard Gmail compose activity, it is close enough to narrow in on things like formatting and attachments without having to do a lengthier push-test cycle.&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;hr /&gt;&lt;a href="http://www.devfuel.com"&gt;devfuel.com&lt;/a&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2391037223319513388-356301625533520805?l=www.devfuel.com' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/Devfuel/~4/No5ejTKBL-o" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://www.devfuel.com/feeds/356301625533520805/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.devfuel.com/2010/08/workaround-cant-send-email-in-android_27.html#comment-form" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/2391037223319513388/posts/default/356301625533520805?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/2391037223319513388/posts/default/356301625533520805?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/Devfuel/~3/No5ejTKBL-o/workaround-cant-send-email-in-android_27.html" title="Workaround: Can’t send email in Android emulator" /><author><name>Elliott B. Edwards</name><uri>http://www.blogger.com/profile/16287291748824973988</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="31" src="http://3.bp.blogspot.com/-W-PJamrzniU/ToSs0YpjOBI/AAAAAAAAAEo/T7qpTAD-pHs/s220/el_square_portrait.jpg" /></author><thr:total>0</thr:total><feedburner:origLink>http://www.devfuel.com/2010/08/workaround-cant-send-email-in-android_27.html</feedburner:origLink></entry><entry gd:etag="W/&quot;AkcEQn4yfSp7ImA9WhdUE08.&quot;"><id>tag:blogger.com,1999:blog-2391037223319513388.post-4010324684669700104</id><published>2010-08-18T11:16:00.002-07:00</published><updated>2011-09-29T13:26:43.095-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-09-29T13:26:43.095-07:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="java" /><category scheme="http://www.blogger.com/atom/ns#" term="layout" /><category scheme="http://www.blogger.com/atom/ns#" term="column" /><category scheme="http://www.blogger.com/atom/ns#" term="radiobutton" /><category scheme="http://www.blogger.com/atom/ns#" term="radiogroup" /><category scheme="http://www.blogger.com/atom/ns#" term="tablelayout" /><category scheme="http://www.blogger.com/atom/ns#" term="android" /><title>Android: Advanced RadioButton layout (columns, etc.) in a RadioGroup</title><content type="html">&lt;p&gt;Android is a powerful framework. Many of the design decisions and mechanisms are exactly what I would expect/want. However, I recently came across a “rough edge” where the in-built mechanism left something to be desired:&lt;/p&gt; &lt;blockquote&gt; &lt;p&gt;There is no good way to do advanced (read as anything other than a simple LinearLayout) layout techniques with a RadioGroup.&lt;/p&gt;&lt;/blockquote&gt; &lt;p&gt;I have seen several posts of people wanting to do rational things like have two columns of RadioButtons for a certain screen orientation. This is not currently possible if you choose to use a RadioGroup:&lt;/p&gt;&lt;pre style="font-family: consolas"&gt;&lt;span style="color: blue"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #a31515"&gt;RadioGroup&lt;/span&gt;&lt;span style="color: blue"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: red"&gt;...&lt;/span&gt;&lt;span style="color: blue"&gt;&amp;gt;&lt;/span&gt;
&lt;span style="color: blue"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;&lt;/span&gt;&lt;span style="color: #a31515"&gt;RadioButton&lt;/span&gt;&lt;span style="color: blue"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: red"&gt;android:id&lt;/span&gt;&lt;span style="color: blue"&gt;=&lt;/span&gt;"&lt;span style="color: blue"&gt;@+id/one&lt;/span&gt;"&lt;span style="color: blue"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: red"&gt;...&lt;/span&gt;&lt;span style="color: blue"&gt;/&amp;gt;&lt;/span&gt;
&lt;span style="color: blue"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;&lt;/span&gt;&lt;span style="color: #a31515"&gt;RadioButton&lt;/span&gt;&lt;span style="color: blue"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: red"&gt;android:id&lt;/span&gt;&lt;span style="color: blue"&gt;=&lt;/span&gt;"&lt;span style="color: blue"&gt;@+id/two&lt;/span&gt;"&lt;span style="color: blue"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: red"&gt;...&lt;/span&gt;&lt;span style="color: blue"&gt;/&amp;gt;&lt;/span&gt;
&lt;span style="color: blue"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;&lt;/span&gt;&lt;span style="color: #a31515"&gt;RadioButton&lt;/span&gt;&lt;span style="color: blue"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: red"&gt;android:id&lt;/span&gt;&lt;span style="color: blue"&gt;=&lt;/span&gt;"&lt;span style="color: blue"&gt;@+id/three&lt;/span&gt;"&lt;span style="color: blue"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: red"&gt;...&lt;/span&gt;&lt;span style="color: blue"&gt;/&amp;gt;&lt;/span&gt;
&lt;span style="color: blue"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;&lt;/span&gt;&lt;span style="color: #a31515"&gt;RadioButton&lt;/span&gt;&lt;span style="color: blue"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: red"&gt;android:id&lt;/span&gt;&lt;span style="color: blue"&gt;=&lt;/span&gt;"&lt;span style="color: blue"&gt;@+id/four&lt;/span&gt;"&lt;span style="color: blue"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: red"&gt;...&lt;/span&gt;&lt;span style="color: blue"&gt;/&amp;gt;&lt;/span&gt;
&lt;span style="color: blue"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #a31515"&gt;RadioGroup&lt;/span&gt;&lt;span style="color: blue"&gt;&amp;gt;&lt;/span&gt;&lt;br&gt;&lt;/pre&gt;
&lt;p&gt;So that is our first step…to step away from the RadioGroup.&lt;/p&gt;
&lt;p&gt;Some of you, like I did, will then scream: “But wait! The RadioGroup has all the logic for mutual exclusion of buttons! We can’t do away with that!”&lt;/p&gt;
&lt;p&gt;But then I thought about it from my oldschool Win32 perspective and realized that there wasn’t much logic in there to be lost. Certainly nothing that would be missed.&lt;/p&gt;
&lt;p&gt;Lets say we have an “Option” enum:&lt;/p&gt;&lt;pre style="font-family: consolas"&gt;&lt;span style="color: blue"&gt;public&lt;/span&gt;&amp;nbsp;&lt;span style="color: blue"&gt;enum&lt;/span&gt;&amp;nbsp;&lt;span style="color: #2b91af"&gt;Option&lt;/span&gt;&lt;br&gt;{&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; One,&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Two,&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Three,&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Four&lt;br&gt;}&lt;/pre&gt;
&lt;p&gt;Then we add some special Java enum sauce:&lt;/p&gt;&lt;pre style="font-family: consolas"&gt;&lt;span style="color: blue"&gt;public&lt;/span&gt;&amp;nbsp;&lt;span style="color: blue"&gt;enum&lt;/span&gt;&amp;nbsp;&lt;span style="color: #2b91af"&gt;Option&lt;/span&gt;&lt;br&gt;{&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; One(R.id.one),&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Two(R.id.two),&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Three(R.id.three),&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Four(R.id.four);&lt;br&gt; &lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color: blue"&gt;int&lt;/span&gt; idInLayout;&lt;/pre&gt;&lt;pre style="font-family: consolas"&gt;&lt;span style="color: green"&gt;&lt;/span&gt;&amp;nbsp;&lt;/pre&gt;&lt;pre style="font-family: consolas"&gt;&lt;span style="color: green"&gt;    //enum constructor taking a radio button id&lt;/span&gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color: blue"&gt;private&lt;/span&gt; Option(&lt;span style="color: blue"&gt;int&lt;/span&gt; idInLayout)&lt;br&gt;    {&lt;br&gt;	&lt;span style="color: blue"&gt;this&lt;/span&gt;.idInLayout = idInLayout;&lt;br&gt;    }&lt;br&gt; &lt;/pre&gt;&lt;span style="color: green"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; //accessor for id&lt;/span&gt;&lt;br&gt;&lt;pre style="font-family: consolas"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color: blue"&gt;public&lt;/span&gt;&amp;nbsp;&lt;span style="color: blue"&gt;int&lt;/span&gt; getIdInLayout()&lt;br&gt;    {&lt;br&gt;	&lt;span style="color: blue"&gt;return&lt;/span&gt; idInLayout;&lt;br&gt;    }&lt;br&gt;}&lt;/pre&gt;
&lt;p&gt;Note that R.id.* would reference your app’s (not android’s) generated resource class. Since layout ids can be reused across layouts and are you are unlikely to need your option’s id more than once in a layout…this is pretty handy.&lt;/p&gt;
&lt;p&gt;Now we just layout our RadioButtons like we would any other view:&lt;/p&gt;&lt;pre style="font-family: consolas"&gt;...
&lt;span style="color: blue"&gt;&amp;nbsp; &amp;lt;&lt;/span&gt;&lt;span style="color: #a31515"&gt;TableLayout&lt;/span&gt;&lt;span style="color: blue"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: red"&gt;...&lt;/span&gt;&lt;span style="color: blue"&gt;&amp;gt;&lt;/span&gt;
&lt;span style="color: blue"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;&lt;/span&gt;&lt;span style="color: #a31515"&gt;TableRow&lt;/span&gt;&lt;span style="color: blue"&gt;&amp;gt;&lt;/span&gt;
&lt;span style="color: blue"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;&lt;/span&gt;&lt;span style="color: #a31515"&gt;RadioButton&lt;/span&gt;&lt;span style="color: blue"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: red"&gt;android:id&lt;/span&gt;&lt;span style="color: blue"&gt;=&lt;/span&gt;"&lt;span style="color: blue"&gt;@+id/one&lt;/span&gt;"&lt;span style="color: blue"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: red"&gt;...&lt;/span&gt;&lt;span style="color: blue"&gt;/&amp;gt;&lt;/span&gt;
&lt;span style="color: blue"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;&lt;/span&gt;&lt;span style="color: #a31515"&gt;RadioButton&lt;/span&gt;&lt;span style="color: blue"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: red"&gt;android:id&lt;/span&gt;&lt;span style="color: blue"&gt;=&lt;/span&gt;"&lt;span style="color: blue"&gt;@+id/two&lt;/span&gt;"&lt;span style="color: blue"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: red"&gt;...&lt;/span&gt;&lt;span style="color: blue"&gt;/&amp;gt;&lt;/span&gt;
&lt;span style="color: blue"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;/&lt;/span&gt;&lt;span style="color: #a31515"&gt;TableRow&lt;/span&gt;&lt;span style="color: blue"&gt;&amp;gt;&lt;/span&gt;
&lt;span style="color: blue"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;&lt;/span&gt;&lt;span style="color: #a31515"&gt;TableRow&lt;/span&gt;&lt;span style="color: blue"&gt;&amp;gt;&lt;/span&gt;
&lt;span style="color: blue"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;&lt;/span&gt;&lt;span style="color: #a31515"&gt;RadioButton&lt;/span&gt;&lt;span style="color: blue"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: red"&gt;android:id&lt;/span&gt;&lt;span style="color: blue"&gt;=&lt;/span&gt;"&lt;span style="color: blue"&gt;@+id/three&lt;/span&gt;"&lt;span style="color: blue"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: red"&gt;...&lt;/span&gt;&lt;span style="color: blue"&gt;/&amp;gt;&lt;/span&gt;
&lt;span style="color: blue"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;&lt;/span&gt;&lt;span style="color: #a31515"&gt;RadioButton&lt;/span&gt;&lt;span style="color: blue"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: red"&gt;android:id&lt;/span&gt;&lt;span style="color: blue"&gt;=&lt;/span&gt;"&lt;span style="color: blue"&gt;@+id/four&lt;/span&gt;"&lt;span style="color: blue"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: red"&gt;...&lt;/span&gt;&lt;span style="color: blue"&gt;/&amp;gt;&lt;/span&gt;
&lt;span style="color: blue"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;/&lt;/span&gt;&lt;span style="color: #a31515"&gt;TableRow&lt;/span&gt;&lt;span style="color: blue"&gt;&amp;gt;&lt;/span&gt;
&lt;span style="color: blue"&gt;&amp;nbsp; &amp;lt;/&lt;/span&gt;&lt;span style="color: #a31515"&gt;TableLayout&lt;/span&gt;&lt;span style="color: blue"&gt;&amp;gt;&lt;/span&gt;
...&lt;br&gt;&lt;/pre&gt;
&lt;p&gt;In our Activity, we add some initialization to handle button selection:&lt;/p&gt;&lt;pre style="font-family: consolas"&gt;@Override&lt;br&gt;&lt;span style="color: blue"&gt;public&lt;/span&gt;&amp;nbsp;&lt;span style="color: blue"&gt;void&lt;/span&gt; onCreate(Bundle savedInstanceState)&lt;br&gt;{&lt;br&gt;&lt;span style="color: green"&gt;    //Do all the standard init junk and then…&lt;/span&gt;&lt;br&gt;&lt;span style="color: blue"&gt;&lt;font color="#000000"&gt;    &lt;/font&gt;for&lt;/span&gt; (Option option : Option.values())&lt;br&gt;    {&lt;br&gt;	RadioButton radio = (RadioButton) &lt;/pre&gt;&lt;pre style="font-family: consolas"&gt;               findViewById(option.getIdInLayout());&lt;br&gt;	&lt;span style="color: blue"&gt;if&lt;/span&gt; (radio != &lt;span style="color: blue"&gt;null&lt;/span&gt;)&lt;br&gt;	{&lt;br&gt;		radio.setOnClickListener(optionOnClickListener);&lt;br&gt;		radio.setTag(option);&lt;br&gt;	}&lt;br&gt;    }&lt;br&gt;}&lt;/pre&gt;
&lt;p&gt;This sets up each radio to call our click listener:&lt;/p&gt;&lt;pre style="font-family: consolas"&gt;RadioButton.OnClickListener optionOnClickListener = &lt;/pre&gt;&lt;pre style="font-family: consolas"&gt;     &lt;span style="color: blue"&gt;new&lt;/span&gt; RadioButton.OnClickListener()&lt;br&gt;{&lt;br&gt;	&lt;span style="color: blue"&gt;public&lt;/span&gt;&amp;nbsp;&lt;span style="color: blue"&gt;void&lt;/span&gt; onClick(View v)&lt;br&gt;	{&lt;br&gt;		Option option = (Option) v.getTag();&lt;br&gt;		&lt;span style="color: green"&gt;//React to your option selection here&lt;/span&gt;&lt;br&gt;		exclusivelySetOption(option);&lt;br&gt;	}&lt;br&gt;};&lt;/pre&gt;
&lt;p&gt;Which then uses our exclusivelySetOption method:&lt;/p&gt;&lt;pre style="font-family: consolas"&gt;&lt;span style="color: blue"&gt;private&lt;/span&gt;&amp;nbsp;&lt;span style="color: blue"&gt;void&lt;/span&gt; exclusivelySetOption(Option selectedOption)&lt;br&gt;{&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color: green"&gt;//Cycle through all options&lt;/span&gt;&lt;br&gt;&lt;span style="color: blue"&gt;&lt;font color="#000000"&gt;    &lt;/font&gt;for&lt;/span&gt; (Option option : Option.values())&lt;br&gt;    {&lt;br&gt;	RadioButton radio = (RadioButton) &lt;/pre&gt;&lt;pre style="font-family: consolas"&gt;             findViewById(option.getIdInLayout());&lt;br&gt;	&lt;span style="color: blue"&gt;if&lt;/span&gt; (radio != &lt;span style="color: blue"&gt;null&lt;/span&gt;)&lt;br&gt;	{&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color: green"&gt;//Check or uncheck as needed&lt;/span&gt;&lt;br&gt;            radio.setChecked(option.ordinal() &lt;/pre&gt;&lt;pre style="font-family: consolas"&gt;                   == selectedOption.ordinal());&lt;br&gt;	}&lt;br&gt;    }&lt;br&gt;}&lt;/pre&gt;
&lt;p&gt;For completeness, you would call exclusivelySetOption in your onResume overload to set the initial radio value:&lt;/p&gt;&lt;pre style="font-family: consolas"&gt;@Override&lt;br&gt;&lt;span style="color: blue"&gt;public&lt;/span&gt;&amp;nbsp;&lt;span style="color: blue"&gt;void&lt;/span&gt; onResume()&lt;br&gt;{&lt;br&gt;    super.onResume();&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Option currentOption = &lt;span style="color: green"&gt;//get what our option should be&lt;/span&gt;&lt;br&gt;    exclusivelySetOption(currentOption);&lt;br&gt;}&lt;/pre&gt;
&lt;p&gt;And there you have it. We have simulated a RadioGroup, layed out our RadioButtons with new found power, and massaged all the id mapping into our enumeration. &lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;hr /&gt;&lt;a href="http://www.devfuel.com"&gt;devfuel.com&lt;/a&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2391037223319513388-4010324684669700104?l=www.devfuel.com' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/Devfuel/~4/rfSyz82CO-I" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://www.devfuel.com/feeds/4010324684669700104/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.devfuel.com/2010/08/android-advanced-radiobutton-layout_18.html#comment-form" title="1 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/2391037223319513388/posts/default/4010324684669700104?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/2391037223319513388/posts/default/4010324684669700104?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/Devfuel/~3/rfSyz82CO-I/android-advanced-radiobutton-layout_18.html" title="Android: Advanced RadioButton layout (columns, etc.) in a RadioGroup" /><author><name>Elliott B. Edwards</name><uri>http://www.blogger.com/profile/16287291748824973988</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="31" src="http://3.bp.blogspot.com/-W-PJamrzniU/ToSs0YpjOBI/AAAAAAAAAEo/T7qpTAD-pHs/s220/el_square_portrait.jpg" /></author><thr:total>1</thr:total><feedburner:origLink>http://www.devfuel.com/2010/08/android-advanced-radiobutton-layout_18.html</feedburner:origLink></entry><entry gd:etag="W/&quot;AkcEQn84cSp7ImA9WhdUE08.&quot;"><id>tag:blogger.com,1999:blog-2391037223319513388.post-4625566146423975564</id><published>2010-06-22T10:06:00.002-07:00</published><updated>2011-09-29T13:26:43.139-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-09-29T13:26:43.139-07:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="separator" /><category scheme="http://www.blogger.com/atom/ns#" term="wpf" /><category scheme="http://www.blogger.com/atom/ns#" term=".net" /><category scheme="http://www.blogger.com/atom/ns#" term="xaml" /><category scheme="http://www.blogger.com/atom/ns#" term="workaround" /><category scheme="http://www.blogger.com/atom/ns#" term="stackpanel" /><title>Workaround: WPF Separator hidden if in a horizontal StackPanel</title><content type="html">&lt;p&gt;The other day I was working with a series of TextBlock controls in a horizontally-oriented StackPanel. When I wanted some visible separation, I naturally chose the Separator control. When it didn’t show up, I was bemused and confused. This is getting to be a familiar place to be as I spelunk the deep caverns of WPF. &lt;/p&gt; &lt;p&gt;It took some digging, but I finally &lt;a href="http://stackoverflow.com/questions/1274370/wpf-toolbar-separator-shrinks-to-nothing-when-inside-a-stackpanel/1274444#1274444"&gt;came across&lt;/a&gt; a workable solution:&lt;/p&gt;&lt;!-- Start block. Created with Code4Blog for Microsoft Visual Studio 2010. Copyright (c)2010 Vitaly Zayko http://zayko.net --&gt; &lt;div style="width: 99.5%; color: black; overflow: auto"&gt;&lt;pre style="margin: 0em"&gt; &lt;span style="color: #0000ff"&gt;&amp;lt;&lt;span style="color: #a31515"&gt;StackPanel&lt;span style="color: #ff0000"&gt; Orientation&lt;span style="color: #0000ff"&gt;="Horizontal"&amp;gt;&lt;/span&gt;&lt;span style="color: #000000"&gt; &lt;/pre&gt;&lt;pre style="margin: 0em"&gt; &lt;span style="color: #a31515"&gt;    &lt;span style="color: #0000ff"&gt;&amp;lt;&lt;span style="color: #a31515"&gt;TextBlock&lt;span style="color: #ff0000"&gt; Text&lt;span style="color: #0000ff"&gt;="A" /&amp;gt;&lt;/span&gt;&lt;span style="color: #000000"&gt; &lt;/pre&gt;&lt;pre style="margin: 0em"&gt; &lt;span style="color: #a31515"&gt;    &lt;span style="color: #0000ff"&gt;&amp;lt;&lt;span style="color: #a31515"&gt;Separator&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;&lt;span style="color: #000000"&gt; &lt;/pre&gt;&lt;pre style="margin: 0em"&gt; &lt;span style="color: #a31515"&gt;        &lt;span style="color: #0000ff"&gt;&amp;lt;&lt;span style="color: #a31515"&gt;Separator.LayoutTransform&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;&lt;span style="color: #000000"&gt; &lt;/pre&gt;&lt;pre style="margin: 0em"&gt; &lt;span style="color: #a31515"&gt;            &lt;span style="color: #0000ff"&gt;&amp;lt;&lt;span style="color: #a31515"&gt;RotateTransform&lt;span style="color: #ff0000"&gt; Angle&lt;span style="color: #0000ff"&gt;="90" /&amp;gt;&lt;/span&gt;&lt;span style="color: #000000"&gt; &lt;/pre&gt;&lt;pre style="margin: 0em"&gt; &lt;span style="color: #a31515"&gt;        &lt;span style="color: #0000ff"&gt;&amp;lt;/&lt;span style="color: #a31515"&gt;Separator.LayoutTransform&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;&lt;span style="color: #000000"&gt; &lt;/pre&gt;&lt;pre style="margin: 0em"&gt; &lt;span style="color: #a31515"&gt;    &lt;span style="color: #0000ff"&gt;&amp;lt;/&lt;span style="color: #a31515"&gt;Separator&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;&lt;span style="color: #000000"&gt; &lt;/pre&gt;&lt;pre style="margin: 0em"&gt; &lt;span style="color: #a31515"&gt;    &lt;span style="color: #0000ff"&gt;&amp;lt;&lt;span style="color: #a31515"&gt;TextBlock&lt;span style="color: #ff0000"&gt; Text&lt;span style="color: #0000ff"&gt;="B" /&amp;gt;&lt;/span&gt;&lt;span style="color: #000000"&gt; &lt;/pre&gt;&lt;pre style="margin: 0em"&gt; &lt;span style="color: #0000ff"&gt;&amp;lt;/&lt;span style="color: #a31515"&gt;StackPanel&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/pre&gt;&lt;pre style="margin: 0em"&gt; &lt;/pre&gt;&lt;/div&gt;&lt;p&gt; It seems the Separator control is not set up to be "self righting" if the parent control has an alternate orientation. Thus the 90 degree twist. After this, the Separator shows as expected.&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;hr /&gt;&lt;a href="http://www.devfuel.com"&gt;devfuel.com&lt;/a&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2391037223319513388-4625566146423975564?l=www.devfuel.com' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/Devfuel/~4/xs6_SB0nFI0" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://www.devfuel.com/feeds/4625566146423975564/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.devfuel.com/2010/06/workaround-wpf-separator-hidden-if-in_22.html#comment-form" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/2391037223319513388/posts/default/4625566146423975564?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/2391037223319513388/posts/default/4625566146423975564?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/Devfuel/~3/xs6_SB0nFI0/workaround-wpf-separator-hidden-if-in_22.html" title="Workaround: WPF Separator hidden if in a horizontal StackPanel" /><author><name>Elliott B. Edwards</name><uri>http://www.blogger.com/profile/16287291748824973988</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="31" src="http://3.bp.blogspot.com/-W-PJamrzniU/ToSs0YpjOBI/AAAAAAAAAEo/T7qpTAD-pHs/s220/el_square_portrait.jpg" /></author><thr:total>0</thr:total><feedburner:origLink>http://www.devfuel.com/2010/06/workaround-wpf-separator-hidden-if-in_22.html</feedburner:origLink></entry><entry gd:etag="W/&quot;AkcEQn8-fip7ImA9WhdUE08.&quot;"><id>tag:blogger.com,1999:blog-2391037223319513388.post-525964812687100487</id><published>2010-04-22T09:56:00.001-07:00</published><updated>2011-09-29T13:26:43.156-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-09-29T13:26:43.156-07:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="blogger" /><category scheme="http://www.blogger.com/atom/ns#" term="social media" /><category scheme="http://www.blogger.com/atom/ns#" term="template" /><category scheme="http://www.blogger.com/atom/ns#" term="facebook" /><title>Blogger: Add Facebook "Like" button to each post</title><content type="html">&lt;p&gt;
Amit, over at Digital Inspiration, &lt;a href="http://www.labnol.org/internet/add-facebook-plugins-to-website/13505/"&gt;laid out some simple steps&lt;/a&gt; to getting the new FaceBook "Like" button onto your Blogger site. &lt;b&gt;If only&lt;/b&gt; it had worked for me...&lt;/p&gt;

&lt;p&gt;
But, being a developer, I dug a bit into the Blogger templating engine and figured out how to make it work for real in a modern template. The snippet you want is:&lt;/p&gt;

&lt;div style="font-family: Courier New; font-size: 10pt; color: black; background: white; font-family: Consolas, 'Courier New', Courier, Monospace; font-size: 10pt; color: black; background: white; background-color: #FFFFCC; padding: .5em; overflow:scroll; border-top: 1px solid #eee; border-left: 1px solid #eee;"&gt; &lt;pre style="margin: 0px;"&gt;&amp;lt;iframe 
   allowTransparency='true' 
   frameborder='0' 
   scrolling='no' 
   expr:src='"http://www.facebook.com/plugins/like.php?href=" 
             + data:post.url 
             + "&amp;amp;amp;layout=standard&amp;amp;amp;show_faces=true&amp;amp;amp;"
             + "width=530&amp;amp;amp;height=60&amp;amp;amp;action=like&amp;amp;amp;"
             + "colorscheme=light"' 
   style='border:none; overflow:hidden; width:530px; height:60px'/&amp;gt;
&lt;/pre&gt;&lt;/div&gt;

&lt;p&gt;
The "expr:src" tells the engine to interpret the XML attribute as an expression. The single quotes allow you to nest double quotes inside. The quoted sections are the parts that won't change, and the "data:post.url" is replaced with the fixed url for the given post.&lt;/p&gt;

&lt;p&gt;
As to where to put it, that really depends on your intention and current blogger template. In general, though, you need to edit your HTML template:&lt;/p&gt;

&lt;pre&gt;Layout Tab -&gt; Edit HTML&lt;/pre&gt;

&lt;p&gt;
&lt;b&gt;Warning! Manually editing your template can hose your entire blog if done wrong. Be sure to back it up (instructions are on the Edit HTML page), and don't blame anyone but yourself if you mess it up!&lt;/b&gt;&lt;/p&gt;

&lt;p&gt;
In the edit box, search for "&amp;lt;b:includable id='post' var='post'&amp;gt;". That is the beginning of the post template. You should be able to make out the various parts of the post (comments, edit button, title, etc.) Try pasting the above snippet in various areas and then pressing the "Preview" button. (This lets you try it before you "buy" it ;) If you get a working "Like" button on each post, you are done!&lt;/p&gt;

&lt;p&gt;
Good Luck!&lt;/p&gt;

&lt;p&gt;
&lt;b&gt;UPDATE 1 - No Line Breaks&lt;/b&gt;&lt;/p&gt;

&lt;p&gt;
In case you have issues, here is the version with all the clarifying formatting removed and no line breaks:&lt;/p&gt;

&lt;div style="font-family: Courier New; font-size: 10pt; color: black; background: white; font-family: Consolas, 'Courier New', Courier, Monospace; font-size: 10pt; color: black; background: white; background-color: #FFFFCC; padding: .5em; overflow:scroll; border-top: 1px solid #eee; border-left: 1px solid #eee;"&gt; &lt;pre style="margin: 0px;"&gt;&amp;lt;iframe allowTransparency='true' expr:src='&amp;quot;http://www.facebook.com/plugins/like.php?href=&amp;quot; + data:post.url + &amp;quot;&amp;amp;amp;layout=standard&amp;amp;amp;show_faces=true&amp;amp;amp;width=530&amp;amp;amp;height=60&amp;amp;amp;action=like&amp;amp;amp;colorscheme=light&amp;quot;' frameborder='0' scrolling='no' style='border:none; overflow:hidden; width:530px; height:60px'/&amp;gt;
&lt;/pre&gt;&lt;/div&gt;

&lt;p&gt;
Note: When you paste this into the HTML editor, ensure that the snippet begins with "&amp;lt;iframe" and not "&amp;amp;lt;iframe". The snippet had to be escaped in order to display correctly in the HTML of this blog, but you need the real deal.&lt;/p&gt;

&lt;p&gt;
In addition, if you are using the blogger in draft template designer, be aware that there are some HTML editor errors that occur under certain conditions. If you are getting a mysterious error code, try switching to the draft HTML editor. (while on the Edit HTML page, replace "www" in the address bar with "draft") I had to change some attributes from having the value "" to having " " (a space) in order to work.&lt;/p&gt;

&lt;p&gt;
&lt;b&gt;UPDATE 2 - String escapes&lt;/b&gt;&lt;/p&gt;

&lt;p&gt;As reported by some readers, the previous drafts of this post were not correctly formatted. Inside the expr:src quoted strings, you need "&amp;amp;amp;" instead of "&amp;amp;". The above examples have been updated to allow for direct copy and paste.
&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;hr /&gt;&lt;a href="http://www.devfuel.com"&gt;devfuel.com&lt;/a&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2391037223319513388-525964812687100487?l=www.devfuel.com' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/Devfuel/~4/rP5V8dqta8I" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://www.devfuel.com/feeds/525964812687100487/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.devfuel.com/2010/04/blogger-add-facebook-button-to-each.html#comment-form" title="49 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/2391037223319513388/posts/default/525964812687100487?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/2391037223319513388/posts/default/525964812687100487?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/Devfuel/~3/rP5V8dqta8I/blogger-add-facebook-button-to-each.html" title="Blogger: Add Facebook &amp;quot;Like&amp;quot; button to each post" /><author><name>Elliott B. Edwards</name><uri>http://www.blogger.com/profile/16287291748824973988</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="31" src="http://3.bp.blogspot.com/-W-PJamrzniU/ToSs0YpjOBI/AAAAAAAAAEo/T7qpTAD-pHs/s220/el_square_portrait.jpg" /></author><thr:total>49</thr:total><feedburner:origLink>http://www.devfuel.com/2010/04/blogger-add-facebook-button-to-each.html</feedburner:origLink></entry><entry gd:etag="W/&quot;AkcEQnw6fyp7ImA9WhdUE08.&quot;"><id>tag:blogger.com,1999:blog-2391037223319513388.post-5748605276278683838</id><published>2010-02-02T12:05:00.002-08:00</published><updated>2011-09-29T13:26:43.217-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-09-29T13:26:43.217-07:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="atom" /><category scheme="http://www.blogger.com/atom/ns#" term="blogger" /><category scheme="http://www.blogger.com/atom/ns#" term="seo" /><category scheme="http://www.blogger.com/atom/ns#" term="sitemap" /><category scheme="http://www.blogger.com/atom/ns#" term="mvc" /><category scheme="http://www.blogger.com/atom/ns#" term="asp.net" /><title>Free, automated Google Sitemap for your Blogger site</title><content type="html">&lt;p&gt;I am sure that this is well-known for an elite few SEO-type folks, but it is new to me, and thus I am posting it for posterity.&lt;/p&gt;&lt;p&gt;Strayed across some choice tidbits today. Was doing the work to make a custom &lt;a href="http://www.asp.net/mvc/"&gt;ASP.NET MVC&lt;/a&gt; site have an automated &lt;a href="http://www.sitemaps.org/"&gt;Sitemap&lt;/a&gt; stream and suddenly realized that various blogs that I maintain did not have this service either.&lt;/p&gt;
&lt;p&gt;Ever wary of &lt;em&gt;re-Inventing wheel-like structures&lt;/em&gt;, I did some digging and came across &lt;a href="http://theos.in/hakuna-matata/adding-google-sitemap-to-bloggercom-blog-account/"&gt;this&lt;/a&gt; (slightly outdated) reference on how to use the ATOM feed of a blogger site as a sitemap. More important, however, was the user comments that suggested using the following URL for a live sitemap feed:&lt;/p&gt;
&lt;div style="font-family: Courier New; font-size: 10pt; color: black; background: white; font-family: Consolas, 'Courier New', Courier, Monospace; font-size: 10pt; color: black; background: white; background-color: #FFFFCC; padding: .5em; overflow:scroll; border-top: 1px solid #eee; border-left: 1px solid #eee;"&gt; &lt;pre style="margin: 0px;"&gt;atom.xml?redirect=false&amp;start-index=1&amp;max-results=100&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;Since &lt;a href="http://www.google.com/webmasters/tools/"&gt;Google Webmaster Tools&lt;/a&gt; no longer allows a full sitemap URL, copying and pasting that value into the sitemap add UI will yield delicious, automated discovery of Blogger.com content.&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;hr /&gt;&lt;a href="http://www.devfuel.com"&gt;devfuel.com&lt;/a&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2391037223319513388-5748605276278683838?l=www.devfuel.com' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/Devfuel/~4/ndQkUcPIc7A" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://www.devfuel.com/feeds/5748605276278683838/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.devfuel.com/2010/02/free-automated-google-sitemap-for-your_02.html#comment-form" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/2391037223319513388/posts/default/5748605276278683838?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/2391037223319513388/posts/default/5748605276278683838?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/Devfuel/~3/ndQkUcPIc7A/free-automated-google-sitemap-for-your_02.html" title="Free, automated Google Sitemap for your Blogger site" /><author><name>Elliott B. Edwards</name><uri>http://www.blogger.com/profile/16287291748824973988</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="31" src="http://3.bp.blogspot.com/-W-PJamrzniU/ToSs0YpjOBI/AAAAAAAAAEo/T7qpTAD-pHs/s220/el_square_portrait.jpg" /></author><thr:total>0</thr:total><feedburner:origLink>http://www.devfuel.com/2010/02/free-automated-google-sitemap-for-your_02.html</feedburner:origLink></entry><entry gd:etag="W/&quot;AkcEQn8yfSp7ImA9WhdUE08.&quot;"><id>tag:blogger.com,1999:blog-2391037223319513388.post-5531842067267447465</id><published>2009-11-20T10:19:00.001-08:00</published><updated>2011-09-29T13:26:43.195-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-09-29T13:26:43.195-07:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="twitter" /><title>Flocking together</title><content type="html">&lt;a href="http://twitter.com/devfuel"&gt;DevFuel is now tweeting&lt;/a&gt;.&lt;div class="blogger-post-footer"&gt;&lt;hr /&gt;&lt;a href="http://www.devfuel.com"&gt;devfuel.com&lt;/a&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2391037223319513388-5531842067267447465?l=www.devfuel.com' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/Devfuel/~4/MinAcY43-Ug" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://www.devfuel.com/feeds/5531842067267447465/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.devfuel.com/2009/11/flocking-together_20.html#comment-form" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/2391037223319513388/posts/default/5531842067267447465?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/2391037223319513388/posts/default/5531842067267447465?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/Devfuel/~3/MinAcY43-Ug/flocking-together_20.html" title="Flocking together" /><author><name>Elliott B. Edwards</name><uri>http://www.blogger.com/profile/16287291748824973988</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="31" src="http://3.bp.blogspot.com/-W-PJamrzniU/ToSs0YpjOBI/AAAAAAAAAEo/T7qpTAD-pHs/s220/el_square_portrait.jpg" /></author><thr:total>0</thr:total><feedburner:origLink>http://www.devfuel.com/2009/11/flocking-together_20.html</feedburner:origLink></entry><entry gd:etag="W/&quot;AkcEQn88cSp7ImA9WhdUE08.&quot;"><id>tag:blogger.com,1999:blog-2391037223319513388.post-5410860370545656245</id><published>2009-10-27T13:18:00.002-07:00</published><updated>2011-09-29T13:26:43.179-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-09-29T13:26:43.179-07:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="win7" /><category scheme="http://www.blogger.com/atom/ns#" term="autopublish" /><category scheme="http://www.blogger.com/atom/ns#" term="windows7" /><category scheme="http://www.blogger.com/atom/ns#" term="virtual application" /><category scheme="http://www.blogger.com/atom/ns#" term="windows" /><category scheme="http://www.blogger.com/atom/ns#" term="xpmode" /><title>Windows 7 XP Mode: Manually Add Virtual Application Link</title><content type="html">&lt;p&gt;I was playing around with Windows 7 on my work machine and got the Windows XP Mode working. I loved how installing an application on the virtual machine creates a “virtual application” link in the host Windows 7 environment. However, while the first application I installed worked perfectly, the second failed to autopublish a link to Windows 7. &lt;/p&gt; &lt;br/&gt; &lt;p&gt;Turns out that you need to have the install link available for all users in order to autopublish. So I just dragged and dropped a shortcut into Documents and Settings\All Users\Programs and logged off the virtual machine. Voila, the link autopublished. &lt;/p&gt; &lt;br/&gt; &lt;p&gt;In the future, I will make sure to install applications for “all users” to avoid having to do this step. Someone mentioned that they thought the autopublish only worked for Microsoft Installer based applications, but I am skeptical. Instead I am betting that certain non-Microsoft installers are more likely to default to installing for the current user/and/or the suggestor of this idea chose “install for current user” on these applications (as was in the case of my second, non-publishing install).&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;hr /&gt;&lt;a href="http://www.devfuel.com"&gt;devfuel.com&lt;/a&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2391037223319513388-5410860370545656245?l=www.devfuel.com' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/Devfuel/~4/x1gD7XtMiHQ" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://www.devfuel.com/feeds/5410860370545656245/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.devfuel.com/2009/10/windows-7-xp-mode-manually-add-virtual_27.html#comment-form" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/2391037223319513388/posts/default/5410860370545656245?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/2391037223319513388/posts/default/5410860370545656245?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/Devfuel/~3/x1gD7XtMiHQ/windows-7-xp-mode-manually-add-virtual_27.html" title="Windows 7 XP Mode: Manually Add Virtual Application Link" /><author><name>Elliott B. Edwards</name><uri>http://www.blogger.com/profile/16287291748824973988</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="31" src="http://3.bp.blogspot.com/-W-PJamrzniU/ToSs0YpjOBI/AAAAAAAAAEo/T7qpTAD-pHs/s220/el_square_portrait.jpg" /></author><thr:total>0</thr:total><feedburner:origLink>http://www.devfuel.com/2009/10/windows-7-xp-mode-manually-add-virtual_27.html</feedburner:origLink></entry><entry gd:etag="W/&quot;AkcEQn45cSp7ImA9WhdUE08.&quot;"><id>tag:blogger.com,1999:blog-2391037223319513388.post-279981495971393722</id><published>2009-10-23T07:30:00.001-07:00</published><updated>2011-09-29T13:26:43.029-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-09-29T13:26:43.029-07:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="workaround" /><category scheme="http://www.blogger.com/atom/ns#" term="chrome" /><title>Google Chrome 4.0.223.9 Crashes (development branch workaround)</title><content type="html">Was getting pretty regular crashes when clicking on links in Chrome. After disabling the RSS extension, everything is hunky-dorey again:&lt;br/&gt;&lt;div&gt;&lt;span style="font-weight:bold;"&gt;
Wrench Menu-&gt;Extensions-&gt;disable button on RSS extension&lt;/span&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;hr /&gt;&lt;a href="http://www.devfuel.com"&gt;devfuel.com&lt;/a&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2391037223319513388-279981495971393722?l=www.devfuel.com' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/Devfuel/~4/dXPeMkhIBMA" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://www.devfuel.com/feeds/279981495971393722/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.devfuel.com/2009/10/google-chrome-402239-crashes_23.html#comment-form" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/2391037223319513388/posts/default/279981495971393722?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/2391037223319513388/posts/default/279981495971393722?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/Devfuel/~3/dXPeMkhIBMA/google-chrome-402239-crashes_23.html" title="Google Chrome 4.0.223.9 Crashes (development branch workaround)" /><author><name>Elliott B. Edwards</name><uri>http://www.blogger.com/profile/16287291748824973988</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="31" src="http://3.bp.blogspot.com/-W-PJamrzniU/ToSs0YpjOBI/AAAAAAAAAEo/T7qpTAD-pHs/s220/el_square_portrait.jpg" /></author><thr:total>0</thr:total><feedburner:origLink>http://www.devfuel.com/2009/10/google-chrome-402239-crashes_23.html</feedburner:origLink></entry><entry gd:etag="W/&quot;AkcEQnw-fyp7ImA9WhdUE08.&quot;"><id>tag:blogger.com,1999:blog-2391037223319513388.post-6583856330217243456</id><published>2009-10-05T10:15:00.002-07:00</published><updated>2011-09-29T13:26:43.257-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-09-29T13:26:43.257-07:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="sync" /><category scheme="http://www.blogger.com/atom/ns#" term="chrome" /><category scheme="http://www.blogger.com/atom/ns#" term="google" /><category scheme="http://www.blogger.com/atom/ns#" term="browser" /><title>Chrome Bookmark Sync on by default? (development branch)</title><content type="html">&lt;p&gt;This morning I noticed some links at the bottom of the excellent Google Chrome “New Tab” page. Although I am running the development build of Chrome, I hadn’t specified the command line parameters that enable &lt;a href="http://googlesystem.blogspot.com/2009/08/sync-google-chrome-bookmarks.html"&gt;bookmark sync&lt;/a&gt;. &lt;/p&gt;  &lt;p&gt;So I went out on a limb and tried it out. Indeed, it does what one would expect. Previously I had been using evernote to share/log links. This looks like a much better system for having my organized links on any machine I work on. I should have tried it when it was first released, but oh well…just a bit behind the curve. If you have the development branch of Chrome, give it a try!&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;hr /&gt;&lt;a href="http://www.devfuel.com"&gt;devfuel.com&lt;/a&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2391037223319513388-6583856330217243456?l=www.devfuel.com' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/Devfuel/~4/Khz3sODYWHQ" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://www.devfuel.com/feeds/6583856330217243456/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.devfuel.com/2009/10/chrome-bookmark-sync-on-by-default_05.html#comment-form" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/2391037223319513388/posts/default/6583856330217243456?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/2391037223319513388/posts/default/6583856330217243456?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/Devfuel/~3/Khz3sODYWHQ/chrome-bookmark-sync-on-by-default_05.html" title="Chrome Bookmark Sync on by default? (development branch)" /><author><name>Elliott B. Edwards</name><uri>http://www.blogger.com/profile/16287291748824973988</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="31" src="http://3.bp.blogspot.com/-W-PJamrzniU/ToSs0YpjOBI/AAAAAAAAAEo/T7qpTAD-pHs/s220/el_square_portrait.jpg" /></author><thr:total>0</thr:total><feedburner:origLink>http://www.devfuel.com/2009/10/chrome-bookmark-sync-on-by-default_05.html</feedburner:origLink></entry><entry gd:etag="W/&quot;AkcEQn07fip7ImA9WhdUE08.&quot;"><id>tag:blogger.com,1999:blog-2391037223319513388.post-7131215686273053259</id><published>2009-06-12T09:10:00.001-07:00</published><updated>2011-09-29T13:26:43.306-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-09-29T13:26:43.306-07:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="msdn" /><category scheme="http://www.blogger.com/atom/ns#" term="documentation" /><category scheme="http://www.blogger.com/atom/ns#" term="search engine" /><category scheme="http://www.blogger.com/atom/ns#" term="browser" /><title>Google Custom Search + MSDN + Chrome Omnibox = bliss</title><content type="html">&lt;p&gt;So, this is a technology fusion post. The ability to do this has been around for a while, but I have just recently put &lt;span style="font-weight:bold;"&gt;one and one and one together to get three&lt;/span&gt;.&lt;/p&gt;
&lt;p&gt;MSDN is well known for being a monolithic, barely navigable Leviathan of a programmer resource. For the most part, I have avoided it by using the local version installed by Visual Studio. However, at my home machine, I have opted out of the huge MSDN install and started using the online version instead. Typically this consisted of doing a google search with "msdn" as a keyword.&lt;/p&gt;
&lt;p&gt;Recently, while &lt;a href="http://www.google.com/support/chrome/bin/answer.py?answer=95653"&gt;setting up a custom search engine&lt;/a&gt; for the &lt;a href="http://www.google.com/support/chrome/bin/answer.py?answer=95440&amp;hl=en"&gt;Omnibox in Chrome&lt;/a&gt;, it occurred to me that there is a better way.&lt;/p&gt;
&lt;p&gt;After a bit of time, i have tacked together the following:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;Find a &lt;a href="http://www.google.com/cse?cx=018205968162215846785:zeur6t7rqb8"&gt;Google Custom Search tailored for MSDN&lt;/a&gt; (tip of the hat to &lt;a href="http://stackoverflow.com/users/3043/joel-coehoorn"&gt;Joel Coehoorn&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;Familiarize yourself with the &lt;a href="http://www.google.com/support/chrome/bin/answer.py?answer=95655"&gt;Omnibox search shortcuts&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://www.google.com/support/chrome/bin/answer.py?answer=95653"&gt;Set up a custom search engine for Chome&lt;/a&gt; that points to your custom google search:&lt;/li&gt;
&lt;/ol&gt;
&lt;blockquote&gt;&lt;span style="font-weight:bold;"&gt;Name:&lt;/span&gt;MSDN&lt;br /&gt;
&lt;span style="font-weight:bold;"&gt;Shortcut:&lt;/span&gt;msdn&lt;br /&gt;
&lt;span style="font-weight:bold;"&gt;URL:&lt;/span&gt;&lt;pre&gt;http://www.google.com/cse?cx=018205968162215846785:zeur6t7rqb8 
&amp;ie=UTF-8&amp;q=%s&amp;sa=Search&lt;/pre&gt;
[Note: Although this URL is on two lines for long line wrapping purposes, you will need to rejoin them for entry in Chrome.]&lt;/blockquote&gt;
&lt;p&gt;So now a reasonable MSDN search can be accomplished in the browser via shortcuts. Typing "msdn" [TAB] "object" gives the System.Object entry as the first result. Next on my list would be getting the results to be in the &lt;a href="http://weblogs.asp.net/jgalloway/archive/2008/08/30/msdn-low-bandwidth-bookmarklet.aspx"&gt;loband version of MSDN&lt;/a&gt;.&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;hr /&gt;&lt;a href="http://www.devfuel.com"&gt;devfuel.com&lt;/a&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2391037223319513388-7131215686273053259?l=www.devfuel.com' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/Devfuel/~4/d7Yp-FzMkpg" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://www.devfuel.com/feeds/7131215686273053259/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.devfuel.com/2009/06/google-custom-search-msdn-chrome_12.html#comment-form" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/2391037223319513388/posts/default/7131215686273053259?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/2391037223319513388/posts/default/7131215686273053259?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/Devfuel/~3/d7Yp-FzMkpg/google-custom-search-msdn-chrome_12.html" title="Google Custom Search + MSDN + Chrome Omnibox = bliss" /><author><name>Elliott B. Edwards</name><uri>http://www.blogger.com/profile/16287291748824973988</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="31" src="http://3.bp.blogspot.com/-W-PJamrzniU/ToSs0YpjOBI/AAAAAAAAAEo/T7qpTAD-pHs/s220/el_square_portrait.jpg" /></author><thr:total>0</thr:total><feedburner:origLink>http://www.devfuel.com/2009/06/google-custom-search-msdn-chrome_12.html</feedburner:origLink></entry><entry gd:etag="W/&quot;AkcEQnwyfip7ImA9WhdUE08.&quot;"><id>tag:blogger.com,1999:blog-2391037223319513388.post-709872976339775420</id><published>2009-01-21T10:24:00.002-08:00</published><updated>2011-09-29T13:26:43.296-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-09-29T13:26:43.296-07:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="quote" /><category scheme="http://www.blogger.com/atom/ns#" term="humor" /><title>Classic C++ Quote</title><content type="html">Referring to a particularly heinous block of legacy code:   &lt;blockquote&gt;In a COM-Wrapped DLL, having a class named &amp;quot;CGlobals&amp;quot;  that is both global and static is like having a class named &amp;quot;CMemoryLeak&amp;quot; - TSE &lt;/blockquote&gt;  &lt;div class="blogger-post-footer"&gt;&lt;hr /&gt;&lt;a href="http://www.devfuel.com"&gt;devfuel.com&lt;/a&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2391037223319513388-709872976339775420?l=www.devfuel.com' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/Devfuel/~4/TrvOW_9giw4" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://www.devfuel.com/feeds/709872976339775420/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.devfuel.com/2009/01/classic-c-quote_21.html#comment-form" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/2391037223319513388/posts/default/709872976339775420?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/2391037223319513388/posts/default/709872976339775420?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/Devfuel/~3/TrvOW_9giw4/classic-c-quote_21.html" title="Classic C++ Quote" /><author><name>Elliott B. Edwards</name><uri>http://www.blogger.com/profile/16287291748824973988</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="31" src="http://3.bp.blogspot.com/-W-PJamrzniU/ToSs0YpjOBI/AAAAAAAAAEo/T7qpTAD-pHs/s220/el_square_portrait.jpg" /></author><thr:total>0</thr:total><feedburner:origLink>http://www.devfuel.com/2009/01/classic-c-quote_21.html</feedburner:origLink></entry><entry gd:etag="W/&quot;AkcEQn4-fCp7ImA9WhdUE08.&quot;"><id>tag:blogger.com,1999:blog-2391037223319513388.post-3337108154237494990</id><published>2009-01-13T09:18:00.002-08:00</published><updated>2011-09-29T13:26:43.054-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-09-29T13:26:43.054-07:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="howto" /><category scheme="http://www.blogger.com/atom/ns#" term="xmltextwriter" /><category scheme="http://www.blogger.com/atom/ns#" term="quotes" /><category scheme="http://www.blogger.com/atom/ns#" term="c#" /><category scheme="http://www.blogger.com/atom/ns#" term="xmldocument" /><title>Howto: Save an XmlDocument with single-quoted attributes</title><content type="html">&lt;p&gt;There are some cases in which one has to deal with non-standard XML serialization. We all know why this can happen, (cough, cough, legacy code) but then we have to make things work anyway. So...say you are reading and writing XML that uses single quotes instead of double quotes to surround attributes (its valid, just non-standard). If you used XmlDocument.Save() to write out the DOM, you then may have been dismayed to see double quotes. So how to make .NET spit out single quotes?&lt;/p&gt;  &lt;div style="font-family: Courier New; font-size: 10pt; color: black; background: white; font-family: Consolas, 'Courier New', Courier, Monospace; font-size: 10pt; color: black; background: white; background-color: #FFFFCC; padding: .5em; overflow:scroll; border-top: 1px solid #eee; border-left: 1px solid #eee;"&gt; &lt;pre style="margin: 0px;"&gt;&lt;span style="color: blue;"&gt;public&lt;/span&gt; &lt;span style="color: blue;"&gt;void&lt;/span&gt; WriteSingleQuotedXml(&lt;span style="color: #2b91af;"&gt;XmlDocument&lt;/span&gt; document, &lt;span style="color: blue;"&gt;string&lt;/span&gt; path)&lt;/pre&gt;
&lt;pre style="margin: 0px;"&gt;{&lt;/pre&gt;
&lt;pre style="margin: 0px;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color: blue;"&gt;using&lt;/span&gt; (&lt;span style="color: #2b91af;"&gt;XmlTextWriter&lt;/span&gt; writer = &lt;/pre&gt;
&lt;pre style="margin: 0px;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color: blue;"&gt;new&lt;/span&gt; &lt;span style="color: #2b91af;"&gt;XmlTextWriter&lt;/span&gt;(path, System.Text.&lt;span style="color: #2b91af;"&gt;Encoding&lt;/span&gt;.Default))&lt;/pre&gt;
&lt;pre style="margin: 0px;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;/pre&gt;
&lt;pre style="margin: 0px;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color: green;"&gt;//Save using single quotes around attributes, etc&lt;/span&gt;&lt;/pre&gt;
&lt;pre style="margin: 0px;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; writer.QuoteChar = &lt;span style="color: #a31515;"&gt;'\''&lt;/span&gt;;&lt;/pre&gt;
&lt;pre style="margin: 0px;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color: green;"&gt;// Write XML data.&lt;/span&gt;&lt;/pre&gt;
&lt;pre style="margin: 0px;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; document.Save(writer);&lt;/pre&gt;
&lt;pre style="margin: 0px;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/pre&gt;
&lt;pre style="margin: 0px;"&gt;}&lt;/pre&gt;
&lt;/div&gt;
&lt;p&gt;Now that that is out of the way, perhaps you need to &lt;a href="http://www.devfuel.com/2007/03/xmlserializer-now-with-less-xmlnsxsi.html"&gt;get rid of the leading  &amp;quot;&amp;lt; ? x m l &amp;gt;&amp;quot;, &amp;quot;xmlns:xsi&amp;quot; and &amp;quot;xmlns:xsd&amp;quot; stuff?&lt;/a&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;hr /&gt;&lt;a href="http://www.devfuel.com"&gt;devfuel.com&lt;/a&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2391037223319513388-3337108154237494990?l=www.devfuel.com' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/Devfuel/~4/FX1U4Qtod8U" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://www.devfuel.com/feeds/3337108154237494990/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.devfuel.com/2009/01/howto-save-xmldocument-with-single_13.html#comment-form" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/2391037223319513388/posts/default/3337108154237494990?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/2391037223319513388/posts/default/3337108154237494990?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/Devfuel/~3/FX1U4Qtod8U/howto-save-xmldocument-with-single_13.html" title="Howto: Save an XmlDocument with single-quoted attributes" /><author><name>Elliott B. Edwards</name><uri>http://www.blogger.com/profile/16287291748824973988</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="31" src="http://3.bp.blogspot.com/-W-PJamrzniU/ToSs0YpjOBI/AAAAAAAAAEo/T7qpTAD-pHs/s220/el_square_portrait.jpg" /></author><thr:total>0</thr:total><feedburner:origLink>http://www.devfuel.com/2009/01/howto-save-xmldocument-with-single_13.html</feedburner:origLink></entry><entry gd:etag="W/&quot;AkcEQn48eyp7ImA9WhdUE08.&quot;"><id>tag:blogger.com,1999:blog-2391037223319513388.post-3579505099418445697</id><published>2009-01-11T01:15:00.001-08:00</published><updated>2011-09-29T13:26:43.073-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-09-29T13:26:43.073-07:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="blogger" /><category scheme="http://www.blogger.com/atom/ns#" term="gcal" /><category scheme="http://www.blogger.com/atom/ns#" term="free" /><category scheme="http://www.blogger.com/atom/ns#" term="calendar" /><category scheme="http://www.blogger.com/atom/ns#" term="gcalview" /><category scheme="http://www.blogger.com/atom/ns#" term="aggregate" /><category scheme="http://www.blogger.com/atom/ns#" term="widget" /><category scheme="http://www.blogger.com/atom/ns#" term="google" /><title>gcalview - Free Google Calendar Blogger Widget</title><content type="html">&lt;a href="http://code.google.com/p/gcalview/wiki/AddToBlogger"&gt;Click to add gcalview to Blogger&lt;/a&gt;.&lt;div class="blogger-post-footer"&gt;&lt;hr /&gt;&lt;a href="http://www.devfuel.com"&gt;devfuel.com&lt;/a&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2391037223319513388-3579505099418445697?l=www.devfuel.com' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/Devfuel/~4/wIpIe001ZJw" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://www.devfuel.com/feeds/3579505099418445697/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.devfuel.com/2009/01/gcalview-free-google-calendar-blogger_11.html#comment-form" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/2391037223319513388/posts/default/3579505099418445697?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/2391037223319513388/posts/default/3579505099418445697?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/Devfuel/~3/wIpIe001ZJw/gcalview-free-google-calendar-blogger_11.html" title="gcalview - Free Google Calendar Blogger Widget" /><author><name>Elliott B. Edwards</name><uri>http://www.blogger.com/profile/16287291748824973988</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="31" src="http://3.bp.blogspot.com/-W-PJamrzniU/ToSs0YpjOBI/AAAAAAAAAEo/T7qpTAD-pHs/s220/el_square_portrait.jpg" /></author><thr:total>0</thr:total><feedburner:origLink>http://www.devfuel.com/2009/01/gcalview-free-google-calendar-blogger_11.html</feedburner:origLink></entry><entry gd:etag="W/&quot;AkcEQn8zfyp7ImA9WhdUE08.&quot;"><id>tag:blogger.com,1999:blog-2391037223319513388.post-5499047236732312548</id><published>2009-01-11T00:51:00.002-08:00</published><updated>2011-09-29T13:26:43.187-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-09-29T13:26:43.187-07:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="gcal" /><category scheme="http://www.blogger.com/atom/ns#" term="gdata" /><category scheme="http://www.blogger.com/atom/ns#" term="calendar" /><category scheme="http://www.blogger.com/atom/ns#" term="gcalview" /><category scheme="http://www.blogger.com/atom/ns#" term="aggregate" /><category scheme="http://www.blogger.com/atom/ns#" term="google" /><category scheme="http://www.blogger.com/atom/ns#" term="feed" /><title>gcalview - Display events from multiple Google Calendars in your website</title><content type="html">&lt;p&gt;&lt;img src="http://gcalview.googlecode.com/svn/wiki/img/preview.png" align="right"/&gt; &lt;/p&gt;&lt;h1&gt;gcalview&lt;/h1&gt;&lt;i&gt;HTML+Javascript for aggregating and displaying multiple public Google Calendar Feeds&lt;/i&gt;&lt;p&gt;&lt;a href="http://calendar.google.com" &gt;Google Calendar&lt;/a&gt; makes it easy to have and maintain a public calendar. There is even an official Google Calendar Widget that can be &lt;a href="http://www.google.com/support/calendar/bin/answer.py?hl=en&amp;amp;answer=41207" &gt;embedded&lt;/a&gt; into a web page. However, this project seeks to be an alternative widget that is themeable, compact, and supports multiple public feeds (feed aggregation). &lt;/p&gt;&lt;p&gt;Built in &lt;a href="http://code.google.com/p/gcalview/wiki/JavaScriptAndHtml"&gt;Javascript and HTML&lt;/a&gt;, this project allows simple embedding of a Google Calendar Aggregation widget using JSON and gdata. &lt;/p&gt;&lt;h2&gt;Features&lt;/h2&gt;&lt;ul&gt;&lt;li&gt;Aggregate multiple Google Calendar feeds into a single &lt;a href="http://code.google.com/p/gcalview/wiki/JavaScriptAndHtml"&gt;Javascript+HTML&lt;/a&gt; widget. &lt;/li&gt;&lt;li&gt;&lt;a href="http://code.google.com/p/gcalview/wiki/AddingGcalView"&gt;Manually adding gcalview&lt;/a&gt; to your web page is easy. &lt;/li&gt;&lt;li&gt;&lt;a href="http://code.google.com/p/gcalview/wiki/StylingGcalView"&gt;Styling gcalview&lt;/a&gt; with your own colors, text styles, and layouts in CSS is also easy. &lt;/li&gt;&lt;li&gt;Upcoming events are ordered by &amp;quot;proximity&amp;quot; to the current date. &lt;/li&gt;&lt;li&gt;Intuitive categories of &amp;quot;Today&amp;quot;, &amp;quot;This Week&amp;quot;, &amp;quot;Next Week&amp;quot;, etc. are used to organize and prioritize. &lt;/li&gt;&lt;li&gt;Event details are hidden and shown inline (by clicking the &amp;quot;+&amp;quot;) to allow for a compact representation. &lt;/li&gt;&lt;/ul&gt;&lt;p&gt;  &lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;hr /&gt;&lt;a href="http://www.devfuel.com"&gt;devfuel.com&lt;/a&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2391037223319513388-5499047236732312548?l=www.devfuel.com' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/Devfuel/~4/RsgPtAWfD8A" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://www.devfuel.com/feeds/5499047236732312548/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.devfuel.com/2009/01/gcalview-display-events-from-multiple_11.html#comment-form" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/2391037223319513388/posts/default/5499047236732312548?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/2391037223319513388/posts/default/5499047236732312548?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/Devfuel/~3/RsgPtAWfD8A/gcalview-display-events-from-multiple_11.html" title="gcalview - Display events from multiple Google Calendars in your website" /><author><name>Elliott B. Edwards</name><uri>http://www.blogger.com/profile/16287291748824973988</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="31" src="http://3.bp.blogspot.com/-W-PJamrzniU/ToSs0YpjOBI/AAAAAAAAAEo/T7qpTAD-pHs/s220/el_square_portrait.jpg" /></author><thr:total>0</thr:total><feedburner:origLink>http://www.devfuel.com/2009/01/gcalview-display-events-from-multiple_11.html</feedburner:origLink></entry><entry gd:etag="W/&quot;AkcEQ3c7eSp7ImA9WhdUE08.&quot;"><id>tag:blogger.com,1999:blog-2391037223319513388.post-160485654970651039</id><published>2008-12-22T08:37:00.001-08:00</published><updated>2011-09-29T13:26:42.901-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-09-29T13:26:42.901-07:00</app:edited><title>Using C# delegates to call C++ functions and get a string back</title><content type="html">C# delegate stuff:
&lt;blockquote&gt;
public delegate void MyFuncDelegate(string sIn, StringBuilder sOut);
public event MyFuncDelegate MyFuncEvent;

&lt;/blockquote&gt;

C++ prototype:
&lt;blockquote&gt;static void MyFunc(LPCTSTR sIn, LPTSTR sOut);&lt;/blockquote&gt;

Tie them together with:
&lt;blockquote&gt;
public void RegisterDelegateMyFunc(IntPtr ptrCallback)
{
            MyFuncDelegate d =          Marshal.GetDelegateForFunctionPointer(ptrCallback,typeof(MyFuncDelegate)) as MyFuncDelegate;
            if (d != null)
            {
                        MyFuncEvent += d;
            }
}
&lt;/blockquote&gt;&lt;div class="blogger-post-footer"&gt;&lt;hr /&gt;&lt;a href="http://www.devfuel.com"&gt;devfuel.com&lt;/a&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2391037223319513388-160485654970651039?l=www.devfuel.com' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/Devfuel/~4/Bomfni2NSSw" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://www.devfuel.com/feeds/160485654970651039/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.devfuel.com/2008/12/using-c-delegates-to-call-c-functions_22.html#comment-form" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/2391037223319513388/posts/default/160485654970651039?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/2391037223319513388/posts/default/160485654970651039?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/Devfuel/~3/Bomfni2NSSw/using-c-delegates-to-call-c-functions_22.html" title="Using C# delegates to call C++ functions and get a string back" /><author><name>tse</name><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="http://img2.blogblog.com/img/b16-rounded.gif" /></author><thr:total>0</thr:total><feedburner:origLink>http://www.devfuel.com/2008/12/using-c-delegates-to-call-c-functions_22.html</feedburner:origLink></entry><entry gd:etag="W/&quot;AkcEQn47fCp7ImA9WhdUE08.&quot;"><id>tag:blogger.com,1999:blog-2391037223319513388.post-2547291215779127092</id><published>2008-11-18T10:42:00.002-08:00</published><updated>2011-09-29T13:26:43.004-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-09-29T13:26:43.004-07:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="quick reference" /><category scheme="http://www.blogger.com/atom/ns#" term="cheat sheet" /><category scheme="http://www.blogger.com/atom/ns#" term=".net" /><category scheme="http://www.blogger.com/atom/ns#" term="c#" /><title>C# Cheat Sheet Cache</title><content type="html">&lt;p&gt;As described &lt;a href="http://www.devfuel.com/2008/11/programming-language-cheat-sheet.html"&gt;here&lt;/a&gt;, this is a cache/cheat sheet of commonly forgotten (and thus Googled) details for the C# language.&lt;/p&gt;  &lt;table cellspacing="0" cellpadding="2" width="100%" border="0"&gt;&lt;tbody&gt;     &lt;tr&gt;       &lt;td valign="top" width="107"&gt;Category&lt;/td&gt;        &lt;td valign="top" width="86"&gt;Item&lt;/td&gt;        &lt;td valign="top" width="326"&gt;Sample&lt;/td&gt;        &lt;td valign="top" width="206"&gt;Notes&lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td valign="top" width="107"&gt;Anonymous Delegate/Method&lt;/td&gt;        &lt;td valign="top" width="92"&gt;Inline Syntax&lt;/td&gt;        &lt;td valign="top" width="326"&gt;         &lt;div style="font-size: 10pt; background: white; color: black; font-family: courier new"&gt;           &lt;p style="margin: 0px"&gt;&lt;span style="color: blue"&gt;delegate&lt;/span&gt;(&lt;span style="color: blue"&gt;int&lt;/span&gt; i) { &lt;span style="color: blue"&gt;return&lt;/span&gt; 0.0; }&lt;/p&gt;         &lt;/div&gt;       &lt;/td&gt;        &lt;td valign="top" width="206"&gt;Creates a delegate that takes an int and returns a double. &lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td valign="top" width="107"&gt;Anonymous Delegate/Method&lt;/td&gt;        &lt;td valign="top" width="92"&gt;Sort List&amp;lt;T&amp;gt;&lt;/td&gt;        &lt;td valign="top" width="326"&gt;         &lt;div style="font-size: 10pt; background: white; color: black; font-family: courier new"&gt;           &lt;p style="margin: 0px"&gt;&lt;span style="color: #2b91af"&gt;List&lt;/span&gt;&amp;lt;&lt;span style="color: blue"&gt;int&lt;/span&gt;&amp;gt; lst = &lt;span style="color: blue"&gt;new&lt;/span&gt; &lt;span style="color: #2b91af"&gt;List&lt;/span&gt;&amp;lt;&lt;span style="color: blue"&gt;int&lt;/span&gt;&amp;gt;();&lt;/p&gt;            &lt;p style="margin: 0px"&gt;lst.Sort(&lt;/p&gt;            &lt;p style="margin: 0px"&gt;&lt;span style="color: blue"&gt;delegate&lt;/span&gt;(&lt;span style="color: blue"&gt;int&lt;/span&gt; i1, &lt;span style="color: blue"&gt;int&lt;/span&gt; i2) &lt;/p&gt;            &lt;p style="margin: 0px"&gt;{&lt;/p&gt;            &lt;p style="margin: 0px"&gt;&amp;#160;&amp;#160;&amp;#160; &lt;span style="color: blue"&gt;return&lt;/span&gt; i1.CompareTo(i2); &lt;/p&gt;            &lt;p style="margin: 0px"&gt;});&lt;/p&gt;         &lt;/div&gt;       &lt;/td&gt;        &lt;td valign="top" width="206"&gt;Sorts a templated list using an inline function that shares the local scope.&lt;/td&gt;     &lt;/tr&gt;   &lt;/tbody&gt;&lt;/table&gt;  &lt;div class="blogger-post-footer"&gt;&lt;hr /&gt;&lt;a href="http://www.devfuel.com"&gt;devfuel.com&lt;/a&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2391037223319513388-2547291215779127092?l=www.devfuel.com' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/Devfuel/~4/__L44x0G5A4" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://www.devfuel.com/feeds/2547291215779127092/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.devfuel.com/2008/11/c-cheat-sheet-cache_18.html#comment-form" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/2391037223319513388/posts/default/2547291215779127092?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/2391037223319513388/posts/default/2547291215779127092?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/Devfuel/~3/__L44x0G5A4/c-cheat-sheet-cache_18.html" title="C# Cheat Sheet Cache" /><author><name>Elliott B. Edwards</name><uri>http://www.blogger.com/profile/16287291748824973988</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="31" src="http://3.bp.blogspot.com/-W-PJamrzniU/ToSs0YpjOBI/AAAAAAAAAEo/T7qpTAD-pHs/s220/el_square_portrait.jpg" /></author><thr:total>0</thr:total><feedburner:origLink>http://www.devfuel.com/2008/11/c-cheat-sheet-cache_18.html</feedburner:origLink></entry><entry gd:etag="W/&quot;AkcEQnw8cCp7ImA9WhdUE08.&quot;"><id>tag:blogger.com,1999:blog-2391037223319513388.post-665468407439313866</id><published>2008-11-18T10:03:00.002-08:00</published><updated>2011-09-29T13:26:43.278-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-09-29T13:26:43.278-07:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="quick reference" /><category scheme="http://www.blogger.com/atom/ns#" term="cheat sheet" /><category scheme="http://www.blogger.com/atom/ns#" term="languages" /><title>Programming Language Cheat Sheet Caching</title><content type="html">&lt;p&gt;After perusing a &lt;a href="http://stackoverflow.com/questions/175244/whats-on-your-c-cheatsheet"&gt;question on stackoverflow.com&lt;/a&gt;, I realized that it would, indeed, be useful to have a quick reference of various languages. As a developer that is constantly switching language contexts, there is definitely an overhead associated with doing so. Work in C++ long enough, for example, and your knowledge of C# generics blurs towards the template side, and vice versa. &lt;/p&gt;  &lt;p&gt;A fair amount of programming is consistent across multiple languages. However, there are items that particularly are difficult to remember or re-learn. Rather than having quick references that attempt to cover everything, I have made the realization that it is better to just have quick entries for imformation that you always end up Googling anyway. It’s not like C#’s anonymous delegate syntax changes, I just have a hard time remembering the specifics and syntactic sugaring. &lt;/p&gt;  &lt;p&gt;In programming, the repeated re-derivation of a result is inefficient. Dynamic Programming encourages one to &lt;strong&gt;cache commonly used results to improve efficiency&lt;/strong&gt;. And so I present the devfuel.com Quick Reference Caches (A work in progress that will be updated as I use the listed language):&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;C Cheat Sheet Cache &lt;/li&gt;    &lt;li&gt;C++ Cheat Sheet Cache &lt;/li&gt;    &lt;li&gt;&lt;a href="http://www.devfuel.com/2008/11/c-cheat-sheet-cache.html"&gt;C# Cheat Sheet Cache&lt;/a&gt;&lt;/li&gt;    &lt;li&gt;VB Cheat Sheet Cache &lt;/li&gt;    &lt;li&gt;VB.NET Cheat Sheet Cache &lt;/li&gt;    &lt;li&gt;Python Cheat Sheet Cache &lt;/li&gt;    &lt;li&gt;etc. &lt;/li&gt; &lt;/ul&gt;  &lt;div class="blogger-post-footer"&gt;&lt;hr /&gt;&lt;a href="http://www.devfuel.com"&gt;devfuel.com&lt;/a&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2391037223319513388-665468407439313866?l=www.devfuel.com' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/Devfuel/~4/4p8FUOneWkA" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://www.devfuel.com/feeds/665468407439313866/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.devfuel.com/2008/11/programming-language-cheat-sheet_18.html#comment-form" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/2391037223319513388/posts/default/665468407439313866?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/2391037223319513388/posts/default/665468407439313866?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/Devfuel/~3/4p8FUOneWkA/programming-language-cheat-sheet_18.html" title="Programming Language Cheat Sheet Caching" /><author><name>Elliott B. Edwards</name><uri>http://www.blogger.com/profile/16287291748824973988</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="31" src="http://3.bp.blogspot.com/-W-PJamrzniU/ToSs0YpjOBI/AAAAAAAAAEo/T7qpTAD-pHs/s220/el_square_portrait.jpg" /></author><thr:total>0</thr:total><feedburner:origLink>http://www.devfuel.com/2008/11/programming-language-cheat-sheet_18.html</feedburner:origLink></entry><entry gd:etag="W/&quot;AkcEQn84fCp7ImA9WhdUE08.&quot;"><id>tag:blogger.com,1999:blog-2391037223319513388.post-4556156352792981886</id><published>2008-11-13T12:38:00.002-08:00</published><updated>2011-09-29T13:26:43.134-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-09-29T13:26:43.134-07:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="installation" /><category scheme="http://www.blogger.com/atom/ns#" term=".net" /><category scheme="http://www.blogger.com/atom/ns#" term="installer class" /><category scheme="http://www.blogger.com/atom/ns#" term=".net 2.0" /><category scheme="http://www.blogger.com/atom/ns#" term="installutil" /><title>.NET Custom Install Class and InstallUtil.exe Parameters: Order Matters</title><content type="html">&lt;p&gt;I have been working with custom install classes on .NET assemblies. Conveniently, they can be used to perform all manner of tasks through the use of the .net tool Installutil. When testing the ability to pass custom parameters (via the installutil.exe command line) I ran into a quirk:&lt;/p&gt;  &lt;blockquote&gt;It appears that parameters were being ignored if I passed them from an MSDOS console or batch file.&lt;/blockquote&gt;  &lt;p&gt;I knew this had to be a fluke, and finally stumbled on the answer: Order matters…or at least, put the assembly name last?&lt;/p&gt;  &lt;blockquote&gt;“c:\Windows\Microsoft.NET\Framework\v2.0.50727\installutil.exe Assembly.dll &lt;strong&gt;/Key=Value&lt;/strong&gt;” will not work.&lt;br /&gt;  &lt;strong&gt;but…&lt;/strong&gt;&lt;br /&gt;  “c:\Windows\Microsoft.NET\Framework\v2.0.50727\installutil.exe &lt;strong&gt;/Key=Value&lt;/strong&gt; Assembly.dll” will ;)&lt;/blockquote&gt;  &lt;div class="blogger-post-footer"&gt;&lt;hr /&gt;&lt;a href="http://www.devfuel.com"&gt;devfuel.com&lt;/a&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2391037223319513388-4556156352792981886?l=www.devfuel.com' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/Devfuel/~4/oT0yWKYHftU" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://www.devfuel.com/feeds/4556156352792981886/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.devfuel.com/2008/11/net-custom-install-class-and_13.html#comment-form" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/2391037223319513388/posts/default/4556156352792981886?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/2391037223319513388/posts/default/4556156352792981886?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/Devfuel/~3/oT0yWKYHftU/net-custom-install-class-and_13.html" title=".NET Custom Install Class and InstallUtil.exe Parameters: Order Matters" /><author><name>Elliott B. Edwards</name><uri>http://www.blogger.com/profile/16287291748824973988</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="31" src="http://3.bp.blogspot.com/-W-PJamrzniU/ToSs0YpjOBI/AAAAAAAAAEo/T7qpTAD-pHs/s220/el_square_portrait.jpg" /></author><thr:total>0</thr:total><feedburner:origLink>http://www.devfuel.com/2008/11/net-custom-install-class-and_13.html</feedburner:origLink></entry></feed>

