<?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>Scott Means &#187; life</title>
	<atom:link href="http://smeans.com/category/life/feed/" rel="self" type="application/rss+xml" />
	<link>http://smeans.com</link>
	<description>Ripping the envelope of software development, one technology at a time.</description>
	<lastBuildDate>Tue, 06 Oct 2009 13:47:26 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.2</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>I&#8217;m a guest blogger!</title>
		<link>http://smeans.com/2009/10/06/im-a-guest-blogger/</link>
		<comments>http://smeans.com/2009/10/06/im-a-guest-blogger/#comments</comments>
		<pubDate>Tue, 06 Oct 2009 13:47:26 +0000</pubDate>
		<dc:creator>smeans</dc:creator>
				<category><![CDATA[life]]></category>
		<category><![CDATA[blogging]]></category>
		<category><![CDATA[guest]]></category>
		<category><![CDATA[quintesocial]]></category>

		<guid isPermaLink="false">http://smeans.com/2009/10/06/im-a-guest-blogger/</guid>
		<description><![CDATA[Check it out, I&#8217;m on the Quintesocial blog:
http://www.meetbarb.com/2009/10/guest-blogger-scott-means.html
]]></description>
			<content:encoded><![CDATA[<p>Check it out, I&#8217;m on the Quintesocial blog:</p>
<p>http://www.meetbarb.com/2009/10/guest-blogger-scott-means.html</p>
]]></content:encoded>
			<wfw:commentRss>http://smeans.com/2009/10/06/im-a-guest-blogger/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Coolibah!</title>
		<link>http://smeans.com/2009/07/23/coolibah/</link>
		<comments>http://smeans.com/2009/07/23/coolibah/#comments</comments>
		<pubDate>Fri, 24 Jul 2009 03:55:02 +0000</pubDate>
		<dc:creator>smeans</dc:creator>
				<category><![CDATA[life]]></category>
		<category><![CDATA[iPhone]]></category>
		<category><![CDATA[scrapbooking]]></category>

		<guid isPermaLink="false">http://smeans.com/2009/07/23/coolibah/</guid>
		<description><![CDATA[I was on the phone with my friend tonight, and I realized that I haven&#8217;t put any links to my latest iPhone project on the blog. Oops! Here&#8217;s a demo video showing Coolibah, the iPhone scrapbooking project I&#8217;m doing with my sister Bobbie:

You can also visit the Coolibah blog for the latest updates. We&#8217;re also [...]]]></description>
			<content:encoded><![CDATA[<p>I was on the phone with my friend tonight, and I realized that I haven&#8217;t put any links to my latest iPhone project on the blog. Oops! Here&#8217;s a demo video showing Coolibah, the iPhone scrapbooking project I&#8217;m doing with my sister Bobbie:<br />
<object width="560" height="340"><param name="movie" value="http://www.youtube.com/v/DzZvRDPB0cU&#038;hl=en&#038;fs=1&#038;"></param><param name="allowFullScreen" value="true"></param><param name="allowscriptaccess" value="always"></param><embed src="http://www.youtube.com/v/DzZvRDPB0cU&#038;hl=en&#038;fs=1&#038;" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="560" height="340"></embed></object></p>
<p>You can also visit the <a href="http://coolibahme.blogspot.com">Coolibah blog</a> for the latest updates. We&#8217;re also on Twitter (@coolibahme).</p>
]]></content:encoded>
			<wfw:commentRss>http://smeans.com/2009/07/23/coolibah/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>A day with the Jester.</title>
		<link>http://smeans.com/2009/05/30/a-day-with-the-jester/</link>
		<comments>http://smeans.com/2009/05/30/a-day-with-the-jester/#comments</comments>
		<pubDate>Sat, 30 May 2009 21:47:52 +0000</pubDate>
		<dc:creator>smeans</dc:creator>
				<category><![CDATA[coding]]></category>
		<category><![CDATA[iPhone]]></category>
		<category><![CDATA[life]]></category>

		<guid isPermaLink="false">http://smeans.com/?p=159</guid>
		<description><![CDATA[I just finished one of the most interesting software development projects ever this week. After responding to a note posted to the Atlanta iPhone Developer Meetup group I ended up trading emails with JD Howard, author of the Naughty Jester blog. JD wanted an iPhone app to help connect with his readers, but he didn&#8217;t [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://naughtyjester.com"><img src="http://smeans.com/wp-content/uploads/2009/05/jesterimage1-143x150.jpg" alt="The Naughty Jester" title="The Naughty Jester" width="143" height="150" class="alignright size-thumbnail wp-image-161" /></a>I just finished one of the most interesting software development projects ever this week. After responding to a note posted to the <a href="http://www.meetup.com/atliphonedev/">Atlanta iPhone Developer Meetup group</a> I ended up trading emails with JD Howard, author of the <a href="http://naughtyjester.com">Naughty Jester</a> blog. JD wanted an iPhone app to help connect with his readers, but he didn&#8217;t have a big budget and he didn&#8217;t have a lot of time. He wanted to &#8220;drive down and knock an app out&#8221; in a day or so.</p>
<p>Never one to pass up a challenge, I told him to come on down. I was careful to set his expectations as low as possible, because one day really isn&#8217;t enough time to do a meaningful application. All I could promise was that at the end we would have something to submit to the iTunes App Store, and he was OK with that.</p>
<p>So at approximately 3:00 PM on Monday (Memorial Day), JD pulled up to my house in Columbia, SC. The trip took him 5 hours, instead of the 3 that he had originally thought. After a brief meet &#038; greet (plus various social networking connections, which I guess are the modern equivalent of <a href="http://en.wikipedia.org/wiki/Visiting_card">calling cards</a>), we sat down to do a quick mockup of his site.</p>
<p>We used a new tool that I really, really like: <a href="http://www.balsamiq.com/products/mockups">Balsamique Markups</a>. It&#8217;s a very nice WYSIWYG tool for laying out web pages, applications, and iPhone apps. For OCD perfectionists (which many developers are), I find the cartoony graphics strangely freeing. It really lets me lay out the gist of something without getting sucked into the minutiae of a full design.</p>
<p>We agreed on a basic application that would:
<ul>
<li>display his blog in a browser control</li>
<li>let the user forward a link to a friend</li>
<li>take the user to a newsletter signup</li>
<li>take the user to feedburner</li>
</ul>
<p>The one rule of iPhone development is that the things you think will be simple will be hard, and the things you think will be hard will be easy. We had a browser window up and running with his blog in it within 30 minutes. But producing a decent-looking home button image took almost an hour.</p>
<p>Possibly the most interesting part of the project was having someone I&#8217;d never met come and crash at my house while developing an application. My mother (who lives with me) was a little leery of the idea at first. &#8220;What if he&#8217;s an axe murderer?&#8221;</p>
<p>After JD and I had been working for a while and I mentioned this to him, he assured her that he was not an axe murderer, which I&#8217;m not sure had the desired effect. I put it to her like this &#8220;It&#8217;s like we&#8217;re running a bed &#038; breakfast, with iPhone development on the side.&#8221; Hmmmm&#8230;.</p>
<p>In any case, working with JD was a real pleasure, and we had some interesting conversations over cigars at the end of the day. Now, let&#8217;s all keep our fingers crossed that Apple will be kind and merciful and approve the app!</p>
]]></content:encoded>
			<wfw:commentRss>http://smeans.com/2009/05/30/a-day-with-the-jester/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Easy way to lock your Mac.</title>
		<link>http://smeans.com/2009/05/19/easy-way-to-lock-your-mac/</link>
		<comments>http://smeans.com/2009/05/19/easy-way-to-lock-your-mac/#comments</comments>
		<pubDate>Tue, 19 May 2009 14:46:15 +0000</pubDate>
		<dc:creator>smeans</dc:creator>
				<category><![CDATA[life]]></category>
		<category><![CDATA[Mac]]></category>
		<category><![CDATA[tips]]></category>

		<guid isPermaLink="false">http://smeans.com/2009/05/19/easy-way-to-lock-your-mac/</guid>
		<description><![CDATA[When I switched from a Windows box to a Mac, oddly enough the thing that I missed the most was the Windows+L hotkey to lock my screen. I tend to work in coffee shops and restaurants a lot, and if I get up to get something to drink or stretch my legs, I don&#8217;t like [...]]]></description>
			<content:encoded><![CDATA[<p>When I switched from a Windows box to a Mac, oddly enough the thing that I missed the most was the Windows+L hotkey to lock my screen. I tend to work in coffee shops and restaurants a lot, and if I get up to get something to drink or stretch my legs, I don&#8217;t like to leave my computer wide open. I know, someone could always go for the grab, but I&#8217;m just interested in discouraging the idly curious.</p>
<p>After googling around a little, I found out about the Login Window menu item (accessed through your user name in the menu bar), which is nice. But I was poking around with System Preferences (under the apple menu) yesterday and I came across the Exposé feature. It lets you assign actions (like run the screensaver) to &#8220;hot corners&#8221; of your display. Now, all I have to do is drag my mouse to the lower-right corner of my screen and the screensaver pops up. Almost as good as the old hotkey!</p>
]]></content:encoded>
			<wfw:commentRss>http://smeans.com/2009/05/19/easy-way-to-lock-your-mac/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Free Internet at Starbucks (finally)!</title>
		<link>http://smeans.com/2009/05/15/free-internet-at-starbucks-finally/</link>
		<comments>http://smeans.com/2009/05/15/free-internet-at-starbucks-finally/#comments</comments>
		<pubDate>Fri, 15 May 2009 18:01:06 +0000</pubDate>
		<dc:creator>smeans</dc:creator>
				<category><![CDATA[life]]></category>
		<category><![CDATA[free]]></category>
		<category><![CDATA[Starbucks]]></category>
		<category><![CDATA[wifi]]></category>

		<guid isPermaLink="false">http://smeans.com/2009/05/15/free-internet-at-starbucks-finally/</guid>
		<description><![CDATA[Ok, so I&#8217;ve ended my long-running (5+ years?!?) feud with Starbucks because I can now get free Internet. In fact, I&#8217;m typing this from the Starbucks at the Columbiana Mall right now. The secret steps to getting your free access are:
1) Buy a Starbucks gift card. The minimum amount is $5, so guess how much [...]]]></description>
			<content:encoded><![CDATA[<p>Ok, so I&#8217;ve ended my long-running (5+ years?!?) feud with Starbucks because I can now get free Internet. In fact, I&#8217;m typing this from the Starbucks at the Columbiana Mall right now. The secret steps to getting your free access are:</p>
<p>1) Buy a Starbucks gift card. The minimum amount is $5, so guess how much I paid.<br />
2) Fire up your laptop and look for a link on the free WiFi greeting page about &#8220;Complimentary Wifi&#8221;.<br />
3) You&#8217;ll need to create a free Starbucks.com account using the new gift card # and the secret PIN (which you have to scratch-off).<br />
4) Enjoy the yummy free WiFi!</p>
]]></content:encoded>
			<wfw:commentRss>http://smeans.com/2009/05/15/free-internet-at-starbucks-finally/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>The mother of all dynamic SQL Crosstab View Builders.</title>
		<link>http://smeans.com/2009/02/03/the-mother-of-all-dynamic-sql-crosstab-view-builders/</link>
		<comments>http://smeans.com/2009/02/03/the-mother-of-all-dynamic-sql-crosstab-view-builders/#comments</comments>
		<pubDate>Tue, 03 Feb 2009 19:53:35 +0000</pubDate>
		<dc:creator>smeans</dc:creator>
				<category><![CDATA[coding]]></category>
		<category><![CDATA[database]]></category>
		<category><![CDATA[life]]></category>
		<category><![CDATA[crosstab]]></category>
		<category><![CDATA[sql]]></category>

		<guid isPermaLink="false">http://smeans.com/?p=110</guid>
		<description><![CDATA[Ok, so maybe it&#8217;s not too poetic, but it&#8217;s descriptive. As I found myself writing a dynamic crosstab-query builder in MS SQL for probably the fifth time of my career, I decided I&#8217;d post it here to save you all just a little time in your day. Make sure you use the saved time for [...]]]></description>
			<content:encoded><![CDATA[<p>Ok, so maybe it&#8217;s not too poetic, but it&#8217;s descriptive. As I found myself writing a dynamic crosstab-query builder in MS SQL for probably the fifth time of my career, I decided I&#8217;d post it here to save you all just a little time in your day. Make sure you use the saved time for something I&#8217;d approve of (smoking a good cigar, playing a little poker, something like that).</p>
<p>This proc is designed for when you have a dynamic set of row-oriented data you want to pivot and show column-wise. It takes four parameters:</p>
<p>@tableName &#8211; Name of the source table (or view) that will be queried by the new crosstab view.<br />
@excludeCols &#8211; A comma separated list of columns to exclude from the crosstab. In most cases, will be the ID column of the table.<br />
@valueColName &#8211; Name of the column in the @tableName table that contains the value in a given row.<br />
@targetViewName &#8211; Name of the view that the stored procedure will create. It will *automatically* drop this column before re-creating it, so be warned.</p>
<p>This proc also assumes that the @tableName table (or view) has a column called [colName]. It uses this value to create the corresponding columns across the top of the output view.</p>
<p>Good luck!</p>
<p><code>ALTER PROCEDURE BuildCrosstabView(<br />
	@tableName VARCHAR(100),<br />
	@excludeCols VARCHAR(1000),<br />
	@valueColName VARCHAR(1000),<br />
	@targetViewName VARCHAR(100)<br />
)<br />
AS<br />
BEGIN<br />
	-- SET NOCOUNT ON added to prevent extra result sets from<br />
	-- interfering with SELECT statements.<br />
	SET NOCOUNT ON;</p>
<p>	DECLARE @cols VARCHAR(4000)<br />
	SET @cols = ''</p>
<p>	EXEC ('SELECT DISTINCT colName INTO ##colList FROM ' + @tableName)<br />
	DECLARE col_cursor CURSOR FOR<br />
	SELECT colName<br />
	FROM ##colList</p>
<p>	OPEN col_cursor</p>
<p>	DECLARE @colName VARCHAR(100)</p>
<p>	FETCH NEXT FROM col_cursor INTO @colName</p>
<p>	WHILE @@FETCH_STATUS = 0<br />
	BEGIN</p>
<p>	IF @cols &lt;&gt; ''<br />
	BEGIN<br />
		SET @cols = @cols + ', '<br />
	END</p>
<p>	SET @cols = @cols + 'MAX(CASE colName WHEN ''' + @colName + ''' THEN ' + @valueColName + ' ELSE NULL END) AS [' + @colName + ']<br />
'<br />
	FETCH NEXT FROM col_cursor INTO @colName</p>
<p>	END</p>
<p>	CLOSE col_cursor<br />
	DEALLOCATE col_cursor</p>
<p>	DROP TABLE ##colList</p>
<p>	DECLARE @sql VARCHAR(3000)<br />
	SET @sql = 'SELECT DISTINCT ' + @excludeCols + ', ' + @cols + ' FROM ' + @tableName + ' GROUP BY ' + @excludeCols<br />
	PRINT @sql<br />
	EXECUTE (@sql)<br />
	IF EXISTS (SELECT * FROM sys.views WHERE object_id = OBJECT_ID(N'[dbo].[' + @targetViewName + ']'))<br />
		EXECUTE ('DROP VIEW ' + @targetViewName)<br />
	EXECUTE ('CREATE VIEW ' + @targetViewName + ' AS ' + @sql)<br />
END<br />
GO</code></p>
]]></content:encoded>
			<wfw:commentRss>http://smeans.com/2009/02/03/the-mother-of-all-dynamic-sql-crosstab-view-builders/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>The birth of BlinkStory.</title>
		<link>http://smeans.com/2008/12/06/the-birth-of-blinkstory/</link>
		<comments>http://smeans.com/2008/12/06/the-birth-of-blinkstory/#comments</comments>
		<pubDate>Sat, 06 Dec 2008 16:28:18 +0000</pubDate>
		<dc:creator>smeans</dc:creator>
				<category><![CDATA[life]]></category>

		<guid isPermaLink="false">http://smeans.com/?p=88</guid>
		<description><![CDATA[As some of you know, I&#8217;ve started doing iPhone development recently. Between me and the Mikes (Old and New) we&#8217;ve thrown around a couple of hundred possible applications. We&#8217;re currently developing one called CashCurrent (in conjunction with another company, GraySail), but while I had some downtime on that project we decided to launch another one.
Yesterday [...]]]></description>
			<content:encoded><![CDATA[<p>As some of you know, I&#8217;ve started doing iPhone development recently. Between me and the Mikes (<a href="http://www.facebook.com/profile.php?id=556815955&#038;ref=ts">Old</a> and <a href="http://www.facebook.com/profile.php?id=1071937028&#038;ref=ts">New</a>) we&#8217;ve thrown around a couple of hundred possible applications. We&#8217;re currently developing one called CashCurrent (in conjunction with another company, <a href="http://graysail.com/">GraySail</a>), but while I had some downtime on that project we decided to launch another one.</p>
<p>Yesterday at lunch, New Mike and I were watching O.J. get sentenced and it occurred to us that it would be great if there were a news site that turned everyone with an iPhone into a reporter. We would be seeing news as it actually happened, with millions of eyes out there to catch it on camera. After spending three or four hours going through various names, BlinkStory </p>
]]></content:encoded>
			<wfw:commentRss>http://smeans.com/2008/12/06/the-birth-of-blinkstory/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>I love you Dave!</title>
		<link>http://smeans.com/2008/12/05/i-love-you-dave/</link>
		<comments>http://smeans.com/2008/12/05/i-love-you-dave/#comments</comments>
		<pubDate>Fri, 05 Dec 2008 16:05:51 +0000</pubDate>
		<dc:creator>smeans</dc:creator>
				<category><![CDATA[frugality]]></category>
		<category><![CDATA[life]]></category>

		<guid isPermaLink="false">http://smeans.com/?p=83</guid>
		<description><![CDATA[Ok, that came out a little funny, but I just finished repairing my dryer with a part I got from the Appliance Repair site run by Dave Harnish. When my dryer stopped working last Sunday, I thought &#8220;uh-oh, Best Buy here I come&#8221;. But times are tight and I thought I&#8217;d do a little research [...]]]></description>
			<content:encoded><![CDATA[<p>Ok, that came out a little funny, but I just finished repairing my dryer with a part I got from the <a href="http://www.davesrepair.com/index.html">Appliance Repair</a> site run by Dave Harnish. When my dryer stopped working last Sunday, I thought &#8220;uh-oh, Best Buy here I come&#8221;. But times are tight and I thought I&#8217;d do a little research before trashing the thing. I&#8217;m glad I did.</p>
<p>I found a troubleshooting guide on Dave&#8217;s site, and even though I initially mis-diagnosed the problem as a bad heating element, Dave&#8217;s prompt email diagnosis got me back on track. One $20 part later and I&#8217;m back in business. Thanks Dave!</p>
]]></content:encoded>
			<wfw:commentRss>http://smeans.com/2008/12/05/i-love-you-dave/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Who does this election really hurt?</title>
		<link>http://smeans.com/2008/11/05/who-does-this-election-really-hurt/</link>
		<comments>http://smeans.com/2008/11/05/who-does-this-election-really-hurt/#comments</comments>
		<pubDate>Wed, 05 Nov 2008 15:17:05 +0000</pubDate>
		<dc:creator>smeans</dc:creator>
				<category><![CDATA[life]]></category>

		<guid isPermaLink="false">http://smeans.com/2008/11/05/who-does-this-election-really-hurt/</guid>
		<description><![CDATA[As I was driving my son to school this morning, it occurred to me who would be the most impacted by yesterday&#8217;s election: the little sign makers.
Without a pending election, who is going to buy hundreds of those little wire-frame signs? Will there be enough cheap mortgages and weight loss schemes to make up the [...]]]></description>
			<content:encoded><![CDATA[<p>As I was driving my son to school this morning, it occurred to me who would be the most impacted by yesterday&#8217;s election: the little sign makers.</p>
<p>Without a pending election, who is going to buy hundreds of those little wire-frame signs? Will there be enough cheap mortgages and weight loss schemes to make up the deficit? I think not.</p>
<p><a href="http://smeans.com/wp-content/uploads/2008/11/p-640-480-a664d802-5922-4f38-a7bc-ec77e6e674f5.jpeg"><img src="http://smeans.com/wp-content/uploads/2008/11/p-640-480-a664d802-5922-4f38-a7bc-ec77e6e674f5.jpeg" alt="" width="225" height="300" class="alignnone size-full wp-image-364" /></a></p>
]]></content:encoded>
			<wfw:commentRss>http://smeans.com/2008/11/05/who-does-this-election-really-hurt/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>A picture of misery.</title>
		<link>http://smeans.com/2008/11/02/a-picture-of-misery/</link>
		<comments>http://smeans.com/2008/11/02/a-picture-of-misery/#comments</comments>
		<pubDate>Sun, 02 Nov 2008 16:40:10 +0000</pubDate>
		<dc:creator>smeans</dc:creator>
				<category><![CDATA[coding]]></category>
		<category><![CDATA[life]]></category>

		<guid isPermaLink="false">http://smeans.com/?p=72</guid>
		<description><![CDATA[View Larger Map
I was reading the local paper on Thursday and came across the list of properties that will be auctioned by the Richland County treasurer for back taxes. I got curious, and found the list of properties on the county web site, but a big list of names and amounts just wasn&#8217;t very easy [...]]]></description>
			<content:encoded><![CDATA[<p><iframe width="450" height="450" frameborder="0" scrolling="no" marginheight="0" marginwidth="0" src="http://maps.google.com/maps/ms?ie=UTF8&amp;hl=en&amp;msa=0&amp;msid=103502897134112242148.00045a7d736f2d7be9f31&amp;s=AARTsJrGFJCAnosU4-j9tSRBaahHGo77uQ&amp;ll=34.051522,-81.009064&amp;spn=0.273076,0.439453&amp;z=11&amp;output=embed"></iframe><br /><small><a href="http://maps.google.com/maps/ms?ie=UTF8&amp;hl=en&amp;msa=0&amp;msid=103502897134112242148.00045a7d736f2d7be9f31&amp;ll=34.051522,-81.009064&amp;spn=0.273076,0.439453&amp;z=11&amp;source=embed" style="color:#0000FF;text-align:left">View Larger Map</a></small><br />
I was reading the local paper on Thursday and came across the list of properties that will be auctioned by the Richland County treasurer for back taxes. I got curious, and found the list of properties on the county web site, but a big list of names and amounts just wasn&#8217;t very easy for me to picture. So I wrote a little script, geocoded the addresses, converted the results to KML, and uploaded to it to Google Maps. Hard to believe that behind every little dot there&#8217;s a story of someone&#8217;s home lost.</p>
]]></content:encoded>
			<wfw:commentRss>http://smeans.com/2008/11/02/a-picture-of-misery/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
