<?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>Joel Hainley</title>
	<atom:link href="http://www.joelhainley.com/index.php/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.joelhainley.com</link>
	<description>my thoughts and adventures</description>
	<lastBuildDate>Wed, 25 Aug 2010 18:15:59 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.8</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>11-05 Challenge : roles for enabling edits on items</title>
		<link>http://www.joelhainley.com/index.php/2010/08/25/11-05-challenge-roles-for-enabling-edits-on-items/</link>
		<comments>http://www.joelhainley.com/index.php/2010/08/25/11-05-challenge-roles-for-enabling-edits-on-items/#comments</comments>
		<pubDate>Wed, 25 Aug 2010 18:15:59 +0000</pubDate>
		<dc:creator>joelhainley</dc:creator>
				<category><![CDATA[11-05 Challenge]]></category>

		<guid isPermaLink="false">http://www.joelhainley.com/?p=340</guid>
		<description><![CDATA[ClikClock has been trundling along with me being able to dedicate approximately 4-5 hours a week to get stuff done.
I built out the account settings code at the end of last week so now we have account configuration working within the site, this will be useful for adding/removing certain options/features on individual accounts as an [...]]]></description>
			<content:encoded><![CDATA[<p>ClikClock has been trundling along with me being able to dedicate approximately 4-5 hours a week to get stuff done.</p>
<p>I built out the account settings code at the end of last week so now we have account configuration working within the site, this will be useful for adding/removing certain options/features on individual accounts as an administrator, as  well as the account administrators themselves being able to set certain preferences for their accounts.</p>
<p>Having a single settings mechanism for settings that are read only for the users but editable by the site administrators, or the account administrators presented a few challenges until I hit upon the idea of simply having the ability to set &#8220;edit roles&#8221; for a particular setting. So I could pull up the details of a setting and be able to say &#8220;this setting can only be edited by this role&#8221;. I have this implemented and am looking forward to seeing how it works out, there are some obvious permutations to doing something like this but I don&#8217;t want to dive too deep on this functionality until I am sure it will be useful.</p>
<p>I have updated my git repository with the latest changes and offered a new dump of my codebase to the <a href="http://www.mccreavy.com" onclick="javascript:pageTracker._trackPageview('/outbound/article/www.mccreavy.com');">other challenger</a> in the 11-05 challenge. I have sent over dumps of my current code before in an effort to help him out in this challenge, but I suspect he takes the code simply to avoid any hurt feelings. HA!</p>
<p>Plan for this week :</p>
<p>Finish the  New Account Setup wizard &#8211; there are a few features/functionality I think I am going to have to add to the framework to finish this task so I&#8217;m going to keep this item as the only todo until my next update.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.joelhainley.com/index.php/2010/08/25/11-05-challenge-roles-for-enabling-edits-on-items/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Tagging and Hierarchy</title>
		<link>http://www.joelhainley.com/index.php/2010/08/05/tagging-and-hierarchy/</link>
		<comments>http://www.joelhainley.com/index.php/2010/08/05/tagging-and-hierarchy/#comments</comments>
		<pubDate>Thu, 05 Aug 2010 17:49:29 +0000</pubDate>
		<dc:creator>joelhainley</dc:creator>
				<category><![CDATA[programming]]></category>
		<category><![CDATA[hierarchy]]></category>
		<category><![CDATA[set theory]]></category>
		<category><![CDATA[tagging]]></category>

		<guid isPermaLink="false">http://www.joelhainley.com/?p=332</guid>
		<description><![CDATA[I was considering ways of generating trees based upon tags and realized that there&#8217;s probably two ways to go about generating them. What brought me up short and made me think about writing this down was the following thought :  &#8221;when considering the hierarchical implications of tagging what we&#8217;re really doing when we tag something [...]]]></description>
			<content:encoded><![CDATA[<p>I was considering ways of generating trees based upon tags and realized that there&#8217;s probably two ways to go about generating them. What brought me up short and made me think about writing this down was the following thought :  &#8221;when considering the hierarchical implications of tagging what we&#8217;re really doing when we tag something is indicating it&#8217;s ancestry&#8221;. I&#8217;m not sure this is really a new thought but it does lead to some interesting thoughts.</p>
<ol>
<li>We don&#8217;t generally consider tagging to be a hierarchical activity, but what would happen if we just tried some different models for constructing hierarchies from tagging. A perusal through set theory might yield some interesting thoughts on this idea.</li>
<li>The whole concept of tagging is that we can add an ever increasing number of tags to an item to allow us to describe at some &#8220;meta&#8221; level what that item means to us. It&#8217;s your basic set theory sort of thing, I&#8217;ll add an item to this group and this group and this group. From a hierarchical perspective you could say that you are assigning a large number of parents to a particular group, and this seems goofy when you first consider it. This is probably due to connotations that ancestry brings up in our minds. Our DNA is determined solely by our ancestry. Consider a virus though, it can pick DNA up from a bunch of different sources and not just from it&#8217;s ancestors. I think I&#8217;m digressing.</li>
<li>My initial idea of implementing a hierarchy was to simply take the tags and show them as children of an item, and to then do some funny business to show things farther down in the hierarchy with some algorithm to avoid duplicates. When I considered the point in item #1 above I realized that perhaps showing ancestry &#8220;downstream&#8221; instead of &#8220;upstream&#8221; ( that is, as branches/leafs of the subtree under a particular item ) might have some interesting implications.</li>
</ol>
<p>I&#8217;m not sure there&#8217;s anything of value here, but it&#8217;s been interesting thinking about it..more later&#8230;maybe.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.joelhainley.com/index.php/2010/08/05/tagging-and-hierarchy/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>11-05 Challenge : migrations working</title>
		<link>http://www.joelhainley.com/index.php/2010/07/29/11-05-challenge-migrations-working/</link>
		<comments>http://www.joelhainley.com/index.php/2010/07/29/11-05-challenge-migrations-working/#comments</comments>
		<pubDate>Thu, 29 Jul 2010 17:57:03 +0000</pubDate>
		<dc:creator>joelhainley</dc:creator>
				<category><![CDATA[11-05 Challenge]]></category>

		<guid isPermaLink="false">http://www.joelhainley.com/?p=326</guid>
		<description><![CDATA[I haven&#8217;t been working on the project much the last few weeks, been doing a fair amount of getting out of doors while the weather is nice and soaking up some sunshine and a fair amount of beer.
In the last couple of days I was able to get the migration/deployment stuff figured out for the [...]]]></description>
			<content:encoded><![CDATA[<p>I haven&#8217;t been working on the project much the last few weeks, been doing a fair amount of getting out of doors while the weather is nice and soaking up some sunshine and a fair amount of beer.</p>
<p>In the last couple of days I was able to get the migration/deployment stuff figured out for the application which was the last piece that I wanted to have in place before I started pushing alpha builds to a public server. So I anticipate having a publicly accessible demo of the product within the next month or so.</p>
<p>The major pieces I am going to be working on next are :</p>
<ol>
<li>Signup wizard : I need to have a way to guide new users into the creation of an account</li>
<li>Reports functionality : not terribly useful to capture all of the data if you can&#8217;t get some reports out</li>
<li>Roles/Groups/Users stuff : I have a working version of this but there are a few things that I want to polish before I start using this heavily in the site</li>
<li>Account/User preferences infrastructure</li>
</ol>
]]></content:encoded>
			<wfw:commentRss>http://www.joelhainley.com/index.php/2010/07/29/11-05-challenge-migrations-working/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>11-05 Challenge : Breaktime over&#8230;</title>
		<link>http://www.joelhainley.com/index.php/2010/07/14/11-05-challenge-breaktime-over/</link>
		<comments>http://www.joelhainley.com/index.php/2010/07/14/11-05-challenge-breaktime-over/#comments</comments>
		<pubDate>Wed, 14 Jul 2010 16:00:08 +0000</pubDate>
		<dc:creator>joelhainley</dc:creator>
				<category><![CDATA[11-05 Challenge]]></category>

		<guid isPermaLink="false">http://www.joelhainley.com/?p=315</guid>
		<description><![CDATA[Not a lot of progress on the 11-05 challenge. I could probably make the case that I&#8217;m giving Mike a chance to catch up but that would indicate that I&#8217;m a nice guy. I&#8217;m not. I&#8217;ve been on various vacations and also took some time out to clean out my garage&#8230;so we&#8217;ll call it a [...]]]></description>
			<content:encoded><![CDATA[<p>Not a lot of progress on the 11-05 challenge. I could probably make the case that I&#8217;m giving Mike a chance to catch up but that would indicate that I&#8217;m a nice guy. I&#8217;m not. I&#8217;ve been on various vacations and also took some time out to clean out my garage&#8230;so we&#8217;ll call it a break. I&#8217;m now done with my vacations and ready to dig in and get this thing finished. I don&#8217;t have a list of action items for this week. I&#8217;ll just get settled in and see where things are and return to my regularly scheduled &#8220;here&#8217;s what I&#8217;m gonna do&#8221; type of post for next week. </p>
]]></content:encoded>
			<wfw:commentRss>http://www.joelhainley.com/index.php/2010/07/14/11-05-challenge-breaktime-over/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>11-05 Challenge : Weekly status update for 2010-06-21</title>
		<link>http://www.joelhainley.com/index.php/2010/06/22/11-05-challenge-weekly-status-update-for-2010-06-21/</link>
		<comments>http://www.joelhainley.com/index.php/2010/06/22/11-05-challenge-weekly-status-update-for-2010-06-21/#comments</comments>
		<pubDate>Tue, 22 Jun 2010 15:17:55 +0000</pubDate>
		<dc:creator>joelhainley</dc:creator>
				<category><![CDATA[11-05 Challenge]]></category>

		<guid isPermaLink="false">http://www.joelhainley.com/?p=307</guid>
		<description><![CDATA[I was able to get the application administration screens knocked out this week. I am almost ready to get an alpha build put on a public server and start handing out some accounts for people to start giving me feedback, there is a LOT more to do but I want to try and get this [...]]]></description>
			<content:encoded><![CDATA[<p>I was able to get the application administration screens knocked out this week. I am almost ready to get an alpha build put on a public server and start handing out some accounts for people to start giving me feedback, there is a LOT more to do but I want to try and get this into people&#8217;s hands as quickly as possible.</p>
<p>Tasks for this week :</p>
<ul>
<li>new account setup wizard ( carry over from last week )</li>
<li>ajax support routines need a little love</li>
<li>finalize deployment strategy and get application onto a public server</li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://www.joelhainley.com/index.php/2010/06/22/11-05-challenge-weekly-status-update-for-2010-06-21/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>11-05 Challenge : Weekly status update for 2010-06-14</title>
		<link>http://www.joelhainley.com/index.php/2010/06/14/11-05-challenge-weekly-status-update-for-2010-06-14/</link>
		<comments>http://www.joelhainley.com/index.php/2010/06/14/11-05-challenge-weekly-status-update-for-2010-06-14/#comments</comments>
		<pubDate>Mon, 14 Jun 2010 16:49:04 +0000</pubDate>
		<dc:creator>joelhainley</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://www.joelhainley.com/?p=303</guid>
		<description><![CDATA[On Saturday, we had a bit of a SHAH ( Super Happy Amy House ) in Clayton so that Mike and I could get together in the same room and taunt each other about the status of our projects. I was able to make some progress on a few of the items that I had [...]]]></description>
			<content:encoded><![CDATA[<p>On Saturday, we had a bit of a SHAH ( Super Happy Amy House ) in Clayton so that Mike and I could get together in the same room and taunt each other about the status of our projects. I was able to make some progress on a few of the items that I had on my list for the week but not as much as I had anticipated. The plus side is that I was able to bundle up the debian virtual machine that I am using for development of my project and give it to mike so he didn&#8217;t have to do any setup to get a development environment running.</p>
<p>After a couple of hours of working on things we ended up running a D&amp;D adventure with me as the dungeon master. That was a lot of fun and I hope that we can start a regular campaign and maybe get some more people involved as time goes on.</p>
<p>Tasks completed last week :</p>
<ul>
<li>hierarchical clients/jobs/projects/services is now all fully functional</li>
<li>more buildout in the framework to support ideas like super admin</li>
<li>application administration base screens built out and displayed only to _super admins_</li>
<li>cleanup of some of the javascript code</li>
<li>time entry now supports/uses the hierarchical information</li>
</ul>
<p>Tasks for this week :</p>
<ul>
<li>finish account configuration screens admin/user version</li>
<li>new account setup wizard</li>
<li>spec out the reports that will be needed for initial release of the site</li>
<li>AJAX support routines need a little love</li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://www.joelhainley.com/index.php/2010/06/14/11-05-challenge-weekly-status-update-for-2010-06-14/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>11-05 Challenge : Weekly status update for 2010-06-05</title>
		<link>http://www.joelhainley.com/index.php/2010/06/08/11-05-challenge-weekly-status-update-for-2010-06-05/</link>
		<comments>http://www.joelhainley.com/index.php/2010/06/08/11-05-challenge-weekly-status-update-for-2010-06-05/#comments</comments>
		<pubDate>Tue, 08 Jun 2010 23:57:09 +0000</pubDate>
		<dc:creator>joelhainley</dc:creator>
				<category><![CDATA[11-05 Challenge]]></category>
		<category><![CDATA[business]]></category>
		<category><![CDATA[php]]></category>
		<category><![CDATA[programming]]></category>

		<guid isPermaLink="false">http://www.joelhainley.com/?p=296</guid>
		<description><![CDATA[Mike challenged me to a contest, hopefully this one goes better than the last one.
The challenge : write a web-based application and release it to the world on or before November 5, whoever generates the most revenue between November 5 and January 5 wins. The only other requirement is a weekly development blog posting detailing [...]]]></description>
			<content:encoded><![CDATA[<p>Mike challenged me to a contest, hopefully this one goes better than the last one.</p>
<p>The challenge : write a web-based application and release it to the world on or before November 5, whoever generates the most revenue between November 5 and January 5 wins. The only other requirement is a weekly development blog posting detailing status and the work on the agenda for the coming week.</p>
<p>The stakes : I think it&#8217;s either hot wings at Hooters or Wing Stop and maybe a case of Mountain Dew or Jolt&#8230;can you even buy Jolt anymore?</p>
<p>My project : ClikClock a time tracking program. I really want to do a good, solid, well thought out time tracking program because the few I&#8217;ve used drive me nuts. Everyone I talk to hates the applications that they are forced to use at work. So I&#8217;m going to give it a shot. See if I can make something that&#8217;s powerful and easy to use.</p>
<p>Update : I have had several false starts on ClikCLock in the past but I want to get this idea out of my system, because I&#8217;ve had thoughts about doing it for so long. I have written a couple of partial implementations and was reasonably happy with how things were turning out. However some business reasons ultimately forced a rewrite on a different technology platform. On May 1 I opened up an editor and started the current implementation of ClikClock. Since then I&#8217;ve written my own MVC framework and have integrated Doctrine and Smarty to create a pretty nice framework to do development in. I had to build a lot of stuff in the beginning to get things working that I wouldn&#8217;t have had to build if I had used one of the existing frameworks but I had a desire to build the framework and quite frankly it only took between 4-6 hours to build out the MVC framework and It&#8217;s WICKED fast.</p>
<p>I have also decided to use git for this project so I&#8217;ve been learning that as I go along. So far I like it but I haven&#8217;t had to do anything too crazy with it yet.</p>
<p>Tasks for the week :</p>
<ul>
<li>New Account Setup wizard</li>
<li>Account Administration screens</li>
<li>Build out the Account Configuration system</li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://www.joelhainley.com/index.php/2010/06/08/11-05-challenge-weekly-status-update-for-2010-06-05/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Snowshoeing Trip #2 &#8211; February 21, 2010</title>
		<link>http://www.joelhainley.com/index.php/2010/02/22/snowshoeing-trip-2-february-21-2010/</link>
		<comments>http://www.joelhainley.com/index.php/2010/02/22/snowshoeing-trip-2-february-21-2010/#comments</comments>
		<pubDate>Mon, 22 Feb 2010 17:25:06 +0000</pubDate>
		<dc:creator>joelhainley</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://www.joelhainley.com/?p=283</guid>
		<description><![CDATA[Got out for some snowshoeing up at Yuba Gap this weekend. Mike and Weilei brought one of Mike&#8217;s coworkers from India along and I took Mom out for her first time snowshoeing. She loved it and is already planning her next trip. It snowed on us most of the trip but the roads were in [...]]]></description>
			<content:encoded><![CDATA[<p>Got out for some snowshoeing up at Yuba Gap this weekend. Mike and Weilei brought one of Mike&#8217;s coworkers from India along and I took Mom out for her first time snowshoeing. She loved it and is already planning her next trip. It snowed on us most of the trip but the roads were in good shape, the only problem with the driving was the traffic going home. I couldn&#8217;t quite understand why there were so many cars on the road until I was informed that this last week was a snow week for a lot of schools so that probably explains all of the traffic.</p>
<p>The next time we go we&#8217;re gonna leave early in the morning and see if we can get out for a longer trip, but it&#8217;s enough work that I hesitate to take people out for 6 miles on their first day of shoeing.  Some photos are included below to bore those of you who like photos</p>

<a href='http://www.joelhainley.com/index.php/2010/02/22/snowshoeing-trip-2-february-21-2010/img_0183/' title='IMG_0183'><img width="150" height="150" src="http://www.joelhainley.com/wp-content/uploads/2010/02/IMG_0183-150x150.png" class="attachment-thumbnail" alt="" title="IMG_0183" /></a>
<a href='http://www.joelhainley.com/index.php/2010/02/22/snowshoeing-trip-2-february-21-2010/img_0182/' title='IMG_0182'><img width="150" height="150" src="http://www.joelhainley.com/wp-content/uploads/2010/02/IMG_0182-150x150.png" class="attachment-thumbnail" alt="" title="IMG_0182" /></a>
<a href='http://www.joelhainley.com/index.php/2010/02/22/snowshoeing-trip-2-february-21-2010/img_0180/' title='IMG_0180'><img width="150" height="150" src="http://www.joelhainley.com/wp-content/uploads/2010/02/IMG_0180-150x150.png" class="attachment-thumbnail" alt="" title="IMG_0180" /></a>
<a href='http://www.joelhainley.com/index.php/2010/02/22/snowshoeing-trip-2-february-21-2010/img_0181/' title='IMG_0181'><img width="150" height="150" src="http://www.joelhainley.com/wp-content/uploads/2010/02/IMG_0181-150x150.png" class="attachment-thumbnail" alt="" title="IMG_0181" /></a>
<a href='http://www.joelhainley.com/index.php/2010/02/22/snowshoeing-trip-2-february-21-2010/img_0185/' title='IMG_0185'><img width="150" height="150" src="http://www.joelhainley.com/wp-content/uploads/2010/02/IMG_0185-150x150.png" class="attachment-thumbnail" alt="" title="IMG_0185" /></a>
<a href='http://www.joelhainley.com/index.php/2010/02/22/snowshoeing-trip-2-february-21-2010/img_0179/' title='IMG_0179'><img width="150" height="150" src="http://www.joelhainley.com/wp-content/uploads/2010/02/IMG_0179-150x150.png" class="attachment-thumbnail" alt="" title="IMG_0179" /></a>

]]></content:encoded>
			<wfw:commentRss>http://www.joelhainley.com/index.php/2010/02/22/snowshoeing-trip-2-february-21-2010/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>State Of The Bicycle &#8211; February 22, 2010</title>
		<link>http://www.joelhainley.com/index.php/2010/02/22/state-of-the-bicycle-february-22-2010/</link>
		<comments>http://www.joelhainley.com/index.php/2010/02/22/state-of-the-bicycle-february-22-2010/#comments</comments>
		<pubDate>Mon, 22 Feb 2010 15:06:42 +0000</pubDate>
		<dc:creator>joelhainley</dc:creator>
				<category><![CDATA[bicycle]]></category>
		<category><![CDATA[State of the Bicycle]]></category>

		<guid isPermaLink="false">http://www.joelhainley.com/?p=281</guid>
		<description><![CDATA[No update for last week, so the update for this week will include two weeks of numbers.
Recap
starting weight: 214.5
ending weight: 212.5
total mileage : 242.8
total calories burned on bicycle : 16609
The last two weeks have been extremely busy with work related matters. I&#8217;ve shuffled some things around and should be able to increase my weekly mileage [...]]]></description>
			<content:encoded><![CDATA[<p>No update for last week, so the update for this week will include two weeks of numbers.</p>
<p><strong>Recap<br />
<span style="font-weight: normal;">starting weight: 214.5<br />
ending weight: 212.5<br />
<strong><span style="font-weight: normal;">total mileage : 242.8<br />
total calories burned on bicycle : 16609</span></strong></span></strong></p>
<p><strong><span style="font-weight: normal;"><strong><span style="font-weight: normal;">The last two weeks have been extremely busy with work related matters. I&#8217;ve shuffled some things around and should be able to increase my weekly mileage as I work towards the double century without too many more hassles.  Points of interest while cycling the last few weeks was a day where we rode to the top of Mt. Diablo via the North Gate entrance, rode down to the bottom of Mt. Diablo via the South Gate road and rode back to the top again. </span></strong></span></strong></p>
<p>Interesting site seen while cycling in the last two weeks, along with huge &#8220;herds&#8221; of turkeys, I saw two squirrels aggressively making an effort to bring new squirrels into the world.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.joelhainley.com/index.php/2010/02/22/state-of-the-bicycle-february-22-2010/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>State Of The Bicycle &#8211; February 8, 2010</title>
		<link>http://www.joelhainley.com/index.php/2010/02/08/state-of-the-bicycle-february-8-2010/</link>
		<comments>http://www.joelhainley.com/index.php/2010/02/08/state-of-the-bicycle-february-8-2010/#comments</comments>
		<pubDate>Mon, 08 Feb 2010 16:30:58 +0000</pubDate>
		<dc:creator>joelhainley</dc:creator>
				<category><![CDATA[bicycle]]></category>
		<category><![CDATA[State of the Bicycle]]></category>

		<guid isPermaLink="false">http://www.joelhainley.com/?p=273</guid>
		<description><![CDATA[Busy week at work and I didn&#8217;t get to ride much this week. However I was able to get out for a good long ride on Sunday. 
Weekly Recap:
starting weight: 219
ending weight: 214.5
total mileage for the week: 107.6
total calories burned this week on the bicycle: 7365
]]></description>
			<content:encoded><![CDATA[<p>Busy week at work and I didn&#8217;t get to ride much this week. However I was able to get out for a good long ride on Sunday. </p>
<p><strong>Weekly Recap:</strong><br />
starting weight: 219<br />
ending weight: 214.5<br />
total mileage for the week: 107.6<br />
total calories burned this week on the bicycle: 7365</p>
]]></content:encoded>
			<wfw:commentRss>http://www.joelhainley.com/index.php/2010/02/08/state-of-the-bicycle-february-8-2010/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>State of the Bicycle &#8211; February 1, 2010</title>
		<link>http://www.joelhainley.com/index.php/2010/02/01/state-of-the-bicycle-february-1-2010/</link>
		<comments>http://www.joelhainley.com/index.php/2010/02/01/state-of-the-bicycle-february-1-2010/#comments</comments>
		<pubDate>Mon, 01 Feb 2010 14:24:04 +0000</pubDate>
		<dc:creator>joelhainley</dc:creator>
				<category><![CDATA[bicycle]]></category>
		<category><![CDATA[State of the Bicycle]]></category>

		<guid isPermaLink="false">http://www.joelhainley.com/?p=270</guid>
		<description><![CDATA[The riding week have a few rain days in it this past week, and I was out of town this weekend so I didn&#8217;t hit my mileage goal for the week. I&#8217;m pretty happy with what I was able to get done during this week and I think overall things are looking pretty good. This [...]]]></description>
			<content:encoded><![CDATA[<p>The riding week have a few rain days in it this past week, and I was out of town this weekend so I didn&#8217;t hit my mileage goal for the week. I&#8217;m pretty happy with what I was able to get done during this week and I think overall things are looking pretty good. This posting also marks the first month of being back on the bike regularly as well as the first full month making a focused effort at dropping some weight, the weight loss as been somewhat successful and hope that it will continue over the next few months.</p>
<p><strong>Weekly Recap:</strong><br />
starting weight: 225<br />
ending weight: 219<br />
total mileage for the week: 74.6<br />
total ride time for the week : 05:08:51<br />
total calories burned this week on the bicycle: 5588</p>
<p><strong>Monthly Recap:</strong><br />
starting weight: 242<br />
ending weight: 219<br />
total mileage for the month: 494.3<br />
total ride time for the month: 13:20:05<br />
total calories burned this month on the bicycle: 37,757</p>
<p>Overall it was a pretty good month, the total mileage on the Cannondale is up to 5,324 miles, and it is still trucking along just fine. I need to spend some time adjusting the front brakes, and tuning the shifting a bit but that&#8217;s normal stuff. Colin has been giving me a hard time about having a rack and a rack bag on my bike but that rack has been following me around for the last 5324 miles and it&#8217;s never complained once so I&#8217;m inclined to leave it right where it is.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.joelhainley.com/index.php/2010/02/01/state-of-the-bicycle-february-1-2010/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>State of the Bicycle &#8211; January 25, 2010</title>
		<link>http://www.joelhainley.com/index.php/2010/01/25/state-of-the-bicycle-january-25-2010/</link>
		<comments>http://www.joelhainley.com/index.php/2010/01/25/state-of-the-bicycle-january-25-2010/#comments</comments>
		<pubDate>Mon, 25 Jan 2010 15:37:22 +0000</pubDate>
		<dc:creator>joelhainley</dc:creator>
				<category><![CDATA[bicycle]]></category>
		<category><![CDATA[State of the Bicycle]]></category>

		<guid isPermaLink="false">http://www.joelhainley.com/?p=266</guid>
		<description><![CDATA[A lot of rain came in this last week. So for most of the week I spent time riding on the indoor trainer, listening to books on tape. Good workouts for sure, but nothing beats getting out and putting some pavement under your wheels. On Saturday I got out for a ride with Colin and [...]]]></description>
			<content:encoded><![CDATA[<p>A lot of rain came in this last week. So for most of the week I spent time riding on the indoor trainer, listening to books on tape. Good workouts for sure, but nothing beats getting out and putting some pavement under your wheels. On Saturday I got out for a ride with Colin and ended up with 75 miles for the day. Colin introduced me to the beauty of espresso and I don&#8217;t think I&#8217;ll ever be the same. Good Stuff!</p>
<p>starting weight : 229.5<br />
ending weight : 225<br />
total mileage for the week : 75.7<br />
total ride time for the week : 06:29:05<br />
total calories burned this week on the bicycle : 7987</p>
<p>Hopefully the weather will cooperate a little more this week and I can get out and put some miles on, if not, I&#8217;m right in the middle of Spook Country by William Gibson and it&#8217;s starting to get good! Well that&#8217;s it for the week, go ride your bike.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.joelhainley.com/index.php/2010/01/25/state-of-the-bicycle-january-25-2010/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>SQL Server Notes #3 &#8211; Except and Intersect</title>
		<link>http://www.joelhainley.com/index.php/2010/01/24/sql-server-notes-3-except-and-intersect/</link>
		<comments>http://www.joelhainley.com/index.php/2010/01/24/sql-server-notes-3-except-and-intersect/#comments</comments>
		<pubDate>Sun, 24 Jan 2010 17:28:30 +0000</pubDate>
		<dc:creator>joelhainley</dc:creator>
				<category><![CDATA[SQL Server]]></category>
		<category><![CDATA[SQL Server Notes Series]]></category>

		<guid isPermaLink="false">http://www.joelhainley.com/?p=261</guid>
		<description><![CDATA[I&#8217;m sure you&#8217;ve all heard about the Union operator, it joins result sets together into a single record set.  I haven&#8217;t used UNION very often but it&#8217;s definitely one of those operations that you are happy for when you need it. The thought of having to write a bunch of temporary table, select/insert queries [...]]]></description>
			<content:encoded><![CDATA[<p>I&#8217;m sure you&#8217;ve all heard about the Union operator, it joins result sets together into a single record set.  I haven&#8217;t used UNION very often but it&#8217;s definitely one of those operations that you are happy for when you need it. The thought of having to write a bunch of temporary table, select/insert queries to get the same data is not an appealing one.  </p>
<p>Along with UNION there are two other similar operations that perform logic upon those result sets instead of just pushing them together and returning them. These operations are EXCEPT and INTERSECT. Some of you will probably be laughing at me when I tell you that I wasn&#8217;t aware of the EXCEPT and INTERSECT operators. Well you don&#8217;t have to laugh any more because now I know! Simply put these operators do much the same thing as UNION except that they perform comparisons between the results of two queries and produce a result set based on the existence of the records in both tables. Good stuff.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.joelhainley.com/index.php/2010/01/24/sql-server-notes-3-except-and-intersect/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>ASP.NET AJAX AutoCompleteExtender not working</title>
		<link>http://www.joelhainley.com/index.php/2010/01/19/asp-net-ajax-autocompleteextender-not-working/</link>
		<comments>http://www.joelhainley.com/index.php/2010/01/19/asp-net-ajax-autocompleteextender-not-working/#comments</comments>
		<pubDate>Tue, 19 Jan 2010 15:19:01 +0000</pubDate>
		<dc:creator>joelhainley</dc:creator>
				<category><![CDATA[.NET]]></category>
		<category><![CDATA[AJAX]]></category>
		<category><![CDATA[ASP.NET]]></category>
		<category><![CDATA[ASP.NET AJAX]]></category>
		<category><![CDATA[AutoCompleteExtender]]></category>

		<guid isPermaLink="false">http://www.joelhainley.com/?p=239</guid>
		<description><![CDATA[I was working on some new features for a client recently and they had a need for an AutoCompleteExtender on one of their forms. I hadn&#8217;t used the AutoCompleteExtender yet so I read through the documentation, coded up a webservice, and added  the appropriate items to the page and ran the app. When I tried [...]]]></description>
			<content:encoded><![CDATA[<p>I was working on some new features for a client recently and they had a need for an AutoCompleteExtender on one of their forms. I hadn&#8217;t used the AutoCompleteExtender yet so I read through the documentation, coded up a webservice, and added  the appropriate items to the page and ran the app. When I tried typing into the TextBox that the AutoCompleteExtender was pointed at, nothing happened. In this posting I will detail the things that I looked at, and try to put together an accurate guide to making sure you&#8217;re AutoComplete works. I tried some of the &#8220;tips&#8221; that are out there after I had things working and they don&#8217;t help. So hopefully this will be a bit more definitive and useful than what I came across.</p>
<p>The first thing that I looked at was the method signature of the webservice. The <a href="http://www.asp.net/AJAX/AjaxControlToolkit/Samples/AutoComplete/AutoComplete.aspx"title="Documentation"  onclick="javascript:pageTracker._trackPageview('/outbound/article/www.asp.net');">documentation</a> indicates that you need to use one of the following method signatures :</p>
<div class="codesnip-container" >public string[] GetCompletionList(string prefixText, int count) { &#8230; }</div>
<p>..OR..</p>
<div class="codesnip-container" >public string[] GetCompletionList(    string prefixText, int count, string contextKey) { &#8230; }</div>
<p>What the documentation doesn&#8217;t tell you is that the name/spelling/capitalization of the method signature must match EXACTLY. If you decide that you don&#8217;t like the camelcase on the prefixText and want to use prefixtext instead&#8230;.IT WON&#8217;T WORK. So make sure you have those signature matching correctly. I have seen some indications on the internet that you should use a static method such as :</p>
<div class="codesnip-container" >public static string[] GetCompletionList(string prefixText, int count) { &#8230; } // !!! DON&#8221;T DO THIS !!!</div>
<p>DON&#8217;T DO THIS. It doesn&#8217;t work. Only the exact methods defined in the documentation and shown above will work. </p>
<p>Back to my project, I get these methods defined properly, compile the project, go to my textbox start to type and still I get NOTHING. So I look over the documentation and see some information about the class/method attributes that must be added. The documentation shows the following :</p>
<div class="codesnip-container" >[System.Web.Services.WebMethod]<br />
[System.Web.Script.Services.ScriptMethod]<br />
public string[] GetCompletionList(<br />
    string prefixText, int count) { &#8230; }</div>
<p>What they don&#8217;t show in the documentation is that you need to also add the following to the class definition</p>
<div class="codesnip-container" >[System.Web.Script.Services.ScriptService]</div>
<p>So I make these changes and run the application again, and STILL it doesn&#8217;t work. I&#8217;m stumped. I put a break at the webservice method and run again and it&#8217;s not even hitting the webservice. After a little bit of digging I come across <a href="http://www.asp.net/AJAX/Documentation/Live/ConfiguringASPNETAJAX.aspx" onclick="javascript:pageTracker._trackPageview('/outbound/article/www.asp.net');">Adding ASP.NET AJAX Configuration Elements to an Existing Web Site</a> and a lightbulb goes on. This project was not setup as an AJAX.NET site, in fact it predates ASP.NET AJAX by a couple of years. Sure enough as I start to dig through the documentation I notice mappings to handlers for the webservice calls. So I follow the changes specified and run the site and it worked!</p>
<p>It took me a while to get this figured out, and I suspect there might be a few others out there that might have some problems getting this working. Below is a complete class that you can use as a reference. I haven&#8217;t included any of the code defining the AutoCompleteExtender because the documentation seems sufficient and I didn&#8217;t have any problems. There is also a video on the ASP.NET AJAX site that walks you through configuring your first AutoCompleteExtender and does a good job, as long as your site is configured properly!</p>
<p>Good luck!</p>
<div class="codesnip-container" >using System;<br />
using System.Collections;<br />
using System.ComponentModel;<br />
using System.Data;<br />
using System.Web;<br />
using System.Web.Services;<br />
using System.Web.Services.Protocols;<br />
using System.Web.Script.Services;<br />
using DALInterface;<br />
using CGWeb.framework;</p>
<p>namespace CGWeb.webservices {<br />
    /// <summary><br />
    /// Summary description for NewDXCompletion<br />
    /// </summary><br />
    /// </p>
<p>    [WebService(Namespace = "http://tempuri.org/")]<br />
    [WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)]<br />
    [ToolboxItem(false)]<br />
    [System.Web.Script.Services.ScriptService]<br />
    public class NewDXCompletion : System.Web.Services.WebService {</p>
<p>        [System.Web.Services.WebMethod]<br />
        [System.Web.Script.Services.ScriptMethod]<br />
        public string[] GetCompletionList(string prefixText, int count) { &#8230; }<br />
    }<br />
}</p></div>
]]></content:encoded>
			<wfw:commentRss>http://www.joelhainley.com/index.php/2010/01/19/asp-net-ajax-autocompleteextender-not-working/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>State of the Bicycle &#8211; January 18, 2010</title>
		<link>http://www.joelhainley.com/index.php/2010/01/18/state-of-the-bicycle-january-18-2010/</link>
		<comments>http://www.joelhainley.com/index.php/2010/01/18/state-of-the-bicycle-january-18-2010/#comments</comments>
		<pubDate>Mon, 18 Jan 2010 17:12:37 +0000</pubDate>
		<dc:creator>joelhainley</dc:creator>
				<category><![CDATA[bicycle]]></category>
		<category><![CDATA[State of the Bicycle]]></category>

		<guid isPermaLink="false">http://www.joelhainley.com/?p=242</guid>
		<description><![CDATA[The week went pretty well. I was able to get out and ride all week long, Sunday we started getting some rain and I was still a bit tired from Saturday&#8217;s ride so since I was ahead of my scheduled miles for the week I decided to just take another day off.
starting weight : 234.5
ending [...]]]></description>
			<content:encoded><![CDATA[<p>The week went pretty well. I was able to get out and ride all week long, Sunday we started getting some rain and I was still a bit tired from Saturday&#8217;s ride so since I was ahead of my scheduled miles for the week I decided to just take another day off.</p>
<p>starting weight : 234.5</p>
<p>ending weight : 229.5</p>
<p>total mileage for the week : 138.6</p>
<p>total ride time for the week : 9:29:17</p>
<p>total calories burned this week while bicycling : 9273</p>
<p>I&#8217;ve started doing a bit of weight lifting and some core work in addition to my bicycling and boxing. With any luck this will help when the mileage starts to get longer. That&#8217;s all for the week, go ride your bike.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.joelhainley.com/index.php/2010/01/18/state-of-the-bicycle-january-18-2010/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>SQL Server Notes #2 &#8211; How To Ensure SQL Server Will Ignore Your Indexes</title>
		<link>http://www.joelhainley.com/index.php/2010/01/14/sql-server-notes-2-how-to-ensure-sql-server-will-ignore-your-indexes/</link>
		<comments>http://www.joelhainley.com/index.php/2010/01/14/sql-server-notes-2-how-to-ensure-sql-server-will-ignore-your-indexes/#comments</comments>
		<pubDate>Thu, 14 Jan 2010 19:49:37 +0000</pubDate>
		<dc:creator>joelhainley</dc:creator>
				<category><![CDATA[SQL Server]]></category>
		<category><![CDATA[SQL]]></category>
		<category><![CDATA[SQL Server Notes Series]]></category>

		<guid isPermaLink="false">http://www.joelhainley.com/?p=203</guid>
		<description><![CDATA[Hopefully that title got your attention. When I started reading about some of the things that can cause the query optimizer to ignore your indexes it really caught my attention. Below are a few seemingly innocuous things that you can do in your sql statements to force the query optimizer to happily ignore your indexes.

Use [...]]]></description>
			<content:encoded><![CDATA[<p>Hopefully that title got your attention. When I started reading about some of the things that can cause the query optimizer to ignore your indexes it really caught my attention. Below are a few seemingly innocuous things that you can do in your sql statements to force the query optimizer to happily ignore your indexes.</p>
<ul>
<li><strong><em>Use a NOT operator in your WHERE clause</em></strong> &#8211; That&#8217;s right, if you don&#8217;t want to use indexes just drop a NOT operator in your WHERE clause</li>
<li><strong><em>When Using An OR operator, reference columns that are not indexed</em></strong> &#8211; If you specify columns in an OR operator that are not indexed, all indexes that are associated with columns in the or clause will be ignored.</li>
<li> <strong><em>Put a leading wildcard character in your WHERE clause</em></strong> &#8211; If you do something along the lines of &#8220;select NAME from school_records WHERE name is like %XX%&#8221;, the index that you put in to speed up searches of the names will do absolutely no good.</li>
</ul>
<p>There will probably be MANY more things that I will discover as time goes along related to nuances of indexes but I thought these were interesting because they seem really harmless. I think it&#8217;s useful to know that how you go about logically selecting data can impact query performance in potentially drastic ways</p>
]]></content:encoded>
			<wfw:commentRss>http://www.joelhainley.com/index.php/2010/01/14/sql-server-notes-2-how-to-ensure-sql-server-will-ignore-your-indexes/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Snowshoeing Trip #1</title>
		<link>http://www.joelhainley.com/index.php/2010/01/11/snowshoeing-trip-1/</link>
		<comments>http://www.joelhainley.com/index.php/2010/01/11/snowshoeing-trip-1/#comments</comments>
		<pubDate>Mon, 11 Jan 2010 22:44:51 +0000</pubDate>
		<dc:creator>joelhainley</dc:creator>
				<category><![CDATA[Exercise]]></category>
		<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://www.joelhainley.com/?p=224</guid>
		<description><![CDATA[Got out this weekend for a bit of snowshoeing. My mom bought some snowshoes for Amy and I for Christmas and it was the first weekend that we&#8217;ve been able to get out and give them a test run. So Sunday morning we drove up to Roseville REI and picked up a 2010 Sno-Park Pass [...]]]></description>
			<content:encoded><![CDATA[<p>Got out this weekend for a bit of snowshoeing. My mom bought some snowshoes for Amy and I for Christmas and it was the first weekend that we&#8217;ve been able to get out and give them a test run. So Sunday morning we drove up to Roseville REI and picked up a 2010 Sno-Park Pass and then headed up to Donner Pass to do our first run. Parking was easy, and it was just a short walk from the parking lot to the left of Boreal under I-80 to the north where the trail started.  There were a lot of dogs and Brodie didn&#8217;t know whether to go and play with them or roll around in the snow. To say he likes snow is an understatement.</p>
<p><img class="alignnone size-full wp-image-221" title="SNOWSHOE03" src="http://www.joelhainley.com/wp-content/uploads/2010/01/SNOWSHOE03.png" alt="SNOWSHOE03" width="640" height="480" /></p>
<p>We headed up the hill and into a meadow covered with snow. There were trails going everywhere so we opted to follow a trail that meandered through the meadow hoping that it went somewhere interesting. After about 10 minutes the trail left the meadow and started climbing up a hill. Within about 5 minutes of climbing I could definitely feel the altitude but it was just so quiet and peaceful it was worth all of the work. We stopped where we had a bit of a view and shared some water and a Clif Bar and Amy fed Brodie snow.</p>
<p><img class="alignnone size-full wp-image-220" title="SNOWSHOE02" src="http://www.joelhainley.com/wp-content/uploads/2010/01/SNOWSHOE02.png" alt="SNOWSHOE02" width="640" height="480" /></p>
<p>As we approached the highest elevation we would see for the day, we could look back across the valley and just see the top of Boreal (see image below). We wandered around along the top of the trail looking to see where we could drop back down to the meadow when we caught sight of another trail and were able to move down the hill and come out north of the meadow, after about 10 minutes of walking we were back in the meadow and headed for the car.</p>
<p><img class="alignnone size-full wp-image-219" title="SNOWSHOE01" src="http://www.joelhainley.com/wp-content/uploads/2010/01/SNOWSHOE01.png" alt="SNOWSHOE01" width="640" height="426" /></p>
<p>I was surprised about how much work snowshoeing was, but the rewards were definitely worth it. We were able to get outdoors and take the dog for a walk and see some really great views. We debated going into Reno for dinner and to see some friends but we got a late start and figured we wouldn&#8217;t get home until 10pm if we went to Reno and we both had things that needed to be done before work on Monday. So we dropped back into Auburn, stopped at Ikeda&#8217;s for a burger and headed home. Brodie slept in the backseat the whole way home.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.joelhainley.com/index.php/2010/01/11/snowshoeing-trip-1/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>State of the Bicycle &#8211; January 11, 2010</title>
		<link>http://www.joelhainley.com/index.php/2010/01/10/state-of-the-bicycle-january-11-2009/</link>
		<comments>http://www.joelhainley.com/index.php/2010/01/10/state-of-the-bicycle-january-11-2009/#comments</comments>
		<pubDate>Mon, 11 Jan 2010 05:19:41 +0000</pubDate>
		<dc:creator>joelhainley</dc:creator>
				<category><![CDATA[bicycle]]></category>
		<category><![CDATA[State of the Bicycle]]></category>

		<guid isPermaLink="false">http://www.joelhainley.com/?p=213</guid>
		<description><![CDATA[First off, we&#8217;re heading into the rainy season here in Northern California and I have made some riding commitments for this year that are gonna require me to ride rain or shine. I went down to REI and picked up some warmer bicycling clothes because I was just sick and tired of freezing all of [...]]]></description>
			<content:encoded><![CDATA[<p>First off, we&#8217;re heading into the rainy season here in Northern California and I have made some riding commitments for this year that are gonna require me to ride rain or shine. I went down to REI and picked up some warmer bicycling clothes because I was just sick and tired of freezing all of the time. All in all, I would just like to say wool is gooder.</p>
<p>Not a lot to report this week about things other than mileage, and that I&#8217;m having a good time training at the moment. It provides a nice break in my day and gives me a chance to clear my head each day. I&#8217;m also focusing on my diet trying to shed some weight to help ease the effort required per mile, it seems cheaper than buying a lighter bike. So I&#8217;ll probably be giving information about that when I do these weekly updates.</p>
<p>Information of interest for the first week of 2010 were :</p>
<p><strong>starting weight</strong> : 242 lbs (Unfortunately,  I weighed in the evening for the starting weight, and in the morning for the ending weight. This skews the results for this week, but all future weighing will be done first thing in the morning)</p>
<p><strong>ending weight</strong> : 234.5</p>
<p><strong>total mileage</strong> : 124.2</p>
<p><strong>total ride time for the week </strong>: 9:40:14</p>
<p><strong>total calories burned this week while bicycling</strong> : 8,622</p>
]]></content:encoded>
			<wfw:commentRss>http://www.joelhainley.com/index.php/2010/01/10/state-of-the-bicycle-january-11-2009/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>SQL Server Notes #1 &#8211; Boolean Operator Precedence</title>
		<link>http://www.joelhainley.com/index.php/2010/01/07/sql-server-notes-1-boolean-operator-precedence/</link>
		<comments>http://www.joelhainley.com/index.php/2010/01/07/sql-server-notes-1-boolean-operator-precedence/#comments</comments>
		<pubDate>Fri, 08 Jan 2010 00:42:10 +0000</pubDate>
		<dc:creator>joelhainley</dc:creator>
				<category><![CDATA[SQL Server]]></category>
		<category><![CDATA[SQL]]></category>
		<category><![CDATA[SQL Server Notes Series]]></category>

		<guid isPermaLink="false">http://www.joelhainley.com/?p=200</guid>
		<description><![CDATA[This shocked me a bit because I&#8217;ve never run into a problem with the evaluation of the boolean operators. I suspect this is because I make liberal use of parenthesis when I&#8217;m writing out SQL statements.  However boolean operators are evaluated in the following order : NOT, AND, OR.  As I said it&#8217;s not a [...]]]></description>
			<content:encoded><![CDATA[<p>This shocked me a bit because I&#8217;ve never run into a problem with the evaluation of the boolean operators. I suspect this is because I make liberal use of parenthesis when I&#8217;m writing out SQL statements.  However boolean operators are evaluated in the following order : NOT, AND, OR.  As I said it&#8217;s not a huge problem to deal with, a few parenthesis will fix any issues that you might encounter, but it could create some interesting problems if you aren&#8217;t aware of it and the parenthesis keys on your keyboard is broken.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.joelhainley.com/index.php/2010/01/07/sql-server-notes-1-boolean-operator-precedence/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Sql Server Notes Series</title>
		<link>http://www.joelhainley.com/index.php/2010/01/07/sql-server-notes-series/</link>
		<comments>http://www.joelhainley.com/index.php/2010/01/07/sql-server-notes-series/#comments</comments>
		<pubDate>Thu, 07 Jan 2010 16:53:07 +0000</pubDate>
		<dc:creator>joelhainley</dc:creator>
				<category><![CDATA[SQL Server]]></category>
		<category><![CDATA[SQL Server Notes Series]]></category>

		<guid isPermaLink="false">http://www.joelhainley.com/?p=195</guid>
		<description><![CDATA[The new year always brings with it the optimism that can only come with a perceived &#8220;clean slate&#8221;, a chance to start over and actually make good on your commitments to yourself. The ability to prove to yourself and others that if you commit to something you will have the integrity to follow through, this [...]]]></description>
			<content:encoded><![CDATA[<p>The new year always brings with it the optimism that can only come with a perceived &#8220;clean slate&#8221;, a chance to start over and actually make good on your commitments to yourself. The ability to prove to yourself and others that if you commit to something you will have the integrity to follow through, this time. In the spirit of this notion, I have identified a couple of technical areas where I really want to spend some time getting a deeper, more complete understanding.</p>
<p>One of the these things is SQL Server. I spend a lot of time working with SQL Server and I have a good understanding of SQL Server but as stated previously I would like to spend some time getting a deeper understanding. The great thing about doing something like this is that it tends to generate a lot of interesting things to write about. So I&#8217;m going to start a new series of blog posts called the Sql Server Notes. To give myself a framework on which to learn these new things I am going to be working towards the SQL Server Database Developer Certification. I think this will provide a good study guide for me to gain the sort of deeper level of understanding I am looking for, and it will give me something to show for it when I&#8217;m done. Please note, the focus here is to really gain an understanding of SQL Server and the Certification is a secondary benefit of the study.</p>
<p>The posts in this series might not be very long, and they will probably be known to most people, but they will be things that I either find important to know, problems I find in the reading/study materials that I am using, or other random bits of information. I will try to make at least one posting a week and keep it up until I have finished my studies. Hopefully we can all learn something new, if not, at least I will have worked on my writing skills and put up a good amount of updates to the site.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.joelhainley.com/index.php/2010/01/07/sql-server-notes-series/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>I&#8217;m still here&#8230;.</title>
		<link>http://www.joelhainley.com/index.php/2009/11/24/im-still-here/</link>
		<comments>http://www.joelhainley.com/index.php/2009/11/24/im-still-here/#comments</comments>
		<pubDate>Wed, 25 Nov 2009 00:21:26 +0000</pubDate>
		<dc:creator>joelhainley</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://www.joelhainley.com/?p=188</guid>
		<description><![CDATA[Well enough people have mentioned that I haven&#8217;t updated in a while that I suppose it&#8217;s time for an update.
Work stuff.. Business has been picking up and I&#8217;ve been spending a lot of time with my head in an IDE working. I&#8217;ve been learning a ton of good stuff and maybe I&#8217;ll post some things [...]]]></description>
			<content:encoded><![CDATA[<p>Well enough people have mentioned that I haven&#8217;t updated in a while that I suppose it&#8217;s time for an update.</p>
<p>Work stuff.. Business has been picking up and I&#8217;ve been spending a lot of time with my head in an IDE working. I&#8217;ve been learning a ton of good stuff and maybe I&#8217;ll post some things I&#8217;ve learned at some point. I&#8217;ve also been plugging away on a new product and I have a demo of it up and available to a limited group of beta testers, there&#8217;s a bunch to do but I&#8217;m pretty happy with the results thus far.</p>
<p>Exercise stuff.. I&#8217;ve been doing some boxing and that has been a lot of fun, the workout for boxing is great and it&#8217;s nice to get into the gym 2-3 times a week and just go hard for couple of hours. I&#8217;m finally starting to get acclimated to the workout and have been able to start focusing on technique a little bit more and that&#8217;s been a lot of fun. There&#8217;s a lot to learn and it gets me out of my head each time I go. I also setup a website for the gym you can find it at <a href="http://www.oldschoolboxinggym.com"title="Old School Boxing Gym, Concord CA"  onclick="javascript:pageTracker._trackPageview('/outbound/article/www.oldschoolboxinggym.com');">www.oldschoolboxinggym.com</a></p>
<p>Bicycling&#8230; I&#8217;ve done some bicycling off and on since I got home from Washington in July but nothing terribly focused. Colin and I were talking the other day and I think I&#8217;m going to shoot for doing the Davis Double Century in May next year, although Colin is trying to pressure me into doing the Solvang Double at the end of March. It&#8217;ll take some time to get my base built up for a double so I&#8217;m not sure if I can swing end of march but it&#8217;s a goal.</p>
<p>Getting Things Done &#8230; I read Getting Things Done about 6 weeks ago and I&#8217;ve taken a couple of things from that book and implemented them. Setting up a decent filing system, setting up a tickler file and setting up some other processes to make my paperwork/mail processing/etc is now a lot easier to keep track of than it was before. I also picked up OmniFocus for both my computer and my iphone and those are working out  pretty good. I don&#8217;t know if it would work for everyone, but I think it&#8217;s worth giving it a shot. I have definitely noticed a huge boost in productivity as a result  and I have also noticed that it&#8217;s a lot easier for me to get into a flow state as a result of having things all in front of me in a reasonable manageable way.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.joelhainley.com/index.php/2009/11/24/im-still-here/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>50 miles on the Centurion&#8230;</title>
		<link>http://www.joelhainley.com/index.php/2009/08/31/50-miles-on-the-centurion/</link>
		<comments>http://www.joelhainley.com/index.php/2009/08/31/50-miles-on-the-centurion/#comments</comments>
		<pubDate>Tue, 01 Sep 2009 00:26:42 +0000</pubDate>
		<dc:creator>joelhainley</dc:creator>
				<category><![CDATA[Exercise]]></category>
		<category><![CDATA[bicycle]]></category>
		<category><![CDATA[friends]]></category>

		<guid isPermaLink="false">http://www.joelhainley.com/?p=175</guid>
		<description><![CDATA[Got a call Sunday morning from Mike &#8220;wanna go for a ride?&#8221;. So I got up made coffee and started putting together the things I needed for a ride. I have been looking for my cycling shoes for the Cannondale for about 3 weeks now and haven&#8217;t been able to find them so I decided [...]]]></description>
			<content:encoded><![CDATA[<p>Got a call Sunday morning from Mike &#8220;wanna go for a ride?&#8221;. So I got up made coffee and started putting together the things I needed for a ride. I have been looking for my cycling shoes for the Cannondale for about 3 weeks now and haven&#8217;t been able to find them so I decided to take the Centurion out for the day.</p>
<p>When I went up to Washington to be with Mom and Dad while he was dealing with cancer my Dad gave me his old Centurion Elite, the frame is a little big for me but it actually fits quite well once I&#8217;m up in the saddle. So one day to get Dad out of the house we went over to REI in Redmond and picked up parts for the Yakima rack for the Honda and got parts for me to get the bicycle back on the road. I rode it a few times while I was in Washington but then Dad&#8217;s health really started to go downhill and leaving the house became more difficult to do. I brought the Centurion home and have been using it to do riding and run errands like going to the post office, it&#8217;s a good solid bike, very comfortable and has a rather unique personality after having spent the last few years on Cannondales.</p>
<p>Anyways, I popped up to BART and rode out to Millbrae and the rode down to San Mateo to Mike&#8217;s place and we went down to the bike path along the shore and rode south to Sun&#8217;s campus then across to Palo Alto for lunch. Then we went through Woodside and back up Canada road to a bike path and then dropped back down into San Mateo along what I think was CrystalSprings Road. We talked for a bit and then I headed back to BART on the bicycle to catch a train and get home.</p>
<p>It was a good day and I had a lot of fun, got a sunburn but I got to lose myself for a while and just ride. The best part was that when I got home Amy had found my cycling shoes so that search is over and I can get to doing some serious riding. I had a great laugh with Mike on the ride when I told him that when I was riding regularly I spent more time at gas stations than anywhere else. Gas stations being the best place to buy water and fuel for the next 20 miles, it brings back good memories for me.</p>
<p>So the ride was most excellent and today I&#8217;m pretty tired but it was definitely a highlight of the last several months.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.joelhainley.com/index.php/2009/08/31/50-miles-on-the-centurion/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Eating my own dogfood</title>
		<link>http://www.joelhainley.com/index.php/2009/08/17/eating-my-own-dogfood/</link>
		<comments>http://www.joelhainley.com/index.php/2009/08/17/eating-my-own-dogfood/#comments</comments>
		<pubDate>Mon, 17 Aug 2009 23:12:10 +0000</pubDate>
		<dc:creator>joelhainley</dc:creator>
				<category><![CDATA[business]]></category>
		<category><![CDATA[programming]]></category>
		<category><![CDATA[uISV]]></category>

		<guid isPermaLink="false">http://www.joelhainley.com/?p=163</guid>
		<description><![CDATA[Work on Clik Clock is continuing at a rapid pace, there is still a lot of work to do but this weekend saw a major milestone reached. I am now able to enter/edit data using the UI that I have been designing for the Time Entry module. The other modules are all still being edited [...]]]></description>
			<content:encoded><![CDATA[<p>Work on Clik Clock is continuing at a rapid pace, there is still a lot of work to do but this weekend saw a major milestone reached. I am now able to enter/edit data using the UI that I have been designing for the Time Entry module. The other modules are all still being edited with the development UI but it&#8217;s getting closer. There&#8217;s something magical when the code you&#8217;ve been working on suddenly starts doing some small piece of what you&#8217;ve been envisioning. When it does enough that it can now support you in your efforts and you are able to &#8220;eat your own dogfood&#8221; it&#8217;s like it has taken it&#8217;s first breath and is now starting to take on a life of it&#8217;s own. It&#8217;s really a special time, at least for me.</p>
<p>Paul Graham ( the y combinator guy ) stated in the book Founders At Work that he wished they had setup an online store and sold SOMETHING so they would have had better insight into their customer experience. I can definitely see the value in this as I am more likely to overlook the bumps and bruises of something when I have my engineering hat on than when I have my user hat on. You get annoyed with things that you might not as a developer, watching fancy animations over and over again because they make the screen transitions cool comes to mind as something a developer might like but a user is going to eventually say &#8220;just get on with it.&#8221; I know powerpoint does a boatload of wipes and dissolves but I rarely see more than the default setting unless I&#8217;m watching the first handful of powerpoint presentations the person has made.</p>
<p>Anyways, I&#8217;m eating my own dogfood now and it tastes pretty damned good.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.joelhainley.com/index.php/2009/08/17/eating-my-own-dogfood/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Saturday bicycle ride with Mike</title>
		<link>http://www.joelhainley.com/index.php/2009/08/16/saturday-bicycle-ride-with-mike/</link>
		<comments>http://www.joelhainley.com/index.php/2009/08/16/saturday-bicycle-ride-with-mike/#comments</comments>
		<pubDate>Sun, 16 Aug 2009 18:32:29 +0000</pubDate>
		<dc:creator>joelhainley</dc:creator>
				<category><![CDATA[bicycle]]></category>

		<guid isPermaLink="false">http://www.joelhainley.com/?p=161</guid>
		<description><![CDATA[On Thursday afternoon Mike hit me on instant messenger and mentioned that he was thinking of doing 50 miles or so on Saturday. However, he wasn&#8217;t sure committed to the plan yet so I should give him a call on Saturday. So first thing Saturday morning after putting in my time on ClikClock I gave [...]]]></description>
			<content:encoded><![CDATA[<p>On Thursday afternoon Mike hit me on instant messenger and mentioned that he was thinking of doing 50 miles or so on Saturday. However, he wasn&#8217;t sure committed to the plan yet so I should give him a call on Saturday. So first thing Saturday morning after putting in my time on ClikClock I gave him a ring Saturday and made plans to meet him for a ride.</p>
<p>I went back and forth in my head on which bike to take and ended up taking the fixed gear but flipped it over to the freewheel side for some single speed love without all of the drama. After some logistical issues we finally ended up in the same parking lot and were able to eventually meet up using cell technology and successive approximation. Pleasantries were exchanged and we set off to the south.</p>
<p>Now it&#8217;s a funny thing, I haven&#8217;t ridden in MONTHS, except for a couple of mountain bike rides in Marin with the fellas out there and I&#8217;m just wanting to keep up with Mike. Mike has ridden the loop we&#8217;re going to be doing pretty regularly and has had 150 mile weekends at least once in the last 2 months. So I&#8217;m just trying to stay up next to him and keep myself from burning out. However every time I pull up next to him he goes a little bit faster, pretty soon we&#8217;re cooking right along.</p>
<p>We made pretty good time to the midway point for the day&#8217;s ride and then pulled in at a gas station and raided the convenience store attached to it and sat under a tree coming up with the next big idea that was going to make us fabulously frustrated in our inability to actually finish the project. (Always keep in mind that these are the same pair of minds that brought you cackl.com &#8211; I came up with the domain name, he did all the work <img src='http://www.joelhainley.com/wp-includes/images/smilies/icon_wink.gif' alt=';-)' class='wp-smiley' />  ) Anyways we started back and Mike began to point out places that he had taken breaks before, the closer we got to being done the more he pointed out premium resting spots. &#8220;Joel, If you need a break, we can pull over here so you can recover&#8221;</p>
<p>Now I appreciated this but I didn&#8217;t want to be the one to take a break so I just kept trying to keep up with him and he kept going faster every time I got alongside of him. We finally made it back to our starting point and got the bikes put away and headed to Fuddruckers for a bite to eat before we went our separate ways. It was during this meal that Mike said &#8220;I haven&#8217;t ever ridden that trail that fast, but I was trying to keep up with you&#8221;..&#8221;Huh? I was trying to keep up with you!?&#8221;..I suppose that&#8217;s the danger of having unchecked feedback loops.</p>
<p>Please note: the events of this story might be slightly altered as I tangled with some Jagermeister, Black Horse, and Macallans last night and I think the three of them pretty much beat the hell out of me. Mike&#8217;s version of the events might be different and most likely a lot more amusing than my mine.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.joelhainley.com/index.php/2009/08/16/saturday-bicycle-ride-with-mike/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Showers are gooder&#8230;so is First Aid</title>
		<link>http://www.joelhainley.com/index.php/2009/08/03/showers-are-gooder-so-is-first-aid/</link>
		<comments>http://www.joelhainley.com/index.php/2009/08/03/showers-are-gooder-so-is-first-aid/#comments</comments>
		<pubDate>Mon, 03 Aug 2009 18:21:08 +0000</pubDate>
		<dc:creator>joelhainley</dc:creator>
				<category><![CDATA[life]]></category>

		<guid isPermaLink="false">http://www.joelhainley.com/?p=155</guid>
		<description><![CDATA[So finally after several years of various problems with my shower, I finally have all new plumbing from the main main shutoff valve all the way to the shower. Saturday night I finished up soldering in the last pipe and turned on the water. It all worked and there were no leaks. ( I definitely [...]]]></description>
			<content:encoded><![CDATA[<p>So finally after several years of various problems with my shower, I finally have all new plumbing from the main main shutoff valve all the way to the shower. Saturday night I finished up soldering in the last pipe and turned on the water. It all worked and there were no leaks. ( I definitely think I have this soldering thing down now. )</p>
<p>It had gotten to the point in the shower that the only way to get wet was to take a cold shower, the hot water pressure was so bad that it just dribbled out. I&#8217;ve taken at least three showers with a full pressure shower that is hot, in fact, they got so hot that I had to turn it down a little bit&#8230;WOOT!</p>
<p>Sunday morning got up and headed over to the Red Cross for a class in First Aid. That was pretty interesting and I did well on the little test that they had on the end. So I&#8217;m all set on that deal now I guess.  I was hoping that they covered some more advanced things, but the basics that they went over were all really great to know. I would highly recommend that anyone take this course, especially if you have children.</p>
<p>I&#8217;ve been doing a lot of thinking and a lot of soul searching ( not to get all new age ) the last few months and I&#8217;m starting to develop some clarity in my desires for the next couple of years. This is normally a very good thing for me because once things begin to come into focus for me they tend to start happening at a rapid pace.  Dealing with loss isn&#8217;t always easy and it impacts you in very non-obvious ways, so I&#8217;m trying NOT to jump into things too quickly but I feel like I&#8217;m getting closer to some real answers. I guess we&#8217;ll see.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.joelhainley.com/index.php/2009/08/03/showers-are-gooder-so-is-first-aid/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
