<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Vallery.net</title>
	<atom:link href="http://vallery.net/feed/" rel="self" type="application/rss+xml" />
	<link>http://vallery.net</link>
	<description>personal homepage of Jason Vallery</description>
	<lastBuildDate>Thu, 08 Apr 2010 22:45:26 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0</generator>
		<item>
		<title>Using PowerShell and the DirectorySearcher class</title>
		<link>http://vallery.net/2010/04/09/using-powershell-and-the-directorysearched-class/?utm_source=rss&amp;utm_medium=rss&amp;utm_campaign=using-powershell-and-the-directorysearched-class</link>
		<comments>http://vallery.net/2010/04/09/using-powershell-and-the-directorysearched-class/#comments</comments>
		<pubDate>Thu, 08 Apr 2010 22:34:41 +0000</pubDate>
		<dc:creator>jvallery</dc:creator>
				<category><![CDATA[SharePoint 2007]]></category>
		<category><![CDATA[active directory]]></category>
		<category><![CDATA[LDAP]]></category>
		<category><![CDATA[PowerShell]]></category>

		<guid isPermaLink="false">http://vallery.net/?p=206</guid>
		<description><![CDATA[I needed to locate the LDAP distinguished name of an individual user account in a remote domain via PowerShell.   Assuming your script is running on a box that is part of a domain that has a trust to the remote domain we can do this by running a query against Active Directory with LDAP. By [...]]]></description>
			<content:encoded><![CDATA[<p>I needed to locate the LDAP distinguished name of an individual user account in a remote domain via PowerShell.   Assuming your script is running on a box that is part of a domain that has a trust to the remote domain we can do this by running a query against Active Directory with LDAP.</p>
<p>By using the DirectorySearcher class we can build complex LDAP queries to find objects in Active Directory.   With this information you can do all kinds of fun scripting things.</p>
<p>Here is a sample script:</p>
<pre><span style="color: #000000;">

</span><span style="color: #008000;">#</span><span style="color: #008000;">Specify the search criteria</span><span style="color: #008000;">
</span><span style="color: #800080;">$samname</span><span style="color: #000000;"> </span><span style="color: #FF0000;">=</span><span style="color: #000000;"> </span><span style="color: #800000;">"</span><span style="color: #800000;">jasonv</span><span style="color: #800000;">"</span><span style="color: #000000;">
</span><span style="color: #800080;">$domain</span><span style="color: #000000;"> </span><span style="color: #FF0000;">=</span><span style="color: #000000;"> </span><span style="color: #800000;">"</span><span style="color: #800000;">dev.lcl</span><span style="color: #800000;">"</span><span style="color: #000000;">

</span><span style="color: #008000;">#</span><span style="color: #008000;">Get a list of domains in the forest and grab the DN of the one matching the above parameter.</span><span style="color: #008000;">
</span><span style="color: #800080;">$forest</span><span style="color: #000000;"> </span><span style="color: #FF0000;">=</span><span style="color: #000000;"> [</span><span style="color: #008080;">System.DirectoryServices.ActiveDirectory.Forest</span><span style="color: #000000;">]::</span><span style="color: #8B4513;">GetCurrentForest</span><span style="color: #000000;">()
</span><span style="color: #800080;">$domain</span><span style="color: #000000;"> </span><span style="color: #FF0000;">=</span><span style="color: #000000;"> </span><span style="color: #800080;">$forest</span><span style="color: #000000;">.Domains | ? {</span><span style="color: #800080;">$_</span><span style="color: #000000;">.Name </span><span style="color: #FF0000;">-eq</span><span style="color: #000000;"> </span><span style="color: #800080;">$domain</span><span style="color: #000000;">}
</span><span style="color: #800080;">$domainDN</span><span style="color: #000000;"> </span><span style="color: #FF0000;">=</span><span style="color: #000000;"> </span><span style="color: #800080;">$domain</span><span style="color: #000000;">.</span><span style="color: #8B4513;">GetDirectoryEntry</span><span style="color: #000000;">().distinguishedName
</span><span style="color: #5F9EA0; font-weight: bold;">Write-Output</span><span style="color: #000000;">  </span><span style="color: #800000;">"</span><span style="color: #800000;">Found the remote domain, the full LDAP distinguished name is $DomainDN</span><span style="color: #800000;">"</span><span style="color: #000000;">

</span><span style="color: #008000;">#</span><span style="color: #008000;">Create an LDAP searcher object and pass in the DN of the domain we wish to query</span><span style="color: #008000;">
</span><span style="color: #800080;">$Searcher</span><span style="color: #000000;"> </span><span style="color: #FF0000;">=</span><span style="color: #000000;"> </span><span style="color: #5F9EA0; font-weight: bold;">New-Object</span><span style="color: #000000;"> </span><span style="color: #800000;">System.DirectoryServices.DirectorySearcher</span><span style="color: #000000;">([</span><span style="color: #008080;">ADSI</span><span style="color: #000000;">]</span><span style="color: #800000;">"</span><span style="color: #800000;">LDAP://$domainDN</span><span style="color: #800000;">"</span><span style="color: #000000;">)

</span><span style="color: #008000;">#</span><span style="color: #008000;">Pass in the ceriteria we are searching for.</span><span style="color: #008000;">
#</span><span style="color: #008000;">In this case we're looking for users with a particular SAM name.</span><span style="color: #008000;">
</span><span style="color: #800080;">$Searcher</span><span style="color: #000000;">.</span><span style="color: #8B4513;">filter</span><span style="color: #000000;"> </span><span style="color: #FF0000;">=</span><span style="color: #000000;"> </span><span style="color: #800000;">"</span><span style="color: #800000;">(&amp;(objectCategory=person)(objectClass=user)(sAMAccountName= $samname))</span><span style="color: #800000;">"</span><span style="color: #000000;">
</span><span style="color: #800080;">$results</span><span style="color: #000000;"> </span><span style="color: #FF0000;">=</span><span style="color: #000000;"> </span><span style="color: #800080;">$Searcher</span><span style="color: #000000;">.</span><span style="color: #8B4513;">Findall</span><span style="color: #000000;">()

</span><span style="color: #008000;">#</span><span style="color: #008000;">Loop through the results</span><span style="color: #008000;">
</span><span style="color: #0000FF;">Foreach</span><span style="color: #000000;">(</span><span style="color: #800080;">$result</span><span style="color: #000000;"> </span><span style="color: #0000FF;">in</span><span style="color: #000000;"> </span><span style="color: #800080;">$results</span><span style="color: #000000;">){
    </span><span style="color: #800080;">$User</span><span style="color: #000000;"> </span><span style="color: #FF0000;">=</span><span style="color: #000000;"> </span><span style="color: #800080;">$result</span><span style="color: #000000;">.</span><span style="color: #8B4513;">GetDirectoryEntry</span><span style="color: #000000;">()
    </span><span style="color: #800080;">$userDN</span><span style="color: #000000;"> </span><span style="color: #FF0000;">=</span><span style="color: #000000;">  </span><span style="color: #800080;">$user</span><span style="color: #000000;">.</span><span style="color: #8B4513;">DistinguishedName</span><span style="color: #000000;">
    </span><span style="color: #5F9EA0; font-weight: bold;">Write-Output</span><span style="color: #000000;"> </span><span style="color: #800000;">"</span><span style="color: #800000;">Found a user matching with the distingused name of $userDN</span><span style="color: #800000;">"</span><span style="color: #000000;">
}

</span></pre>
]]></content:encoded>
			<wfw:commentRss>http://vallery.net/2010/04/09/using-powershell-and-the-directorysearched-class/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Why I don&#8217;t recycle paper</title>
		<link>http://vallery.net/2010/04/08/why-i-dont-recycle-paper/?utm_source=rss&amp;utm_medium=rss&amp;utm_campaign=why-i-dont-recycle-paper</link>
		<comments>http://vallery.net/2010/04/08/why-i-dont-recycle-paper/#comments</comments>
		<pubDate>Wed, 07 Apr 2010 23:14:18 +0000</pubDate>
		<dc:creator>jvallery</dc:creator>
				<category><![CDATA[Random Thoughts]]></category>
		<category><![CDATA[economics]]></category>
		<category><![CDATA[environment]]></category>
		<category><![CDATA[recycle]]></category>

		<guid isPermaLink="false">http://vallery.net/2010/04/08/why-i-dont-recycle-paper/</guid>
		<description><![CDATA[I had a run in with a co-worker today who was upset that I hadn’t placed a couple sheets of paper in the recycling bin instead opting for the trash. I do this on purpose and I thought it would make an interesting blog post to explain why. The primary goal of recycling is to [...]]]></description>
			<content:encoded><![CDATA[<p>I had a run in with a co-worker today who was upset that I hadn’t placed a couple sheets of paper in the recycling bin instead opting for the trash.  I do this on purpose and I thought it would make an interesting blog post to explain why.<a href="http://vallery.net/wp-content/uploads/2010/04/image.png"><img style="display: inline; margin-left: 0px; margin-right: 0px; border: 0px;" title="image" src="http://vallery.net/wp-content/uploads/2010/04/image_thumb.png" border="0" alt="image" width="210" height="210" align="right" /></a></p>
<p>The primary goal of recycling is to minimize the impact of our consumption on the environment.  The basic argument however as to why we recycle usually goes along the lines that as humans we should recycle our consumables so that they can be used again without depending on a natural resource to replenish them.  The thing that the vast majority of folks fail to realize is that in many circumstances that statement is either incorrect or actually in opposition of the goal behind recycling.</p>
<p>To dig a bit further we need to look at recycling on a case by case basis for the material in question.  Typically recyclable materials are broken down into the following types:</p>
<p><strong>Paper </strong>–</p>
<p>The source of paper is wood which obviously comes from trees.  Those trees are typically purpose grown to provide paper.  There are large swaths of forest that were planted specifically by the various providers of wood in order to meet the demand we have on it.  In this very real sense wood is not a natural resource it is actually a crop.  There are more trees today in the United States than when the original settlers landed on this continent centuries ago.  Why? Because we need them.  It’s basic supply and demand economics in that as this country&#8217;s appetite for wood increased more trees were planted.</p>
<p>The cost, both monetarily and ecologically, associated with producing a recycled sheet of paper exceeds the cost of producing one from new wood.  This is because for recycled paper you have additional steps in the production process.  You must collect the recyclables, sort them, haul them to a processing facility, separate the paper from other debris and items, grind the paper into pulp, bleach it (using harmful chemicals), and then produce a sheet of paper.  All of these extra steps use energy which today is delivered in the form of fossil fuels.  The diesel that the truck to haul the recyclables burned, the coal to run the power plant which provided the electricity to process the paper, etc.  With new paper there is of course still energy expended but several studies indicate that the amount used for a recycled piece of paper exceeds the amount needed for a new sheet of paper.</p>
<p>The other benefit you have of using new paper is that you’re planting trees.  By consuming more paper you’re asking the paper manufactures to plant more trees on your behalf.  During the 25-30 years that the tree spends maturing to be ready for harvest it is busy eating carbon dioxide and producing oxygen.  If you subscribe to the greenhouse gas and global warming theories you’re now demonstrably reducing the carbon dioxide levels in the atmosphere by not recycling paper.</p>
<p>This is why I think, and a lot of other folks do as well, that you’re actually hurting the environment more be recycling paper. Throw it in the trash and we will grow more trees.</p>
<p><a href="http://www.google.com/search?q=why+I+don%27t+recycle+paper">If you think I&#8217;m alone look for yourself</a></p>
<p><strong> </strong></p>
<p><strong>Plastic (biodegradable) –</strong></p>
<p>These plastics were designed specifically to decompose quickly in sunlight and the soil.  They can sometimes even be used in compost.  Again, it makes much more sense to throw these in the trash than to recycle them if you’re not a composter.  The trip to the landfill uses much less energy than the equivalent required to process this in a recycling facility.</p>
<p><strong>Plastic (Non-biodegradable) –</strong></p>
<p>Recycle these!!!!! Non-biodegradable plastic is the single item that the average consumer throws away which has the largest negative environmental impact.  It can sit around in landfills for centuries.  If it can be recycled into something useful (which in this case is often a reuse) that is the best possible outcome.</p>
<p><strong>Glass –</strong></p>
<p>I’m on the fence about glass.  The information is inconclusive.  Glass is obviously derived from a natural resource (silicon) that has a finite supply.  If you’ve ever been to a beach though you’ll recognize that even though it is finite it is also nearly inexhaustible.  I don’t have a strong opinion one way or the other and will reserve judgment until more concrete studies are done that look at the cost/benefit of recycling glass.</p>
<p><strong>Aluminum –</strong></p>
<p>You should certainly recycle aluminum as the source is primarily bauxite. Since bauxite is a mined natural resource we can significantly limit our dependency by recycling.  This same reason is why you can actually sell your aluminum soda cans back for cash.  It’s much more efficient to recycle than to mine new bauxite and produce aluminum.</p>
<p><strong>Other metals –</strong></p>
<p>It really depends on the metal but like aluminum the source was most certainly a mined mineral. I recommend recycling these items (soup cans, etc).</p>
]]></content:encoded>
			<wfw:commentRss>http://vallery.net/2010/04/08/why-i-dont-recycle-paper/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>My impression of the iPad after 72 hours</title>
		<link>http://vallery.net/2010/04/06/my-impression-of-the-ipad-after-72-hours/?utm_source=rss&amp;utm_medium=rss&amp;utm_campaign=my-impression-of-the-ipad-after-72-hours</link>
		<comments>http://vallery.net/2010/04/06/my-impression-of-the-ipad-after-72-hours/#comments</comments>
		<pubDate>Tue, 06 Apr 2010 17:26:19 +0000</pubDate>
		<dc:creator>jvallery</dc:creator>
				<category><![CDATA[Reviews]]></category>
		<category><![CDATA[ipad]]></category>
		<category><![CDATA[kindle]]></category>
		<category><![CDATA[review]]></category>
		<category><![CDATA[tweetie]]></category>
		<category><![CDATA[twitterific]]></category>

		<guid isPermaLink="false">http://vallery.net/2010/04/06/my-impression-of-the-ipad-after-72-hours/</guid>
		<description><![CDATA[In follow-up to my earlier post I wanted to share my thoughts now that I’ve actually used my iPad during my day to day routine. I’m still very pleased with the hardware.&#160;&#160; The size is just about perfect for taking to a meeting or sitting on the couch.&#160; I haven’t yet traveled with it but [...]]]></description>
			<content:encoded><![CDATA[<p>In follow-up to my <a href="http://vallery.net/2010/04/05/my-first-impression-of-the-ipad/">earlier post</a> I wanted to share my thoughts now that I’ve actually used my iPad during my day to day routine.</p>
<p>I’m still very pleased with the hardware.&#160;&#160; The size is just about perfect for taking to a meeting or sitting on the couch.&#160; I haven’t yet traveled with it but will have that opportunity next week.&#160;&#160; I expect it to be great for use on the plane.</p>
<p>When using the <a href="http://store.apple.com/us/product/MC361ZM/A">Apple case</a> I find that sitting the slightly raised iPad down on the table to be at the perfect angle for typing.</p>
<p>The battery life is great.&#160;&#160; While I had my initial concerns about the inability to charge the iPad with anything but the included wall charger, that hasn’t proved to be as big of an issue as I expected.&#160;&#160; In reality I haven’t dropped below 60% battery usage after 2 days of fairly heavy&#160; usage.&#160; I just plug it in the wall charger at night before I go to bed.&#160;&#160; I still think they will need to address the issue but it’s not bothering me.</p>
<p>The browser is absolutely fantastic.&#160;&#160;&#160; Aside from the obvious and unfortunate omission of flash support it is actually a really capable device for basic web surfing.&#160;&#160; Initially I was concerned that there is no native Facebook application that leverages the capabilities of the iPad.&#160;&#160;&#160;&#160; I’ve actually found using the full web version of Facebook to be great thanks to the screen real estate and the capabilities of Safari.&#160;&#160; I would argue that thanks to the touch interface surfing the web might actually be better on the iPad compared to a traditional PC.</p>
<p>I really can see the potential to lower my dependency on my laptop for basic tasks.&#160;&#160; In example, I’ve found it to be particularly useful for basic emailing and calendar activities.&#160;&#160; Contrary to my iPhone it is actually pretty easy to type on, copy/paste, etc.&#160;&#160; I don’t mind writing an email on my iPhone in a pinch but it’s not something I would do regularly.&#160;&#160; With the iPad it’s actually a much more pleasurable experience.</p>
<p>I’ve also been enjoying a few additional applications:</p>
<p>&#160;</p>
<p><a href="http://itunes.apple.com/us/app/kindle/id302584613?mt=8"><img style="border-bottom: 0px; border-left: 0px; display: inline; margin-left: 0px; border-top: 0px; margin-right: 0px; border-right: 0px" title="kindle" border="0" alt="kindle" align="left" src="http://vallery.net/wp-content/uploads/2010/04/kindle3.png" width="100" height="99" /></a></p>
<p><a href="http://itunes.apple.com/us/app/kindle/id302584613?mt=8">Kindle for iPad</a> &#8211; To correct my earlier post, it turns out there is a <a href="http://itunes.apple.com/us/app/kindle/id302584613?mt=8">Kindle app for the iPad</a>.&#160;&#160; I’m happy to see this since I have a decent investment in ebooks from Amazon.&#160; The UI is fine, but not as polished as Apple’s iBook.    <br />    <br clear="all" />    <br /><a href="http://itunes.apple.com/us/app/evernote/id281796108?mt=8"><img style="border-bottom: 0px; border-left: 0px; display: inline; margin-left: 0px; border-top: 0px; margin-right: 0px; border-right: 0px" title="evernote" border="0" alt="evernote" align="left" src="http://vallery.net/wp-content/uploads/2010/04/evernote2.png" width="100" height="101" /></a></p>
<p><a href="http://blog.evernote.com/2010/04/03/evernote-for-ipad-is-here/">Evernote for iPad</a>&#160; -&#160; I’m already a big user of Evernote so the iPad version was very welcome.&#160;&#160; I used this in meetings yesterday and today to take notes.&#160;&#160; It’s great to sit the iPad down on a conference table to keep track of what is being discussed.&#160;&#160; I think this use case has the potential to be the single greatest “killer app” to bring the iPad to the enterprise.    <br />    <br clear="all" /></p>
<p><a href="http://itunes.apple.com/us/app/twitterrific-for-ipad/id359914600?mt=8"><img style="border-bottom: 0px; border-left: 0px; display: inline; margin-left: 0px; border-top: 0px; margin-right: 0px; border-right: 0px" title="twitterific" border="0" alt="twitterific" align="left" src="http://vallery.net/wp-content/uploads/2010/04/twitterific2.png" width="100" height="101" /></a></p>
<p><a href="http://itunes.apple.com/us/app/twitterrific-for-ipad/id359914600?mt=8">Twitterific for iPad</a> -&#160;&#160; I had been using <a href="http://itunes.apple.com/us/app/tweetie-2/id333903271?mt=8">Tweetie 2</a> on my iPhone as of late for interaction with twitter.&#160;&#160; Based on the great reviews of Twitterific for iPad I gave it a shot.&#160;&#160;&#160; This is a much better UI for interacting with twitter, thanks to the additional screen real estate.&#160; I’m hopeful that the folks behind Tweetie will come out with an iPad version because there are some features missing in Twitterific.&#160;&#160; I particularly enjoy the location aware components of Tweetie including searching for “tweets near me” and the inclusion of google maps links when a tweet includes lat/lon information.    <br />    <br clear="all" /></p>
]]></content:encoded>
			<wfw:commentRss>http://vallery.net/2010/04/06/my-impression-of-the-ipad-after-72-hours/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>My first impression of the iPad</title>
		<link>http://vallery.net/2010/04/05/my-first-impression-of-the-ipad/?utm_source=rss&amp;utm_medium=rss&amp;utm_campaign=my-first-impression-of-the-ipad</link>
		<comments>http://vallery.net/2010/04/05/my-first-impression-of-the-ipad/#comments</comments>
		<pubDate>Sun, 04 Apr 2010 21:05:40 +0000</pubDate>
		<dc:creator>jvallery</dc:creator>
				<category><![CDATA[Reviews]]></category>
		<category><![CDATA[apple]]></category>
		<category><![CDATA[ipad]]></category>
		<category><![CDATA[kindle]]></category>

		<guid isPermaLink="false">http://vallery.net/2010/04/05/my-first-impression-of-the-ipad/</guid>
		<description><![CDATA[I’ve had the iPad now for 24 hours so I thought I’d write up my first impression.   I’m no longer the Apple fan boy that I once was.   I’m a bit more cynical about Apple these days so when I purchased my iPad I did it with eyes wide open.  I opted for the cheapest [...]]]></description>
			<content:encoded><![CDATA[<p>I’ve had the iPad now for 24 hours so I thought I’d write up my first impression.   I’m no longer the Apple fan boy that I once was.   I’m a bit more cynical about Apple these days so when I purchased my iPad I did it with eyes wide open.  I opted for the cheapest model available which is the 16GB version without 3G.</p>
<p>Out of the box the iPad feels very nice to hold.   It’s got a pleasant heft to it and feels very solid.  The weight feels very evenly distributed so it is easy to hold no matter what orientation.  Upon opening the box you’ll find the iPad, a standard iPod cable, and a wall charger.   There are no headphones included which was a bit of a disappointment for me.</p>
<p>The iPad came fully charged which was a nice touch, however in order to begin using it you must connect it to iTunes.   While Apple offered to do this in the store for me I declined and activated it when I got home.   This step seems a bit strange to me since there is no mobile phone service to activate.   I understand the rationale for the iPhone but I don’t see the need for the iPad.</p>
<p>After plugging the iPad into my computer for it to activate with iTunes the first thing that caught my attention is that in the upper right hand corner of the screen where the battery indicator is at said “Not charging”.   It turns out that there is an issue with the charging capability of the iPad currently and it can only be charged with a Mac computer or the included wall charger.   My Dell desktop apparently was insufficient to give this thing juice.   Curious, I took my iPad out to the car and plugged it in to see how it would behave in the car.   Sure enough, no charge love there either.    I expect this to be fairly inconvenient if not fixed soon.   I charge my phone almost exclusively at my desk and in the car.   I can get a sync and a charge at the same time this way.</p>
<p>I brought the iPad back inside and hooked it up to my PC again to let it sync with iTunes.  You have all the same sync capabilities as the iPhone so I won’t cover that in detail.   Given that I only purchased the 16GB version it filled up very fast.    The sync copied over most of my iPhone apps so my first experience  with 3rd party apps were the upscaled iPhone ones.</p>
<p>After the sync I opened up Facebook for iPhone to see how it worked.  It’s great that the iPad can use iPhone apps but in reality I can’t say that I would really want to.   For example take a look at this screenshot of Facebook scaled up to the “2x” mode.  As you can see the text becomes very grainy and it just looks plain awful.</p>
<p><a href="http://vallery.net/wp-content/uploads/2010/04/IMG_0002.png"><img style="display: inline; border: 0px;" title="IMG_0002" src="http://vallery.net/wp-content/uploads/2010/04/IMG_0002_thumb.png" border="0" alt="IMG_0002" width="700" height="525" /></a></p>
<p>In comparison I downloaded the latest version of <a href="http://netnewswireapp.com/">NetNewsWire</a> from <a href="http://www.newsgator.com/">NewsGator</a> which is an iPad native application and it looks simply stunning (notice the “Not Charging” in the upper right).</p>
<p><a href="http://vallery.net/wp-content/uploads/2010/04/IMG_0004.png"><img style="display: inline; border: 0px;" title="IMG_0004" src="http://vallery.net/wp-content/uploads/2010/04/IMG_0004_thumb.png" border="0" alt="IMG_0004" width="700" height="526" /></a></p>
<p>There are a number of great apps similar to NetNewsWire that were available at lunch.   The much anticipated Netflix is probably my favorite.   I was able to stream a movie live from Netflix without any hiccups over my wifi.   It was a very enjoyable experience to watch a movie this way and I’m looking forward to using that extensively on my many work trips in the hotel.</p>
<p>I was a bit surprised that Apple has cut out some of the applications that ship with the iPad compared to the iPhone.   The stocks, weather, calculator, and voice memo applications are all suspiciously missing.</p>
<p>Purchasing content with the app store is just as easy on the iPhone.   The cost of applications seems to have gone up dramatically.   Many apps are looking at $9.99 price tags which seems a bit high to me.   I’m sure the market will adjust as both more applications and iPads are on the market.</p>
<p>Reading books via iBook is very pleasant.   I’m particularly impressed with the page turn effect.   I know it’s just eye candy but I still love it.  I previously owned a kindle so I’m hopeful that Amazon will release a kindle application (and that Apple doesn’t block it) similar to the one they have for iPhone.    I have a several titles I’ve already purchased in the Amazon store and I’d hate to not be able to access those on the iPad.</p>
<p>The last comment I’ll make is that 16GB is surprisingly little.  When I opted for the small version I didn’t really expect to load it down with media.   I expected that most of the time I would be using Pandora/Netflix for movies and music so storage wouldn’t be an issue.   It turns out many of the iPad applications are surprisingly large.   For example the “Real Racing HD” game comes in at a whopping 171 MB.</p>
]]></content:encoded>
			<wfw:commentRss>http://vallery.net/2010/04/05/my-first-impression-of-the-ipad/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Using powershell to set SSP profile properties</title>
		<link>http://vallery.net/2010/04/01/using-powershell-to-set-ssp-profile-properties/?utm_source=rss&amp;utm_medium=rss&amp;utm_campaign=using-powershell-to-set-ssp-profile-properties</link>
		<comments>http://vallery.net/2010/04/01/using-powershell-to-set-ssp-profile-properties/#comments</comments>
		<pubDate>Thu, 01 Apr 2010 13:57:39 +0000</pubDate>
		<dc:creator>jvallery</dc:creator>
				<category><![CDATA[SharePoint 2007]]></category>
		<category><![CDATA[PowerShell]]></category>
		<category><![CDATA[SharePoint]]></category>
		<category><![CDATA[SSP]]></category>

		<guid isPermaLink="false">http://vallery.net/?p=180</guid>
		<description><![CDATA[I recently put together a powershell script that can be used to update a profile property of all of the users stored in the SharePoint SSP.  At NewsGator we use a boolean property field to indicate if a particular part of our product has been activated or not.  There are some cases where this boolean [...]]]></description>
			<content:encoded><![CDATA[<p>I recently put together a powershell script that can be used to update a profile property of all of the users stored in the SharePoint SSP.  At NewsGator we use a boolean property field to indicate if a particular part of our product has been activated or not.  There are some cases where this boolean flag needs to be reset for all users.   To do this I put together a simple powershell script to reset this value for all users.</p>
<p>This could easily be adapted for other users so I thought I would post share it.</p>
<pre>
<span style="color: #008000;">#</span><span style="color: #008000;">##########################</span><span style="color: #008000;">
#</span><span style="color: #008000;"> "Configure Settings"</span><span style="color: #008000;">
</span><span style="color: #800080;">$SSPName</span><span style="color: #000000;"> </span><span style="color: #ff0000;">=</span><span style="color: #000000;"> </span><span style="color: #800000;">"</span><span style="color: #800000;">SSPAdmin</span><span style="color: #800000;">"</span><span style="color: #000000;">
</span><span style="color: #800080;">$MySiteUrl</span><span style="color: #000000;"> </span><span style="color: #ff0000;">=</span><span style="color: #000000;"> </span><span style="color: #800000;">"</span><span style="color: #800000;">http://mysite/</span><span style="color: #800000;">"</span><span style="color: #000000;">
</span><span style="color: #800080;">$propName</span><span style="color: #000000;"> </span><span style="color: #ff0000;">=</span><span style="color: #000000;"> </span><span style="color: #800000;">"</span><span style="color: #800000;">newsgator-x-onboarded</span><span style="color: #800000;">"</span><span style="color: #000000;">
</span><span style="color: #800080;">$propValue</span><span style="color: #000000;"> </span><span style="color: #ff0000;">=</span><span style="color: #000000;"> </span><span style="color: #800000;">"</span><span style="color: #800000;">true</span><span style="color: #800000;">"</span><span style="color: #000000;">
</span><span style="color: #008000;">#</span><span style="color: #008000;">##########################</span><span style="color: #008000;">
</span><span style="color: #000000;">
</span><span style="color: #008000;">#</span><span style="color: #008000;">Load the SharePoint assemblies</span><span style="color: #008000;">
</span><span style="color: #000000;">[</span><span style="color: #008080;">System.Reflection.Assembly</span><span style="color: #000000;">]::</span><span style="color: #8b4513;">LoadWithPartialName</span><span style="color: #000000;">(</span><span style="color: #800000;">"</span><span style="color: #800000;">Microsoft.Office.Server</span><span style="color: #800000;">"</span><span style="color: #000000;">)
[</span><span style="color: #008080;">System.Reflection.Assembly</span><span style="color: #000000;">]::</span><span style="color: #8b4513;">LoadWithPartialName</span><span style="color: #000000;">(</span><span style="color: #800000;">"</span><span style="color: #800000;">Microsoft.Office.Server.UserProfiles</span><span style="color: #800000;">"</span><span style="color: #000000;">)

</span><span style="color: #800080;">$ServerContext</span><span style="color: #000000;"> </span><span style="color: #ff0000;">=</span><span style="color: #000000;"> [Microsoft.Office.Server.ServerContext]::GetContext(</span><span style="color: #800080;">$SSPName</span><span style="color: #000000;">);
</span><span style="color: #800080;">$UPManager</span><span style="color: #000000;"> </span><span style="color: #ff0000;">=</span><span style="color: #000000;"> </span><span style="color: #5f9ea0; font-weight: bold;">new-object</span><span style="color: #000000;"> </span><span style="color: #800000;">Microsoft.Office.Server.UserProfiles.UserProfileManager</span><span style="color: #000000;">(</span><span style="color: #800080;">$ServerContext</span><span style="color: #000000;">);
</span><span style="color: #800080;">$enumProfiles</span><span style="color: #000000;"> </span><span style="color: #ff0000;">=</span><span style="color: #000000;"> </span><span style="color: #800080;">$UPManager</span><span style="color: #000000;">.GetEnumerator();
</span><span style="color: #800000;">"</span><span style="color: #800000;">Total User Profiles available:</span><span style="color: #800000;">"</span><span style="color: #000000;"> </span><span style="color: #ff0000;">+</span><span style="color: #000000;"> </span><span style="color: #800080;">$UPManager</span><span style="color: #000000;">.Count
</span><span style="color: #800080;">$count</span><span style="color: #ff0000;">=</span><span style="color: #000000;">0</span><span style="color: #000000;">;

</span><span style="color: #008000;">#</span><span style="color: #008000;">Loop through the SSP entries and update the property</span><span style="color: #008000;">
</span><span style="color: #0000ff;">foreach</span><span style="color: #000000;"> (</span><span style="color: #800080;">$oUser</span><span style="color: #000000;"> </span><span style="color: #0000ff;">in</span><span style="color: #000000;"> </span><span style="color: #800080;">$enumProfiles</span><span style="color: #000000;">)
{
    </span><span style="color: #800080;">$count</span><span style="color: #000000;"> </span><span style="color: #ff0000;">=</span><span style="color: #000000;"> </span><span style="color: #800080;">$count</span><span style="color: #000000;"> </span><span style="color: #ff0000;">+</span><span style="color: #000000;"> </span><span style="color: #000000;">1</span><span style="color: #000000;">;
    </span><span style="color: #800080;">$u</span><span style="color: #000000;"> </span><span style="color: #ff0000;">=</span><span style="color: #000000;"> </span><span style="color: #800080;">$oUser</span><span style="color: #000000;">.Item(</span><span style="color: #800000;">"</span><span style="color: #800000;">Accountname</span><span style="color: #800000;">"</span><span style="color: #000000;">);
    </span><span style="color: #5f9ea0; font-weight: bold;">Write-Output</span><span style="color: #000000;"> </span><span style="color: #800000;">"</span><span style="color: #800000;">($count):  Setting '$propName' to '$propValue' for $u</span><span style="color: #800000;">"</span><span style="color: #000000;">;
    </span><span style="color: #800080;">$oUser</span><span style="color: #000000;">[</span><span style="color: #800080;">$propName</span><span style="color: #000000;">].Value </span><span style="color: #ff0000;">=</span><span style="color: #000000;"> </span><span style="color: #800080;">$propValue</span><span style="color: #000000;">;
    </span><span style="color: #800080;">$oUser</span><span style="color: #000000;">.Commit();
} 

</span>
</pre>
]]></content:encoded>
			<wfw:commentRss>http://vallery.net/2010/04/01/using-powershell-to-set-ssp-profile-properties/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Activating features in bulk on the MySite with PowerShell</title>
		<link>http://vallery.net/2010/04/01/activating-features-in-bulk-on-the-mysite-with-powershell/?utm_source=rss&amp;utm_medium=rss&amp;utm_campaign=activating-features-in-bulk-on-the-mysite-with-powershell</link>
		<comments>http://vallery.net/2010/04/01/activating-features-in-bulk-on-the-mysite-with-powershell/#comments</comments>
		<pubDate>Thu, 01 Apr 2010 01:42:46 +0000</pubDate>
		<dc:creator>jvallery</dc:creator>
				<category><![CDATA[SharePoint 2007]]></category>
		<category><![CDATA[Feature Activation]]></category>
		<category><![CDATA[MOSS]]></category>
		<category><![CDATA[PowerShell]]></category>
		<category><![CDATA[SharePoint]]></category>

		<guid isPermaLink="false">http://vallery.net/?p=178</guid>
		<description><![CDATA[I recently came across a client who needed to activate a couple of features on their MySites in batches.   Given that they have a significant number of MySites already created we needed to find a way to stage the deployment of the new functionality that the features offer.   I put together a PowerShell script that [...]]]></description>
			<content:encoded><![CDATA[<p>I recently came across a client who needed to activate a couple of features on their MySites in batches.   Given that they have a significant number of MySites already created we needed to find a way to stage the deployment of the new functionality that the features offer.   I put together a PowerShell script that iterates through the SSP looking for users who:</p>
<ul>
<li>Have a MySite</li>
<li>Either one of both of the required features are not currently active</li>
</ul>
<p>For each of the users that match the above criteria both of the features are activated.  A counter is incremented and once we reach the desired number of users for the batch the script exits.   When we are ready to process another batch the script effectively picks up where it left off since we&#8217;re skipping the users who are already activated.   </p>
<p>You could then have the execution of this script automatically executed on a regular basis during low utilization hours.  Eventually everyone will have the features activated and the new functionality deployed.   You could continue to let the script execute to catch any new users (if you decide not to staple the features like we are).</p>
<p>For others looking to do something similar I’m posting the original script in its entirety.</p>
<pre>
<span style="color: #000000;">
</span><span style="color: #008000;">#</span><span style="color: #008000;">##########################</span><span style="color: #008000;">
#</span><span style="color: #008000;"> "Configure Settings"</span><span style="color: #008000;">
</span><span style="color: #800080;">$SSPName</span><span style="color: #000000;"> </span><span style="color: #FF0000;">=</span><span style="color: #000000;"> </span><span style="color: #800000;">"</span><span style="color: #800000;">SSPAdmin</span><span style="color: #800000;">"</span><span style="color: #000000;">
</span><span style="color: #800080;">$mysiteurl</span><span style="color: #000000;"> </span><span style="color: #FF0000;">=</span><span style="color: #000000;"> </span><span style="color: #800000;">"</span><span style="color: #800000;">http://mysite</span><span style="color: #800000;">"</span><span style="color: #000000;">
</span><span style="color: #800080;">$ngsite_feature_id</span><span style="color: #000000;"> </span><span style="color: #FF0000;">=</span><span style="color: #000000;"> </span><span style="color: #800000;">"</span><span style="color: #800000;">6a91335c-5ecc-4afc-aa68-14d73afbb1bc</span><span style="color: #800000;">"</span><span style="color: #000000;">
</span><span style="color: #800080;">$webpart_feature_id</span><span style="color: #000000;"> </span><span style="color: #FF0000;">=</span><span style="color: #000000;"> </span><span style="color: #800000;">"</span><span style="color: #800000;">5174F049-99D9-4d68-96E0-93AB2AE1C7BC</span><span style="color: #800000;">"</span><span style="color: #000000;">
</span><span style="color: #800080;">$userCount</span><span style="color: #000000;"> </span><span style="color: #FF0000;">=</span><span style="color: #000000;"> </span><span style="color: #000000;">500</span><span style="color: #000000;">
</span><span style="color: #800080;">$stsadm</span><span style="color: #000000;"> </span><span style="color: #FF0000;">=</span><span style="color: #000000;"> </span><span style="color: #800000;">"</span><span style="color: #800000;">$env:programfiles\Common Files\Microsoft Shared\Web Server Extensions\12\BIN\STSADM.EXE</span><span style="color: #800000;">"</span><span style="color: #000000;">
</span><span style="color: #008000;">#</span><span style="color: #008000;">##########################</span><span style="color: #008000;">
</span><span style="color: #000000;">
</span><span style="color: #008000;">#</span><span style="color: #008000;">Load the SharePoint Assemblies</span><span style="color: #008000;">
</span><span style="color: #000000;">[</span><span style="color: #008080;">System.Reflection.Assembly</span><span style="color: #000000;">]::</span><span style="color: #8B4513;">LoadWithPartialName</span><span style="color: #000000;">(</span><span style="color: #800000;">"</span><span style="color: #800000;">Microsoft.Office.Server</span><span style="color: #800000;">"</span><span style="color: #000000;">)
[</span><span style="color: #008080;">System.Reflection.Assembly</span><span style="color: #000000;">]::</span><span style="color: #8B4513;">LoadWithPartialName</span><span style="color: #000000;">(</span><span style="color: #800000;">"</span><span style="color: #800000;">Microsoft.Office.Server.UserProfiles</span><span style="color: #800000;">"</span><span style="color: #000000;">)

</span><span style="color: #008000;">#</span><span style="color: #008000;">Create the SSP objects</span><span style="color: #008000;">
</span><span style="color: #800080;">$ServerContext</span><span style="color: #000000;"> </span><span style="color: #FF0000;">=</span><span style="color: #000000;"> [Microsoft.Office.Server.ServerContext]::GetContext(</span><span style="color: #800080;">$SSPName</span><span style="color: #000000;">);
</span><span style="color: #800080;">$UPManager</span><span style="color: #000000;"> </span><span style="color: #FF0000;">=</span><span style="color: #000000;"> new-object Microsoft.Office.Server.UserProfiles.UserProfileManager(</span><span style="color: #800080;">$ServerContext</span><span style="color: #000000;">);

</span><span style="color: #800080;">$enumProfiles</span><span style="color: #000000;"> </span><span style="color: #FF0000;">=</span><span style="color: #000000;"> </span><span style="color: #800080;">$UPManager</span><span style="color: #000000;">.GetEnumerator();
</span><span style="color: #800000;">"</span><span style="color: #800000;">Total User Profiles available:</span><span style="color: #800000;">"</span><span style="color: #000000;"> </span><span style="color: #FF0000;">+</span><span style="color: #000000;"> </span><span style="color: #800080;">$UPManager</span><span style="color: #000000;">.Count
</span><span style="color: #800080;">$count</span><span style="color: #FF0000;">=</span><span style="color: #000000;">0</span><span style="color: #000000;">;

</span><span style="color: #008000;">#</span><span style="color: #008000;">Loop through every user who has an entry in the SSP</span><span style="color: #008000;">
</span><span style="color: #0000FF;">foreach</span><span style="color: #000000;"> (</span><span style="color: #800080;">$oUser</span><span style="color: #000000;"> </span><span style="color: #0000FF;">in</span><span style="color: #000000;"> </span><span style="color: #800080;">$enumProfiles</span><span style="color: #000000;">)
{
    </span><span style="color: #008000;">#</span><span style="color: #008000;">Get the username for the user</span><span style="color: #008000;">
</span><span style="color: #000000;">    </span><span style="color: #800080;">$u</span><span style="color: #000000;"> </span><span style="color: #FF0000;">=</span><span style="color: #000000;"> </span><span style="color: #800080;">$oUser</span><span style="color: #000000;">.Item(</span><span style="color: #800000;">"</span><span style="color: #800000;">Accountname</span><span style="color: #800000;">"</span><span style="color: #000000;">)

    </span><span style="color: #008000;">#</span><span style="color: #008000;">How many have we activated?  If more than $userCount above stop processing</span><span style="color: #008000;">
</span><span style="color: #000000;">    </span><span style="color: #0000FF;">if</span><span style="color: #000000;"> (</span><span style="color: #800080;">$count</span><span style="color: #000000;"> </span><span style="color: #FF0000;">-ge</span><span style="color: #000000;"> </span><span style="color: #800080;">$userCount</span><span style="color: #000000;">) {
        Write-Output </span><span style="color: #800000;">"</span><span style="color: #800000;">Okay, we're stopping for now because we've activated for $userCount MySites</span><span style="color: #800000;">"</span><span style="color: #000000;">
        </span><span style="color: #0000FF;">break</span><span style="color: #000000;">
    } </span><span style="color: #0000FF;">else</span><span style="color: #000000;"> {

    </span><span style="color: #008000;">#</span><span style="color: #008000;">Does the user have a MySite?  If so continue</span><span style="color: #008000;">
</span><span style="color: #000000;">    </span><span style="color: #0000FF;">if</span><span style="color: #000000;"> (</span><span style="color: #800080;">$oUser</span><span style="color: #000000;">[</span><span style="color: #800000;">'</span><span style="color: #800000;">PersonalSpace</span><span style="color: #800000;">'</span><span style="color: #000000;">].Value </span><span style="color: #FF0000;">-ne</span><span style="color: #000000;"> </span><span style="color: #800080;">$null</span><span style="color: #000000;">) {
        </span><span style="color: #008000;">#</span><span style="color: #008000;">Create an SPSite (Site Collection) and SPWeb (Web) object for the given users MySite</span><span style="color: #008000;">
</span><span style="color: #000000;">        </span><span style="color: #800080;">$siteurl</span><span style="color: #000000;"> </span><span style="color: #FF0000;">=</span><span style="color: #000000;"> </span><span style="color: #800080;">$mysiteurl</span><span style="color: #000000;"> </span><span style="color: #FF0000;">+</span><span style="color: #000000;"> </span><span style="color: #800080;">$oUser</span><span style="color: #000000;">[</span><span style="color: #800000;">'</span><span style="color: #800000;">PersonalSpace</span><span style="color: #800000;">'</span><span style="color: #000000;">].Value
        </span><span style="color: #800080;">$spSite</span><span style="color: #000000;"> </span><span style="color: #FF0000;">=</span><span style="color: #000000;"> new-object Microsoft.SharePoint.SPSite(</span><span style="color: #800080;">$siteurl</span><span style="color: #000000;">)
        </span><span style="color: #800080;">$spWeb</span><span style="color: #000000;"> </span><span style="color: #FF0000;">=</span><span style="color: #000000;"> </span><span style="color: #800080;">$spSite</span><span style="color: #000000;">.OpenWeb() 

        </span><span style="color: #008000;">#</span><span style="color: #008000;">Let's check to see if either of the features we want to activate are currently activated.  </span><span style="color: #008000;">
</span><span style="color: #000000;">        </span><span style="color: #008000;">#</span><span style="color: #008000;">If not we should activate them.   Remember that the NewsGator Site Feature is "site" scoped thus we use SPWeb</span><span style="color: #008000;">
</span><span style="color: #000000;">        </span><span style="color: #008000;">#</span><span style="color: #008000;">The web part feature is Site Collection scoped so we have to use SPSite</span><span style="color: #008000;">
</span><span style="color: #000000;">        </span><span style="color: #0000FF;">if</span><span style="color: #000000;"> ((</span><span style="color: #800080;">$spWeb</span><span style="color: #000000;">.Features[</span><span style="color: #800080;">$ngsite_feature_id</span><span style="color: #000000;">] </span><span style="color: #FF0000;">-eq</span><span style="color: #000000;"> </span><span style="color: #800080;">$null</span><span style="color: #000000;">) </span><span style="color: #FF0000;">-or</span><span style="color: #000000;"> (</span><span style="color: #800080;">$spSite</span><span style="color: #000000;">.Features[</span><span style="color: #800080;">$webpart_feature_id</span><span style="color: #000000;">] </span><span style="color: #FF0000;">-eq</span><span style="color: #000000;"> </span><span style="color: #800080;">$null</span><span style="color: #000000;">)) {

            </span><span style="color: #008000;">#</span><span style="color: #008000;">Execute STSADM -o activatefeature to activate the NewsGator Site Feature for this user, if it fails capture that and stop execution of the program.</span><span style="color: #008000;">
</span><span style="color: #000000;">            </span><span style="color: #800080;">$sResult</span><span style="color: #000000;"> </span><span style="color: #FF0000;">=</span><span style="color: #000000;"> &amp;stsadm -o activatefeature -id </span><span style="color: #800080;">$ngsite_feature_id</span><span style="color: #000000;"> -force -url  </span><span style="color: #800080;">$siteurl</span><span style="color: #000000;">
            </span><span style="color: #0000FF;">if</span><span style="color: #000000;">(</span><span style="color: #FF0000;">!</span><span style="color: #000000;">(</span><span style="color: #800080;">$sResult</span><span style="color: #000000;"> </span><span style="color: #FF0000;">-like</span><span style="color: #000000;"> </span><span style="color: #800000;">"</span><span style="color: #800000;">*Operation completed successfully*</span><span style="color: #800000;">"</span><span style="color: #000000;">)){
                Write-Host -ForegroundColor </span><span style="color: #800000;">"</span><span style="color: #800000;">red</span><span style="color: #800000;">"</span><span style="color: #000000;"> -BackgroundColor </span><span style="color: #800000;">"</span><span style="color: #800000;">white</span><span style="color: #800000;">"</span><span style="color: #000000;"> </span><span style="color: #800000;">"</span><span style="color: #800000;">Activate of site upgrade feature failed for $u on $siteurl : `n $sResult</span><span style="color: #800000;">"</span><span style="color: #000000;">
                </span><span style="color: #0000FF;">break</span><span style="color: #000000;">
            }

            </span><span style="color: #008000;">#</span><span style="color: #008000;">Execute STSADM -o activatefeature to activate the Webpart deployment feature, if it fails capture that and stop execution</span><span style="color: #008000;">
</span><span style="color: #000000;">            </span><span style="color: #800080;">$sResult</span><span style="color: #000000;"> </span><span style="color: #FF0000;">=</span><span style="color: #000000;"> &amp;stsadm -o activatefeature -id </span><span style="color: #800080;">$webpart_feature_id</span><span style="color: #000000;"> -force -url  </span><span style="color: #800080;">$siteurl</span><span style="color: #000000;">
            </span><span style="color: #0000FF;">if</span><span style="color: #000000;">(</span><span style="color: #FF0000;">!</span><span style="color: #000000;">(</span><span style="color: #800080;">$sResult</span><span style="color: #000000;"> </span><span style="color: #FF0000;">-like</span><span style="color: #000000;"> </span><span style="color: #800000;">"</span><span style="color: #800000;">*Operation completed successfully*</span><span style="color: #800000;">"</span><span style="color: #000000;">)){
                Write-Host -ForegroundColor </span><span style="color: #800000;">"</span><span style="color: #800000;">red</span><span style="color: #800000;">"</span><span style="color: #000000;"> -BackgroundColor </span><span style="color: #800000;">"</span><span style="color: #800000;">white</span><span style="color: #800000;">"</span><span style="color: #000000;"> </span><span style="color: #800000;">"</span><span style="color: #800000;">Activate of mysite web parts feature failed for $u on $siteurl : `n $sResult</span><span style="color: #800000;">"</span><span style="color: #000000;">
                </span><span style="color: #0000FF;">break</span><span style="color: #000000;">
            }

            </span><span style="color: #008000;">#</span><span style="color: #008000;">increment the count and output a status</span><span style="color: #008000;">
</span><span style="color: #000000;">            </span><span style="color: #800080;">$count</span><span style="color: #000000;"> </span><span style="color: #FF0000;">=</span><span style="color: #000000;"> </span><span style="color: #800080;">$count</span><span style="color: #000000;"> </span><span style="color: #FF0000;">+</span><span style="color: #000000;"> </span><span style="color: #000000;">1</span><span style="color: #000000;">;
            Write-Output </span><span style="color: #800000;">"</span><span style="color: #800000;">($count):  Features activated on $siteurl for $u succesfully</span><span style="color: #800000;">"</span><span style="color: #000000;">;
        } </span><span style="color: #0000FF;">else</span><span style="color: #000000;"> {
            Write-Output </span><span style="color: #800000;">"</span><span style="color: #800000;">Skipping $siteurl for $u as they are already active.</span><span style="color: #800000;">"</span><span style="color: #000000;">
        }
    } </span><span style="color: #0000FF;">else</span><span style="color: #000000;"> {
        Write-Output </span><span style="color: #800000;">"</span><span style="color: #800000;">Skipping $siteurl for $u as they do not have a MySite.</span><span style="color: #800000;">"</span><span style="color: #000000;">
    }

    </span><span style="color: #008000;">#</span><span style="color: #008000;">Clean up our objects to prevent a memory leak</span><span style="color: #008000;">
</span><span style="color: #000000;">    </span><span style="color: #800080;">$spWeb</span><span style="color: #000000;">.Dispose();
    </span><span style="color: #800080;">$spSite</span><span style="color: #000000;">.Dispose();
    </span><span style="color: #800080;">$siteurl</span><span style="color: #000000;"> </span><span style="color: #FF0000;">=</span><span style="color: #000000;"> </span><span style="color: #800080;">$null</span><span style="color: #000000;">;
    }
} 

</span></pre>
]]></content:encoded>
			<wfw:commentRss>http://vallery.net/2010/04/01/activating-features-in-bulk-on-the-mysite-with-powershell/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>My response to the new healthcare legislation</title>
		<link>http://vallery.net/2010/03/22/my-response-to-the-new-healthcare-legislation/?utm_source=rss&amp;utm_medium=rss&amp;utm_campaign=my-response-to-the-new-healthcare-legislation</link>
		<comments>http://vallery.net/2010/03/22/my-response-to-the-new-healthcare-legislation/#comments</comments>
		<pubDate>Mon, 22 Mar 2010 16:54:55 +0000</pubDate>
		<dc:creator>jvallery</dc:creator>
				<category><![CDATA[Politics]]></category>
		<category><![CDATA[capitalism]]></category>
		<category><![CDATA[healhcare]]></category>
		<category><![CDATA[libertarian]]></category>

		<guid isPermaLink="false">http://vallery.net/?p=170</guid>
		<description><![CDATA[When has the government done anything better than a private organization? Why would they be able to manage healthcare better? The problem with our healthcare system is too much government intervention.
I don’t believe for one second that the members of congress who opposed this bill are also opposed to helping those in need.   I believe that they understand that trying to legislate a solution to a problem as far reaching as healthcare would ultimately prove disasters.]]></description>
			<content:encoded><![CDATA[<p>I wrote part of this blog article a few months ago when the healthcare bill was just starting to pick up steam.   Now that it has passed I felt compelled to update it and post it in response to many of my very liberal friends rants.</p>
<p>Let’s define morality.   Merriam-Webster has several definitions however I think the most appropriate one is “conformity to ideals of right human conduct”.   The open questions out of that statement are of course who defines what is “right” and who gets to enforce it?</p>
<p>If my four year old son has a toy and another child does not, he knows that the right thing to do is share his toy.  I don’t have to tell him.  I don’t have to force him.   Every action that I do sets an example for him in which he uses to build his own definition of “right”.    If he refused to share, and I insisted that he did, my ownly recourse would be to force him on threat of punishment.</p>
<p>I honestly believe that the vast majority of people are good, caring, and compassionate.  I believe that they have their own moral compass that guides them as to what is right and wrong.   I believe that morality can never be forced as it is a part of who we are.   While we can’t force someone to be moral by the definition of the majority, we can punish them for not agreeing.   That is what is happening with healthcare and a great many other things in our country today.</p>
<p>I believe that most people would openly assist those in need in whatever way they can.  Healthcare organizations have programs to assist those in need.   Pharmaceutical companies have programs to get drugs to those that need them but can’t afford them.   The statement I often hear is that “Nobody should go without the basic right of healthcare”.   While that statement is partially true in that “Nobody should go without healthcare” it is not a right.   A right is something granted to us as Americans by the bill of rights and our constitution.   A right is something to be protected by the government, not given.</p>
<p>Like so many government programs they are yet again using their guns (by threat of jail) to force morality on the people.  I find this particularly interesting in that my liberal friends are also very outspoken about the government staying out of their personal morality.   Why is it okay for the government to force people to share their wealth with the less fortunate (an act which should be governed by an individual’s morality) but not okay for them to tell them how to live their lives?    How can you possibly be for nationalized healthcare while also against the ban on gay marriage?  How can you be for repeal of drug prohibition while supporting new social legislation?</p>
<p>The role of the government is to protect my rights as granted to me by the constitution and the bill of rights; it is not to tell me how I should live my life.   If I want to share my wealth with those less fortunate that should be my decision.   If I want to get married to another man that should be my decision.   If I want to smoke marijuana that should be my decision.   Unless my actions infringe on the rights of those around me in a truly free country the government has no authority to have a say about my actions.  This new healthcare bill is just another way for the government to force us to the majority’s idea of what is “right”.</p>
<p>There are many folks out there who have not been courteous and respectful during the debate on healthcare.   To anyone who used disrespectful, selfish, or hateful tactics to try and stop the passing of this legislation, I fully deplore your actions.  However the partisan nature of the comments I see flying in rebuttal to those people are completely disrespectful and not helpful either.   Just like you would never go around stereotyping all persons of a specific race or ethnicity, you should not stereotype all republicans and democrats.</p>
<p>While I am certainly not a republican, I am very offended by a couple specific tweets I’ve read from my more liberal friends.</p>
<p>A few examples:</p>
<blockquote><p>“Let&#8217;s just say it: the most profound difference between Dems &amp; Repubs = the former cares about those less fortunate; the latter does not”</p></blockquote>
<blockquote><p>“I truly wish that the small percentage of tea-baggers who can read at a 10th grade level would read this: http://bit.ly/bcTDj7”</p></blockquote>
<blockquote><p>“Hope americans are watching these old white gnarled hands of GOP hate try to keep health impoverished americans crushed and hopeless”</p></blockquote>
<blockquote><p>“Those on the other side of the aisle for whom it applies: Hope you have nightmares tonite about &#8220;socialized&#8221; medicine &amp; the end of the world”</p></blockquote>
<blockquote><p>“&#8221;Party of no&#8221; spewing lies hate and fear. Any of these guys look like they are suffering from health care poverty?”</p></blockquote>
<blockquote><p>“Unbelievable listening to middle age white gop hate mongering men attack America in the people&#8217;s house.”</p></blockquote>
<p>I don’t believe for one second that the members of congress who opposed this bill are also opposed to helping those in need.   I believe that they understand that trying to legislate a solution to a problem as far reaching as healthcare would ultimately prove disastrous.</p>
<p>Assuming you can get past the argument of morality and think that the government should be implementing such a policy, we are ultimately left with the effectiveness of their solution.   When has the government done anything better than a private organization? Why would they be able to manage healthcare better? The problem with our healthcare system is too much government intervention not too little.</p>
<p>Instead of adding more laws we should think about repealing some already on the books.  If the healthcare system was deregulated and liability limited, doctors would be able to practice medicine without fear of getting sued. Insurance companies who offer malpractice insurance would be able to lower their premiums to the doctors. The ability to actually make a good living as a medical professional without the fear of going bankrupt at the slightest mistake would entice more of our brightest minds into the profession.</p>
<p>With the additional legislation just passed it is only going to be costlier for them to do business.   Organizations which provide their employees premium coverage are now going to be taxed for doing so.   With the increase in cost employers will compensate by reducing benefits to those “legally required”.   The decrease in benefits means that there will be fewer people able to have access to cutting edge treatments and procedures.   Fewer people with access will mean that the cost will stay prohibitively high or that the research dollars will not be spent to create them in the first place.</p>
<p>In the pharmaceutical realm deregulation would mean companies wouldn&#8217;t be afraid to spend larger amounts of money on R&amp;D if they didn&#8217;t have to worry about getting sued all the time. They wouldn&#8217;t have to worry about their patent expiring and a generic hitting the market that completely undermined their research efforts and took away any chance they had at making a profit. They wouldn&#8217;t have to worry about paying out billions and billions of dollars in a class action lawsuit when a drug that hits the market doesn&#8217;t perform as expected or has undesired side effects.  They would know that because there are folks who have “premium” coverage out there they can charge the amount required to recover their investment and know that there is a market for it.</p>
<p>We are free to choose what we put in our body based on the recommendations of a doctor we trust. Why do we need the FDA to tell us what is okay? Do you know there are drugs out there that could save the lives of millions of people but are blocked by FDA trials? Individuals need to take responsibility for their own action, and where the individual doesn&#8217;t have the knowledge to make the right decision, they need to turn to someone they can trust. Can you honestly tell me you trust the government more than your family doctor?</p>
<p>If all of the above happened and doctors, hospitals, and pharmaceutical companies were allowed to do what they do best, save people’s lives, healthcare prices would drop dramatically. It would become affordable to the vast majority of Americans. For the few that still were unable to afford it there are still private solutions and charities.  It is not the government’s responsibility to provide for its people.</p>
<p>I have friends who are on Medicare/Medicaid (In full disclosure my Mom was before she passed away as well) and it drives me nuts how abused the system is. They have better coverage than I have and I consider the policy that my employer offers me to be very generous. When I see them take a sick child to the ER because of a fever it drives me insane. They didn&#8217;t pay a single cent but the taxpayer just paid through the nose when all they needed to do was ensure rest, liquids, and maybe a little Tylenol. Again, healthcare is not a right it&#8217;s a privilege.</p>
<p>When something is available without individual cost and consequence it will encourage abuse.  A system which holds nobody accountable is one that will inevitably fail.</p>
]]></content:encoded>
			<wfw:commentRss>http://vallery.net/2010/03/22/my-response-to-the-new-healthcare-legislation/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>TapLynx is compatible with iPad</title>
		<link>http://vallery.net/2010/01/28/taplynx-is-compatible-with-ipad/?utm_source=rss&amp;utm_medium=rss&amp;utm_campaign=taplynx-is-compatible-with-ipad</link>
		<comments>http://vallery.net/2010/01/28/taplynx-is-compatible-with-ipad/#comments</comments>
		<pubDate>Thu, 28 Jan 2010 09:04:35 +0000</pubDate>
		<dc:creator>jvallery</dc:creator>
				<category><![CDATA[Random Thoughts]]></category>

		<guid isPermaLink="false">http://vallery.net/?p=168</guid>
		<description><![CDATA[I&#8217;m super excited about the new iPad from Apple. This is exactly the device I&#8217;ve been looking for to simplify all the various gadgets I carry with me on a daily basis. For daily use with one device I can replace my kindle and my laptop. I certainly don&#8217;t expect it to fully replace my [...]]]></description>
			<content:encoded><![CDATA[<p>I&#8217;m super excited about the new iPad from Apple.   This is exactly the device I&#8217;ve been looking for to simplify all the various gadgets I carry with me on a daily basis.   For daily use with one device I can replace my kindle and my laptop.   I certainly don&#8217;t expect it to fully replace my laptop, but I expect it to be great for when I&#8217;m traveling.</p>
<p>The great thing is that NewsGator already has a framework in place that will enable folks to create applications on the<a href=" http://taplynx.com/blog/news-announcements/create-ipad-apps-with-taplynx"> iPad</a> called <a href=" http://taplynx.com/blog/news-announcements/create-ipad-apps-with-taplynx">TapLynx</a></p>
<p>Can&#8217;t wait to get mine!</p>
]]></content:encoded>
			<wfw:commentRss>http://vallery.net/2010/01/28/taplynx-is-compatible-with-ipad/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>My solution for reading RSS across several computers and an iPhone</title>
		<link>http://vallery.net/2008/10/28/my-solution-for-reading-rss-across-several-computers-and-an-iphone/?utm_source=rss&amp;utm_medium=rss&amp;utm_campaign=my-solution-for-reading-rss-across-several-computers-and-an-iphone</link>
		<comments>http://vallery.net/2008/10/28/my-solution-for-reading-rss-across-several-computers-and-an-iphone/#comments</comments>
		<pubDate>Tue, 28 Oct 2008 23:04:49 +0000</pubDate>
		<dc:creator>jvallery</dc:creator>
				<category><![CDATA[Getting Things Done]]></category>
		<category><![CDATA[feeddemon]]></category>
		<category><![CDATA[iphone]]></category>
		<category><![CDATA[netnewswire]]></category>
		<category><![CDATA[newsgator]]></category>
		<category><![CDATA[rss]]></category>

		<guid isPermaLink="false">http://vallery.net/?p=107</guid>
		<description><![CDATA[I&#8217;ve been a long time Google Reader user. It&#8217;s great having one place that remembers exactly what you have read and what you haven&#8217;t. I had never really spent any time using a desktop feed reader as the online ones have always met my needs. Recently however I started a new job at NewsGator Technologies. [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://images.vallery.net/ng-masthead-logo-big.gif"><img class="alignnone size-full wp-image-108" title="NewsGator Logo" src="http://images.vallery.net/ng_logo.jpg" border="0" alt="" /></a></p>
<p>I&#8217;ve been a long time <a href="http://reader.google.com/">Google Reader</a> user.  It&#8217;s great having one place that remembers exactly what you have read and what you haven&#8217;t.  I had never really spent any time using a desktop feed reader as the online ones have always met my needs.  Recently however I started a new job at <a href="http://www.newsgator.com/">NewsGator Technologies</a>.  We make a number of products focused around RSS including several desktop readers.  In order to &#8220;eat the dog food&#8221; I began the process of moving over all of my RSS consumption to utilize the various NewsGator products.</p>
<p>I&#8217;ve tried using the NewsGator online service in the past however it didn&#8217;t provide me a compelling reason to switch from Google Reader.  This time I was determined to figure out the best possible way to utilize the various products in a way that would make it easier and quicker for me to follow the large number of feeds I&#8217;m subscribed to (currently 62, some of which are fairly high volume).  I try to limit my news reading to no more than an hour or so a day, but in that hour I have a lot of content to skim through and read.  Finding a really efficient process is critical to maximizing the use of the limited time.</p>
<p>After tweaking with things a bit, here is my new setup:</p>
<ul>
<li>I&#8217;ve setup my account on the NewsGator online server (I&#8217;m using an internal to NewsGator version of the public server, but it&#8217;s the same thing).</li>
<li>I&#8217;ve configured my feeds into the NewsGator server to be fetched and have the posts stored for my retrieval via one of the various clients.  My feeds are organized into 4 categories (Technology, Blogs, Local News, National and International News).</li>
<li>I&#8217;m using <a href="http://www.newsgator.com/Individuals/NetNewsWire/Default.aspx">NetNewsWire</a> on my home iMac and my MacBook Air, The <a href="http://phobos.apple.com/WebObjects/MZStore.woa/wa/viewSoftware?id=284881860&amp;mt=8">iPhone version of NetNewsWire</a>, and <a href="http://www.newsgator.com/individuals/feeddemon/">FeedDemon</a> on my work laptop.</li>
</ul>
<p>The advantages of using NetNewsWire and FeedDemon versus Google Reader are numerous.  Here are some of my observations after just a few days usage:</p>
<ul>
<li>The biggest single advantage is offline viewing.  NetNewsWire can fetch all of the content and then store it locally on my Mac to view when I&#8217;m away from an internet connection.  This is also true of FeedDemon although I haven&#8217;t used that yet.</li>
<li>With NetNewsWire there is no waiting for page loads of the content or images.  Because everything is fetched in advance I&#8217;m only communicating with the NewsGator servers, which are very fast.  All of the content is downloaded when I first sync so when I&#8217;m actually reading the posts I can just click through them with no delay.  This is a huge time saver when I&#8217;m only looking at titles on 85-90% of the posts that I receive, being able to move on to the next one without waiting the 1-2 seconds it takes in Google reader to catch-up multiplied by the thousands of posts I skim in a day is certainly time saved.</li>
<li>My process with Google Reader was to skim the posts for the ones that I&#8217;m actually interested in reading and then open the permalink in a new tab.  This will cause the page to load in the background while I continue skimming Google Reader.  This process worked well, but what works even better is the built in browser within NetNewsWire.  When the permalink is clicked in NetNewsWire it is opened up in a tab right within the application.  That page is opened up in a &#8220;tab&#8221; of sorts identified by a helpful thumbnail image of the resulting page.  NetNewsWire keeps all of these pages open while I&#8217;m reader so that I can easily consult them without filling up my browser tabs.</li>
<li>Something I haven&#8217;t taken advantage of before now are feeds that contain media rich (audio and video) downloads.  Google Reader has no real way to accommodate this.  In NetNewsWire however you can configure feeds to push content straight to a helper application like iTunes.  This allows content distribution via RSS without the need of a central service.  I look forward to more and more content providers using this approach for rich media in the future.</li>
<li>I use the &#8220;clipping&#8221; functionality to save off various posts that I find interesting enough to share with others.  With the online service you can configure NewsGator to publish an RSS feed of your &#8220;clippings&#8221;.  I&#8217;ve setup this feed to be syndicated to my wordpress blog so anyone can go and see the stories that I found interesting.</li>
<li>I can access my feeds from anywhere using my iPhone.  The iPhone application has the same benefits as the desktop client and the portability of the iPhone.  If only it could sync against other NewsGator servers than the public one. <a href="http://inessential.com/">@brentsimmons</a> when is this coming?</li>
<li>Brent also created a list of <a href="http://inessential.com/?comments=1&amp;postid=3135">unique features</a> of NetNewsWire that might be helpful.</li>
</ul>
<p>So overall I&#8217;m very happy with this solution.  I went into this feeling fairly pessimistic that it would actually be an improvement over Google Reader.  The end result however is that I&#8217;ve been able to shave a significant amount of time off the feed reading that I do.  I guess this means I can just start subscribing to more feeds <img src='http://vallery.net/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' /> </p>
]]></content:encoded>
			<wfw:commentRss>http://vallery.net/2008/10/28/my-solution-for-reading-rss-across-several-computers-and-an-iphone/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Compare Apple TV shows in standard and high definition</title>
		<link>http://vallery.net/2008/09/10/compare-apple-tv-shows-in-standard-and-high-definition/?utm_source=rss&amp;utm_medium=rss&amp;utm_campaign=compare-apple-tv-shows-in-standard-and-high-definition</link>
		<comments>http://vallery.net/2008/09/10/compare-apple-tv-shows-in-standard-and-high-definition/#comments</comments>
		<pubDate>Tue, 09 Sep 2008 18:17:30 +0000</pubDate>
		<dc:creator>jvallery</dc:creator>
				<category><![CDATA[Random Thoughts]]></category>
		<category><![CDATA[1080p]]></category>
		<category><![CDATA[apple]]></category>
		<category><![CDATA[apple tv]]></category>
		<category><![CDATA[high definition]]></category>
		<category><![CDATA[itunes]]></category>

		<guid isPermaLink="false">http://vallery.net/?p=58</guid>
		<description><![CDATA[With all the news today from Apple, I think one of the most overlooked announcements was that TV shows are available now in HD. HD is sort of a vague term though and just really means higher resolution (more pixels) than a standard NTSC broadcast. They failed to tell us what resolution the new TV [...]]]></description>
			<content:encoded><![CDATA[<p>With all the news today from Apple, I think one of the most overlooked announcements was that TV shows are available now in HD.  HD is sort of a vague term though and just really means higher resolution (more pixels) than a standard NTSC broadcast.  They failed to tell us what resolution the new TV shows are actually provided in.  Because the target delivery device for the HD content is the Apple TV and it has been documented to have a hard limit of 1280 x 720, we can assume that the resolution is at least less than or equal to this for the new content.  The standard resolutions which are used by broadcasters are:</p>
<p>1080p or 1920 x 1080 (progressive)<br />
1080i or 1920 x 1080 (interlaced, which means only half the picture is displayed at a time)<br />
720p or 1280 x 720<br />
480i/p or 640 x 480 in 4:3 mode or 854 x 480 in 16:9</p>
<p>Anything less than 720p and you really can&#8217;t call it HD, it is just &#8220;enhanced definition&#8221; TV.</p>
<p>Here is a handy chart showing the various resolutions in comparison (taken from Wikipedia).</p>
<p><a href="http://images.vallery.net/resolution.png"><img src="http://images.vallery.net/resolution.png" alt="" title="resolution" width="499" height="305" class="aligncenter size-full wp-image-56" /></a></p>
<p>I pulled some screenshots from my iMac playing back an episode of the office.  Here is a comparison between the standard definition and the high definition versions of the same scene.  The first shot is the standard definition, and the second is the high definition.  Click the thumbnail to view the full-size image.</p>
<p><a href="http://images.vallery.net/picture-1.png"><img src="http://images.vallery.net/picture-1-150x150.png" alt="" title="The Office - Standard Definition" width="150" height="150" class="alignnleft size-thumbnail wp-image-53" /></a>&nbsp;<a href="http://images.vallery.net/picture-2.png"><img src="http://images.vallery.net/picture-2-150x150.png" alt="" title="The Office - High Definition" width="150" height="150" class="alignnone size-thumbnail wp-image-54" /></a></p>
<p>If you look in iTunes at the info for &#8220;The Office&#8221; video files, it is reporting that the resolution of the &#8220;Standard Definition&#8221; version is 853 x 480 (or 480p) and that the resolution of the &#8220;High Definition&#8221; version is 1280 x 720 (or 720p).  You can see some improvement, specifically around the text on the milk carton, but I don&#8217;t really see enough to justify the extra $1.00 per episode.</p>
<p>I&#8217;d really have liked to see Apple step up and offer content in 1080p.  If they are going to lure me away from my DirecTV service and my DVR, they need to offer me something more compelling.  I already get my shows in 1080i and will be getting them soon in <a href="http://www.engadgethd.com/2008/07/28/directv-to-boast-130-hd-channels-on-august-14th-1080p-movies-la/">1080p form DirecTV</a>.  If they had come out and started offering 1080p content I would be buying all my TV shows from iTunes.  As it is I can get higher resolution content for an arguably cheaper price from DirecTV service. Until they can get the massive amount of content, all available in 1080i or greater, I think I&#8217;ll stick to my current solution.</p>
]]></content:encoded>
			<wfw:commentRss>http://vallery.net/2008/09/10/compare-apple-tv-shows-in-standard-and-high-definition/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
	</channel>
</rss>

<!-- Dynamic page generated in 0.464 seconds. -->
<!-- Cached page generated by WP-Super-Cache on 2010-07-30 16:55:53 -->
