<?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>Golfingstat.com blog</title>
	<atom:link href="http://www.golfingstat.com/blog/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.golfingstat.com/blog</link>
	<description>GolfingStat News and Information</description>
	<lastBuildDate>Mon, 13 May 2013 20:54:39 +0000</lastBuildDate>
	<language>en-US</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.5.1</generator>
		<item>
		<title>How To Score a Golf Card</title>
		<link>http://www.golfingstat.com/blog/2013/05/13/how-to-score-a-golf-card/</link>
		<comments>http://www.golfingstat.com/blog/2013/05/13/how-to-score-a-golf-card/#comments</comments>
		<pubDate>Mon, 13 May 2013 17:48:30 +0000</pubDate>
		<dc:creator>clayton</dc:creator>
				<category><![CDATA[General]]></category>

		<guid isPermaLink="false">http://www.golfingstat.com/blog/?p=150</guid>
		<description><![CDATA[<p>Basic Golf Card The basic golf card will have holes along the top with distances, pars and handicaps for each hole. Hole handicaps can generally be ignored for basic golf score keeping. The distances can also be ignored for now &#8230; <a href="http://www.golfingstat.com/blog/2013/05/13/how-to-score-a-golf-card/">Continue reading <span class="meta-nav">&#8594;</span></a></p><p>The post <a href="http://www.golfingstat.com/blog/2013/05/13/how-to-score-a-golf-card/">How To Score a Golf Card</a> appeared first on <a href="http://www.golfingstat.com/blog">Golfingstat.com blog</a>.</p>]]></description>
				<content:encoded><![CDATA[<!-- AdSense Now! V3.24 -->
<!-- Post[count: 3] -->
<div class="adsense adsense-leadin" style="float:left;margin: 12px;"><script type="text/javascript"><!--
google_ad_client = "ca-pub-5255570422031311";
/* GS Blog */
google_ad_slot = "4414945069";
google_ad_width = 468;
google_ad_height = 60;
//-->
</script>
<script type="text/javascript"
src="http://pagead2.googlesyndication.com/pagead/show_ads.js">
</script><div style="clear:both;"></div></div><div id="attachment_151" class="wp-caption alignleft" style="width: 720px"><a href="http://www.golfingstat.com/blog/wp-content/uploads/2013/05/golf_scorecard.jpg"><img class="size-full wp-image-151" alt="Golf Score Card" src="http://www.golfingstat.com/blog/wp-content/uploads/2013/05/golf_scorecard.jpg" width="710" height="485" /></a><p class="wp-caption-text">A typical golf scorecard format.</p></div>
<p><strong>Basic Golf Card</strong></p>
<p>The basic golf card will have holes along the top with distances, pars and handicaps for each hole. Hole handicaps can generally be ignored for basic golf score keeping. The distances can also be ignored for now as distances are more informational and help the player while they are on the course.</p>
<p>Par is important however as it is the baseline that is used to calculate the users score against par.</p>
<p>In the example above there are five tees listed (Gold, Blue, White, Silver, Red). For each of these tees the distance, par and even handicap can be different. So it is important to know which tee you are playing from so that you know which tee to use on the score card.</p>
<p><strong>Scoring a Golf Card</strong><br />
Now that we understand the information that is on the score card we can shift our focus to how to score a golf card.</p>
<p><span style="text-decoration: underline;">Steps to Scoring a Golf Card</span>:<br />
1. Write the name for each golfer<br />
• This goes along the left hand cell in the example above (just under the Handicap)</p>
<p>2. As you play write the result of each hole<br />
• The result for each hole goes in the cell that intersects the golfers name and the hole which they scored the result on. If the golfer scores a 5 on the first hole then the scorer would mark a 5 in the cell beside the golfers name.</p>
<p>That is really it and with this basic information you can keep the score on a basic golf card.</p>
<p><strong>Out/In/Total</strong><br />
While keeping the score for each hole is important, it is also important to add up the Out, In and Total correctly.</p>
<p><span style="text-decoration: underline;">Out</span>: The total score for the first 9 holes<br />
<span style="text-decoration: underline;">In</span>: The total score for holes 10 through 18<br />
<span style="text-decoration: underline;">Total</span>: The total for all 18 holes</p>
<p><strong>Tournament Scoring</strong><br />
Generally during tournaments you will play with one or more player in your group. Each player will have another player keep score for them. So Player A will keep score for Player B and vice versa. Tournaments use this format to reduce the cheating and to add a bit of formality to the process so that scoring is as accurate as possible.</p>
<p>At the end of each round the player is required to sign their scorecard to indicate that the score that the other player has kept for them is indeed accurate.</p>
<p>Note: The signature is signifying that the hole scores are accurate but does not signify that the addition of the scores (Out, In, Total) is correct.</p>
<p><strong>Use of Symbols</strong><br />
Commonly people will use symbols to indicate how a hole score relates to par. A score that is circled represents a below par (e.g. birdie or eagle). A score that has a square around it represents a score that is above par (e.g. a bogie). If a score does not have a symbol then it means that the score is a par. My score cards generally have a lot of squares on them.</p>
<p><a href="http://www.golfingstat.com/blog/wp-content/uploads/2013/05/gs_card.gif"><img class="alignleft size-full wp-image-158" alt="gs_card" src="http://www.golfingstat.com/blog/wp-content/uploads/2013/05/gs_card.gif" width="500" height="275" /></a></p>
<p><strong>Golfingstat.com Scorecard</strong><br />
Given that Golfingstat.com users like stats and need more information to drive the stats they need to capture more on their score cards. The way that we recommend you do that is to use a whole score card for each player. That way you have up to four rows to write information for each hole. Here are the three that I usually capture and how I capture them.</p>
<p><span style="text-decoration: underline;">Score</span> – As detailed above.<br />
<span style="text-decoration: underline;">Putts </span>– Similar to score. Just write the number of putts that you had for this hole. Then total them for Out, In, Total<br />
<span style="text-decoration: underline;">Fairways</span> – Fairway for each hole will either be a check to indicate a fairway hit, a X to indicate that it is a fairway missed or a – to indicate that it wasn’t an eligible hole (e.g. a par 3). I then usually add the fairways hit for in, out, total.</p>
<p>Golfingstat.com records greens in regulation as well but you do not have to record that on your score card since it is calculated automatically. You record a green in regulation if you had a birdie putt opportunity on the hole. Since you are recording your score and the number of putts we can easily calculate this without you recording it manually.</p>
<p><span style="color: #808080;"><a href="http://www.golfingstat.com"><span style="color: #808080;">Golfingstat.com is a website that allows you to track your handicap and other golf stats for free.</span></a></span></p>
<p>The post <a href="http://www.golfingstat.com/blog/2013/05/13/how-to-score-a-golf-card/">How To Score a Golf Card</a> appeared first on <a href="http://www.golfingstat.com/blog">Golfingstat.com blog</a>.</p>]]></content:encoded>
			<wfw:commentRss>http://www.golfingstat.com/blog/2013/05/13/how-to-score-a-golf-card/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Digital Ocean from Linode</title>
		<link>http://www.golfingstat.com/blog/2013/01/16/digital-ocean-from-linode/</link>
		<comments>http://www.golfingstat.com/blog/2013/01/16/digital-ocean-from-linode/#comments</comments>
		<pubDate>Wed, 16 Jan 2013 14:48:31 +0000</pubDate>
		<dc:creator>clayton</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://www.golfingstat.com/blog/?p=145</guid>
		<description><![CDATA[<p>Was checking out VPS hosts as I do periodically to make sure that I still have the best service for my dime. Stumbled across a VPS host called Digital Ocean, their offerings have 2x the ram of Linode for a &#8230; <a href="http://www.golfingstat.com/blog/2013/01/16/digital-ocean-from-linode/">Continue reading <span class="meta-nav">&#8594;</span></a></p><p>The post <a href="http://www.golfingstat.com/blog/2013/01/16/digital-ocean-from-linode/">Digital Ocean from Linode</a> appeared first on <a href="http://www.golfingstat.com/blog">Golfingstat.com blog</a>.</p>]]></description>
				<content:encoded><![CDATA[<p>Was checking out VPS hosts as I do periodically to make sure that I still have the best service for my dime.</p>
<p>Stumbled across a VPS host called <a href="http://www.digitalocean.com" target="_blank">Digital Ocean</a>, their offerings have 2x the ram of Linode for a quarter of the cost. So instead of hosting off of a single 512mb server I was able to get a 512mb server for an app server and another 512mb server to host the database and only pay half what I was paying before.</p>
<p>Digital Ocean charges by the hour too so I can have a development server that is an image of the production server and can spin it up/down as needed rather than trying to run a development instance on my production server in the limited linode memory.</p>
<p>I think the only downside to this is that Linode gives you up to 4 CPU&#8217;s (depends on how busy the server you are on is) where as Digital Ocean only provides a single CPU. For me currently I think memory was my bottleneck so I don&#8217;t think being limited on CPU will impact me drastically and if it does then I can still spin up a few more instances and introduce more app servers.</p>
<p>I was worried about how long the migration would take but it was actually only a few hours of work. The worst part was trying to get Bluepill and RVM to play nicely together and start correctly on reboot. Other than that it was pretty smooth sailing&#8230; <img src='http://www.golfingstat.com/blog/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' /> </p>
<p>The post <a href="http://www.golfingstat.com/blog/2013/01/16/digital-ocean-from-linode/">Digital Ocean from Linode</a> appeared first on <a href="http://www.golfingstat.com/blog">Golfingstat.com blog</a>.</p>]]></content:encoded>
			<wfw:commentRss>http://www.golfingstat.com/blog/2013/01/16/digital-ocean-from-linode/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>5 Handicap vs. 20 Handicap</title>
		<link>http://www.golfingstat.com/blog/2012/07/23/5-handicap-vs-20-handicap/</link>
		<comments>http://www.golfingstat.com/blog/2012/07/23/5-handicap-vs-20-handicap/#comments</comments>
		<pubDate>Mon, 23 Jul 2012 23:17:00 +0000</pubDate>
		<dc:creator>clayton</dc:creator>
				<category><![CDATA[General]]></category>
		<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[Golf Handicap]]></category>

		<guid isPermaLink="false">http://www.golfingstat.com/blog/?p=138</guid>
		<description><![CDATA[<p>I went through the exercise of comparing a 5 handicapper to a 20 handicapper. The first thing that jumps out is the number of rounds that a 5 handicapper is playing.  In this comparison the 5 handicapper has played 26 &#8230; <a href="http://www.golfingstat.com/blog/2012/07/23/5-handicap-vs-20-handicap/">Continue reading <span class="meta-nav">&#8594;</span></a></p><p>The post <a href="http://www.golfingstat.com/blog/2012/07/23/5-handicap-vs-20-handicap/">5 Handicap vs. 20 Handicap</a> appeared first on <a href="http://www.golfingstat.com/blog">Golfingstat.com blog</a>.</p>]]></description>
				<content:encoded><![CDATA[<p>I went through the exercise of comparing a 5 handicapper to a 20 handicapper. The first thing that jumps out is the number of rounds that a 5 handicapper is playing.  In this comparison the 5 handicapper has played 26 rounds over a 2 month period while the 20 handicapper has played only 4. If you are going to get better you need to practice and play more.</p>
<p><span style="text-decoration: underline;"><strong>Putting (2.5 strokes)</strong></span><br />
33.5 putts per round vs 36 putts per round</p>
<p>You always read that improving your putting can drastically lower your score. In this comparison the 5 handicapper putts on average 2.5 putts less a round than the 20 handicapper. While I am sure everyone would like to shave 2 or 3 strokes off their round but this isn&#8217;t a massive difference.</p>
<p><span style="text-decoration: underline;"><strong>Iron Play and Chipping (17.3 strokes)</strong></span><br />
To get a sense of the importance of iron play we are going to look the holes where drivers do not factor in (Par 3’s). Our 5 handicapper averages 3.4 strokes per par 3 while our 20 handicapper averages 4.5 strokes per par 3. If we take that average and apply it to a whole round (18 holes) that is 61.2 for the 5 handicapper and 81 for the 20 handicapper. Now we take the putts off of this and it becomes 27.7 and 45 respectivly. This is a difference of 17.3 strokes.</p>
<p>This also explains the large difference in greens in regulation (50.45% vs 12.5%). If you hit better approach shots you will hit more greens in regulation.</p>
<p><strong><span style="text-decoration: underline;">Driving (1.8 strokes)</span><br />
</strong>To assess driving we are going to look at par 4s then take away the expected number of iron strokes and putting strokes (par3 averages).  The 5 handicapper averages 4.45 on par 4s and the 20 handicapper averages 5.65 on par 4s. The average over 18 holes for the 5 handicapper is 61.2, while the average over 18 holes for the 20 handicapper is 101.7. If we take the iron strokes from “Iron Play and Chipping” out of this we end up with 18.9 for the 5 handicapper and 20.7 for the 20 handicapper. This means that driving only accounts for roughly 1.8 of the strokes per round.</p>
<p>Driving clearly has an impact on iron play and chipping stats as well. If a player hits a long and accurate drive then more often than not they will have a shorter iron with a good lie for their approach shot.</p>
<p>Interestingly even though there was not a large difference in the par 4 stats (with par 3 taken out) there was a slight difference in the fairway %.  The 5 handicapper hit 64.1% of fairways while the 20 handicapper hit 47.25% of fairways.</p>
<p>So to recap it appears that iron play and chipping is the biggest difference between a 20 handicapper and a 5 handicapper.</p>
<p><strong><span style="text-decoration: underline;">Links:<br />
</span></strong><a href="http://www.golfingstat.com">Golf Handicap Tracker</a><br />
<a href="http://www.golfingstat.com/users/44">5 handicapper (my dad)</a><br />
<a href="http://www.golfingstat.com/users/1">20 handicapper  (me)</a></p>
<p>The post <a href="http://www.golfingstat.com/blog/2012/07/23/5-handicap-vs-20-handicap/">5 Handicap vs. 20 Handicap</a> appeared first on <a href="http://www.golfingstat.com/blog">Golfingstat.com blog</a>.</p>]]></content:encoded>
			<wfw:commentRss>http://www.golfingstat.com/blog/2012/07/23/5-handicap-vs-20-handicap/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Golf Handicap Calculation</title>
		<link>http://www.golfingstat.com/blog/2012/07/18/golf-handicap/</link>
		<comments>http://www.golfingstat.com/blog/2012/07/18/golf-handicap/#comments</comments>
		<pubDate>Wed, 18 Jul 2012 16:21:42 +0000</pubDate>
		<dc:creator>clayton</dc:creator>
				<category><![CDATA[GolfingStat News]]></category>
		<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[Golf Handicap]]></category>

		<guid isPermaLink="false">http://www.golfingstat.com/blog/?p=122</guid>
		<description><![CDATA[<p>This is the logic we use at GolfingStat.com to calculate your golf handicap. It adheres to the USGA rules and although it is not sanctioned by the USGA it will give you a handicap which matches your USGA handicap. Go &#8230; <a href="http://www.golfingstat.com/blog/2012/07/18/golf-handicap/">Continue reading <span class="meta-nav">&#8594;</span></a></p><p>The post <a href="http://www.golfingstat.com/blog/2012/07/18/golf-handicap/">Golf Handicap Calculation</a> appeared first on <a href="http://www.golfingstat.com/blog">Golfingstat.com blog</a>.</p>]]></description>
				<content:encoded><![CDATA[<p><a href="http://www.golfingstat.com/blog/wp-content/uploads/2012/07/Golf_Handicap.png"><img class="alignnone size-full wp-image-131" title="Golf Handicap" src="http://www.golfingstat.com/blog/wp-content/uploads/2012/07/Golf_Handicap.png" alt="Golf Handicap" width="343" height="1359" /></a></p>
<p>This is the logic we use at GolfingStat.com to calculate your golf handicap. It adheres to the USGA rules and although it is not sanctioned by the USGA it will give you a handicap which matches your USGA handicap.</p>
<p>Go ahead and <a title="Sign Up" href="http://www.golfingstat.com/users/sign_up">sign up</a> for GolfingStat.com and begin tracking your golf handicap.</p>
<p>The post <a href="http://www.golfingstat.com/blog/2012/07/18/golf-handicap/">Golf Handicap Calculation</a> appeared first on <a href="http://www.golfingstat.com/blog">Golfingstat.com blog</a>.</p>]]></content:encoded>
			<wfw:commentRss>http://www.golfingstat.com/blog/2012/07/18/golf-handicap/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Week #1 of Tracking Golf Stats</title>
		<link>http://www.golfingstat.com/blog/2012/05/29/week-1-of-tracking-golf-stats/</link>
		<comments>http://www.golfingstat.com/blog/2012/05/29/week-1-of-tracking-golf-stats/#comments</comments>
		<pubDate>Tue, 29 May 2012 20:41:29 +0000</pubDate>
		<dc:creator>clayton</dc:creator>
				<category><![CDATA[GolfingStat News]]></category>

		<guid isPermaLink="false">http://www.golfingstat.com/blog/?p=117</guid>
		<description><![CDATA[<p>GolfingStats.com has been live for a full week now! Have learned some things, have made some adjustments and will continue to make adjustments to hopefully get this thing rolling better. Please if you have any ideas or suggestions feel free &#8230; <a href="http://www.golfingstat.com/blog/2012/05/29/week-1-of-tracking-golf-stats/">Continue reading <span class="meta-nav">&#8594;</span></a></p><p>The post <a href="http://www.golfingstat.com/blog/2012/05/29/week-1-of-tracking-golf-stats/">Week #1 of Tracking Golf Stats</a> appeared first on <a href="http://www.golfingstat.com/blog">Golfingstat.com blog</a>.</p>]]></description>
				<content:encoded><![CDATA[<p>GolfingStats.com has been live for a full week now! Have learned some things, have made some adjustments and will continue to make adjustments to hopefully get this thing rolling better. Please if you have any ideas or suggestions feel free to use the Contact Us link.</p>
<p>Given that a big part of GolfingStats is Stats here are some Week #1 GolfingStats Stats:</p>
<p>Number of Users Created: 23<br />
Number of Rounds Created: 40<br />
Number of Courses Created: 31</p>
<p>Average User Handicap: 18.9<br />
Average Round Score: 89.1<br />
Average Putts Per Round: 35.2<br />
Average Fairway %: 36.8%<br />
Average GIR: 26.5</p>
<p>My handicap after one round this season is 25.1. So I am 6.2 behind the average&#8230;I now have a goal!</p>
<p>In terms of future features I have some big plans&#8230;</p>
<p>1. Predictions: Click on a round that someone else has played and see what GolfingStat.com thinks you would shoot on that same course/tee. Also want to have some fun predictions (e.g. How would you shoot from the tips @ Augusta?)</p>
<p>2. Friends Tab:<br />
a) Invite Friends: GolfingStat is great! Not enough people know about it though. You should be able to invite your Facebook friends.<br />
b) Linking Friends: You have friends on GolfingStat.com so you should be able to see how they are playing.<br />
c) Notifications: Be the first to know when a friend posts a new round, so that you can talk some trash or congratulate them</ol>
<p>The post <a href="http://www.golfingstat.com/blog/2012/05/29/week-1-of-tracking-golf-stats/">Week #1 of Tracking Golf Stats</a> appeared first on <a href="http://www.golfingstat.com/blog">Golfingstat.com blog</a>.</p>]]></content:encoded>
			<wfw:commentRss>http://www.golfingstat.com/blog/2012/05/29/week-1-of-tracking-golf-stats/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Planning the GolfingStat.com Launch</title>
		<link>http://www.golfingstat.com/blog/2012/05/14/web-application-launch/</link>
		<comments>http://www.golfingstat.com/blog/2012/05/14/web-application-launch/#comments</comments>
		<pubDate>Mon, 14 May 2012 16:33:43 +0000</pubDate>
		<dc:creator>clayton</dc:creator>
				<category><![CDATA[General]]></category>
		<category><![CDATA[Facebook Open Graph]]></category>
		<category><![CDATA[Google Adwords]]></category>

		<guid isPermaLink="false">http://blog.golfingstat.com/?p=103</guid>
		<description><![CDATA[<p>So I have been plugging away on this site for almost a year. I am like 95% there and just have a few more pages to finish before I am ready to release! My plan is to generate traffic by using &#8230; <a href="http://www.golfingstat.com/blog/2012/05/14/web-application-launch/">Continue reading <span class="meta-nav">&#8594;</span></a></p><p>The post <a href="http://www.golfingstat.com/blog/2012/05/14/web-application-launch/">Planning the GolfingStat.com Launch</a> appeared first on <a href="http://www.golfingstat.com/blog">Golfingstat.com blog</a>.</p>]]></description>
				<content:encoded><![CDATA[<p>So I have been plugging away on this site for almost a year. I am like 95% there and just have a few more pages to finish before I am ready to release!</p>
<p>My plan is to generate traffic by using a free $100 in Google Adsense.</p>
<p>Not sure if my numbers make sense but here is what I am thinking&#8230;</p>
<p>I know that people will be more likely to adopt a score tracking tool earlier in the season because they are more enthusiastic about the sport in the early months. I also know if they start using a tool earlier in the season they are less likely to dump it and pick up another tool. So I need to get as many visit as possible in the first 30 days or so after launch otherwise the value of a visit will be significantly lower.</p>
<p>Playing around with Googles Adwords tools I figure $0.30 is a good Cost Per Click for me. This will give me about 350 visits on keywords that I think are good for my site and will use up my $100 in about 37 days.</p>
<p>Assuming 10% of the people who visit my landing page will sign up leaves me with about 35 users from the Adwords Campaign (Cost to acquire a user is about $2.85 per user). Assuming 25% of them actually use my product and post a round a month to Facebook and each user has about 200 Facebook friends that means I will get ~1750 open graph impressions from users posting round. Of those impressions assuming 1% of viewers click through and 50% of those sign up that means I will get 8.75 new users from Facebook open graph impressions.</p>
<table width="340" border="0" cellspacing="0" cellpadding="0">
<colgroup>
<col width="276" />
<col width="64" /> </colgroup>
<tbody>
<tr>
<td width="276" height="20">AdWords Budget</td>
<td align="right" width="64">$100.00</td>
</tr>
<tr>
<td height="20">Cost Per Click</td>
<td align="right">0.3</td>
</tr>
<tr>
<td height="20">Clicks Per Day</td>
<td align="right">10</td>
</tr>
<tr>
<td height="20">Cost Per Day</td>
<td align="right">$2.70</td>
</tr>
<tr>
<td height="20">Campaign Length</td>
<td align="right">37</td>
</tr>
<tr>
<td height="20">Total Clicks from Adwords</td>
<td align="right">333</td>
</tr>
<tr>
<td height="20">Signup from AdWords (~10%)</td>
<td align="right">35</td>
</tr>
<tr>
<td height="20">Active Users From Adwords (25%)</td>
<td align="right">8.75</td>
</tr>
<tr>
<td height="20">Impressions on Facebook (200 Friends)</td>
<td align="right">1750</td>
</tr>
<tr>
<td height="20">Click Through Rate from Facebook</td>
<td align="right">1%</td>
</tr>
<tr>
<td height="20">Visits from Facebook</td>
<td align="right">17.5</td>
</tr>
<tr>
<td height="20">New Users from Facebook Visits (50%)</td>
<td align="right">8.75</td>
</tr>
<tr>
<td height="20">Total New Users</td>
<td align="right">43.75</td>
</tr>
</tbody>
</table>
<p>This of course does not take into account any organic search, which hopefully will supplement my user growth from Adwords and reduce me user acquisition cost.</p>
<p>This should all happen in the first 60 days. Since I am targeting a launch of June 1st I will check back in on August 1st and report how close/far off I was with my assumptions.</p>
<p>The post <a href="http://www.golfingstat.com/blog/2012/05/14/web-application-launch/">Planning the GolfingStat.com Launch</a> appeared first on <a href="http://www.golfingstat.com/blog">Golfingstat.com blog</a>.</p>]]></content:encoded>
			<wfw:commentRss>http://www.golfingstat.com/blog/2012/05/14/web-application-launch/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Finished Scaffolding, Going with Twitter Bootstrap</title>
		<link>http://www.golfingstat.com/blog/2012/03/14/twitter-bootstrap/</link>
		<comments>http://www.golfingstat.com/blog/2012/03/14/twitter-bootstrap/#comments</comments>
		<pubDate>Wed, 14 Mar 2012 18:09:44 +0000</pubDate>
		<dc:creator>clayton</dc:creator>
				<category><![CDATA[Bootstrap]]></category>
		<category><![CDATA[Asset Pipeline]]></category>
		<category><![CDATA[Twitter Bootstrap]]></category>
		<category><![CDATA[twitter-bootstrap-rails]]></category>

		<guid isPermaLink="false">http://blog.golfingstat.com/?p=91</guid>
		<description><![CDATA[<p>I have finished scaffolding the site (Release 1) and now have moved on to the UX and final development phase. After some consideration I decided to use the Twitter Bootstrap framework rather than designing from scratch. Here is an outline &#8230; <a href="http://www.golfingstat.com/blog/2012/03/14/twitter-bootstrap/">Continue reading <span class="meta-nav">&#8594;</span></a></p><p>The post <a href="http://www.golfingstat.com/blog/2012/03/14/twitter-bootstrap/">Finished Scaffolding, Going with Twitter Bootstrap</a> appeared first on <a href="http://www.golfingstat.com/blog">Golfingstat.com blog</a>.</p>]]></description>
				<content:encoded><![CDATA[<p>I have finished scaffolding the site (Release 1) and now have moved on to the UX and final development phase. After some consideration I decided to use the Twitter Bootstrap framework rather than designing from scratch.</p>
<p>Here is an outline of the analysis which went into my decision&#8230;</p>
<p><span style="text-decoration: underline;">Bootstrap &#8211; Pro&#8217;s</span></p>
<ul>
<li>Save ~40 hours of css pain</li>
<li>Output is better than I could produce (being honest with myself)</li>
<li>Quicker wins (Can start crossing off pages as being complete and I will feel better about the positive momentum)</li>
<li>Scaffolding was built using the blueprint framework (based on my experience completing the Rails Tutorial book examples)  and a lot of my divs use the &#8220;span-x&#8221; classes to specify widths so moving to Bootstrap is pretty easy</li>
<li>Cross-browser compatible out of the box</li>
</ul>
<p><span style="text-decoration: underline;">Bootstrap &#8211; Con&#8217;s</span></p>
<ul>
<li>Looks like every other site released in the last year</li>
<li>Spending time customizing which probably could be used writing CSS from scratch</li>
<li>To do properly requires me to enable the Rails asset pipleine which requires me to read/understand the Rails asset pipeline</li>
</ul>
<p>In the end the fact that I could save a weeks worth of work and have a better product won out and going with Bootstrap was clearly the best choice for my particular project.</p>
<p>Adding Bootstrap to my Rails app was pretty straight forward. I followed the <a title="Twitter Bootstrap Basics Railscast" href="http://railscasts.com/episodes/328-twitter-bootstrap-basics" target="_blank">Twitter Bootstrap Basics Railscast</a> and choose to use the<a title="twitter-bootstrap-rails" href="https://github.com/seyhunak/twitter-bootstrap-rails" target="_blank"> &#8216;twitter-bootstrap-rails&#8217;</a> gem. If it is good enough for Ryan Bates then it is probably good enough for me. The only issue I had following the directions was that Ryan&#8217;s instructions have &#8216;twitter-bootstrap-rails&#8217; in the assets section of the Gemfile as follows:</p>
<p></p><pre class="crayon-plain-tag">group :assets do
gem 'twitter-bootstrap-rails'
end</pre><p></p>
<p>Which was giving me errors because Rails wasn&#8217;t able to find the Twitter code. Instead of having the &#8216;twitter-bootstrap-rails&#8217; gem in the assets group I moved it into the main section of the Gemfile and my problems went away.</p>
<p>Next post will have my first screenshot of the site.</p>
<p>The post <a href="http://www.golfingstat.com/blog/2012/03/14/twitter-bootstrap/">Finished Scaffolding, Going with Twitter Bootstrap</a> appeared first on <a href="http://www.golfingstat.com/blog">Golfingstat.com blog</a>.</p>]]></content:encoded>
			<wfw:commentRss>http://www.golfingstat.com/blog/2012/03/14/twitter-bootstrap/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>New Relic is Pretty Awesome</title>
		<link>http://www.golfingstat.com/blog/2012/02/23/new-relic-is-pretty-awesome/</link>
		<comments>http://www.golfingstat.com/blog/2012/02/23/new-relic-is-pretty-awesome/#comments</comments>
		<pubDate>Thu, 23 Feb 2012 17:24:11 +0000</pubDate>
		<dc:creator>clayton</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[New Relic]]></category>
		<category><![CDATA[Ruby on Rails]]></category>

		<guid isPermaLink="false">http://blog.golfingstat.com/?p=81</guid>
		<description><![CDATA[<p>I know it is pretty early to be looking at application performance as I haven’t even released a beta but I decided that I wanted to play around with something to break up the coding and testing. From reading StackOverflow &#8230; <a href="http://www.golfingstat.com/blog/2012/02/23/new-relic-is-pretty-awesome/">Continue reading <span class="meta-nav">&#8594;</span></a></p><p>The post <a href="http://www.golfingstat.com/blog/2012/02/23/new-relic-is-pretty-awesome/">New Relic is Pretty Awesome</a> appeared first on <a href="http://www.golfingstat.com/blog">Golfingstat.com blog</a>.</p>]]></description>
				<content:encoded><![CDATA[<p>I know it is pretty early to be looking at application performance as I haven’t even released a beta but I decided that I wanted to play around with something to break up the coding and testing. From reading StackOverflow and other places I already knew that New Relic was pretty highly regarded in terms of being able to visualize and diagnose performance issues.</p>
<p>So I figured I would give them a try and play around with their product on my development environment and maybe it would surface some problems. Step one for installing their monitoring was creating an account on NewRelic.com. To my delight they were offering a free copy of The Lean Startup as a reward for signing up. The rest of the install was dead simple (install a gem, copy a yaml file to the server and make a few tweaks to the yaml file) the whole process only about 5 minutes from signup to the first data from my application showing up on the reports.</p>
<p>I will touch a bit on their reporting in a bit but before I get into that I just wanted to mention how they do free trial right. A lot of these free trials require you to put in a credit card and unless you remember to cancel they will bill you or at the very least shutdown your account. New Relic doesn’t do anything sleezy like that, instead they gracefully move you from the full featured professional version to the lite (free) version after your 14 day trial ends. They also take the time for a member of their sales team to reach out to you (I am sure the motive is to qualify you as a lead but still it gives the trial a personal touch) and ask you about your planned usage. Just for replying to their email they extended my free trial by 3 months.</p>
<p>On to their features…Since I am still in development mode I don’t really care about the server monitoring portion of their offering. I am more interested in their application monitoring. I love the web transactions features as they can show your controllers by average response time and you can then dive into the controller and see what is slowing things down.</p>
<p>So based on the controller average response time I can see that my RoundsController#update is taking 135ms more than any of my other controllers on the list.</p>
<p><a href="http://blog.golfingstat.com/wp-content/uploads/2012/02/controller_list.png"><img class="alignnone size-full wp-image-83" title="controller_list" src="http://blog.golfingstat.com/wp-content/uploads/2012/02/controller_list.png" alt="Controller List" width="512" height="529" /></a></p>
<p>The performance breakdown for that action looks like this:</p>
<p><a href="http://blog.golfingstat.com/wp-content/uploads/2012/02/breakdown.png"><img class="alignnone size-full wp-image-84" title="breakdown" src="http://blog.golfingstat.com/wp-content/uploads/2012/02/breakdown.png" alt="Controller Performance Breakdown" width="498" height="486" /></a></p>
<p>Compared to my TeesController#update (which runs at 55.8ms):</p>
<p><a href="http://blog.golfingstat.com/wp-content/uploads/2012/02/tee_breakdown.png"><img class="alignnone size-full wp-image-85" title="Controller Breakdown" src="http://blog.golfingstat.com/wp-content/uploads/2012/02/tee_breakdown.png" alt="Controller Breakdown" width="494" height="252" /></a></p>
<p>I am obviously doing something really expensive in the controller which I need to take a look at. I also might be able to optimize by reducing the calls to Hole#find as I am calling this 18 times and it is probably a lot quicker to get all the holes in a collection and just iterate through the collection. At this point I am not too worried about it though as this stuff might solve itself in pre-production. Just interesting to see where I might have potential problems.</p>
<p>I hope that golfingstat is successful enough that I can justify spending money on application/server monitoring, if I am lucky enough to make some money on this thing then there is no question that I will choose to use New Relic. Their product is great and as I mentioned above their customer service is excellent.</p>
<p>The post <a href="http://www.golfingstat.com/blog/2012/02/23/new-relic-is-pretty-awesome/">New Relic is Pretty Awesome</a> appeared first on <a href="http://www.golfingstat.com/blog">Golfingstat.com blog</a>.</p>]]></content:encoded>
			<wfw:commentRss>http://www.golfingstat.com/blog/2012/02/23/new-relic-is-pretty-awesome/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Extending Ruby Classes</title>
		<link>http://www.golfingstat.com/blog/2012/02/20/extending-ruby-classes/</link>
		<comments>http://www.golfingstat.com/blog/2012/02/20/extending-ruby-classes/#comments</comments>
		<pubDate>Tue, 21 Feb 2012 01:09:18 +0000</pubDate>
		<dc:creator>clayton</dc:creator>
				<category><![CDATA[Programming]]></category>
		<category><![CDATA[Ruby on Rails]]></category>
		<category><![CDATA[DRY]]></category>
		<category><![CDATA[Ruby]]></category>

		<guid isPermaLink="false">http://blog.golfingstat.com/?p=60</guid>
		<description><![CDATA[<p>In a few places within my program I want to truncate floating numbers instead of rounding them. So for instance I want to turn 4.56677 into 4.56. Suprisingly Ruby does not provide this function so in the spirit of DRY &#8230; <a href="http://www.golfingstat.com/blog/2012/02/20/extending-ruby-classes/">Continue reading <span class="meta-nav">&#8594;</span></a></p><p>The post <a href="http://www.golfingstat.com/blog/2012/02/20/extending-ruby-classes/">Extending Ruby Classes</a> appeared first on <a href="http://www.golfingstat.com/blog">Golfingstat.com blog</a>.</p>]]></description>
				<content:encoded><![CDATA[<p>In a few places within my program I want to truncate floating numbers instead of rounding them. So for instance I want to turn 4.56677 into 4.56. Suprisingly Ruby does not provide this function so in the spirit of DRY (don&#8217;t repeat yourself) I want to create this function once and be able to use it throughout my application.</p>
<p>All files in the &#8220;/config/initializers&#8221; directory are loaded with your app so this is the right place to put these kind of things. I can&#8217;t think of a good reason not to apply this function to all number types so I am extending the Numeric class and adding a trim_to_digits(digits) method that looks like this:</p><pre class="crayon-plain-tag">class Numeric
     def trim_to_digits(digits)
         m = 10 * digit
         return (self * m).to_i / m.to_f
     end
end</pre><p></p>
<p>Now I open a console to ensure that it is working correctly and get the following output:</p><pre class="crayon-plain-tag">ubuntu-vm:~/golfingstat$ rails c
Loading development environment (Rails 3.2.0)
1.9.2-p290 :001 &gt; 3.45433.trim_to_digits(2)
=&gt; 3.45</pre><p></p>
<p>Hopefully this little tip will help you become more DRY!</p>
<p>The post <a href="http://www.golfingstat.com/blog/2012/02/20/extending-ruby-classes/">Extending Ruby Classes</a> appeared first on <a href="http://www.golfingstat.com/blog">Golfingstat.com blog</a>.</p>]]></content:encoded>
			<wfw:commentRss>http://www.golfingstat.com/blog/2012/02/20/extending-ruby-classes/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>How I Planned / Estimated My Ruby on Rails Project</title>
		<link>http://www.golfingstat.com/blog/2012/02/13/how-i-planned-estimated-my-ruby-on-rails-project/</link>
		<comments>http://www.golfingstat.com/blog/2012/02/13/how-i-planned-estimated-my-ruby-on-rails-project/#comments</comments>
		<pubDate>Mon, 13 Feb 2012 15:19:37 +0000</pubDate>
		<dc:creator>clayton</dc:creator>
				<category><![CDATA[Ruby on Rails]]></category>
		<category><![CDATA[estimating]]></category>
		<category><![CDATA[planning]]></category>
		<category><![CDATA[project management]]></category>

		<guid isPermaLink="false">http://blog.golfingstat.com/?p=39</guid>
		<description><![CDATA[<p>How big is this thing and how long is it going to take me to build? This is a question I am continually asking myself&#8230;for the first month or two of working on Golfingstat.com I did not have an answer &#8230; <a href="http://www.golfingstat.com/blog/2012/02/13/how-i-planned-estimated-my-ruby-on-rails-project/">Continue reading <span class="meta-nav">&#8594;</span></a></p><p>The post <a href="http://www.golfingstat.com/blog/2012/02/13/how-i-planned-estimated-my-ruby-on-rails-project/">How I Planned / Estimated My Ruby on Rails Project</a> appeared first on <a href="http://www.golfingstat.com/blog">Golfingstat.com blog</a>.</p>]]></description>
				<content:encoded><![CDATA[<p>How big is this thing and how long is it going to take me to build? This is a question I am continually asking myself&#8230;for the first month or two of working on Golfingstat.com I did not have an answer to these questions. I had to make myself stop for a second take a deep breath to do some planning and estimating.</p>
<div id="attachment_40" class="wp-caption alignnone" style="width: 234px"><a href="http://blog.golfingstat.com/wp-content/uploads/2012/02/Flow.png"><img class="size-full wp-image-40" title="Project Process" src="http://blog.golfingstat.com/wp-content/uploads/2012/02/Flow.png" alt="Project Process" width="224" height="568" /></a><p class="wp-caption-text">Project Process</p></div>
<p><strong>1. Build a site map / flow</strong><br />
This is important for me because it allowed me to quantify the number of pages that will need to be built. I ended up at ~25 pages.</p>
<p><strong>2. Estimate Page Complexity</strong><br />
Once I had my 25 pages I applied a complexity to each page. (e.g. My landing page has very little logic on it so it is a low complexity page. The stats page is going to have a lot of controls and will require some complex SQL so I marked that page as high complexity.) Once I knew what pages I was building and the complexity of each page I looked at the remaining tasks (Wireframes, Scaffolding, Fleshing Out, Designing/Applying Design) and estimated the amount of effort for each task for a low, medium and high complexity page.</p>
<p>I ended up with the following table:</p>
<div id="attachment_41" class="wp-caption alignnone" style="width: 317px"><a href="http://blog.golfingstat.com/wp-content/uploads/2012/02/estimates.png"><img class="size-full wp-image-41" title="Project Estimates" src="http://blog.golfingstat.com/wp-content/uploads/2012/02/estimates.png" alt="Project Estimates" width="307" height="321" /></a><p class="wp-caption-text">Project Estimates</p></div>
<p>As I am completing tasks I am going back to my estimation sheet and adjusting the estimates based on the actual time so as the project progresses my estimates also get more accurate and hopefully future project estimates will be more accurate as I can lift my original estimates right from the estimates from this project.</p>
<p>For my 25 page project I ended up estimating it at ~65 days of work. Since I am not working on this full-time and really only have a few hours a day (or even less some days) it will take me significantly longer than 65 days to finish this. I am hoping to have a minimal viable product release that I can get friends to start testing in like 2 months (just in time for golf season) and have a polished public release by June or July.</p>
<p><strong>3. Complete Wireframes</strong><br />
For the wireframes I am just doing pencil sketches of how I want to lay things out. This is important because it helps me identify the necessary components for the next step (scaffolding). The focus here is identifying components not making it look pretty.</p>
<p><strong>4. Complete Light / Scaffolding Pages</strong><br />
What I am doing on this step is getting a really minimal page that has the components from my wireframes built. I am not worried about validation or making sure that my queries are super efficient or the look of the page. I am just trying to get a working page that has the functionality from my wireframes. I am not sure if this is a typical approach for rails developers but for me I just really need to see progress and given that I am only working a few hours a day here and there on the project I can&#8217;t realistically knock out a full fleshed out page in a single sitting so completing a light page in one sitting then fleshing it out in another setting seems to be more workable for me. During this step I am also creating basic tests (i.e. does the page load successfully, does a record get created during create, deleted during destroy, etc).</p>
<p><strong>5. Flesh Out Scaffolding Pages</strong><br />
During this step I am making sure I have full test coverage for the controllers and models and that my code is good. Since I would have done the scaffolding for all my pages before jumping into the fleshing out stage I will have lessons learned that I can apply to my original scaffolding pages. I am also filling in any features which I didn&#8217;t apply in the scaffolding stage and am tightening up the attr_accessible, attr_accessor in the models and validations on the model layer and presentation layer (e.g. javascript in the views).</p>
<p><strong>6a. Design Site</strong><br />
The site looks like shit at this point but it works perfectly! So I am going to spend some time in illustrator, photoshop and cranking out html/css to come up with a design that I can apply across the site.</p>
<p><strong>6b. Apply Design to Fleshed Out Pages</strong><br />
Once I have the psd&#8217;s, html and css it should be pretty quick to go through the site and change all my views to use the design.</p>
<p>So that is it&#8230;my plan/approach for Golfingstat.com.</p>
<p>The post <a href="http://www.golfingstat.com/blog/2012/02/13/how-i-planned-estimated-my-ruby-on-rails-project/">How I Planned / Estimated My Ruby on Rails Project</a> appeared first on <a href="http://www.golfingstat.com/blog">Golfingstat.com blog</a>.</p>]]></content:encoded>
			<wfw:commentRss>http://www.golfingstat.com/blog/2012/02/13/how-i-planned-estimated-my-ruby-on-rails-project/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
