<?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>Parsnips.net</title>
	<atom:link href="http://parsnips.net/feed/" rel="self" type="application/rss+xml" />
	<link>http://parsnips.net</link>
	<description>Like a Carrot</description>
	<lastBuildDate>Tue, 03 Jan 2012 09:49:47 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.1.1</generator>
		<item>
		<title>Validate Comma Separated Email Jquery Validation Engine</title>
		<link>http://parsnips.net/validate-comma-separated-email-jquery-validation-engine/#utm_source=feed&#038;utm_medium=feed&#038;utm_campaign=feed</link>
		<comments>http://parsnips.net/validate-comma-separated-email-jquery-validation-engine/#comments</comments>
		<pubDate>Tue, 03 Jan 2012 08:13:32 +0000</pubDate>
		<dc:creator>parsnips</dc:creator>
				<category><![CDATA[javascript]]></category>
		<category><![CDATA[jquery]]></category>
		<category><![CDATA[validation]]></category>
		<category><![CDATA[email]]></category>
		<category><![CDATA[regex]]></category>
		<category><![CDATA[underscore.js]]></category>
		<category><![CDATA[validation engine]]></category>

		<guid isPermaLink="false">http://parsnips.net/?p=218</guid>
		<description><![CDATA[Another quick tip, utilizing underscore and validation engine function validateEmail(field, rules, i, options) { if (!_.all(field.val().split(","), function(candidate) { return $.trim(candidate).match(options.allrules.email.regex); }) ) return options.allrules.email.alertText; }]]></description>
			<content:encoded><![CDATA[<p>Another quick tip, utilizing underscore and validation engine</p>
<pre name="code" class="javascript">
function validateEmail(field, rules, i, options) {
   if (!_.all(field.val().split(","),
      function(candidate) {
         return $.trim(candidate).match(options.allrules.email.regex);
      })
   ) return options.allrules.email.alertText;
}
</pre>
<pre name="code" class="html">
<input class="validate[required,funcCall[validateEmail]]" type="text" name="contact_email" id="contact_email" value="" />
</pre>
]]></content:encoded>
			<wfw:commentRss>http://parsnips.net/validate-comma-separated-email-jquery-validation-engine/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>haproxy http to https redirect</title>
		<link>http://parsnips.net/haproxy-http-to-https-redirect/#utm_source=feed&#038;utm_medium=feed&#038;utm_campaign=feed</link>
		<comments>http://parsnips.net/haproxy-http-to-https-redirect/#comments</comments>
		<pubDate>Mon, 28 Nov 2011 04:51:39 +0000</pubDate>
		<dc:creator>parsnips</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[configuration]]></category>
		<category><![CDATA[haproxy]]></category>
		<category><![CDATA[http]]></category>
		<category><![CDATA[https]]></category>
		<category><![CDATA[load balancer]]></category>

		<guid isPermaLink="false">http://parsnips.net/?p=210</guid>
		<description><![CDATA[For those who are lazy, and don&#8217;t want to understand haproxy thaaat well. In order to redirect all traffic from http to https use a variation of the following in your haproxy.cfg #--------------------------------------------------------------------- # Redirect to secured #--------------------------------------------------------------------- frontend unsecured &#8230;<p class="read-more"><a href="http://parsnips.net/haproxy-http-to-https-redirect/">Read more &#187;</a></p>]]></description>
			<content:encoded><![CDATA[<p>For those who are lazy, and don&#8217;t want to understand haproxy thaaat well.  In order to redirect all traffic from http to https use  a variation of the following in your haproxy.cfg</p>
<pre name="code" class="python">
#---------------------------------------------------------------------
# Redirect to secured
#---------------------------------------------------------------------
frontend unsecured *:80
    redirect location https://foo.bar.com

#---------------------------------------------------------------------
# frontend secured
#---------------------------------------------------------------------
frontend  secured *:443
   mode  tcp
   default_backend		app

#---------------------------------------------------------------------
# round robin balancing between the various backends
#---------------------------------------------------------------------
backend app
    mode  tcp
    balance roundrobin
    server  app1 127.0.0.1:5001 check
    server  app2 127.0.0.1:5002 check
    server  app3 127.0.0.1:5003 check
    server  app4 127.0.0.1:5004 check
</pre>
]]></content:encoded>
			<wfw:commentRss>http://parsnips.net/haproxy-http-to-https-redirect/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Create Ranges of Numbers with SQL</title>
		<link>http://parsnips.net/create-ranges-of-numbers-with-sql/#utm_source=feed&#038;utm_medium=feed&#038;utm_campaign=feed</link>
		<comments>http://parsnips.net/create-ranges-of-numbers-with-sql/#comments</comments>
		<pubDate>Fri, 04 Nov 2011 18:31:25 +0000</pubDate>
		<dc:creator>parsnips</dc:creator>
				<category><![CDATA[sql]]></category>
		<category><![CDATA[recursion]]></category>
		<category><![CDATA[table expression]]></category>

		<guid isPermaLink="false">http://parsnips.net/?p=203</guid>
		<description><![CDATA[So in yesterdays post, the &#8220;monthly&#8221; requirement was going to be a challenge. Let&#8217;s remind ourselves of what the requirement is: 3. “Monthly” = This will be 0-30, 31-60, 61-90, 91-120, 121-150, 151-180, etc The problem is, I don&#8217;t know &#8230;<p class="read-more"><a href="http://parsnips.net/create-ranges-of-numbers-with-sql/">Read more &#187;</a></p>]]></description>
			<content:encoded><![CDATA[<p>So in yesterdays post, the &#8220;monthly&#8221; requirement was going to be a challenge.  Let&#8217;s remind ourselves of what the requirement is:</p>
<blockquote><p><em>3. “Monthly” = This will be 0-30, 31-60, 61-90, 91-120, 121-150, 151-180, etc</em></p></blockquote>
<p>The problem is, I don&#8217;t know how many of those groupings can exist.  To solve this, I went into the bag of tricks and pulled out some recursion.</p>
<pre name="code" class="sql">
--SETS up aging bands in 30 day increments.
-- 0-30, 31-60, 61-90 until all inventory is accounted for.

CREATE TABLE #TempAgingBands (
AgingBandId int identity(0,1),
Start_Value int,
End_Value int,
Label nvarchar(20)
)

CREATE TABLE #TempAgingBandsEndValue (
AgingBandId int identity(0,1),
End_Value  int
)

declare @Today date
declare @DogDate date
declare @MaxDays int

-- Get two dates, today and say some time in 1900's to show whats up
set @TODAY = GETDATE()
set @DOGDATE = DATEADD(DAY, -40150, @Today)
set @MaxDays = DATEDIFF(day, @DogDate, @Today)  ;   

-- Use Recursion to generate a list of start values (1, 31, 61, 91 etc) *NOTE You'll see how we'll change 1 to 0 below*
WITH Nbrs ( n ) AS (
		SELECT 1 UNION ALL
		SELECT 30 + n FROM Nbrs WHERE n < @maxDays )
	INSERT INTO #TempAgingBands (Start_Value)
	SELECT n FROM Nbrs
	OPTION ( MAXRECURSION 32767 ) ;

-- Use recursion to generate list of end values (30, 60, 90, 120 etc)
WITH Nbrs ( n ) AS (
        SELECT 30 UNION ALL
        SELECT 30 + n FROM Nbrs WHERE n < @maxDays + 30 )
    INSERT INTO #TempAgingBandsEndValue(End_Value)
	SELECT n FROM Nbrs
    OPTION ( MAXRECURSION 32767 ) ;

-- Put start and end values in the aging band table.
UPDATE #TempAgingBands
SET #TempAgingBands.End_Value = t2.End_Value
FROM #TempAgingBandsEndValue t2
WHERE #TEmpAgingBands.AgingBandId = t2.AgingBandId

-- The first record is 1,30 it should be 0,30 so update it.
UPDATE #TempAgingBands
SET Start_Value = 0
WHERE AgingBandId = 0

-- Update to get appropriate list of labels.
UPDATE #TempAgingBands
SET Label = (convert(varchar(7),Start_Value) + ' - ' + convert(varchar(7),End_Value))

-- See the results. #winning
select * from #TempAgingBands
</pre>
<p>Is there a way to update #TempAgingBands without creating a second temp table?</p>
]]></content:encoded>
			<wfw:commentRss>http://parsnips.net/create-ranges-of-numbers-with-sql/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>SQL Trickery</title>
		<link>http://parsnips.net/sql-trickery/#utm_source=feed&#038;utm_medium=feed&#038;utm_campaign=feed</link>
		<comments>http://parsnips.net/sql-trickery/#comments</comments>
		<pubDate>Thu, 03 Nov 2011 21:29:23 +0000</pubDate>
		<dc:creator>parsnips</dc:creator>
				<category><![CDATA[sql]]></category>

		<guid isPermaLink="false">http://parsnips.net/?p=199</guid>
		<description><![CDATA[Today I had the unenviable task of trying to change an existing report which grouped line items into &#8220;aging bands&#8221;,  to have multiple aging bands.    The requirement given was  this: The Dog Report currently has only one choice of &#8230;<p class="read-more"><a href="http://parsnips.net/sql-trickery/">Read more &#187;</a></p>]]></description>
			<content:encoded><![CDATA[<p>Today I had the unenviable task of trying to change an existing report which grouped line items into &#8220;aging bands&#8221;,  to have multiple aging bands.    The requirement given was  this:</p>
<blockquote><p>
<em>The Dog Report currently has only one choice of Aging Band, which reports  inventory in as  follows:</em></p>
<p><em>0-180</em><br />
<em>181-270</em><br />
<em>271-330</em><br />
<em>331-365</em><br />
<em>366-455</em><br />
<em>&gt;455</em></p>
<p><em>We  need to amend this Aging Band filter by offering 3 choices:</em><br />
<em>1.   &#8220;Standard&#8221; = This will be the current aging bands above as presented in the  attachment</em><br />
<em>2.  &#8220;Bank&#8221; = This will be     0-180, 181- 270,    271-365,  &gt;365</em><br />
<em>3.  &#8220;Monthly&#8221; = This will be 0-30, 31-60, 61-90, 91-120, 121-150,  151-180, etc</em></p></blockquote>
<p>The previous implementation logic would tag each record with a grouping label based on how many days from today the record was indicating.  Additionally, records in the future (DogDate &lt; 0) would be grouped with 0 &#8211; 180&#8230; Here&#8217;s the old logic:</p>
<pre name="code" class="sql">
CREATE TABLE #TempAgingBands (
AgingBandId int,
Start_Value int,
End_Value int,
Label nvarchar(20)
)

CREATE TABLE #TempDog (
OrderDogDays varchar(2),
DogDate date
)

-- Setup Aging Band table
INSERT INTO #TempAgingBands (AgingBandId, Start_Value, End_Value, Label)
VALUES ('0', 0, 180, '0 - 180'),
	   ('1', 181, 270, '181 - 270'),
	   ('2', 271, 330, '271 - 330'),
	   ('3', 331, 365, '331 - 365'),
	   ('4', 366, 455, '365 - 455'),
	   ('5', 455, -1, '> 455')

--Some records are inserted into #TempDog

UPDATE #TempDog
SET OrderDogDays = (CASE WHEN DATEDIFF(day, DogDate, @Today) <= 180
						THEN 0
					WHEN DATEDIFF(day, DogDate, @Today) > 180 AND DATEDIFF(day, DogDate, @Today) <= 270
						THEN 1
					WHEN DATEDIFF(day, DogDate, @Today) > 270 AND DATEDIFF(day, DogDate, @Today) <= 330
						THEN 2
					WHEN DATEDIFF(day, DogDate, @Today) > 330 AND DATEDIFF(day, DogDate, @Today) <= 365
						THEN 3
					WHEN DATEDIFF(day, DogDate, @Today) > 365 AND DATEDIFF(day, DogDate, @Today) <= 455
						THEN 4
					WHEN DATEDIFF(day, DogDate, @Today) > 455
						THEN 5
					END)
</pre>
<p>The original developer didn&#8217;t make use of his Start_Value and End_Value fields he defined&#8230;  I wanted to use something more flexible to encapsulate any aging band definition they came up with&#8230; So here&#8217;s my try:</p>
<pre name="code" class="sql">
UPDATE #TempDog
SET OrderDogDays = (SELECT t.AgingBandId FROM #TempAgingBands t WHERE t.End_Value = -1 AND DATEDIFF(DAY, DogDate, @Today) > t.Start_Value
					UNION
					SELECT TOP 1 t.AgingBandId FROM #TempAgingBands t WHERE DATEDIFF(day, DogDate, @Today) >= t.Start_Value
								AND DATEDIFF(day, DogDate, @Today) <= t.End_Value
								AND t.End_Value != -1 AND DATEDIFF(day, DogDate, @Today) >= 0
					UNION
					SELECT top 1 0 FROM #TempAgingBands t WHERE DATEDIFF(day, DogDate, @Today) < 0)
</pre>
<p>Can you think of a better way to do the third union?</p>
]]></content:encoded>
			<wfw:commentRss>http://parsnips.net/sql-trickery/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Invade Wall Street or Whatever &#8230; Dude</title>
		<link>http://parsnips.net/invade-wall-street-or-whatever-dude/#utm_source=feed&#038;utm_medium=feed&#038;utm_campaign=feed</link>
		<comments>http://parsnips.net/invade-wall-street-or-whatever-dude/#comments</comments>
		<pubDate>Tue, 04 Oct 2011 05:11:54 +0000</pubDate>
		<dc:creator>parsnips</dc:creator>
				<category><![CDATA[politics]]></category>
		<category><![CDATA[liberalism]]></category>
		<category><![CDATA[occupy]]></category>
		<category><![CDATA[protesters]]></category>
		<category><![CDATA[wall street]]></category>

		<guid isPermaLink="false">http://parsnips.net/?p=194</guid>
		<description><![CDATA[Have you heard of the &#8220;Occupy Wall Street&#8221; movement? If you listen to Glenn Beck, these are the so called social justice brigade that is going to incite violence in the street. Since when did hipsters become a political force &#8230;<p class="read-more"><a href="http://parsnips.net/invade-wall-street-or-whatever-dude/">Read more &#187;</a></p>]]></description>
			<content:encoded><![CDATA[<p>Have you heard of the &#8220;Occupy Wall Street&#8221; movement?   If you listen to Glenn Beck, these are the so called social justice brigade that is going to incite violence in the street.</p>
<p><img src="http://static.guim.co.uk/sys-images/guardian/Pix/pictures/2011/9/30/1317380596932/Occupy-Wall-Street-demons-008.jpg" alt="The massive social justice brigade" /></p>
<p>Since when did hipsters become a political force that we became scared of?  Are they going to burn all their vinyl on the streets until the man forgives their student loans?  I mean for Pete&#8217;s sake, they can&#8217;t even manage to shower in the morning, let alone start a &#8220;revolution&#8221;.</p>
<p>Catch the <a href="http://www.youtube.com/watch?v=bFVR9Nv43J4&#038;feature=player_embedded#t=310s">intellectual weight</a> of some of their arguments.   Such poised opinions can only come from someone who&#8217;s spent their whole life surfing Goodwill&#8217;s across America finding a plaid scarf to match his Guess glasses frames.</p>
<p>Hey 99 per-center, get a hair cut and a job.   Dweeb.</p>
]]></content:encoded>
			<wfw:commentRss>http://parsnips.net/invade-wall-street-or-whatever-dude/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Problem Solving Skills</title>
		<link>http://parsnips.net/problem-solving-skills/#utm_source=feed&#038;utm_medium=feed&#038;utm_campaign=feed</link>
		<comments>http://parsnips.net/problem-solving-skills/#comments</comments>
		<pubDate>Thu, 05 May 2011 03:12:18 +0000</pubDate>
		<dc:creator>parsnips</dc:creator>
				<category><![CDATA[python]]></category>
		<category><![CDATA[interview]]></category>
		<category><![CDATA[problem solving]]></category>
		<category><![CDATA[programming]]></category>

		<guid isPermaLink="false">http://parsnips.net/?p=189</guid>
		<description><![CDATA[Today I decided to take the code challenge of a startup full of really smart people doing a social networking site. They use interviewstreet.com for their code test, and I think it&#8217;s a really good way to get the riff &#8230;<p class="read-more"><a href="http://parsnips.net/problem-solving-skills/">Read more &#187;</a></p>]]></description>
			<content:encoded><![CDATA[<p>Today I decided to take the code challenge of a <a href="http://lal.com/home">startup full of really smart people</a> doing a social networking site.  They use <a href="http://interviewstreet.com">interviewstreet.com</a> for their code test, and I think it&#8217;s a really good way to get the riff raff out if you&#8217;re looking to hire someone who is really top notch.  </p>
<p>You get 1 hour to complete the two interview questions.  I managed to successfully complete one of the questions.  I chalk up not completing the other question due to it being poorly written.  It&#8217;s possible that I just can&#8217;t read too. I&#8217;ll break down my thought process in solving the problem I did successfully solve, and maybe you too can know how I think.</p>
<p>Here is the problem:</p>
<p><em>A 7-digit number consists of 7 distinct digits (from 0-9). The product of the first 3 digits = product of central 3 digits = product of last 3 digits. Find the middle digit</em></p>
<p>There&#8217;s a lot of cool math things going on in this problem:</p>
<ul>
<li>Transitivity Property</li>
<li>7 digit number, made up of unique digits -> Permutation</li>
<li>Even though the problem states 0 is part of the set of numbers, we can&#8217;t use it because 0 * any group of number is zero.</li>
</ul>
<p>Ok, so knowing these characteristics of the problem, I set about a plan of attack:</p>
<ol>
<li>Find all permutations put them in a list.</li>
<li>Iterate through list of permutations, use transitivity property to find answer</li>
<li>???</li>
<li>profit</li>
</ol>
<p>So I first set out to write a function to find all the permutations.  How big of a problem is that?</p>
<p>P = n! / (n &#8211; k)!</p>
<p>With our problem set that&#8217;s 181,440 possibilities.  Ok, so I gotta write an efficient program to do that&#8230;</p>
<p>My head started hurting, surely there&#8217;s a library that will help?  Yes?  Ok, python has itertools.permutations()&#8230; don&#8217;t re-invent the wheel&#8230; So here&#8217;s the final code:</p>
<pre name="code" class="python">
import itertools

permutations = itertools.permutations([1,2,3,4,5,6,7,8,9],7)

for candidate in permutations:
    val = candidate[0] * candidate[1] * candidate[2]
    if val == candidate[2] * candidate[3] * candidate[4]:
        if val == candidate[4] * candidate[5] * candidate[6]:
            print candidate[3]
            break
</pre>
<p>And the answer is 2. Cheers.</p>
]]></content:encoded>
			<wfw:commentRss>http://parsnips.net/problem-solving-skills/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>What prevents problems from being solved?</title>
		<link>http://parsnips.net/what-prevents-problems-from-being-solved/#utm_source=feed&#038;utm_medium=feed&#038;utm_campaign=feed</link>
		<comments>http://parsnips.net/what-prevents-problems-from-being-solved/#comments</comments>
		<pubDate>Sat, 05 Feb 2011 21:09:38 +0000</pubDate>
		<dc:creator>parsnips</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[business]]></category>
		<category><![CDATA[decision making]]></category>
		<category><![CDATA[organization]]></category>
		<category><![CDATA[problem solving]]></category>

		<guid isPermaLink="false">http://parsnips.net/?p=177</guid>
		<description><![CDATA[This is a question that I&#8217;ve pondered for a long time. Take this one: http://stackoverflow.com/questions/1610874/snireadsync-executing-between-120-500-ms-for-a-simple-query-what-do-i-look-for Asked in October of 2009, our team was finally able to put this problem to rest, and more importantly improve site performance, database scalability and &#8230;<p class="read-more"><a href="http://parsnips.net/what-prevents-problems-from-being-solved/">Read more &#187;</a></p>]]></description>
			<content:encoded><![CDATA[<p>This is a question that I&#8217;ve pondered for a long time.  </p>
<p>Take this one:</p>
<p>http://stackoverflow.com/questions/1610874/snireadsync-executing-between-120-500-ms-for-a-simple-query-what-do-i-look-for</p>
<p>Asked in October of 2009, our team was finally able to put this problem to rest, and more importantly improve site performance, database scalability and application cpu levels in a significant way.    It took over a year to achieve, what essentially is a 3 line change in application server code and database configuration.  So my question is, why did it take this long?   </p>
<p>In order to answer this question, I think there are three categories of answer that are possible:</p>
<p>1. We didn&#8217;t know how to solve it.<br />
2. We didn&#8217;t care to solve it.<br />
3. We didn&#8217;t know to care to solve it.</p>
<p>So which was it?</p>
<p>#1. We ended up solving the problem.  We researched several alternatives and came up with a solution. This work in aggregate took about a &#8220;man week&#8221;.  By definition, this couldn&#8217;t have been the cause of the delay.</p>
<p>#2. We did care to solve it.  I was perplexed by the issue a year ago.  However, I didn&#8217;t have the experience/knowledge/data to raise the profile of the problem to something that should take priority.</p>
<p>#3. I think this is the winner.   Until Seamlessweb purchased Dynatrace (which is awesome by the way), there was no way to reliably analyse the data and make a solid prediction which could be sold the business as a valuable proposition.  But it wasn&#8217;t just a tool which told us, essentially what we already knew.  It was an organizational change which gave <em>ownership</em> of the technology platform, and in effect recognizing there was a problem to begin with.  Once the business stake holders recognized that being concerned specifically with the technology platform as a whole, gave us the opportunity to sell the right solution to them at the right time.  </p>
<p>The real value out of all this is to try and remember how we achieved this.  Right now, all I remember is a lot of painful waiting.   But maybe that&#8217;s the proof of the adage all good things are worth waiting for.</p>
]]></content:encoded>
			<wfw:commentRss>http://parsnips.net/what-prevents-problems-from-being-solved/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>The worst trade ever</title>
		<link>http://parsnips.net/espn-broussard-otis-smith-mentally-challenged/#utm_source=feed&#038;utm_medium=feed&#038;utm_campaign=feed</link>
		<comments>http://parsnips.net/espn-broussard-otis-smith-mentally-challenged/#comments</comments>
		<pubDate>Sun, 19 Dec 2010 02:44:34 +0000</pubDate>
		<dc:creator>parsnips</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[Arenas]]></category>
		<category><![CDATA[espn]]></category>
		<category><![CDATA[Magic]]></category>
		<category><![CDATA[Marion]]></category>
		<category><![CDATA[mentally challenged]]></category>
		<category><![CDATA[NBA]]></category>
		<category><![CDATA[Orlando]]></category>
		<category><![CDATA[otis smith]]></category>
		<category><![CDATA[Phoenix]]></category>
		<category><![CDATA[Richardson]]></category>
		<category><![CDATA[Shaq]]></category>
		<category><![CDATA[Suns]]></category>
		<category><![CDATA[Turkgolu]]></category>
		<category><![CDATA[Washington]]></category>
		<category><![CDATA[Wizards]]></category>

		<guid isPermaLink="false">http://parsnips.net/?p=171</guid>
		<description><![CDATA[&#8220;Banner Day&#8221; is the title of ESPN.com&#8217;s coverage of the Magic acquiring Gilbert Arenas, Hedo Turkgolu, Jason Richardson and Earl Clark.   What should the title be?  &#8221;Phoenix Redeems Marion for Shaq trade&#8221;.  Let&#8217;s break it down: Phoenix needs size &#8230;<p class="read-more"><a href="http://parsnips.net/espn-broussard-otis-smith-mentally-challenged/">Read more &#187;</a></p>]]></description>
			<content:encoded><![CDATA[<p><a href="http://sports.espn.go.com/nba/news/story?id=5932861"><br />
&#8220;Banner Day&#8221;</a> is the title of ESPN.com&#8217;s coverage of the Magic acquiring Gilbert Arenas, Hedo Turkgolu, Jason Richardson and Earl Clark.   What should the title be?  &#8221;Phoenix Redeems Marion for Shaq trade&#8221;.  Let&#8217;s break it down:</p>
<p>Phoenix needs size and to cut salary.</p>
<p>Orlando needs front court depth, and a pass first point guard.</p>
<p>Washington needs another spot up shooter and size.</p>
<p>What did each team get?</p>
<p>Phoenix:</p>
<ul>
<li>Replaced their slashing athletic scorer for another slightly older athletic slashing scorer (JRich for VC)</li>
<li>Got a decent center who can grab rebounds and guard Gasol or Bynum (Gortat)</li>
<li>Got another perimeter defender who can shoot the 3 ball and help guard Kobe (Pietrus)</li>
<li>Turned a big contract into a big expiring contract (JRich for VC)</li>
<li>Got a first round draft pick</li>
<li>Cut this years salary by dumping Hedo Turkgolu</li>
<li>Dumped Hedo Turkgolu</li>
</ul>
<p>Washington:</p>
<p>Got rid of their ball hog point guard and replaced him with a big that can shoot and create his own shot if need be.</p>
<p>Orlando:</p>
<ul>
<li>Got worse on defense</li>
<li>Got rid of their only guy who can stay in front of Lebron (Pietrus)</li>
<li>Got rid of best backup center in NBA (Sorry Joel Pryzbilla)</li>
<li>Added another shoot first pass never point guard</li>
<li>Added Jason Richardson, who will never get passed to since Agent 0 and Jameer Nelson will be too busy taking bad shots.</li>
<li>&#8220;Added&#8221; Hedo Turkgolu.</li>
</ul>
<p>Otis Smith should immediately be fired.</p>
]]></content:encoded>
			<wfw:commentRss>http://parsnips.net/espn-broussard-otis-smith-mentally-challenged/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Spring2 DTG Presentation</title>
		<link>http://parsnips.net/spring2-dtg-presentation/#utm_source=feed&#038;utm_medium=feed&#038;utm_campaign=feed</link>
		<comments>http://parsnips.net/spring2-dtg-presentation/#comments</comments>
		<pubDate>Tue, 08 Jun 2010 16:29:32 +0000</pubDate>
		<dc:creator>parsnips</dc:creator>
				<category><![CDATA[c#]]></category>

		<guid isPermaLink="false">http://parsnips.net/?p=117</guid>
		<description><![CDATA[]]></description>
			<content:encoded><![CDATA[<p><iframe src="http://docs.google.com/present/embed?id=dnr295f_77d5btrtgv" frameborder="0" width="410" height="342"></iframe></p>
]]></content:encoded>
			<wfw:commentRss>http://parsnips.net/spring2-dtg-presentation/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Step 2 Performance Test</title>
		<link>http://parsnips.net/step-2-performance-test/#utm_source=feed&#038;utm_medium=feed&#038;utm_campaign=feed</link>
		<comments>http://parsnips.net/step-2-performance-test/#comments</comments>
		<pubDate>Tue, 18 May 2010 20:50:56 +0000</pubDate>
		<dc:creator>parsnips</dc:creator>
				<category><![CDATA[c#]]></category>

		<guid isPermaLink="false">http://parsnips.net/?p=114</guid>
		<description><![CDATA[Using this as a place holder to keep track of my progress http://www.webpagetest.org/result/100518_341/ with no vendors: http://www.webpagetest.org/result/100520_22/]]></description>
			<content:encoded><![CDATA[<p>Using this as a place holder to keep track of my progress</p>
<p><a href="http://www.webpagetest.org/result/100518_341/">http://www.webpagetest.org/result/100518_341/</a></p>
<p>with no vendors:</p>
<p><a href="http://www.webpagetest.org/result/100520_22/">http://www.webpagetest.org/result/100520_22/</a></p>
]]></content:encoded>
			<wfw:commentRss>http://parsnips.net/step-2-performance-test/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

