<?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/"
	>

<channel>
	<title>aaronkjackson.com</title>
	<atom:link href="http://www.aaronkjackson.com/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.aaronkjackson.com</link>
	<description>Life is simple and so is web development.</description>
	<pubDate>Sat, 12 Mar 2011 22:16:02 +0000</pubDate>
	<generator>http://wordpress.org/?v=2.7</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Using the DotNetNuke Profile Photo in a Custom Module</title>
		<link>http://www.aaronkjackson.com/2011/03/using-the-dotnetnuke-profile-photo-in-a-custom-module/</link>
		<comments>http://www.aaronkjackson.com/2011/03/using-the-dotnetnuke-profile-photo-in-a-custom-module/#comments</comments>
		<pubDate>Sat, 12 Mar 2011 22:16:02 +0000</pubDate>
		<dc:creator>aaron</dc:creator>
		
		<category><![CDATA[Development]]></category>

		<category><![CDATA[DotNetNuke]]></category>

		<guid isPermaLink="false">http://www.aaronkjackson.com/2011/03/using-the-dotnetnuke-profile-photo-in-a-custom-module/</guid>
		<description><![CDATA[ 
 private string GetUserPhotoUrl(UserInfo user)
 {
        if (user.Profile.Photo == null &#124;&#124; user.Profile.Photo == &#34;-1&#34;)
            return user.Profile.PhotoURL;
        else
            return [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.aaronkjackson.com/wp-content/uploads/2011/03/no-avatar.gif"><img style="background-image: none; border-right-width: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px" title="no_avatar" border="0" alt="no_avatar" src="http://www.aaronkjackson.com/wp-content/uploads/2011/03/no-avatar-thumb.gif" width="124" height="124" /></a> <a href="http://www.aaronkjackson.com/wp-content/uploads/2011/03/dnnprofilephoto.jpg"><img style="background-image: none; border-bottom: 0px; border-left: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top: 0px; border-right: 0px; padding-top: 0px" title="dnnprofilephoto" border="0" alt="dnnprofilephoto" src="http://www.aaronkjackson.com/wp-content/uploads/2011/03/dnnprofilephoto-thumb.jpg" width="123" height="124" /></a>
<pre class="brush: c-sharp"> private string GetUserPhotoUrl(UserInfo user)
 {
        if (user.Profile.Photo == null || user.Profile.Photo == &quot;-1&quot;)
            return user.Profile.PhotoURL;
        else
            return VirtualPathUtility.ToAbsolute(&quot;~/LinkClick.aspx&quot;) + &quot;?fileticket=&quot; + user.Profile.Photo;
 }</pre>
<p><font color="#555555">An anonymous user or a user without a profile photo will always get the default ‘no_avatar.gif’ image.</font></p>
]]></content:encoded>
			<wfw:commentRss>http://www.aaronkjackson.com/2011/03/using-the-dotnetnuke-profile-photo-in-a-custom-module/feed/</wfw:commentRss>
		</item>
		<item>
		<title>DotNetNuke MVP Module Development: Tip #2 Disable AutoDataBind</title>
		<link>http://www.aaronkjackson.com/2011/02/dotnetnuke-mvp-module-development-tip-2-disable-autodatabind/</link>
		<comments>http://www.aaronkjackson.com/2011/02/dotnetnuke-mvp-module-development-tip-2-disable-autodatabind/#comments</comments>
		<pubDate>Fri, 25 Feb 2011 06:36:25 +0000</pubDate>
		<dc:creator>aaron</dc:creator>
		
		<category><![CDATA[Development]]></category>

		<category><![CDATA[DotNetNuke]]></category>

		<category><![CDATA[Web Development]]></category>

		<category><![CDATA[MVP]]></category>

		<category><![CDATA[Tip]]></category>

		<category><![CDATA[WebFormsMVP]]></category>

		<guid isPermaLink="false">http://www.aaronkjackson.com/2011/02/dotnetnuke-mvp-module-development-tip-2-disable-autodatabind/</guid>
		<description><![CDATA[In DotNetNuke MVP Module Development: Tip #1 The AutoDataBind Property I suggested to use AutoDatBind to automatically bind up the user control.&#160; However, there are times when no binding should occur.&#160; For example, when a ‘Cancel’ button is clicked the view should not be bound.&#160; AutoDataBind should be disabled when no model is need.
protected void [...]]]></description>
			<content:encoded><![CDATA[<p>In <a href="http://www.aaronkjackson.com/2010/12/dotnetnuke-mvp-module-development-tip-1-the-autodatabind-property/">DotNetNuke MVP Module Development: Tip #1 The AutoDataBind Property</a> I suggested to use AutoDatBind to automatically bind up the user control.&#160; However, there are times when no binding should occur.&#160; For example, when a ‘Cancel’ button is clicked the view should not be bound.&#160; AutoDataBind should be disabled when no model is need.</p>
<pre class="brush: c-sharp; highlight: [5]">protected void cmdCancel_Click(object sender, EventArgs e)
{
    try
    {
        AutoDataBind = false;
        OnCancel();
    }
    catch (Exception exc)
    {
        Exceptions.ProcessModuleLoadException(this, exc);
    }
}</pre>
]]></content:encoded>
			<wfw:commentRss>http://www.aaronkjackson.com/2011/02/dotnetnuke-mvp-module-development-tip-2-disable-autodatabind/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Quick Tip: Use JQuery to submit a TextBox.</title>
		<link>http://www.aaronkjackson.com/2011/02/quick-tip-use-jquery-to-submit-a-textbox/</link>
		<comments>http://www.aaronkjackson.com/2011/02/quick-tip-use-jquery-to-submit-a-textbox/#comments</comments>
		<pubDate>Thu, 24 Feb 2011 15:13:01 +0000</pubDate>
		<dc:creator>aaron</dc:creator>
		
		<category><![CDATA[Development]]></category>

		<category><![CDATA[ASP.NET]]></category>

		<category><![CDATA[jQuery]]></category>

		<category><![CDATA[Quick Tip]]></category>

		<guid isPermaLink="false">http://www.aaronkjackson.com/2011/02/quick-tip-use-jquery-to-submit-a-textbox/</guid>
		<description><![CDATA[Submitting a search box when &#60;Enter&#62; is pressed is a nice usability feature to provide.&#160; Unfortunately, ASP.NET Web Forms and it’s requirement for a single &#60;form&#62; tag breaks this expected behavior when there is more than one submit button on the page.&#160;&#160; This can be easily fixed with a JavaScript and JQuery.&#160;&#160; Listening to the [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.aaronkjackson.com/wp-content/uploads/2011/02/image.png"><img style="background-image: none; border-right-width: 0px; padding-left: 0px; padding-right: 0px; display: inline; float: right; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px" title="image" border="0" alt="image" align="right" src="http://www.aaronkjackson.com/wp-content/uploads/2011/02/image-thumb.png" width="240" height="58" /></a>Submitting a search box when &lt;Enter&gt; is pressed is a nice usability feature to provide.&#160; Unfortunately, ASP.NET Web Forms and it’s requirement for a single &lt;form&gt; tag breaks this expected behavior when there is more than one submit button on the page.&#160;&#160; This can be easily fixed with a JavaScript and JQuery.&#160;&#160; Listening to the keydown event on the TextBox the ‘Go’ submit button can be triggered when &lt;Enter&gt; is pressed.</p>
<pre class="brush: javascript;">jQuery(&quot;#searchTextBox&quot;).keydown(function (event) {
    if (event.keyCode &amp;&amp; event.keyCode == '13') {
        jQuery(&quot;#searchButton&quot;).click();
        return false;
    } else {
        return true;
    }
});</pre>
]]></content:encoded>
			<wfw:commentRss>http://www.aaronkjackson.com/2011/02/quick-tip-use-jquery-to-submit-a-textbox/feed/</wfw:commentRss>
		</item>
		<item>
		<title>DotNetNuke MVP Module Development: Tip #1 The AutoDataBind Property</title>
		<link>http://www.aaronkjackson.com/2010/12/dotnetnuke-mvp-module-development-tip-1-the-autodatabind-property/</link>
		<comments>http://www.aaronkjackson.com/2010/12/dotnetnuke-mvp-module-development-tip-1-the-autodatabind-property/#comments</comments>
		<pubDate>Fri, 24 Dec 2010 08:41:33 +0000</pubDate>
		<dc:creator>aaron</dc:creator>
		
		<category><![CDATA[Development]]></category>

		<category><![CDATA[DotNetNuke]]></category>

		<category><![CDATA[MVP]]></category>

		<guid isPermaLink="false">http://www.aaronkjackson.com/2010/12/tips-for-developing-mvp-modules-in-dotnetnuke/</guid>
		<description><![CDATA[The DotNetNuke.Web.Mvp.ModuleViewBase sets a property called ‘AutoDataBind = true’.&#160; As a result the DataBind() method for the page is always called in the Page_PreRenderComplete event.&#160; 
If you use the following familiar snippet of code you find that your controls will be data bound twice.&#160; Once when your code calls DataBind() and a second time when [...]]]></description>
			<content:encoded><![CDATA[<p>The DotNetNuke.Web.Mvp.ModuleViewBase sets a property called ‘AutoDataBind = true’.&#160; As a result the DataBind() method for the page is always called in the Page_PreRenderComplete event.&#160; </p>
<p>If you use the following familiar snippet of code you find that your controls will be data bound <u>twice</u>.&#160; Once when your code calls DataBind() and a second time when it is called during the Page_PreRenderComplete event.</p>
<pre class="brush: csharp;">ddlStatus.DataSource = Model.StatusList;
ddlStatus.DataBind();</pre>
<p>Here is an example of how to properly bind a DropDownList for an MVP based module.</p>
<pre class="brush: html;">&lt;asp:DropDownList ID=&quot;ddlStatus&quot; runat=&quot;server&quot;
    DataSource='&lt;%#Model.StatusList%&gt;'
    DataTextField=&quot;Description&quot;
    DataValueField=&quot;Id&quot;    SelectedValue='&lt;%#Model.Post.PostStatus %&gt;'&gt;
&lt;/asp:DropDownList&gt;</pre>
<p>It is important to point out again that you should <u>not</u> call ddlStatus.DataBind() from the code behind.&#160; Calling this is a waste because the AutoDataBind property is going to force everything to rebind again during Page_PreRenderComplete.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.aaronkjackson.com/2010/12/dotnetnuke-mvp-module-development-tip-1-the-autodatabind-property/feed/</wfw:commentRss>
		</item>
		<item>
		<title>How BOI2REX Became BOI2CotM</title>
		<link>http://www.aaronkjackson.com/2010/10/how-boi2rex-became-boi2cotm/</link>
		<comments>http://www.aaronkjackson.com/2010/10/how-boi2rex-became-boi2cotm/#comments</comments>
		<pubDate>Mon, 04 Oct 2010 06:03:07 +0000</pubDate>
		<dc:creator>aaron</dc:creator>
		
		<category><![CDATA[Cycling]]></category>

		<category><![CDATA[BOI2REX]]></category>

		<guid isPermaLink="false">http://www.aaronkjackson.com/2010/10/how-boi2rex-became-boi2cotm/</guid>
		<description><![CDATA[

 What is BOI2CotM?&#160; It is Boise to Craters of the Moon and that is as far as I got on my cycling trip across Idaho.&#160; At 8 PM on day two I made a reluctant phone call to Tory.&#160; 
“Hey, babe.”, I announced.&#160; 
“Hi&#8217;”, she replied.&#160; I knew she knew why I was calling.
“That’s [...]]]></description>
			<content:encoded><![CDATA[<p>
<div style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; float: right; padding-top: 0px" id="scid:8747F07C-CDE8-481f-B0DF-C6CFD074BF67:7c8df8ac-f6fa-49ae-99a3-6595f684613f" class="wlWriterEditableSmartContent"><a href="http://www.aaronkjackson.com/wp-content/uploads/2010/10/img-42008x6.jpg" title="At the beginning" rel="thumbnail"><img border="0" src="http://www.aaronkjackson.com/wp-content/uploads/2010/10/img-4200.png" width="270" height="250" /></a></div>
<p> What is BOI2CotM?&#160; It is Boise to Craters of the Moon and that is as far as I got on my cycling trip across Idaho.&#160; At 8 PM on day two I made a reluctant phone call to Tory.&#160; </p>
<p>“Hey, babe.”, I announced.&#160; </p>
<p>“Hi&#8217;”, she replied.&#160; I knew she knew why I was calling.</p>
<p>“That’s it.&#160; It’s too dark to continue today,” I declared.&#160; </p>
<p>Up to that point in my ride I had stopped at every historical marker on the side of the road.&#160; It was something I never do while driving.&#160; The historical marker I was now sitting under has no name for me.&#160; I just realized I never bothered to read it.&#160; </p>
<p>I ended the phone call and unloaded my gear.&#160; The first thing to come off was the CamelBak I had been lugging across the dessert.&#160; I started with 2 – 2L water bladders and the added 8.4 lbs. of weight had been contributing to a lower back ache.&#160; I then pulled off my helmet and my <a href="http://www.headsweats.com/site/">HeadSweat</a> (a bandana designed to fit under a helmet).&#160; My <a href="http://www.headsweats.com/site/">HeadSweat</a> was stiff from all the sweat that had evaporated.&#160; I stopped my heart rate monitor at 9 hours 13 minutes.&#160; It was reporting I had consumed 6,570 calories.&#160;&#160; Finally, loosened my cycling cleats and I sat down under the sign with no name to wait.</p>
<p>Sitting under the sign I watched the final glow of dusk disappear behind one of the hills I had just rode over.&#160; Oddly, I am often asked what I think about while riding these long distances and that question was the first thing that came to my mind.&#160; On the bike the majority of my self talk is small talk.</p>
<p>“Have I finished my water for this hour?” </p>
<p>“I need to eat before I am hungry.”</p>
<p>“Make it to the top of this next pass and you’ll get a break.”</p>
<p>“My butt kills!&#160; Stand up you fool.”</p>
<p>“Aaron, you have not seen another cyclist all day.&#160; Are you crazy!”</p>
<p>“Come back here you jerk and let me beat you with my frame pump! You and I are the only people on this road! Use the passing lane next time you pass a cyclist.”</p>
<p>“Here comes some more road kill (on a bike you can smell road kill well before you see it).”</p>
<p>Looking back, “I cannot believe I just road my bike up that!”</p>
<p>“Wheeeeee!” </p>
<p>“I haven’t peed in a long time.&#160; That is not good.”</p>
<p>“Hey, I am ridding as fast as that hawk!”</p>
<p>“Just another 10 miles and you can take a break.”</p>
<p>“Die, grasshopper, die!&quot; Going through the dessert the grasshoppers would jump on you and give you a pretty good scare. </p>
<p>One would think I would contemplate the big questions in life, but I don’t.&#160; Maybe it’s because I am already satisfied with the answers or maybe cycling&#160; is it’s own distraction.&#160;&#160; Either way cycling leaves me feeling satisfied and my mind clear afterward.</p>
<p>I looked back the hill had now fully hide the sun and had was feeling mixture of satisfaction, sadness, and exhaustion.&#160; I was satisfied with what I had accomplished in my last two days.&#160; </p>
<p>On the first day I rode to the edge of the Snake River basin and had my first view of the adventure I was about to embark on. </p>
<blockquote><p>Most of the Snake River basin consists of wide, arid plains and rolling hills, bordered by high mountains. (<a href="http://en.wikipedia.org/wiki/Snake_River">http://en.wikipedia.org/wiki/Snake_River</a>)</p>
</blockquote>
<p>What Wikipedia doesn’t tell you, is that there was going be a 15 - 20 mph wind blowing out of the southeast that day.&#160; I took on the wind like a long climb and settled into a rhythm.&#160; The Snake River basin had some beautiful views, new pavement, and only a couple places to stop for water.&#160; I arrived in Mountain Home 1.5 hours later than I expected and a slight headache from dehydration.&#160; I knew I was already in trouble for the next day, but thought if I hydrated that night I would be okay.</p>
<p>I meet Tory and the boys at <a href="http://www.mtnhomervpark.com/">Mountain Home RV park</a>.&#160; Being with my family after a long hard day was amazing.&#160;&#160; I showered off the grime of the day, setup the tent trailer, and we went out to eat.&#160; We planned on cooking tin foil dinners in the fire that night, however, we discovered that “RV parks are NOT campgrounds.”&#160;&#160;&#160; Once we got back from dinner and we played one of our families favorite board games, <a href="http://www.daysofwonder.com/smallworld/en/">Small World</a>, and I drank water until my headache finally drifted away.</p>
<p>We slept in until 8 AM that next morning and opened the trailer door to another windy day.&#160; I looked across the horizon and in the distance saw a large American flag waving vertically over Mountain Home’s Walmart.&#160; My heart sank.&#160; This was already going to be a long day and the wind was going to make it event longer.&#160; I knew this was a possibility and my legs were feeling pretty good, so I prepared for the day.&#160; I started by drinking a packet of VAAM, a supplement recommended by a nutrition specialist at <a href="http://georgescycles.com/">George’s</a> that was made from hornet extract.&#160;&#160;&#160; It’s purpose was to help the body clear lactic acid more efficiently.&#160;&#160; Placebo effect or not I felt much better starting the second day’s ride.&#160; Knowing that the first place to stop for water was 60 miles away in <a href="http://maps.google.com/maps?f=q&amp;source=s_q&amp;hl=en&amp;geocode=&amp;q=fairfield,+idaho&amp;sll=43.341847,-114.769964&amp;sspn=0.035269,0.077162&amp;gl=us&amp;ie=UTF8&amp;hq=&amp;hnear=Fairfield,+Camas,+Idaho&amp;t=h&amp;z=15">Fairfield</a> I loaded up 2 water bladders in the CamelBak, two 24 oz. water bottles, and my food.&#160; </p>
<p>Mountain Home’s name is appropriate, because the climbing started right away.&#160; It’s a much better name than ‘Rattlesnake Station’, which I learned from a historical marker was the name of the town prior to the railroad coming through.&#160; Near the top of the first mountain pass I overtook the one and only person on my entire ride (everyone else were in cars passing me).&#160; </p>
<p>“How are things going?” I asked.</p>
<p>“I have had better days.” said the grayed haired man in cowboys boots.</p>
<p>“That must be your trailer back there.” I stated.</p>
<p>“Yea, two blown tires.&#160; I am hiking up the hill to get cell service.” he replied.</p>
<p>“Can I help?”, I questioned.</p>
<p>“Not unless you have a spare trailer tire in that pack,” he said with a smile.</p>
<p>“Fair enough.&#160; Good luck!” I wished as I road on.</p>
<p>I crested the hill and had a short decent into Camas Prairie – a plateau valley at 5,000 feet.&#160; This was by far the best part of day 2’s ride.&#160; Exhausted from climbing the flat terrain of the prairie was a welcome break.&#160; The prairie is surrounding on all side by mountains, which makes for some beautiful scenery.&#160; It is also where Fairfield is located, the half way mark, and the first place to get water.&#160;&#160;&#160; I was feeling really good at this point and took the opportunity to have an ice cream sandwich, muffin, and banana.&#160; I refilled all of my water using the tap on the outside of the Camas Creek Country Store and was back on the road.</p>
<p>After Fairfield the prairie slowly changed to Idaho dessert and a really long, straight road.&#160; I was still feeling pretty good and was confident I would be able to finish the day.&#160; I rode across the rest of the valley and over the pass at the other end.&#160; I took a short break at the top of the pass to look back across the valley.&#160; I could hardly make out the mountains at the opposite end and felt impressed with what I had accomplished.</p>
<p>I then descended a short distance down through Picabo and then took another break in Carey.&#160; I made what I though would be my final phone call to Tory to let her know I was feeling strong and would see her at Craters of the Moon at around 7:30 PM.&#160;&#160; With only 25 miles remaining I just filled my two water bottles and got back on the road.&#160; </p>
<p>Leaving Carey the road started to gradually climb up to Craters of the Moon.&#160; I expected some climbing at the end, but didn’t realize how much was actually left.&#160;&#160; It’s one thing to see the elevation gain on the map and quite another to actually travel over that same terrain. My average across the Camas Prairie had been between 18 – 20 mph with a 145 heart rate, but as the climb became steeper my speed began to drop.&#160; I was now going 13 mph with a 185 heart rate.&#160; I was working hard because I knew I was losing the sun.</p>
<div style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; float: right; padding-top: 0px" id="scid:8747F07C-CDE8-481f-B0DF-C6CFD074BF67:9fc122e2-5d5b-42a8-ab6b-24d47a8bacc4" class="wlWriterEditableSmartContent"><a href="http://www.aaronkjackson.com/wp-content/uploads/2010/10/img-42038x6.jpg" title="The bike tied on like road kill" rel="thumbnail"><img border="0" src="http://www.aaronkjackson.com/wp-content/uploads/2010/10/img-4203.png" width="273" height="254" /></a></div>
<p>I finally realized that I couldn’t maintain the present pace for much longer and would need to slow down some more.&#160; Normally, I would just settle in at a comfortable, slow pace, but I was in the middle of the Idaho dessert on small, windy two lane highway with cars going 70 mph, almost no shoulder to ride on, and almost no daylight left.&#160;&#160; The ETA (estimated time of arrival) on my GPS reported 9:14 PM.&#160; </p>
<p>I found my sign and made the phone call.&#160; </p>
<p>I guess I’ll need to ride by that historical sign some day, so I know what it says.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.aaronkjackson.com/2010/10/how-boi2rex-became-boi2cotm/feed/</wfw:commentRss>
		</item>
		<item>
		<title>BOI2REX &#8211; Routes Have Been Finalized</title>
		<link>http://www.aaronkjackson.com/2010/09/boi2rex-routes-have-been-finalized/</link>
		<comments>http://www.aaronkjackson.com/2010/09/boi2rex-routes-have-been-finalized/#comments</comments>
		<pubDate>Thu, 30 Sep 2010 05:27:52 +0000</pubDate>
		<dc:creator>aaron</dc:creator>
		
		<category><![CDATA[Cycling]]></category>

		<category><![CDATA[BOI2REX]]></category>

		<category><![CDATA[Idaho]]></category>

		<guid isPermaLink="false">http://www.aaronkjackson.com/2010/09/boi2rex-routes-have-been-finalized/</guid>
		<description><![CDATA[Day 1.&#160; Nampa to Mountain Home.
I’ll start in Nampa and head south through Melba and end up at the Mountain Home RV Park in Mountain Home.&#160; I’ll end the day with 2,605 feet of elevation gain and 88 miles on the bike.&#160; There aren’t many places to get water, so I am going to bring [...]]]></description>
			<content:encoded><![CDATA[<p><strong>Day 1.&#160; Nampa to Mountain Home.</strong></p>
<p>I’ll start in Nampa and head south through Melba and end up at the <a href="http://www.mtnhomervpark.com">Mountain Home RV Park</a> in Mountain Home.&#160; I’ll end the day with 2,605 feet of elevation gain and 88 miles on the bike.&#160; There aren’t many places to get water, so I am going to bring a CamelBak in addition to my water bottles.</p>
<p><a href="http://www.mapmyride.com/ride/united-states/id/nampa/909128409324933912"><img border="0" alt="View Interactive Map on MapMyRide.com" src="http://www.mapmyride.com/images/btn_view_interactive_map.gif" /></a> </p>
<p><strong>Day 2. Mountain Home to Craters of the Moon. (a.k.a.&#160; The Test)</strong></p>
<p>Starting in Mountain Home I’ll climb toward the heavens for 4,787 feet and by the time the day is done I’ll have 126 miles under my belt.&#160; There is a big flat section in the middle, so that should help.&#160; The first part of this day doesn’t have a lot of places to get water, so it will be another day with the CamelBak and I will have Tory drop a gallon of water part way.</p>
<p><a href="http://www.mapmyride.com/ride/united-states/id/mountain-home/410128409342626198"><img border="0" alt="View Interactive Map on MapMyRide.com" src="http://www.mapmyride.com/images/btn_view_interactive_map.gif" /></a></p>
<p><strong>Day 3. Craters of the Moon to Rexburg</strong></p>
<p>Hopefully my legs are still working and I can enjoy a 107 mile day with 1,800 feet of elevation loss.&#160; I’ll go through Arco, Mud Lake, and the sand dunes.</p>
<p><a href="http://www.mapmyride.com/ride/united-states/id/moore/482128409360365334"><img border="0" alt="View Interactive Map on MapMyRide.com" src="http://www.mapmyride.com/images/btn_view_interactive_map.gif" /></a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.aaronkjackson.com/2010/09/boi2rex-routes-have-been-finalized/feed/</wfw:commentRss>
		</item>
		<item>
		<title>BOI2REX &#8211; Nutrition Worksheet</title>
		<link>http://www.aaronkjackson.com/2010/09/ride-across-idaho-nutrition-worksheet/</link>
		<comments>http://www.aaronkjackson.com/2010/09/ride-across-idaho-nutrition-worksheet/#comments</comments>
		<pubDate>Tue, 28 Sep 2010 05:01:54 +0000</pubDate>
		<dc:creator>aaron</dc:creator>
		
		<category><![CDATA[Cycling]]></category>

		<category><![CDATA[BOI2REX]]></category>

		<category><![CDATA[Idaho]]></category>

		<category><![CDATA[Nutrition]]></category>

		<guid isPermaLink="false">http://www.aaronkjackson.com/2010/09/ride-across-idaho-nutrition-worksheet/</guid>
		<description><![CDATA[In preparation for my Ride Across Idaho at the end of this week I calculated my nutritional needs during the ride.  I used the calorie table and formulas at UltraCycling to help calculate my nutritional needs.
I’ll be burning between 5,000 and 6,500 calories a day!  My goal is to eat 300 – 400 calories an [...]]]></description>
			<content:encoded><![CDATA[<p>In preparation for my Ride Across Idaho at the end of this week I calculated my nutritional needs during the ride.  I used the <a href="http://www.ultracycling.com/nutrition/calories.html">calorie table and formulas at UltraCycling</a> to help calculate my nutritional needs.</p>
<p>I’ll be burning between 5,000 and 6,500 calories a day!  My goal is to eat 300 – 400 calories an hour on the  bike and then make up the difference at camp.  On my 100 mile training rides I was able to consume those calories without getting a sour stomach, so I should be in good shape.</p>
<p>Here is a screenshot of my worksheet:</p>
<p><a href="http://www.aaronkjackson.com/wp-content/uploads/2010/09/rideacrossidahonutrition.jpg"><img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="RideAcrossIdahoNutrition" src="http://www.aaronkjackson.com/wp-content/uploads/2010/09/rideacrossidahonutrition-thumb.jpg" border="0" alt="RideAcrossIdahoNutrition" width="518" height="415" /></a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.aaronkjackson.com/2010/09/ride-across-idaho-nutrition-worksheet/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Search and Replace &#8211; Text/HTML &#8211; DotNetNuke 5.5</title>
		<link>http://www.aaronkjackson.com/2010/08/search-and-replace-texthtml-dotnetnuke-55/</link>
		<comments>http://www.aaronkjackson.com/2010/08/search-and-replace-texthtml-dotnetnuke-55/#comments</comments>
		<pubDate>Tue, 24 Aug 2010 21:38:47 +0000</pubDate>
		<dc:creator>aaron</dc:creator>
		
		<category><![CDATA[DotNetNuke]]></category>

		<category><![CDATA[5.5]]></category>

		<category><![CDATA[module]]></category>

		<category><![CDATA[Text/HTML]]></category>

		<guid isPermaLink="false">http://www.aaronkjackson.com/2010/08/search-and-replace-texthtml-dotnetnuke-55/</guid>
		<description><![CDATA[I couldn’t get the Engage: F3 module to work with DotNetnuke 5.5 due to a known issue.&#160; This issue will be fixed when Engage: F3 3.4 is released.&#160; However, if you need a quick fix until then you can use this script based on the F3 module.
WARNING:&#160; Backup your database before executing this script. The [...]]]></description>
			<content:encoded><![CDATA[<p>I couldn’t get the <a href="http://www.engagesoftware.com/Products/Modules/Engage_F3.aspx" target="_blank">Engage: F3 module</a> to work with DotNetnuke 5.5 due to a <a href="http://www.engagesoftware.com/Support/Forums/forumid/5/threadid/3883/scope/posts.aspx" target="_blank">known issue</a>.&#160; This issue will be fixed when Engage: F3 3.4 is released.&#160; However, if you need a quick fix until then you can use this script based on the F3 module.</p>
<p><font color="#ff0000"><strong>WARNING:&#160; Backup your database before executing this script. The script may affect every item published by the Text/HTML module and you will want to have a backup in case you make a mistake.</strong></font>&#160; </p>
<pre class="brush: sql;">DECLARE @portalId INT
DECLARE @searchValue NVARCHAR(100)
DECLARE @replaceValue NVARCHAR(100)

SET @portalId = 0
SET @searchValue = '/website/'
SET @replaceValue = '/'

DECLARE @PublishedContent TABLE (ItemId int)
INSERT INTO @PublishedContent (ItemId)
SELECT ht.ItemId
FROM [HtmlText] ht
WHERE ht.IsPublished = 1
  AND ht.LastModifiedOnDate = (SELECT MAX(LastModifiedOnDate) FROM [HtmlText] WHERE ModuleID = ht.ModuleID AND IsPublished = 1)

UPDATE [HtmlText]
SET Content = REPLACE(CAST(ht.Content AS NVARCHAR(MAX)), @searchValue, @replaceValue)
FROM [HtmlText] ht
 JOIN @PublishedContent pc ON (ht.ItemID = pc.ItemId)
 JOIN [vw_Modules] m ON (m.ModuleID = ht.ModuleID)
 JOIN [vw_Tabs] t ON (t.TabID = m.TabID)
 JOIN [vw_Portals] p ON (p.PortalID = t.PortalID)
WHERE ht.Content COLLATE SQL_Latin1_General_CP1_CS_AS LIKE '%' + REPLACE(REPLACE(@searchValue, '\', '\\'), '%', '\%') + '%' ESCAPE '\'
  AND (@portalId IS NULL OR m.PortalID = @portalId)</pre>
]]></content:encoded>
			<wfw:commentRss>http://www.aaronkjackson.com/2010/08/search-and-replace-texthtml-dotnetnuke-55/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Offsetting the time zone in MS SQL 2005</title>
		<link>http://www.aaronkjackson.com/2010/08/offsetting-the-time-zone-in-ms-sql-2005/</link>
		<comments>http://www.aaronkjackson.com/2010/08/offsetting-the-time-zone-in-ms-sql-2005/#comments</comments>
		<pubDate>Tue, 10 Aug 2010 19:23:47 +0000</pubDate>
		<dc:creator>aaron</dc:creator>
		
		<category><![CDATA[Development]]></category>

		<category><![CDATA[SQL]]></category>

		<category><![CDATA[time zone]]></category>

		<guid isPermaLink="false">http://www.aaronkjackson.com/2010/08/offsetting-the-time-zone-in-ms-sql-2005/</guid>
		<description><![CDATA[I needed to offset the current time in MS SQL 2005 for a quick fix. I wanted to make sure the solution would not have to be maintained when daylight savings time changed. Taking the difference between the GETUTCDATE() and GETDATE() functions will generate the server’s current time zone offset from UTC time.
DECLARE @timezoneOffset INT
SELECT [...]]]></description>
			<content:encoded><![CDATA[<p>I needed to offset the current time in MS SQL 2005 for a quick fix. I wanted to make sure the solution would not have to be maintained when daylight savings time changed. Taking the difference between the GETUTCDATE() and GETDATE() functions will generate the server’s current time zone offset from UTC time.</p>
<pre class="brush: sql; gutter: false;">DECLARE @timezoneOffset INT
SELECT @timezoneOffset = (DATEDIFF(hh,GETDATE(),GETUTCDATE())) * -1;
SELECT DATEADD(hh, @timezoneOffset, GETUTCDATE()), GETDATE()</pre>
]]></content:encoded>
			<wfw:commentRss>http://www.aaronkjackson.com/2010/08/offsetting-the-time-zone-in-ms-sql-2005/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Silverlight 4 &#8211; Getting Started Plan</title>
		<link>http://www.aaronkjackson.com/2010/07/silverlight-4-getting-started-plan/</link>
		<comments>http://www.aaronkjackson.com/2010/07/silverlight-4-getting-started-plan/#comments</comments>
		<pubDate>Tue, 13 Jul 2010 15:08:34 +0000</pubDate>
		<dc:creator>aaron</dc:creator>
		
		<category><![CDATA[Web Development]]></category>

		<category><![CDATA[C#]]></category>

		<category><![CDATA[Silverlight]]></category>

		<guid isPermaLink="false">http://www.aaronkjackson.com/2010/07/silverlight-4-getting-started-plan/</guid>
		<description><![CDATA[I have worked on a couple of small projects in Silverlight, but have never taken the opportunity to really understand the platform.&#160; There is a new project at the office that will be using Silverlight to create interactive dashboards, so it is now time to dive into the deep end of the Silverlight pool.&#160; 
Here [...]]]></description>
			<content:encoded><![CDATA[<p>I have worked on a couple of small projects in Silverlight, but have never taken the opportunity to really understand the platform.&#160; There is a new project at the office that will be using Silverlight to create interactive dashboards, so it is now time to dive into the deep end of the Silverlight pool.&#160; </p>
<p>Here is my learning plan.</p>
<p><b>1. </b><b><a href="http://www.silverlight.net/learn/videos/silverlight-videos/getting-started-with-silverlight-development/" target="_blank">Watch Getting Started with Silverlight Development</a>      <br /></b><b>     <br />2. </b><b><a href="http://www.silverlight.net/learn/quickstarts/" target="_blank">Silverlight QuickStart Tutorials</a></b>    <br />Start with “Beginning QuickStarts” tutorials 1 – 6 and then move on to “Working with Data QuickStarts” tutorials 1 – 3<b></b></p>
<p><strong>3.</strong> <b><a href="http://www.silverlight.net/learn/handsonlabs/" target="_blank">Silverlight 4 Hands On Labs</a></b></p>
<p>I find that my best learning comes from reviewing good code.&#160; I am looking for some sample source code that illustrates best practices and a quality Silverlight architecture.&#160; If anyone knows of a good example please let me know.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.aaronkjackson.com/2010/07/silverlight-4-getting-started-plan/feed/</wfw:commentRss>
		</item>
	</channel>
</rss>

