<?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>jonezy.org &#187; development</title>
	<atom:link href="http://www.jonezy.org/blog/category/development/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.jonezy.org/blog</link>
	<description>me and you and everyone we know</description>
	<lastBuildDate>Wed, 27 Jan 2010 03:58:06 +0000</lastBuildDate>
	
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Connecting to different database on the fly using Subsonic 2.x</title>
		<link></link>
		<comments>http://www.jonezy.org/blog/2009/11/03/connecting-to-different-database-on-the-fly-using-subsonic-2-x/#comments</comments>
		<pubDate>Tue, 03 Nov 2009 12:18:13 +0000</pubDate>
		<dc:creator>jonezy</dc:creator>
				<category><![CDATA[development]]></category>
		<category><![CDATA[programming]]></category>
		<category><![CDATA[work]]></category>

		<guid isPermaLink="false">http://www.jonezy.org/blog/?p=312</guid>
		<description><![CDATA[Recently I started working on a project at work that requires me to connect to more then a single database at a time (different parts of the app connecting to different databases at the same time).  I figured this should be pretty straight forward, Subsonic is relatively mature and should probably support this out [...]]]></description>
			<content:encoded><![CDATA[<p>Recently I started working on a project at work that requires me to connect to more then a single database at a time (different parts of the app connecting to different databases at the same time).  I figured this should be pretty straight forward, <a href="http://subsonicjproject.com" target="_blank">Subsonic</a> is relatively mature and should probably support this out of the box.</p>
<p>It doesn&#8217;t.</p>
<p>After figuring out that there was no simple easy solution for this, the next logical step was to start <a href="http://www.google.com" target="_blank">googling</a> for answers right?  Obviously.  Off I went, finding little bits and pieces here and there, never the complete solution though, I thought I had a solution and my app worked for a couple of weeks until all of a sudden one day I could no longer connect to more than a single database!  FML as they say!</p>
<p>I happened to stumble on this<a href="http://stackoverflow.com/questions/968391/subsonic-dynamic-connections" target="_blank"> stackoverflow</a> post that sort of addressed my issue, it gave some of the pieces of the solution, but I had to piece the rest of it together myself.  After finally fixing my problem I give to you, dear reader, my solution.</p>
<p>Note: this post assumes that you have used subsonic, are fairly well versed in using it and have had the exact same problem as me.</p>
<p>1. Generate you DAL as normal using whatever method you like (i write a batch file to generate mine)</p>
<p>2. Create a file called whatever and place it in your subsonic project with this<a href="http://snipt.org/nHg" target="_blank"> code in it</a> (links to snipt.org, i&#8217;m straight copying and pasting my file, so change your namespaces and all that business).</p>
<p>3. Create a base class that all of your data access classes will inherit from (I call my RepositoryBase.cs)</p>
<p>4. Have the repository classes accept a connection string as part of the constructor, and pass it on to the base class.</p>
<p>5. In the base class, call the static method in the file you created in step 2 like so:</p>
<p>SSPProvider.SetProvider(&#8221;ConnectionStringName&#8221;, &#8220;ConnectionString&#8221;);</p>
<p>6. All of your subsonic related code will now use whatever connection string you passed to the SetProvider method.</p>
<p>7. ???</p>
<p>8. Profit?</p>
<p>Not so sure about the profit thing, but the code to switch databases works like a charm.</p>
<p>If there is interest I can post a more complete example but this should get you going for now.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.jonezy.org/blog/2009/11/03/connecting-to-different-database-on-the-fly-using-subsonic-2-x/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>If your gonna fuck up, do it early</title>
		<link></link>
		<comments>http://www.jonezy.org/blog/2009/10/15/if-your-gonna-fuck-up-do-it-early/#comments</comments>
		<pubDate>Thu, 15 Oct 2009 10:42:36 +0000</pubDate>
		<dc:creator>jonezy</dc:creator>
				<category><![CDATA[agile]]></category>
		<category><![CDATA[development]]></category>
		<category><![CDATA[programming]]></category>
		<category><![CDATA[work]]></category>

		<guid isPermaLink="false">http://www.jonezy.org/blog/?p=330</guid>
		<description><![CDATA[I&#8217;ve worked in the online industry for the last 12 years or so, one thing above all else I&#8217;ve learned in my time in this industry
You are going to fuck it up
Now I use the phrase &#8220;fuck it up&#8221; in place of fail for effect, for impact, ya know if this was a power point [...]]]></description>
			<content:encoded><![CDATA[<p>I&#8217;ve worked in the online industry for the last 12 years or so, one thing above all else I&#8217;ve learned in my time in this industry</p>
<p>You are going to fuck it up</p>
<p>Now I use the phrase &#8220;fuck it up&#8221; in place of fail for effect, for impact, ya know if this was a power point there would be one whole slide dedicated to the phrase &#8220;you are going to fuck it up&#8221; yes, that lesson is that important.</p>
<p>Now you might think what a great way to instantly ruin any project!  So what your telling me Chris is no matter what, I&#8217;m going to fuck this project I&#8217;m about to start working on up?</p>
<p>Yes, that is what I&#8217;m telling you&#8230; But, its not the only thing that I&#8217;m going to tell you.</p>
<p>There&#8217;s an expression that&#8217;s become increasingly popular in the development world as the popularity of agile and lean development rises.</p>
<p>&#8220;Fail early, fail often&#8221;</p>
<p>It sounds so insanely wrong so anti everything you&#8217;ve ever learned doesn&#8217;t it?  Once you get over the stigma of failure you&#8217;ll quickly realize that failure isn&#8217;t as bad as you&#8217;ve been conditioned to perceive it.  Early failures cost less both in financial terms as well as in more personal ways that we won&#8217;t touch on here.</p>
<p>The concept of fail early, fail often is wonderfully summed up (quote stolen from codinghorror.com)</p>
<p><strong>Learning doesn&#8217;t happen from failure itself but rather from analyzing the failure, making a change, and then trying again. Over time this gives you a deep understanding of the problem domain. </strong>(Michael Hunter on <a href="http://blogs.msdn.com/micahel/archive/2005/08/17/FailFast.aspx" target="_blank">fail early and often</a>)</p>
<p>I sum it up a bit differently: <strong>&#8220;The only real failures are ones that you don&#8217;t learn from&#8221;</strong></p>
<p>So go out there dev&#8217;s and fail away, not only are you going to understand more about the stuff your working on, but you&#8217;ll likely discover more about yourself and the people around you as well.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.jonezy.org/blog/2009/10/15/if-your-gonna-fuck-up-do-it-early/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>ASP Menu controls aren&#8217;t rendering correctly in google chrome</title>
		<link></link>
		<comments>http://www.jonezy.org/blog/2009/09/29/asp-menu-controls-arent-rendering-correctly-in-google-chrome/#comments</comments>
		<pubDate>Tue, 29 Sep 2009 13:52:36 +0000</pubDate>
		<dc:creator>jonezy</dc:creator>
				<category><![CDATA[c#]]></category>
		<category><![CDATA[development]]></category>
		<category><![CDATA[personal]]></category>
		<category><![CDATA[programming]]></category>
		<category><![CDATA[work]]></category>

		<guid isPermaLink="false">http://www.jonezy.org/blog/?p=322</guid>
		<description><![CDATA[&#8220;ASP Menu controls aren&#8217;t rendering correctly in google chrome&#8221;
I did a search for this exact phrase about a month ago to solve a quirky problem that I encountered while using the built in asp:menu control that was introduced with version 2.0 of the framework.
I could go into a long explanation of how difficult it was [...]]]></description>
			<content:encoded><![CDATA[<p><em>&#8220;ASP Menu controls aren&#8217;t rendering correctly in google chrome&#8221;</em></p>
<p>I did a search for this exact phrase about a month ago to solve a quirky problem that I encountered while using the built in asp:menu control that was introduced with version 2.0 of the framework.</p>
<p>I could go into a long explanation of how difficult it was to find the solution to my problem but instead of doing that I am simply going to give you the solution, that&#8217;s all I wanted when I went searching and it took a long time to get it so here dear reader is the solution for you.</p>
<p>To the asp:Menu control render correctly in chrome (or safari) paste the following bit of code in your Page_Load event on every page that you use the control</p>
<pre>        if (Request.UserAgent.IndexOf("AppleWebKit") &gt; 0)
            Request.Browser.Adapters.Clear();</pre>
<p><a href="http://snipt.org/nTh" target="_blank">or grab it on snipt.org</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.jonezy.org/blog/2009/09/29/asp-menu-controls-arent-rendering-correctly-in-google-chrome/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Cool user experience</title>
		<link></link>
		<comments>http://www.jonezy.org/blog/2009/09/22/cool-user-experience/#comments</comments>
		<pubDate>Tue, 22 Sep 2009 22:56:08 +0000</pubDate>
		<dc:creator>jonezy</dc:creator>
				<category><![CDATA[awesome]]></category>
		<category><![CDATA[development]]></category>
		<category><![CDATA[tech]]></category>
		<category><![CDATA[web2.0]]></category>
		<category><![CDATA[work]]></category>

		<guid isPermaLink="false">http://www.jonezy.org/blog/?p=305</guid>
		<description><![CDATA[I use remember the milk for managing my day to day tasks, it&#8217;s a great service and I&#8217;ve gone through just about every to-do list app on the web.
One of the really cool things about the service is that you can sign up to test features before they are released to the entire user base. [...]]]></description>
			<content:encoded><![CDATA[<p>I use <a href="http://www.rememberthemilk.com" target="_blank">remember the milk</a> for managing my day to day tasks, it&#8217;s a great service and I&#8217;ve gone through just about every to-do list app on the web.</p>
<p>One of the really cool things about the service is that you can sign up to test features before they are released to the entire user base.  Right now I&#8217;m testing the new smart add feature, it&#8217;s awesome and i just noticed a really cool touch that I thought deserved sharing.</p>
<p><img class="size-full wp-image-306 alignleft" title="rtm_input" src="http://www.jonezy.org/blog/wp-content/uploads/2009/09/rtm_input.gif" alt="rtm_input" width="500" height="135" /></p>
<p>See the small window with the ? in the top left, it lists the shortcuts that you can use in the smart add box.  Seems pretty simple right?  The little window actually stays open after you click the question mark until you explicitly close it using the x.  Why do I think this is interesting?  Because it allows me to see those shortcuts as I&#8217;m using the tool, it doesn&#8217;t force me to go to another window or stop and hover over a link to get the info, it makes learning the app a lot easier, it removes the friction between becoming and advanced user.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.jonezy.org/blog/2009/09/22/cool-user-experience/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Weathering the storm</title>
		<link></link>
		<comments>http://www.jonezy.org/blog/2008/08/11/weathering-the-storm/#comments</comments>
		<pubDate>Tue, 12 Aug 2008 01:25:17 +0000</pubDate>
		<dc:creator>jonezy</dc:creator>
				<category><![CDATA[agile]]></category>
		<category><![CDATA[development]]></category>
		<category><![CDATA[q4]]></category>
		<category><![CDATA[scrum]]></category>
		<category><![CDATA[work]]></category>

		<guid isPermaLink="false">http://www.jonezy.org/blog/?p=154</guid>
		<description><![CDATA[One of the common tasks when working in an agile environment is pointing stories, its essential that the team and the product owner get together and decide on how much effort something is going to take. We had a meeting scheduled today at work to do just this, 4 stories that needed pointing so they [...]]]></description>
			<content:encoded><![CDATA[<p>One of the common tasks when working in an agile environment is pointing stories, its essential that the team and the product owner get together and decide on how much effort something is going to take. We had a meeting scheduled today at work to do just this, 4 stories that needed pointing so they could be put in the backlog, all pretty straight forward right?</p>
<p>Like all good agile practitioners, we set out some guidelines at the start of the meeting. We would time box each story discussion at 8 minutes and then move on. As well, we decided that each team member would take turns reading one of the stories so that everyone was involved and engaged. We started out well and made some progress but it was obvious that things were coming off the rails, and fast. Team members were getting frustrated, a couple of members were just pointing stories really high because they weren’t understanding the business value that each story conveyed (the product owner was present, and the team had met previously and discussed the stories in a brain storming capacity), the product owner was getting more and more frustrated, the team members quickly lost interest and everyone left the room feeling a bit worse for the participating.</p>
<p><img src="http://farm2.static.flickr.com/1311/933560444_64c8d85f3c.jpg" alt="" /></p>
<p>I thought I would highlight some of the issues and try to address them:</p>
<p><strong>History repeating</strong><br />
Some of the team members had worked on implementing the feature that we were pointing in the meeting in a past iteration of the project. The attempt failed costing the team of 3 people a months worth of time. It was obvious that this weighed heavily on those specific members and it was influencing there estimates. Understandably one can be sympathetic of this attitude, failing at the same thing over and over again is demoralizing and soul crushing. The thing is that scrum accounts for failure as long as you learn from it, I think though that this issue is a very difficult one to get past and I can’t really criticize too harshly on the topic.</p>
<p><strong>Breaking the law</strong><br />
After the first story was done and pointed in the time allotted, we quickly ran overtime on the second and it just got worse for each subsequent story. We had completely ignored what we all agreed on at the start of the meeting and it turned a 30 minute exercise into a 90 minute marathon. I think in this case sticking to what we agreed to at the start would have made for a much more satisfying meeting, I think the desire to please the product owner and get the stories point outweighed the obvious fact that we weren’t doing a good job pointing them. I think in retrospect we should have just stopped the meeting and moved onto other work and reconvened another day, it probably would have saved a lot of people a lot of time and energy. This is something to try next time for sure.</p>
<p>A couple of interesting things happened later in the day that this meeting took place, my co-worker <a href="http://jasonlittle.ca/">Jason Little</a> wrote a blog post talking about this exact topic (I think the meeting had a pretty deep impact on all involved), go <a href="http://plog.jasonlittle.ca/2008/08/06/when-story-estimation-sessions-go-bad/">check his post out</a> .</p>
<p>The other interesting thing is that I caught a tweet on twitter that stated “storming is the most interesting part of team formation”. This kinda made me think for a second, so I Googled the term and came to this <a href="http://en.wikipedia.org/wiki/Forming-storming-norming-performing">interesting wikipedia page</a>.  The really interesting bit for me is the entry on storming:</p>
<blockquote><p><em>The storming stage is necessary to the growth of the team. It can be contentious, unpleasant and even painful to members of the team who are averse to conflict. Tolerance of each team member and their differences needs to be emphasized. Without tolerance and patience the team will fail. This phase can become destructive to the team and will lower motivation if allowed to get out of control.</em></p></blockquote>
<p>This so quantified the exact feelings I was having about the meeting, it really reassured me that this is a normal process and it eventually leads to bigger and better things. It certainly made me feel much better about the situation and that we can and will progress past that stage onto more productive and fulfilling team situations.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.jonezy.org/blog/2008/08/11/weathering-the-storm/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Embracing constraints</title>
		<link></link>
		<comments>http://www.jonezy.org/blog/2008/06/17/embracing-constraints/#comments</comments>
		<pubDate>Wed, 18 Jun 2008 01:01:24 +0000</pubDate>
		<dc:creator>jonezy</dc:creator>
				<category><![CDATA[awesome]]></category>
		<category><![CDATA[design]]></category>
		<category><![CDATA[development]]></category>
		<category><![CDATA[music]]></category>

		<guid isPermaLink="false">http://www.jonezy.org/blog/?p=129</guid>
		<description><![CDATA[In the design and development world there is a lot of talk about constraints and embracing them to foster creativity.  I love this movement and subscribe to it (at least I try to).
One thing that has slowly crept up on me though is that this type of attitude is starting to gain some real [...]]]></description>
			<content:encoded><![CDATA[<p>In the design and development world there is a lot of talk about <a href="http://www.37signals.com/svn/archives2/constraints_breed_breakthrough_creativity.php">constraints</a> and <a href="http://ukwebfocus.wordpress.com/2007/06/20/embracing-constraints/">embracing</a> them to <a href="http://blogs.gxs.com/justindz/2007/05/17/traffic-in-india-embracing-constraints/" target="_blank">foster </a><a href="http://www.gapingvoid.com/" target="_self">creativity</a>.  I love this movement and subscribe to it (at least I try to).</p>
<p>One thing that has slowly crept up on me though is that this type of attitude is starting to gain some real ground in the music world.  Historically it would seem that sometime after the 60’s and the era of the power trio, musicians decided that adding more to bands was the way to go.  Another guitar player here, a keyboard there, heck throw in another drummer and a triangle player for good measure! and even more so lately you have big bands like The Go Team (7+ members) and The Arcade Fire (5+ members).  Now I don&#8217;t have anything against any of these bands (in fact I love the go team and the arcade fire), but it seems like the culture of bigger is better is getting out of hand!</p>
<p>Now I know in recent history the popularity of electronic music has soared and often times is a single person mixing records or composing using a computer this doesn’t seem as revolutionary to me as the advent of small rock bands.</p>
<p>Lately, and especially with new rock type bands you are starting to see a lot of 3 and 2 person setups</p>
<ul>
<li><a href="http://www.deathfromabove1979.com/">Death from above 1979</a> – bass and drums</li>
<li><a href="http://www.rodgab.com/">Rodrigo y Gabriela</a> – 2 guitars (fantastic too btw)</li>
<li><a href="http://www.whitestripes.com/">White stripes</a> – Guitar and drums</li>
<li><a href="http://site.yeahyeahyeahs.com/blog/default.aspx">Yeah Yeah Yeah’s</a> – singer, guitar, drums</li>
<li><a href="http://www.muse.mu/index.php">Muse</a> – guitar, bass, drums</li>
</ul>
<p>These bands are realizing that great music can be made with less, embracing the constraints (whether by choice or otherwise) and not only succeeding but excelling at what they do.</p>
<p>Where have you seen people embracing constraints?  Or creating constraints to foster creativity?  I think it’s a fascinating topic and would love to hear more about it.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.jonezy.org/blog/2008/06/17/embracing-constraints/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>Why can&#8217;t I do that?</title>
		<link></link>
		<comments>http://www.jonezy.org/blog/2008/06/16/why-cant-i-do-that/#comments</comments>
		<pubDate>Tue, 17 Jun 2008 00:34:09 +0000</pubDate>
		<dc:creator>jonezy</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[awesome]]></category>
		<category><![CDATA[design]]></category>
		<category><![CDATA[development]]></category>
		<category><![CDATA[google]]></category>
		<category><![CDATA[software]]></category>

		<guid isPermaLink="false">http://www.jonezy.org/blog/?p=127</guid>
		<description><![CDATA[I just had to post this video I came across the other day, it&#8217;s a google tech talk and the presenter is Aza Raskin (Son of Jeff Raskin, the guy who started the macintosh project for apple).  He&#8217;s also one of the founders of Humanized who make the most excellent Enso launcher product, a company [...]]]></description>
			<content:encoded><![CDATA[<p>I just had to post this video I came across the other day, it&#8217;s a google tech talk and the presenter is <a href="http://en.wikipedia.org/wiki/Aza_Raskin" target="_blank">Aza Raskin</a> (Son of Jeff Raskin, the guy who started the macintosh project for apple).  He&#8217;s also one of the founders of <a href="http://humanized.com" target="_blank">Humanized</a> who make the most excellent <a href="http://humanized.com/enso/" target="_blank">Enso launcher</a> product, a company and product that I am a huge fan of.</p>
<p>Anyways, this is a fantastic video on the topic of &#8220;Humane Computing&#8221; and I think it&#8217;s well worth your time to sit down and watch it all the way through.</p>
<p><a href='http://video.google.com/videoplay?docid=-6856727143023456694' >Away with applications, the death of the desktop</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.jonezy.org/blog/2008/06/16/why-cant-i-do-that/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Birthday Contest @ CodeSqueeze</title>
		<link></link>
		<comments>http://www.jonezy.org/blog/2008/06/08/birthday-contest-codesqueeze/#comments</comments>
		<pubDate>Sun, 08 Jun 2008 15:21:50 +0000</pubDate>
		<dc:creator>jonezy</dc:creator>
				<category><![CDATA[awesome]]></category>
		<category><![CDATA[blogs]]></category>
		<category><![CDATA[development]]></category>
		<category><![CDATA[friends]]></category>
		<category><![CDATA[personal]]></category>
		<category><![CDATA[software]]></category>
		<category><![CDATA[twitter]]></category>

		<guid isPermaLink="false">http://www.jonezy.org/blog/?p=126</guid>
		<description><![CDATA[Max Poole is holding a contest at his blog to give away a copy of Bamboo 2.0 (continuous integration software) and a copy of Slick Edit (suite of add-ons for visual studio)
I&#8217;ve never used the Slick Edit product but I&#8217;ve got lot&#8217;s of experience using Atlassian products (Jira and confluence) and would love to get [...]]]></description>
			<content:encoded><![CDATA[<p>Max Poole is holding a <a href="http://www.codesqueeze.com/birthday-contest-win-bamboo-20-slickedit/" target="_blank">contest at his blog</a> to give away a copy of <a href="http://www.atlassian.com/software/bamboo/" target="_blank">Bamboo 2.0</a> (continuous integration software) and a copy of <a href="http://www.slickedit.com/content/view/408/244/" target="_blank">Slick Edit</a> (suite of add-ons for visual studio)</p>
<p>I&#8217;ve never used the Slick Edit product but I&#8217;ve got lot&#8217;s of experience using Atlassian products (Jira and confluence) and would love to get my grubby mitts on a copy of bamboo since I am a huge fan of the other Atlassian products I&#8217;ve used.</p>
<p>So <a href="http://www.codesqueeze.com/birthday-contest-win-bamboo-20-slickedit/" target="_blank">head on over</a> and find out how you can win some of this software (hint, writing a blog post about it get&#8217;s you 25 tickets in this raffle style give away)</p>
]]></content:encoded>
			<wfw:commentRss>http://www.jonezy.org/blog/2008/06/08/birthday-contest-codesqueeze/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>How often do you commit?</title>
		<link></link>
		<comments>http://www.jonezy.org/blog/2008/05/31/how-often-do-you-commit/#comments</comments>
		<pubDate>Sat, 31 May 2008 20:48:13 +0000</pubDate>
		<dc:creator>jonezy</dc:creator>
				<category><![CDATA[development]]></category>
		<category><![CDATA[personal]]></category>
		<category><![CDATA[software]]></category>
		<category><![CDATA[work]]></category>

		<guid isPermaLink="false">http://www.jonezy.org/blog/?p=123</guid>
		<description><![CDATA[I was working on some code today and was getting ready to do a check in and I thought to myself, should I be checking this code in? I made tiny change that would end up being part of a bigger refactoring of some tests I was writing, I wasn’t sure if I would be [...]]]></description>
			<content:encoded><![CDATA[<p>I was working on some code today and was getting ready to do a check in and I thought to myself, should I be checking this code in? I made tiny change that would end up being part of a bigger refactoring of some tests I was writing, I wasn’t sure if I would be working on the refactoring again in the short term so I figured I would check in what I had done, even though the unit of work was small, it was done and left the project in a running valid state.</p>
<p><strong>The longer you wait, the more painful it will be</strong><br />
Kinda like ignoring that aching tooth, or that tweak in your back, it can wait it’s not that serious right now is it? I’ve seen much of the same attitude when it comes to working with source control systems. Developers will work on a task and not check in any of there changes for sometimes weeks. This often time’s leads to code conflicts and merging tasks because the developer waited so long to check in.</p>
<p><strong>Check in early, check in often</strong><br />
The project I am working on at the moment is a small wrapper for the 37 Signals backpack api. It’s just me working on it right now so conflicts are unlikely, but i still check in any work that i have done when I leave the application in a valid state, even if the complete task isn’t done. For me it feels like the right thing to do, I can be sure that the repository is always in a state that works (if someone else ever felt like contributing) and it also helps me sleep at night knowing that if for some reason my laptop decided to off itself during the night, my project is still there ready and waiting for me.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.jonezy.org/blog/2008/05/31/how-often-do-you-commit/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>jonezy.org.BackpackAPI</title>
		<link></link>
		<comments>http://www.jonezy.org/blog/2008/05/27/jonezyorgbackpackapi/#comments</comments>
		<pubDate>Wed, 28 May 2008 02:03:50 +0000</pubDate>
		<dc:creator>jonezy</dc:creator>
				<category><![CDATA[awesome]]></category>
		<category><![CDATA[development]]></category>
		<category><![CDATA[open source]]></category>
		<category><![CDATA[personal]]></category>
		<category><![CDATA[web2.0]]></category>

		<guid isPermaLink="false">http://www.jonezy.org/blog/?p=122</guid>
		<description><![CDATA[Is the reason why I haven&#8217;t been posting here, I&#8217;m working on building a c# wrapper for the 37 Signals Backpack API.  Nothing terribly exciting yet (I&#8217;m basically just implementing the services per the api docs).  I&#8217;m hosting this at Google Code and this will be an open source project.  I&#8217;m also [...]]]></description>
			<content:encoded><![CDATA[<p>Is the reason why I haven&#8217;t been posting here, I&#8217;m working on building a c# wrapper for the <a href="http://developer.37signals.com/backpack/" target="_blank">37 Signals Backpack API</a>.  Nothing terribly exciting yet (I&#8217;m basically just implementing the services per the api docs).  I&#8217;m hosting this at <a href="http://code.google.com/p/backpackapi/" target="_blank">Google Code</a> and this will be an open source project.  I&#8217;m also taking the time to try out doing Test Driven Development.  I&#8217;m pretty happy with how that&#8217;s going so far, but it&#8217;s a new process for me so it&#8217;s taking some time (though I&#8217;m happy to report i have 33 tests for 13 implemented methods!)</p>
<p>Future plans include (some might happen, all might never happen)</p>
<ul>
<li>an offline version of backpack</li>
<li>a to-do list application that is driven by backpack lists</li>
<li>a WPF client for doing various backpack things (reminders, journal and status updates)</li>
<li>update status on multiple targets (backpack journal / status, twitter, pownce etc)</li>
</ul>
<p>If you are interested in this at all please have a look at the code and let me know if you are interested in using it or contributing.  Oh and any / all feedback is great too.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.jonezy.org/blog/2008/05/27/jonezyorgbackpackapi/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
	</channel>
</rss>
