<?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 &#187; joelhainley</title>
	<atom:link href="http://www.joelhainley.com/index.php/author/admin/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.joelhainley.com</link>
	<description>my thoughts and adventures</description>
	<lastBuildDate>Mon, 19 Dec 2011 19:34:42 +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>Personal Projects &#8211; Summer 2011</title>
		<link>http://www.joelhainley.com/index.php/2011/09/17/personal-projects-summer-2011/</link>
		<comments>http://www.joelhainley.com/index.php/2011/09/17/personal-projects-summer-2011/#comments</comments>
		<pubDate>Sat, 17 Sep 2011 16:30:15 +0000</pubDate>
		<dc:creator>joelhainley</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://www.joelhainley.com/?p=437</guid>
		<description><![CDATA[I&#8217;ve been doing a lot of work on personal projects recently. My first iPhone app is almost ready to go to Apple, I&#8217;m pretty excited about that. I have a list of  ideas for the next couple of apps for the phone that I want to work through in the next couple of months. The [...]]]></description>
			<content:encoded><![CDATA[<div id="_mcePaste" style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;">I&#8217;ve been doing a lot of work on personal projects recently. My first iPhone app is almost ready to go to Apple, I&#8217;m pretty excited about that. I have a list of  ideas for the next couple of apps for the phone that I want to work through in the next couple of months. The apps aren&#8217;t terribly complex but they do build on each other (new libraries, frameworks, etc) so I&#8217;ll probably shoot for an app a month for the rest of the year.</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;">Next year I will dig into some bigger apps that I want to work on, by then I should be able in a pretty good space with iOS development. I&#8217;ll probably pick up an iPad sometime towards the end of the year and spend some time with it, then perhaps target some apps for it next year. All around should be good stuff.</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;">I also have Android development on my hitlist for this year. I&#8217;ll probably work to port each of the iPhone apps that I&#8217;m writing to android. Hopefully the learning curve for Android will be similar to the iOS learning curve, I&#8217;ve really enjoyed my time with iOS development. I&#8217;ve done a ton of java development in my career, so I anticipate Android being pretty straightforward.</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;">The Android developers I&#8217;ve talked to are really excited about the platform. I would also like to spend some time and understand about working with Android at the C/C++ layer this would allow for sharing core logic between the iOS and Android apps but I&#8217;m not going to shackle myself to that notion without having first spent some time with each of them.</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;">In other news, I&#8217;ve almost finished freshening the UI of HamTesting.com, I&#8217;m pretty happy with the results. As part of this effort I built out a virtual machine that is a copy of the production server for hamtesting, including the database, so that I can do work on HT when I&#8217;m commuting. This has been a huge win for me and I&#8217;m looking forward to getting through the list of things that I&#8217;ve been wanting to do with HT for a couple of years now.</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;">I&#8217;m not sure what the velocity on new features will be, some of them could take a fair amount of time to work through, but I would like to target having a regular release schedule for HT so that it doesn&#8217;t get neglected again. Some of the features are really important to the growth of HT so I want to be sure that they are getting done.</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;">I&#8217;ve switched over to using git for all of my projects, I setup a server that has all of my source on it, gets backed up every day, etc. I&#8217;m really enjoying git so far, although I don&#8217;t do a lot of development with others so it&#8217;s hard to really appreciate/utilize some of the strongest selling points about git. However, the notion that I can initialize a git repository on a project and work on it locally for a couple of weeks, tracking change, etc. and then easily push it to a server when the project grows legs is just awesome.</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;">I have been entertaining the idea of putting some of my older excursions into coding up on github for consumption by the masses. Though I doubt the masses will have much of an interest, I think it would be kinda cool to have some of the stuff available to a wider audience. Some of the things I&#8217;ve been considering posting:</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;">- I wrote the beginnings of an SVG library for .Net, mostly for the creation and drawing of svg documents using .net objects, it was pretty interesting but I got distracted by work related things and the mood has passed me for the time being. &#8211; I also wrote a rails-esque PHP framework (i&#8217;m sure everyone has one of these), &#8211; I also have an older framework that I wrote in php that might be of interest to others.</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;">- There is also the ASPForms codebase although I&#8217;m not sure I have that laying around anymore. (this was an orm before orms were so trendy, but it understood more than a current orm does)</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;">- picprep which was a pretty fun little utility for processing images from the commandline in a batch sort of way.</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;">- Album Foundry floating around somewhere which was the first time I wrote cross-platform binary file sorts of things. That was a fair amount of fun as well.</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;">Anyways I&#8217;ll give it a bit more thought and if I decide to start posting things then as I have time I&#8217;ll create repositories on git-hub and start getting some of these things out there.</div>
<p>I&#8217;ve been doing a lot of work on personal projects recently. My first iPhone app is almost ready to go to Apple, I&#8217;m pretty excited about that. I have a list of  ideas for the next couple of apps for the phone that I want to work through in the next couple of months. The apps aren&#8217;t terribly complex but they do build on each other (new libraries, frameworks, etc) so I&#8217;ll probably shoot for an app a month for the rest of the year.</p>
<p>Next year I will dig into some bigger apps that I want to work on, by then I should be able in a pretty good space with iOS development. I&#8217;ll probably pick up an iPad sometime towards the end of the year and spend some time with it, then perhaps target some apps for it next year. All around should be good stuff.</p>
<p>I also have Android development on my hitlist for this year. I&#8217;ll probably work to port each of the iPhone apps that I&#8217;m writing to android. Hopefully the learning curve for Android will be similar to the iOS learning curve, I&#8217;ve really enjoyed my time with iOS development. I&#8217;ve done a ton of java development in my career, so I anticipate Android being pretty straightforward.</p>
<p>The Android developers I&#8217;ve talked to are really excited about the platform. I would also like to spend some time and understand about working with Android at the C/C++ layer this would allow for sharing core logic between the iOS and Android apps but I&#8217;m not going to shackle myself to that notion without having first spent some time with each of them.</p>
<p>In other news, I&#8217;ve almost finished freshening the UI of HamTesting.com, I&#8217;m pretty happy with the results. As part of this effort I built out a virtual machine that is a copy of the production server for hamtesting, including the database, so that I can do work on HT when I&#8217;m commuting. This has been a huge win for me and I&#8217;m looking forward to getting through the list of things that I&#8217;ve been wanting to do with HT for a couple of years now.</p>
<p>I&#8217;m not sure what the velocity on new features will be, some of them could take a fair amount of time to work through, but I would like to target having a regular release schedule for HT so that it doesn&#8217;t get neglected again. Some of the features are really important to the growth of HT so I want to be sure that they are getting done.</p>
<p>I&#8217;ve switched over to using git for all of my projects, I setup a server that has all of my source on it, gets backed up every day, etc. I&#8217;m really enjoying git so far, although I don&#8217;t do a lot of development with others so it&#8217;s hard to really appreciate/utilize some of the strongest selling points about git. However, the notion that I can initialize a git repository on a project and work on it locally for a couple of weeks, tracking change, etc. and then easily push it to a server when the project grows legs is just awesome.</p>
<p>I have been entertaining the idea of putting some of my older excursions into coding up on github for consumption by the masses. Though I doubt the masses will have much of an interest, I think it would be kinda cool to have some of the stuff available to a wider audience. Some of the things I&#8217;ve been considering posting:</p>
<ul>
<li>I wrote the beginnings of an SVG library for .Net, mostly for the creation and drawing of svg documents using .net objects, it was pretty interesting but I got distracted by work related things and the mood has passed me for the time being.</li>
<li> I also wrote a rails-esque PHP framework (i&#8217;m sure everyone has one of these),</li>
<li>I also have an older framework that I wrote in php that might be of interest to others.</li>
<li>There is also the ASPForms codebase although I&#8217;m not sure I have that laying around anymore. (this was an orm before orms were so trendy, but it understood more than a current orm does)</li>
<li>picprep which was a pretty fun little utility for processing images from the commandline in a batch sort of way.</li>
<li>Album Foundry floating around somewhere which was the first time I wrote cross-platform binary file sorts of things. That was a fair amount of fun as well.</li>
</ul>
<p>Anyways I&#8217;ll give it a bit more thought and if I decide to start posting things then as I have time I&#8217;ll create repositories on git-hub and start getting some of these things out there.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.joelhainley.com/index.php/2011/09/17/personal-projects-summer-2011/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Experiment Started on August 21, 2011</title>
		<link>http://www.joelhainley.com/index.php/2011/08/21/experiment-started-on-august-21-2011/</link>
		<comments>http://www.joelhainley.com/index.php/2011/08/21/experiment-started-on-august-21-2011/#comments</comments>
		<pubDate>Mon, 22 Aug 2011 06:44:37 +0000</pubDate>
		<dc:creator>joelhainley</dc:creator>
				<category><![CDATA[uISV]]></category>

		<guid isPermaLink="false">http://www.joelhainley.com/?p=429</guid>
		<description><![CDATA[I&#8217;ve started an experiment. I won&#8217;t tell you what it is, however I will tell you that it&#8217;s a business idea I&#8217;ve been wanting to experiment with for a while. It is not related to the iOS development work I&#8217;ve been doing that I haven&#8217;t talked about here yet. (I&#8217;ll do an update on what [...]]]></description>
			<content:encoded><![CDATA[<p>I&#8217;ve started an experiment. I won&#8217;t tell you what it is, however I will tell you that it&#8217;s a business idea I&#8217;ve been wanting to experiment with for a while. It is not related to the iOS development work I&#8217;ve been doing that I haven&#8217;t talked about here yet. (I&#8217;ll do an update on what I&#8217;m doing with iOS in a follow-up post sometime soon).</p>
<p>For now, I won&#8217;t say much about it, except. I&#8217;m trying something. I might reveal a little more about it, if/when it begins to pick up momentum. I probably won&#8217;t ever link to the project itself. I&#8217;m not entirely sure why I feel this way about it, but I just want to keep it off of everyone&#8217;s radar. Well I want people to know I&#8217;m up to something, I just don&#8217;t want to talk about what that is. Hmm..maybe I should just delete this post. <img src='http://www.joelhainley.com/wp-includes/images/smilies/icon_wink.gif' alt=';-)' class='wp-smiley' /> </p>
<p>Stay tuned, so I can be purposely vague with you again. HA!</p>
<p>PS: It&#8217;s not morally corrupt or anything, I just don&#8217;t wanna get into the details, people can be bummers when you tell them the details of things you&#8217;re excited about. So I&#8217;ll say this much, it&#8217;s a uISV&#8230;sorta.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.joelhainley.com/index.php/2011/08/21/experiment-started-on-august-21-2011/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Toastmasters Competent Communicator Speech #1 Completed</title>
		<link>http://www.joelhainley.com/index.php/2011/01/22/toastmasters-competent-communicator-speech-1-completed/</link>
		<comments>http://www.joelhainley.com/index.php/2011/01/22/toastmasters-competent-communicator-speech-1-completed/#comments</comments>
		<pubDate>Sat, 22 Jan 2011 17:18:10 +0000</pubDate>
		<dc:creator>joelhainley</dc:creator>
				<category><![CDATA[Toastmasters]]></category>

		<guid isPermaLink="false">http://www.joelhainley.com/?p=378</guid>
		<description><![CDATA[This last Tuesday I received an email from the Toastmaster for Wednesday&#8217;s meeting. &#8220;There is an opening in the speech schedule, would you like to give your Icebreaker?&#8221; My first reaction was &#8220;NO&#8221; then I realized that this might be the best way to get over my first speech jitters. I&#8217;ll only have about 24 [...]]]></description>
			<content:encoded><![CDATA[<p>This last Tuesday I received an email from the Toastmaster for Wednesday&#8217;s meeting. &#8220;There is an opening in the speech schedule, would you like to give your Icebreaker?&#8221; My first reaction was &#8220;NO&#8221; then I realized that this might be the best way to get over my first speech jitters. I&#8217;ll only have about 24 hours to worry about all of the things that could go wrong with the speech, what I&#8217;ll say, etc. etc. Then I also considered my goal of getting through the Competent Communicator manual this year, and since the schedule is booked full through February I might not have another chance to do my icebreaker until some time in March.</p>
<p>I accepted. However, I had just joined the club the week before so I didn&#8217;t have my packet from Toastmasters yet. Thankfully, I borrowed a CC Manual a couple of weeks ago, so I had something to read over so I could prepare for my speech. Reading over the manual during lunch, followed by a little perusing on the internet and thinking about the Icebreakers I&#8217;ve seen since I started attending, I finally settled on a topic for my speech.</p>
<p>During my ride home on BART I wrote out a rough draft of my speech. I paid special attention to memorizing my opening couple of sentences, and the conclusion of my speech. While I was riding my bicycle home I actually did my speech out loud and found a couple of awkward spots, so I polished those a bit more. Once I was pretty happy with the speech I started giving it over and over again, thankfully Brodie (the dog) didn&#8217;t mind listening to the speech multiple times while I worked on hand gestures, movement, and cleaning up some things that weren&#8217;t quite right. During this process of practicing and polishing,Â  I noticed that my speech came in around 7 minutes 30 seconds.Â  Unfortunately, it wasn&#8217;t until I really had the speech nailed down, that I realized it was a full minute and a half over my target time.</p>
<p>I considered trimming the speech down to fit within the time allotted but I just couldn&#8217;t change much with the speech without really having to rework everything. At 1am the day of the speech I considered my options and decided to just go with the speech as is. If it went over, hopefully it wouldn&#8217;t be too much over. I was counting on the fact that being a bit nervous would have me talking somewhat faster than I did during my practice and that the time would &#8220;fix itself&#8221;. It did, I came in around 5:45. Perfect time. Whew!</p>
<p>The speech itself went well, I was called up, nailed what I nailed in practice, had problems with the things I had problems with during practice. I did my first speech without notes, and overall I&#8217;m pretty happy. I&#8217;ve started writing speech number 2 just to have it prepared in case another last minute opportunity to speak presents itself. With a bit of hard work, and some luck, hopefully I can finish the CC manual by the end of the year!</p>
]]></content:encoded>
			<wfw:commentRss>http://www.joelhainley.com/index.php/2011/01/22/toastmasters-competent-communicator-speech-1-completed/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>What&#8217;s new</title>
		<link>http://www.joelhainley.com/index.php/2011/01/16/whats-new/</link>
		<comments>http://www.joelhainley.com/index.php/2011/01/16/whats-new/#comments</comments>
		<pubDate>Sun, 16 Jan 2011 16:59:31 +0000</pubDate>
		<dc:creator>joelhainley</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://www.joelhainley.com/?p=373</guid>
		<description><![CDATA[It&#8217;s been a long while since I&#8217;ve updated here. I&#8217;ve been doing a small amount of twittering, it&#8217;s a bit easier to send out random missives than it is to construct a full blown blog entry of any appreciable size. Today I&#8217;m feeling chatty and have noone to talk to besides the dog so maybe [...]]]></description>
			<content:encoded><![CDATA[<p>It&#8217;s been a long while since I&#8217;ve updated here. I&#8217;ve been doing a small amount of twittering, it&#8217;s a bit easier to send out random missives than it is to construct a full blown blog entry of any appreciable size. Today I&#8217;m feeling chatty and have noone to talk to besides the dog so maybe this will be an update to remember.</p>
<p>I joined Toastmasters last week and am looking forward to working my way through the Competent Communicator manual. Mike was the inspiration for attending a Toastmasters meeting and after watching people talk for a few weeks I was amazed at how much of an improvement people were making from week to week.</p>
<p>I started riding my bicycle again, I kinda stopped around May for a bunch of personal reasons. However, lately I&#8217;ve been missing it somewhat so I&#8217;ve started riding again. It&#8217;s been good. I can already feel myself getting stronger. It&#8217;s nice to have some time each day to be alone with your thoughts and not have a computer in front of you that has a lot of work you could be doing.</p>
<p>I installed iBooks on my iPhone recently and started reading books from Project Gutenberg. I read the second of E.E.Smith&#8217;s Skylark novels, and am now working my way through Moby Dick. I&#8217;ve found that having a book on the phone has completely killed my desire to play puzzle games on the device. The nice thing about having a book on the phone is that you find all of these great moments to read. Standing in line waiting for food, waiting for bart trains, when a meeting doesn&#8217;t start on time, etc. It has been really great in that regard.</p>
<p>Another thing I&#8217;ve been doing on the iPhone has been watching lectures from Stanford on iPhone development. This has been really cool and I&#8217;m actually pretty close to finishing up the entire cs193p video series. I noticed on hacker news the other day that MIT has some courses and there&#8217;s a couple of other podcasts that are educational podcasts so I&#8217;ll probably continue to load those on the phone and watch them when I have moments that I can&#8217;t get in front of a computer and work.</p>
<p>I&#8217;ve been listening to a few development podcasts recently as well, Java Posse, and a few others about different technologies/platforms. This is probably a good thing because the podcasts talk about the latest developments and I gravitate towards working and not geeking out on &#8220;what if&#8217;s&#8221; and the &#8220;newest widgets&#8221;. So it&#8217;s given me some insight into what is happening in the development world in spare moments throughout my day instead of requiring me to dedicate time to learning about the newest craze in dependency injection or whatever the latest thing is.</p>
<p>I&#8217;m currently doing some work with Message Driven Beans to replace a sqlexec process and so far it&#8217;s going extremely well. I haven&#8217;t broken the news to the DBA that we are getting rid of his sqlexec code, but I want to make sure everything is going to work as I expect it will before I fight that battle. MDB&#8217;s provide an elegant solution to the problem and constraints that are created by the operational issues revolving around the current solution so hopefully I&#8217;ll have something wrapped up this week.</p>
<p>Rock on.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.joelhainley.com/index.php/2011/01/16/whats-new/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>11-05 Challenge : Cancelled</title>
		<link>http://www.joelhainley.com/index.php/2010/10/30/11-05-challenge-cancelled/</link>
		<comments>http://www.joelhainley.com/index.php/2010/10/30/11-05-challenge-cancelled/#comments</comments>
		<pubDate>Sun, 31 Oct 2010 03:04:35 +0000</pubDate>
		<dc:creator>joelhainley</dc:creator>
				<category><![CDATA[11-05 Challenge]]></category>

		<guid isPermaLink="false">http://www.joelhainley.com/?p=348</guid>
		<description><![CDATA[Perhaps I&#8217;ll write more about this later, but for now suffice it to say that the 11-05 challenge has been cancelled.
]]></description>
			<content:encoded><![CDATA[<p>Perhaps I&#8217;ll write more about this later, but for now suffice it to say that the 11-05 challenge has been cancelled.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.joelhainley.com/index.php/2010/10/30/11-05-challenge-cancelled/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<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_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_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>
<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_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>

]]></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>
	</channel>
</rss>

