<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:georss='http://www.georss.org/georss' xmlns:gd='http://schemas.google.com/g/2005' xmlns:thr='http://purl.org/syndication/thread/1.0'><id>tag:blogger.com,1999:blog-920065377104456952</id><updated>2011-11-27T19:00:57.155-05:00</updated><category term='Random'/><category term='jscript'/><category term='MVC'/><category term='Lucene'/><category term='WIF'/><category term='java'/><category term='REST'/><category term='vmware'/><category term='azure'/><category term='AzMan'/><category term='games'/><category term='logparser'/><category term='F#'/><category term='MSDeploy'/><category term='XAML'/><category term='ASP.NET'/><category term='c#'/><category term='JQuery'/><category term='encryption'/><category term='powershell'/><category term='Ruby'/><category term='Active Directory'/><category term='.NET 4.0'/><category term='log4net'/><category term='windows'/><category term='vbscript'/><category term='IronPython'/><category term='Android'/><category term='json'/><category term='nhibernate'/><category term='subversion'/><title type='text'>.Net, Security, and Powershell goodies</title><subtitle type='html'>My daily experiences with Microsoft.NET, AzMan, Active Directory, Log Parser, and Powershell. Oh yea, and other things non-Microsoft as well!</subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://joelangley.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/920065377104456952/posts/default?max-results=100'/><link rel='alternate' type='text/html' href='http://joelangley.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><link rel='next' type='application/atom+xml' href='http://www.blogger.com/feeds/920065377104456952/posts/default?start-index=101&amp;max-results=100'/><author><name>Joe Langley</name><uri>http://www.blogger.com/profile/11553619789895911588</uri><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><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>283</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>100</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-920065377104456952.post-3956279638977041797</id><published>2010-03-15T22:59:00.001-04:00</published><updated>2010-03-15T23:00:20.394-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Android'/><title type='text'>Long time!</title><content type='html'>It has been a long time since I posted. I have been so busy on multiple projects but have focused most on the Android app. I will try and post some more when I can.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/920065377104456952-3956279638977041797?l=joelangley.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://joelangley.blogspot.com/feeds/3956279638977041797/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://joelangley.blogspot.com/2010/03/long-time.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/920065377104456952/posts/default/3956279638977041797'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/920065377104456952/posts/default/3956279638977041797'/><link rel='alternate' type='text/html' href='http://joelangley.blogspot.com/2010/03/long-time.html' title='Long time!'/><author><name>Joe Langley</name><uri>http://www.blogger.com/profile/11553619789895911588</uri><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></entry><entry><id>tag:blogger.com,1999:blog-920065377104456952.post-603645781005653238</id><published>2010-02-02T23:11:00.001-05:00</published><updated>2010-02-02T23:13:06.880-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Android'/><title type='text'>Android Release!</title><content type='html'>OK, I think it has been a week or so since I posted to the blog. I have been crazy busy with a whole bunch of things. I finally got a beta version for my android application. For those of you with an android phone, you can download it &lt;a href="https://slideme.org/application/maildroid"&gt;here&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;Hopefully, I'll get some time to post some things about the project on this blog.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/920065377104456952-603645781005653238?l=joelangley.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://joelangley.blogspot.com/feeds/603645781005653238/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://joelangley.blogspot.com/2010/02/android-release.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/920065377104456952/posts/default/603645781005653238'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/920065377104456952/posts/default/603645781005653238'/><link rel='alternate' type='text/html' href='http://joelangley.blogspot.com/2010/02/android-release.html' title='Android Release!'/><author><name>Joe Langley</name><uri>http://www.blogger.com/profile/11553619789895911588</uri><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></entry><entry><id>tag:blogger.com,1999:blog-920065377104456952.post-896851706999481526</id><published>2010-01-23T18:30:00.001-05:00</published><updated>2010-01-23T18:30:50.655-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Random'/><title type='text'>Weekend</title><content type='html'>I hope everyone had a good weekend!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/920065377104456952-896851706999481526?l=joelangley.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://joelangley.blogspot.com/feeds/896851706999481526/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://joelangley.blogspot.com/2010/01/weekend_23.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/920065377104456952/posts/default/896851706999481526'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/920065377104456952/posts/default/896851706999481526'/><link rel='alternate' type='text/html' href='http://joelangley.blogspot.com/2010/01/weekend_23.html' title='Weekend'/><author><name>Joe Langley</name><uri>http://www.blogger.com/profile/11553619789895911588</uri><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></entry><entry><id>tag:blogger.com,1999:blog-920065377104456952.post-7046284558484391219</id><published>2010-01-22T12:46:00.001-05:00</published><updated>2010-01-22T12:46:57.591-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Random'/><title type='text'>Kindle Store</title><content type='html'>The kindle is &lt;a href="http://news.cnet.com/8301-13577_3-10438661-36.html"&gt;now&lt;/a&gt; also creating an app store? Wow...&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/920065377104456952-7046284558484391219?l=joelangley.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://joelangley.blogspot.com/feeds/7046284558484391219/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://joelangley.blogspot.com/2010/01/kindle-store.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/920065377104456952/posts/default/7046284558484391219'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/920065377104456952/posts/default/7046284558484391219'/><link rel='alternate' type='text/html' href='http://joelangley.blogspot.com/2010/01/kindle-store.html' title='Kindle Store'/><author><name>Joe Langley</name><uri>http://www.blogger.com/profile/11553619789895911588</uri><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></entry><entry><id>tag:blogger.com,1999:blog-920065377104456952.post-3755787970646304947</id><published>2010-01-21T19:33:00.002-05:00</published><updated>2010-01-21T19:35:10.333-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Android'/><title type='text'>Android Virtual Keyboard not showing up</title><content type='html'>I added a textbox but the virtual keyboard is now showing up? Seems &lt;a href="http://stackoverflow.com/questions/2106121/android-how-to-highlight-edittext-programmatically/2106354"&gt;this&lt;/a&gt;is the solution...&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/920065377104456952-3755787970646304947?l=joelangley.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://joelangley.blogspot.com/feeds/3755787970646304947/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://joelangley.blogspot.com/2010/01/android-virtual-keyboard-not-showing-up.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/920065377104456952/posts/default/3755787970646304947'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/920065377104456952/posts/default/3755787970646304947'/><link rel='alternate' type='text/html' href='http://joelangley.blogspot.com/2010/01/android-virtual-keyboard-not-showing-up.html' title='Android Virtual Keyboard not showing up'/><author><name>Joe Langley</name><uri>http://www.blogger.com/profile/11553619789895911588</uri><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></entry><entry><id>tag:blogger.com,1999:blog-920065377104456952.post-2038708591943531227</id><published>2010-01-20T21:19:00.001-05:00</published><updated>2010-01-20T21:20:57.640-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='windows'/><title type='text'>Sysprep on Windows 2008</title><content type='html'>Talk about a nightmare! It was so much easier in 2003.  &lt;a href="http://briandesmond.com/blog/how-to-sysprep-in-windows-2008/"&gt;Here&lt;/a&gt; is a good link that explains how to do that step by step.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/920065377104456952-2038708591943531227?l=joelangley.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://joelangley.blogspot.com/feeds/2038708591943531227/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://joelangley.blogspot.com/2010/01/sysprep-on-windows-2008.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/920065377104456952/posts/default/2038708591943531227'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/920065377104456952/posts/default/2038708591943531227'/><link rel='alternate' type='text/html' href='http://joelangley.blogspot.com/2010/01/sysprep-on-windows-2008.html' title='Sysprep on Windows 2008'/><author><name>Joe Langley</name><uri>http://www.blogger.com/profile/11553619789895911588</uri><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></entry><entry><id>tag:blogger.com,1999:blog-920065377104456952.post-4971937127398146985</id><published>2010-01-19T23:38:00.003-05:00</published><updated>2010-01-19T23:43:08.036-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Android'/><title type='text'>Android and Capitalize Letter</title><content type='html'>I had a textview and what was weird is that I could not get it to always assume capital after a period. Here is what I learned:&lt;br /&gt;&lt;br /&gt;android:capitalize&lt;br /&gt;&lt;br /&gt;If set, specifies that this TextView has a textual input method and should automatically capitalize what the user types. The default is "none".&lt;br /&gt;&lt;br /&gt;Must be one of the following constant values.&lt;br /&gt;&lt;pre&gt;Constant     Value    Description&lt;br /&gt;none         0        Don't automatically capitalize anything.&lt;br /&gt;sentences    1        Capitalize the first word of each sentence.&lt;br /&gt;words        2        Capitalize the first letter of every word.&lt;br /&gt;characters   3        Capitalize every character.&lt;br /&gt;&lt;/pre&gt; This corresponds to the global attribute resource symbol capitalize.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://developer.android.com/reference/android/widget/TextView.html#attr_android:capitalize"&gt;API Link&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/920065377104456952-4971937127398146985?l=joelangley.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://joelangley.blogspot.com/feeds/4971937127398146985/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://joelangley.blogspot.com/2010/01/android-and-capitalize-letter.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/920065377104456952/posts/default/4971937127398146985'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/920065377104456952/posts/default/4971937127398146985'/><link rel='alternate' type='text/html' href='http://joelangley.blogspot.com/2010/01/android-and-capitalize-letter.html' title='Android and Capitalize Letter'/><author><name>Joe Langley</name><uri>http://www.blogger.com/profile/11553619789895911588</uri><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></entry><entry><id>tag:blogger.com,1999:blog-920065377104456952.post-8786082094263895848</id><published>2010-01-18T15:15:00.001-05:00</published><updated>2010-01-18T15:15:45.483-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Random'/><title type='text'>Back</title><content type='html'>Finally back, but so tried.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/920065377104456952-8786082094263895848?l=joelangley.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://joelangley.blogspot.com/feeds/8786082094263895848/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://joelangley.blogspot.com/2010/01/back.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/920065377104456952/posts/default/8786082094263895848'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/920065377104456952/posts/default/8786082094263895848'/><link rel='alternate' type='text/html' href='http://joelangley.blogspot.com/2010/01/back.html' title='Back'/><author><name>Joe Langley</name><uri>http://www.blogger.com/profile/11553619789895911588</uri><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></entry><entry><id>tag:blogger.com,1999:blog-920065377104456952.post-595038226745653149</id><published>2010-01-17T07:20:00.001-05:00</published><updated>2010-01-17T07:20:38.753-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Random'/><title type='text'>Rain</title><content type='html'>Really? Rain on vacation!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/920065377104456952-595038226745653149?l=joelangley.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://joelangley.blogspot.com/feeds/595038226745653149/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://joelangley.blogspot.com/2010/01/rain.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/920065377104456952/posts/default/595038226745653149'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/920065377104456952/posts/default/595038226745653149'/><link rel='alternate' type='text/html' href='http://joelangley.blogspot.com/2010/01/rain.html' title='Rain'/><author><name>Joe Langley</name><uri>http://www.blogger.com/profile/11553619789895911588</uri><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></entry><entry><id>tag:blogger.com,1999:blog-920065377104456952.post-1175540864022639211</id><published>2010-01-16T20:18:00.001-05:00</published><updated>2010-01-16T20:18:35.925-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Random'/><title type='text'>Vacation</title><content type='html'>I'll be back on Tuesday!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/920065377104456952-1175540864022639211?l=joelangley.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://joelangley.blogspot.com/feeds/1175540864022639211/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://joelangley.blogspot.com/2010/01/vacation.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/920065377104456952/posts/default/1175540864022639211'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/920065377104456952/posts/default/1175540864022639211'/><link rel='alternate' type='text/html' href='http://joelangley.blogspot.com/2010/01/vacation.html' title='Vacation'/><author><name>Joe Langley</name><uri>http://www.blogger.com/profile/11553619789895911588</uri><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></entry><entry><id>tag:blogger.com,1999:blog-920065377104456952.post-5289838927014062878</id><published>2010-01-15T16:14:00.001-05:00</published><updated>2010-01-15T16:14:15.762-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Random'/><title type='text'>Weekend</title><content type='html'>Have a good weekend everyone!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/920065377104456952-5289838927014062878?l=joelangley.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://joelangley.blogspot.com/feeds/5289838927014062878/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://joelangley.blogspot.com/2010/01/weekend.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/920065377104456952/posts/default/5289838927014062878'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/920065377104456952/posts/default/5289838927014062878'/><link rel='alternate' type='text/html' href='http://joelangley.blogspot.com/2010/01/weekend.html' title='Weekend'/><author><name>Joe Langley</name><uri>http://www.blogger.com/profile/11553619789895911588</uri><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></entry><entry><id>tag:blogger.com,1999:blog-920065377104456952.post-6428645062169126359</id><published>2010-01-14T16:29:00.001-05:00</published><updated>2010-01-14T16:29:51.454-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='MVC'/><category scheme='http://www.blogger.com/atom/ns#' term='ASP.NET'/><title type='text'>ASP.NET MVC 2.0</title><content type='html'>I just came across &lt;a href="http://weblogs.asp.net/scottgu/archive/2010/01/10/asp-net-mvc-2.aspx"&gt;this&lt;/a&gt;...why am I behind.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/920065377104456952-6428645062169126359?l=joelangley.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://joelangley.blogspot.com/feeds/6428645062169126359/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://joelangley.blogspot.com/2010/01/aspnet-mvc-20.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/920065377104456952/posts/default/6428645062169126359'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/920065377104456952/posts/default/6428645062169126359'/><link rel='alternate' type='text/html' href='http://joelangley.blogspot.com/2010/01/aspnet-mvc-20.html' title='ASP.NET MVC 2.0'/><author><name>Joe Langley</name><uri>http://www.blogger.com/profile/11553619789895911588</uri><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></entry><entry><id>tag:blogger.com,1999:blog-920065377104456952.post-4566744414729494186</id><published>2010-01-13T13:46:00.000-05:00</published><updated>2010-01-13T13:47:06.804-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Random'/><title type='text'>2010 Trends</title><content type='html'>&lt;a href="http://blogs.msdn.com/jmeier/archive/2010/01/02/trends-for-2010.aspx"&gt;Trends for 2010&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/920065377104456952-4566744414729494186?l=joelangley.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://joelangley.blogspot.com/feeds/4566744414729494186/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://joelangley.blogspot.com/2010/01/2010-trends.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/920065377104456952/posts/default/4566744414729494186'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/920065377104456952/posts/default/4566744414729494186'/><link rel='alternate' type='text/html' href='http://joelangley.blogspot.com/2010/01/2010-trends.html' title='2010 Trends'/><author><name>Joe Langley</name><uri>http://www.blogger.com/profile/11553619789895911588</uri><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></entry><entry><id>tag:blogger.com,1999:blog-920065377104456952.post-8762918648151031710</id><published>2010-01-12T17:32:00.003-05:00</published><updated>2010-01-12T17:34:29.941-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Android'/><title type='text'>Mutliple versions of Android</title><content type='html'>I am finding it painful to test my app on multiple versions of android. It seems 1.5/1.6 are the main ones out there and a small percentage of people are on 2.0/2.01 and 2.1. Some of my problems also stem from the very drastic difference in hardware! Anyway, searching google, it seems others are complaining about this as well ;)&lt;br /&gt;&lt;br /&gt;...I'll try and get back to my AzMan  posts tomorrow&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/920065377104456952-8762918648151031710?l=joelangley.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://joelangley.blogspot.com/feeds/8762918648151031710/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://joelangley.blogspot.com/2010/01/mutliple-versions-of-android.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/920065377104456952/posts/default/8762918648151031710'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/920065377104456952/posts/default/8762918648151031710'/><link rel='alternate' type='text/html' href='http://joelangley.blogspot.com/2010/01/mutliple-versions-of-android.html' title='Mutliple versions of Android'/><author><name>Joe Langley</name><uri>http://www.blogger.com/profile/11553619789895911588</uri><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></entry><entry><id>tag:blogger.com,1999:blog-920065377104456952.post-846203052245368542</id><published>2010-01-11T17:32:00.001-05:00</published><updated>2010-01-11T17:32:37.011-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='powershell'/><title type='text'>Interesting Powershell Post</title><content type='html'>&lt;a href="http://blogs.msdn.com/powershell/archive/2010/01/04/workaround-for-start-transcript-on-native-processes.aspx"&gt;Interesting Post&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/920065377104456952-846203052245368542?l=joelangley.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://joelangley.blogspot.com/feeds/846203052245368542/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://joelangley.blogspot.com/2010/01/interesting-powershell-post.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/920065377104456952/posts/default/846203052245368542'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/920065377104456952/posts/default/846203052245368542'/><link rel='alternate' type='text/html' href='http://joelangley.blogspot.com/2010/01/interesting-powershell-post.html' title='Interesting Powershell Post'/><author><name>Joe Langley</name><uri>http://www.blogger.com/profile/11553619789895911588</uri><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></entry><entry><id>tag:blogger.com,1999:blog-920065377104456952.post-3734246986327350194</id><published>2010-01-10T19:11:00.000-05:00</published><updated>2010-01-10T19:12:23.275-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Android'/><title type='text'>Android Today</title><content type='html'>Played some more with android today...my application is taking shape! I hope to get it to the market within the next two weeks.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/920065377104456952-3734246986327350194?l=joelangley.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://joelangley.blogspot.com/feeds/3734246986327350194/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://joelangley.blogspot.com/2010/01/android-today.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/920065377104456952/posts/default/3734246986327350194'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/920065377104456952/posts/default/3734246986327350194'/><link rel='alternate' type='text/html' href='http://joelangley.blogspot.com/2010/01/android-today.html' title='Android Today'/><author><name>Joe Langley</name><uri>http://www.blogger.com/profile/11553619789895911588</uri><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></entry><entry><id>tag:blogger.com,1999:blog-920065377104456952.post-8587573988385674600</id><published>2010-01-09T17:58:00.000-05:00</published><updated>2010-01-09T17:59:11.093-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Random'/><title type='text'>Good Weekend</title><content type='html'>Hope everyone is having a good weekend...&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/920065377104456952-8587573988385674600?l=joelangley.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://joelangley.blogspot.com/feeds/8587573988385674600/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://joelangley.blogspot.com/2010/01/good-weekend.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/920065377104456952/posts/default/8587573988385674600'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/920065377104456952/posts/default/8587573988385674600'/><link rel='alternate' type='text/html' href='http://joelangley.blogspot.com/2010/01/good-weekend.html' title='Good Weekend'/><author><name>Joe Langley</name><uri>http://www.blogger.com/profile/11553619789895911588</uri><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></entry><entry><id>tag:blogger.com,1999:blog-920065377104456952.post-7457819021861954848</id><published>2010-01-08T10:54:00.003-05:00</published><updated>2010-01-08T11:04:19.108-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='c#'/><category scheme='http://www.blogger.com/atom/ns#' term='AzMan'/><title type='text'>AzMan API Library II</title><content type='html'>To continue my post on the AzMan Library, I wanted to show all the basic classes and makeup and since I briefly discussed it yesterday, I figure it is worth showing:&lt;br /&gt;&lt;pre class="brush:csharp"&gt;//AzLibApplication&lt;br /&gt;IAzApplication _app;&lt;br /&gt;&lt;br /&gt;       public AzLibApplication(object app)&lt;br /&gt;       {&lt;br /&gt;           _app = (IAzApplication)app;&lt;br /&gt;       }&lt;br /&gt;&lt;br /&gt;       public IAzApplication Native&lt;br /&gt;       {&lt;br /&gt;           get { return _app; }&lt;br /&gt;       }&lt;br /&gt;&lt;br /&gt;       public string Name&lt;br /&gt;       {&lt;br /&gt;           get { return _app.Name; }&lt;br /&gt;       }&lt;br /&gt;&lt;br /&gt;       public string Description&lt;br /&gt;       {&lt;br /&gt;           get { return _app.Description; }&lt;br /&gt;       }&lt;br /&gt;&lt;br /&gt;       public List&amp;lt;AzLibOperation&amp;gt; Operations&lt;br /&gt;       {&lt;br /&gt;           get { return AzLibAzManHelper.GetOps((IAzOperations)_app.Operations); }&lt;br /&gt;       }&lt;br /&gt;&lt;br /&gt;       public List&amp;lt;AzLibRole&amp;gt; Roles&lt;br /&gt;       {&lt;br /&gt;           get {&lt;br /&gt;               return AzLibAzManHelper.GetRoles(&lt;br /&gt;                   this,&lt;br /&gt;                   (IAzRoles)_app.Roles,&lt;br /&gt;                   (IAzTasks)_app.Tasks&lt;br /&gt;                   );&lt;br /&gt;           }&lt;br /&gt;       }&lt;br /&gt;&lt;br /&gt;       public List&amp;lt;AzLibTask&amp;gt; Tasks&lt;br /&gt;       {&lt;br /&gt;           get { return AzLibAzManHelper.GetTasks((IAzTasks)_app.Tasks); }&lt;br /&gt;       }&lt;br /&gt;&lt;br /&gt;       public List&amp;lt;AzLibScope&amp;gt; Scopes&lt;br /&gt;       {&lt;br /&gt;           get { return AzLibAzManHelper.GetScopes(this, (IAzScopes)_app.Scopes); }&lt;br /&gt;       }&lt;br /&gt;&lt;br /&gt;       public List&amp;lt;AzLibApplicationGroup&gt; ApplicationGroups&lt;br /&gt;       {&lt;br /&gt;           get { return AzLibAzManHelper.GetApplicationGroups((IAzApplicationGroups)_app.ApplicationGroups); }&lt;br /&gt;       }&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;I mentioned yesterday the simple objects...some examples below:&lt;br /&gt;&lt;pre class="brush:csharp"&gt;&lt;br /&gt;public class AzLibOperation&lt;br /&gt;   {&lt;br /&gt;       IAzOperation _op;&lt;br /&gt;&lt;br /&gt;       public AzLibOperation(object op)&lt;br /&gt;       {&lt;br /&gt;           _op = (IAzOperation)op;&lt;br /&gt;       }&lt;br /&gt;&lt;br /&gt;       public string Name&lt;br /&gt;       {&lt;br /&gt;           get { return _op.Name; }&lt;br /&gt;       }&lt;br /&gt;&lt;br /&gt;       public string Description&lt;br /&gt;       {&lt;br /&gt;           get { return _op.Description; }&lt;br /&gt;       }&lt;br /&gt;&lt;br /&gt;       public int OperationID&lt;br /&gt;       {&lt;br /&gt;           get { return _op.OperationID; }&lt;br /&gt;       }       &lt;br /&gt;   }&lt;br /&gt;&lt;/pre&gt;Store:&lt;br /&gt;&lt;pre class="brush:csharp"&gt; IAzAuthorizationStore _store;&lt;br /&gt;&lt;br /&gt;       public AzLibStore(IAzAuthorizationStore store)&lt;br /&gt;       {&lt;br /&gt;           _store = store;&lt;br /&gt;       }&lt;br /&gt;&lt;br /&gt;       public List&amp;lt;AzLibApplication&amp;gt; Applications&lt;br /&gt;       {&lt;br /&gt;           get { return AzLibAzManHelper.GetApplications((IAzApplications)_store.Applications); }&lt;br /&gt;       }&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;The API Library as I mentioned is broken out into two assemblies and the first one is what I have been explaining yesterday and today. This weekend I'll explain the second part and post the code for the two assemblies. Next week, I'll get onto secondary applictions built off this API such as the AzMan reporter.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/920065377104456952-7457819021861954848?l=joelangley.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://joelangley.blogspot.com/feeds/7457819021861954848/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://joelangley.blogspot.com/2010/01/azman-api-library-ii.html#comment-form' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/920065377104456952/posts/default/7457819021861954848'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/920065377104456952/posts/default/7457819021861954848'/><link rel='alternate' type='text/html' href='http://joelangley.blogspot.com/2010/01/azman-api-library-ii.html' title='AzMan API Library II'/><author><name>Joe Langley</name><uri>http://www.blogger.com/profile/11553619789895911588</uri><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>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-920065377104456952.post-3816766322564110260</id><published>2010-01-07T15:27:00.004-05:00</published><updated>2010-01-07T15:42:59.505-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='c#'/><category scheme='http://www.blogger.com/atom/ns#' term='AzMan'/><title type='text'>AzMan API Library</title><content type='html'>Over the years my work with AzMan has forced me created many applications and libraries. Having re-worked my original Lib, I feel that I need to first show the lib code before we can even get to the secondary external applications that I built around this. The library contains a ton of classes and I will go through some of them this week and upload them as well. I'll start by going through the main AzManHelper class:&lt;br /&gt;&lt;br /&gt;&lt;pre class="brush:csharp"&gt;&lt;br /&gt;public static List&amp;lt;AzLibRole&amp;gt; GetRoles(ITasksSource tasksSource, IAzRoles roles, IAzTasks tasks)&lt;br /&gt;       {&lt;br /&gt;           List&amp;lt;AzLibRole&amp;gt; result = new List&amp;lt;AzLibRole&amp;gt;();&lt;br /&gt;           NamedTasks namedTasks = new NamedTasks(tasks);&lt;br /&gt;           List&amp;lt;string&amp;gt; usedTasks = new List&amp;lt;string&amp;gt;();&lt;br /&gt;          &lt;br /&gt;           for (int it = 0; it &amp;lt; roles.Count; it++)&lt;br /&gt;           {&lt;br /&gt;               IAzRole role = (IAzRole)roles[it + 1];&lt;br /&gt;               IAzTask task = namedTasks.FindMatchingTask(role);&lt;br /&gt;&lt;br /&gt;               if (task != null)&lt;br /&gt;               {&lt;br /&gt;                   result.Add(new AzLibRole(tasksSource, role, task));&lt;br /&gt;&lt;br /&gt;                   // Keep trach of the used task&lt;br /&gt;                   usedTasks.Add(task.Name);&lt;br /&gt;               }&lt;br /&gt;               else&lt;br /&gt;               {&lt;br /&gt;                   result.Add(new AzLibRole(tasksSource, role));&lt;br /&gt;               }&lt;br /&gt;           }&lt;br /&gt;&lt;br /&gt;           for (int it = 0; it &amp;lt; tasks.Count; it++)&lt;br /&gt;           {&lt;br /&gt;               IAzTask task = (IAzTask)tasks[it + 1];&lt;br /&gt;&lt;br /&gt;               if (usedTasks.Contains(task.Name) == false)&lt;br /&gt;               {&lt;br /&gt;                   if (InteropHelper.IsTrue(task.IsRoleDefinition))&lt;br /&gt;                       result.Add(new AzLibRole(tasksSource, task));&lt;br /&gt;               }&lt;br /&gt;           }           &lt;br /&gt;&lt;br /&gt;           return result;&lt;br /&gt;       }&lt;br /&gt;&lt;br /&gt;       public static List&amp;lt;AzLibOperation&amp;gt; GetOps(IAzOperations ops)&lt;br /&gt;       {&lt;br /&gt;           List&amp;lt;AzLibOperation&amp;gt; result = new List&amp;lt;AzLibOperation&amp;gt;();&lt;br /&gt;&lt;br /&gt;           for (int it = 0; it &amp;lt; ops.Count; it++)&lt;br /&gt;           {&lt;br /&gt;               result.Add(new AzLibOperation(ops[it + 1]));&lt;br /&gt;           }&lt;br /&gt;&lt;br /&gt;           return result;&lt;br /&gt;       }&lt;br /&gt;&lt;br /&gt;       public static List&amp;lt;AzLibScope&amp;gt; GetScopes(AzLibApplication app, IAzScopes scopes)&lt;br /&gt;       {&lt;br /&gt;           List&amp;lt;AzLibScope&amp;gt; result = new List&amp;lt;AzLibScope&amp;gt;();&lt;br /&gt;&lt;br /&gt;           for (int it = 0; it &amp;lt; scopes.Count; it++)&lt;br /&gt;           {&lt;br /&gt;               result.Add(new AzLibScope(scopes[it + 1], app));&lt;br /&gt;           }&lt;br /&gt;&lt;br /&gt;           return result;&lt;br /&gt;       }&lt;br /&gt;      &lt;br /&gt;       public static List&amp;lt;AzLibApplication&amp;gt; GetApplications(IAzApplications apps)&lt;br /&gt;       {&lt;br /&gt;           List&amp;lt;AzLibApplication&amp;gt; result = new List&amp;lt;AzLibApplication&amp;gt;();&lt;br /&gt;&lt;br /&gt;           for (int it = 0; it &amp;lt; apps.Count; it++)&lt;br /&gt;           {&lt;br /&gt;               result.Add(new AzLibApplication(apps[it + 1]));&lt;br /&gt;           }&lt;br /&gt;&lt;br /&gt;           return result;&lt;br /&gt;       }&lt;br /&gt;&lt;br /&gt;       public static List&amp;lt;AzLibApplicationGroup&amp;gt; GetApplicationGroups(IAzApplicationGroups groups)&lt;br /&gt;       {&lt;br /&gt;           List&amp;lt;AzLibApplicationGroup&amp;gt; result = new List&amp;lt;AzLibApplicationGroup&amp;gt;();&lt;br /&gt;&lt;br /&gt;           for (int it = 0; it &amp;lt; groups.Count; it++)&lt;br /&gt;           {&lt;br /&gt;               result.Add(new AzLibApplicationGroup(groups[it + 1]));&lt;br /&gt;           }&lt;br /&gt;&lt;br /&gt;           return result;&lt;br /&gt;       }&lt;br /&gt;&lt;br /&gt;       public static AzLibClientContext GetContext(AzLibApplication app)&lt;br /&gt;       {&lt;br /&gt;           IAzClientContext context = app.Native.InitializeClientContextFromToken(0, null);&lt;br /&gt;           return new AzLibClientContext(context);&lt;br /&gt;       }&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;The above does not show, but the AzLibOperation (and tasks, roles, etc.) just are simple objects that are gets of the Name, Description, and ID from AzMan. It will be clear once you look at all the code...but let's take it one step at a time.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/920065377104456952-3816766322564110260?l=joelangley.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://joelangley.blogspot.com/feeds/3816766322564110260/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://joelangley.blogspot.com/2010/01/azman-api-library.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/920065377104456952/posts/default/3816766322564110260'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/920065377104456952/posts/default/3816766322564110260'/><link rel='alternate' type='text/html' href='http://joelangley.blogspot.com/2010/01/azman-api-library.html' title='AzMan API Library'/><author><name>Joe Langley</name><uri>http://www.blogger.com/profile/11553619789895911588</uri><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></entry><entry><id>tag:blogger.com,1999:blog-920065377104456952.post-3388381356287166474</id><published>2010-01-06T03:14:00.003-05:00</published><updated>2010-01-06T03:14:49.847-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Random'/><title type='text'>All nighter...</title><content type='html'>Still up trying to get things done for a deadline today...I am finally almost done!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/920065377104456952-3388381356287166474?l=joelangley.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://joelangley.blogspot.com/feeds/3388381356287166474/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://joelangley.blogspot.com/2010/01/all-nighter.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/920065377104456952/posts/default/3388381356287166474'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/920065377104456952/posts/default/3388381356287166474'/><link rel='alternate' type='text/html' href='http://joelangley.blogspot.com/2010/01/all-nighter.html' title='All nighter...'/><author><name>Joe Langley</name><uri>http://www.blogger.com/profile/11553619789895911588</uri><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></entry><entry><id>tag:blogger.com,1999:blog-920065377104456952.post-309179068663149909</id><published>2010-01-05T17:32:00.001-05:00</published><updated>2010-01-05T17:33:25.795-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Random'/><title type='text'>Crazy Day</title><content type='html'>I will do my best to post the AzMan reporter sometime this week as someone just requested it...&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/920065377104456952-309179068663149909?l=joelangley.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://joelangley.blogspot.com/feeds/309179068663149909/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://joelangley.blogspot.com/2010/01/crazy-day.html#comment-form' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/920065377104456952/posts/default/309179068663149909'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/920065377104456952/posts/default/309179068663149909'/><link rel='alternate' type='text/html' href='http://joelangley.blogspot.com/2010/01/crazy-day.html' title='Crazy Day'/><author><name>Joe Langley</name><uri>http://www.blogger.com/profile/11553619789895911588</uri><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>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-920065377104456952.post-7957058932328069954</id><published>2010-01-04T20:54:00.001-05:00</published><updated>2010-01-04T20:55:09.491-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Android'/><title type='text'>Start Android Application on Boot</title><content type='html'>&lt;a href="http://www.androidsoftwaredeveloper.com/2009/03/20/how-to-start-on-boot"&gt;Here&lt;/a&gt; is an article on how to do that...will try it out tomorrow.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/920065377104456952-7957058932328069954?l=joelangley.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://joelangley.blogspot.com/feeds/7957058932328069954/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://joelangley.blogspot.com/2010/01/start-android-application-on-boot.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/920065377104456952/posts/default/7957058932328069954'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/920065377104456952/posts/default/7957058932328069954'/><link rel='alternate' type='text/html' href='http://joelangley.blogspot.com/2010/01/start-android-application-on-boot.html' title='Start Android Application on Boot'/><author><name>Joe Langley</name><uri>http://www.blogger.com/profile/11553619789895911588</uri><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></entry><entry><id>tag:blogger.com,1999:blog-920065377104456952.post-1517062450491567958</id><published>2010-01-03T16:44:00.001-05:00</published><updated>2010-01-03T16:45:50.840-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='powershell'/><title type='text'>Powerboots</title><content type='html'>It has been a long time since I used &lt;a href="http://huddledmasses.org/powerboots/"&gt;powerboots&lt;/a&gt;...I had a need for it today and you can find the codebase on codeplex.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/920065377104456952-1517062450491567958?l=joelangley.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://joelangley.blogspot.com/feeds/1517062450491567958/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://joelangley.blogspot.com/2010/01/powerboots.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/920065377104456952/posts/default/1517062450491567958'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/920065377104456952/posts/default/1517062450491567958'/><link rel='alternate' type='text/html' href='http://joelangley.blogspot.com/2010/01/powerboots.html' title='Powerboots'/><author><name>Joe Langley</name><uri>http://www.blogger.com/profile/11553619789895911588</uri><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></entry><entry><id>tag:blogger.com,1999:blog-920065377104456952.post-8268485221737090558</id><published>2010-01-02T19:59:00.001-05:00</published><updated>2010-01-02T20:00:48.284-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Random'/><title type='text'>Weekend</title><content type='html'>Hope everyone had a good long weekend! More android stuff next week.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/920065377104456952-8268485221737090558?l=joelangley.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://joelangley.blogspot.com/feeds/8268485221737090558/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://joelangley.blogspot.com/2010/01/wee.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/920065377104456952/posts/default/8268485221737090558'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/920065377104456952/posts/default/8268485221737090558'/><link rel='alternate' type='text/html' href='http://joelangley.blogspot.com/2010/01/wee.html' title='Weekend'/><author><name>Joe Langley</name><uri>http://www.blogger.com/profile/11553619789895911588</uri><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></entry><entry><id>tag:blogger.com,1999:blog-920065377104456952.post-4128454812644107909</id><published>2010-01-01T06:46:00.001-05:00</published><updated>2010-01-01T06:46:50.583-05:00</updated><title type='text'>Happy New Years!</title><content type='html'>Happy New Years!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/920065377104456952-4128454812644107909?l=joelangley.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://joelangley.blogspot.com/feeds/4128454812644107909/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://joelangley.blogspot.com/2010/01/happy-new-years.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/920065377104456952/posts/default/4128454812644107909'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/920065377104456952/posts/default/4128454812644107909'/><link rel='alternate' type='text/html' href='http://joelangley.blogspot.com/2010/01/happy-new-years.html' title='Happy New Years!'/><author><name>Joe Langley</name><uri>http://www.blogger.com/profile/11553619789895911588</uri><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></entry><entry><id>tag:blogger.com,1999:blog-920065377104456952.post-2823860708693696544</id><published>2009-12-31T17:14:00.001-05:00</published><updated>2009-12-31T17:14:54.768-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Random'/><title type='text'>New Years Eve</title><content type='html'>Have a happy new year everybody!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/920065377104456952-2823860708693696544?l=joelangley.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://joelangley.blogspot.com/feeds/2823860708693696544/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://joelangley.blogspot.com/2009/12/new-years-eve.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/920065377104456952/posts/default/2823860708693696544'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/920065377104456952/posts/default/2823860708693696544'/><link rel='alternate' type='text/html' href='http://joelangley.blogspot.com/2009/12/new-years-eve.html' title='New Years Eve'/><author><name>Joe Langley</name><uri>http://www.blogger.com/profile/11553619789895911588</uri><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></entry><entry><id>tag:blogger.com,1999:blog-920065377104456952.post-7292078870720076334</id><published>2009-12-30T14:03:00.003-05:00</published><updated>2009-12-30T14:05:54.449-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='powershell'/><title type='text'>Remote Session and Powershell</title><content type='html'>The &lt;a href="http://blogs.msdn.com/powershell/"&gt;Powershell Blog&lt;/a&gt; has three great posts on this:&lt;br /&gt;&lt;ol&gt;&lt;li&gt;&lt;a href="http://blogs.msdn.com/powershell/archive/2009/12/29/saving-remote-session-to-your-local-disk.aspx"&gt;Saving remote session to your local disk&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://blogs.msdn.com/powershell/archive/2009/12/29/bringing-remote-commands-to-your-local-session.aspx"&gt;Bringing remote commands to your local session&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://blogs.msdn.com/powershell/archive/2009/12/29/arguments-for-remote-commands.aspx"&gt;How to pass arguments for remote commands&lt;/a&gt;&lt;/li&gt;&lt;/ol&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/920065377104456952-7292078870720076334?l=joelangley.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://joelangley.blogspot.com/feeds/7292078870720076334/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://joelangley.blogspot.com/2009/12/remote-session-and-powershell.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/920065377104456952/posts/default/7292078870720076334'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/920065377104456952/posts/default/7292078870720076334'/><link rel='alternate' type='text/html' href='http://joelangley.blogspot.com/2009/12/remote-session-and-powershell.html' title='Remote Session and Powershell'/><author><name>Joe Langley</name><uri>http://www.blogger.com/profile/11553619789895911588</uri><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></entry><entry><id>tag:blogger.com,1999:blog-920065377104456952.post-7389211716438993536</id><published>2009-12-29T13:13:00.001-05:00</published><updated>2009-12-29T13:14:48.274-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='powershell'/><title type='text'>Powershell Help Reader</title><content type='html'>I came across this on the powershell blog, take a look at the site &lt;a href="http://powershelltools.com/#home"&gt;here&lt;/a&gt;.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/920065377104456952-7389211716438993536?l=joelangley.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://joelangley.blogspot.com/feeds/7389211716438993536/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://joelangley.blogspot.com/2009/12/powershell-help-reader.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/920065377104456952/posts/default/7389211716438993536'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/920065377104456952/posts/default/7389211716438993536'/><link rel='alternate' type='text/html' href='http://joelangley.blogspot.com/2009/12/powershell-help-reader.html' title='Powershell Help Reader'/><author><name>Joe Langley</name><uri>http://www.blogger.com/profile/11553619789895911588</uri><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></entry><entry><id>tag:blogger.com,1999:blog-920065377104456952.post-8337032771667010486</id><published>2009-12-28T15:35:00.003-05:00</published><updated>2009-12-28T15:42:48.934-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='java'/><title type='text'>Call Stack Details in Java</title><content type='html'>As I get more into Android and back into Java, I wanted to know if there was a way to find out where a method was called from. It seems that the StackTarceElement class can be used to get details about the call stack. I found a great article on &lt;a href="http://helpdesk.objects.com.au/java/can-i-get-details-of-the-call-stack-in-java-such-as-to-find-where-a-method-was-called-from"&gt;this blog&lt;/a&gt; showing me how to to do this.&lt;br /&gt;&lt;br /&gt;I made one addition to the code found on this blog:&lt;br /&gt;&lt;br /&gt;&lt;pre class="brush:java"&gt;&lt;br /&gt;public static String getCallStack(int skip)&lt;br /&gt; {&lt;br /&gt;  StringBuilder sb = new StringBuilder();&lt;br /&gt;  &lt;br /&gt;  StackTraceElement[] stackTraceElements = &lt;br /&gt;   Thread.currentThread().getStackTrace();&lt;br /&gt;  &lt;br /&gt;  for (int i = 3 + skip ; i&amp;lt;stackTraceElements.length; i++)&lt;br /&gt;  {&lt;br /&gt;   StackTraceElement ste = stackTraceElements[i];&lt;br /&gt;   String classname = ste.getClassName();&lt;br /&gt;   String methodName = ste.getMethodName();&lt;br /&gt;   int lineNumber = ste.getLineNumber();&lt;br /&gt;&lt;br /&gt;   sb.append(classname + "." + methodName + ":" + lineNumber + "\r\n");&lt;br /&gt;  }&lt;br /&gt;  &lt;br /&gt;  return sb.toString();&lt;br /&gt; }&lt;br /&gt;&lt;/pre&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/920065377104456952-8337032771667010486?l=joelangley.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://joelangley.blogspot.com/feeds/8337032771667010486/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://joelangley.blogspot.com/2009/12/call-stack-details-in-java.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/920065377104456952/posts/default/8337032771667010486'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/920065377104456952/posts/default/8337032771667010486'/><link rel='alternate' type='text/html' href='http://joelangley.blogspot.com/2009/12/call-stack-details-in-java.html' title='Call Stack Details in Java'/><author><name>Joe Langley</name><uri>http://www.blogger.com/profile/11553619789895911588</uri><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></entry><entry><id>tag:blogger.com,1999:blog-920065377104456952.post-8920454420380034387</id><published>2009-12-27T17:42:00.001-05:00</published><updated>2009-12-27T17:42:54.978-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Random'/><title type='text'>Back to work</title><content type='html'>After the long holiday weekend, gotta get back to work...not sure how I am going to do that.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/920065377104456952-8920454420380034387?l=joelangley.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://joelangley.blogspot.com/feeds/8920454420380034387/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://joelangley.blogspot.com/2009/12/back-to-work.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/920065377104456952/posts/default/8920454420380034387'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/920065377104456952/posts/default/8920454420380034387'/><link rel='alternate' type='text/html' href='http://joelangley.blogspot.com/2009/12/back-to-work.html' title='Back to work'/><author><name>Joe Langley</name><uri>http://www.blogger.com/profile/11553619789895911588</uri><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></entry><entry><id>tag:blogger.com,1999:blog-920065377104456952.post-1092605809843952295</id><published>2009-12-26T18:32:00.001-05:00</published><updated>2009-12-26T19:07:43.008-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Random'/><title type='text'>Weekend</title><content type='html'>Hope everyone is having a great holiday weekend!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/920065377104456952-1092605809843952295?l=joelangley.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://joelangley.blogspot.com/feeds/1092605809843952295/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://joelangley.blogspot.com/2009/12/we.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/920065377104456952/posts/default/1092605809843952295'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/920065377104456952/posts/default/1092605809843952295'/><link rel='alternate' type='text/html' href='http://joelangley.blogspot.com/2009/12/we.html' title='Weekend'/><author><name>Joe Langley</name><uri>http://www.blogger.com/profile/11553619789895911588</uri><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></entry><entry><id>tag:blogger.com,1999:blog-920065377104456952.post-8141334745188176583</id><published>2009-12-25T14:12:00.001-05:00</published><updated>2009-12-25T15:43:51.931-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Android'/><title type='text'>Identify Leaks and Bugs in Android Code</title><content type='html'>I found &lt;a href="http://www.klocwork.com/"&gt;this&lt;/a&gt; tool that has a free trial. Let's see if it works for me...&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/920065377104456952-8141334745188176583?l=joelangley.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://joelangley.blogspot.com/feeds/8141334745188176583/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://joelangley.blogspot.com/2009/12/identify-leaks-and-bugs-in-android-code.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/920065377104456952/posts/default/8141334745188176583'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/920065377104456952/posts/default/8141334745188176583'/><link rel='alternate' type='text/html' href='http://joelangley.blogspot.com/2009/12/identify-leaks-and-bugs-in-android-code.html' title='Identify Leaks and Bugs in Android Code'/><author><name>Joe Langley</name><uri>http://www.blogger.com/profile/11553619789895911588</uri><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></entry><entry><id>tag:blogger.com,1999:blog-920065377104456952.post-6151763268992139450</id><published>2009-12-24T15:15:00.001-05:00</published><updated>2009-12-24T15:15:56.855-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Random'/><title type='text'>Happy Holidays</title><content type='html'>Happy Holidays Everyone!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/920065377104456952-6151763268992139450?l=joelangley.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://joelangley.blogspot.com/feeds/6151763268992139450/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://joelangley.blogspot.com/2009/12/happy-holidays.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/920065377104456952/posts/default/6151763268992139450'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/920065377104456952/posts/default/6151763268992139450'/><link rel='alternate' type='text/html' href='http://joelangley.blogspot.com/2009/12/happy-holidays.html' title='Happy Holidays'/><author><name>Joe Langley</name><uri>http://www.blogger.com/profile/11553619789895911588</uri><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></entry><entry><id>tag:blogger.com,1999:blog-920065377104456952.post-3692731766022860412</id><published>2009-12-23T15:04:00.003-05:00</published><updated>2009-12-23T15:08:28.877-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Android'/><title type='text'>Log in Android</title><content type='html'>Logcat was helpful, but not formatted that nicely. I came across &lt;a href="http://adrianvintu.com/blogengine/post/Colored-Logcat-Script-for-Windows.aspx"&gt;this&lt;/a&gt; which will require a python installation but will make your logs a lot easier to follow.&lt;br /&gt;&lt;br /&gt;If you want to read the log on your device as opposed to on the emulator approach you would just run the command:&lt;br /&gt;&lt;pre&gt;adb -d logcat&lt;br /&gt;&lt;/pre&gt;Taking this one step further, I like to use ddms.bat which will give even nicer logs, CPU usage, etc. This is very helpful when seeing memory issues on your device.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/920065377104456952-3692731766022860412?l=joelangley.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://joelangley.blogspot.com/feeds/3692731766022860412/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://joelangley.blogspot.com/2009/12/log-in-android.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/920065377104456952/posts/default/3692731766022860412'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/920065377104456952/posts/default/3692731766022860412'/><link rel='alternate' type='text/html' href='http://joelangley.blogspot.com/2009/12/log-in-android.html' title='Log in Android'/><author><name>Joe Langley</name><uri>http://www.blogger.com/profile/11553619789895911588</uri><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></entry><entry><id>tag:blogger.com,1999:blog-920065377104456952.post-1473449600265232268</id><published>2009-12-22T14:29:00.001-05:00</published><updated>2009-12-22T14:30:37.903-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Android'/><title type='text'>Android Icons</title><content type='html'>Why is the hardest thing always the images and icons :) I am reading a nice tutorial on creating Android Icons &lt;a href="http://www.connorgarvey.com/blog/?p=41"&gt;here&lt;/a&gt;.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/920065377104456952-1473449600265232268?l=joelangley.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://joelangley.blogspot.com/feeds/1473449600265232268/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://joelangley.blogspot.com/2009/12/android-icons.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/920065377104456952/posts/default/1473449600265232268'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/920065377104456952/posts/default/1473449600265232268'/><link rel='alternate' type='text/html' href='http://joelangley.blogspot.com/2009/12/android-icons.html' title='Android Icons'/><author><name>Joe Langley</name><uri>http://www.blogger.com/profile/11553619789895911588</uri><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></entry><entry><id>tag:blogger.com,1999:blog-920065377104456952.post-4219037448996779743</id><published>2009-12-21T14:04:00.001-05:00</published><updated>2009-12-21T14:05:28.158-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Android'/><title type='text'>Android SqlLite DB</title><content type='html'>I was curious if I starting writing to the db, how I can actually retrieve and read what is in there. I came across this &lt;a href="http://davanum.wordpress.com/2007/12/11/android-how-to-poke-around-the-sqlite3-databases/"&gt;old article&lt;/a&gt; and it was enough to get me on my way.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/920065377104456952-4219037448996779743?l=joelangley.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://joelangley.blogspot.com/feeds/4219037448996779743/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://joelangley.blogspot.com/2009/12/android-sqllite-db.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/920065377104456952/posts/default/4219037448996779743'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/920065377104456952/posts/default/4219037448996779743'/><link rel='alternate' type='text/html' href='http://joelangley.blogspot.com/2009/12/android-sqllite-db.html' title='Android SqlLite DB'/><author><name>Joe Langley</name><uri>http://www.blogger.com/profile/11553619789895911588</uri><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></entry><entry><id>tag:blogger.com,1999:blog-920065377104456952.post-5897748695210960102</id><published>2009-12-20T16:27:00.001-05:00</published><updated>2009-12-20T16:27:57.086-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Random'/><title type='text'>Shovel Today and Android Dev</title><content type='html'>More details tomorrow...&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/920065377104456952-5897748695210960102?l=joelangley.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://joelangley.blogspot.com/feeds/5897748695210960102/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://joelangley.blogspot.com/2009/12/shovel-today-and-android-dev.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/920065377104456952/posts/default/5897748695210960102'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/920065377104456952/posts/default/5897748695210960102'/><link rel='alternate' type='text/html' href='http://joelangley.blogspot.com/2009/12/shovel-today-and-android-dev.html' title='Shovel Today and Android Dev'/><author><name>Joe Langley</name><uri>http://www.blogger.com/profile/11553619789895911588</uri><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></entry><entry><id>tag:blogger.com,1999:blog-920065377104456952.post-2641148207082232339</id><published>2009-12-19T17:14:00.001-05:00</published><updated>2009-12-19T17:14:54.730-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Random'/><title type='text'>Snow</title><content type='html'>I really hate snow.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/920065377104456952-2641148207082232339?l=joelangley.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://joelangley.blogspot.com/feeds/2641148207082232339/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://joelangley.blogspot.com/2009/12/snow.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/920065377104456952/posts/default/2641148207082232339'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/920065377104456952/posts/default/2641148207082232339'/><link rel='alternate' type='text/html' href='http://joelangley.blogspot.com/2009/12/snow.html' title='Snow'/><author><name>Joe Langley</name><uri>http://www.blogger.com/profile/11553619789895911588</uri><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></entry><entry><id>tag:blogger.com,1999:blog-920065377104456952.post-5533963335027392411</id><published>2009-12-18T13:14:00.001-05:00</published><updated>2009-12-18T13:14:43.553-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Random'/><title type='text'>Weekend</title><content type='html'>Have a good weekend everyone! TGIF!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/920065377104456952-5533963335027392411?l=joelangley.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://joelangley.blogspot.com/feeds/5533963335027392411/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://joelangley.blogspot.com/2009/12/weekend_18.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/920065377104456952/posts/default/5533963335027392411'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/920065377104456952/posts/default/5533963335027392411'/><link rel='alternate' type='text/html' href='http://joelangley.blogspot.com/2009/12/weekend_18.html' title='Weekend'/><author><name>Joe Langley</name><uri>http://www.blogger.com/profile/11553619789895911588</uri><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></entry><entry><id>tag:blogger.com,1999:blog-920065377104456952.post-583020123650366161</id><published>2009-12-17T18:36:00.000-05:00</published><updated>2009-12-17T18:37:40.233-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Random'/><title type='text'>Scott Guthrie December Presentations</title><content type='html'>Download them &lt;a href="http://weblogs.asp.net/scottgu/archive/2009/12/06/my-presentations-in-europe-december-2009.aspx"&gt;here&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/920065377104456952-583020123650366161?l=joelangley.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://joelangley.blogspot.com/feeds/583020123650366161/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://joelangley.blogspot.com/2009/12/scott-guthrie-december-presentations.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/920065377104456952/posts/default/583020123650366161'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/920065377104456952/posts/default/583020123650366161'/><link rel='alternate' type='text/html' href='http://joelangley.blogspot.com/2009/12/scott-guthrie-december-presentations.html' title='Scott Guthrie December Presentations'/><author><name>Joe Langley</name><uri>http://www.blogger.com/profile/11553619789895911588</uri><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></entry><entry><id>tag:blogger.com,1999:blog-920065377104456952.post-6244745862687433910</id><published>2009-12-16T20:28:00.001-05:00</published><updated>2009-12-16T20:28:27.730-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Random'/><title type='text'>Vacation</title><content type='html'>Really, I need one!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/920065377104456952-6244745862687433910?l=joelangley.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://joelangley.blogspot.com/feeds/6244745862687433910/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://joelangley.blogspot.com/2009/12/vacation.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/920065377104456952/posts/default/6244745862687433910'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/920065377104456952/posts/default/6244745862687433910'/><link rel='alternate' type='text/html' href='http://joelangley.blogspot.com/2009/12/vacation.html' title='Vacation'/><author><name>Joe Langley</name><uri>http://www.blogger.com/profile/11553619789895911588</uri><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></entry><entry><id>tag:blogger.com,1999:blog-920065377104456952.post-8049853369298885727</id><published>2009-12-15T17:45:00.000-05:00</published><updated>2009-12-15T17:47:13.229-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Android'/><title type='text'>Google Phone</title><content type='html'>So I read about it yesterday and I was not going to post on it...but &lt;a href="http://www.pcworld.com/businesscenter/article/184557/google_nexus_one_smartphone_could_hurt_android.html"&gt;this&lt;/a&gt; bothers me. Android phone choices are getting more complex...which actually hurts the developers in some ways.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/920065377104456952-8049853369298885727?l=joelangley.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://joelangley.blogspot.com/feeds/8049853369298885727/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://joelangley.blogspot.com/2009/12/google-phone.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/920065377104456952/posts/default/8049853369298885727'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/920065377104456952/posts/default/8049853369298885727'/><link rel='alternate' type='text/html' href='http://joelangley.blogspot.com/2009/12/google-phone.html' title='Google Phone'/><author><name>Joe Langley</name><uri>http://www.blogger.com/profile/11553619789895911588</uri><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></entry><entry><id>tag:blogger.com,1999:blog-920065377104456952.post-3125426589373152752</id><published>2009-12-14T20:00:00.004-05:00</published><updated>2009-12-14T20:02:22.701-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='java'/><title type='text'>Java and POP3 with Hotmail</title><content type='html'>A simple example as we learn more on the mail protocols:&lt;br /&gt;&lt;pre class="brush:csharp"&gt;&lt;br /&gt;package email;&lt;br /&gt;&lt;br /&gt;import javax.mail.*;&lt;br /&gt;&lt;br /&gt;public class MailUtils {&lt;br /&gt;&lt;br /&gt;public static Store getStore(Account account) throws MessagingException {&lt;br /&gt; return getStore(account.Email, account.Password);&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;public static Store getStore(String email, String password) throws MessagingException {&lt;br /&gt; java.util.Properties props = new java.util.Properties();&lt;br /&gt; props.setProperty("mail.pop3.socketFactory.class", "javax.net.ssl.SSLSocketFactory");&lt;br /&gt; props.setProperty("mail.pop3.socketFactory.fallback", "false");&lt;br /&gt; props.setProperty("mail.pop3.socketFactory.port", "995");&lt;br /&gt;&lt;br /&gt; javax.mail.Session session = Session.getDefaultInstance(props);&lt;br /&gt;&lt;br /&gt; Store store = session.getStore("pop3");&lt;br /&gt; store.connect("pop3.live.com", email, password);&lt;br /&gt;&lt;br /&gt; return store;&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;public static Folder[] getFolders(Store store) throws MessagingException&lt;br /&gt;{&lt;br /&gt; return store.getDefaultFolder().list("*");&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;public static Folder getFolderByUrl(Store store, String url) throws MessagingException&lt;br /&gt;{&lt;br /&gt; return store.getFolder(new URLName(url));&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;public static Message[] getMessages(Folder folder) throws MessagingException {&lt;br /&gt; try {&lt;br /&gt;  folder.open(Folder.READ_ONLY);&lt;br /&gt;  Message[] messages = folder.getMessages();&lt;br /&gt; &lt;br /&gt;  for(Message m : messages) {&lt;br /&gt;   String s = m.getSubject();&lt;br /&gt;   System.out.print(s);&lt;br /&gt;  }&lt;br /&gt; &lt;br /&gt;  return messages;&lt;br /&gt; }&lt;br /&gt; finally {&lt;br /&gt;  //folder.close(false);&lt;br /&gt; }&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;}&lt;br /&gt;&lt;/pre&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/920065377104456952-3125426589373152752?l=joelangley.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://joelangley.blogspot.com/feeds/3125426589373152752/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://joelangley.blogspot.com/2009/12/java-and-pop3-with-hotmail.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/920065377104456952/posts/default/3125426589373152752'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/920065377104456952/posts/default/3125426589373152752'/><link rel='alternate' type='text/html' href='http://joelangley.blogspot.com/2009/12/java-and-pop3-with-hotmail.html' title='Java and POP3 with Hotmail'/><author><name>Joe Langley</name><uri>http://www.blogger.com/profile/11553619789895911588</uri><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></entry><entry><id>tag:blogger.com,1999:blog-920065377104456952.post-1698304730296673333</id><published>2009-12-13T21:46:00.002-05:00</published><updated>2009-12-13T21:46:45.160-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Random'/><title type='text'>Good Weekend</title><content type='html'>Hope everyone had a good weekend! A lot of work on POP3 and IMAP this weekend...will share the details tomorrow.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/920065377104456952-1698304730296673333?l=joelangley.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://joelangley.blogspot.com/feeds/1698304730296673333/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://joelangley.blogspot.com/2009/12/good-weekend_13.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/920065377104456952/posts/default/1698304730296673333'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/920065377104456952/posts/default/1698304730296673333'/><link rel='alternate' type='text/html' href='http://joelangley.blogspot.com/2009/12/good-weekend_13.html' title='Good Weekend'/><author><name>Joe Langley</name><uri>http://www.blogger.com/profile/11553619789895911588</uri><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></entry><entry><id>tag:blogger.com,1999:blog-920065377104456952.post-6224903702324126819</id><published>2009-12-12T19:17:00.000-05:00</published><updated>2009-12-12T19:18:12.432-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Android'/><title type='text'>Android 2.1 Update</title><content type='html'>So far it has fixed the camera problems. Now let's see if it fixed any other quirks that it has claimed to fix.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/920065377104456952-6224903702324126819?l=joelangley.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://joelangley.blogspot.com/feeds/6224903702324126819/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://joelangley.blogspot.com/2009/12/android-21-update.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/920065377104456952/posts/default/6224903702324126819'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/920065377104456952/posts/default/6224903702324126819'/><link rel='alternate' type='text/html' href='http://joelangley.blogspot.com/2009/12/android-21-update.html' title='Android 2.1 Update'/><author><name>Joe Langley</name><uri>http://www.blogger.com/profile/11553619789895911588</uri><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></entry><entry><id>tag:blogger.com,1999:blog-920065377104456952.post-9054422259026849415</id><published>2009-12-11T16:07:00.001-05:00</published><updated>2009-12-11T16:07:18.066-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Random'/><title type='text'>Weekend</title><content type='html'>Have a good weekend!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/920065377104456952-9054422259026849415?l=joelangley.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://joelangley.blogspot.com/feeds/9054422259026849415/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://joelangley.blogspot.com/2009/12/weekend.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/920065377104456952/posts/default/9054422259026849415'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/920065377104456952/posts/default/9054422259026849415'/><link rel='alternate' type='text/html' href='http://joelangley.blogspot.com/2009/12/weekend.html' title='Weekend'/><author><name>Joe Langley</name><uri>http://www.blogger.com/profile/11553619789895911588</uri><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></entry><entry><id>tag:blogger.com,1999:blog-920065377104456952.post-7216121566025202878</id><published>2009-12-10T22:57:00.001-05:00</published><updated>2009-12-10T22:58:05.825-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Android'/><title type='text'>Android</title><content type='html'>Just got my 2.1 update! Finally, my camera works!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/920065377104456952-7216121566025202878?l=joelangley.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://joelangley.blogspot.com/feeds/7216121566025202878/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://joelangley.blogspot.com/2009/12/android.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/920065377104456952/posts/default/7216121566025202878'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/920065377104456952/posts/default/7216121566025202878'/><link rel='alternate' type='text/html' href='http://joelangley.blogspot.com/2009/12/android.html' title='Android'/><author><name>Joe Langley</name><uri>http://www.blogger.com/profile/11553619789895911588</uri><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></entry><entry><id>tag:blogger.com,1999:blog-920065377104456952.post-2520119829183143932</id><published>2009-12-09T22:54:00.000-05:00</published><updated>2009-12-09T22:55:11.453-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Random'/><title type='text'>Crazy Day</title><content type='html'>Just a crazy day today. Hope to post some updates tomorrow.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/920065377104456952-2520119829183143932?l=joelangley.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://joelangley.blogspot.com/feeds/2520119829183143932/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://joelangley.blogspot.com/2009/12/crazy-day.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/920065377104456952/posts/default/2520119829183143932'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/920065377104456952/posts/default/2520119829183143932'/><link rel='alternate' type='text/html' href='http://joelangley.blogspot.com/2009/12/crazy-day.html' title='Crazy Day'/><author><name>Joe Langley</name><uri>http://www.blogger.com/profile/11553619789895911588</uri><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></entry><entry><id>tag:blogger.com,1999:blog-920065377104456952.post-7679661742041001002</id><published>2009-12-08T12:58:00.001-05:00</published><updated>2009-12-08T12:58:54.463-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='powershell'/><title type='text'>Powershell Hashtable</title><content type='html'>A nice little post by Jeffrey Snover can be found &lt;a href="http://blogs.msdn.com/powershell/archive/2009/12/05/new-object-psobject-property-hashtable.aspx"&gt;here&lt;/a&gt;.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/920065377104456952-7679661742041001002?l=joelangley.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://joelangley.blogspot.com/feeds/7679661742041001002/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://joelangley.blogspot.com/2009/12/powershell-hashtable.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/920065377104456952/posts/default/7679661742041001002'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/920065377104456952/posts/default/7679661742041001002'/><link rel='alternate' type='text/html' href='http://joelangley.blogspot.com/2009/12/powershell-hashtable.html' title='Powershell Hashtable'/><author><name>Joe Langley</name><uri>http://www.blogger.com/profile/11553619789895911588</uri><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></entry><entry><id>tag:blogger.com,1999:blog-920065377104456952.post-2789496093129199173</id><published>2009-12-07T19:59:00.000-05:00</published><updated>2009-12-07T20:01:11.302-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Random'/><title type='text'>Windows API code pack for .NET</title><content type='html'>&lt;a href="http://code.msdn.microsoft.com/WindowsAPICodePack"&gt;Updated&lt;/a&gt; with Windows 7.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/920065377104456952-2789496093129199173?l=joelangley.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://joelangley.blogspot.com/feeds/2789496093129199173/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://joelangley.blogspot.com/2009/12/windows-api-code-pack-for-net.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/920065377104456952/posts/default/2789496093129199173'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/920065377104456952/posts/default/2789496093129199173'/><link rel='alternate' type='text/html' href='http://joelangley.blogspot.com/2009/12/windows-api-code-pack-for-net.html' title='Windows API code pack for .NET'/><author><name>Joe Langley</name><uri>http://www.blogger.com/profile/11553619789895911588</uri><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></entry><entry><id>tag:blogger.com,1999:blog-920065377104456952.post-2033682028408315480</id><published>2009-12-06T01:13:00.001-05:00</published><updated>2009-12-06T01:13:27.329-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Random'/><title type='text'>Sharepoint Foundation 2010 Beta</title><content type='html'>Download it &lt;a href="http://www.microsoft.com/downloads/details.aspx?FamilyID=906c9f5a-6505-4eba-bf24-95e423ac1703&amp;displaylang=en"&gt;here&lt;/a&gt;.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/920065377104456952-2033682028408315480?l=joelangley.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://joelangley.blogspot.com/feeds/2033682028408315480/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://joelangley.blogspot.com/2009/12/sharepoint-foundation-2010-beta.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/920065377104456952/posts/default/2033682028408315480'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/920065377104456952/posts/default/2033682028408315480'/><link rel='alternate' type='text/html' href='http://joelangley.blogspot.com/2009/12/sharepoint-foundation-2010-beta.html' title='Sharepoint Foundation 2010 Beta'/><author><name>Joe Langley</name><uri>http://www.blogger.com/profile/11553619789895911588</uri><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></entry><entry><id>tag:blogger.com,1999:blog-920065377104456952.post-3816373162670816914</id><published>2009-12-05T17:27:00.000-05:00</published><updated>2009-12-05T17:28:15.806-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Random'/><title type='text'>Good Weekend</title><content type='html'>Hope everyone is having a nice weekend.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/920065377104456952-3816373162670816914?l=joelangley.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://joelangley.blogspot.com/feeds/3816373162670816914/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://joelangley.blogspot.com/2009/12/good-weekend.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/920065377104456952/posts/default/3816373162670816914'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/920065377104456952/posts/default/3816373162670816914'/><link rel='alternate' type='text/html' href='http://joelangley.blogspot.com/2009/12/good-weekend.html' title='Good Weekend'/><author><name>Joe Langley</name><uri>http://www.blogger.com/profile/11553619789895911588</uri><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></entry><entry><id>tag:blogger.com,1999:blog-920065377104456952.post-3280440016038962985</id><published>2009-12-04T09:27:00.002-05:00</published><updated>2009-12-04T09:28:50.581-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='REST'/><category scheme='http://www.blogger.com/atom/ns#' term='Android'/><title type='text'>REST on Android</title><content type='html'>For my upcoming application, I wanted to work with REST on Android. It seemed to be straightforward after I came across this &lt;a href="http://senior.ceng.metu.edu.tr/2009/praeda/2009/01/11/a-simple-restful-client-at-android/"&gt;article&lt;/a&gt;. I have an interesting idea for an app and I am hoping to get it on the Android Market soon.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/920065377104456952-3280440016038962985?l=joelangley.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://joelangley.blogspot.com/feeds/3280440016038962985/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://joelangley.blogspot.com/2009/12/rest-on-android.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/920065377104456952/posts/default/3280440016038962985'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/920065377104456952/posts/default/3280440016038962985'/><link rel='alternate' type='text/html' href='http://joelangley.blogspot.com/2009/12/rest-on-android.html' title='REST on Android'/><author><name>Joe Langley</name><uri>http://www.blogger.com/profile/11553619789895911588</uri><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></entry><entry><id>tag:blogger.com,1999:blog-920065377104456952.post-2281604687368182979</id><published>2009-12-03T21:17:00.001-05:00</published><updated>2009-12-03T21:18:35.940-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='AzMan'/><title type='text'>AzMan Reports</title><content type='html'>Had to generate a whole bunch of reports from AzMan. I'll post some code this weekend that shows what I did in detail. I know I mentioned this reporting project in the past, but it had some major upgrades today....&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/920065377104456952-2281604687368182979?l=joelangley.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://joelangley.blogspot.com/feeds/2281604687368182979/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://joelangley.blogspot.com/2009/12/azman-reports.html#comment-form' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/920065377104456952/posts/default/2281604687368182979'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/920065377104456952/posts/default/2281604687368182979'/><link rel='alternate' type='text/html' href='http://joelangley.blogspot.com/2009/12/azman-reports.html' title='AzMan Reports'/><author><name>Joe Langley</name><uri>http://www.blogger.com/profile/11553619789895911588</uri><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>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-920065377104456952.post-1750143553521793683</id><published>2009-12-02T19:55:00.001-05:00</published><updated>2009-12-02T19:57:34.222-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Android'/><title type='text'>Android Music Player and Sync</title><content type='html'>Download &lt;a href="http://www.doubletwist.com/dt/Home/Index.dt"&gt;doubletwist &lt;/a&gt;to sync from your machine and MixZing from the android market (an iphone clone). Dvd Jon brings us doubletwist, but this app is legit in that no DRM is broken.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/920065377104456952-1750143553521793683?l=joelangley.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://joelangley.blogspot.com/feeds/1750143553521793683/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://joelangley.blogspot.com/2009/12/android-music-player-and-sync.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/920065377104456952/posts/default/1750143553521793683'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/920065377104456952/posts/default/1750143553521793683'/><link rel='alternate' type='text/html' href='http://joelangley.blogspot.com/2009/12/android-music-player-and-sync.html' title='Android Music Player and Sync'/><author><name>Joe Langley</name><uri>http://www.blogger.com/profile/11553619789895911588</uri><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></entry><entry><id>tag:blogger.com,1999:blog-920065377104456952.post-3900469416628595019</id><published>2009-12-01T15:45:00.001-05:00</published><updated>2009-12-01T15:47:03.345-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Android'/><title type='text'>Android Wishlist?</title><content type='html'>So what is on your android wishlist? I need some ideas on what to build!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/920065377104456952-3900469416628595019?l=joelangley.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://joelangley.blogspot.com/feeds/3900469416628595019/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://joelangley.blogspot.com/2009/12/andorid-wishlist.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/920065377104456952/posts/default/3900469416628595019'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/920065377104456952/posts/default/3900469416628595019'/><link rel='alternate' type='text/html' href='http://joelangley.blogspot.com/2009/12/andorid-wishlist.html' title='Android Wishlist?'/><author><name>Joe Langley</name><uri>http://www.blogger.com/profile/11553619789895911588</uri><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></entry><entry><id>tag:blogger.com,1999:blog-920065377104456952.post-4651594804219824746</id><published>2009-11-30T15:30:00.003-05:00</published><updated>2009-11-30T15:35:34.744-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='c#'/><title type='text'>Alphabet in C#</title><content type='html'>I saw some code that someone wrote at our company and he was reading the English alphabet from a config file. Granted, that I don't like that...I was looking for an easy way to do it and add to an array not from a config...or build it on the fly. I know I can easily add it to an array like:&lt;br /&gt;&lt;pre class="brush:csharp"&gt;char[] alpheng = "ABCDEFGHIJKLMNOPQRSTUVWXYZ".ToCharArray();&lt;br /&gt;&lt;/pre&gt; I came across &lt;a href="http://stackoverflow.com/questions/314466/generating-an-array-of-letters-in-the-alphabet-in-c"&gt;this&lt;/a&gt;:&lt;br /&gt;&lt;pre class="brush:csharp"&gt;char[] az = Enumerable.Range('a', 'z' - 'a' + 1).Select(i =&gt; (Char)i).ToArray();&lt;br /&gt;foreach (var c in az)&lt;br /&gt;{&lt;br /&gt;   Console.WriteLine(c);&lt;br /&gt;}&lt;br /&gt;&lt;/pre&gt;Even funnier was that the suggested answer was what I said at the begining of this post and then someone came after that and gave this unique solution.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/920065377104456952-4651594804219824746?l=joelangley.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://joelangley.blogspot.com/feeds/4651594804219824746/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://joelangley.blogspot.com/2009/11/alphabet-in-c.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/920065377104456952/posts/default/4651594804219824746'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/920065377104456952/posts/default/4651594804219824746'/><link rel='alternate' type='text/html' href='http://joelangley.blogspot.com/2009/11/alphabet-in-c.html' title='Alphabet in C#'/><author><name>Joe Langley</name><uri>http://www.blogger.com/profile/11553619789895911588</uri><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></entry><entry><id>tag:blogger.com,1999:blog-920065377104456952.post-7267496004106715502</id><published>2009-11-29T18:20:00.002-05:00</published><updated>2009-11-29T18:23:51.867-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Android'/><title type='text'>Droid Yahoo Mail and Hotmail</title><content type='html'>Getting gmail is straightforward, after all it it is google based! However, what about Yahoo, Hotmail, and other providers? Here is how you would get &lt;a href="http://answers.yahoo.com/question/index?qid=20091106124608AAFAqnR"&gt;Yahoo&lt;/a&gt;. You can find Hotmail &lt;a href="http://mobiletech.knguyentu.com/2009/11/yahoo-google-and-hotmail-mail-server.html"&gt;here&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;I have been enjoying my new phone!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/920065377104456952-7267496004106715502?l=joelangley.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://joelangley.blogspot.com/feeds/7267496004106715502/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://joelangley.blogspot.com/2009/11/droid-yahoo-mail-and-hotmail.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/920065377104456952/posts/default/7267496004106715502'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/920065377104456952/posts/default/7267496004106715502'/><link rel='alternate' type='text/html' href='http://joelangley.blogspot.com/2009/11/droid-yahoo-mail-and-hotmail.html' title='Droid Yahoo Mail and Hotmail'/><author><name>Joe Langley</name><uri>http://www.blogger.com/profile/11553619789895911588</uri><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></entry><entry><id>tag:blogger.com,1999:blog-920065377104456952.post-6922498910225420411</id><published>2009-11-28T18:25:00.002-05:00</published><updated>2009-11-28T18:26:24.789-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Android'/><title type='text'>Android SDK</title><content type='html'>Hope everyone had a nice day today. I downloaded the android SDK...looks very nice. Now just need to find that one app that everyone needs. Anyone have a wish-list?&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/920065377104456952-6922498910225420411?l=joelangley.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://joelangley.blogspot.com/feeds/6922498910225420411/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://joelangley.blogspot.com/2009/11/android-sdk.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/920065377104456952/posts/default/6922498910225420411'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/920065377104456952/posts/default/6922498910225420411'/><link rel='alternate' type='text/html' href='http://joelangley.blogspot.com/2009/11/android-sdk.html' title='Android SDK'/><author><name>Joe Langley</name><uri>http://www.blogger.com/profile/11553619789895911588</uri><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></entry><entry><id>tag:blogger.com,1999:blog-920065377104456952.post-1957415721640823632</id><published>2009-11-27T11:19:00.001-05:00</published><updated>2009-11-27T11:19:41.441-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Random'/><title type='text'>Vacation Day!</title><content type='html'>Good to have a day off...allows me to play with my new phone as well :)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/920065377104456952-1957415721640823632?l=joelangley.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://joelangley.blogspot.com/feeds/1957415721640823632/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://joelangley.blogspot.com/2009/11/vacation-day.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/920065377104456952/posts/default/1957415721640823632'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/920065377104456952/posts/default/1957415721640823632'/><link rel='alternate' type='text/html' href='http://joelangley.blogspot.com/2009/11/vacation-day.html' title='Vacation Day!'/><author><name>Joe Langley</name><uri>http://www.blogger.com/profile/11553619789895911588</uri><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></entry><entry><id>tag:blogger.com,1999:blog-920065377104456952.post-7896695314308386501</id><published>2009-11-26T20:02:00.001-05:00</published><updated>2009-11-26T20:05:07.941-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Random'/><title type='text'>Opera Unite</title><content type='html'>A friend of mine recently showed me &lt;a href="http://unite.opera.com/"&gt;this&lt;/a&gt;. It is so cool! You should check it out.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/920065377104456952-7896695314308386501?l=joelangley.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://joelangley.blogspot.com/feeds/7896695314308386501/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://joelangley.blogspot.com/2009/11/opera-unite.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/920065377104456952/posts/default/7896695314308386501'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/920065377104456952/posts/default/7896695314308386501'/><link rel='alternate' type='text/html' href='http://joelangley.blogspot.com/2009/11/opera-unite.html' title='Opera Unite'/><author><name>Joe Langley</name><uri>http://www.blogger.com/profile/11553619789895911588</uri><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></entry><entry><id>tag:blogger.com,1999:blog-920065377104456952.post-50272403543374314</id><published>2009-11-25T11:30:00.003-05:00</published><updated>2009-11-25T11:36:50.648-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='c#'/><title type='text'>MSMQ Count with C#</title><content type='html'>We had a bug in our production environment that filled up MSMQ and would be tied to a specific windows service that we had running. In order to fix this, the solution was to stop and start the windows service. The catch was that we only wanted to do this when the MessageQueue count was above a certain number. You can get access to the class &lt;a href="http://www.box.net/shared/uftrczbvsy"&gt;here&lt;/a&gt;. A snippet of the main code is below:&lt;br /&gt;&lt;pre class="brush:csharp"&gt;public void Run()&lt;br /&gt;      {&lt;br /&gt;          if (TotalMessagesInAllQueues() &gt;= MessagesCriticalCount)&lt;br /&gt;          {&lt;br /&gt;              StopService();&lt;br /&gt;              SendEmail();&lt;br /&gt;              StartService();&lt;br /&gt;          }&lt;br /&gt;      }&lt;br /&gt;&lt;br /&gt;private ManagementObject GetServiceByName(string name)&lt;br /&gt;      {&lt;br /&gt;          List&lt;managementobject&gt; list = SearchObjects(string.Format("Select * From Win32_Service WHERE Name='{0}'", name));&lt;br /&gt;&lt;br /&gt;          if (list.Count == 0)&lt;br /&gt;              throw new Exception(string.Format("Service '{0}' can not be found", name));&lt;br /&gt;&lt;br /&gt;          return list[0];&lt;br /&gt;      }&lt;br /&gt;&lt;br /&gt;      private ulong TotalMessagesInAllQueues()&lt;br /&gt;      {&lt;br /&gt;          var list = SearchObjects("Select * From Win32_PerfRawData_MSMQ_MSMQService");&lt;br /&gt;          return (ulong)list[0].GetPropertyValue("TotalMessagesInAllQueues");&lt;br /&gt;      }    &lt;br /&gt;&lt;/managementobject&gt;&lt;/pre&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/920065377104456952-50272403543374314?l=joelangley.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://joelangley.blogspot.com/feeds/50272403543374314/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://joelangley.blogspot.com/2009/11/msmq-count-with-c.html#comment-form' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/920065377104456952/posts/default/50272403543374314'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/920065377104456952/posts/default/50272403543374314'/><link rel='alternate' type='text/html' href='http://joelangley.blogspot.com/2009/11/msmq-count-with-c.html' title='MSMQ Count with C#'/><author><name>Joe Langley</name><uri>http://www.blogger.com/profile/11553619789895911588</uri><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>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-920065377104456952.post-5429014587692405213</id><published>2009-11-24T18:21:00.000-05:00</published><updated>2009-11-24T18:22:33.949-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Android'/><title type='text'>Android Programming</title><content type='html'>I have to get into that! I love my new phone...&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/920065377104456952-5429014587692405213?l=joelangley.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://joelangley.blogspot.com/feeds/5429014587692405213/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://joelangley.blogspot.com/2009/11/android-programming.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/920065377104456952/posts/default/5429014587692405213'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/920065377104456952/posts/default/5429014587692405213'/><link rel='alternate' type='text/html' href='http://joelangley.blogspot.com/2009/11/android-programming.html' title='Android Programming'/><author><name>Joe Langley</name><uri>http://www.blogger.com/profile/11553619789895911588</uri><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></entry><entry><id>tag:blogger.com,1999:blog-920065377104456952.post-7463096143140045335</id><published>2009-11-23T18:45:00.001-05:00</published><updated>2009-11-23T18:46:59.782-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Random'/><title type='text'>Testing in IE5 - IE7</title><content type='html'>I am a firefox/chrome guy..but you always need to test in IE. I had an issue with a .js file that worked in IE8 but failed in 5,6,7. I could have downloaded a virtual, but someone sent me &lt;a href="http://www.my-debugbar.com/wiki/IETester/HomePage"&gt;this&lt;/a&gt; great tool...what a time-saver!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/920065377104456952-7463096143140045335?l=joelangley.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://joelangley.blogspot.com/feeds/7463096143140045335/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://joelangley.blogspot.com/2009/11/testing-in-ie5-ie7.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/920065377104456952/posts/default/7463096143140045335'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/920065377104456952/posts/default/7463096143140045335'/><link rel='alternate' type='text/html' href='http://joelangley.blogspot.com/2009/11/testing-in-ie5-ie7.html' title='Testing in IE5 - IE7'/><author><name>Joe Langley</name><uri>http://www.blogger.com/profile/11553619789895911588</uri><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></entry><entry><id>tag:blogger.com,1999:blog-920065377104456952.post-1229654241527007880</id><published>2009-11-22T22:23:00.001-05:00</published><updated>2009-11-22T22:24:49.505-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='powershell'/><title type='text'>Administrator not needed to Run Remote PowerShell Commands</title><content type='html'>I always impersonated, but it is good to read &lt;a href="http://blogs.msdn.com/powershell/archive/2009/11/23/you-don-t-have-to-be-an-administrator-to-run-remote-powershell-commands.aspx"&gt;this&lt;/a&gt; article.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/920065377104456952-1229654241527007880?l=joelangley.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://joelangley.blogspot.com/feeds/1229654241527007880/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://joelangley.blogspot.com/2009/11/administrator-not-needed-to-run-remote.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/920065377104456952/posts/default/1229654241527007880'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/920065377104456952/posts/default/1229654241527007880'/><link rel='alternate' type='text/html' href='http://joelangley.blogspot.com/2009/11/administrator-not-needed-to-run-remote.html' title='Administrator not needed to Run Remote PowerShell Commands'/><author><name>Joe Langley</name><uri>http://www.blogger.com/profile/11553619789895911588</uri><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></entry><entry><id>tag:blogger.com,1999:blog-920065377104456952.post-7861897078173768132</id><published>2009-11-21T20:02:00.001-05:00</published><updated>2009-11-21T20:02:49.122-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Random'/><title type='text'>Weekend</title><content type='html'>Hope everyone is having a good weekend!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/920065377104456952-7861897078173768132?l=joelangley.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://joelangley.blogspot.com/feeds/7861897078173768132/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://joelangley.blogspot.com/2009/11/weekend.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/920065377104456952/posts/default/7861897078173768132'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/920065377104456952/posts/default/7861897078173768132'/><link rel='alternate' type='text/html' href='http://joelangley.blogspot.com/2009/11/weekend.html' title='Weekend'/><author><name>Joe Langley</name><uri>http://www.blogger.com/profile/11553619789895911588</uri><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></entry><entry><id>tag:blogger.com,1999:blog-920065377104456952.post-5978920111680987614</id><published>2009-11-20T11:09:00.003-05:00</published><updated>2009-11-20T11:12:23.109-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Ruby'/><title type='text'>Ruby and Rake to Deploy ASP.NET and SQL II</title><content type='html'>In a follow-up to my article from yesterday. It seems that starting last night the website that I am pointing too went down. I am posting a link to the ruby file &lt;a href="http://www.box.net/shared/ksdkng8nu2"&gt;here&lt;/a&gt; with all credit to derek who wrote it up. The details of what he did are on his site and I hope it comes back up soon.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/920065377104456952-5978920111680987614?l=joelangley.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://joelangley.blogspot.com/feeds/5978920111680987614/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://joelangley.blogspot.com/2009/11/ruby-and-rake-to-deploy-aspnet-and-sql_20.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/920065377104456952/posts/default/5978920111680987614'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/920065377104456952/posts/default/5978920111680987614'/><link rel='alternate' type='text/html' href='http://joelangley.blogspot.com/2009/11/ruby-and-rake-to-deploy-aspnet-and-sql_20.html' title='Ruby and Rake to Deploy ASP.NET and SQL II'/><author><name>Joe Langley</name><uri>http://www.blogger.com/profile/11553619789895911588</uri><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></entry><entry><id>tag:blogger.com,1999:blog-920065377104456952.post-6058108001835072898</id><published>2009-11-19T14:47:00.002-05:00</published><updated>2009-11-19T14:49:24.815-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Ruby'/><title type='text'>Ruby and Rake to Deploy ASP.NET and SQL</title><content type='html'>I currently use NAnt and some powershell to deploy most of my web applications in our environment. I was curious if I could do this with Ruby. I came across this informative article &lt;a href="http://derek-morrison.com/post/Using-Ruby-and-Rake-with-ASPNET.aspx"&gt;here&lt;/a&gt; that discusses how to use Rake and Ruby to do deployments for ASP.NET and also how to do SQL compares. Very interesting!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/920065377104456952-6058108001835072898?l=joelangley.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://joelangley.blogspot.com/feeds/6058108001835072898/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://joelangley.blogspot.com/2009/11/ruby-and-rake-to-deploy-aspnet-and-sql.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/920065377104456952/posts/default/6058108001835072898'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/920065377104456952/posts/default/6058108001835072898'/><link rel='alternate' type='text/html' href='http://joelangley.blogspot.com/2009/11/ruby-and-rake-to-deploy-aspnet-and-sql.html' title='Ruby and Rake to Deploy ASP.NET and SQL'/><author><name>Joe Langley</name><uri>http://www.blogger.com/profile/11553619789895911588</uri><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></entry><entry><id>tag:blogger.com,1999:blog-920065377104456952.post-9197841081050671166</id><published>2009-11-18T13:53:00.003-05:00</published><updated>2009-11-18T14:13:48.572-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='c#'/><category scheme='http://www.blogger.com/atom/ns#' term='Active Directory'/><title type='text'>Add Uses to Group in Bulk using C#</title><content type='html'>So I had a task to take a list of usernames in a text document and add them to AD and map them to group(s). I am sure I could have done this quickly in Powershell, but I wanted to do it in C#. You can get the code &lt;a href="http://www.box.net/shared/xf21y0puvy"&gt;here&lt;/a&gt;. The application is console based and uses some of our past AD classes.&lt;br /&gt;&lt;br /&gt;The format was simple:&lt;br /&gt;&lt;pre&gt;user1&lt;br /&gt;user2&lt;br /&gt;user3&lt;br /&gt;&lt;/pre&gt;A snippet of the code is below:&lt;br /&gt;&lt;pre class="brush:csharp"&gt;//using log4net;&lt;br /&gt;//using ActiveDs;&lt;br /&gt;public void Run()&lt;br /&gt;       {&lt;br /&gt;           foreach (AdUser user in ReadUsers())&lt;br /&gt;           {&lt;br /&gt;               using (user)&lt;br /&gt;               {&lt;br /&gt;                   Dictionary&lt;string, object=""&gt; userGroups = GetUserGroupsDn(user.Entry);&lt;br /&gt;&lt;br /&gt;                   foreach (string groupDn in _groupsToAddUserTo.Keys)&lt;br /&gt;                   {&lt;br /&gt;                       if (userGroups.ContainsKey(groupDn))&lt;br /&gt;                           continue; // User already in this group&lt;br /&gt;                      &lt;br /&gt;                       AdGroup group = _groupsToAddUserTo[groupDn];&lt;br /&gt;&lt;br /&gt;                       try&lt;br /&gt;                       {&lt;br /&gt;                           group.NativeObject.Add(user.Entry.Path);&lt;br /&gt;&lt;br /&gt;                           log.Info(string.Format("User: {0} added to Group: {1}",&lt;br /&gt;                           user.Entry.Properties["sAMAccountName"][0], group.NativeObject.Name));&lt;br /&gt;                       }&lt;br /&gt;                       catch (Exception)&lt;br /&gt;                       {&lt;br /&gt;                           log.Error(string.Format("User: {0} can't be added to Group: {1}. Possibly this is it's primary group already.",&lt;br /&gt;                               user.Entry.Properties["sAMAccountName"][0], group.NativeObject.Name));&lt;br /&gt;                       }&lt;br /&gt;                   }&lt;br /&gt;               }&lt;br /&gt;           }&lt;br /&gt;       }&lt;br /&gt;&lt;/string,&gt;&lt;/pre&gt;...and main:&lt;br /&gt;&lt;pre class="brush:csharp"&gt; private void Run(string[] args)&lt;br /&gt;       {&lt;br /&gt;&lt;br /&gt;//logging removed for brevity in snippet&lt;br /&gt;&lt;br /&gt;           Settings settings = SettingsReader.ReadFromConfig();&lt;br /&gt;&lt;br /&gt;           Adder adder = new Adder(settings);&lt;br /&gt;           adder.UsersToProcess = ReadUsersToProcess(settings.UsersFilePath);&lt;br /&gt;          &lt;br /&gt;           adder.Run();&lt;br /&gt;       }&lt;br /&gt;&lt;/pre&gt;Anyone want to show how this can be done in powershell in 25 or so lines?&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/920065377104456952-9197841081050671166?l=joelangley.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://joelangley.blogspot.com/feeds/9197841081050671166/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://joelangley.blogspot.com/2009/11/add-uses-to-group-in-bulk-using-c.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/920065377104456952/posts/default/9197841081050671166'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/920065377104456952/posts/default/9197841081050671166'/><link rel='alternate' type='text/html' href='http://joelangley.blogspot.com/2009/11/add-uses-to-group-in-bulk-using-c.html' title='Add Uses to Group in Bulk using C#'/><author><name>Joe Langley</name><uri>http://www.blogger.com/profile/11553619789895911588</uri><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></entry><entry><id>tag:blogger.com,1999:blog-920065377104456952.post-4851963828048283641</id><published>2009-11-17T08:42:00.002-05:00</published><updated>2009-11-17T08:52:49.759-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='c#'/><title type='text'>Reflection to invoke objects</title><content type='html'>So where did the ComWrapper come from yesterday? What is the point of this article in regards to reflection? Well, in short I wanted to show some some of the classes that helped me with my new AzMan library. Here is the TypeUtilities class:&lt;br /&gt;&lt;br /&gt;&lt;pre class="brush:csharp"&gt;//using System.Reflection;&lt;br /&gt;public class TypeUtilities&lt;br /&gt;{&lt;br /&gt;    private static string ToString(Type[] types)&lt;br /&gt;    {&lt;br /&gt;        string str = "";&lt;br /&gt;&lt;br /&gt;        foreach (Type type in types)&lt;br /&gt;        {&lt;br /&gt;            if (str.Length != 0)&lt;br /&gt;                str += ", ";&lt;br /&gt;&lt;br /&gt;            str += type.Name;&lt;br /&gt;        }&lt;br /&gt;&lt;br /&gt;        return str;&lt;br /&gt;    }&lt;br /&gt;&lt;br /&gt;    public static object GetProperty(object obj, string prop)&lt;br /&gt;    {&lt;br /&gt;        PropertyInfo pi = obj.GetType().GetProperty(prop);&lt;br /&gt;        return pi.GetValue(obj, new object[0]);&lt;br /&gt;    }&lt;br /&gt;&lt;br /&gt;    public static object GetProperty(Type type, object obj, string prop)&lt;br /&gt;    {&lt;br /&gt;        PropertyInfo pi = type.GetProperty(prop);&lt;br /&gt;        return pi.GetValue(obj, new object[0]);&lt;br /&gt;    }&lt;br /&gt;&lt;br /&gt;public static Type[] GetTypes(object[] parameters)&lt;br /&gt;      {&lt;br /&gt;          Type[] types = new Type[parameters.Length];&lt;br /&gt;&lt;br /&gt;          for (int it = 0; it &amp;lt; parameters.Length; it++)&lt;br /&gt;          {&lt;br /&gt;              Type type = parameters[it].GetType();&lt;br /&gt;&lt;br /&gt;              if (type == typeof(ComWrapper))&lt;br /&gt;              {&lt;br /&gt;                  ComWrapper wrapper = (ComWrapper)parameters[it];&lt;br /&gt;                  type = wrapper.Type;&lt;br /&gt;                  parameters[it] = wrapper.Object;&lt;br /&gt;              }&lt;br /&gt;&lt;br /&gt;              types[it] = type;&lt;br /&gt;          }&lt;br /&gt;&lt;br /&gt;          return types;&lt;br /&gt;      }&lt;br /&gt;&lt;br /&gt;      public static object InvokeOverloaded(object obj, string method, params object[] parameters)&lt;br /&gt;      {&lt;br /&gt;          Type objType = obj.GetType();&lt;br /&gt;          Type[] types = GetTypes(parameters);&lt;br /&gt;          MethodInfo mi = obj.GetType().GetMethod(method, types);&lt;br /&gt;          Assert(mi, objType, method, types);&lt;br /&gt;          return mi.Invoke(obj, parameters);&lt;br /&gt;      }&lt;br /&gt;&lt;br /&gt;      public static object Invoke(object obj, string method, Type[] types, object[] args)&lt;br /&gt;      {&lt;br /&gt;          Type objType = obj.GetType();&lt;br /&gt;          MethodInfo mi = objType.GetMethod(method, types);&lt;br /&gt;          Assert(mi, objType, method, types);&lt;br /&gt;&lt;br /&gt;          try&lt;br /&gt;          {&lt;br /&gt;              return mi.Invoke(obj, args);&lt;br /&gt;          }&lt;br /&gt;          catch (Exception ex)&lt;br /&gt;          {&lt;br /&gt;              Logger.Error(ex);&lt;br /&gt;              throw;&lt;br /&gt;          }&lt;br /&gt;      }&lt;br /&gt;&lt;br /&gt;      public static void Assert(MethodInfo mi, Type objType, string method, Type[] types)&lt;br /&gt;      {&lt;br /&gt;          if(mi == null)&lt;br /&gt;              throw new Exception(string.Format("Can't find method:  {0}.{1}({2})", objType, method, ToString(types)));&lt;br /&gt;      }&lt;br /&gt;&lt;/pre&gt;Using the above classes, I'll show how in my AzMan library I was able to do things like:&lt;br /&gt;&lt;pre class="brush:csharp"&gt;while (!(entity is AzStore)) {&lt;br /&gt;            entity = (IAzParent)TypeUtils.GetProperty(entity, "Parent");&lt;br /&gt;&lt;/pre&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/920065377104456952-4851963828048283641?l=joelangley.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://joelangley.blogspot.com/feeds/4851963828048283641/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://joelangley.blogspot.com/2009/11/reflection-to-invoke-objects.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/920065377104456952/posts/default/4851963828048283641'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/920065377104456952/posts/default/4851963828048283641'/><link rel='alternate' type='text/html' href='http://joelangley.blogspot.com/2009/11/reflection-to-invoke-objects.html' title='Reflection to invoke objects'/><author><name>Joe Langley</name><uri>http://www.blogger.com/profile/11553619789895911588</uri><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></entry><entry><id>tag:blogger.com,1999:blog-920065377104456952.post-3951401502113549701</id><published>2009-11-16T17:01:00.001-05:00</published><updated>2009-11-16T17:03:10.926-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='c#'/><title type='text'>C# COM Wrapper</title><content type='html'>One of the classes that I use often, will show in details this with other classes that are part of my AzMan main solution.&lt;br /&gt;&lt;pre class="brush:csharp"&gt;public class ComWrapper&lt;br /&gt;   {&lt;br /&gt;       public object Object { get; set; }&lt;br /&gt;       public Type Type { get; private set; }&lt;br /&gt;&lt;br /&gt;       public ComWrapper(object obj, Type type)&lt;br /&gt;       {&lt;br /&gt;           this.Object = obj;&lt;br /&gt;           this.Type = type;&lt;br /&gt;       }&lt;br /&gt;&lt;br /&gt;       public static ComWrapper Create&lt;t&gt;(T obj)&lt;br /&gt;       {&lt;br /&gt;           return new ComWrapper(obj, typeof(T));&lt;br /&gt;       }&lt;br /&gt;   }&lt;br /&gt;&lt;/pre&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/920065377104456952-3951401502113549701?l=joelangley.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://joelangley.blogspot.com/feeds/3951401502113549701/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://joelangley.blogspot.com/2009/11/c-com-wrapper.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/920065377104456952/posts/default/3951401502113549701'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/920065377104456952/posts/default/3951401502113549701'/><link rel='alternate' type='text/html' href='http://joelangley.blogspot.com/2009/11/c-com-wrapper.html' title='C# COM Wrapper'/><author><name>Joe Langley</name><uri>http://www.blogger.com/profile/11553619789895911588</uri><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></entry><entry><id>tag:blogger.com,1999:blog-920065377104456952.post-8043651247178933558</id><published>2009-11-15T17:47:00.003-05:00</published><updated>2009-11-15T17:48:23.875-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='powershell'/><title type='text'>One Line Powershell to show installed software</title><content type='html'>Do &lt;a href="http://blogs.msdn.com/powershell/archive/2009/11/15/i-can-do-that-with-1-line-of-powershell-installed-software.aspx"&gt;this&lt;/a&gt; with one line in powershell!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/920065377104456952-8043651247178933558?l=joelangley.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://joelangley.blogspot.com/feeds/8043651247178933558/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://joelangley.blogspot.com/2009/11/one-line-powershell-to-show-installed.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/920065377104456952/posts/default/8043651247178933558'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/920065377104456952/posts/default/8043651247178933558'/><link rel='alternate' type='text/html' href='http://joelangley.blogspot.com/2009/11/one-line-powershell-to-show-installed.html' title='One Line Powershell to show installed software'/><author><name>Joe Langley</name><uri>http://www.blogger.com/profile/11553619789895911588</uri><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></entry><entry><id>tag:blogger.com,1999:blog-920065377104456952.post-5332577160235359730</id><published>2009-11-14T22:46:00.000-05:00</published><updated>2009-11-14T22:47:14.360-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='powershell'/><title type='text'>Powershell Slides</title><content type='html'>Can be found &lt;a href="http://blogs.msdn.com/powershell/archive/2009/11/12/srv312-teched-slides.aspx"&gt;here&lt;/a&gt;.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/920065377104456952-5332577160235359730?l=joelangley.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://joelangley.blogspot.com/feeds/5332577160235359730/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://joelangley.blogspot.com/2009/11/powershell-slides.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/920065377104456952/posts/default/5332577160235359730'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/920065377104456952/posts/default/5332577160235359730'/><link rel='alternate' type='text/html' href='http://joelangley.blogspot.com/2009/11/powershell-slides.html' title='Powershell Slides'/><author><name>Joe Langley</name><uri>http://www.blogger.com/profile/11553619789895911588</uri><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></entry><entry><id>tag:blogger.com,1999:blog-920065377104456952.post-7345927318406534752</id><published>2009-11-13T16:48:00.001-05:00</published><updated>2009-11-13T16:49:03.390-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Random'/><title type='text'>Good Weekend</title><content type='html'>Have a good weekend everyone. Next week will share some AzMan administration tools built with C# that I had to do this week.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/920065377104456952-7345927318406534752?l=joelangley.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://joelangley.blogspot.com/feeds/7345927318406534752/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://joelangley.blogspot.com/2009/11/good-weekend.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/920065377104456952/posts/default/7345927318406534752'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/920065377104456952/posts/default/7345927318406534752'/><link rel='alternate' type='text/html' href='http://joelangley.blogspot.com/2009/11/good-weekend.html' title='Good Weekend'/><author><name>Joe Langley</name><uri>http://www.blogger.com/profile/11553619789895911588</uri><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></entry><entry><id>tag:blogger.com,1999:blog-920065377104456952.post-8479366627770006728</id><published>2009-11-12T17:19:00.001-05:00</published><updated>2009-11-12T17:19:37.853-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Random'/><title type='text'>Ever have one of those days?</title><content type='html'>Well...I am having one of those today!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/920065377104456952-8479366627770006728?l=joelangley.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://joelangley.blogspot.com/feeds/8479366627770006728/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://joelangley.blogspot.com/2009/11/ever-have-one-of-those-days.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/920065377104456952/posts/default/8479366627770006728'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/920065377104456952/posts/default/8479366627770006728'/><link rel='alternate' type='text/html' href='http://joelangley.blogspot.com/2009/11/ever-have-one-of-those-days.html' title='Ever have one of those days?'/><author><name>Joe Langley</name><uri>http://www.blogger.com/profile/11553619789895911588</uri><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></entry><entry><id>tag:blogger.com,1999:blog-920065377104456952.post-1214582582011952745</id><published>2009-11-11T15:49:00.001-05:00</published><updated>2009-11-11T15:50:15.414-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Ruby'/><title type='text'>Ruby Part II</title><content type='html'>Yup, Ruby really does rock. I am starting to read up on Rails and what it can do. I question why I have been working with C# for so long :) Anyone else see the light when they started working with Rails?&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/920065377104456952-1214582582011952745?l=joelangley.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://joelangley.blogspot.com/feeds/1214582582011952745/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://joelangley.blogspot.com/2009/11/ruby-part-ii.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/920065377104456952/posts/default/1214582582011952745'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/920065377104456952/posts/default/1214582582011952745'/><link rel='alternate' type='text/html' href='http://joelangley.blogspot.com/2009/11/ruby-part-ii.html' title='Ruby Part II'/><author><name>Joe Langley</name><uri>http://www.blogger.com/profile/11553619789895911588</uri><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></entry><entry><id>tag:blogger.com,1999:blog-920065377104456952.post-2592293552499187568</id><published>2009-11-10T14:48:00.000-05:00</published><updated>2009-11-10T14:49:07.471-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Ruby'/><title type='text'>Ruby Rocks!</title><content type='html'>Yes, it really does. I am starting to play a bit more with rails now as well.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/920065377104456952-2592293552499187568?l=joelangley.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://joelangley.blogspot.com/feeds/2592293552499187568/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://joelangley.blogspot.com/2009/11/ruby-rocks.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/920065377104456952/posts/default/2592293552499187568'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/920065377104456952/posts/default/2592293552499187568'/><link rel='alternate' type='text/html' href='http://joelangley.blogspot.com/2009/11/ruby-rocks.html' title='Ruby Rocks!'/><author><name>Joe Langley</name><uri>http://www.blogger.com/profile/11553619789895911588</uri><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></entry><entry><id>tag:blogger.com,1999:blog-920065377104456952.post-524466546659180734</id><published>2009-11-09T14:47:00.000-05:00</published><updated>2009-11-09T14:48:10.651-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='powershell'/><category scheme='http://www.blogger.com/atom/ns#' term='Random'/><title type='text'>Windows Server 2008 R2</title><content type='html'>Good post &lt;a href="http://blogs.msdn.com/powershell/archive/2009/11/09/windows-server-2008-r2-rocks.aspx"&gt;here&lt;/a&gt;.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/920065377104456952-524466546659180734?l=joelangley.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://joelangley.blogspot.com/feeds/524466546659180734/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://joelangley.blogspot.com/2009/11/windows-server-2008-r2.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/920065377104456952/posts/default/524466546659180734'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/920065377104456952/posts/default/524466546659180734'/><link rel='alternate' type='text/html' href='http://joelangley.blogspot.com/2009/11/windows-server-2008-r2.html' title='Windows Server 2008 R2'/><author><name>Joe Langley</name><uri>http://www.blogger.com/profile/11553619789895911588</uri><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></entry><entry><id>tag:blogger.com,1999:blog-920065377104456952.post-2625266905936709529</id><published>2009-11-08T16:49:00.001-05:00</published><updated>2009-11-08T16:49:47.920-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Random'/><title type='text'>Happy Sunday!</title><content type='html'>Hope everyone is having a good Sunday.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/920065377104456952-2625266905936709529?l=joelangley.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://joelangley.blogspot.com/feeds/2625266905936709529/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://joelangley.blogspot.com/2009/11/happy-sunday.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/920065377104456952/posts/default/2625266905936709529'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/920065377104456952/posts/default/2625266905936709529'/><link rel='alternate' type='text/html' href='http://joelangley.blogspot.com/2009/11/happy-sunday.html' title='Happy Sunday!'/><author><name>Joe Langley</name><uri>http://www.blogger.com/profile/11553619789895911588</uri><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></entry><entry><id>tag:blogger.com,1999:blog-920065377104456952.post-4894617953398304025</id><published>2009-11-07T17:59:00.001-05:00</published><updated>2009-11-07T18:00:17.846-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Random'/><title type='text'>Wave first impression...</title><content type='html'>One word...very slow!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/920065377104456952-4894617953398304025?l=joelangley.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://joelangley.blogspot.com/feeds/4894617953398304025/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://joelangley.blogspot.com/2009/11/wave-first-impression.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/920065377104456952/posts/default/4894617953398304025'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/920065377104456952/posts/default/4894617953398304025'/><link rel='alternate' type='text/html' href='http://joelangley.blogspot.com/2009/11/wave-first-impression.html' title='Wave first impression...'/><author><name>Joe Langley</name><uri>http://www.blogger.com/profile/11553619789895911588</uri><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></entry><entry><id>tag:blogger.com,1999:blog-920065377104456952.post-4404742118991801116</id><published>2009-11-06T10:14:00.001-05:00</published><updated>2009-11-06T10:15:23.404-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='powershell'/><title type='text'>Powershell Challenge for Money</title><content type='html'>Win $1000..details can be found &lt;a href="http://powergui.org/powerpackchallenge.jspa"&gt;here&lt;/a&gt;.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/920065377104456952-4404742118991801116?l=joelangley.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://joelangley.blogspot.com/feeds/4404742118991801116/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://joelangley.blogspot.com/2009/11/powershell-challenge-for-money.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/920065377104456952/posts/default/4404742118991801116'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/920065377104456952/posts/default/4404742118991801116'/><link rel='alternate' type='text/html' href='http://joelangley.blogspot.com/2009/11/powershell-challenge-for-money.html' title='Powershell Challenge for Money'/><author><name>Joe Langley</name><uri>http://www.blogger.com/profile/11553619789895911588</uri><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></entry><entry><id>tag:blogger.com,1999:blog-920065377104456952.post-8125319488159274622</id><published>2009-11-05T11:05:00.002-05:00</published><updated>2009-11-05T11:06:01.066-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Random'/><title type='text'>Got my Google Wave invitation!</title><content type='html'>Sweet...finally got my Google wave invitation!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/920065377104456952-8125319488159274622?l=joelangley.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://joelangley.blogspot.com/feeds/8125319488159274622/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://joelangley.blogspot.com/2009/11/got-my-google-wave-invitation.html#comment-form' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/920065377104456952/posts/default/8125319488159274622'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/920065377104456952/posts/default/8125319488159274622'/><link rel='alternate' type='text/html' href='http://joelangley.blogspot.com/2009/11/got-my-google-wave-invitation.html' title='Got my Google Wave invitation!'/><author><name>Joe Langley</name><uri>http://www.blogger.com/profile/11553619789895911588</uri><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>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-920065377104456952.post-4107277040405591071</id><published>2009-11-04T11:08:00.002-05:00</published><updated>2009-11-04T11:11:08.748-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='WIF'/><title type='text'>IdentityModel and WIF</title><content type='html'>Dominick Baier and I have worked on some cool AzMan thinks in the past and I saw a recent post on his blog about WIF (Windows Identity Foundation). He has put something together with examples on codeplex. You can find details &lt;a href="http://www.leastprivilege.com/ThinktectureIdentityModel.aspx"&gt;here&lt;/a&gt;.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/920065377104456952-4107277040405591071?l=joelangley.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://joelangley.blogspot.com/feeds/4107277040405591071/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://joelangley.blogspot.com/2009/11/identitymodel-and-wif.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/920065377104456952/posts/default/4107277040405591071'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/920065377104456952/posts/default/4107277040405591071'/><link rel='alternate' type='text/html' href='http://joelangley.blogspot.com/2009/11/identitymodel-and-wif.html' title='IdentityModel and WIF'/><author><name>Joe Langley</name><uri>http://www.blogger.com/profile/11553619789895911588</uri><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></entry><entry><id>tag:blogger.com,1999:blog-920065377104456952.post-310521809485915602</id><published>2009-11-03T08:51:00.002-05:00</published><updated>2009-11-03T08:54:37.038-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='powershell'/><title type='text'>Sending Automated emails with powershell</title><content type='html'>James Brundage shows how in less than 25 lines of powershell code, you can create a scheduled task to email detailed reports of the installed programs on the machine. The main point here was to show that from his powerpack that he released a few weeks ago, it is simple to email reports from powershell. You can see the full article &lt;a href="http://blogs.msdn.com/powershell/archive/2009/10/30/sending-automated-emails-with-send-mailmessage-convertto-html-and-the-powershellpack-s-taskscheduler-module.aspx"&gt;here&lt;/a&gt;. The code snippet that he posted is below:&lt;br /&gt;&lt;br /&gt;&lt;pre class="brush:powershell"&gt;&lt;br /&gt;New-Task |                       &lt;br /&gt;   Add-TaskAction -Hidden -Script {                       &lt;br /&gt;       $ErrorActionPreference = "Stop"                       &lt;br /&gt;       try {                       &lt;br /&gt;           $messageParameters = @{                       &lt;br /&gt;               Subject = "Installed Program report for $env:ComputerName.$env:USERDNSDOMAIN - $((Get-Date).ToShortDateString())"                       &lt;br /&gt;               Body = Get-WmiObject Win32_Product |                        &lt;br /&gt;                   Select-Object Name, Version, Vendor |            &lt;br /&gt;                   Sort-Object Name |            &lt;br /&gt;                   ConvertTo-Html |                        &lt;br /&gt;                   Out-String                       &lt;br /&gt;               From = "Me@MyCompany.com"                       &lt;br /&gt;               To = "Me@MyCompany.com"                       &lt;br /&gt;               SmtpServer = "SmtpHost"                       &lt;br /&gt;           }                       &lt;br /&gt;           Send-MailMessage @messageParameters -BodyAsHtml                       &lt;br /&gt;       } catch {                       &lt;br /&gt;           $_ |                        &lt;br /&gt;               Out-File $env:TEMP\ProblemsSendingHotfixReport.log.txt -Append -Width 1000                       &lt;br /&gt;       }                       &lt;br /&gt;   } |           &lt;br /&gt;   Add-TaskTrigger -Daily -At "9:00 AM" |                       &lt;br /&gt;   Add-TaskTrigger -OnRegistration |                        &lt;br /&gt;   Register-ScheduledTask "DailyHotfixReport"&lt;br /&gt;&lt;/pre&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/920065377104456952-310521809485915602?l=joelangley.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://joelangley.blogspot.com/feeds/310521809485915602/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://joelangley.blogspot.com/2009/11/sending-automated-emails-with.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/920065377104456952/posts/default/310521809485915602'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/920065377104456952/posts/default/310521809485915602'/><link rel='alternate' type='text/html' href='http://joelangley.blogspot.com/2009/11/sending-automated-emails-with.html' title='Sending Automated emails with powershell'/><author><name>Joe Langley</name><uri>http://www.blogger.com/profile/11553619789895911588</uri><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></entry><entry><id>tag:blogger.com,1999:blog-920065377104456952.post-4106056383476503645</id><published>2009-11-02T12:48:00.002-05:00</published><updated>2009-11-02T12:51:34.622-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Random'/><title type='text'>Force IE7 Compatibility Mode in IE8</title><content type='html'>We are migrating to IE8 and we wanted a way to force this. It seems that you can add a meta tag in the header, but that would have taken days with the number of pages we would have to change. I wanted to know if there is a simple way in IIS to do this. It turns out that someone else blogged about the same thing &lt;a href="http://weblogs.asp.net/joelvarty/archive/2009/03/23/force-ie7-compatibility-mode-in-ie8-with-iis-settings.aspx"&gt;here&lt;/a&gt;. It seems that meta tag can easily be added as a custom HTTP Header and we are all set.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/920065377104456952-4106056383476503645?l=joelangley.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://joelangley.blogspot.com/feeds/4106056383476503645/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://joelangley.blogspot.com/2009/11/force-ie7-compatibility-mode-in-ie8.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/920065377104456952/posts/default/4106056383476503645'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/920065377104456952/posts/default/4106056383476503645'/><link rel='alternate' type='text/html' href='http://joelangley.blogspot.com/2009/11/force-ie7-compatibility-mode-in-ie8.html' title='Force IE7 Compatibility Mode in IE8'/><author><name>Joe Langley</name><uri>http://www.blogger.com/profile/11553619789895911588</uri><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></entry><entry><id>tag:blogger.com,1999:blog-920065377104456952.post-826702335644115602</id><published>2009-11-01T07:22:00.000-05:00</published><updated>2009-11-01T07:23:18.052-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Random'/><title type='text'>Rainy Sunday</title><content type='html'>Why can't it just be nice?&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/920065377104456952-826702335644115602?l=joelangley.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://joelangley.blogspot.com/feeds/826702335644115602/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://joelangley.blogspot.com/2009/11/rainy-sunday.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/920065377104456952/posts/default/826702335644115602'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/920065377104456952/posts/default/826702335644115602'/><link rel='alternate' type='text/html' href='http://joelangley.blogspot.com/2009/11/rainy-sunday.html' title='Rainy Sunday'/><author><name>Joe Langley</name><uri>http://www.blogger.com/profile/11553619789895911588</uri><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></entry><entry><id>tag:blogger.com,1999:blog-920065377104456952.post-430861073506132880</id><published>2009-10-31T18:52:00.001-04:00</published><updated>2009-10-31T18:52:21.362-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Random'/><title type='text'>Happy Weekend!</title><content type='html'>Happy weekend everyone!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/920065377104456952-430861073506132880?l=joelangley.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://joelangley.blogspot.com/feeds/430861073506132880/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://joelangley.blogspot.com/2009/10/happy-weekend.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/920065377104456952/posts/default/430861073506132880'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/920065377104456952/posts/default/430861073506132880'/><link rel='alternate' type='text/html' href='http://joelangley.blogspot.com/2009/10/happy-weekend.html' title='Happy Weekend!'/><author><name>Joe Langley</name><uri>http://www.blogger.com/profile/11553619789895911588</uri><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></entry><entry><id>tag:blogger.com,1999:blog-920065377104456952.post-7990040776630784752</id><published>2009-10-30T09:40:00.001-04:00</published><updated>2009-10-30T09:40:55.622-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Random'/><title type='text'>Ajax Library (Preview 6)</title><content type='html'>Read about it &lt;a href="http://weblogs.asp.net/scottgu/archive/2009/10/15/announcing-microsoft-ajax-library-preview-6-and-the-microsoft-ajax-minifier.aspx"&gt;here&lt;/a&gt;.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/920065377104456952-7990040776630784752?l=joelangley.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://joelangley.blogspot.com/feeds/7990040776630784752/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://joelangley.blogspot.com/2009/10/ajax-library-preview-6.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/920065377104456952/posts/default/7990040776630784752'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/920065377104456952/posts/default/7990040776630784752'/><link rel='alternate' type='text/html' href='http://joelangley.blogspot.com/2009/10/ajax-library-preview-6.html' title='Ajax Library (Preview 6)'/><author><name>Joe Langley</name><uri>http://www.blogger.com/profile/11553619789895911588</uri><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></entry><entry><id>tag:blogger.com,1999:blog-920065377104456952.post-8828771653283143504</id><published>2009-10-29T06:32:00.001-04:00</published><updated>2009-10-29T06:33:17.957-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Random'/><title type='text'>Windows &amp; Upgrade</title><content type='html'>Spent the night installing Windows 7 and re-installing software on my home machine. I did a clean install so everything needed to be re-installed!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/920065377104456952-8828771653283143504?l=joelangley.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://joelangley.blogspot.com/feeds/8828771653283143504/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://joelangley.blogspot.com/2009/10/windows-upgrade.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/920065377104456952/posts/default/8828771653283143504'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/920065377104456952/posts/default/8828771653283143504'/><link rel='alternate' type='text/html' href='http://joelangley.blogspot.com/2009/10/windows-upgrade.html' title='Windows &amp; Upgrade'/><author><name>Joe Langley</name><uri>http://www.blogger.com/profile/11553619789895911588</uri><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></entry><entry><id>tag:blogger.com,1999:blog-920065377104456952.post-1529332384532604695</id><published>2009-10-28T08:59:00.000-04:00</published><updated>2009-10-28T09:00:21.477-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='powershell'/><title type='text'>Windows Management Framework is here!</title><content type='html'>You can read all about it &lt;a href="http://blogs.msdn.com/powershell/archive/2009/10/27/windows-management-framework-is-here.aspx"&gt;here&lt;/a&gt;.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/920065377104456952-1529332384532604695?l=joelangley.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://joelangley.blogspot.com/feeds/1529332384532604695/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://joelangley.blogspot.com/2009/10/windows-management-framework-is-here.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/920065377104456952/posts/default/1529332384532604695'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/920065377104456952/posts/default/1529332384532604695'/><link rel='alternate' type='text/html' href='http://joelangley.blogspot.com/2009/10/windows-management-framework-is-here.html' title='Windows Management Framework is here!'/><author><name>Joe Langley</name><uri>http://www.blogger.com/profile/11553619789895911588</uri><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></entry><entry><id>tag:blogger.com,1999:blog-920065377104456952.post-7977632353169619055</id><published>2009-10-27T09:08:00.002-04:00</published><updated>2009-10-27T09:40:14.146-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='c#'/><category scheme='http://www.blogger.com/atom/ns#' term='logparser'/><title type='text'>Logparser and Charts</title><content type='html'>I'll start off with this subject with some of the basics, then I'll try and get a bit more complex and perhaps even write up a helper class.&lt;br /&gt;&lt;br /&gt;Logparser uses &lt;a href="http://www.microsoft.com/downloads/details.aspx?FamilyId=7287252C-402E-4F72-97A5-E0FD290D4B76&amp;amp;displaylang=en"&gt;OWC&lt;/a&gt; (only 2003 and earlier...)which is a blessing and a curse. It is a curse since not much is out there on OWC but a blessing in that OWC has a lot of charts! Having said this, logparser has OWC built in, but that should not stop any developer from sending output to a jquery or flash charting application and charting it that way. It is just easier with OWC. After you install the OWC on your server, here is a quick script to see if it works:&lt;br /&gt;&lt;pre class="brush:csharp"&gt;COMTSVInputContextClassClass inputFormat = new COMTSVInputContextClassClass();&lt;br /&gt;chartOuputFormat = new COMChartOutputContextClassClass();&lt;br /&gt;chartOuputFormat.chartType = "ColumnStacked";&lt;br /&gt;&lt;br /&gt;string query = "select * from abc.log"&lt;br /&gt;LogQueryClass logQuery = new LogQueryClassClass();&lt;br /&gt;&lt;br /&gt;logQuery.ExecuteBatch(query, inputFormat, chartOuputFormat);&lt;br /&gt;&lt;/pre&gt; The above code is hacked up and I did not really test it, but should do the trick. I'll start posting more detailed helper classes this week.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/920065377104456952-7977632353169619055?l=joelangley.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://joelangley.blogspot.com/feeds/7977632353169619055/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://joelangley.blogspot.com/2009/10/logparser-and-charts.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/920065377104456952/posts/default/7977632353169619055'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/920065377104456952/posts/default/7977632353169619055'/><link rel='alternate' type='text/html' href='http://joelangley.blogspot.com/2009/10/logparser-and-charts.html' title='Logparser and Charts'/><author><name>Joe Langley</name><uri>http://www.blogger.com/profile/11553619789895911588</uri><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></entry><entry><id>tag:blogger.com,1999:blog-920065377104456952.post-103623048563498697</id><published>2009-10-26T16:28:00.000-04:00</published><updated>2009-10-26T16:29:05.128-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Random'/><title type='text'>Crazy Day</title><content type='html'>Nutty day at work...will try and post the charts and logparser tomorrow.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/920065377104456952-103623048563498697?l=joelangley.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://joelangley.blogspot.com/feeds/103623048563498697/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://joelangley.blogspot.com/2009/10/crazy-day.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/920065377104456952/posts/default/103623048563498697'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/920065377104456952/posts/default/103623048563498697'/><link rel='alternate' type='text/html' href='http://joelangley.blogspot.com/2009/10/crazy-day.html' title='Crazy Day'/><author><name>Joe Langley</name><uri>http://www.blogger.com/profile/11553619789895911588</uri><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></entry><entry><id>tag:blogger.com,1999:blog-920065377104456952.post-2975789028096188585</id><published>2009-10-25T14:14:00.000-04:00</published><updated>2009-10-25T14:15:07.951-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='nhibernate'/><title type='text'>nHibernate Trouble</title><content type='html'>As you know, I am using nHibernate in my new project...had some minor issues with it and will blog about it this week.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/920065377104456952-2975789028096188585?l=joelangley.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://joelangley.blogspot.com/feeds/2975789028096188585/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://joelangley.blogspot.com/2009/10/nhibernate-trouble.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/920065377104456952/posts/default/2975789028096188585'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/920065377104456952/posts/default/2975789028096188585'/><link rel='alternate' type='text/html' href='http://joelangley.blogspot.com/2009/10/nhibernate-trouble.html' title='nHibernate Trouble'/><author><name>Joe Langley</name><uri>http://www.blogger.com/profile/11553619789895911588</uri><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></entry><entry><id>tag:blogger.com,1999:blog-920065377104456952.post-2926282961440049612</id><published>2009-10-24T20:59:00.001-04:00</published><updated>2009-10-24T21:00:01.303-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Random'/><title type='text'>Good Weekend</title><content type='html'>I hope everyone has had a good weekend so far!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/920065377104456952-2926282961440049612?l=joelangley.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://joelangley.blogspot.com/feeds/2926282961440049612/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://joelangley.blogspot.com/2009/10/good-weekend_24.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/920065377104456952/posts/default/2926282961440049612'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/920065377104456952/posts/default/2926282961440049612'/><link rel='alternate' type='text/html' href='http://joelangley.blogspot.com/2009/10/good-weekend_24.html' title='Good Weekend'/><author><name>Joe Langley</name><uri>http://www.blogger.com/profile/11553619789895911588</uri><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></entry><entry><id>tag:blogger.com,1999:blog-920065377104456952.post-7329248309788838805</id><published>2009-10-23T11:51:00.001-04:00</published><updated>2009-10-23T11:52:37.798-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='c#'/><category scheme='http://www.blogger.com/atom/ns#' term='logparser'/><title type='text'>Charting with Logparser and C#</title><content type='html'>I have been asked to show some examples on how to use logparser with charts and specifically from c#. I will try and post those up this weekend.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/920065377104456952-7329248309788838805?l=joelangley.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://joelangley.blogspot.com/feeds/7329248309788838805/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://joelangley.blogspot.com/2009/10/charting-with-logparser-and-c.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/920065377104456952/posts/default/7329248309788838805'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/920065377104456952/posts/default/7329248309788838805'/><link rel='alternate' type='text/html' href='http://joelangley.blogspot.com/2009/10/charting-with-logparser-and-c.html' title='Charting with Logparser and C#'/><author><name>Joe Langley</name><uri>http://www.blogger.com/profile/11553619789895911588</uri><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></entry><entry><id>tag:blogger.com,1999:blog-920065377104456952.post-584073442755328946</id><published>2009-10-22T09:08:00.001-04:00</published><updated>2009-10-22T09:10:05.589-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Random'/><title type='text'>Windows 7 is here</title><content type='html'>Yup, I have been using the evaluation copy for a couple of months now and ready to get the retail version. Good job Microsoft, this one may rival XP in stability.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/920065377104456952-584073442755328946?l=joelangley.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://joelangley.blogspot.com/feeds/584073442755328946/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://joelangley.blogspot.com/2009/10/windows-7-is-here.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/920065377104456952/posts/default/584073442755328946'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/920065377104456952/posts/default/584073442755328946'/><link rel='alternate' type='text/html' href='http://joelangley.blogspot.com/2009/10/windows-7-is-here.html' title='Windows 7 is here'/><author><name>Joe Langley</name><uri>http://www.blogger.com/profile/11553619789895911588</uri><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></entry><entry><id>tag:blogger.com,1999:blog-920065377104456952.post-6164671091710899552</id><published>2009-10-21T11:17:00.002-04:00</published><updated>2009-10-21T11:24:49.677-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='JQuery'/><title type='text'>jQuery Flot (charts and graphs)</title><content type='html'>Or as &lt;a href="http://code.google.com/p/flot/"&gt;they&lt;/a&gt; call it: Attractive Javascript plotting for jQuery. &lt;br /&gt;&lt;br /&gt;I need to do some charting and my sql reports buddy is not here so time to turn to flash or jQuery. I came across this jQuery tool and I am gonna play with it and let you know what it's like.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/920065377104456952-6164671091710899552?l=joelangley.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://joelangley.blogspot.com/feeds/6164671091710899552/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://joelangley.blogspot.com/2009/10/jquery-flot-charts-and-graphs.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/920065377104456952/posts/default/6164671091710899552'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/920065377104456952/posts/default/6164671091710899552'/><link rel='alternate' type='text/html' href='http://joelangley.blogspot.com/2009/10/jquery-flot-charts-and-graphs.html' title='jQuery Flot (charts and graphs)'/><author><name>Joe Langley</name><uri>http://www.blogger.com/profile/11553619789895911588</uri><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></entry><entry><id>tag:blogger.com,1999:blog-920065377104456952.post-7094059685657871698</id><published>2009-10-20T12:48:00.001-04:00</published><updated>2009-10-20T12:50:12.603-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='powershell'/><title type='text'>Powershell v2 Launch Party</title><content type='html'>Read about it on the powershell &lt;a href="http://blogs.msdn.com/powershell/archive/2009/10/17/powershell-v2-virtual-launch-party.aspx"&gt;blog&lt;/a&gt;. It is this Thursday, so take a look today and read about it.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/920065377104456952-7094059685657871698?l=joelangley.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://joelangley.blogspot.com/feeds/7094059685657871698/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://joelangley.blogspot.com/2009/10/powershell-v2-launch-party.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/920065377104456952/posts/default/7094059685657871698'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/920065377104456952/posts/default/7094059685657871698'/><link rel='alternate' type='text/html' href='http://joelangley.blogspot.com/2009/10/powershell-v2-launch-party.html' title='Powershell v2 Launch Party'/><author><name>Joe Langley</name><uri>http://www.blogger.com/profile/11553619789895911588</uri><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></entry><entry><id>tag:blogger.com,1999:blog-920065377104456952.post-2102883281064110069</id><published>2009-10-19T10:57:00.005-04:00</published><updated>2009-10-19T11:29:55.580-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Ruby'/><title type='text'>Combine &amp; Minimize JavaScript using Ruby</title><content type='html'>AC shared with me this great way of combining many .js files to one big file. I am not sure if all the code was his or if some he found, so credit to whoever helped out with this. This is really a great and easy way to do this, and you can run this on a postscript or even from NAnt if you wanted. In order to use it, you will first need to download and install some software:&lt;br /&gt;&lt;ol&gt;&lt;li&gt;Java&lt;/li&gt;&lt;li&gt;Ruby (http://rubyinstaller.rubyforge.org/wiki/wiki.pl)&lt;/li&gt;&lt;li&gt;RubyGems (http://rubyforge.org/frs/?group_id=126 &amp;amp; unzip to lcoation)&lt;/li&gt;&lt;li&gt; command line &amp;gt; gem install rake&lt;/li&gt;&lt;li&gt;command line &amp;gt; gem install rio&lt;/li&gt;&lt;/ol&gt;For those that want to know how to install Gems:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;command line &amp;gt; ruby.exe  c:\rubygems-1.3.1\setup.rb&lt;/li&gt;&lt;/ul&gt;Finally, make sure you have E:\Ruby\bin; (change E: to your drive) as a path variable as it makes things easier.&lt;br /&gt;&lt;br /&gt;For the code below, I need to download jslint.js, jsmin.js, pack.js, and packer.js and store them in the same folder as well.&lt;br /&gt;&lt;br /&gt;You then have a batch file with has just one word: &lt;span style="font-weight: bold;"&gt;rake&lt;/span&gt;. You run this batch file (which is in the same directory as your rake file explained below)&lt;br /&gt;&lt;br /&gt;Now, the code is all in one little Rakefile:&lt;br /&gt;&lt;pre class="brush:csharp"&gt;require 'rio'&lt;br /&gt;&lt;br /&gt;$rhino_compile_enabled = false&lt;br /&gt;$minify_enabled = true&lt;br /&gt;$jslint_enabled = false&lt;br /&gt;$output_dir = "out"&lt;br /&gt;&lt;br /&gt;puts "Starting..."&lt;br /&gt;&lt;br /&gt;def get_files&lt;br /&gt;  files = []&lt;br /&gt;&lt;br /&gt;   files &amp;lt;&amp;lt; as_is("http://yui.yahooapis.com/combo?2.5.2/build/yahoo-dom-event/yahoo-dom-event.js")&lt;br /&gt;   files &amp;lt;&amp;lt; as_is("http://yui.yahooapis.com/combo?2.5.2/build/yahoo-dom-event/yahoo-dom-event.js&amp;amp;2.5.2/build/container/container-min.js&amp;amp;2.5.2/build/cookie/cookie-beta-min.js&amp;amp;2.5.2/build/json/json-min.js&amp;amp;2.5.2/build/element/element-beta-min.js&amp;amp;2.5.2/build/datasource/datasource-beta-min.js&amp;amp;2.5.2/build/connection/connection-min.js&amp;amp;2.5.2/build/charts/charts-experimental-min.js")&lt;br /&gt;&lt;br /&gt;   files &amp;lt;&amp;lt; minify("../WebApp/js/diag.js")&lt;br /&gt;   files &amp;lt;&amp;lt; as_is("../WebApp/js/jquery-1.3.1.min.js")&lt;br /&gt;   #add more files here&lt;br /&gt;&lt;br /&gt;  end&lt;br /&gt;&lt;br /&gt;def as_is(file_path)&lt;br /&gt;&lt;br /&gt; task file_path do&lt;br /&gt; end&lt;br /&gt;&lt;br /&gt; file_path&lt;br /&gt;end&lt;br /&gt;&lt;br /&gt;def minify(file_path)&lt;br /&gt; mkdir_if_not_exist "#{$output_dir}/min" &lt;br /&gt; min_path = get_min_path(file_path)&lt;br /&gt;&lt;br /&gt; file min_path =&amp;gt; file_path do&lt;br /&gt;   do_jslint file_path&lt;br /&gt;   do_minify file_path, min_path&lt;br /&gt; end&lt;br /&gt;&lt;br /&gt; min_path&lt;br /&gt;end&lt;br /&gt;&lt;br /&gt;def do_minify(file_path, min_path)&lt;br /&gt; if $minify_enabled&lt;br /&gt;   `java -cp build/js.jar  org.mozilla.javascript.tools.shell.Main  build/min.js #{file_path} #{min_path}`&lt;br /&gt; else&lt;br /&gt;   rio(min_path) &amp;lt; rio(file_path)&lt;br /&gt; end&lt;br /&gt;end&lt;br /&gt;&lt;br /&gt;def do_jslint(file_path)&lt;br /&gt; return unless $jslint_enabled&lt;br /&gt;&lt;br /&gt; puts "jslint #{file_path}"&lt;br /&gt;&lt;br /&gt; mkdir_if_not_exist "#{$output_dir}/tmp"&lt;br /&gt; mkdir_if_not_exist "#{$output_dir}/jslint_errors"&lt;br /&gt; tmp = "#{$output_dir}/tmp/jslint.tmp.js"&lt;br /&gt;&lt;br /&gt; rio(tmp) &amp;lt; rio('jslint-options.js')&lt;br /&gt; rio(tmp) &amp;lt;&amp;lt; rio(file_path)&lt;br /&gt;&lt;br /&gt; errors = `java -cp build/js.jar org.mozilla.javascript.tools.shell.Main build/jslint.js #{tmp}`&lt;br /&gt;  &lt;br /&gt; unless /jslint: No problems found/.match(errors)&lt;br /&gt;   rio("#{$output_dir}/jslint_errors/#{File.basename(file_path)}.err") &amp;lt; errors&lt;br /&gt; end&lt;br /&gt;end&lt;br /&gt;&lt;br /&gt;def get_min_path(file_path)&lt;br /&gt;  "#{$output_dir}/min/" + File.basename(file_path) + ".min"&lt;br /&gt;end&lt;br /&gt;&lt;br /&gt;def mkdir_if_not_exist(dir_name)&lt;br /&gt; Dir.mkdir dir_name unless File.exist? dir_name&lt;br /&gt;end&lt;br /&gt;&lt;br /&gt;def do_rhino_compile(file_path)&lt;br /&gt; return unless $rhino_compile_enabled&lt;br /&gt;&lt;br /&gt; puts "Rhino compiling..."&lt;br /&gt; `java -cp build/js.jar org.mozilla.javascript.tools.jsc.Main #{file_path}`&lt;br /&gt; puts "Rhino compilation done."&lt;br /&gt;end&lt;br /&gt;&lt;br /&gt;def  get_combined_path&lt;br /&gt; "#{$output_dir}/combined.js"&lt;br /&gt;end&lt;br /&gt;&lt;br /&gt;task :combine =&amp;gt; get_files do&lt;br /&gt; mkdir_if_not_exist "#{$output_dir}"&lt;br /&gt; combined = get_combined_path&lt;br /&gt;&lt;br /&gt; rio(combined) &amp;lt; "&lt;br /&gt;/*&lt;br /&gt;* Combined JavaScript.&lt;br /&gt;*     #{Time.now}&lt;br /&gt;*/&lt;br /&gt;"&lt;br /&gt;&lt;br /&gt; get_files.each do |file_path|&lt;br /&gt;&lt;br /&gt;   puts "Combining: #{file_path}"&lt;br /&gt;   rio(combined) &amp;lt;&amp;lt; "&lt;br /&gt;&lt;br /&gt;/************************************************************************&lt;br /&gt;* Source: #{file_path}&lt;br /&gt;************************************************************************/&lt;br /&gt;&lt;br /&gt;"&lt;br /&gt;   rio(combined) &amp;lt;&amp;lt; rio(file_path)&lt;br /&gt;&lt;br /&gt;   puts 'next...'&lt;br /&gt; end&lt;br /&gt;end&lt;br /&gt;&lt;br /&gt;task :rhino_compile do&lt;br /&gt; do_rhino_compile get_combined_path&lt;br /&gt;end&lt;br /&gt;&lt;br /&gt;task :copy_combined do&lt;br /&gt; rio("../WebApp/Combined/combined.js") &amp;lt; rio(get_combined_path)&lt;br /&gt;end&lt;br /&gt;&lt;br /&gt;task :default =&amp;gt; [:combine, :copy_combined]&lt;br /&gt;&lt;/pre&gt;Thanks AC for this.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/920065377104456952-2102883281064110069?l=joelangley.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://joelangley.blogspot.com/feeds/2102883281064110069/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://joelangley.blogspot.com/2009/10/combine-minimize-javascript-using-ruby.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/920065377104456952/posts/default/2102883281064110069'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/920065377104456952/posts/default/2102883281064110069'/><link rel='alternate' type='text/html' href='http://joelangley.blogspot.com/2009/10/combine-minimize-javascript-using-ruby.html' title='Combine &amp; Minimize JavaScript using Ruby'/><author><name>Joe Langley</name><uri>http://www.blogger.com/profile/11553619789895911588</uri><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></entry><entry><id>tag:blogger.com,1999:blog-920065377104456952.post-5905796264984851098</id><published>2009-10-18T13:22:00.000-04:00</published><updated>2009-10-18T13:23:34.180-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='powershell'/><title type='text'>Cmdlet Designer Tool</title><content type='html'>&lt;a href="http://blogs.msdn.com/powershell/archive/2009/10/16/announcing-open-source-powershell-cmdlet-and-help-designer.aspx"&gt;This&lt;/a&gt; is nice.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/920065377104456952-5905796264984851098?l=joelangley.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://joelangley.blogspot.com/feeds/5905796264984851098/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://joelangley.blogspot.com/2009/10/cmdlet-designer-tool.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/920065377104456952/posts/default/5905796264984851098'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/920065377104456952/posts/default/5905796264984851098'/><link rel='alternate' type='text/html' href='http://joelangley.blogspot.com/2009/10/cmdlet-designer-tool.html' title='Cmdlet Designer Tool'/><author><name>Joe Langley</name><uri>http://www.blogger.com/profile/11553619789895911588</uri><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></entry></feed>
