<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	xmlns:georss="http://www.georss.org/georss" xmlns:geo="http://www.w3.org/2003/01/geo/wgs84_pos#" xmlns:media="http://search.yahoo.com/mrss/"
	>

<channel>
	<title>Percy's Random Ramblings</title>
	<atom:link href="http://scottlpercy.wordpress.com/feed/" rel="self" type="application/rss+xml" />
	<link>http://scottlpercy.wordpress.com</link>
	<description>Random thoughts from a random guy</description>
	<lastBuildDate>Wed, 25 Jan 2012 19:32:21 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.com/</generator>
<cloud domain='scottlpercy.wordpress.com' port='80' path='/?rsscloud=notify' registerProcedure='' protocol='http-post' />
<image>
		<url>http://s2.wp.com/i/buttonw-com.png</url>
		<title>Percy's Random Ramblings</title>
		<link>http://scottlpercy.wordpress.com</link>
	</image>
	<atom:link rel="search" type="application/opensearchdescription+xml" href="http://scottlpercy.wordpress.com/osd.xml" title="Percy&#039;s Random Ramblings" />
	<atom:link rel='hub' href='http://scottlpercy.wordpress.com/?pushpress=hub'/>
		<item>
		<title>33</title>
		<link>http://scottlpercy.wordpress.com/2012/01/25/33/</link>
		<comments>http://scottlpercy.wordpress.com/2012/01/25/33/#comments</comments>
		<pubDate>Wed, 25 Jan 2012 19:00:42 +0000</pubDate>
		<dc:creator>Percy</dc:creator>
				<category><![CDATA[Birthday]]></category>
		<category><![CDATA[Personal]]></category>

		<guid isPermaLink="false">https://scottlpercy.wordpress.com/?p=202</guid>
		<description><![CDATA[33 is just a number. To some it&#8217;s the number on a sports jersey. To others, it might hold other significance. To me, as of about 7 PM tonight, it will be my age. It&#8217;s the year that, once again, my life forever changes as Sarah and I welcome our child into our lives. It&#8217;s [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=scottlpercy.wordpress.com&amp;blog=2199640&amp;post=202&amp;subd=scottlpercy&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>33 is just a number.  To some it&#8217;s the number on a sports jersey.  To others, it might hold other significance.  </p>
<p>To me, as of about 7 PM tonight, it will be my age.  It&#8217;s the year that, once again, my life forever changes as Sarah and I welcome our child into our lives.  It&#8217;s a major milestone in my life.  It will be a year that I will always remember.  Even so, there&#8217;s one bit of significance around the number 33 that keeps coming to the forefront of my mind &#8211; it&#8217;s how old Jesus was when he died.</p>
<p>That one thought has overshadowed a lot of others the past few days.  I look at my life so far, and I&#8217;ve gone through some pretty major changes and milestones &#8211; graduating High School and then college, getting that first job, buying a home, figuring out what I want to to professionally, getting married, getting baptized, and now preparing for the arrival of the next generation of my family.  I&#8217;ve done a lot, experienced a lot, and had a pretty great life overall.  But, if this were my last year on Earth, I don&#8217;t think I feel like I&#8217;ve had enough time to do everything that I want to do.  </p>
<p>And, maybe that&#8217;s the problem.  I have my own plans, but one of the reasons that Jesus had so much of an impact on history is that He turned over His plans to God.  Now, being God, I&#8217;m assuming He knew what the outcome would be.  But, that doesn&#8217;t mean that the part of Him that was human didn&#8217;t want to follow a different plan.  That&#8217;s evident when He asks God to &#8220;<a href="http://www.youversion.com/bible/net/luke/22/42" target="_blank">take this cup from me</a>&#8220;. In the end, though, He knew that God&#8217;s plan was better than His own, and submitted Himself to it. </p>
<p>Whatever you believe, Jesus changed the world while only living on this Earth for 33 years.  I&#8217;m here, 2000 years afterwards, reading about His actions, and studying what He did and who He was.  Now, having reached that age myself, and looking back, I don&#8217;t know how He had the will power to go through with a plan He knew would end in His death.</p>
<p>That&#8217;s just been something weighing on my mind as of late.</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/scottlpercy.wordpress.com/202/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/scottlpercy.wordpress.com/202/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/scottlpercy.wordpress.com/202/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/scottlpercy.wordpress.com/202/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/scottlpercy.wordpress.com/202/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/scottlpercy.wordpress.com/202/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/scottlpercy.wordpress.com/202/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/scottlpercy.wordpress.com/202/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/scottlpercy.wordpress.com/202/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/scottlpercy.wordpress.com/202/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/scottlpercy.wordpress.com/202/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/scottlpercy.wordpress.com/202/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/scottlpercy.wordpress.com/202/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/scottlpercy.wordpress.com/202/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=scottlpercy.wordpress.com&amp;blog=2199640&amp;post=202&amp;subd=scottlpercy&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://scottlpercy.wordpress.com/2012/01/25/33/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/e98c72450557607c115eb11a17fc9bbb?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">kat</media:title>
		</media:content>
	</item>
		<item>
		<title>Vacation God Moments, Part 1 &#8211; Celebrating the Sabbath</title>
		<link>http://scottlpercy.wordpress.com/2012/01/16/vacation-god-moments-part-1-celebrating-the-sabbath/</link>
		<comments>http://scottlpercy.wordpress.com/2012/01/16/vacation-god-moments-part-1-celebrating-the-sabbath/#comments</comments>
		<pubDate>Mon, 16 Jan 2012 13:00:24 +0000</pubDate>
		<dc:creator>Percy</dc:creator>
				<category><![CDATA[God Moments]]></category>
		<category><![CDATA[Personal]]></category>
		<category><![CDATA[Vacation God Moments]]></category>
		<category><![CDATA[God moments]]></category>

		<guid isPermaLink="false">http://scottlpercy.wordpress.com/?p=116</guid>
		<description><![CDATA[Sarah and I took a wonderful fall vacation trip up to Asheville, North Carolina right before Thanksgiving this past year &#8211; a &#8220;babymoon&#8221; of sorts.  It&#8217;s the second time we&#8217;ve made this trip, and we always seem to find ourselves driving along the Blue Ridge Parkway at some point.  I always feel that God talks [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=scottlpercy.wordpress.com&amp;blog=2199640&amp;post=116&amp;subd=scottlpercy&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Sarah and I took a wonderful fall vacation trip up to Asheville, North Carolina right before Thanksgiving this past year &#8211; a &#8220;babymoon&#8221; of sorts.  It&#8217;s the second time we&#8217;ve made this trip, and we always seem to find ourselves driving along the <a href="http://www.blueridgeparkway.org/">Blue Ridge Parkway</a> at some point.  I always feel that God talks most to me when I&#8217;m closest to His creations and this trip was no different.  I think there&#8217;s a few things He tried to teach me during our afternoon drive, and I thought I&#8217;d share those with you.</p>
<p>The first of these has a tie in with a <a href="http://podcast.ahigherplace.net/2011/11/08/enjoying-the-sabbath-gift.aspx">Sunday School lesson from around the same time</a>.  The basic premise was that God gives us the Sabbath as a gift, and we don&#8217;t always know what to do with it.  Too, the point of the Sabbath is to rest, to change up your routine in such a way as you get energized and rejuvenated.  For me, this vacation was a Sabbath.</p>
<p>This vacation allowed us to rest &#8211; we didn&#8217;t have to do anything at any particular time, nor did we have to be anywhere at any particular time.  We didn&#8217;t have any responsibilities other than enjoying ourselves.  We could go where we pleased, when we pleased, and we surely did.</p>
<p>It also allowed us to reconnect.  It&#8217;s easy for life to get in the way of your marriage, but that&#8217;s not why God put that perfect partner in your life.  It&#8217;s through growth in your relationship together that causes you to grow more than you could individually.  I don&#8217;t know about you, but for me, it takes me a while to &#8220;re-enter&#8221; my personal life after I&#8217;ve been working all day.  It&#8217;s not usually until about halfway through dinner (and sometimes not even then) before I can shut off things going on at the office.  And, it usually has to be a conscious effort.  However, on a trip like this, where the time off has been planned for some time, I find that I can let the office go.</p>
<p>That actually brings me to one of the most important things to do while celebrating your Sabbath &#8211; disconnect from the world.  It&#8217;s taken me a while to get comfortable with this and I&#8217;m not completely there.  I have to disable my work e-mail and sometimes my personal e-mail.  I leave my phone on silent most of the time, just to be sure I concentrate on what&#8217;s most important.  You have to <a href="http://www.reverbnation.com/play_now/song_10950393" target="_blank">&#8220;Stop the Noise&#8221;</a> as my friend <a href="http://www.carisaturner.com" target="_blank">Carisa Turner</a> puts it (more on this in a later post).  I find that God will speak to me in that <a href="http://www.biblegateway.com/passage/?search=1%20Kings%2019:12&amp;version=ESV" target="_blank">low whisper</a>, but I have to be in a place where I can hear it.  Sometimes it happens because I&#8217;m really focusing on what Sarah is saying.  Sometimes it happens because I hear a bird chirping on a sunny day. Sometimes it&#8217;s because I hear nothing at all and it makes me uncomfortable.  I can tell you that it doesn&#8217;t usually happen in the &#8220;bing&#8221; of a new e-mail or the reminder of an upcoming appointment.  That doesn&#8217;t mean God can&#8217;t use those moments &#8211; He definitely can.  I find that, for me at least, those moments usually just distract me from Him or what He&#8217;s trying to show/teach me.</p>
<p>If you can&#8217;t tell, I&#8217;m not taking the Sabbath to only mean Sunday.  I&#8217;m taking it to mean a time of rest and relaxation.  It&#8217;s a time that&#8217;s set apart from your everyday routine.  It&#8217;s sacrificing time spent in one area to spend time with God &#8211; in other words, <a href="http://www.amazon.com/Choosing-Cheat-Wins-Family-Collide/dp/1590523296/ref=sr_1_1?ie=UTF8&amp;qid=1325605078&amp;sr=8-1" target="_blank">Choosing to Cheat</a>.  It&#8217;s allowing yourself the time to be open to what He has to say to you.</p>
<p>Too, I&#8217;m still learning how to celebrate the Sabbath.  I&#8217;m not always sure what to do with a gift like that, but I&#8217;m trying to get better about it.  It&#8217;s about being intentional, and that&#8217;s what I&#8217;m working on.  I&#8217;m putting this out there more as a reminder to myself.</p>
<p>So, how do you celebrate the Sabbath?</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/scottlpercy.wordpress.com/116/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/scottlpercy.wordpress.com/116/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/scottlpercy.wordpress.com/116/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/scottlpercy.wordpress.com/116/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/scottlpercy.wordpress.com/116/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/scottlpercy.wordpress.com/116/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/scottlpercy.wordpress.com/116/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/scottlpercy.wordpress.com/116/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/scottlpercy.wordpress.com/116/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/scottlpercy.wordpress.com/116/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/scottlpercy.wordpress.com/116/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/scottlpercy.wordpress.com/116/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/scottlpercy.wordpress.com/116/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/scottlpercy.wordpress.com/116/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=scottlpercy.wordpress.com&amp;blog=2199640&amp;post=116&amp;subd=scottlpercy&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://scottlpercy.wordpress.com/2012/01/16/vacation-god-moments-part-1-celebrating-the-sabbath/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/e98c72450557607c115eb11a17fc9bbb?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">kat</media:title>
		</media:content>
	</item>
		<item>
		<title>Fun with Powershell, Part 1 &#8211; Intro/Twitter API</title>
		<link>http://scottlpercy.wordpress.com/2012/01/09/fun-with-powershell-part-1-introtwitter-api/</link>
		<comments>http://scottlpercy.wordpress.com/2012/01/09/fun-with-powershell-part-1-introtwitter-api/#comments</comments>
		<pubDate>Mon, 09 Jan 2012 13:00:13 +0000</pubDate>
		<dc:creator>Percy</dc:creator>
				<category><![CDATA[Fun with Powershell]]></category>
		<category><![CDATA[Programming]]></category>
		<category><![CDATA[Technology]]></category>
		<category><![CDATA[C#]]></category>
		<category><![CDATA[Development]]></category>
		<category><![CDATA[PowerShell]]></category>

		<guid isPermaLink="false">http://scottlpercy.wordpress.com/?p=128</guid>
		<description><![CDATA[I&#8217;ve really been enjoying learning more about Powershell.  I&#8217;ve actually gotten to the point that I think about using it first, and then writing a full-fledged application second.  In the past, I&#8217;ve listed some of the things I&#8217;ve been able to do with Powershell, but I thought I might dig a little deeper and provide [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=scottlpercy.wordpress.com&amp;blog=2199640&amp;post=128&amp;subd=scottlpercy&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>I&#8217;ve really been enjoying learning more about Powershell.  I&#8217;ve actually gotten to the point that I think about using it first, and then writing a full-fledged application second.  In the past, I&#8217;ve listed some of the things I&#8217;ve been able to do with Powershell, but I thought I might dig a little deeper and provide some more detailed info about the what and how of those kind of things.  Too, whenever I talk to developers or technology folks about Powershell, they all have the same reaction &#8211; &#8220;Isn&#8217;t that more for system administrators than for developers?&#8221;.  While I fervently agree that anyone administering any kind of system needs to know Powershell for their own sanity, it&#8217;s a great tool for developers as well.  So, I thought I would highlight how developers can use Powershell by throwing out some real world examples of how I&#8217;ve used it.  Also, I&#8217;m assuming that you know the basics of Powershell &#8211; declaring variables ($), calling methods on objects, piping input into commands, creating new objects, etc.  If you need more clarification, please let me know.</p>
<p>I don&#8217;t know how long this series will be, but here we go with part 1.</p>
<p>I was reading through my twitter feed the other day, and I came across <a href="http://twitter.com/#!/Oatmeal/status/153613293582430208" target="_blank">this post</a> from <a href="http://www.theoatmeal.com" target="_blank">The Oatmeal</a>:</p>
<blockquote><p><em>&#8220;Is there a way to sort my Twitter followers by the number of followers they have? (in descending order)&#8221;</em></p></blockquote>
<p>My first thought was &#8220;I&#8217;m sure I can do that in Powershell&#8221;.  Now, there are a number of web apps out there that will actually do this for you.  I even think the next tweet points to <a href="http://www.friendorfollow.com/" target="_blank">friendorfollow.com</a>.  However, I thought it would be a neat learning exercise.  Before we begin, I figured I&#8217;d throw this out there &#8211; I honestly have no idea how this will work.  I don&#8217;t have some stock twitter API in my back pocket ready to use.  So, this will be &#8220;from scratch&#8221;.  So, here&#8217;s how I did it.</p>
<p>First off, I&#8217;m assuming that there is a twitter API, so I go to twitter&#8217;s website, and I click the link at the bottom labeled &#8220;Developers&#8221; (hey, that&#8217;s me!).  That takes me to <a href="https://dev.twitter.com/" target="_blank">dev.twitter.com</a>, which has a link for <a href="https://dev.twitter.com/docs" target="_blank">Getting Started with the API</a>.  Bingo!  After looking around there, I find that it&#8217;s just HTTP requests of the format &#8220;https://api.twitter.com/{Version}/{Controller}/{Action].{Format}?{Parameters}&#8221;.  So, in this case, the first thing to do is <a href="https://dev.twitter.com/docs/api/1/get/friends/ids" target="_blank">get the followers for a particular user</a>.  So, the URL I&#8217;m going to use is https://api.twitter.com/1/friends/ids.xml?screen_name={your user name}, since I want to use the XML format.  That returns the list of all my followers.  So, now I need to get this into Powershell by firing up my trusted Posh IDE &#8211; <a href="http://powergui.org/index.jspa" target="_blank">PowerGUI</a>.</p>
<p>With Powershell, you have access to any .NET library, including the ones in the core.  There&#8217;s a class called System.Net.WebClient that I think I can use.  Let me see what options I have:</p>
<pre style="font-family:Andale Mono, Lucida Console, Monaco, fixed, monospace;color:#000000;background-color:#eee;font-size:9px;border:1px dashed #999999;line-height:14px;overflow:auto;width:100%;padding:5px;"><code>New-Object System.Net.WebClient | Get-Member </code></pre>
<p>There&#8217;s a method called DownloadString, that takes in a string address as a parameter.  So, lets give this a try and see what happens:</p>
<pre style="font-family:Andale Mono, Lucida Console, Monaco, fixed, monospace;color:#000000;background-color:#eee;font-size:9px;border:1px dashed #999999;line-height:14px;overflow:auto;width:100%;padding:5px;"><code>$url = "https://api.twitter.com/1/friends/ids.xml?screen_name={your user name}"
$wc = New-Object System.Net.WebClient
$wc.DownloadString($url) </code></pre>
<p>That returns the XML response that I&#8217;m looking for.  So, now I need to put that string into an xml object, and see what options I have.</p>
<pre style="font-family:Andale Mono, Lucida Console, Monaco, fixed, monospace;color:#000000;background-color:#eee;font-size:9px;border:1px dashed #999999;line-height:14px;overflow:auto;width:100%;padding:5px;"><code>[xml] $data = $wc.DownloadString($url)
$data | Get-Member </code></pre>
<p>Now, one of the properties is called &#8220;id_list&#8221;.  If I look at the XML returned from the URL I passed in, that&#8217;s the root node.   So, by putting it in the XML object, Powershell has effectively serialized my XML into an object tree.  So, now I should be able to get each individual id.</p>
<pre style="font-family:Andale Mono, Lucida Console, Monaco, fixed, monospace;color:#000000;background-color:#eee;font-size:9px;border:1px dashed #999999;line-height:14px;overflow:auto;width:100%;padding:5px;"><code>$data.id_list.ids.id |
% {
	$_
} </code></pre>
<p>From that I can see the list of id&#8217;s. Alright, now I can loop through each one of my followers. So, the next step is getting the number of followers for each of those users. Luckily, there is <a href="https://dev.twitter.com/docs/api/1/get/users/lookup" target="_blank">another API call</a> that can give us that information.  So, now, for each one of these users I want to call a URL of the following format - https://api.twitter.com/1/users/lookup.xml?user_id={User ID}&amp;include_entities=true.</p>
<p><strong>Note: </strong>The twitter API only allows 150 calls an hour per IP address.  I found this one out the hard way.  So, while you <em>CAN</em> loop through all your friends, I wouldn&#8217;t recommend it if you have more than 150 people your are following.</p>
<p>So, now I can do something like this within the loop:</p>
<pre style="font-family:Andale Mono, Lucida Console, Monaco, fixed, monospace;color:#000000;background-color:#eee;font-size:9px;border:1px dashed #999999;line-height:14px;overflow:auto;width:100%;padding:5px;"><code>$userUrl = &quot;https://api.twitter.com/1/users/lookup.xml?user_id=$($_)&amp;include_entities=true&quot;
[xml] $userData = $wc.DownloadString($userUrl)
</code></pre>
<p>A little more testing tells me that the user name of the current follower can be found at $userData.users.user.screen_name and the follower count can be found at $userData.users.user.followers_count. Now, I want to see this data as a simple data set so I can sort the data. There&#8217;s a neat little trick I picked up while reading <a href="http://www.leporelo.eu/blog.aspx?id=how-to-find-wrong-assembly-dependencies-via-powershell" target="_blank">this article</a>. You can dynamically declare an object structure by using a command similar to this:</p>
<pre style="font-family:Andale Mono, Lucida Console, Monaco, fixed, monospace;color:#000000;background-color:#eee;font-size:9px;border:1px dashed #999999;line-height:14px;overflow:auto;width:100%;padding:5px;"><code>$newObj = &quot;&quot; &#124; Select-Object Property1, Property2, Property3
</code></pre>
<p>If you then do something like this:</p>
<pre style="font-family:Andale Mono, Lucida Console, Monaco, fixed, monospace;color:#000000;background-color:#eee;font-size:9px;border:1px dashed #999999;line-height:14px;overflow:auto;width:100%;padding:5px;"><code>$newObj &#124; Get-Member
</code></pre>
<p>You&#8217;ll see &#8220;NoteProperty&#8221; types that correspond to the properties you declared earlier. Too, instead of doing multiple set operations on separate lines, you can do multiple set operations on one line &#8211; as long as you get the order correct. So, once I get the data for the user, I can do something like this:</p>
<pre style="font-family:Andale Mono, Lucida Console, Monaco, fixed, monospace;color:#000000;background-color:#eee;font-size:9px;border:1px dashed #999999;line-height:14px;overflow:auto;width:100%;padding:5px;"><code>$outputItem = &quot;&quot; &#124; Select-Object Name, ScreenName, FollowersCount
$outputItem.Name, $outputItem.ScreenName, $outputItem.FollowersCount = $userData.users.user.name, $userData.users.user.screen_name, [int] $userData.users.user.followers_count
</code></pre>
<p>Now, if I just put $outputItem on a line all by itself, it&#8217;ll be returned as a result of this iteration of the loop. So, now my loop returns a data set which contains all the data I want to see. Just to make it a bit nicer, I can pipe it out to Out-GridView. That allows me to see the data and play with it all I want. So, if I put it all together, I&#8217;ve got a script that hits the Twitter API and will return a grid view of all of the people that you are following and their follower count in a little over 10 lines of code (and some of that simply for formatting):</p>
<pre style="font-family:Andale Mono, Lucida Console, Monaco, fixed, monospace;color:#000000;background-color:#eee;font-size:9px;border:1px dashed #999999;line-height:14px;overflow:auto;width:100%;padding:5px;"><code>$url = &quot;https://api.twitter.com/1/friends/ids.xml?screen_name={your twitter name}&quot;
$wc = New-Object System.Net.WebClient
[xml] $data = $wc.DownloadString($url)
$data.id_list.ids.id &#124;
% {
    $userUrl = &quot;https://api.twitter.com/1/users/lookup.xml?user_id=$($_)&amp;amp;include_entities=true&quot;
    [xml] $userData = $wc.DownloadString($userUrl)
    $outputItem = &quot;&quot; &#124; Select-Object Name, ScreenName, FollowersCount
    $outputItem.Name, $outputItem.ScreenName, $outputItem.FollowersCount = $userData.users.user.name, $userData.users.user.screen_name, [int] $userData.users.user.followers_count
    $outputItem
} &#124; Out-GridView
</code></pre>
<p>So, there is is. In the interest of full disclosure, here is my script, with the user limiter code included as well as some commented code I was using for testing purposes:</p>
<pre style="font-family:Andale Mono, Lucida Console, Monaco, fixed, monospace;color:#000000;background-color:#eee;font-size:9px;border:1px dashed #999999;line-height:14px;overflow:auto;width:100%;padding:5px;"><code>cls
# New-Object System.Net.WebClient &#124; Get-Member
$url = &quot;https://api.twitter.com/1/friends/ids.xml?screen_name=katman26&quot;
$wc = New-Object System.Net.WebClient
[xml] $data = $wc.DownloadString($url)
$count = 0
$data.id_list.ids.id &#124;
% {
    if($count -lt 5)
    {
        $userUrl = &quot;https://api.twitter.com/1/users/lookup.xml?user_id=$($_)&amp;include_entities=true&quot;
        [xml] $userData = $wc.DownloadString($userUrl)

        $outputItem = &quot;&quot; &#124; Select-Object Name, ScreenName, FollowersCount
        $outputItem.Name, $outputItem.ScreenName, $outputItem.FollowersCount = $userData.users.user.name, $userData.users.user.screen_name, [int] $userData.users.user.followers_count
        $outputItem
    }
    $count++
} &#124; Out-GridView
</code></pre>
<p>Let me know if you have any questions about this or any of the examples I&#8217;ve shown.  I&#8217;m not a Powershell expert&#8230;yet.  <img src='http://s0.wp.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/scottlpercy.wordpress.com/128/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/scottlpercy.wordpress.com/128/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/scottlpercy.wordpress.com/128/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/scottlpercy.wordpress.com/128/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/scottlpercy.wordpress.com/128/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/scottlpercy.wordpress.com/128/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/scottlpercy.wordpress.com/128/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/scottlpercy.wordpress.com/128/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/scottlpercy.wordpress.com/128/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/scottlpercy.wordpress.com/128/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/scottlpercy.wordpress.com/128/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/scottlpercy.wordpress.com/128/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/scottlpercy.wordpress.com/128/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/scottlpercy.wordpress.com/128/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=scottlpercy.wordpress.com&amp;blog=2199640&amp;post=128&amp;subd=scottlpercy&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://scottlpercy.wordpress.com/2012/01/09/fun-with-powershell-part-1-introtwitter-api/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/e98c72450557607c115eb11a17fc9bbb?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">kat</media:title>
		</media:content>
	</item>
		<item>
		<title>2012 Goals</title>
		<link>http://scottlpercy.wordpress.com/2012/01/02/2012-goals/</link>
		<comments>http://scottlpercy.wordpress.com/2012/01/02/2012-goals/#comments</comments>
		<pubDate>Mon, 02 Jan 2012 05:10:31 +0000</pubDate>
		<dc:creator>Percy</dc:creator>
				<category><![CDATA[Holiday]]></category>
		<category><![CDATA[Personal]]></category>
		<category><![CDATA[2012]]></category>

		<guid isPermaLink="false">https://scottlpercy.wordpress.com/?p=121</guid>
		<description><![CDATA[Sarah and I have a New Year&#8217;s Day tradition that started a few years ago. I&#8217;m not really sure how it came about, but I&#8217;m really glad we&#8217;ve kept it up. The tradition is simple. We go out to a decent restaurant where there aren&#8217;t many distractions (usually The Melting Pot so we can take [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=scottlpercy.wordpress.com&amp;blog=2199640&amp;post=121&amp;subd=scottlpercy&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Sarah and I have a New Year&#8217;s Day tradition that started a few years ago. I&#8217;m not really sure how it came about, but I&#8217;m really glad we&#8217;ve kept it up. The tradition is simple. We go out to a decent restaurant where there aren&#8217;t many distractions (usually The Melting Pot so we can take our time), we look at our goals for the past year, discuss whether we were successful and then we lay out our goals for the coming year. We don&#8217;t do resolutions, because it&#8217;s much harder to track the status of things like &#8220;save more money&#8221; or &#8220;eat healthier&#8221;. It&#8217;s a lot easier to look back over the year and say &#8220;did we &#8216;have x amount in our savings account&#8217;&#8221; or &#8220;how did we do on &#8216;getting new carpet&#8217;&#8221;.  It&#8217;s actually a bit harder to do goals vs. resolutions, because you have to be specific.  It has to be something you can go back to later, and simply say &#8220;yes&#8221; or &#8220;no&#8221; to it being completed.  There should be no gray area here.</p>
<p>Too, it&#8217;s all about <a href="https://www.stephencovey.com/7habits/7habits-habit2.php" target="_blank">beginning with the end in mind</a>. As many of my work colleagues know, I&#8217;m a BIG proponent of defining success before you start working. My favorite question at the start of every sprint is &#8220;what defines success for this iteration?&#8221;. My favorite question at the retrospective &#8211; &#8220;were we successful based on the definition of success when we started?&#8221; If you don&#8217;t define what success is (and you&#8217;re not extremely explicit about it), how do you know that the small decision you are making today will keep you heading in the right direction? I think that&#8217;s important at work, but how much more important is it for the other parts of your life?</p>
<p>So, we went through this exercise on Sunday evening and I think we&#8217;re going to have a good 2012. It feels really good to look across the table and know that you and your partner in this life are heading in the same direction.  Too, it&#8217;s neat to find out what your wife wants to accomplish this year &#8211; sometimes, it even surprises and inspires you.  I actually came up with some personal goals that I&#8217;m excited about.</p>
<p>One of the goals that we&#8217;ve committed to together is reading through the entire Bible this year.  Both of us have read through most of the Bible, but I honestly can&#8217;t say for sure that I&#8217;ve read every verse. That changes this year, and I&#8217;ve got the best accountability partner along for the ride. We&#8217;re starting the <a href="http://www.youversion.com/reading-plans/the-one-year-bible" target="_blank">One Year Bible</a> together, and I&#8217;m even doing a <a href="http://www.youversion.com/reading-plans/chronological" target="_blank">chronological one</a> on my own &#8211; &#8217;cause I&#8217;m geeky like that.</p>
<p>I&#8217;m also committing to reading 8 books this year. Last year, I tried to commit to one a month, but got off track in February which just discouraged me and caused me to not want to read at all. So, I&#8217;m trying a more realistic goal this time around. Too, I&#8217;m not confining myself to a timeline. If I read two books this month and none in the next two, I&#8217;m still right on track and won&#8217;t get discouraged.</p>
<p>I&#8217;m also committing to writing one blog post a week. FYI, this one does count for this week. <img src='http://s0.wp.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' />  I want to improve my writing skills, and also keep track of some cool stuff I&#8217;ve been working on. Too, I&#8217;ve started about six other posts that I need to finish. This goal will (hopefully) force me to finish those and improve my writing some. I&#8217;ve even had some requests for posts (gasp!) and I&#8217;ve completely let those people down (sad trombone). This will hopefully kick me in the pants about that as well. Plus, I hope I can contribute to the online community in some small way. I&#8217;ve got the next few lined up, but I know that there may be some weeks where it&#8217;s just something simple. At least it&#8217;ll be something. This part of my plan was inspired by <a href="https://plus.google.com/113698589973698283456/posts/NdxWU2uXQvZ" target="_blank">Hanselman&#8217;s post on productivity</a>. I want to attempt to produce more this year.</p>
<p>Along the same lines of producing more, I&#8217;ve committed myself to submit at least one talk to a conference.  I&#8217;ve actually had two separate people tell me I should do something like this (for two separate talks), and I think it would be a good idea.  I can&#8217;t control if they are picked or not, so my goal isn&#8217;t actually to present.  If a talk I submit DOES get picked, then that&#8217;s just icing on the cake.  I&#8217;ve done some internal presentations, but never one in public like that.  I may not enjoy it, but I&#8217;ll never know unless I try.</p>
<p>We came up with a bunch of other goals for this year &#8211; most of which we want to get done before late February. <img src='http://s0.wp.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>So, what are you doing different/the same this year? How do you judge the success of each year?</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/scottlpercy.wordpress.com/121/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/scottlpercy.wordpress.com/121/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/scottlpercy.wordpress.com/121/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/scottlpercy.wordpress.com/121/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/scottlpercy.wordpress.com/121/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/scottlpercy.wordpress.com/121/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/scottlpercy.wordpress.com/121/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/scottlpercy.wordpress.com/121/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/scottlpercy.wordpress.com/121/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/scottlpercy.wordpress.com/121/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/scottlpercy.wordpress.com/121/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/scottlpercy.wordpress.com/121/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/scottlpercy.wordpress.com/121/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/scottlpercy.wordpress.com/121/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=scottlpercy.wordpress.com&amp;blog=2199640&amp;post=121&amp;subd=scottlpercy&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://scottlpercy.wordpress.com/2012/01/02/2012-goals/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/e98c72450557607c115eb11a17fc9bbb?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">kat</media:title>
		</media:content>
	</item>
		<item>
		<title>Courageous&#8230;go see it</title>
		<link>http://scottlpercy.wordpress.com/2011/10/16/courageous-go-see-it/</link>
		<comments>http://scottlpercy.wordpress.com/2011/10/16/courageous-go-see-it/#comments</comments>
		<pubDate>Sun, 16 Oct 2011 18:01:45 +0000</pubDate>
		<dc:creator>Percy</dc:creator>
				<category><![CDATA[Personal]]></category>
		<category><![CDATA[God moments]]></category>
		<category><![CDATA[Movies]]></category>

		<guid isPermaLink="false">https://scottlpercy.wordpress.com/?p=109</guid>
		<description><![CDATA[Sarah and I went to see Courageous over the weekend.  If you have children, are about to have a child (like me) or are ever thinking about having children, you should see this movie.  I don&#8217;t think I&#8217;ll ever classify a book or movie as &#8220;life changing&#8221; (outside of the Bible), but this is a powerful [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=scottlpercy.wordpress.com&amp;blog=2199640&amp;post=109&amp;subd=scottlpercy&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Sarah and I went to see <em><a title="Courageous" href="http://courageousmovie.com/" target="_blank">Courageous</a> </em>over the weekend.  If you have children, are about to have a child (like me) or are ever thinking about having children, you should see this movie.  I don&#8217;t think I&#8217;ll ever classify a book or movie as &#8220;life changing&#8221; (outside of the Bible), but this is a powerful movie that will probably have you talking long after the credits roll.  Too, I&#8217;m not one to see movies twice, but I&#8217;d go see this one multiple times in a heartbeat.  I&#8217;m also sure I&#8217;ll pick up the DVD or Blu-ray when it comes out, which I don&#8217;t do much anymore either.  It&#8217;s a movie that makes you think, and also challenges you to step into the role you have been called into.</p>
<p>The movie tells the story of five men and their families.  A personal tragedy causes one man to reevaluate his role as a father, husband and spiritual leader in his home.  His resolution inspires the other four men around him to also to go through a reevaluation and resolution process together.  There are a number of moral issues that are dealt with, and, in my opinion, dealt with head on.  The main message of the movie, if I had to sum it up would be part of a conversation between two of the characters:</p>
<p>Shane Fuller: &#8220;You&#8217;re being too hard on yourself.  You&#8217;ve been a good enough father.&#8221;</p>
<p>Adam Mitchell: &#8220;That&#8217;s just it.  I don&#8217;t want to be a good enough father.&#8221;</p>
<p>Over the past few years, through a number of groups, I&#8217;ve started trying to understand the commission I was given on my wedding day.  The minister that married us made a point about stating that my position as head of my family was not &#8220;merit based.&#8221;  I didn&#8217;t earn it, and there&#8217;s nothing that says I&#8217;m more worthy of that role simply by being male.  It&#8217;s a calling.  It&#8217;s something God has set forth, and something that I am supposed to do.  It&#8217;s something to aspire to.  In other words, marriage (and later parenthood) are not institutions that should be entered into lightly, because there is a responsibility that is borne by the parties entering into the covenant.  Responsibilities that you will have to answer for one day.  It&#8217;s not built to be easy, but it&#8217;s built to make you better than you were and give you joy you never could know any other way.</p>
<p>There is this &#8220;myth of masculinity&#8221; which is prevalent in our culture.  Men hear a message that is far from the truthand keeps them from fulfilling the role for which they were made.  I feel that the majority of this world&#8217;s problems are caused by men &#8220;missing the mark&#8221;, where the effect can be felt for generations.  I&#8217;ve blogged <a title="God moments" href="http://scottlpercy.wordpress.com/2011/02/11/god-moments/">before</a> about a definition for manhood that I believe has a lot of truth in it.  While this movie doesn&#8217;t come right out and say it specifically, I think these tenants are present throughout the story.  From the first five minutes of the movie, you see a man rejecting passivity and accepting responsibility &#8211; even as his own personal peril.  Now, it&#8217;s not something conscious (I believe) on that character&#8217;s part at that stage of his development, but it is something essential to being a man and something he comes to understand later.</p>
<p>With the impending birth of our first child, I find myself saying the same thing &#8211; &#8220;I don&#8217;t want to just be a good enough father.&#8221;  I strive to be good at whatever I do, and I want to do the best job I can wherever I am.</p>
<p>I&#8217;ve been to a lot of movies where I&#8217;ve found myself empathizing with characters in the film.  I can see life from their perspective, and I can try to understand why they do what they do.</p>
<p>This is just so much more.</p>
<p>This movie is for me and about me &#8211; without question.  I&#8217;m about to walk a mile (or really the rest of my life) in the shoes of these men.  I&#8217;m going to have my child looking at me and learning things from me, whether I&#8217;m intentionally teaching him/her or not.  If I have a son, I want him to know what it is to be a man, and I want him to know when that day arrives in his life. I want to be able to guide him in that journey, and then be confident when I send him into the world.  If I have a daughter, I want her to know what a man is and how that man is supposed to treat her.  I want her to not settle for anything less.  Either way, I want my child to be raised in a Christian home and seek God with everything that they do and are.  Too, I&#8217;m only going to have a limited amount of time to spend with these special people &#8211; whether that&#8217;s due to my life span or any outside event we can&#8217;t plan for.  I need to maximize my impact in that time.</p>
<p>That&#8217;s where my investment can have eternal results.  That&#8217;s not to say that other things won&#8217;t be important, but I&#8217;m pretty sure there will only be a few that are as important as the influence I will have (again, whether I want to or not) on my child (or children).</p>
<p>I really meant this to be a short post, but I guess it&#8217;s something that&#8217;s pretty big in my life right now.  So, in short, go see the movie.  You won&#8217;t regret it.</p>
<p>When you do go see it, let me know what you think of the movie.</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/scottlpercy.wordpress.com/109/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/scottlpercy.wordpress.com/109/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/scottlpercy.wordpress.com/109/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/scottlpercy.wordpress.com/109/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/scottlpercy.wordpress.com/109/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/scottlpercy.wordpress.com/109/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/scottlpercy.wordpress.com/109/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/scottlpercy.wordpress.com/109/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/scottlpercy.wordpress.com/109/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/scottlpercy.wordpress.com/109/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/scottlpercy.wordpress.com/109/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/scottlpercy.wordpress.com/109/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/scottlpercy.wordpress.com/109/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/scottlpercy.wordpress.com/109/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=scottlpercy.wordpress.com&amp;blog=2199640&amp;post=109&amp;subd=scottlpercy&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://scottlpercy.wordpress.com/2011/10/16/courageous-go-see-it/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/e98c72450557607c115eb11a17fc9bbb?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">kat</media:title>
		</media:content>
	</item>
		<item>
		<title>Lovin&#8217; me some POSH, part 2</title>
		<link>http://scottlpercy.wordpress.com/2011/09/22/lovin-me-some-posh-part-2/</link>
		<comments>http://scottlpercy.wordpress.com/2011/09/22/lovin-me-some-posh-part-2/#comments</comments>
		<pubDate>Thu, 22 Sep 2011 14:04:26 +0000</pubDate>
		<dc:creator>Percy</dc:creator>
				<category><![CDATA[Programming]]></category>
		<category><![CDATA[Development]]></category>
		<category><![CDATA[PowerShell]]></category>

		<guid isPermaLink="false">http://scottlpercy.wordpress.com/?p=81</guid>
		<description><![CDATA[So, I&#8217;m still riding the PowerShell train these days.  I&#8217;ve written a few more scripts, and I wanted to share.  Recently, I&#8217;ve written scripts&#8230; &#8230;that audit all of our TFS build definition retention policies &#8230;that update all of our TFS build definitions to have the standard retention policy &#8230;that audits all of the builds for [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=scottlpercy.wordpress.com&amp;blog=2199640&amp;post=81&amp;subd=scottlpercy&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>So, I&#8217;m still riding the PowerShell train these days.  I&#8217;ve written a few more scripts, and I wanted to share.  Recently, I&#8217;ve written scripts&#8230;</p>
<ul>
<li>&#8230;that audit all of our TFS build definition retention policies</li>
<li>&#8230;that update all of our TFS build definitions to have the standard retention policy</li>
<li>&#8230;that audits all of the builds for our TFS build definitions such that we can tell which builds are taking up the most space on our build machine and cut those down</li>
<li>&#8230;that locks down/unlocks all branches of a certain type for all of our clients, so that we can clean them up and get ready for branching without having rogue checkins (As an FYI, this one worked so good initially, that the branches weren&#8217;t visible to most people.  I&#8217;ve refined it since.)</li>
<li>&#8230;that will query multiple similar databases and will return the data for all the disparate result sets into one grid view (I know you can do this through SSMS, but it requires setting up registered servers and the query results aren&#8217;t sortable or filterable like the Out-GridView cmdlet output is)</li>
<li>&#8230;that will deploy our database scripts &#8211; somewhat complicated, Shared common functionality =&gt; Client-specific functionality, but scripts need to be run in a certain order, and they are not named in a standard format</li>
<li>&#8230; that will go through a directory of files recursively, determine the encoding of certain files and set the encoding on the files that aren&#8217;t set appropriately (xml config files not set to UTF8)</li>
</ul>
<p>I&#8217;m still trying to find something that it can&#8217;t do, and I&#8217;ve yet to find it.  Most of the time, it takes less than an hour to write the script for something that would have taken me multiple days.  If anyone is interested in some code samples, let me know.   I doubt they follow &#8220;best practices&#8221;, since I&#8217;m only a few months into using this and I don&#8217;t know what the best practices are yet.  :)</p>
<p>I&#8217;ve also set up a profile that is synced with Dropbox.  So, all of my computers can have the same set of functions, if I want them to.  Too, if I make a change to one of the functions, it&#8217;s propagated automatically to all my computers.  Again, I&#8217;m not sure if I&#8217;m doing this the best way, but it&#8217;s working so far.</p>
<p>Too, I&#8217;ve got a work in progress &#8211; a script that will sync Outlook calendar items with Google calendar items.  I&#8217;ve got a script that will query both, but I&#8217;ve not yet tied them together.  The app I usually use for this is a bit buggy, doesn&#8217;t always work, and doesn&#8217;t sync regularly.  So, I&#8217;m replacing it&#8230;in my spare time&#8230;which means it will be done in 2020.  :)</p>
<p>So, have you done anything cool with POSH lately?</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/scottlpercy.wordpress.com/81/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/scottlpercy.wordpress.com/81/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/scottlpercy.wordpress.com/81/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/scottlpercy.wordpress.com/81/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/scottlpercy.wordpress.com/81/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/scottlpercy.wordpress.com/81/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/scottlpercy.wordpress.com/81/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/scottlpercy.wordpress.com/81/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/scottlpercy.wordpress.com/81/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/scottlpercy.wordpress.com/81/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/scottlpercy.wordpress.com/81/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/scottlpercy.wordpress.com/81/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/scottlpercy.wordpress.com/81/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/scottlpercy.wordpress.com/81/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=scottlpercy.wordpress.com&amp;blog=2199640&amp;post=81&amp;subd=scottlpercy&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://scottlpercy.wordpress.com/2011/09/22/lovin-me-some-posh-part-2/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/e98c72450557607c115eb11a17fc9bbb?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">kat</media:title>
		</media:content>
	</item>
		<item>
		<title>SQL Saturday, anyone going?</title>
		<link>http://scottlpercy.wordpress.com/2011/09/13/sql-saturday-anyone-going/</link>
		<comments>http://scottlpercy.wordpress.com/2011/09/13/sql-saturday-anyone-going/#comments</comments>
		<pubDate>Tue, 13 Sep 2011 15:32:02 +0000</pubDate>
		<dc:creator>Percy</dc:creator>
				<category><![CDATA[Programming]]></category>
		<category><![CDATA[Development]]></category>
		<category><![CDATA[PowerShell]]></category>
		<category><![CDATA[SQL]]></category>
		<category><![CDATA[SQL Saturday]]></category>

		<guid isPermaLink="false">http://scottlpercy.wordpress.com/?p=77</guid>
		<description><![CDATA[I&#8217;m signed up for SQL Saturday this weekend &#8211; 9/17.  Anyone else going? Here&#8217;s what I&#8217;m planning on attending: 09:00 AM &#8211; 10:00 AM Professional Dev Breaking out of your shell: Cube Dweller to Leader (Bobby Dimmick, Level: Beginner) 10:15 AM &#8211; 11:15 AM: Professional Dev Are you a Linchpin? Career management lessons&#8230; (Brian Moran, Level: Intermediate) [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=scottlpercy.wordpress.com&amp;blog=2199640&amp;post=77&amp;subd=scottlpercy&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>I&#8217;m signed up for <a href="http://www.sqlsaturday.com/89/eventhome.aspx" target="_blank">SQL Saturday</a> this weekend &#8211; 9/17.  Anyone else going?</p>
<p>Here&#8217;s what I&#8217;m planning on attending:</p>
<table>
<tbody>
<tr>
<td>09:00 AM &#8211; 10:00 AM</td>
<td>Professional Dev</td>
<td><a href="http://www.sqlsaturday.com/viewsession.aspx?sat=89&amp;sessionid=5198" target="_blank">Breaking out of your shell: Cube Dweller to Leader (Bobby Dimmick, Level: Beginner)</a></td>
</tr>
<tr>
<td>10:15 AM &#8211; 11:15 AM:</td>
<td>Professional Dev</td>
<td><a href="http://www.sqlsaturday.com/viewsession.aspx?sat=89&amp;sessionid=4895" target="_blank">Are you a Linchpin? Career management lessons&#8230; (Brian Moran, Level: Intermediate)</a></td>
</tr>
<tr>
<td>11:15 AM &#8211; 11:45 AM</td>
<td colspan="2">Lunch</td>
</tr>
<tr>
<td>11:45 AM &#8211; 12:45 PM</td>
<td>Powershell</td>
<td><a href="http://www.sqlsaturday.com/viewsession.aspx?sat=89&amp;sessionid=5120" target="_blank">ETL Smackdown with Julie Smith (Aaron Nelson, Level: Beginner)</a></td>
</tr>
<tr>
<td>01:00 PM &#8211; 02:00 PM</td>
<td>Powershell</td>
<td><a href="http://www.sqlsaturday.com/viewsession.aspx?sat=89&amp;sessionid=5071" target="_blank">Using StudioShell to Automate Visual Studio (Jim Christopher, Level: Beginner)</a></td>
</tr>
<tr>
<td>02:30 PM &#8211; 03:30 PM</td>
<td>Powershell</td>
<td><a href="http://www.sqlsaturday.com/viewsession.aspx?sat=89&amp;sessionid=4764" target="_blank">PowerShell: Are you checking out my profile? (Nicholas Cain, Level: Beginner)</a></td>
</tr>
<tr>
<td>03:45 PM &#8211; 04:45 PM</td>
<td>Powershell</td>
<td><a href="http://www.sqlsaturday.com/viewsession.aspx?sat=89&amp;sessionid=5073" target="_blank">Stupid PowerShell Tricks (Jim Christopher, Level: Beginner)</a></td>
</tr>
</tbody>
</table>
<p><a href="http://www.evernote.com/shard/s8/sh/4e42e5f8-b946-464a-825d-f2e246524969/ca41df7e170f2e07a57274a3dce06c70" target="_blank">Evernote</a></p>
<p>I&#8217;m looking forward to seeing two co-workers of mine (<a href="http://sqlvariant.com/wordpress/">Aaron Nelson</a> and <a href="http://datachix.com/">Julie Smith</a>) duke it out in the <a href="http://www.sqlsaturday.com/viewsession.aspx?sat=89&amp;sessionid=5120">ETL session</a>.</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/scottlpercy.wordpress.com/77/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/scottlpercy.wordpress.com/77/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/scottlpercy.wordpress.com/77/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/scottlpercy.wordpress.com/77/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/scottlpercy.wordpress.com/77/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/scottlpercy.wordpress.com/77/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/scottlpercy.wordpress.com/77/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/scottlpercy.wordpress.com/77/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/scottlpercy.wordpress.com/77/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/scottlpercy.wordpress.com/77/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/scottlpercy.wordpress.com/77/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/scottlpercy.wordpress.com/77/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/scottlpercy.wordpress.com/77/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/scottlpercy.wordpress.com/77/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=scottlpercy.wordpress.com&amp;blog=2199640&amp;post=77&amp;subd=scottlpercy&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://scottlpercy.wordpress.com/2011/09/13/sql-saturday-anyone-going/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/e98c72450557607c115eb11a17fc9bbb?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">kat</media:title>
		</media:content>
	</item>
		<item>
		<title>To &#8220;this.&#8221; or not to &#8220;this.&#8221; &#8211; that is the question</title>
		<link>http://scottlpercy.wordpress.com/2011/09/06/to-this-or-not-to-this-that-is-the-question/</link>
		<comments>http://scottlpercy.wordpress.com/2011/09/06/to-this-or-not-to-this-that-is-the-question/#comments</comments>
		<pubDate>Tue, 06 Sep 2011 09:52:59 +0000</pubDate>
		<dc:creator>Percy</dc:creator>
				<category><![CDATA[Programming]]></category>
		<category><![CDATA[Visual Studio]]></category>
		<category><![CDATA[Work]]></category>
		<category><![CDATA[Code Style]]></category>

		<guid isPermaLink="false">http://scottlpercy.wordpress.com/?p=62</guid>
		<description><![CDATA[In my profession there are a lot of ways to accomplish specific tasks. Some of the ways to do things are better in a quantifiable way than others. Then, there are certain things which, while they may be drastically different, have no impact on the end result (efficiency, maintainability, readability, etc.). There are also people [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=scottlpercy.wordpress.com&amp;blog=2199640&amp;post=62&amp;subd=scottlpercy&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>In my profession there are a lot of ways to accomplish specific tasks.  Some of the ways to do things are better in a quantifiable way than others.  Then, there are certain things which, while they may be drastically different, have no impact on the end result (efficiency, maintainability, readability, etc.).</p>
<p>There are also people in my profession that cling to the way they do things, to the point of ridiculing those who do it differently.  Now, while the ridicule part is inappropriate, I don&#8217;t have a problem with someone having a different opinion.  However, if you can&#8217;t prove that whatever idea/process/standard you&#8217;re advocating falls into the first category &#8211; quantifiable improvement &#8211; then what you are pressing is your opinion, and the one I have is just as good as yours.  Further, if I can prove that my opinion actually is an improvement in a quantifiable way, then, realistically, mine is better than yours.  At that point, it&#8217;s not an ego thing, it&#8217;s a provable fact.  You don&#8217;t have to come to my side of things, but you do have to concede that you&#8217;re way is deficient in some way.  The same thing goes the other way.  If you can prove your way is better than mine in a demonstrable way, then usually I&#8217;ll concede and adopt you&#8217;re ideas as my own.</p>
<p>Developers get very passionate about code style, and, truth be told, I&#8217;ve been known to belligerently uphold those opinions of mine.  I&#8217;d like to think I&#8217;ve mellowed in my maturity, but I have my moments.  One of those code style conventions is the use of &#8220;this&#8221; or &#8220;base&#8221; to access object properties or call methods of the current or parent object.  This actually goes along with using the object name in references to static properties or methods.  The prevailing and popular thought on this is to not use either one of these conventions.  I believe I can show that actually using these conventions can make your code more readable, if only slightly.  If there&#8217;s an argument against using these that trumps code readability in this manner, I&#8217;d certainly enjoy hearing about it.  I&#8217;ve actually convinced some people who held the popular opinion that it&#8217;s actually better to do things differently.</p>
<p>Just so we&#8217;re clear, the idea of increasing code readability is the practice of pushing as much information into the actual writing of code as possible so that ancillary information (usually in the form of comments) becomes unnecessary.  You try to write your code in such a way as the meaning of the code and the information you&#8217;re attempting to convey leaves as few questions as possible.  The idea is to be as precise as possible so that when people come behind you (and if you&#8217;re code has any chance of surviving past your own dev cycle, people will) they don&#8217;t have to infer or assume anything.  Now, where there&#8217;s a rule, there&#8217;s the use of it in moderation.  There&#8217;s a swing of the pendulum that goes too far when you have method or property names that start to crack four digits in length.  I don&#8217;t think what I&#8217;m proposing goes that far.</p>
<p>So, here&#8217;s my proof.  Let&#8217;s take a simple, yet extremely common, class called Customer, that has over 200 lines of code in it.  I think we can all agree that any main entity in an app will probably have more lines of code than this, but this will suffice for the sake of this discussion.  The point is that we deal with classes that are larger than our &#8220;viewport&#8221; more often then not.</p>
<p>Now, let&#8217;s say, you&#8217;re coming in after someone to fix a problem with their code, and you see this:</p>
<p><a href="http://scottlpercy.files.wordpress.com/2011/09/9-6-2011-2-00-29-pm.png"><img class="alignnone size-full wp-image-64" title="9-6-2011 2-00-29 PM" src="http://scottlpercy.files.wordpress.com/2011/09/9-6-2011-2-00-29-pm.png?w=460" alt=""   /></a></p>
<p>Now, the error you&#8217;re getting is that there is a null reference exception at line 166.  Let&#8217;s take a step further, and say that the &#8220;Code before&#8221; and &#8220;Code After&#8221; constitute enough code that you don&#8217;t even have the method prototype on the screen (I think the argument works without this, but let&#8217;s take it to the extreme).  Ok, what&#8217;s the scope of &#8220;Reference&#8221; in this context? Is it static or local?  Is it a property of Customer, or is it part of a completely different object called Reference?  Where is this property defined?  Is it in this method, the Customer class, some base class or in a completely separate class?  Should you be checking the constructor to see if it&#8217;s set (local scope) or some other entity&#8217;s process (static scope)?  Now, you can use all kind of IDE features to find out that information, but you have no idea just by looking at the code.  There are some questions that you can&#8217;t answer by simply reading the code &#8211; i.e, the readability of this code is diminished.</p>
<p>Now, what if you saw this, instead -</p>
<p><a href="http://scottlpercy.files.wordpress.com/2011/09/9-6-2011-2-05-35-pm.png"><img class="alignnone size-full wp-image-65" title="9-6-2011 2-05-35 PM" src="http://scottlpercy.files.wordpress.com/2011/09/9-6-2011-2-05-35-pm.png?w=460" alt=""   /></a></p>
<p>Then, I could answer those questions simply by reading the code.  Reference is a local variable for the object Customer.  It&#8217;s defined somewhere in the Customer class (given that with partial classes, that might be across multiple files).  The same holds true for using &#8220;base&#8221;, except that you know the property is defined in another class.  In this case, the readability of the code is increased over the previous example.</p>
<p>Or, what if you saw this -</p>
<p><a href="http://scottlpercy.files.wordpress.com/2011/09/9-6-2011-2-08-15-pm.png"><img class="alignnone size-full wp-image-66" title="9-6-2011 2-08-15 PM" src="http://scottlpercy.files.wordpress.com/2011/09/9-6-2011-2-08-15-pm.png?w=460" alt=""   /></a></p>
<p>Again, you could answer the questions.  Reference is a static property of the object Customer.  It&#8217;s defined somewhere in the Customer class.  And, again, the readability of the code is increased over the first example.</p>
<p>Yes, I know you can just hold control, and click on &#8220;Reference&#8221; to go to it&#8217;s definition, or right click and &#8220;Go To Definition&#8221;.  I&#8217;m not saying you can&#8217;t answer the questions I posed at all without using &#8220;this&#8221;, &#8220;base&#8221; or the object for static properties.  All I&#8217;m saying is that it&#8217;s easier to answer those questions if you do use them.  So, to me, that makes the code more readable.  In my opinion, better code readability is worth the extra few keystrokes you have to use to add this feature in the long run &#8211; especially in the Intellisense age of development.</p>
<p>I know that some people can be passionate about these kinds of things.  I like using this convention, and I think it makes my code better in a way that I can quantify.  So, I&#8217;m going to use this every chance I get until someone convinces me otherwise.  If you disagree, so be it.  I&#8217;m not going to hold that against you.  Even if I see your code not using it, I won&#8217;t change it unless I really need to.   The only time I might question you a bit farther on it is if you&#8217;re entire rationale is based on &#8220;because MS/ReSharper/Visual Studio/my boss/[insert other authority figure here] says so.&#8221;  Why do they say so?  I think that even if some authority on a subject makes a statement, they need to back it up with something or we need to find out the reason behind it &#8211; it may be a good one or not.  &#8220;Trust, but verify&#8221;.</p>
<p>So, what do you think?  Agree/disagree?  If you disagree, why?</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/scottlpercy.wordpress.com/62/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/scottlpercy.wordpress.com/62/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/scottlpercy.wordpress.com/62/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/scottlpercy.wordpress.com/62/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/scottlpercy.wordpress.com/62/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/scottlpercy.wordpress.com/62/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/scottlpercy.wordpress.com/62/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/scottlpercy.wordpress.com/62/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/scottlpercy.wordpress.com/62/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/scottlpercy.wordpress.com/62/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/scottlpercy.wordpress.com/62/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/scottlpercy.wordpress.com/62/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/scottlpercy.wordpress.com/62/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/scottlpercy.wordpress.com/62/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=scottlpercy.wordpress.com&amp;blog=2199640&amp;post=62&amp;subd=scottlpercy&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://scottlpercy.wordpress.com/2011/09/06/to-this-or-not-to-this-that-is-the-question/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/e98c72450557607c115eb11a17fc9bbb?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">kat</media:title>
		</media:content>

		<media:content url="http://scottlpercy.files.wordpress.com/2011/09/9-6-2011-2-00-29-pm.png" medium="image">
			<media:title type="html">9-6-2011 2-00-29 PM</media:title>
		</media:content>

		<media:content url="http://scottlpercy.files.wordpress.com/2011/09/9-6-2011-2-05-35-pm.png" medium="image">
			<media:title type="html">9-6-2011 2-05-35 PM</media:title>
		</media:content>

		<media:content url="http://scottlpercy.files.wordpress.com/2011/09/9-6-2011-2-08-15-pm.png" medium="image">
			<media:title type="html">9-6-2011 2-08-15 PM</media:title>
		</media:content>
	</item>
		<item>
		<title>Lovin&#8217; me some POSH&#8230;</title>
		<link>http://scottlpercy.wordpress.com/2011/09/01/lovin-me-some-posh/</link>
		<comments>http://scottlpercy.wordpress.com/2011/09/01/lovin-me-some-posh/#comments</comments>
		<pubDate>Fri, 02 Sep 2011 01:19:45 +0000</pubDate>
		<dc:creator>Percy</dc:creator>
				<category><![CDATA[Fun with Powershell]]></category>
		<category><![CDATA[Technology]]></category>
		<category><![CDATA[Development]]></category>
		<category><![CDATA[PowerShell]]></category>

		<guid isPermaLink="false">http://scottlpercy.wordpress.com/?p=56</guid>
		<description><![CDATA[POwerSHell, that is.  Apparently the PS acronym is overused, so the folks at MS decided that PowerShell should be called POSH. I started going through a PowerShell primer a few months ago, and while it&#8217;s a good start, you don&#8217;t really learn something until you start applying it.  At least, that&#8217;s usually how it works for [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=scottlpercy.wordpress.com&amp;blog=2199640&amp;post=56&amp;subd=scottlpercy&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>POwerSHell, that is.  Apparently the PS acronym is overused, so the folks at MS decided that PowerShell should be called POSH.</p>
<p>I started going through a <a title="Powershell tutorial" href="http://www.powershellpro.com/powershell-tutorial-introduction" target="_blank">PowerShell primer</a> a few months ago, and while it&#8217;s a good start, you don&#8217;t really learn something until you start applying it.  At least, that&#8217;s usually how it works for me.  At the time, I didn&#8217;t really understand it, and so I didn&#8217;t understand how to apply it.</p>
<p>Then, about a six weeks ago, I started working on a task for my current project.  Basically, we were trying to figure out an easy way to set up our enterprise application which is fairly complicated.  I started by setting up the web piece locally, but quickly realized that I didn&#8217;t have all the necessary dependencies that I needed.  I was in a spiral of writing a console app to go through a directory of assemblies, load up each assembly to find all of it&#8217;s references, and make sure they all were downloaded.  Thank you, cyclic dependency in the .NET framework (System references System.Configuration, which references System, etc.)</p>
<p>After a few google searches, I came across an <a title="How to find wrong assemblies via powershell" href="http://www.leporelo.eu/blog.aspx?id=how-to-find-wrong-assembly-dependencies-via-powershell" target="_blank">article describing a PowerShell script that could load up assemblies and query the references</a>.  The article was describing a different problem then I was trying to solve, but I decided to see if I could tweak it to help us out.  The more I started playing with it, the more I started to realize the potential.</p>
<p>Long story short, I&#8217;ve been using PowerShell almost exclusively over the last six weeks, and I&#8217;m loving it.  So far, I&#8217;ve written scripts (including but not limited to)</p>
<ul>
<li>&#8230;that will parse a directory of assemblies (.dlls and .exes) and, given a list of directories, will search and download any needed dependencies until all the dependencies are downloaded from the list of directories into the original directory (it&#8217;ll also search the GAC just to be sure) &#8211; it also validates that you are downloading a specific version</li>
<li>&#8230;that will download a core website, and the client customizations on top of it, download all the dependencies (see first script), create all the necessary virtual directories (configurable), create an app pool with custom authentication that can be passed in, links the website to the app pool, and updates your host file with the site name</li>
<li>&#8230;that will download all configuration files for both applications and websites and will drop them in the appropriate folder for our application</li>
<li>&#8230;that will look into all configuration files that are downloaded and make sure the data in them is accurate (database server, file locations, etc) for their purpose and environment</li>
<li>&#8230;that will change all configuration files for an entire environment of clients to be used in a local setting (changing any database reference to &#8220;localhost&#8221;, changing all file paths to a local version, etc.)</li>
<li>&#8230;that will query my google spreadsheets, download all the information, parse it, and return it to me in a format I can use for personal financial reporting</li>
<li>&#8230;that uses the <a title="Producteev" href="http://www.producteev.com" target="_blank">producteev </a>API, and will add tasks to a given dashboard based on whatever criteria I provide</li>
<li>&#8230;that will poll all of the websites on a machine and return all of the virtual directories in a common format</li>
<li>&#8230;that will parse the output from the virtual directory &#8220;audit&#8221; (above script) and will return data in a format that helps me determine what virtual directories are common and which ones are individual</li>
<li>&#8230;that, given a URL, will hit the URL at a frequent interval, and scrape the page to show updated information</li>
<li>&#8230;that, given a list of our clients (around 26), will get the latest successful build location from TFS, and download it to a common location for deployment, then checks all of the downloaded assemblies to make sure the version of the references are updated</li>
<li>&#8230;and a bunch of little scripts and commands here and there to help me gather information</li>
</ul>
<p>I&#8217;m completely digging PowerShell.  So far, I haven&#8217;t seen a reason to write another console app &#8211; though it&#8217;s much more flexible and powerful than most of the console apps I&#8217;ve written.  You have access to full .NET objects, so the possibilities are really limitless.  It&#8217;s not just for IT Administrators.  It&#8217;s really for Devs and <a title="Aaron Nelson's website" href="http://sqlvariant.com">DBAs</a> as well.  It&#8217;s not just a scripting language.  It&#8217;s definitely so much more.</p>
<p>Are you using PowerShell?  If so, how?  If not, why?  :)</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/scottlpercy.wordpress.com/56/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/scottlpercy.wordpress.com/56/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/scottlpercy.wordpress.com/56/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/scottlpercy.wordpress.com/56/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/scottlpercy.wordpress.com/56/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/scottlpercy.wordpress.com/56/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/scottlpercy.wordpress.com/56/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/scottlpercy.wordpress.com/56/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/scottlpercy.wordpress.com/56/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/scottlpercy.wordpress.com/56/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/scottlpercy.wordpress.com/56/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/scottlpercy.wordpress.com/56/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/scottlpercy.wordpress.com/56/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/scottlpercy.wordpress.com/56/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=scottlpercy.wordpress.com&amp;blog=2199640&amp;post=56&amp;subd=scottlpercy&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://scottlpercy.wordpress.com/2011/09/01/lovin-me-some-posh/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/e98c72450557607c115eb11a17fc9bbb?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">kat</media:title>
		</media:content>
	</item>
		<item>
		<title>MS Tech·Ed 2011 in Atlanta</title>
		<link>http://scottlpercy.wordpress.com/2011/03/18/ms-tech%c2%b7ed-2011-in-atlanta/</link>
		<comments>http://scottlpercy.wordpress.com/2011/03/18/ms-tech%c2%b7ed-2011-in-atlanta/#comments</comments>
		<pubDate>Fri, 18 Mar 2011 18:52:18 +0000</pubDate>
		<dc:creator>Percy</dc:creator>
				<category><![CDATA[Technology]]></category>

		<guid isPermaLink="false">http://scottlpercy.wordpress.com/?p=51</guid>
		<description><![CDATA[It&#8217;s in the ATL, and I just signed up!  Anyone else out there coming to it as well?<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=scottlpercy.wordpress.com&amp;blog=2199640&amp;post=51&amp;subd=scottlpercy&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>It&#8217;s in the ATL, and I just signed up!  Anyone else out there coming to it as well?</p>
<p><a href="http://northamerica.msteched.com"><img class="size-full wp-image-52 aligncenter" title="TENA2011_L_Attending" src="http://scottlpercy.files.wordpress.com/2011/03/tena2011_l_attending.gif?w=460" alt=""   /></a></p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/scottlpercy.wordpress.com/51/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/scottlpercy.wordpress.com/51/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/scottlpercy.wordpress.com/51/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/scottlpercy.wordpress.com/51/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/scottlpercy.wordpress.com/51/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/scottlpercy.wordpress.com/51/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/scottlpercy.wordpress.com/51/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/scottlpercy.wordpress.com/51/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/scottlpercy.wordpress.com/51/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/scottlpercy.wordpress.com/51/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/scottlpercy.wordpress.com/51/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/scottlpercy.wordpress.com/51/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/scottlpercy.wordpress.com/51/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/scottlpercy.wordpress.com/51/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=scottlpercy.wordpress.com&amp;blog=2199640&amp;post=51&amp;subd=scottlpercy&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://scottlpercy.wordpress.com/2011/03/18/ms-tech%c2%b7ed-2011-in-atlanta/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/e98c72450557607c115eb11a17fc9bbb?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">kat</media:title>
		</media:content>

		<media:content url="http://scottlpercy.files.wordpress.com/2011/03/tena2011_l_attending.gif" medium="image">
			<media:title type="html">TENA2011_L_Attending</media:title>
		</media:content>
	</item>
	</channel>
</rss>
