<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" media="screen" href="/~d/styles/rss2full.xsl"?><?xml-stylesheet type="text/css" media="screen" href="http://feeds.feedburner.com/~d/styles/itemcontent.css"?><rss 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/" xmlns:geo="http://www.w3.org/2003/01/geo/wgs84_pos#" xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" version="2.0">

<channel>
	<title>Adam.Kahtava.com / AdamDotCom</title>
	
	<link>http://adam.kahtava.com/journal</link>
	<description>A software development blog</description>
	<lastBuildDate>Sat, 06 Apr 2013 13:58:04 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0.1</generator>
		<atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="self" type="application/rss+xml" href="http://feeds.feedburner.com/Adam-Kahtava/AdamDotCom" /><feedburner:info uri="adam-kahtava/adamdotcom" /><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="hub" href="http://pubsubhubbub.appspot.com/" /><geo:lat>51.044286</geo:lat><geo:long>-114.063157</geo:long><feedburner:feedFlare href="http://add.my.yahoo.com/rss?url=http%3A%2F%2Ffeeds.feedburner.com%2FAdam-Kahtava%2FAdamDotCom" src="http://us.i1.yimg.com/us.yimg.com/i/us/my/addtomyyahoo4.gif">Subscribe with My Yahoo!</feedburner:feedFlare><feedburner:feedFlare href="http://www.newsgator.com/ngs/subscriber/subext.aspx?url=http%3A%2F%2Ffeeds.feedburner.com%2FAdam-Kahtava%2FAdamDotCom" src="http://www.newsgator.com/images/ngsub1.gif">Subscribe with NewsGator</feedburner:feedFlare><feedburner:feedFlare href="http://feeds.my.aol.com/add.jsp?url=http%3A%2F%2Ffeeds.feedburner.com%2FAdam-Kahtava%2FAdamDotCom" src="http://o.aolcdn.com/favorites.my.aol.com/webmaster/ffclient/webroot/locale/en-US/images/myAOLButtonSmall.gif">Subscribe with My AOL</feedburner:feedFlare><feedburner:feedFlare href="http://www.bloglines.com/sub/http://feeds.feedburner.com/Adam-Kahtava/AdamDotCom" src="http://www.bloglines.com/images/sub_modern11.gif">Subscribe with Bloglines</feedburner:feedFlare><feedburner:feedFlare href="http://www.netvibes.com/subscribe.php?url=http%3A%2F%2Ffeeds.feedburner.com%2FAdam-Kahtava%2FAdamDotCom" src="http://www.netvibes.com/img/add2netvibes.gif">Subscribe with Netvibes</feedburner:feedFlare><feedburner:feedFlare href="http://fusion.google.com/add?feedurl=http%3A%2F%2Ffeeds.feedburner.com%2FAdam-Kahtava%2FAdamDotCom" src="http://buttons.googlesyndication.com/fusion/add.gif">Subscribe with Google</feedburner:feedFlare><feedburner:feedFlare href="http://www.pageflakes.com/subscribe.aspx?url=http%3A%2F%2Ffeeds.feedburner.com%2FAdam-Kahtava%2FAdamDotCom" src="http://www.pageflakes.com/ImageFile.ashx?instanceId=Static_4&amp;fileName=ATP_blu_91x17.gif">Subscribe with Pageflakes</feedburner:feedFlare><feedburner:feedFlare href="http://www.plusmo.com/add?url=http%3A%2F%2Ffeeds.feedburner.com%2FAdam-Kahtava%2FAdamDotCom" src="http://plusmo.com/res/graphics/fbplusmo.gif">Subscribe with Plusmo</feedburner:feedFlare><feedburner:feedFlare href="http://www.thefreedictionary.com/_/hp/AddRSS.aspx?http%3A%2F%2Ffeeds.feedburner.com%2FAdam-Kahtava%2FAdamDotCom" src="http://img.tfd.com/hp/addToTheFreeDictionary.gif">Subscribe with The Free Dictionary</feedburner:feedFlare><feedburner:feedFlare href="http://www.bitty.com/manual/?contenttype=rssfeed&amp;contentvalue=http%3A%2F%2Ffeeds.feedburner.com%2FAdam-Kahtava%2FAdamDotCom" src="http://www.bitty.com/img/bittychicklet_91x17.gif">Subscribe with Bitty Browser</feedburner:feedFlare><feedburner:feedFlare href="http://www.newsalloy.com/?rss=http%3A%2F%2Ffeeds.feedburner.com%2FAdam-Kahtava%2FAdamDotCom" src="http://www.newsalloy.com/subrss3.gif">Subscribe with NewsAlloy</feedburner:feedFlare><feedburner:feedFlare href="http://www.live.com/?add=http%3A%2F%2Ffeeds.feedburner.com%2FAdam-Kahtava%2FAdamDotCom" src="http://tkfiles.storage.msn.com/x1piYkpqHC_35nIp1gLE68-wvzLZO8iXl_JMledmJQXP-XTBOLfmQv4zhj4MhcWEJh_GtoBIiAl1Mjh-ndp9k47If7hTaFno0mxW9_i3p_5qQw">Subscribe with Live.com</feedburner:feedFlare><feedburner:feedFlare href="http://mix.excite.eu/add?feedurl=http%3A%2F%2Ffeeds.feedburner.com%2FAdam-Kahtava%2FAdamDotCom" src="http://image.excite.co.uk/mix/addtomix.gif">Subscribe with Excite MIX</feedburner:feedFlare><feedburner:feedFlare href="http://download.attensa.com/app/get_attensa.html?feedurl=http%3A%2F%2Ffeeds.feedburner.com%2FAdam-Kahtava%2FAdamDotCom" src="http://www.attensa.com/blogs/attensa/WindowsLiveWriter/BadgeredintoBadges_10C02/attensa_feed_button5.gif">Subscribe with Attensa for Outlook</feedburner:feedFlare><feedburner:feedFlare href="http://www.webwag.com/wwgthis.php?url=http%3A%2F%2Ffeeds.feedburner.com%2FAdam-Kahtava%2FAdamDotCom" src="http://www.webwag.com/images/wwgthis.gif">Subscribe with Webwag</feedburner:feedFlare><feedburner:feedFlare href="http://www.podcastready.com/oneclick_bookmark.php?url=http%3A%2F%2Ffeeds.feedburner.com%2FAdam-Kahtava%2FAdamDotCom" src="http://www.podcastready.com/images/podcastready_button.gif">Subscribe with Podcast Ready</feedburner:feedFlare><feedburner:feedFlare href="http://www.flurry.com/pushRssFeed.do?r=fb&amp;url=http%3A%2F%2Ffeeds.feedburner.com%2FAdam-Kahtava%2FAdamDotCom" src="http://www.flurry.com/images/flurry_rss_logo2.gif">Subscribe with Flurry</feedburner:feedFlare><feedburner:feedFlare href="http://www.wikio.com/subscribe?url=http%3A%2F%2Ffeeds.feedburner.com%2FAdam-Kahtava%2FAdamDotCom" src="http://www.wikio.com/shared/img/add2wikio.gif">Subscribe with Wikio</feedburner:feedFlare><feedburner:feedFlare href="http://www.dailyrotation.com/index.php?feed=http%3A%2F%2Ffeeds.feedburner.com%2FAdam-Kahtava%2FAdamDotCom" src="http://www.dailyrotation.com/rss-dr2.gif">Subscribe with Daily Rotation</feedburner:feedFlare><feedburner:feedFlare href="http://hub.netomat.net/account/account.autoSubscribe.jspa?urls=http%3A%2F%2Ffeeds.feedburner.com%2FAdam-Kahtava%2FAdamDotCom" src="http://www.netomat.net/blogger/images/icon_netomat_feedbutton.gif">Subscribe with netomat Hub</feedburner:feedFlare><feedburner:feedFlare href="http://www.yourminis.com/subscribe.aspx?u=http%3A%2F%2Ffeeds.feedburner.com%2FAdam-Kahtava%2FAdamDotCom" src="http://www.yourminis.com/images/addtoyourminisbadge.gif">Subscribe with Yourminis.com</feedburner:feedFlare><item>
		<title>The 2013 Running Plan</title>
		<link>http://feedproxy.google.com/~r/Adam-Kahtava/AdamDotCom/~3/Lwa6pFdngMc/</link>
		<comments>http://adam.kahtava.com/journal/2013/01/30/the-2013-running-plan/#comments</comments>
		<pubDate>Wed, 30 Jan 2013 17:00:39 +0000</pubDate>
		<dc:creator>Adam Kahtava</dc:creator>
				<category><![CDATA[Running]]></category>

		<guid isPermaLink="false">http://adam.kahtava.com/journal/?p=3434</guid>
		<description><![CDATA[Here&#8217;s a brief summary of my event objectives for the year. The St. Patrick&#8217;s Day 10km, March 17th. The half marathon distance at the Calgary Marathon, May 26th. The 25km distance at Rundle&#8217;s Revenge, June 23rd. The Powderface 42, July 6th. Riding the Gran Fondo Highwood Pass with friends, July 13th. Riding the TransRockies TR3 [...]]]></description>
			<content:encoded><![CDATA[<p>Here&#8217;s a brief summary of my event objectives for the year. </p>
<p>The <a href="http://www.calgaryroadrunners.com/events/original-st-patricks-day-road-race"><strong>St. Patrick&#8217;s Day 10km</strong></a>, March 17th.</p>
<p>The half marathon distance at the <a href="http://www.calgarymarathon.com/"><strong>Calgary Marathon</strong></a>, May 26th.</p>
<p>The 25km distance at <a href="http://rundlesrevenge.com/mountain-mule-trail-run/"><strong>Rundle&#8217;s Revenge</strong></a>, June 23rd.</p>
<p>The <a href="http://powderface42.com/"><strong>Powderface 42</strong></a>, July 6th.</p>
<p>Riding the <a href="http://granfondohighwoodpass.com/"><strong>Gran Fondo Highwood Pass</strong></a> with friends, July 13th.</p>
<p>Riding the <a href="http://www.transrockies.com/trc/tr3"><strong>TransRockies TR3</strong></a> mountain bike race, July 27th through Aug 2nd.</p>
<p>The <a href="http://www.moosetrailraces.com/"><strong>Moose Mountain Marathon</strong></a>, Aug 24.</p>
<p>The 50km distance in the <a href="http://lostsoulultra.com/"><strong>Lost Soul Ultra</strong></a>, Sept 7th.</p>
<p>A fall marathon, perhaps Victoria?</p>
<div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/Adam-Kahtava/AdamDotCom?a=Lwa6pFdngMc:vmjYsUChwT0:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/Adam-Kahtava/AdamDotCom?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/Adam-Kahtava/AdamDotCom?a=Lwa6pFdngMc:vmjYsUChwT0:D7DqB2pKExk"><img src="http://feeds.feedburner.com/~ff/Adam-Kahtava/AdamDotCom?i=Lwa6pFdngMc:vmjYsUChwT0:D7DqB2pKExk" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/Adam-Kahtava/AdamDotCom?a=Lwa6pFdngMc:vmjYsUChwT0:F7zBnMyn0Lo"><img src="http://feeds.feedburner.com/~ff/Adam-Kahtava/AdamDotCom?i=Lwa6pFdngMc:vmjYsUChwT0:F7zBnMyn0Lo" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/Adam-Kahtava/AdamDotCom?a=Lwa6pFdngMc:vmjYsUChwT0:V_sGLiPBpWU"><img src="http://feeds.feedburner.com/~ff/Adam-Kahtava/AdamDotCom?i=Lwa6pFdngMc:vmjYsUChwT0:V_sGLiPBpWU" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/Adam-Kahtava/AdamDotCom?a=Lwa6pFdngMc:vmjYsUChwT0:qj6IDK7rITs"><img src="http://feeds.feedburner.com/~ff/Adam-Kahtava/AdamDotCom?d=qj6IDK7rITs" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/Adam-Kahtava/AdamDotCom/~4/Lwa6pFdngMc" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://adam.kahtava.com/journal/2013/01/30/the-2013-running-plan/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		<feedburner:origLink>http://adam.kahtava.com/journal/2013/01/30/the-2013-running-plan/</feedburner:origLink></item>
		<item>
		<title>Chasing Three Hours</title>
		<link>http://feedproxy.google.com/~r/Adam-Kahtava/AdamDotCom/~3/_4Q1rdDIlP4/</link>
		<comments>http://adam.kahtava.com/journal/2012/10/11/chasing-three-hours/#comments</comments>
		<pubDate>Thu, 11 Oct 2012 17:00:25 +0000</pubDate>
		<dc:creator>Adam Kahtava</dc:creator>
				<category><![CDATA[Personal]]></category>
		<category><![CDATA[Running]]></category>

		<guid isPermaLink="false">http://adam.kahtava.com/journal/?p=3343</guid>
		<description><![CDATA[I&#8217;ve been chipping away at the sub three hour marathon for a while now. Like many runners I came into the game late, I don&#8217;t have a running background or any semblance of an athletic history for that matter. Sure, as a kid I enjoyed semi-athletic activities like riding bikes, but the geography of rural [...]]]></description>
			<content:encoded><![CDATA[<p>I&#8217;ve been chipping away at the sub three hour marathon for a while now. Like many runners I came into the game late, I don&#8217;t have a running background or any semblance of an athletic history for that matter. Sure, as a kid I enjoyed semi-athletic activities like riding bikes, but the geography of rural Canada (Ontario) makes self propelled transportation a normal part of everyday life. In high school I took up skateboarding and missed out on organized sports (as a skater and teenager sports were very uncool). While in College I followed the boarding trend and joined the snowboard club. I was back on my bike though riding (30km) daily to school to save a couple bucks on Toronto&#8217;s Transit, but that certainly doesn&#8217;t count towards an athletic history. Through my University years I spent summers planting trees which was hard work, and I was part of the mountain bike club, but we drank more beer than we biked. After school I did a bit of travelling (Japan), got a real job, and moved to Calgary. No athletics, no organized sports. So take everything I say with a healthy grain of salt. :)</p>
<p>I started running consistently in 2010. As a cubical dwelling IT worker I felt out of shape, but you can read more on <a href="http://adam.kahtava.com/journal/2011/01/06/why-im-running/">why I&#8217;m running</a>. I signed up for a half marathon (2009) and trained for a month. For the last 4km I waddled like a green plastic soldier, but had fun. My brief month stint as a runner ended until I signed up for a full marathon (Calgary 2010). At this point I started doing my research; tapers, technical clothing, and the world surrounding running were still a mystery. I followed a basic online marathon training program, ran the marathon, survived and had a good time. Read more about my <a href="http://adam.kahtava.com/journal/2010/06/07/finishing-a-marathon/">first marathon</a>. I then signed up for another marathon (Vancouver 2011) with the ambitious (secret) goal of breaking three hours. I trained through the winter, ran Vancouver, and had a humbling marathon. I made so many mistakes in that race, I didn&#8217;t fuel, I didn&#8217;t hydrate, I didn&#8217;t have a proper base, and I became intimately familiar with &#8216;The Wall&#8217;. Read more in my <a href="http://adam.kahtava.com/journal/2011/06/01/marathon-results/">2011 marathon results</a>. I flitted with a couple other marathons that summer improving my nutrition, but left the three hour goal untouched.</p>
<p>I finally met my three hour goal at the 2012 Kelowna marathon and so much has changed in the year between these two events. Since Vancouver (2011) I&#8217;ve been running with people that are significantly faster and more experienced than myself (I find it motivating to be the slower guy). I&#8217;ve accepted that there are no shortcuts to improving as a runner and that to run faster I need to spend more time running at an easy pace (not at a harder pace). For Kelowna I ran five days a week and logged 80km (50mi) or more weekly (leading up to the marathon), whereas for Vancouver I ran three days a week and logged about 60km (37mi) weekly. I&#8217;ve been running my long runs based on heart rate as opposed to pace. I&#8217;ve bought into the theory that by running based on effort I&#8217;m compensating for adverse weather and more difficult running routes. Interesting enough I&#8217;m running my long runs faster while following effort vs pace. I&#8217;m focusing less on complex training programs, although every run has a goal (75% HRM, V02Max, endurance, etc&#8230;). I&#8217;ve started running tempo runs in place of intervals (the jury is still out on whether this is a good idea). I also started working exclusively at a stand-up desk and I stand all week (tight hamstrings, running, sitting, then running do not mix well). Basically running has become a part of my lifestyle. Running takes consistent work, but it is a lot of fun. Here&#8217;s my <a href="http://connect.garmin.com/activity/231597040">track</a> from Kelowna.</p>
<p style="text-align: center;"><strong>Splits (min/km) for Vancouver and Kelowna</strong></p>
<div style="float: right; padding-left: 5px;"><a href="http://www.flickr.com/photos/kahtava/8075736681"><img src="http://farm9.staticflickr.com/8325/8075736681_32a65e482b_c.jpg" alt="Kelowna vs Vancouver" /></a></div>
<div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/Adam-Kahtava/AdamDotCom?a=_4Q1rdDIlP4:1j-YhcqXIyg:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/Adam-Kahtava/AdamDotCom?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/Adam-Kahtava/AdamDotCom?a=_4Q1rdDIlP4:1j-YhcqXIyg:D7DqB2pKExk"><img src="http://feeds.feedburner.com/~ff/Adam-Kahtava/AdamDotCom?i=_4Q1rdDIlP4:1j-YhcqXIyg:D7DqB2pKExk" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/Adam-Kahtava/AdamDotCom?a=_4Q1rdDIlP4:1j-YhcqXIyg:F7zBnMyn0Lo"><img src="http://feeds.feedburner.com/~ff/Adam-Kahtava/AdamDotCom?i=_4Q1rdDIlP4:1j-YhcqXIyg:F7zBnMyn0Lo" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/Adam-Kahtava/AdamDotCom?a=_4Q1rdDIlP4:1j-YhcqXIyg:V_sGLiPBpWU"><img src="http://feeds.feedburner.com/~ff/Adam-Kahtava/AdamDotCom?i=_4Q1rdDIlP4:1j-YhcqXIyg:V_sGLiPBpWU" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/Adam-Kahtava/AdamDotCom?a=_4Q1rdDIlP4:1j-YhcqXIyg:qj6IDK7rITs"><img src="http://feeds.feedburner.com/~ff/Adam-Kahtava/AdamDotCom?d=qj6IDK7rITs" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/Adam-Kahtava/AdamDotCom/~4/_4Q1rdDIlP4" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://adam.kahtava.com/journal/2012/10/11/chasing-three-hours/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		<feedburner:origLink>http://adam.kahtava.com/journal/2012/10/11/chasing-three-hours/</feedburner:origLink></item>
		<item>
		<title>Running the Moose Mountain Marathon</title>
		<link>http://feedproxy.google.com/~r/Adam-Kahtava/AdamDotCom/~3/T5xEziVJEsU/</link>
		<comments>http://adam.kahtava.com/journal/2012/09/13/running-the-moose-mountain-marathon/#comments</comments>
		<pubDate>Thu, 13 Sep 2012 17:00:32 +0000</pubDate>
		<dc:creator>Adam Kahtava</dc:creator>
				<category><![CDATA[Calgary]]></category>
		<category><![CDATA[Personal]]></category>
		<category><![CDATA[Running]]></category>

		<guid isPermaLink="false">http://adam.kahtava.com/journal/?p=3307</guid>
		<description><![CDATA[I&#8217;d been running through the dense vegetation of an Aspen forest without much sign of life for almost an hour now. Tufts of matted grass trail-side occasionally grabbed my foot threatening to take me down. I try calculating how long until I&#8217;m out of the woods through a carbohydrate depletion mind fog. I figure another [...]]]></description>
			<content:encoded><![CDATA[<p>I&#8217;d been running through the dense vegetation of an Aspen forest without much sign of life for almost an hour now. Tufts of matted grass trail-side occasionally grabbed my foot threatening to take me down. I try calculating how long until I&#8217;m out of the woods through a carbohydrate depletion mind fog. I figure another ten minutes. Suddenly something large starts crashing through the brush towards me. It&#8217;s black, it&#8217;s big, it stands up&#8230; I brace for the worst&#8230; a blond pony tail whips through the air. Thank goodness! It&#8217;s a woman in black Spandex picking mushrooms and not a bear! A couple minutes later and I&#8217;m behind the finish line of the Moose Mountain Marathon eating homemade soup and scraping the dried remains of an energy gel from my shirt, shorts, and legs.</p>
<div style="float: right;padding-left: 5px;"><a href="http://www.flickr.com/photos/kahtava/7980410503/"><img src="http://farm9.staticflickr.com/8306/7980410503_f890421f94_m.jpg" alt="Moose Mountain Marathon Course" /></a></div>
<p><a href="http://www.moosetrailraces.com/">The Moose Mountain Marathon</a> in Kananaskis Country starts and finishes in the West Bragg recreational area (45 minutes outside Calgary Alberta). Close to 150 runners participate in the three distances (16km, 29km, and 42km). The 16km (10mi) course is the most popular distance and also the least scenic. The 16km route takes you through the Aspen forest of the Telephone Trail where you spend most of your time looking at your feet, dodging mud holes, climbing through cattle fences, and being frightened by Spandex wearing mushroom pickers. The 29km (18mi) is the most scenic, it&#8217;s basically one big hill race with a 1000m (3200ft) gain / loss. The 29km route takes you along the Moose Road Trail, Moose Packers Trail, to Moose Mountain Trail, and then back. At about the 10km mark you break through the tree line and continue to run the next 8km surrounded by spectacular panoramic views. The 42km (26mi) option combines the 29km route and most of the 16km route. The elevation gain for the 42km distance is somewhere in the ballpark of 1700m (5500ft), the highest point around 2300m (7500ft), and the actual distance closer to 40km than 42km. It&#8217;s a great course and event. I will definitely run it again.</p>
<p>My race plan going into this event was progressively conservative &#8211; in the <a href="http://adam.kahtava.com/journal/2012/07/23/running-the-powderface-42/">Powderface 42</a> I targeting an 80% max heart rate, this time I targeted a marginally higher rate of 83%. Things went well, I took the climbs at my own pace, worked through a couple side stitches in the first half, and legs felt good on the descents (likely the results of weekly trail running). Coming through the 27km aid station I was told that the guy ahead of me had a 5 minute lead. So.. I took my time, ate some party mix (there&#8217;s nothing better than cheezies and chips on the run), had a couple drinks, took a quick pit stop in the woods, then back on the trail. The final portion of the run was through the overgrown Telephone Trail where it&#8217;s hard to look at anything but your feet &#8211; let alone know if someone or something is closing in on you. After crossing the finish line I was surprised to learn that I had narrowed the gap to 70 seconds. If I had known we were that close I would&#8217;ve run harder! I finished with my 83% goal. Here&#8217;s my <a href="http://connect.garmin.com/activity/214852848">track</a>.</p>
<div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/Adam-Kahtava/AdamDotCom?a=T5xEziVJEsU:ICNOk-DNA3w:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/Adam-Kahtava/AdamDotCom?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/Adam-Kahtava/AdamDotCom?a=T5xEziVJEsU:ICNOk-DNA3w:D7DqB2pKExk"><img src="http://feeds.feedburner.com/~ff/Adam-Kahtava/AdamDotCom?i=T5xEziVJEsU:ICNOk-DNA3w:D7DqB2pKExk" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/Adam-Kahtava/AdamDotCom?a=T5xEziVJEsU:ICNOk-DNA3w:F7zBnMyn0Lo"><img src="http://feeds.feedburner.com/~ff/Adam-Kahtava/AdamDotCom?i=T5xEziVJEsU:ICNOk-DNA3w:F7zBnMyn0Lo" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/Adam-Kahtava/AdamDotCom?a=T5xEziVJEsU:ICNOk-DNA3w:V_sGLiPBpWU"><img src="http://feeds.feedburner.com/~ff/Adam-Kahtava/AdamDotCom?i=T5xEziVJEsU:ICNOk-DNA3w:V_sGLiPBpWU" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/Adam-Kahtava/AdamDotCom?a=T5xEziVJEsU:ICNOk-DNA3w:qj6IDK7rITs"><img src="http://feeds.feedburner.com/~ff/Adam-Kahtava/AdamDotCom?d=qj6IDK7rITs" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/Adam-Kahtava/AdamDotCom/~4/T5xEziVJEsU" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://adam.kahtava.com/journal/2012/09/13/running-the-moose-mountain-marathon/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://adam.kahtava.com/journal/2012/09/13/running-the-moose-mountain-marathon/</feedburner:origLink></item>
		<item>
		<title>Gear Reviewed: La Sportiva Crosslite Trail Shoes</title>
		<link>http://feedproxy.google.com/~r/Adam-Kahtava/AdamDotCom/~3/ncoeSz06zts/</link>
		<comments>http://adam.kahtava.com/journal/2012/08/20/gear-reviewed-la-sportiva-crosslite-trail-shoes/#comments</comments>
		<pubDate>Mon, 20 Aug 2012 17:00:26 +0000</pubDate>
		<dc:creator>Adam Kahtava</dc:creator>
				<category><![CDATA[Review]]></category>
		<category><![CDATA[Running]]></category>

		<guid isPermaLink="false">http://adam.kahtava.com/journal/?p=3288</guid>
		<description><![CDATA[I purchased the La Sportiva Crosslite trail shoes based on their weight, low profile, aggressive tread, and rave reviews (MEC, Amazon). Unfortunately both my shoes blew apart after less than 100km (62mi). The biggest design flaw with these shoes is the mud / scree guard covering the laces. In theory the guard is intended to [...]]]></description>
			<content:encoded><![CDATA[<div style="float: right;padding-left: 5px;"><a href="http://www.flickr.com/photos/kahtava/7790570332/"><img src="http://farm9.staticflickr.com/8294/7790570332_4704257cd0_n.jpg" alt="La Sportiva Crosslite Trail Shoes" /></a></div>
<p>I purchased the La Sportiva Crosslite trail shoes based on their weight, low profile, aggressive tread, and rave reviews (<a href="http://www.mec.ca/AST/ShopMEC/Footwear/TrailRunningShoes/Mens/PRD~5015-458/la-sportiva-crosslite-trail-running-shoes-mens.jsp?pdtTab=3#reviews">MEC</a>, <a href="http://www.amazon.com/La-Sportiva-Crosslite-Trail-Running/dp/B0014I75WI/">Amazon</a>). Unfortunately both my shoes blew apart after less than 100km (62mi). The biggest design flaw with these shoes is the mud / scree guard covering the laces. In theory the guard is intended to keep the grit out of your shoes, but it also makes it difficult to snug up the shoe&#8217;s toe box which strained the side-walls (in my case anyways). Some enthusiasts of this shoe recommend cutting off the guard (<a href="http://www.youtube.com/watch?v=rUDxTUT-9b4&#038;t=5s">video</a>). I&#8217;d love to try another modified pair, but have since purchased a pair of Salomon XT Wings 3. Hopefully my new shoes have a bit more longevity.</p>
<div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/Adam-Kahtava/AdamDotCom?a=ncoeSz06zts:o27at8gmR04:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/Adam-Kahtava/AdamDotCom?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/Adam-Kahtava/AdamDotCom?a=ncoeSz06zts:o27at8gmR04:D7DqB2pKExk"><img src="http://feeds.feedburner.com/~ff/Adam-Kahtava/AdamDotCom?i=ncoeSz06zts:o27at8gmR04:D7DqB2pKExk" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/Adam-Kahtava/AdamDotCom?a=ncoeSz06zts:o27at8gmR04:F7zBnMyn0Lo"><img src="http://feeds.feedburner.com/~ff/Adam-Kahtava/AdamDotCom?i=ncoeSz06zts:o27at8gmR04:F7zBnMyn0Lo" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/Adam-Kahtava/AdamDotCom?a=ncoeSz06zts:o27at8gmR04:V_sGLiPBpWU"><img src="http://feeds.feedburner.com/~ff/Adam-Kahtava/AdamDotCom?i=ncoeSz06zts:o27at8gmR04:V_sGLiPBpWU" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/Adam-Kahtava/AdamDotCom?a=ncoeSz06zts:o27at8gmR04:qj6IDK7rITs"><img src="http://feeds.feedburner.com/~ff/Adam-Kahtava/AdamDotCom?d=qj6IDK7rITs" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/Adam-Kahtava/AdamDotCom/~4/ncoeSz06zts" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://adam.kahtava.com/journal/2012/08/20/gear-reviewed-la-sportiva-crosslite-trail-shoes/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		<feedburner:origLink>http://adam.kahtava.com/journal/2012/08/20/gear-reviewed-la-sportiva-crosslite-trail-shoes/</feedburner:origLink></item>
		<item>
		<title>Biking Furious 3 Fernie</title>
		<link>http://feedproxy.google.com/~r/Adam-Kahtava/AdamDotCom/~3/7LjVHMCLFsg/</link>
		<comments>http://adam.kahtava.com/journal/2012/08/06/furious-3-fernie/#comments</comments>
		<pubDate>Mon, 06 Aug 2012 17:00:37 +0000</pubDate>
		<dc:creator>Adam Kahtava</dc:creator>
				<category><![CDATA[Mountain Biking]]></category>
		<category><![CDATA[Personal]]></category>

		<guid isPermaLink="false">http://adam.kahtava.com/journal/?p=3251</guid>
		<description><![CDATA[The Fernie Furious 3 is a three day staged mountain bike race through the well maintained trails surrounding (you guessed it) Fernie, BC. Each day the race maked use of a different combination of trails finishing in the centre of town. With the finish line conveniently located near the best post race snacks ever &#8211; [...]]]></description>
			<content:encoded><![CDATA[<div style="float: right;padding-left: 5px;"><a href="http://www.flickr.com/photos/kahtava/7492084976/"><img src="http://farm9.staticflickr.com/8433/7492084976_5dd429beca_n.jpg" alt="Fernie Furious 3" /></a></div>
<p>The <a href="http://www.furious3.com/html/fernie.html">Fernie Furious 3</a> is a three day staged mountain bike race through the well maintained trails surrounding (you guessed it) Fernie, BC. Each day the race maked use of a different combination of trails finishing in the centre of town. With the finish line conveniently located near the best post race snacks ever &#8211; everything on the menu at <a href="http://bigbangbagels.com/">Big Bang Bagels</a>. Judging from all the muddy faces surrounding the order line, I wasn&#8217;t the only one trying to knock off every item on their menu. Anyhow; the Furious 3 was very family friendly, riders started and ended in the same place (downtown) with most rides wrapping up around noon. This was a great setup allowing participants to get their ride in, grab lunch with friends / family, then check out what Fernie has to offer for the rest of the day. Onto the race report&#8230;</p>
<p><strong>Day one, the zombie apocalypse.</strong> I&#8217;d never raced a mountain bike and have never ridden three consecutive days. Day one would be my first bike race ever. I ride every chance I can recreationally, but I really had no idea what to expect. I seeded myself about mid pack and the gun went off. We went screaming down a gravel road which quickly lead into a double track (fire road) that climbed for about 6km to break up the pack. The double track lead into the lower half of “48 hours” (a steep technical trail skirting closer to Downhill riding than XC riding) and “48 hours” was pure carnage. This trail was rooty, wet, and most riders didn&#8217;t realize how steep the trail was &#8211; myself included. The entrance to &#8220;48 hours&#8221; started with a comfortable slope with great flow, then out of nowhere the ground beneath let loose &#8211; became significantly steeper. My front tire got caught on the wrong side of a root and I was offline heading straight into the rhubarb with a rider bearing down on my tail. Thankfully a tree stopped me &#8211; or rather my face and handlebars ran right into a tree which brought me to a quick stop and left me a bit stunned. The tree was small (3” in diameter) and my face was intact. I untangled myself, checked my helmet, made sure my handlebars were on straight and headed down the trail. As I continued to descend other riders were reassembling bikes and climbing out of the trees like zombies. The rest of the day wasn&#8217;t nearly as exciting and was spent on well manicured flowing single track connected by jeep roads with a solid climb up Hyperventilation. At the end of the day, I managed to secure a position in the first wave for the next day&#8217;s start. Aside from a couple scrapes I was feeling alright. Off to Big Bang Bagel for a wholewheat everything bagel! Day one&#8217;s ride had been 40 kilometers with about 1500m of elevation.</p>
<p><strong>Day two, lost in the cabbage. </strong>Day two started on the ski hill. It was raining and had been raining through the night. I was concerned with how my legs would hold out on the second day (a bigger day) of riding. The gun went off and we were sent up the Fernie Resort XC ski trails to break apart the group, soon after, we were riding up access roads, then dropping into single track, then regaining our elevation on access roads, then back down single track. Conditions were reasonable within the resort and the descents were interesting, but as we made our way towards Mt Fernie Provincial Park conditions got muddier and the terrain got steeper. The rain was falling harder, the mud getting deeper, and somewhere out there I got lost. Yes, I took the wrong turn. I&#8217;m not sure how it happened, I suspect the mud in my eyes had something to do with it, but the rest of the course was marked really well. About 3km into my detour I met a surprised race marshal on their way home from their morning duties. Luckily they directed me back to the course which was “just around the corner”. Unfortunately that corner was followed by a hill, a descent, a hill, and a descent. I was re-riding the course. Finally I was back on track, but with additional distance and elevation under my belt. I&#8217;ll be honest. I was a bit frustrated and the rain didn&#8217;t help. Upon reaching the first aid station I decided to yell at the volunteers and eat all their energy bars. Ok&#8230; I did neither, getting lost wasn&#8217;t their fault, but I did jam as many energy bars in my face as I could – they had really well stocked aid stations by the way. After the quick snack, it was back on the bike and back on the course. From here we headed up the access road of Project 9 which was unrideable and nearly impossible to walk up without doing the duck walk. The rain, clay and previous trafic had bombed out this trail, but the reward of a descent was motivating. After Project 9 and a couple more climbs, descents, and wipe outs. I finally pulled through the finish in just over 5 hours. It was great to be greeted by the smile of Steph (my wonderful wife). Then off to Big Bang Bagels for a Mr. Fernie! Day two was supposed to be 46 kilometres with about 1700m of elevation. With my reroute I managed 50 something kilometers with over 2000m of elevation. Apparently last year a bunch of riders got lost too.</p>
<div style="float: right;padding-left: 5px;"><a href="http://www.flickr.com/photos/kahtava/7492022636/"><img src="http://farm8.staticflickr.com/7107/7492022636_be05003347_m.jpg" alt="Furious 3, Team MitoCanada" /></a></div>
<p><strong>Day three, is this thing done yet?!</strong> Today the sun was out, spirits were high, and most riders were sporting some nice bruises and scratches on unprotected extremities. My mantra for the day was stay out of the rubarb, race smart, and don&#8217;t get lost! Thankfully today&#8217;s ascents were more gradual than the previous two days, the single track was tacky (not too sloppy) and the climbs up the access roads were offering great opportunities to try to chip away at yesterdays lost time. Although, with 11km left and nearing the 3 hour mark I was starting to get concerned – I didn&#8217;t want another another long day. My concerns vanished as an 11km downhill stretch brought us screaming into the finish line. Time for a smoothy at Big Bang Bagels! Day three was 41kms with about 1700m elevation.</p>
<p>I&#8217;ve never been so sore, nor had so many bruises and scrapes from participating in a race event. Furious 3 Fernie was a fun introduction to mountain bike racing. I&#8217;d happily go back and do it again, but next time I&#8217;d do some course reconnaissance beforehand to avoid getting lost.</p>
<div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/Adam-Kahtava/AdamDotCom?a=7LjVHMCLFsg:7pEIhC7QVXA:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/Adam-Kahtava/AdamDotCom?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/Adam-Kahtava/AdamDotCom?a=7LjVHMCLFsg:7pEIhC7QVXA:D7DqB2pKExk"><img src="http://feeds.feedburner.com/~ff/Adam-Kahtava/AdamDotCom?i=7LjVHMCLFsg:7pEIhC7QVXA:D7DqB2pKExk" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/Adam-Kahtava/AdamDotCom?a=7LjVHMCLFsg:7pEIhC7QVXA:F7zBnMyn0Lo"><img src="http://feeds.feedburner.com/~ff/Adam-Kahtava/AdamDotCom?i=7LjVHMCLFsg:7pEIhC7QVXA:F7zBnMyn0Lo" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/Adam-Kahtava/AdamDotCom?a=7LjVHMCLFsg:7pEIhC7QVXA:V_sGLiPBpWU"><img src="http://feeds.feedburner.com/~ff/Adam-Kahtava/AdamDotCom?i=7LjVHMCLFsg:7pEIhC7QVXA:V_sGLiPBpWU" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/Adam-Kahtava/AdamDotCom?a=7LjVHMCLFsg:7pEIhC7QVXA:qj6IDK7rITs"><img src="http://feeds.feedburner.com/~ff/Adam-Kahtava/AdamDotCom?d=qj6IDK7rITs" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/Adam-Kahtava/AdamDotCom/~4/7LjVHMCLFsg" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://adam.kahtava.com/journal/2012/08/06/furious-3-fernie/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://adam.kahtava.com/journal/2012/08/06/furious-3-fernie/</feedburner:origLink></item>
		<item>
		<title>Running The Powderface 42</title>
		<link>http://feedproxy.google.com/~r/Adam-Kahtava/AdamDotCom/~3/m_txAThecsg/</link>
		<comments>http://adam.kahtava.com/journal/2012/07/23/running-the-powderface-42/#comments</comments>
		<pubDate>Mon, 23 Jul 2012 16:00:50 +0000</pubDate>
		<dc:creator>Adam Kahtava</dc:creator>
				<category><![CDATA[Calgary]]></category>
		<category><![CDATA[Personal]]></category>
		<category><![CDATA[Running]]></category>

		<guid isPermaLink="false">http://adam.kahtava.com/journal/?p=3231</guid>
		<description><![CDATA[Chunks of skin falling from my sock while changing shoes is never good. Especially considering my shoes (La Sportiva Crosslite&#8217;s) blew their sides out during the Powderface 42 trail run &#8211; resulting in my toes jamming into the front of my right shoe for the last 30 minutes. I was happy to discover the skin [...]]]></description>
			<content:encoded><![CDATA[<p>Chunks of skin falling from my sock while changing shoes is never good. Especially considering my shoes (La Sportiva Crosslite&#8217;s) blew their sides out during the <a href="http://powderface42.com/">Powderface 42</a> trail run &#8211; resulting in my toes jamming into the front of my right shoe for the last 30 minutes. I was happy to discover the skin originated from an old dislodged blister and that the feet were generally OK (the toenails might be casualties), but the shoes certainly did not survive (<a href="http://adam.kahtava.com/journal/2012/08/20/gear-reviewed-la-sportiva-crosslite-trail-shoes/">my shoe review</a>).</p>
<div style="float: right;padding-left: 5px;"><a href="http://www.flickr.com/photos/kahtava/7629145312/"><img src="http://farm9.staticflickr.com/8156/7629145312_1aa152aac7_m.jpg" alt="Powderface 42" /></a></div>
<p>The Powderface 42 is a 42km (26mi) somethingish trail run through Alberta&#8217;s beautiful Kananaskis Country &#8211; this year due to a bear the course took a detour and was a bit longer. The terrain on this route is fairly challenging and the aid stations are few and far between. I&#8217;d never run anything of this distance or with this elevation profile. Needless to say, I did have apprehensions going into this event. The terrain was definitely one concern, but my biggest concern was my lack of long runs. I hadn&#8217;t run anything beyond 30km since May 6th (my Vancouver Marathon DNF) and my longest run in the past month had been 25km on June 24th (Rundle&#8217;s Revenge). I felt undertrained which reflected my race plan. The plan was to adhere to a strict 75% &#8211; 80% heart rate (HR) range to conserve energy for the last half of the course where I anticipated slowing down. </p>
<p>At 7:00am with overcast skies and temperatures around 15C (59F), friendly familiar faces surrounded the starting line. These trail events are small, typically capped at 150 participants. In this event the runners were spread between two distances, with 50 runners toeing the longer distance. 7:30 hits and the gun sounded, off we race into the trees. For the first 5km my HR was pushing above 80% likely a combination of too much coffee, nervs, and excitement. I chatted with some runners, but soon found myself alone focusing on the trail and foot placement. 11km into the run and the 6km climb up to the pass (500m elevation) began. I was feeling strong and made headway on my position while keeping a close eye on my heart rate. Down the other side on the steeper runnable descents I&#8217;d catch myself zoning out (road runner style) or rather my foot would catch a root and send me flying off trail &#8211; reminding me to remain alert and how quickly my run could end. At the 25km aid station I was still feeling good, but knew it was early and that anything could still go wrong. Another 10km of fairly sustained downhill and I was still felling OK although a couple minor calf cramps paid a visit and there was a good chance that more were in the mail. Some more climbing and no sign of cramps, things were looking good. 4km from the finish and the cramps began. Boy were they annoying. I worked through them by altering my cadence, running slightly sideways (zig-zagging back and forth on the trail), and running them out on the flats. After 44kms (27mi) in total I was happy to cross the finish line and surprised that I maintained an 80% average heart rate without slowing in the last half of the run. </p>
<p>This long distance trail running business is interesting. Events of this nature combine obstacle course traversal with a keen sense of self monitoring &#8211; a need to gauge energy reserves and anticipate nutrition / hydration needs as the distances between aid stations are fairly long. I found it interesting that while I hadn&#8217;t been logging many long runs my long (4+hrs) mountain bike rides compensated quite nicely. In future trail races I&#8217;ll need to run through the creeks and mud holes. I wasted a fair amount of time trying to keep my feet dry, but then again I was getting blisters with wet feet (in my now trashed shoes). I&#8217;m hoping that new shoes might make wet feet running more enjoyable. Next event I&#8217;ll try targeting a higher heart rate range too. Here&#8217;s my <a href="http://connect.garmin.com/activity/199205614">track</a>.</p>
<blockquote><p>Move out of your comfort zone. You can only grow if you are willing to feel awkward and uncomfortable when you try something new. &#8211; Brian Tracy</p></blockquote>
<div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/Adam-Kahtava/AdamDotCom?a=m_txAThecsg:e_CPjzEciE0:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/Adam-Kahtava/AdamDotCom?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/Adam-Kahtava/AdamDotCom?a=m_txAThecsg:e_CPjzEciE0:D7DqB2pKExk"><img src="http://feeds.feedburner.com/~ff/Adam-Kahtava/AdamDotCom?i=m_txAThecsg:e_CPjzEciE0:D7DqB2pKExk" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/Adam-Kahtava/AdamDotCom?a=m_txAThecsg:e_CPjzEciE0:F7zBnMyn0Lo"><img src="http://feeds.feedburner.com/~ff/Adam-Kahtava/AdamDotCom?i=m_txAThecsg:e_CPjzEciE0:F7zBnMyn0Lo" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/Adam-Kahtava/AdamDotCom?a=m_txAThecsg:e_CPjzEciE0:V_sGLiPBpWU"><img src="http://feeds.feedburner.com/~ff/Adam-Kahtava/AdamDotCom?i=m_txAThecsg:e_CPjzEciE0:V_sGLiPBpWU" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/Adam-Kahtava/AdamDotCom?a=m_txAThecsg:e_CPjzEciE0:qj6IDK7rITs"><img src="http://feeds.feedburner.com/~ff/Adam-Kahtava/AdamDotCom?d=qj6IDK7rITs" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/Adam-Kahtava/AdamDotCom/~4/m_txAThecsg" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://adam.kahtava.com/journal/2012/07/23/running-the-powderface-42/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://adam.kahtava.com/journal/2012/07/23/running-the-powderface-42/</feedburner:origLink></item>
		<item>
		<title>Life, The Lofty 2012 Race Plans and How They’ve Panned Out</title>
		<link>http://feedproxy.google.com/~r/Adam-Kahtava/AdamDotCom/~3/kh9spwsoeQg/</link>
		<comments>http://adam.kahtava.com/journal/2012/07/12/rolling-with-it-the-lofty-2012-race-plans-and-how-its-panned-out/#comments</comments>
		<pubDate>Thu, 12 Jul 2012 17:00:16 +0000</pubDate>
		<dc:creator>Adam Kahtava</dc:creator>
				<category><![CDATA[Personal]]></category>
		<category><![CDATA[Running]]></category>

		<guid isPermaLink="false">http://adam.kahtava.com/journal/?p=3163</guid>
		<description><![CDATA[Here&#8217;s a brief summary (both good and bad) of what I&#8217;ve been up to between now and my January ambitions. My race ambitions may have been a bit too lofty at the beginning of the year &#8211; which is likely another case of Canadian Cabin Fever. If you&#8217;re unfamiliar; the symptoms generally start with a [...]]]></description>
			<content:encoded><![CDATA[<p>Here&#8217;s a brief summary (both good and bad) of what I&#8217;ve been up to between now and<a href="http://adam.kahtava.com/journal/2012/01/16/the-2012-running-plan/"> my January ambitions</a>. My race ambitions may have been a bit too lofty at the beginning of the year &#8211; which is likely another case of Canadian Cabin Fever. If you&#8217;re unfamiliar; the symptoms generally start with a twitchy mouse finger in mid January which progresses into a race registration rampage where common sense like recovery time and logistics are overlooked.</p>
<div style="float: right;padding-left: 5px;"><a href="http://www.flickr.com/photos/kahtava/7552533964/"><img src="http://farm8.staticflickr.com/7114/7552533964_874e211898_m.jpg" alt="Jonathan Toker, Adam Kahtava" /></a></div>
<p><strong>Injuries. Oh no!</strong> I experienced a couple setbacks in the form of injuries. <strong>Heel Bursitis</strong>; I tied my shoes too tight and what initially felt like a blister turned into two weeks of downtime in January. <strong>Achilles Tendinitis</strong>; Ok, it probably wasn&#8217;t tendinitis. Let&#8217;s just say it was an Agitated Achilles and that I spent too much time looking at <a href="http://www.google.com/search?num=10&#038;hl=en&#038;site=&#038;tbm=isch&#038;source=hp&#038;q=achilles+tendon+surgery&#038;oq=achilles+tendon+surgery">Achilles Tendon ruptures</a>. Better safe then sorry. Achilles issues are scary! Thankfully a second opinion from a Physiotherapist and some acupuncture cleared up the issue in a couple weeks. The agitation was likely the result of new skate ski boots, riding a bike with the seat too high, and skate skiing for too long too soon.<strong>The Angry Piriformis</strong>. What a pain in the butt. If you&#8217;re in a small space (like a plane) for multiple hours, then MOVE. I tried to win Angry Birds in a cramped airplane seat after a couple tiring weeks of building up mileage. I should have been moving, and stretching &#8211; anything but hunching over a tiny phone screen. Upon leaving the plane I felt a pain in my buttock that didn&#8217;t go away for almost four weeks. Piriformis was weird, I could run for under two hours without feeling much pain. So&#8230; I tried running the Vancouver Marathon &#8211; which I&#8217;ll address later. I still haven&#8217;t won Angry Birds. Do the levels ever end?</p>
<p><strong>Oversights.</strong> Spending time in a tropical climate at sea level on a flat island at the end of a Canadian winter while trying to peak for a marathon was a mistake. Most Caribbean islands cater to beach time not runners and running routes. In a single day I was chased by 15 dogs &#8211; 7 of those dogs were in a single pack. I ended up running with rocks in hand and sweating it out on a treadmill in a hot gym. I know, I know, insert violin sound sample here (*Wa-Waa-Waaa*). I&#8217;m fortunate to get to spend time in Turks and Caicos. I did learn how to SCUBA dive, and had a blast on the island, but training deteriorated. </p>
<div style="float: right;padding-left: 5px;"><a href="http://www.flickr.com/photos/kahtava/7552307366/"><img src="http://farm8.staticflickr.com/7136/7552307366_2bd58432a4_m.jpg" alt="Jonathan Toker, Adam Kahtava" /></a></div>
<p><strong>Race Results.</strong> The <strong>Calgary’s St Patrick’s Day 10km</strong> was run shortly after the Achilles issue. Up to that point I hadn&#8217;t run more than 10km for a couple weeks and wanted to survive. I felt the run was a success. I tried running the <strong>Vancouver Marathon</strong> despite having the niggling Piriformis issue. I&#8217;m not sure what I was thinking. In retrospect I should have clued in and dropped down to the half while rolling out my Piriformis muscle with a tennis ball a day before the race, because at kilometre 30 (the 18th mile) the dark force and a conveniently located coffee shop became my own personal finish line. Funny though, shortly before my mid race coffee break I had decided to finish at all cost. That fleeting thought lasted for about five minutes. Vancouver is a big marathon with many spectators. I was in the first wave, my name was on the front of my bib in big letters, and EVERYONE was looking for someone to cheer on. So this slowing, nearly limping runner (me) was garnering attention. &#8220;You can DO IT ADAM!&#8221; &#8220;No pain no gain Adam!&#8221; I stopped, sat down on a curb laughed, took off the race bib, folded it up (along with my ego) and stuffed it in my pocket. I then walked a shortcut back to the finish and cheered friends over the finish line. It was still a great time to catch up with friends and an excuse to visit Vancouver &#8211; oh, and the new route is nice too. At the <strong>Calgary Marathon</strong> my Piriformis issue was still present, anything over two hours of running was out. I opted for the Half Marathon and had a good run on the new course. <strong>Rundle&#8217;s Revenge</strong> was so fun! So much mud, so many great people, and my legs were in full working order. Then there was <strong>Fernie&#8217;s Furious 3</strong>. A three day staged mountain bike race with an average of 40km per day on Fernie&#8217;s well manicured single track. I did get lost on the second day which added some bonus mileage, elevation, and time, but this was my first MTB race. I didn&#8217;t care much, I wasn&#8217;t any real competition, and now got to mix some orienteering into my day. I had no idea bike racing was so much fun and easier than running (sorry mountain bikers). The <strong>Powderface 42</strong> is yet to be determined. It&#8217;s coming up quickly.</p>
<div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/Adam-Kahtava/AdamDotCom?a=kh9spwsoeQg:-7V7h1TSN5E:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/Adam-Kahtava/AdamDotCom?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/Adam-Kahtava/AdamDotCom?a=kh9spwsoeQg:-7V7h1TSN5E:D7DqB2pKExk"><img src="http://feeds.feedburner.com/~ff/Adam-Kahtava/AdamDotCom?i=kh9spwsoeQg:-7V7h1TSN5E:D7DqB2pKExk" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/Adam-Kahtava/AdamDotCom?a=kh9spwsoeQg:-7V7h1TSN5E:F7zBnMyn0Lo"><img src="http://feeds.feedburner.com/~ff/Adam-Kahtava/AdamDotCom?i=kh9spwsoeQg:-7V7h1TSN5E:F7zBnMyn0Lo" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/Adam-Kahtava/AdamDotCom?a=kh9spwsoeQg:-7V7h1TSN5E:V_sGLiPBpWU"><img src="http://feeds.feedburner.com/~ff/Adam-Kahtava/AdamDotCom?i=kh9spwsoeQg:-7V7h1TSN5E:V_sGLiPBpWU" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/Adam-Kahtava/AdamDotCom?a=kh9spwsoeQg:-7V7h1TSN5E:qj6IDK7rITs"><img src="http://feeds.feedburner.com/~ff/Adam-Kahtava/AdamDotCom?d=qj6IDK7rITs" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/Adam-Kahtava/AdamDotCom/~4/kh9spwsoeQg" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://adam.kahtava.com/journal/2012/07/12/rolling-with-it-the-lofty-2012-race-plans-and-how-its-panned-out/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://adam.kahtava.com/journal/2012/07/12/rolling-with-it-the-lofty-2012-race-plans-and-how-its-panned-out/</feedburner:origLink></item>
		<item>
		<title>Now Streaming HD: The New Camara</title>
		<link>http://feedproxy.google.com/~r/Adam-Kahtava/AdamDotCom/~3/NbcT-I0b2EU/</link>
		<comments>http://adam.kahtava.com/journal/2012/01/30/now-streaming-hd-the-new-camara/#comments</comments>
		<pubDate>Mon, 30 Jan 2012 16:00:22 +0000</pubDate>
		<dc:creator>Adam Kahtava</dc:creator>
				<category><![CDATA[Personal]]></category>

		<guid isPermaLink="false">http://adam.kahtava.com/journal/?p=3113</guid>
		<description><![CDATA[I&#8217;ll be the first to admit that I&#8217;m a gear weenie, but I&#8217;m in good company &#8211; most IT workers share my enthusiasm. Friends in real life are cringing at the thought of the &#8220;Adam Paparazzi&#8221; in their face. Similarly friends on Twitter, Facebook, Flickr, and RunKeeper are rolling their eyes in agreement as they [...]]]></description>
			<content:encoded><![CDATA[<p>I&#8217;ll be the first to admit that I&#8217;m a gear weenie, but I&#8217;m in good company &#8211; most IT workers share my enthusiasm. Friends in real life are cringing at the thought of the &#8220;Adam Paparazzi&#8221; in their face. Similarly friends on <a href="http://twitter.com/AdamDotCom">Twitter</a>, <a href="http://www.facebook.com/kahtava">Facebook</a>, <a href="http://www.flickr.com/photos/kahtava/">Flickr</a>, and <a href="http://runkeeper.com/user/AdamDotCom">RunKeeper</a> are  rolling their eyes in agreement as they read this and see another status update roll by. </p>
<p>As a self proclaimed technology enthusiast; most of my activities are GPS tracked (along with my vitals), and a camera is close at hand. I enjoy sharing my experiences &#8211; most of my childhood friends and family live in Eastern Canada (2,500km away), so technology is the great connector. The way I see it; while having a camera on (or in your face) can be annoying at the time, eventually this media will become invaluable to your family, friends, and yourself as your memory fades.</p>
<p>My latest piece of gear is a camera that mounts on a helmet / bike and a <a href="http://www.youtube.com/user/AdamKahtavaCom/videos">YouTube Channel</a>.</p>
<p>Here&#8217;s a video of Steph and I, on <a href="http://www.youtube.com/watch?v=68I1Ekpy62M">Mount Standish in Sunshine Village</a>.</p>
<p><iframe width="560" height="315" src="http://www.youtube.com/embed/68I1Ekpy62M" frameborder="0" allowfullscreen></iframe></p>
<div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/Adam-Kahtava/AdamDotCom?a=NbcT-I0b2EU:u927YQeJyv8:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/Adam-Kahtava/AdamDotCom?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/Adam-Kahtava/AdamDotCom?a=NbcT-I0b2EU:u927YQeJyv8:D7DqB2pKExk"><img src="http://feeds.feedburner.com/~ff/Adam-Kahtava/AdamDotCom?i=NbcT-I0b2EU:u927YQeJyv8:D7DqB2pKExk" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/Adam-Kahtava/AdamDotCom?a=NbcT-I0b2EU:u927YQeJyv8:F7zBnMyn0Lo"><img src="http://feeds.feedburner.com/~ff/Adam-Kahtava/AdamDotCom?i=NbcT-I0b2EU:u927YQeJyv8:F7zBnMyn0Lo" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/Adam-Kahtava/AdamDotCom?a=NbcT-I0b2EU:u927YQeJyv8:V_sGLiPBpWU"><img src="http://feeds.feedburner.com/~ff/Adam-Kahtava/AdamDotCom?i=NbcT-I0b2EU:u927YQeJyv8:V_sGLiPBpWU" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/Adam-Kahtava/AdamDotCom?a=NbcT-I0b2EU:u927YQeJyv8:qj6IDK7rITs"><img src="http://feeds.feedburner.com/~ff/Adam-Kahtava/AdamDotCom?d=qj6IDK7rITs" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/Adam-Kahtava/AdamDotCom/~4/NbcT-I0b2EU" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://adam.kahtava.com/journal/2012/01/30/now-streaming-hd-the-new-camara/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://adam.kahtava.com/journal/2012/01/30/now-streaming-hd-the-new-camara/</feedburner:origLink></item>
		<item>
		<title>The 2012 Running Plan</title>
		<link>http://feedproxy.google.com/~r/Adam-Kahtava/AdamDotCom/~3/E7C2oK-mHzY/</link>
		<comments>http://adam.kahtava.com/journal/2012/01/16/the-2012-running-plan/#comments</comments>
		<pubDate>Mon, 16 Jan 2012 08:00:57 +0000</pubDate>
		<dc:creator>Adam Kahtava</dc:creator>
				<category><![CDATA[Personal]]></category>
		<category><![CDATA[Running]]></category>

		<guid isPermaLink="false">http://adam.kahtava.com/journal/?p=3079</guid>
		<description><![CDATA[Here&#8217;s my rough running plans for 2012 &#8211; after all, an organized schedule means I can take advantage of early bird discounts, which translates into more events. Calgary&#8217;s St Patrick&#8217;s Day 10km, March 17. I&#8217;ve never run this event before, it&#8217;ll be my second 10km event and my winter running motivation. Calgary&#8217;s Police Half, April [...]]]></description>
			<content:encoded><![CDATA[<div style="float: right;padding-left: 5px;"><img src="http://calgarypolicehalf.typepad.com/photos/2011_calgary_police_half_/58690005.jpg" alt="" style="width: 240px"></div>
<p>Here&#8217;s my rough running plans for 2012 &#8211; after all, an organized schedule means I can take advantage of early bird discounts, which translates into more events.</p>
<p><strong><a href="http://www.calgaryroadrunners.com/forms/st_patricks_race2012.pdf">Calgary&#8217;s St Patrick&#8217;s Day 10km</a></strong>, March 17. I&#8217;ve never run this event before, it&#8217;ll be my second 10km event and my winter running motivation.</p>
<p><strong><a href="http://calgarypolicehalf.typepad.com/">Calgary&#8217;s Police Half</a></strong>, April 29. Last year this event was pretty challenging &#8211; Calgary was blanketed with fresh snow the night before the race. Typically this race is lead by a police cruiser, but the car got stuck about a kilometer into the course, portions of the route weren&#8217;t cleared, and the snow covered ice was slippery, I know, I fell. This race is a nice ease into the running season.</p>
<p><strong><a href="http://www.bmovanmarathon.ca/">The Vancouver Marathon</a></strong>, May 6. <a href="http://adam.kahtava.com/journal/2011/06/01/marathon-results/">This event crushed me last year</a> &#8211; totally my own fault, I didn&#8217;t take enough fuel and bonked hard. I really enjoyed Vancouver for its scenery, climate, and sea level advantage. I&#8217;ve got a bit more experience with long distance running and hope to do better this year.</p>
<p><strong><a href="http://www.calgarymarathon.com/">The Calgary Marathon</a></strong>, May 27. Where it all began &#8211; in &#8217;09 I signed up for my first race ever and have been running since. This year I&#8217;m running for <a href="http://www.mitocanada.org/team/">Team MitoCanada</a>. Please consider donating to (or better yet, joining) <a href="http://my.e2rm.com/TeamPage.aspx?teamID=267775&#038;langPref=en-CA">my team</a>.</p>
<p><strong><a href="http://rundlesrevenge.com/">Rundle&#8217;s Revenge</a></strong>, June 24th. </p>
<p><strong><a href="http://furious3.com/html/fernie.html">Fernie&#8217;s Furious 3</a></strong>, June 30th &#8211; July 2nd. A three day staged mountain bike race. </p>
<p><strong><a href="http://powderface42.com/">Powderface42</a></strong>, July 14th. It&#8217;s a 42km trail run around Powderface in Kananaskis, I&#8217;ve biked the route so running it will be interesting, painful, or all of the above.</p>
<p>My fingers are crossed for an injury free season. </p>
<div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/Adam-Kahtava/AdamDotCom?a=E7C2oK-mHzY:-W8B3ZzhUCI:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/Adam-Kahtava/AdamDotCom?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/Adam-Kahtava/AdamDotCom?a=E7C2oK-mHzY:-W8B3ZzhUCI:D7DqB2pKExk"><img src="http://feeds.feedburner.com/~ff/Adam-Kahtava/AdamDotCom?i=E7C2oK-mHzY:-W8B3ZzhUCI:D7DqB2pKExk" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/Adam-Kahtava/AdamDotCom?a=E7C2oK-mHzY:-W8B3ZzhUCI:F7zBnMyn0Lo"><img src="http://feeds.feedburner.com/~ff/Adam-Kahtava/AdamDotCom?i=E7C2oK-mHzY:-W8B3ZzhUCI:F7zBnMyn0Lo" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/Adam-Kahtava/AdamDotCom?a=E7C2oK-mHzY:-W8B3ZzhUCI:V_sGLiPBpWU"><img src="http://feeds.feedburner.com/~ff/Adam-Kahtava/AdamDotCom?i=E7C2oK-mHzY:-W8B3ZzhUCI:V_sGLiPBpWU" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/Adam-Kahtava/AdamDotCom?a=E7C2oK-mHzY:-W8B3ZzhUCI:qj6IDK7rITs"><img src="http://feeds.feedburner.com/~ff/Adam-Kahtava/AdamDotCom?d=qj6IDK7rITs" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/Adam-Kahtava/AdamDotCom/~4/E7C2oK-mHzY" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://adam.kahtava.com/journal/2012/01/16/the-2012-running-plan/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://adam.kahtava.com/journal/2012/01/16/the-2012-running-plan/</feedburner:origLink></item>
		<item>
		<title>Hiking Lake Superior Provincial Park</title>
		<link>http://feedproxy.google.com/~r/Adam-Kahtava/AdamDotCom/~3/8LPg3nb3u0Q/</link>
		<comments>http://adam.kahtava.com/journal/2011/12/20/hiking-lake-superior-provincial-park/#comments</comments>
		<pubDate>Tue, 20 Dec 2011 18:00:09 +0000</pubDate>
		<dc:creator>Adam Kahtava</dc:creator>
				<category><![CDATA[Musings]]></category>
		<category><![CDATA[Personal]]></category>

		<guid isPermaLink="false">http://adam.kahtava.com/journal/?p=3014</guid>
		<description><![CDATA[Lake Superior Provincial Park is one of my favourite places. The lake itself is brilliantly clear, the water clean enough to drink unfiltered (provided you&#8217;re drinking it well away from shore). The shoreline is dotted with uncountable warm coves to swim in (August), few bugs (again, August), and breathtaking views, but&#8230; I&#8217;m entirely biased. This [...]]]></description>
			<content:encoded><![CDATA[<div style="float: right;padding-left: 5px;">
<table style="border: 0px; width: 100%;">
<tr>
<td style="border: 0px;"><a href="http://www.flickr.com/photos/kahtava/6026227485/in/set-72157627394457194"><img title="Lake Superior Provincial Park" src="http://farm7.staticflickr.com/6073/6026227485_b5e2361f6d_m.jpg" alt="Lake Superior Provincial Park" /></a></td>
</tr>
<tr>
<td style="border: 0px;"><a href="http://www.flickr.com/photos/kahtava/6026694144/in/set-72157627394457194"><img title="Lake Superior Provincial Park" src="http://farm7.staticflickr.com/6137/6026694144_f5d258c1cd_m.jpg" alt="Lake Superior Provincial Park" /></td>
</tr>
<tr>
<td style="border: 0px;"><a href="http://www.flickr.com/photos/kahtava/6027819132/in/set-72157627394457194/"><img title="Lake Superior Provincial Park" src="http://farm7.staticflickr.com/6142/6027819132_b6739921bd_m.jpg" alt="Lake Superior Provincial Park" /></td>
</tr>
<tr>
<td style="border: 0px;"><a href="http://www.flickr.com/photos/kahtava/6026788366/in/set-72157627394457194/"><img title="Lake Superior Provincial Park" src="http://farm7.staticflickr.com/6062/6026788366_5f01d10fc5_m.jpg" alt="Lake Superior Provincial Park" /></td>
</tr>
</table>
</div>
<p><a href="http://en.wikipedia.org/wiki/Lake_Superior_Provincial_Park">Lake Superior Provincial Park</a> is one of my favourite places. The lake itself is brilliantly clear, the water clean enough to drink unfiltered (provided you&#8217;re drinking it well away from shore). The shoreline is dotted with uncountable warm coves to swim in (August), few  bugs (again, August), and breathtaking views, but&#8230; I&#8217;m entirely biased. This landscape is home (I grew up in the area) and both Steph (the girlfriend, now wife) and I were employed by this park while going to school. Steph as a Natural Heritage Educator and myself as an Interior Ranger. </p>
<p>Working as an Interior Ranger at Lake Superior Provincial Park came with some great experiences; one day our crew flagged down the Agawa train, rode a boxcar with the doors wide open, got dropped off at the Agawa Falls with a chainsaw and cleaned the trail as we hiked out. Then there were the multiday treks where we&#8217;d travel (portage, by canoe) through the interior of the park, self sustained as we assessed trail conditions, and explored old decomposing fly-in / hunting camps, and houses from decades gone by. I hiked all but one trail my first summer there. Man, I wish I had a camera back then. Anyhow, back to the topic of this post. This past summer we retraced our footsteps as we hiked Lake Superior&#8217;s Coastal Trail. </p>
<p>The Coastal Trail is about 65km, but we chose our favourite stretch &#8211; the 25km stretch between Gargantua Harbour and Orphan Lake. This portion of the trail is affectionately referred to as the &#8220;rugged&#8221; part, but &#8220;rugged&#8221; is an understatement. Most of this stretch of trail is off camber as you follow the exposed <a href="http://en.wikipedia.org/wiki/Canadian_Shield">Canadian Shield</a> along the shoreline and when the trail&#8217;s not threatening to toss you in the lake, then it&#8217;s ankle wrenching boulder beaches with rocks ranging from fist size rocks to the size of a cube van. There are no man made structures to assist in the undulating climbs, and the blue trail markers are few and far between (cairns mark most of the trail). Many times our route (well&#8230; usually MY route) would lead to a dead end, I&#8217;d scratch my head, Steph would roll her eyes, and then we&#8217;d spot a trail marker up on a distant bluff. If a storm unexpectedly kicked up you&#8217;d basically be stranded. Walking on wet lichen covered rock or bushwhacking your own route through the dense trees in search of higher ground with a backpack for 25km is sure to get you hurt. Good news though; it&#8217;s really difficult getting lost with the world&#8217;s largest freshwater lake on your side. The going may be slow, but the views, geology, and orienteering keep things interesting. This is my favourite hike, I highly recommend it. </p>
<p>View more photos <a href="http://www.flickr.com/photos/kahtava/sets/72157627394457194/">here</a>.</p>
<div style="float: right;padding-left: 5px;">
<table  style="border: 0px; width: 100%;">
<tr>
<td style="border: 0px;"><a href="http://www.flickr.com/photos/kahtava/538900791/"><img src="http://farm2.staticflickr.com/1210/538900791_6ebb7afa10_m.jpg" /><br />Beatty Cove 2001</a></td>
<td style="border: 0px;"><a href="http://www.flickr.com/photos/kahtava/6026325451/in/set-72157627394457194/"><img src="http://farm7.staticflickr.com/6090/6026325451_bf3f4c568d_m.jpg" /><br />Beatty Cove 2011</a></td>
</tr>
</table>
</div>
<div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/Adam-Kahtava/AdamDotCom?a=8LPg3nb3u0Q:-eGajxUnP3o:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/Adam-Kahtava/AdamDotCom?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/Adam-Kahtava/AdamDotCom?a=8LPg3nb3u0Q:-eGajxUnP3o:D7DqB2pKExk"><img src="http://feeds.feedburner.com/~ff/Adam-Kahtava/AdamDotCom?i=8LPg3nb3u0Q:-eGajxUnP3o:D7DqB2pKExk" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/Adam-Kahtava/AdamDotCom?a=8LPg3nb3u0Q:-eGajxUnP3o:F7zBnMyn0Lo"><img src="http://feeds.feedburner.com/~ff/Adam-Kahtava/AdamDotCom?i=8LPg3nb3u0Q:-eGajxUnP3o:F7zBnMyn0Lo" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/Adam-Kahtava/AdamDotCom?a=8LPg3nb3u0Q:-eGajxUnP3o:V_sGLiPBpWU"><img src="http://feeds.feedburner.com/~ff/Adam-Kahtava/AdamDotCom?i=8LPg3nb3u0Q:-eGajxUnP3o:V_sGLiPBpWU" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/Adam-Kahtava/AdamDotCom?a=8LPg3nb3u0Q:-eGajxUnP3o:qj6IDK7rITs"><img src="http://feeds.feedburner.com/~ff/Adam-Kahtava/AdamDotCom?d=qj6IDK7rITs" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/Adam-Kahtava/AdamDotCom/~4/8LPg3nb3u0Q" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://adam.kahtava.com/journal/2011/12/20/hiking-lake-superior-provincial-park/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		<feedburner:origLink>http://adam.kahtava.com/journal/2011/12/20/hiking-lake-superior-provincial-park/</feedburner:origLink></item>
		<item>
		<title>Marathon Results</title>
		<link>http://feedproxy.google.com/~r/Adam-Kahtava/AdamDotCom/~3/VsGW3YsVIzk/</link>
		<comments>http://adam.kahtava.com/journal/2011/06/01/marathon-results/#comments</comments>
		<pubDate>Wed, 01 Jun 2011 14:30:11 +0000</pubDate>
		<dc:creator>Adam Kahtava</dc:creator>
				<category><![CDATA[Calgary]]></category>
		<category><![CDATA[Personal]]></category>
		<category><![CDATA[Running]]></category>

		<guid isPermaLink="false">http://adam.kahtava.com/journal/?p=2921</guid>
		<description><![CDATA[Well&#8230; I&#8217;ve run two marathons in the past month, three to date, and each has been a huge learning experience. At the 2011 Vancouver Marathon I didn&#8217;t fuel properly and bonked hard (hit the wall). Aside from a couple cups of Gatorade I didn&#8217;t take any fuel &#8211; big rookie mistake! Running a marathon takes [...]]]></description>
			<content:encoded><![CDATA[<p>Well&#8230; I&#8217;ve run two marathons in the past month, three to date, and each has been a huge learning experience.</p>
<p>At the 2011 Vancouver Marathon I didn&#8217;t fuel properly and bonked hard (<a href="http://en.wikipedia.org/wiki/Hitting_the_wall">hit the wall</a>). Aside from a couple cups of Gatorade I didn&#8217;t take any fuel &#8211; big rookie mistake! Running a marathon takes something like 3,000 calories, the average runner can store about 2,500 calories, and the deficit has to be made up by eating while on the run. I&#8217;ve never hit the wall before and the experience was incredibly frustrating. A kilometer from the finish my legs started feeling like cooked noodles, the finish would have been in view if my vision hadn&#8217;t been tunneling. I trudged towards the line in what felt like an intoxicated stupor finishing in <a href="http://www.bmovanmarathon.ca/results/race_results/bmo_race_results/page3.php?race=50">3:10</a>, but my half split was 1:26 and last kilometer almost took 9 minutes &#8211; I met my rough goal of 3:10, but was hoping to finish faster.</p>
<p>29 days later I ran the 2011 Calgary Marathon. I played this one a bit too cautious focusing on hydration, and fueling. I was disappointed that I didn&#8217;t put more effort into the race. I may have taken a bit too much water as I suffered side stitches at 30km then my calves started cramping around the 35km mark. I finished Calgary in <a href="http://www.winningtime.ca/11/11calgarymarathon/oallmarathon.txt">3:15</a>. </p>
<p>It&#8217;s been a great learning experience and there&#8217;s lots to look forward to. Long distance runners peak somewhere between the age of 30 and 37 and I&#8217;m just getting started. My next target is to shave another 20 minutes off my marathon time.</p>
<p>Here&#8217;s a video that gives you an idea of what hitting the wall feels like: <a href="http://www.youtube.com/watch?v=g_utqeQALVE">Paula Newby Frazier is &#8220;Hitting The Wall&#8221;</a>.</p>
<p><iframe width="425" height="349" src="http://www.youtube.com/embed/g_utqeQALVE" frameborder="0" allowfullscreen></iframe></p>
<p>In other news <a href="http://www.climbing.com/news/hotflashes/steckeigerrecord08/">Ueli Steck climbed the north face of Eiger in 2:47</a>, that&#8217;s about 1800m (6000ft) of vertical elevation. Watch Ueli run up a mountain: <a href="http://www.youtube.com/embed/NxqB9T3T004">Ueli Steck speed solo Eiger record</a>.</p>
<p><iframe width="560" height="315" src="http://www.youtube.com/embed/NxqB9T3T004" frameborder="0" allowfullscreen></iframe></p>
<div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/Adam-Kahtava/AdamDotCom?a=VsGW3YsVIzk:cDF2_J6xidM:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/Adam-Kahtava/AdamDotCom?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/Adam-Kahtava/AdamDotCom?a=VsGW3YsVIzk:cDF2_J6xidM:D7DqB2pKExk"><img src="http://feeds.feedburner.com/~ff/Adam-Kahtava/AdamDotCom?i=VsGW3YsVIzk:cDF2_J6xidM:D7DqB2pKExk" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/Adam-Kahtava/AdamDotCom?a=VsGW3YsVIzk:cDF2_J6xidM:F7zBnMyn0Lo"><img src="http://feeds.feedburner.com/~ff/Adam-Kahtava/AdamDotCom?i=VsGW3YsVIzk:cDF2_J6xidM:F7zBnMyn0Lo" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/Adam-Kahtava/AdamDotCom?a=VsGW3YsVIzk:cDF2_J6xidM:V_sGLiPBpWU"><img src="http://feeds.feedburner.com/~ff/Adam-Kahtava/AdamDotCom?i=VsGW3YsVIzk:cDF2_J6xidM:V_sGLiPBpWU" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/Adam-Kahtava/AdamDotCom?a=VsGW3YsVIzk:cDF2_J6xidM:qj6IDK7rITs"><img src="http://feeds.feedburner.com/~ff/Adam-Kahtava/AdamDotCom?d=qj6IDK7rITs" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/Adam-Kahtava/AdamDotCom/~4/VsGW3YsVIzk" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://adam.kahtava.com/journal/2011/06/01/marathon-results/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://adam.kahtava.com/journal/2011/06/01/marathon-results/</feedburner:origLink></item>
		<item>
		<title>The Blog Atrophy</title>
		<link>http://feedproxy.google.com/~r/Adam-Kahtava/AdamDotCom/~3/3Kkrxc9hHb8/</link>
		<comments>http://adam.kahtava.com/journal/2011/05/11/the-blog-atrophy/#comments</comments>
		<pubDate>Wed, 11 May 2011 17:00:00 +0000</pubDate>
		<dc:creator>Adam Kahtava</dc:creator>
				<category><![CDATA[Musings]]></category>
		<category><![CDATA[Personal]]></category>

		<guid isPermaLink="false">http://adam.kahtava.com/journal/?p=2909</guid>
		<description><![CDATA[Hey, what happened to all the bloggers? Well&#8230; we grew up, grew out, and moved on. Perhaps we&#8217;ve become tired of community based online learning, we&#8217;ve discovered greater meaning in palpable communities, we&#8217;re pursuing new hobbies and responsibilities. We&#8217;re finding our internet memes and funny videos on social media. As developers we&#8217;re bored of whining [...]]]></description>
			<content:encoded><![CDATA[<p>Hey, what happened to all the bloggers? Well&#8230; we grew up, grew out, and moved on. Perhaps we&#8217;ve become tired of community based online learning, we&#8217;ve discovered greater meaning in palpable communities, we&#8217;re pursuing new hobbies and responsibilities. We&#8217;re finding our internet memes and funny videos on social media. As developers we&#8217;re bored of whining about decrepit technologies, we&#8217;ve found contentment in friendlier frameworks and work environments. Our confidence and abilities have grown, we&#8217;ve discovered that tools don&#8217;t matter, we&#8217;re no longer here to present the tips and tricks of the latest technology. The blog once established our street cred, but online reputation has transitioned to open source contributions and sites like <a href="http://stackoverflow.com/">Stack Overflow</a> and <a href="https://github.com/">github</a>. The effort of a blog is befittingly employed elsewhere.</p>
<div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/Adam-Kahtava/AdamDotCom?a=3Kkrxc9hHb8:G7g7PTZOrlY:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/Adam-Kahtava/AdamDotCom?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/Adam-Kahtava/AdamDotCom?a=3Kkrxc9hHb8:G7g7PTZOrlY:D7DqB2pKExk"><img src="http://feeds.feedburner.com/~ff/Adam-Kahtava/AdamDotCom?i=3Kkrxc9hHb8:G7g7PTZOrlY:D7DqB2pKExk" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/Adam-Kahtava/AdamDotCom?a=3Kkrxc9hHb8:G7g7PTZOrlY:F7zBnMyn0Lo"><img src="http://feeds.feedburner.com/~ff/Adam-Kahtava/AdamDotCom?i=3Kkrxc9hHb8:G7g7PTZOrlY:F7zBnMyn0Lo" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/Adam-Kahtava/AdamDotCom?a=3Kkrxc9hHb8:G7g7PTZOrlY:V_sGLiPBpWU"><img src="http://feeds.feedburner.com/~ff/Adam-Kahtava/AdamDotCom?i=3Kkrxc9hHb8:G7g7PTZOrlY:V_sGLiPBpWU" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/Adam-Kahtava/AdamDotCom?a=3Kkrxc9hHb8:G7g7PTZOrlY:qj6IDK7rITs"><img src="http://feeds.feedburner.com/~ff/Adam-Kahtava/AdamDotCom?d=qj6IDK7rITs" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/Adam-Kahtava/AdamDotCom/~4/3Kkrxc9hHb8" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://adam.kahtava.com/journal/2011/05/11/the-blog-atrophy/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://adam.kahtava.com/journal/2011/05/11/the-blog-atrophy/</feedburner:origLink></item>
		<item>
		<title>From Training to Tapering</title>
		<link>http://feedproxy.google.com/~r/Adam-Kahtava/AdamDotCom/~3/KQcURQVBAKM/</link>
		<comments>http://adam.kahtava.com/journal/2011/04/21/from-training-to-tapering/#comments</comments>
		<pubDate>Thu, 21 Apr 2011 16:00:11 +0000</pubDate>
		<dc:creator>Adam Kahtava</dc:creator>
				<category><![CDATA[Calgary]]></category>
		<category><![CDATA[Personal]]></category>
		<category><![CDATA[Running]]></category>

		<guid isPermaLink="false">http://adam.kahtava.com/journal/?p=2864</guid>
		<description><![CDATA[My taper for the Vancouver Marathon (May 1st) started this week. Over this training session (Jan 1st &#8211; April 21st) I&#8217;ve logged 750km (466mi) in 60 some hours, gone through two pair of shoes, burned through 60,000 calories, and discovered the joys of running outside. Yes, in the COLD! The coldest day being -28C (-18F). [...]]]></description>
			<content:encoded><![CDATA[<div style="float: right;padding-left: 5px;"><a href="http://www.flickr.com/photos/kahtava/5638351847/"><img src="http://farm6.static.flickr.com/5145/5638351847_8b8c9c5f5f.jpg" alt=""></a></div>
<p>My <a href="http://en.wikipedia.org/wiki/Tapering">taper</a> for the Vancouver Marathon (May 1st) started this week.</p>
<p>Over this training session (Jan 1st &#8211; April 21st) I&#8217;ve logged 750km (466mi) in 60 some hours, gone through two pair of shoes, burned through 60,000 calories, and discovered the joys of running outside. Yes, in the COLD! The coldest day being -28C (-18F). I used to be a fair weather enthusiast, pulling out any excuse to stay indoors in less than ideal conditions, but after breaking my treadmill I discovered that I&#8217;m quite weather resistant. Running outside through the winter was fun. Every run was a chance to flip winter the bird, an excuse to wear shorts (well&#8230; usually), and each step brought the warm weather closer. Sure there were a couple tough days, but adversity builds character. Right?</p>
<p>This image is an overlay of my long runs in Calgary since January 1st.</p>
<p>Did you know that, the fastest time for the 2010 Calgary Marathon was 2:32, the fastest time for the 2010 Vancouver Marathon was 2:16, the <a href="http://www.iaaf.org/mm/Document/Statistics/Standards/05/97/61/20110415082248_httppostedfile_EntryStandards_London2012_24135.pdf">2012 Olympic Qualifying Standard</a> for the Marathon is 2:15 &#8211; 2:18, and that the world&#8217;s fastest marathon (2:03)  was run this year at the Boston Marathon.</p>
<p>I&#8217;m excited to see where this training will take me &#8211; hopefully to the Boston Marathon, but certainly not to the Olympics. :)</p>
<div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/Adam-Kahtava/AdamDotCom?a=KQcURQVBAKM:EuzKrJ2tXTo:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/Adam-Kahtava/AdamDotCom?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/Adam-Kahtava/AdamDotCom?a=KQcURQVBAKM:EuzKrJ2tXTo:D7DqB2pKExk"><img src="http://feeds.feedburner.com/~ff/Adam-Kahtava/AdamDotCom?i=KQcURQVBAKM:EuzKrJ2tXTo:D7DqB2pKExk" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/Adam-Kahtava/AdamDotCom?a=KQcURQVBAKM:EuzKrJ2tXTo:F7zBnMyn0Lo"><img src="http://feeds.feedburner.com/~ff/Adam-Kahtava/AdamDotCom?i=KQcURQVBAKM:EuzKrJ2tXTo:F7zBnMyn0Lo" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/Adam-Kahtava/AdamDotCom?a=KQcURQVBAKM:EuzKrJ2tXTo:V_sGLiPBpWU"><img src="http://feeds.feedburner.com/~ff/Adam-Kahtava/AdamDotCom?i=KQcURQVBAKM:EuzKrJ2tXTo:V_sGLiPBpWU" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/Adam-Kahtava/AdamDotCom?a=KQcURQVBAKM:EuzKrJ2tXTo:qj6IDK7rITs"><img src="http://feeds.feedburner.com/~ff/Adam-Kahtava/AdamDotCom?d=qj6IDK7rITs" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/Adam-Kahtava/AdamDotCom/~4/KQcURQVBAKM" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://adam.kahtava.com/journal/2011/04/21/from-training-to-tapering/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		<feedburner:origLink>http://adam.kahtava.com/journal/2011/04/21/from-training-to-tapering/</feedburner:origLink></item>
		<item>
		<title>Accomplishments and The Two Year Rule</title>
		<link>http://feedproxy.google.com/~r/Adam-Kahtava/AdamDotCom/~3/5JlDI6zlDE0/</link>
		<comments>http://adam.kahtava.com/journal/2011/01/20/accomplishments-the-two-year-rule/#comments</comments>
		<pubDate>Thu, 20 Jan 2011 17:00:39 +0000</pubDate>
		<dc:creator>Adam Kahtava</dc:creator>
				<category><![CDATA[Musings]]></category>
		<category><![CDATA[Personal]]></category>
		<category><![CDATA[Running]]></category>

		<guid isPermaLink="false">http://adam.kahtava.com/journal/?p=2766</guid>
		<description><![CDATA[Focus on the present, the glory days of years gone by are becoming insignificant. [An accomplishment] has a shelf life of two years. After that, it&#8217;s still an [accomplishment] &#8211; just with an asterisk. &#8211; The Runner&#8217;s Rule Book, Rule #1.51 Focusing on accomplishments from the past two years seems like a good rule of [...]]]></description>
			<content:encoded><![CDATA[<p>Focus on the present, the glory days of years gone by are becoming insignificant.</p>
<blockquote><p>[An accomplishment] has a shelf life of two years. After that, it&#8217;s still an [accomplishment] &#8211; just with an asterisk. &#8211; <a href="http://www.amazon.com/Runners-Rule-Book-Everything-Know/dp/1605295809">The Runner&#8217;s Rule Book</a>, Rule #1.51 </p></blockquote>
<p>Focusing on accomplishments from the past two years seems like a good rule of thumb &#8211; much like concentrating a resume on your past five years of relevant experience.</p>
<div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/Adam-Kahtava/AdamDotCom?a=5JlDI6zlDE0:obdcwqXIGnE:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/Adam-Kahtava/AdamDotCom?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/Adam-Kahtava/AdamDotCom?a=5JlDI6zlDE0:obdcwqXIGnE:D7DqB2pKExk"><img src="http://feeds.feedburner.com/~ff/Adam-Kahtava/AdamDotCom?i=5JlDI6zlDE0:obdcwqXIGnE:D7DqB2pKExk" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/Adam-Kahtava/AdamDotCom?a=5JlDI6zlDE0:obdcwqXIGnE:F7zBnMyn0Lo"><img src="http://feeds.feedburner.com/~ff/Adam-Kahtava/AdamDotCom?i=5JlDI6zlDE0:obdcwqXIGnE:F7zBnMyn0Lo" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/Adam-Kahtava/AdamDotCom?a=5JlDI6zlDE0:obdcwqXIGnE:V_sGLiPBpWU"><img src="http://feeds.feedburner.com/~ff/Adam-Kahtava/AdamDotCom?i=5JlDI6zlDE0:obdcwqXIGnE:V_sGLiPBpWU" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/Adam-Kahtava/AdamDotCom?a=5JlDI6zlDE0:obdcwqXIGnE:qj6IDK7rITs"><img src="http://feeds.feedburner.com/~ff/Adam-Kahtava/AdamDotCom?d=qj6IDK7rITs" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/Adam-Kahtava/AdamDotCom/~4/5JlDI6zlDE0" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://adam.kahtava.com/journal/2011/01/20/accomplishments-the-two-year-rule/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://adam.kahtava.com/journal/2011/01/20/accomplishments-the-two-year-rule/</feedburner:origLink></item>
		<item>
		<title>Open Source Service Updates: Google Code’s New Project Page</title>
		<link>http://feedproxy.google.com/~r/Adam-Kahtava/AdamDotCom/~3/806x1IXwkdI/</link>
		<comments>http://adam.kahtava.com/journal/2011/01/13/open-source-service-updates-google-codes-new-project-page/#comments</comments>
		<pubDate>Thu, 13 Jan 2011 17:00:51 +0000</pubDate>
		<dc:creator>Adam Kahtava</dc:creator>
				<category><![CDATA[.NET]]></category>
		<category><![CDATA[ADC Services]]></category>
		<category><![CDATA[Open Source]]></category>
		<category><![CDATA[RESTful]]></category>
		<category><![CDATA[Services]]></category>
		<category><![CDATA[WCF]]></category>
		<category><![CDATA[XML]]></category>

		<guid isPermaLink="false">http://adam.kahtava.com/journal/?p=2777</guid>
		<description><![CDATA[My Open Source Service is fixed. The problem being that Google Code&#8217;s profile page changed and the project list wasn&#8217;t being populated &#8211; man, I wish Google Code had an API. Anyhow; I added more tests, reduced some technical debt, cleaned up my page sniffer / scraper and things are working again. The Open Source [...]]]></description>
			<content:encoded><![CDATA[<div style="float: right;padding-left: 5px;"><a href="http://adam.kahtava.com/journal/2010/02/24/the-project-badge-show-the-world-your-github-and-google-code-projects-on-your-blog/"><img src="http://farm6.static.flickr.com/5281/5345757905_5a1d4d4f8c.jpg" alt="Github or Google Code Source Code Repository Project Badge" /></a></div>
<p>My <a href="http://adam.kahtava.com/publicly-available-web-services/#open-source">Open Source Service</a> is fixed. The problem being that Google Code&#8217;s profile page changed and the project list wasn&#8217;t being populated &#8211; man, I wish Google Code had an API. Anyhow; I added more tests, reduced some technical debt,  cleaned up my page sniffer / scraper and things are working again. The Open Source Service is consumed by my <a href="http://adam.kahtava.com/journal/2010/02/24/the-project-badge-show-the-world-your-github-and-google-code-projects-on-your-blog/">Project Badge</a> (image on the right). Check out the source code <a href="http://code.google.com/p/adamdotcom-services/source/detail?r=87">updates</a>.</p>
<div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/Adam-Kahtava/AdamDotCom?a=806x1IXwkdI:QNem83SS7IU:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/Adam-Kahtava/AdamDotCom?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/Adam-Kahtava/AdamDotCom?a=806x1IXwkdI:QNem83SS7IU:D7DqB2pKExk"><img src="http://feeds.feedburner.com/~ff/Adam-Kahtava/AdamDotCom?i=806x1IXwkdI:QNem83SS7IU:D7DqB2pKExk" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/Adam-Kahtava/AdamDotCom?a=806x1IXwkdI:QNem83SS7IU:F7zBnMyn0Lo"><img src="http://feeds.feedburner.com/~ff/Adam-Kahtava/AdamDotCom?i=806x1IXwkdI:QNem83SS7IU:F7zBnMyn0Lo" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/Adam-Kahtava/AdamDotCom?a=806x1IXwkdI:QNem83SS7IU:V_sGLiPBpWU"><img src="http://feeds.feedburner.com/~ff/Adam-Kahtava/AdamDotCom?i=806x1IXwkdI:QNem83SS7IU:V_sGLiPBpWU" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/Adam-Kahtava/AdamDotCom?a=806x1IXwkdI:QNem83SS7IU:qj6IDK7rITs"><img src="http://feeds.feedburner.com/~ff/Adam-Kahtava/AdamDotCom?d=qj6IDK7rITs" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/Adam-Kahtava/AdamDotCom/~4/806x1IXwkdI" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://adam.kahtava.com/journal/2011/01/13/open-source-service-updates-google-codes-new-project-page/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		<feedburner:origLink>http://adam.kahtava.com/journal/2011/01/13/open-source-service-updates-google-codes-new-project-page/</feedburner:origLink></item>
		<item>
		<title>The joy of life comes from our encounters with new experiences</title>
		<link>http://feedproxy.google.com/~r/Adam-Kahtava/AdamDotCom/~3/6ldSaOPU23Y/</link>
		<comments>http://adam.kahtava.com/journal/2011/01/10/the-joy-of-life-comes-from-our-encounters-with-new-experiences/#comments</comments>
		<pubDate>Mon, 10 Jan 2011 17:00:35 +0000</pubDate>
		<dc:creator>Adam Kahtava</dc:creator>
				<category><![CDATA[Musings]]></category>

		<guid isPermaLink="false">http://adam.kahtava.com/journal/?p=2742</guid>
		<description><![CDATA[So many people &#8230; will not take the initiative to change their situation because they are conditioned to a life of security, conformity, and conservatism, all of which may appear to give one peace of mind, but in reality nothing is more dangerous to the adventurous spirit within a man than a secure future. The [...]]]></description>
			<content:encoded><![CDATA[<blockquote><p>So many people &#8230; will not take the initiative to change their situation because they are conditioned to a life of security, conformity, and conservatism, all of which may appear to give one peace of mind, but in reality nothing is more dangerous to the adventurous spirit within a man than a secure future. The very basic core of a man’s living spirit is his passion for adventure. The joy of life comes from our encounters with new experiences, and hence there is no greater joy than to have an endlessly changing horizon &#8230;  &#8211; <a href="http://en.wikipedia.org/wiki/Christopher_McCandless">Chris McCandless</a></p></blockquote>
<div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/Adam-Kahtava/AdamDotCom?a=6ldSaOPU23Y:nnkfRt3f2XU:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/Adam-Kahtava/AdamDotCom?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/Adam-Kahtava/AdamDotCom?a=6ldSaOPU23Y:nnkfRt3f2XU:D7DqB2pKExk"><img src="http://feeds.feedburner.com/~ff/Adam-Kahtava/AdamDotCom?i=6ldSaOPU23Y:nnkfRt3f2XU:D7DqB2pKExk" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/Adam-Kahtava/AdamDotCom?a=6ldSaOPU23Y:nnkfRt3f2XU:F7zBnMyn0Lo"><img src="http://feeds.feedburner.com/~ff/Adam-Kahtava/AdamDotCom?i=6ldSaOPU23Y:nnkfRt3f2XU:F7zBnMyn0Lo" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/Adam-Kahtava/AdamDotCom?a=6ldSaOPU23Y:nnkfRt3f2XU:V_sGLiPBpWU"><img src="http://feeds.feedburner.com/~ff/Adam-Kahtava/AdamDotCom?i=6ldSaOPU23Y:nnkfRt3f2XU:V_sGLiPBpWU" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/Adam-Kahtava/AdamDotCom?a=6ldSaOPU23Y:nnkfRt3f2XU:qj6IDK7rITs"><img src="http://feeds.feedburner.com/~ff/Adam-Kahtava/AdamDotCom?d=qj6IDK7rITs" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/Adam-Kahtava/AdamDotCom/~4/6ldSaOPU23Y" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://adam.kahtava.com/journal/2011/01/10/the-joy-of-life-comes-from-our-encounters-with-new-experiences/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://adam.kahtava.com/journal/2011/01/10/the-joy-of-life-comes-from-our-encounters-with-new-experiences/</feedburner:origLink></item>
		<item>
		<title>Why I’m Running</title>
		<link>http://feedproxy.google.com/~r/Adam-Kahtava/AdamDotCom/~3/zqdjc41ymNk/</link>
		<comments>http://adam.kahtava.com/journal/2011/01/06/why-im-running/#comments</comments>
		<pubDate>Thu, 06 Jan 2011 17:00:20 +0000</pubDate>
		<dc:creator>Adam Kahtava</dc:creator>
				<category><![CDATA[Personal]]></category>
		<category><![CDATA[Running]]></category>

		<guid isPermaLink="false">http://adam.kahtava.com/journal/?p=2737</guid>
		<description><![CDATA[The long term results of a sedentary career (desk job) and lifestyle are frightening. Like many software developer and other knowledge based workers, I can spend up to 10 hours, 5 days a week sitting in a chair looking at a screen. It has been suggested that &#8220;[staring at a screen] is associated with lower [...]]]></description>
			<content:encoded><![CDATA[<div style="float: right;padding-left: 5px;"><a href="http://www.flickr.com/photos/25602112@N07/4954542704/"><img src="http://farm5.static.flickr.com/4128/4954542704_f493d29773_m.jpg" alt="" /></a></div>
<p>The long term results of a sedentary career (desk job) and lifestyle are frightening. Like many software developer and other knowledge based workers, I can spend up to 10 hours, 5 days a week sitting in a chair looking at a screen. It has been suggested that &#8220;[staring at a screen] is associated with lower resting metabolic rate&#8221; (<a href="http://news.bbc.co.uk/2/hi/health/2966843.stm">TV watching &#8216;makes you obese&#8217;</a>), and regardless of being &#8220;slim or fat &#8230; every week spent inactive is roughly equivalent to smoking a packet of cigarettes&#8221; (<a href="http://www.bbc.co.uk/news/health-11442101">Laziness will send us to an early grave</a>). General health guidelines recommended that we &#8220;should do a minimum of 30 minutes moderate-intensity physical activity, five days a week&#8221; (<a href="http://www.bbc.co.uk/health/treatments/healthy_living/fitness/daily_howmuch.shtml">How much exercise?</a>), but exercising consistently five days a week is tough without a preferred physical activity.</p>
<p>In the years following University I was focused on my career (being active wasn&#8217;t a priority) and nearing my 30th birthday I began to realize my sedentary lifestyle was taking a toll on my health. I was becoming a pasty red-eyed developer. Going up stairs was leaving me gasping for air, riding a bike for 30 minutes was painful, and my metabolism was slowing down. </p>
<p>I made a couple attempts at becoming more fit. <strong>The bike</strong>; biking was my first attempt to exercise consistently. Cruising the city on a bike had a low barrier to entry, but getting out of the city required about a 2 hour time commitment, and riding in winter was tough. Rollers stepped in for the winter months, but seemed pretty easy without the resistance &#8211; I plan on getting a trainer next winter. Then came <strong>the gym</strong>, but the time limits on the aerobic equipment were frustrating and I didn&#8217;t have a desire to work on bulking up. Enters <strong>running</strong>. Running offered, the lowest barrier to entry (simplicity, tie up your running shoes and run anywhere), an efficient way to maintain cardiovascular fitness (an intense workout can take 30 minutes or less), and fun challenges (races, community, and competition). </p>
<p>I run because it reduces stress, simplifies my focus, makes me feel great, it&#8217;s social, and it&#8217;s a great way to maintain a fitness base for other pursuits like: biking, hiking, skiing, and even going up the stairs. I run because my career choice doesn&#8217;t necessarily facilitate good health.</p>
<div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/Adam-Kahtava/AdamDotCom?a=zqdjc41ymNk:PHIhg3Sp8RM:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/Adam-Kahtava/AdamDotCom?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/Adam-Kahtava/AdamDotCom?a=zqdjc41ymNk:PHIhg3Sp8RM:D7DqB2pKExk"><img src="http://feeds.feedburner.com/~ff/Adam-Kahtava/AdamDotCom?i=zqdjc41ymNk:PHIhg3Sp8RM:D7DqB2pKExk" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/Adam-Kahtava/AdamDotCom?a=zqdjc41ymNk:PHIhg3Sp8RM:F7zBnMyn0Lo"><img src="http://feeds.feedburner.com/~ff/Adam-Kahtava/AdamDotCom?i=zqdjc41ymNk:PHIhg3Sp8RM:F7zBnMyn0Lo" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/Adam-Kahtava/AdamDotCom?a=zqdjc41ymNk:PHIhg3Sp8RM:V_sGLiPBpWU"><img src="http://feeds.feedburner.com/~ff/Adam-Kahtava/AdamDotCom?i=zqdjc41ymNk:PHIhg3Sp8RM:V_sGLiPBpWU" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/Adam-Kahtava/AdamDotCom?a=zqdjc41ymNk:PHIhg3Sp8RM:qj6IDK7rITs"><img src="http://feeds.feedburner.com/~ff/Adam-Kahtava/AdamDotCom?d=qj6IDK7rITs" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/Adam-Kahtava/AdamDotCom/~4/zqdjc41ymNk" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://adam.kahtava.com/journal/2011/01/06/why-im-running/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		<feedburner:origLink>http://adam.kahtava.com/journal/2011/01/06/why-im-running/</feedburner:origLink></item>
		<item>
		<title>Whois Service Updates: ARIN’s New RESTful API</title>
		<link>http://feedproxy.google.com/~r/Adam-Kahtava/AdamDotCom/~3/QUep9iVJK1o/</link>
		<comments>http://adam.kahtava.com/journal/2010/12/07/whois-service-updates-arins-new-restful-api/#comments</comments>
		<pubDate>Tue, 07 Dec 2010 17:00:03 +0000</pubDate>
		<dc:creator>Adam Kahtava</dc:creator>
				<category><![CDATA[.NET]]></category>
		<category><![CDATA[ADC Services]]></category>
		<category><![CDATA[Open Source]]></category>
		<category><![CDATA[RESTful]]></category>
		<category><![CDATA[Services]]></category>
		<category><![CDATA[WCF]]></category>
		<category><![CDATA[XML]]></category>

		<guid isPermaLink="false">http://adam.kahtava.com/journal/?p=2722</guid>
		<description><![CDATA[My Whois Service is fixed. The American Registry for Internet Numbers (ARIN) released a fantastic new RESTful API which meant my old text parsing code (dependent on their old service) was broken for a couple weeks. Check out the new ARIN RESTful API and my service source code updates.]]></description>
			<content:encoded><![CDATA[<p>My <a href="http://adam.kahtava.com/publicly-available-web-services/#whois">Whois Service</a> is fixed. The American Registry for Internet Numbers (ARIN) released a fantastic new RESTful API which meant my old text parsing code (dependent on their old service) was broken for a couple weeks. Check out the new <a href="https://www.arin.net/resources/whoisrws/">ARIN RESTful API</a> and my service source code <a href="http://code.google.com/p/adamdotcom-services/source/detail?r=85">updates</a>.</p>
<div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/Adam-Kahtava/AdamDotCom?a=QUep9iVJK1o:DQKLsM8PfjI:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/Adam-Kahtava/AdamDotCom?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/Adam-Kahtava/AdamDotCom?a=QUep9iVJK1o:DQKLsM8PfjI:D7DqB2pKExk"><img src="http://feeds.feedburner.com/~ff/Adam-Kahtava/AdamDotCom?i=QUep9iVJK1o:DQKLsM8PfjI:D7DqB2pKExk" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/Adam-Kahtava/AdamDotCom?a=QUep9iVJK1o:DQKLsM8PfjI:F7zBnMyn0Lo"><img src="http://feeds.feedburner.com/~ff/Adam-Kahtava/AdamDotCom?i=QUep9iVJK1o:DQKLsM8PfjI:F7zBnMyn0Lo" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/Adam-Kahtava/AdamDotCom?a=QUep9iVJK1o:DQKLsM8PfjI:V_sGLiPBpWU"><img src="http://feeds.feedburner.com/~ff/Adam-Kahtava/AdamDotCom?i=QUep9iVJK1o:DQKLsM8PfjI:V_sGLiPBpWU" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/Adam-Kahtava/AdamDotCom?a=QUep9iVJK1o:DQKLsM8PfjI:qj6IDK7rITs"><img src="http://feeds.feedburner.com/~ff/Adam-Kahtava/AdamDotCom?d=qj6IDK7rITs" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/Adam-Kahtava/AdamDotCom/~4/QUep9iVJK1o" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://adam.kahtava.com/journal/2010/12/07/whois-service-updates-arins-new-restful-api/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://adam.kahtava.com/journal/2010/12/07/whois-service-updates-arins-new-restful-api/</feedburner:origLink></item>
		<item>
		<title>Travel Stories</title>
		<link>http://feedproxy.google.com/~r/Adam-Kahtava/AdamDotCom/~3/RBoMlVTd3s0/</link>
		<comments>http://adam.kahtava.com/journal/2010/11/01/travel-stories/#comments</comments>
		<pubDate>Mon, 01 Nov 2010 17:00:31 +0000</pubDate>
		<dc:creator>Adam Kahtava</dc:creator>
				<category><![CDATA[Personal]]></category>
		<category><![CDATA[Running]]></category>

		<guid isPermaLink="false">http://adam.kahtava.com/journal/?p=2704</guid>
		<description><![CDATA[A couple fun stories from our trip around Europe. The $30 laundry. We packed light, which made laundromats a frequent necessity. One evening in Italy we found a laundromat, I found the change machine, but couldn&#8217;t read the instructions. Thinking that these machines were universal, I fed it a 20 Euro bill. I was surprised [...]]]></description>
			<content:encoded><![CDATA[<div style="float: right;padding-left: 5px;"><a href="http://www.flickr.com/photos/kahtava/5065494137/in/set-72157625162213344/"><img title="Manarola, Italy" src="http://farm5.static.flickr.com/4128/5065494137_cbb9f4ebf0_m.jpg" alt="" /></a></div>
<p>A couple fun stories from our trip around Europe.</p>
<p><strong>The $30 laundry.</strong> We packed light, which made laundromats a frequent necessity. One evening in Italy we found a laundromat, I found the change machine, but couldn&#8217;t read the instructions. Thinking that these machines were universal, I fed it a 20 Euro bill. I was surprised when the machine expelled 20 Euro worth of flat pieces of metal that could only be used in <em>that</em> laundromat. I carried the fake coins around for the remainder of the trip, tried to use them at other laundromats, but never did find another washer that took the fake coins.</p>
<p><strong>Emergency at Buckingham Palace.</strong> We met up with a friend in England who took us on a tour of traditional British Pubs &#8211; bangers &#038; mash, along with many fresh pulled pints were consumed. The next day I decided to go for a run through the Royal Parks, I ran for an easy 45 minutes, but as I approached the heart of the park, in front of Buckingham Palace, I started feeling a tightness in my stomach. I frantically began my search for a toilet. I started scoping out the snack vendors for facilities, nothing, I started moving towards the park&#8217;s parameter, nothing, I looked for possible tree coverage, nope. Visions of being arrested for squatting in-front of Buckingham Palace were screaming through my mind just as a found a tourist map with clearly marked bathrooms, a quick stop at the Green Park tube station and I was back at it. Crisis averted.</p>
<p><strong>The economy hotel.</strong> We booked most our hotels the day-of on Hotwire or similar bidding type websites. Not knowing what hotel we were purchasing led to a very wide variation of quality in our accommodations &#8211; which kept things interesting and fun. Hotel Wanda was definitely one of our interesting experiences. We struggled for sometime finding Hotel Wanda in the medieval streets of Florence, but eventually bumbled into a 20 foot door with a buzzer for our hotel, we rang, the door was buzzed open, we stood in a dark room of halls, doors, apartment entrances, plaster statues, and stairs &#8211; no signage. After some trial and error we discovered the hotel entrance on the 2nd floor where we were greeted by a man at reception (and the only member of staff in the hotel). The man apologized for being <em>drunk</em>, then showed us our room and disappeared. The room was huge, a giant ashtray was sitting on our table (both of us are somewhat sensitive to smoking), upon further inspection, the comforter was riddled with cigarette burns, and the lock on the door was broken. We decided to make the best of it, opened the windows to let some fresh air in, and headed out to explore the city. Upon our return (in the evening) we discovered there was a bar beneath our room, the smoke from the bar patrons, along with their conversations and the music were wafting into our opened windows. No hotel staff were to be found. We closed the windows, popped in the earplugs, and tried to salvage the night. It was a cheap hotel, and we certainly got what we paid for. </p>
<p>We weren&#8217;t the only one with similar experiences at Hotel Wanda:</p>
<blockquote><p>
an apparently very drunk gentleman yelled at us from down the street and asked if we were looking for Hotel Wanda. He apologized, took us upstairs and, despite being extremely intoxicated, attempted to tell us which rooms we could have. Although the rooms were very big, it was a bit dark and strange.- <a href="http://www.tripadvisor.com/ShowUserReviews-g187895-d529522-r20498681-Hotel_Wanda-Florence_Tuscany.html#CHECK_RATES_CONT">Crazy experience (and not in a good way)</a></p></blockquote>
<div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/Adam-Kahtava/AdamDotCom?a=RBoMlVTd3s0:7K8bXtymYxI:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/Adam-Kahtava/AdamDotCom?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/Adam-Kahtava/AdamDotCom?a=RBoMlVTd3s0:7K8bXtymYxI:D7DqB2pKExk"><img src="http://feeds.feedburner.com/~ff/Adam-Kahtava/AdamDotCom?i=RBoMlVTd3s0:7K8bXtymYxI:D7DqB2pKExk" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/Adam-Kahtava/AdamDotCom?a=RBoMlVTd3s0:7K8bXtymYxI:F7zBnMyn0Lo"><img src="http://feeds.feedburner.com/~ff/Adam-Kahtava/AdamDotCom?i=RBoMlVTd3s0:7K8bXtymYxI:F7zBnMyn0Lo" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/Adam-Kahtava/AdamDotCom?a=RBoMlVTd3s0:7K8bXtymYxI:V_sGLiPBpWU"><img src="http://feeds.feedburner.com/~ff/Adam-Kahtava/AdamDotCom?i=RBoMlVTd3s0:7K8bXtymYxI:V_sGLiPBpWU" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/Adam-Kahtava/AdamDotCom?a=RBoMlVTd3s0:7K8bXtymYxI:qj6IDK7rITs"><img src="http://feeds.feedburner.com/~ff/Adam-Kahtava/AdamDotCom?d=qj6IDK7rITs" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/Adam-Kahtava/AdamDotCom/~4/RBoMlVTd3s0" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://adam.kahtava.com/journal/2010/11/01/travel-stories/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://adam.kahtava.com/journal/2010/11/01/travel-stories/</feedburner:origLink></item>
		<item>
		<title>Back at it: A Summer Recap</title>
		<link>http://feedproxy.google.com/~r/Adam-Kahtava/AdamDotCom/~3/a70yZiN3hV4/</link>
		<comments>http://adam.kahtava.com/journal/2010/10/28/back-at-it-a-summer-recap/#comments</comments>
		<pubDate>Thu, 28 Oct 2010 17:00:41 +0000</pubDate>
		<dc:creator>Adam Kahtava</dc:creator>
				<category><![CDATA[Calgary]]></category>
		<category><![CDATA[Personal]]></category>
		<category><![CDATA[Running]]></category>

		<guid isPermaLink="false">http://adam.kahtava.com/journal/?p=2674</guid>
		<description><![CDATA[I love summer, every moment of it! It&#8217;s difficult to write a blog post or even digest tech content in the precious summer months. A Summer Recap Biking. I was able to get lots of mountain biking in. Although the conditions were usually wet and the trails muddy, I was still able to get out [...]]]></description>
			<content:encoded><![CDATA[<div style="float: right;padding-left: 5px;"><a href="http://www.flickr.com/photos/kahtava/5106778568/"><img title="Adam Kahtava" src="http://farm2.static.flickr.com/1366/5106778568_37f9728911_m.jpg" alt="" /></a></div>
<p>I love summer, every moment of it! It&#8217;s difficult to write a blog post or even digest tech content in the precious summer months.</p>
<h3>A Summer Recap</h3>
<p><strong>Biking.</strong> I was able to get lots of mountain biking in. Although the conditions were usually wet and the trails muddy, I was still able to get out on the bike twice a week. Besides, according to my philosophy, the amount of mud you take home on your bike is directly proportionate to the amount of fun you&#8217;ve had. No mud, no fun. <em>Although most my friends would disagree. :)</em> I also picked up a bike for Steph at the end of this summer and we toured some of the easier albeit LONG rides (Elbow Loop, Goat Creek to Banff Springs to Canmore to Goat Creek).</p>
<p><strong>Hiking and Backpacking</strong>. We managed to knock of a couple local hikes: Mount Baldy (<a href="http://www.flickr.com/photos/kahtava/sets/72157625109055507/">photos</a>), Mount Lawrence Grassi (<a href="http://www.flickr.com/photos/kahtava/sets/72157624829469890/">photos</a>), Moose Mountain (<a href="http://www.flickr.com/photos/kahtava/sets/72157624293957787/">photos</a>), Black Prince Lake (<a href="http://www.flickr.com/photos/kahtava/sets/72157624535405636/">photos</a>), Prairie Mountain (<a href="http://www.flickr.com/photos/kahtava/sets/72157624293948291/">photos</a>), Stanley Glacier (<a href="http://www.flickr.com/photos/kahtava/sets/72157624535410340/">photos</a>) along with a backpack trip to Floe Lake (<a href="http://www.flickr.com/photos/kahtava/sets/72157624512874045/">photos</a>) and another to Forks and Turbine Canyon (<a href="http://www.flickr.com/photos/kahtava/sets/72157625115710969/">photos</a>).</p>
<p><strong>Europe.</strong> I FINALY got to Europe, something I&#8217;ve been wanting to do for a long-long time. Europe lived up to my expectations, we visited France (<a href="http://www.flickr.com/photos/kahtava/collections/72157625131980049/">photos</a>), Italy (<a href="http://www.flickr.com/photos/kahtava/collections/72157625131976567/">photos</a>), Vatican City, Holland, Belgium (<a href="http://www.flickr.com/photos/kahtava/collections/72157625131991351/">photos</a>), and England (<a href="http://www.flickr.com/photos/kahtava/sets/72157625140771106/">photos</a>). My favourite country while in Europe was Italy. Italy was more exciting, crazy, dirty, and entrepreneurial than the other countries, but Thailand is still my favourite country. I&#8217;m dying to go back to Southeast Asia.</p>
<p><strong>Running.</strong> When I wasn&#8217;t biking, or hiking, I&#8217;d fall back on my trusty shoes, and you can bet I was running while in Europe. Running was an amazing way to experience a city. My favourite run was in Paris (running from Notre Dame, through the the Louvre gardens, to the Arc de Triomphe, under the Eiffel Tower, then back to Notre Dame). I want to do the Paris Marathon next year. I also ran the parameter of Lamballe France, through the rural country side and down a river near Guipry France (South of Rennes), the circumference of Venice Italy (I got horribly lost), through the hill paths between Manarola and Riomaggiore Italy (an hour long hill workout in the heat), a 12km session on a Belgium treadmill (yawn), and around the Royal Gardens of England (pretty). Yeah&#8230; I admit I am borderline obsessed with running.</p>
<p>So now that summer is over I&#8217;m back at it. A big thank-you for sticking around. :)</p>
<div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/Adam-Kahtava/AdamDotCom?a=a70yZiN3hV4:OEN9H910--s:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/Adam-Kahtava/AdamDotCom?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/Adam-Kahtava/AdamDotCom?a=a70yZiN3hV4:OEN9H910--s:D7DqB2pKExk"><img src="http://feeds.feedburner.com/~ff/Adam-Kahtava/AdamDotCom?i=a70yZiN3hV4:OEN9H910--s:D7DqB2pKExk" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/Adam-Kahtava/AdamDotCom?a=a70yZiN3hV4:OEN9H910--s:F7zBnMyn0Lo"><img src="http://feeds.feedburner.com/~ff/Adam-Kahtava/AdamDotCom?i=a70yZiN3hV4:OEN9H910--s:F7zBnMyn0Lo" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/Adam-Kahtava/AdamDotCom?a=a70yZiN3hV4:OEN9H910--s:V_sGLiPBpWU"><img src="http://feeds.feedburner.com/~ff/Adam-Kahtava/AdamDotCom?i=a70yZiN3hV4:OEN9H910--s:V_sGLiPBpWU" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/Adam-Kahtava/AdamDotCom?a=a70yZiN3hV4:OEN9H910--s:qj6IDK7rITs"><img src="http://feeds.feedburner.com/~ff/Adam-Kahtava/AdamDotCom?d=qj6IDK7rITs" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/Adam-Kahtava/AdamDotCom/~4/a70yZiN3hV4" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://adam.kahtava.com/journal/2010/10/28/back-at-it-a-summer-recap/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://adam.kahtava.com/journal/2010/10/28/back-at-it-a-summer-recap/</feedburner:origLink></item>
		<item>
		<title>On Teams: Religious Debates Erode Respect</title>
		<link>http://feedproxy.google.com/~r/Adam-Kahtava/AdamDotCom/~3/cPhlntXFC9k/</link>
		<comments>http://adam.kahtava.com/journal/2010/07/15/on-teams-religious-debates-erode-respect/#comments</comments>
		<pubDate>Thu, 15 Jul 2010 17:00:41 +0000</pubDate>
		<dc:creator>Adam Kahtava</dc:creator>
				<category><![CDATA[Software]]></category>
		<category><![CDATA[Team Work]]></category>

		<guid isPermaLink="false">http://adam.kahtava.com/journal/?p=2664</guid>
		<description><![CDATA[&#8220;religious debates &#8230; consist largely of people expressing strongly held personal beliefs about things that can&#8217;t be proven. &#8230; they rarely result in anyone involved changing his or her personal view. &#8230; besides wasting time, these arguments create tension and erode respect among team members, and can often prevent the team from making critical decisions.&#8221; [...]]]></description>
			<content:encoded><![CDATA[<blockquote><p>&#8220;religious debates &#8230; consist largely of people expressing strongly held personal beliefs about things that can&#8217;t be proven. &#8230; they rarely result in anyone involved changing his or her personal view. &#8230; besides wasting time, <strong>these arguments create tension and erode respect among team members</strong>, and can often prevent the team from making critical decisions.&#8221; &#8211; Steve Krug, <a href="http://www.amazon.com/Dont-Make-Me-Think-Usability/dp/0321344758/?tag=adamkahtavaap-20">Don&#8217;t Make Me Think</a></p></blockquote>
<p>There we have it, religious debates erode respect.</p>
<div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/Adam-Kahtava/AdamDotCom?a=cPhlntXFC9k:3wkkC-jEivo:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/Adam-Kahtava/AdamDotCom?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/Adam-Kahtava/AdamDotCom?a=cPhlntXFC9k:3wkkC-jEivo:D7DqB2pKExk"><img src="http://feeds.feedburner.com/~ff/Adam-Kahtava/AdamDotCom?i=cPhlntXFC9k:3wkkC-jEivo:D7DqB2pKExk" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/Adam-Kahtava/AdamDotCom?a=cPhlntXFC9k:3wkkC-jEivo:F7zBnMyn0Lo"><img src="http://feeds.feedburner.com/~ff/Adam-Kahtava/AdamDotCom?i=cPhlntXFC9k:3wkkC-jEivo:F7zBnMyn0Lo" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/Adam-Kahtava/AdamDotCom?a=cPhlntXFC9k:3wkkC-jEivo:V_sGLiPBpWU"><img src="http://feeds.feedburner.com/~ff/Adam-Kahtava/AdamDotCom?i=cPhlntXFC9k:3wkkC-jEivo:V_sGLiPBpWU" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/Adam-Kahtava/AdamDotCom?a=cPhlntXFC9k:3wkkC-jEivo:qj6IDK7rITs"><img src="http://feeds.feedburner.com/~ff/Adam-Kahtava/AdamDotCom?d=qj6IDK7rITs" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/Adam-Kahtava/AdamDotCom/~4/cPhlntXFC9k" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://adam.kahtava.com/journal/2010/07/15/on-teams-religious-debates-erode-respect/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://adam.kahtava.com/journal/2010/07/15/on-teams-religious-debates-erode-respect/</feedburner:origLink></item>
		<item>
		<title>Finishing a Marathon</title>
		<link>http://feedproxy.google.com/~r/Adam-Kahtava/AdamDotCom/~3/CS71HZKQ1BA/</link>
		<comments>http://adam.kahtava.com/journal/2010/06/07/finishing-a-marathon/#comments</comments>
		<pubDate>Mon, 07 Jun 2010 17:00:47 +0000</pubDate>
		<dc:creator>Adam Kahtava</dc:creator>
				<category><![CDATA[Calgary]]></category>
		<category><![CDATA[Personal]]></category>
		<category><![CDATA[Running]]></category>

		<guid isPermaLink="false">http://adam.kahtava.com/journal/?p=2634</guid>
		<description><![CDATA[At the 32km marker a series of signs were staked into the grass along the course. The first sign read &#8220;You&#8217;re doing it!&#8221;, the next &#8220;Only 10 more kms!&#8221;, and the next &#8220;You&#8217;re running a marathon! You ARE a marathon runner!&#8221; A tear welled in the corner of my eye, perhaps from the pain in [...]]]></description>
			<content:encoded><![CDATA[<div style="float: right;padding-left: 5px;"><a href="http://www.flickr.com/photos/jtulloch/4652895157/"><img title="Adam Kahtava" src="http://farm5.static.flickr.com/4009/4652895157_758f14e553_m.jpg" alt="" /></a></div>
<p>At the 32km marker a series of signs were staked into the grass along the course. The first sign read <em>&#8220;You&#8217;re doing it!&#8221;</em>, the next <em>&#8220;Only 10 more kms!&#8221;</em>, and the next <em><strong>&#8220;You&#8217;re running a marathon! You ARE a marathon runner!&#8221;</strong></em> A tear welled in the corner of my eye, perhaps from the pain in my quads, or the reality of still being 10km from the finish, but more likely because it finally dawned on me that I was indeed running a marathon &#8211; an event I&#8217;d been looking forward to since running <a href="http://adam.kahtava.com/journal/2009/06/05/training-for-a-half-marathon/">the Half Marathon</a> a year earlier.</p>
<p>Training for a Marathon was relativity easy. Basically you run one long run every week, in addition to running 6-10km 4 times every week, then rinse and repeat for 3 months. As boring as that may sound, once I got into a routine, and found a running partner, I looked forward to running. Here&#8217;s the schedule I followed (<em>I know</em>,<em> I know</em>, don&#8217;t laugh, it&#8217;s from the far from reputable About.com): <a href="http://running.about.com/od/marathonprograms/a/marathonbeg.htm">Basic Marathon Training Schedule for Beginners</a>.</p>
<p>My next goal is to qualify for a <a href="http://en.wikipedia.org/wiki/Boston_Marathon">Boston Marathon</a> (qualifying time is 3 hours, 10 minutes, and 59 seconds). I&#8217;m not too far off the qualifying time, as I managed to finish Calgary in 3:22.</p>
<p>Get out there and run! :)</p>
<div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/Adam-Kahtava/AdamDotCom?a=CS71HZKQ1BA:KpjbKrgys0U:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/Adam-Kahtava/AdamDotCom?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/Adam-Kahtava/AdamDotCom?a=CS71HZKQ1BA:KpjbKrgys0U:D7DqB2pKExk"><img src="http://feeds.feedburner.com/~ff/Adam-Kahtava/AdamDotCom?i=CS71HZKQ1BA:KpjbKrgys0U:D7DqB2pKExk" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/Adam-Kahtava/AdamDotCom?a=CS71HZKQ1BA:KpjbKrgys0U:F7zBnMyn0Lo"><img src="http://feeds.feedburner.com/~ff/Adam-Kahtava/AdamDotCom?i=CS71HZKQ1BA:KpjbKrgys0U:F7zBnMyn0Lo" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/Adam-Kahtava/AdamDotCom?a=CS71HZKQ1BA:KpjbKrgys0U:V_sGLiPBpWU"><img src="http://feeds.feedburner.com/~ff/Adam-Kahtava/AdamDotCom?i=CS71HZKQ1BA:KpjbKrgys0U:V_sGLiPBpWU" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/Adam-Kahtava/AdamDotCom?a=CS71HZKQ1BA:KpjbKrgys0U:qj6IDK7rITs"><img src="http://feeds.feedburner.com/~ff/Adam-Kahtava/AdamDotCom?d=qj6IDK7rITs" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/Adam-Kahtava/AdamDotCom/~4/CS71HZKQ1BA" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://adam.kahtava.com/journal/2010/06/07/finishing-a-marathon/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		<feedburner:origLink>http://adam.kahtava.com/journal/2010/06/07/finishing-a-marathon/</feedburner:origLink></item>
		<item>
		<title>We All Live In An Uncle Bob Dialog</title>
		<link>http://feedproxy.google.com/~r/Adam-Kahtava/AdamDotCom/~3/XXKRwKTrP8Y/</link>
		<comments>http://adam.kahtava.com/journal/2010/05/31/we-all-live-in-an-uncle-bob-dialog/#comments</comments>
		<pubDate>Mon, 31 May 2010 17:00:26 +0000</pubDate>
		<dc:creator>Adam Kahtava</dc:creator>
				<category><![CDATA[Musings]]></category>
		<category><![CDATA[Software]]></category>
		<category><![CDATA[Testing]]></category>

		<guid isPermaLink="false">http://adam.kahtava.com/journal/?p=2627</guid>
		<description><![CDATA[Robert C. Martin (affectionately known as &#8220;Uncle Bob&#8221; in the development community) has a number of great books demonstrating the benefits of OOD/OOP and good design principles. Those acquainted with his books will also be familiar with his generous use of conversation dialogs between developers. A sample excerpt: RCM: &#8220;Will you help me write a [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.objectmentor.com/omTeam/martin_r.html">Robert C. Martin</a> (affectionately known as &#8220;Uncle Bob&#8221; in the development community) has <a href="http://www.objectmentor.com/resources/books.html">a number of great books</a> demonstrating the benefits of OOD/OOP and good design principles. Those acquainted with his books will also be familiar with his generous use of conversation dialogs between developers. </p>
<p>A sample excerpt:</p>
<blockquote><p>RCM: &#8220;Will you help me write a little application that calculated bowling scores?&#8221;<br />
RSK: &#8220;&#8230; Sure, Bob, I&#8217;d be glad to help. &#8230; I used to be a pretty good bowler &#8230; &#8220;<br />
RCM: &#8220;Let&#8217;s begin with scoring a single game &#8230;&#8221;<br />
RSK: &#8220;OK, we&#8217;re going to need some test data. Let me sketch out a little picture of a scorecard &#8230;&#8221;<br />
RSK: &#8220;Shall we start at the end of the dependency chain and work backward? &#8230;&#8221;<br />
- A Programming Episode from <a href="http://www.amazon.com/Agile-Principles-Patterns-Practices-C/dp/0131857258">Agile Principles, Patterns, and Practices</a></p></blockquote>
<p>This dialog continues for some 40+ pages as we&#8217;re walked through a paired programming session demonstrating <a href="http://en.wikipedia.org/wiki/Test-driven_development">test driven development</a> and refactoring techniques. Admittedly, while reading these dialogs, I initially thought they were a bit over-the-top (campy), but as I actively listen to the communication happening within my team I realize that these dialogs are happening all around me.</p>
<p>An excerpt from this past week:</p>
<blockquote><p>Me: &#8220;Will you help me write a stored procedure to retrieve the customer&#8217;s cart items count and default lightbox items count?&#8221;<br />
Dev: &#8220;Sure, Adam, I&#8217;d be glad to help.&#8221;<br />
Me: &#8220;Cool! This will be more efficient than aggregating the data from multiple repositories &#8230;&#8221;
</p></blockquote>
<p>Pull yourself in, that&#8217;s right, a little closer to the campfire, now sing it with me, &#8220;We all live in a yellow submarine&#8230; errr&#8230; an Uncle Bob dialog, an Uncle Bob dialog.&#8221; :)</p>
<div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/Adam-Kahtava/AdamDotCom?a=XXKRwKTrP8Y:36nCy1jNm0g:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/Adam-Kahtava/AdamDotCom?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/Adam-Kahtava/AdamDotCom?a=XXKRwKTrP8Y:36nCy1jNm0g:D7DqB2pKExk"><img src="http://feeds.feedburner.com/~ff/Adam-Kahtava/AdamDotCom?i=XXKRwKTrP8Y:36nCy1jNm0g:D7DqB2pKExk" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/Adam-Kahtava/AdamDotCom?a=XXKRwKTrP8Y:36nCy1jNm0g:F7zBnMyn0Lo"><img src="http://feeds.feedburner.com/~ff/Adam-Kahtava/AdamDotCom?i=XXKRwKTrP8Y:36nCy1jNm0g:F7zBnMyn0Lo" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/Adam-Kahtava/AdamDotCom?a=XXKRwKTrP8Y:36nCy1jNm0g:V_sGLiPBpWU"><img src="http://feeds.feedburner.com/~ff/Adam-Kahtava/AdamDotCom?i=XXKRwKTrP8Y:36nCy1jNm0g:V_sGLiPBpWU" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/Adam-Kahtava/AdamDotCom?a=XXKRwKTrP8Y:36nCy1jNm0g:qj6IDK7rITs"><img src="http://feeds.feedburner.com/~ff/Adam-Kahtava/AdamDotCom?d=qj6IDK7rITs" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/Adam-Kahtava/AdamDotCom/~4/XXKRwKTrP8Y" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://adam.kahtava.com/journal/2010/05/31/we-all-live-in-an-uncle-bob-dialog/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://adam.kahtava.com/journal/2010/05/31/we-all-live-in-an-uncle-bob-dialog/</feedburner:origLink></item>
		<item>
		<title>Book Reviewed: Rework by Jason Fried and David Heinemeier Hansson</title>
		<link>http://feedproxy.google.com/~r/Adam-Kahtava/AdamDotCom/~3/EZF_tsoB4q8/</link>
		<comments>http://adam.kahtava.com/journal/2010/05/27/book-reviewed-rework-by-jason-fried-and-david-heinemeier-hansson/#comments</comments>
		<pubDate>Thu, 27 May 2010 21:23:32 +0000</pubDate>
		<dc:creator>Adam Kahtava</dc:creator>
				<category><![CDATA[Book]]></category>
		<category><![CDATA[Review]]></category>

		<guid isPermaLink="false">http://adam.kahtava.com/journal/?p=2604</guid>
		<description><![CDATA[Rework by Jason Fried and David Heinemeier Hansson has been on Amazon&#8217;s top ten list for a couple months now and for good reason, it&#8217;s captivating, easy to read, engaging, and fun. However, I was disappointed with the lack of references. If the authors had included references to texts that back up many of their [...]]]></description>
			<content:encoded><![CDATA[<div style="padding: 0px 0px 10px 5px; float: right;"><a href="http://www.amazon.com/Rework-Jason-Fried/dp/0307463745/"><img src="http://ec1.images-amazon.com/images/P/0307463745.01._SCMZZZZZZZ_.jpg" alt="" /></a></div>
<p><a href="http://www.amazon.com/Rework-Jason-Fried/dp/0307463745/">Rework</a> by Jason Fried and David Heinemeier Hansson has been on Amazon&#8217;s top ten list for a couple months now and for good reason, it&#8217;s captivating, easy to read, engaging, and fun. However, I was disappointed with the lack of references. If the authors had included references to texts that back up many of their opinions (books like the <a href="http://www.amazon.com/Mythical-Man-Month-Software-Engineering-Anniversary/dp/0201835959/">Mythical Man-Month</a>, <a href="http://www.amazon.com/Peopleware-Productive-Projects-Teams-Second/dp/0932633439/">Peopleware</a>, etc&#8230;) then Rework could have more impact on corporate decision makers. Unfortunately, without the external references this book is easily passed of as highly opinionated and subjective.</p>
<div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/Adam-Kahtava/AdamDotCom?a=EZF_tsoB4q8:0fcglljbY9w:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/Adam-Kahtava/AdamDotCom?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/Adam-Kahtava/AdamDotCom?a=EZF_tsoB4q8:0fcglljbY9w:D7DqB2pKExk"><img src="http://feeds.feedburner.com/~ff/Adam-Kahtava/AdamDotCom?i=EZF_tsoB4q8:0fcglljbY9w:D7DqB2pKExk" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/Adam-Kahtava/AdamDotCom?a=EZF_tsoB4q8:0fcglljbY9w:F7zBnMyn0Lo"><img src="http://feeds.feedburner.com/~ff/Adam-Kahtava/AdamDotCom?i=EZF_tsoB4q8:0fcglljbY9w:F7zBnMyn0Lo" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/Adam-Kahtava/AdamDotCom?a=EZF_tsoB4q8:0fcglljbY9w:V_sGLiPBpWU"><img src="http://feeds.feedburner.com/~ff/Adam-Kahtava/AdamDotCom?i=EZF_tsoB4q8:0fcglljbY9w:V_sGLiPBpWU" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/Adam-Kahtava/AdamDotCom?a=EZF_tsoB4q8:0fcglljbY9w:qj6IDK7rITs"><img src="http://feeds.feedburner.com/~ff/Adam-Kahtava/AdamDotCom?d=qj6IDK7rITs" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/Adam-Kahtava/AdamDotCom/~4/EZF_tsoB4q8" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://adam.kahtava.com/journal/2010/05/27/book-reviewed-rework-by-jason-fried-and-david-heinemeier-hansson/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		<feedburner:origLink>http://adam.kahtava.com/journal/2010/05/27/book-reviewed-rework-by-jason-fried-and-david-heinemeier-hansson/</feedburner:origLink></item>
		<item>
		<title>Transparency, the Underpinnings of Becoming an Unprofessional</title>
		<link>http://feedproxy.google.com/~r/Adam-Kahtava/AdamDotCom/~3/xByA37rlZi4/</link>
		<comments>http://adam.kahtava.com/journal/2010/05/25/transparency-the-underpinnings-of-becoming-an-unprofessional/#comments</comments>
		<pubDate>Tue, 25 May 2010 17:00:32 +0000</pubDate>
		<dc:creator>Adam Kahtava</dc:creator>
				<category><![CDATA[Musings]]></category>
		<category><![CDATA[Personal]]></category>

		<guid isPermaLink="false">http://adam.kahtava.com/journal/?p=2578</guid>
		<description><![CDATA[The business world is full of &#8220;professionals&#8221; who wear the uniform and try to seem perfect. In truth, they just come off as stiff and boring. No one can relate to people like that. Don&#8217;t be afraid to show your flaws. Imperfections are real and people respond to real. &#8230; Don&#8217;t worry about how you&#8217;re [...]]]></description>
			<content:encoded><![CDATA[<div style="padding: 0px 0px 10px 5px; float: right;"><a href="http://www.flickr.com/photos/kahtava/4629573031/in/set-72157604066415953/"><img src="http://farm4.static.flickr.com/3313/4629573031_fc7c279f89_m.jpg" alt="" /></a></div>
<blockquote><p>The business world is full of &#8220;professionals&#8221; who wear the uniform and try to seem perfect. In truth, they just come off as stiff and boring. No one can relate to people like that.<br />
Don&#8217;t be afraid to show your flaws. Imperfections are real and people respond to real. &#8230; Don&#8217;t worry about how you&#8217;re supposed to act. Show the world what you&#8217;re really like, warts and all &#8230; talk like you really talk. Reveal things that others are unwilling to discuss. Be upfront about your shortcomings. &#8230; You might not seem as professional, but you will seem a lot more genuine. &#8211; <a href="http://www.amazon.com/Rework-Jason-Fried/dp/0307463745/">Rework: Jason Fried, David Heinemeier Hansson</a></p></blockquote>
<p>I&#8217;ve struggled with the personal vs professional tension for sometime. Back in 2002, I started this site with the intention of professional self promotion (image above is my site from 2003). The results were predictable: the tone boring, the topics dry and most visitors saw through the veil of self promotion. I&#8217;ve matured since then (well I hope I have). :) Over the years I&#8217;ve found that a personal, down-to-earth tone maintains a healthy level of transparency both on the web and in real life. As Gandhi once said:</p>
<blockquote><p>Happiness is when what you think, what you say, and what you do are in harmony.</p></blockquote>
<div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/Adam-Kahtava/AdamDotCom?a=xByA37rlZi4:CTcrnfrcguQ:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/Adam-Kahtava/AdamDotCom?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/Adam-Kahtava/AdamDotCom?a=xByA37rlZi4:CTcrnfrcguQ:D7DqB2pKExk"><img src="http://feeds.feedburner.com/~ff/Adam-Kahtava/AdamDotCom?i=xByA37rlZi4:CTcrnfrcguQ:D7DqB2pKExk" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/Adam-Kahtava/AdamDotCom?a=xByA37rlZi4:CTcrnfrcguQ:F7zBnMyn0Lo"><img src="http://feeds.feedburner.com/~ff/Adam-Kahtava/AdamDotCom?i=xByA37rlZi4:CTcrnfrcguQ:F7zBnMyn0Lo" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/Adam-Kahtava/AdamDotCom?a=xByA37rlZi4:CTcrnfrcguQ:V_sGLiPBpWU"><img src="http://feeds.feedburner.com/~ff/Adam-Kahtava/AdamDotCom?i=xByA37rlZi4:CTcrnfrcguQ:V_sGLiPBpWU" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/Adam-Kahtava/AdamDotCom?a=xByA37rlZi4:CTcrnfrcguQ:qj6IDK7rITs"><img src="http://feeds.feedburner.com/~ff/Adam-Kahtava/AdamDotCom?d=qj6IDK7rITs" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/Adam-Kahtava/AdamDotCom/~4/xByA37rlZi4" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://adam.kahtava.com/journal/2010/05/25/transparency-the-underpinnings-of-becoming-an-unprofessional/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		<feedburner:origLink>http://adam.kahtava.com/journal/2010/05/25/transparency-the-underpinnings-of-becoming-an-unprofessional/</feedburner:origLink></item>
		<item>
		<title>Install Git On Windows With PowerShell</title>
		<link>http://feedproxy.google.com/~r/Adam-Kahtava/AdamDotCom/~3/sskm2-mQo1A/</link>
		<comments>http://adam.kahtava.com/journal/2010/05/04/install-git-on-windows-with-powershell/#comments</comments>
		<pubDate>Tue, 04 May 2010 17:00:50 +0000</pubDate>
		<dc:creator>Adam Kahtava</dc:creator>
				<category><![CDATA[.NET]]></category>
		<category><![CDATA[PowerShell]]></category>

		<guid isPermaLink="false">http://adam.kahtava.com/journal/?p=2566</guid>
		<description><![CDATA[I like Git and here's a PowerShell script that I use to download and install Git on my Windows based development machines. PLAIN TEXT POWERSHELL: # Installs git for Windows via PowerShell # # Sample usage: # #&#160; Install git: #&#160; &#160; PS&#62; install-git # # Adam Kahtava - http://adam.kahtava.com/ - MIT Licensed &#160; function [...]]]></description>
			<content:encoded><![CDATA[<p>I like <a href="http://en.wikipedia.org/wiki/Git_(software)">Git</a> and here's a PowerShell script that I use to download and install Git on my Windows based development machines.</p>
<div class="igBar"><span id="lpowershell-2"><a href="#" onclick="javascript:showPlainTxt('powershell-2'); return false;">PLAIN TEXT</a></span></div>
<div class="syntax_hilite"><span class="langName">POWERSHELL:</span>
<div id="powershell-2">
<div class="powershell">
<ol>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;"><span style="color: #004400; font-style: italic;"># Installs git for Windows via PowerShell</span></div>
</li>
<li style="font-weight: bold;color:#26536A;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;"><span style="color: #004400; font-style: italic;">#</span></div>
</li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;"><span style="color: #004400; font-style: italic;"># Sample usage:</span></div>
</li>
<li style="font-weight: bold;color:#26536A;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;"><span style="color: #004400; font-style: italic;">#</span></div>
</li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;"><span style="color: #004400; font-style: italic;">#&nbsp; Install git:</span></div>
</li>
<li style="font-weight: bold;color:#26536A;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;"><span style="color: #004400; font-style: italic;">#&nbsp; &nbsp; PS&gt; install-git</span></div>
</li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;"><span style="color: #004400; font-style: italic;">#</span></div>
</li>
<li style="font-weight: bold;color:#26536A;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;"><span style="color: #004400; font-style: italic;"># Adam Kahtava - http://adam.kahtava.com/ - MIT Licensed</span></div>
</li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp;</div>
</li>
<li style="font-weight: bold;color:#26536A;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;"><span style="color: #003366; font-weight: bold;">function</span> global:install-git <span style="color: #66cc66;">&#123;</span></div>
</li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; install-file <span style="color: #3366CC;">'http://msysgit.googlecode.com/files/Git-1.6.4-preview20090730.exe'</span></div>
</li>
<li style="font-weight: bold;color:#26536A;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;"><span style="color: #66cc66;">&#125;</span></div>
</li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp;</div>
</li>
<li style="font-weight: bold;color:#26536A;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;"><span style="color: #003366; font-weight: bold;">function</span> global:install-file<span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#91;</span>string<span style="color: #66cc66;">&#93;</span> $urlPath<span style="color: #66cc66;">&#41;</span> <span style="color: #66cc66;">&#123;</span></div>
</li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; $filename = download-file<span style="color: #66cc66;">&#40;</span>$urlPath<span style="color: #66cc66;">&#41;</span></div>
</li>
<li style="font-weight: bold;color:#26536A;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; <span style="color: #000066;">invoke-item</span> $filename</div>
</li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;"><span style="color: #66cc66;">&#125;</span></div>
</li>
<li style="font-weight: bold;color:#26536A;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp;</div>
</li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;"><span style="color: #003366; font-weight: bold;">function</span> global:download-file<span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#91;</span>string<span style="color: #66cc66;">&#93;</span> $urlPath<span style="color: #66cc66;">&#41;</span> <span style="color: #66cc66;">&#123;</span></div>
</li>
<li style="font-weight: bold;color:#26536A;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; $urlSplit = $urlPath.<span style="color: #006600;">split</span><span style="color: #66cc66;">&#40;</span><span style="color: #3366CC;">'/'</span><span style="color: #66cc66;">&#41;</span></div>
</li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; $filename = <span style="color: #66cc66;">&#40;</span><span style="color: #000066;">Resolve-Path</span> .<span style="color: #66cc66;">&#41;</span>.<span style="color: #006600;">ToString</span><span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span> + <span style="color: #3366CC;">''</span> + $urlSplit<span style="color: #66cc66;">&#91;</span>$urlSplit.<span style="color: #006600;">length</span> - <span style="color: #CC0000;color:#800000;">1</span><span style="color: #66cc66;">&#93;</span></div>
</li>
<li style="font-weight: bold;color:#26536A;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; $webclient = <span style="color: #000066;">New-Object</span> <span style="color: #3366CC;">"System.Net.WebClient"</span></div>
</li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; $webclient.<span style="color: #006600;">DownloadFile</span><span style="color: #66cc66;">&#40;</span>$urlPath, $filename<span style="color: #66cc66;">&#41;</span></div>
</li>
<li style="font-weight: bold;color:#26536A;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; <span style="color: #000066; font-weight: bold;">return</span> $filename</div>
</li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;"><span style="color: #66cc66;">&#125;</span> </div>
</li>
</ol>
</div>
</div>
</div>
<p></p>
<p>Not familiar with Git? Then head over to <a href="http://learn.github.com/">the best online Git resource available</a>. </p>
<p>You can find more of my PowerShell development scripts <a href="http://code.google.com/p/adamdotcom-script/source/browse/trunk/Scripts/PowerShell/Development-Utilities.ps1">here</a>.</p>
<div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/Adam-Kahtava/AdamDotCom?a=sskm2-mQo1A:dx1pBhQbEio:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/Adam-Kahtava/AdamDotCom?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/Adam-Kahtava/AdamDotCom?a=sskm2-mQo1A:dx1pBhQbEio:D7DqB2pKExk"><img src="http://feeds.feedburner.com/~ff/Adam-Kahtava/AdamDotCom?i=sskm2-mQo1A:dx1pBhQbEio:D7DqB2pKExk" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/Adam-Kahtava/AdamDotCom?a=sskm2-mQo1A:dx1pBhQbEio:F7zBnMyn0Lo"><img src="http://feeds.feedburner.com/~ff/Adam-Kahtava/AdamDotCom?i=sskm2-mQo1A:dx1pBhQbEio:F7zBnMyn0Lo" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/Adam-Kahtava/AdamDotCom?a=sskm2-mQo1A:dx1pBhQbEio:V_sGLiPBpWU"><img src="http://feeds.feedburner.com/~ff/Adam-Kahtava/AdamDotCom?i=sskm2-mQo1A:dx1pBhQbEio:V_sGLiPBpWU" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/Adam-Kahtava/AdamDotCom?a=sskm2-mQo1A:dx1pBhQbEio:qj6IDK7rITs"><img src="http://feeds.feedburner.com/~ff/Adam-Kahtava/AdamDotCom?d=qj6IDK7rITs" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/Adam-Kahtava/AdamDotCom/~4/sskm2-mQo1A" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://adam.kahtava.com/journal/2010/05/04/install-git-on-windows-with-powershell/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://adam.kahtava.com/journal/2010/05/04/install-git-on-windows-with-powershell/</feedburner:origLink></item>
		<item>
		<title>Interviewing Tips: The Interview Anti-Loop and the Warren Harding Error</title>
		<link>http://feedproxy.google.com/~r/Adam-Kahtava/AdamDotCom/~3/B1pCJrP2qCE/</link>
		<comments>http://adam.kahtava.com/journal/2010/04/22/interviewing-tips-the-interview-anti-loop-and-the-warren-harding-error/#comments</comments>
		<pubDate>Thu, 22 Apr 2010 17:00:33 +0000</pubDate>
		<dc:creator>Adam Kahtava</dc:creator>
				<category><![CDATA[Interview]]></category>
		<category><![CDATA[Musings]]></category>

		<guid isPermaLink="false">http://adam.kahtava.com/journal/?p=2532</guid>
		<description><![CDATA[A couple non-traditional considerations when preparing for a software development interview. Prepare for the Warren Harding Error, Thin Slicing, Snap Judgements, and rapid cognition. The Warring Harding Error as described by Malcom Gladwell: Many people who looked at Warren Harding saw how extraordinarily handsome and distinguished-looking he was and jumped to the immediate - and [...]]]></description>
			<content:encoded><![CDATA[<div style="padding: 0px 0px 10px 5px; float: right;"><a href="http://en.wikipedia.org/wiki/Warren_G._Harding"><img src="http://upload.wikimedia.org/wikipedia/commons/thumb/c/c4/Warren_G_Harding-Harris_%26_Ewing.jpg/255px-Warren_G_Harding-Harris_%26_Ewing.jpg" alt="" /></a></div>
<p>A couple non-traditional considerations when preparing for a software development interview.</p>
<h3>Prepare for the Warren Harding Error, Thin Slicing, Snap Judgements, and rapid cognition.</h3>
<p>The Warring Harding Error as described by Malcom Gladwell:</p>
<blockquote><p>Many people who looked at <a href="http://en.wikipedia.org/wiki/Warren_G._Harding">Warren Harding</a> saw how extraordinarily handsome and distinguished-looking he was and jumped to the immediate - and entirely unwarranted - conclusion that he was a man of courage and intelligence and integrity. They didn’t dig below the surface. <strong>The way he looked carried so many powerful connotations that it stopped the normal process of thinking dead in its tracks. The Warren Harding error is the dark side of rapid cognition. It is at the root of a good deal of prejudice and discrimination. It’s why picking the right candidate for a job is so difficult and why, on more occasions than we may care to admit, utter mediocrities sometimes end up in positions of enormous responsibility.</strong> - <a href="http://www.amazon.com/Blink-Power-Thinking-Without/dp/0316172324">Blink: The Power of Thinking Without Thinking</a></p></blockquote>
<p>As Developers (and Generation X / Yers) we tend to buy into the ideal that <em>"on the internet no one knows your a dog"</em>, an ideal that's been seared into our minds by <a href="http://en.wikipedia.org/wiki/Sesame_Street">Sesame Street</a> and the like. An ideal where sunny days, chase the clouds away, where knowledge, technical skill, and communication should outweigh appearance - a place where being a dog, human, or giant harry elephant should be irrelevant. Unfortunately that's not reality. Clean up for your interviews, put away those circa Cobain sneakers, and pack in the facial jewelery. Warren Harding (considered one of the worst US presidents) may have been elected based on his appearance. First impressions matter.</p>
<h3>Beware of the Interview Anti-Loop</h3>
<p>The Interview Anti-Loop as described by Steve Yegge:</p>
<blockquote><p>when I was at Amazon ... We eventually concluded that every single employee E at Amazon has at least one "Interview Anti-Loop": a set of other employees S who would not hire E. The root cause is important for you to understand when you're going into interviews, so I'll tell you a little about what I've found over the years.</p>
<p>First, you can't tell interviewers what's important ... they believe they are a "good interviewer" and they don't need to change their questions, their question styles, their interviewing style, or their feedback style, ever again. ...</p>
<p>Second problem: every "experienced" interviewer has a set of pet subjects and possibly specific questions that he or she feels is an accurate gauge of a candidate's abilities. The question sets for any two interviewers can be widely different and even entirely non-overlapping. ...</p>
<p>The bottom line is, if you go to an interview at any software company, you should plan for the contingency that you might get genuinely unlucky, and wind up with one or more people from your Interview Anti-Loop on your interview loop. If this happens, you will struggle, then be told that you were not a fit at this time, and then you will feel bad. ...</p>
<p>And then you should wait 6-12 months and re-apply. That's pretty much the best solution we (or anyone else I know of) could come up with for the false-negative problem. - <a href="http://steve-yegge.blogspot.com/2008/03/get-that-job-at-google.html">Get that job at Google</a></p></blockquote>
<h3>Don't Trash Former Employers and Employees</h3>
<p>One final bit of advice that's often overlooked. Avoid talking badly about past employers and coworkers. If you had an unfortunate string of bad career experiences, consider hiring a therapist, or telling your Mom about it. The job interview is not the place to retrace or reflect on past personal struggles, and it's not the place for trashing former coworkers and employers.</p>
<div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/Adam-Kahtava/AdamDotCom?a=B1pCJrP2qCE:bXGDGqxVXmA:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/Adam-Kahtava/AdamDotCom?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/Adam-Kahtava/AdamDotCom?a=B1pCJrP2qCE:bXGDGqxVXmA:D7DqB2pKExk"><img src="http://feeds.feedburner.com/~ff/Adam-Kahtava/AdamDotCom?i=B1pCJrP2qCE:bXGDGqxVXmA:D7DqB2pKExk" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/Adam-Kahtava/AdamDotCom?a=B1pCJrP2qCE:bXGDGqxVXmA:F7zBnMyn0Lo"><img src="http://feeds.feedburner.com/~ff/Adam-Kahtava/AdamDotCom?i=B1pCJrP2qCE:bXGDGqxVXmA:F7zBnMyn0Lo" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/Adam-Kahtava/AdamDotCom?a=B1pCJrP2qCE:bXGDGqxVXmA:V_sGLiPBpWU"><img src="http://feeds.feedburner.com/~ff/Adam-Kahtava/AdamDotCom?i=B1pCJrP2qCE:bXGDGqxVXmA:V_sGLiPBpWU" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/Adam-Kahtava/AdamDotCom?a=B1pCJrP2qCE:bXGDGqxVXmA:qj6IDK7rITs"><img src="http://feeds.feedburner.com/~ff/Adam-Kahtava/AdamDotCom?d=qj6IDK7rITs" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/Adam-Kahtava/AdamDotCom/~4/B1pCJrP2qCE" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://adam.kahtava.com/journal/2010/04/22/interviewing-tips-the-interview-anti-loop-and-the-warren-harding-error/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		<feedburner:origLink>http://adam.kahtava.com/journal/2010/04/22/interviewing-tips-the-interview-anti-loop-and-the-warren-harding-error/</feedburner:origLink></item>
		<item>
		<title>Please, Call Me Señor Developer Not Senior</title>
		<link>http://feedproxy.google.com/~r/Adam-Kahtava/AdamDotCom/~3/tEniY0qpHtY/</link>
		<comments>http://adam.kahtava.com/journal/2010/04/20/please-call-me-senor-developer-not-senior/#comments</comments>
		<pubDate>Tue, 20 Apr 2010 17:00:41 +0000</pubDate>
		<dc:creator>Adam Kahtava</dc:creator>
				<category><![CDATA[Musings]]></category>
		<category><![CDATA[Personal]]></category>
		<category><![CDATA[Software]]></category>

		<guid isPermaLink="false">http://adam.kahtava.com/journal/?p=2514</guid>
		<description><![CDATA[This March marked my fifth year of working in the software realm and five years since graduating University, and this year (according to industry standards) I'm now considered a Senior Developer. Funny enough. Today, I don't consider myself a Senior Developer, but a couple years ago I would have told you to "Call me Senior". [...]]]></description>
			<content:encoded><![CDATA[<p>This March marked my fifth year of working in the software realm and five years since graduating University, and this year (according to industry standards) I'm now considered a Senior Developer. </p>
<p>Funny enough. Today, I don't consider myself a Senior Developer, but a couple years ago I would have told you to <em>"Call me Senior"</em>. Back in those days <em>I may have</em> been a Senior Developer within the monocultured context of the domain, language, and environment I was working with, but certainly not within the larger context of the software realm. I had surrounded myself with homogeneous tools, like minded colleagues, and had fallen into the trap of thinking I was an expert when I wasn't - we all thought we were Senior Developers.</p>
<blockquote><p>"When you are not very skilled in some area, you are more likely to think you're actually pretty expert at it ... The converse seems to be true as well; once you truly become an expert, you become painfully aware of just how little you know."  - <a href="http://www.amazon.com/Pragmatic-Thinking-Learning-Refactor-Programmers/dp/1934356050/">Pragmatic Thinking and Learning: Refactor Your Wetware</a></p></blockquote>
<p>Over the years I've observed that Experts and true Senior Developers are collectively regarded as such by their peers, not by corporate credentials, not by job titles, or duration of employment. Experts and Senior Developers are more preoccupied with getting things done, improving themselves, improving their environments, and helping others - not worrying about job titles and status. </p>
<blockquote><p>"The people who are best at programming are the people who realize how small their brains are. They are humble. The people who are the worst at programming are the people who refuse to accept the fact that their brains aren’t equal to the task. Their egos keep them from being great programmers. The more you learn to compensate for your small brain, the better a programmer you’ll be. The more humble you are, the faster you’ll improve." - <a href="http://www.amazon.com/Code-Complete-Practical-Handbook-Construction/dp/0735619670">Code Complete: A Practical Handbook of Software Construction</a></p></blockquote>
<p>Please, don't call me a Senior Developer, I'm Mr. Developer or <em>Señor</em> Developer.</p>
<div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/Adam-Kahtava/AdamDotCom?a=tEniY0qpHtY:MFDZtVNrkys:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/Adam-Kahtava/AdamDotCom?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/Adam-Kahtava/AdamDotCom?a=tEniY0qpHtY:MFDZtVNrkys:D7DqB2pKExk"><img src="http://feeds.feedburner.com/~ff/Adam-Kahtava/AdamDotCom?i=tEniY0qpHtY:MFDZtVNrkys:D7DqB2pKExk" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/Adam-Kahtava/AdamDotCom?a=tEniY0qpHtY:MFDZtVNrkys:F7zBnMyn0Lo"><img src="http://feeds.feedburner.com/~ff/Adam-Kahtava/AdamDotCom?i=tEniY0qpHtY:MFDZtVNrkys:F7zBnMyn0Lo" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/Adam-Kahtava/AdamDotCom?a=tEniY0qpHtY:MFDZtVNrkys:V_sGLiPBpWU"><img src="http://feeds.feedburner.com/~ff/Adam-Kahtava/AdamDotCom?i=tEniY0qpHtY:MFDZtVNrkys:V_sGLiPBpWU" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/Adam-Kahtava/AdamDotCom?a=tEniY0qpHtY:MFDZtVNrkys:qj6IDK7rITs"><img src="http://feeds.feedburner.com/~ff/Adam-Kahtava/AdamDotCom?d=qj6IDK7rITs" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/Adam-Kahtava/AdamDotCom/~4/tEniY0qpHtY" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://adam.kahtava.com/journal/2010/04/20/please-call-me-senor-developer-not-senior/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		<feedburner:origLink>http://adam.kahtava.com/journal/2010/04/20/please-call-me-senor-developer-not-senior/</feedburner:origLink></item>
		<item>
		<title>Give Away Everything: Creative Commons, Open Source, …</title>
		<link>http://feedproxy.google.com/~r/Adam-Kahtava/AdamDotCom/~3/eMIeU4Vpjlw/</link>
		<comments>http://adam.kahtava.com/journal/2010/03/25/give-away-everything-creative-commons-open-source/#comments</comments>
		<pubDate>Thu, 25 Mar 2010 17:00:58 +0000</pubDate>
		<dc:creator>Adam Kahtava</dc:creator>
				<category><![CDATA[Musings]]></category>
		<category><![CDATA[Personal]]></category>

		<guid isPermaLink="false">http://adam.kahtava.com/journal/?p=2482</guid>
		<description><![CDATA[remember from school other students preventing you from seeing their answers by placing their arm around their exercise book or exam paper. It is the same [in the working world] ... The problem with hoarding is you end up living off your reserves. Eventually you'll become stale. If you give away everything you have, you [...]]]></description>
			<content:encoded><![CDATA[<div style="padding: 0px 0px 10px 5px; float: right;"><a href="http://www.ronkrajewski.com/wheaten-terrier-041209.html"><img src="http://farm5.static.flickr.com/4024/4458218067_b39740441a_m.jpg" alt="" /></a></div>
<blockquote><p>remember from school other students preventing you from seeing their answers by placing their arm around their exercise book or exam paper.</p>
<p>It is the same [in the working world] ...</p>
<p>The problem with hoarding is you end up living off your reserves. Eventually you'll become stale.<br />
If you give away everything you have, you are left with nothing. This forces you to look, to be aware, to replenish. </p>
<p><strong>Somehow the more you give away the more comes back to you.</strong> - <a href="http://www.amazon.com/Its-Not-How-Good-Want/dp/0714843377/">Paul Arden, It's Not How Good You Are, Its How Good You Want to Be</a>
</p></blockquote>
<p>I identify with Arden's philosophy. The creative process is enjoyable. If I've had fun producing it, then why not share it? I think our tendencies to hoard, get hung up on copyright, and get picky about attribution stem from our fear of being taken advantage of and the fallacy of thinking we're special (<a href="http://adam.kahtava.com/journal/2008/09/13/everyone-is-special-i-wish-i-was-special/">we're not special</a>). I think we should throw our code into the public, share our content, give away everything, and watch what comes back.</p>
<p>The painting above was created by Ron Krajewski, based on <a href="http://www.flickr.com/photos/kahtava/2327548091/">my photo</a> (licensed under Creative Commons). Ron mailed me a copy of the painting - it's also available for purchase at <a href="http://www.ronkrajewski.com/wheaten-terrier-041209.html">Pet Art</a>.</p>
<div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/Adam-Kahtava/AdamDotCom?a=eMIeU4Vpjlw:EhLmF0Z38Kg:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/Adam-Kahtava/AdamDotCom?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/Adam-Kahtava/AdamDotCom?a=eMIeU4Vpjlw:EhLmF0Z38Kg:D7DqB2pKExk"><img src="http://feeds.feedburner.com/~ff/Adam-Kahtava/AdamDotCom?i=eMIeU4Vpjlw:EhLmF0Z38Kg:D7DqB2pKExk" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/Adam-Kahtava/AdamDotCom?a=eMIeU4Vpjlw:EhLmF0Z38Kg:F7zBnMyn0Lo"><img src="http://feeds.feedburner.com/~ff/Adam-Kahtava/AdamDotCom?i=eMIeU4Vpjlw:EhLmF0Z38Kg:F7zBnMyn0Lo" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/Adam-Kahtava/AdamDotCom?a=eMIeU4Vpjlw:EhLmF0Z38Kg:V_sGLiPBpWU"><img src="http://feeds.feedburner.com/~ff/Adam-Kahtava/AdamDotCom?i=eMIeU4Vpjlw:EhLmF0Z38Kg:V_sGLiPBpWU" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/Adam-Kahtava/AdamDotCom?a=eMIeU4Vpjlw:EhLmF0Z38Kg:qj6IDK7rITs"><img src="http://feeds.feedburner.com/~ff/Adam-Kahtava/AdamDotCom?d=qj6IDK7rITs" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/Adam-Kahtava/AdamDotCom/~4/eMIeU4Vpjlw" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://adam.kahtava.com/journal/2010/03/25/give-away-everything-creative-commons-open-source/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://adam.kahtava.com/journal/2010/03/25/give-away-everything-creative-commons-open-source/</feedburner:origLink></item>
		<item>
		<title>The Same Origin Policy: JSONP vs The document.domain Property</title>
		<link>http://feedproxy.google.com/~r/Adam-Kahtava/AdamDotCom/~3/ieg3DQQV9Xw/</link>
		<comments>http://adam.kahtava.com/journal/2010/03/18/the-same-origin-policy-jsonp-vs-the-documentdomain-property/#comments</comments>
		<pubDate>Thu, 18 Mar 2010 17:00:26 +0000</pubDate>
		<dc:creator>Adam Kahtava</dc:creator>
				<category><![CDATA[ADC Services]]></category>
		<category><![CDATA[ADC Website]]></category>
		<category><![CDATA[AJAX]]></category>
		<category><![CDATA[JavaScript]]></category>
		<category><![CDATA[Services]]></category>
		<category><![CDATA[WCF]]></category>

		<guid isPermaLink="false">http://adam.kahtava.com/journal/?p=2441</guid>
		<description><![CDATA[The Same Origin Policy ensures that the client-side code (JavaScript) running on a website originated from that website. This prevents website http://kahtava.com from accessing resources (via client-side code) on website http://malicious-password-sniffers.com or website http://adam.kahtava.com from executing resources from http://kahtava.com - note that the sub-domains differ, one being kahtava.com, the other being adam.kahtava.com In most cases [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://en.wikipedia.org/wiki/Same_origin_policy">The Same Origin Policy</a> ensures that the client-side code (JavaScript) running on a website originated from <em>that</em> website. This prevents website <em>http://kahtava.com</em> from accessing resources (via client-side code) on website <em>http://malicious-password-sniffers.com</em> or website <em>http://adam.kahtava.com</em> from executing resources from <em>http://kahtava.com</em> - note that the sub-domains differ, one being kahtava.com, the other being <em>adam</em>.kahtava.com </p>
<p>In most cases The Same Origin Policy is desirable. It helps to prevent malicious code that could potentially reveal sensitive information from being run on arbitrary website. However, the same origin policy also makes it difficult to share resources within a common root domain, or run external widgets on your site (like displaying <a href="http://adam.kahtava.com/journal/2010/02/24/the-project-badge-show-the-world-your-github-and-google-code-projects-on-your-blog/">The Project Badge</a> within your site). There are a couple ways to circumvent The Same Origin Policy, but I focus on JSONP and the <code>document.domain</code> property in this post.</p>
<h3>Ways to circumvent the Same Origin Policy</h3>
<ol>
<li><a href="http://en.wikipedia.org/wiki/JSON#JSONP">JSONP</a></li>
<li>Modifying the <code><a href="https://developer.mozilla.org/en/DOM/document.domain">document.domain</a></code> property</li>
<li>Creating a <a href="http://developer.yahoo.com/javascript/howto-proxy.html">server side web proxy</a></li>
</ol>
<h4>JSONP (JSON with padding)</h4>
<p><strong>How it works:</strong> JSONP dynamically creates a script element in the head of your HTML document which then requests data from outside your domain. <em>JSONP exploits a loophole in the Same Origin Policy that allows JavaScript from an external sites to be run within your site (much like how web analytic tracking works).</em> The JSON response, when returned, is executed within your browser at which time the JavaScript can manipulate your HTML page / DOM.</p>
<p><strong>An Example Using JSONP with jQuery:</strong></p>
<div class="igBar"><span id="ljavascript-5"><a href="#" onclick="javascript:showPlainTxt('javascript-5'); return false;">PLAIN TEXT</a></span></div>
<div class="syntax_hilite"><span class="langName">JAVASCRIPT:</span>
<div id="javascript-5">
<div class="javascript">
<ol>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;"><span style="color: #66cc66;">&#40;</span><span style="color: #003366; font-weight: bold;">function</span><span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">&#123;</span></div>
</li>
<li style="font-weight: bold;color:#26536A;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; $.<span style="color: #006600;">getJSON</span><span style="color: #66cc66;">&#40;</span><span style="color: #3366CC;">'http://adam.kahtava.com/services/open-source/projects.json?project-host:username=github:adamdotcom&amp;callback=?'</span>, <span style="color: #003366; font-weight: bold;">function</span><span style="color: #66cc66;">&#40;</span>data<span style="color: #66cc66;">&#41;</span> <span style="color: #66cc66;">&#123;</span></div>
</li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; &nbsp; <span style="color: #000066;">alert</span><span style="color: #66cc66;">&#40;</span>data<span style="color: #66cc66;">&#41;</span>;</div>
</li>
<li style="font-weight: bold;color:#26536A;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; <span style="color: #66cc66;">&#125;</span><span style="color: #66cc66;">&#41;</span>;</div>
</li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;"><span style="color: #66cc66;">&#125;</span><span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span>; </div>
</li>
</ol>
</div>
</div>
</div>
<p>
<em>Note the <code>callback=?</code> at the end of the URI, in jQuery this indicates a JSONP call.</em></p>
<p><strong>Pros</strong></p>
<ul>
<li>Lets us make external calls to any endpoint that supports JSONP</li>
<li>Lets us make external calls from HTTP to HTTPS</li>
<li>Supported by all major browsers</li>
</ul>
<p><strong>Cons</strong></p>
<ul>
<li>A bit more complex upfront, but most server side technologies support JSONP, browsers are natively supporting JSON, and JavaScript libraries like jQuery continue to abstract away most of the complexity.</li>
</ul>
<h4>The <code>document.domain</code> property</h4>
<p><strong>How it works:</strong> the <code>document.domain</code> property contains the domain of the server from which the page was loaded. For example, the domain for <em>http://adam.kahtava.com/</em> would be <em>adam.kahtava.com</em> whereas the domain for <em>http://kahtava.com</em> would be <em>kahtava.com</em>. The Same Origin Policy restricts resource access from <em>kahtava.com</em> to <em>adam.kahtava.com</em> unless we set the <code>document.domain</code> property to the root domain (in this case I'd want it set to <em>kahtava.com</em> to share resources with <em>http://adam.kahtava.com</em>).</p>
<p><strong>An Example using the <code>document.domain</code> property:</strong></p>
<div class="igBar"><span id="ljavascript-6"><a href="#" onclick="javascript:showPlainTxt('javascript-6'); return false;">PLAIN TEXT</a></span></div>
<div class="syntax_hilite"><span class="langName">JAVASCRIPT:</span>
<div id="javascript-6">
<div class="javascript">
<ol>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;"><span style="color: #66cc66;">&#40;</span><span style="color: #003366; font-weight: bold;">function</span><span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">&#123;</span></div>
</li>
<li style="font-weight: bold;color:#26536A;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; document.<span style="color: #006600;">domain</span> = <span style="color: #3366CC;">'kahtava.com'</span>;</div>
</li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; $.<span style="color: #006600;">get</span><span style="color: #66cc66;">&#40;</span><span style="color: #3366CC;">'http://adam.kahtava.com/contact-me/'</span>, <span style="color: #003366; font-weight: bold;">function</span><span style="color: #66cc66;">&#40;</span>data<span style="color: #66cc66;">&#41;</span> <span style="color: #66cc66;">&#123;</span></div>
</li>
<li style="font-weight: bold;color:#26536A;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; &nbsp; <span style="color: #000066;">alert</span><span style="color: #66cc66;">&#40;</span>data<span style="color: #66cc66;">&#41;</span>;</div>
</li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; <span style="color: #66cc66;">&#125;</span><span style="color: #66cc66;">&#41;</span>;</div>
</li>
<li style="font-weight: bold;color:#26536A;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;"><span style="color: #66cc66;">&#125;</span><span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span>; </div>
</li>
</ol>
</div>
</div>
</div>
<p></p>
<p><strong>Pros</strong></p>
<ul>
<li>An easy way to access resources within our root domains</li>
<li>Supported by all major browsers</li>
</ul>
<p><strong>Cons</strong></p>
<ul>
<li>Prevents us from making external calls outside a root domain</li>
<li>Prevents us from switching between HTTP and HTTPS</li>
<li>Kind of a hack - technically, the document.domain property is supposed to be a read only property, but most browsers also provide set access</li>
</ul>
<p>JSONP vs <code>document.domain</code> isn't a cut and dry comparison. JSONP lets anyone consume and share data, whereas overriding the <code>document.domain</code> lets you share resources within a common root domain. In simple cases where your only concern is sharing data within a single domain (exclusively on HTTP or exclusively on HTTPS), then overriding the domain works well, but in cases where you want to share or consume external data that may be passed over HTTP or HTTPS you'd probably want to stick with JSONP.</p>
<p><a href="http://adam.kahtava.com/journal/2010/02/24/the-project-badge-show-the-world-your-github-and-google-code-projects-on-your-blog/">The Project Badge</a> makes use of JSONP so it can work on your website. Most of <a href="http://adam.kahtava.com/publicly-available-web-services/">my publicly available web services</a> also make use of JSONP through a WCF <a href="http://code.google.com/p/adamdotcom-services/source/browse/trunk/AdamDotCom.Common.Service/Source/Common/Infrastructure/JSONP/JSONPBehavior.cs">JSONPBehavior</a>.</p>
<div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/Adam-Kahtava/AdamDotCom?a=ieg3DQQV9Xw:wORrhF4V8QA:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/Adam-Kahtava/AdamDotCom?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/Adam-Kahtava/AdamDotCom?a=ieg3DQQV9Xw:wORrhF4V8QA:D7DqB2pKExk"><img src="http://feeds.feedburner.com/~ff/Adam-Kahtava/AdamDotCom?i=ieg3DQQV9Xw:wORrhF4V8QA:D7DqB2pKExk" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/Adam-Kahtava/AdamDotCom?a=ieg3DQQV9Xw:wORrhF4V8QA:F7zBnMyn0Lo"><img src="http://feeds.feedburner.com/~ff/Adam-Kahtava/AdamDotCom?i=ieg3DQQV9Xw:wORrhF4V8QA:F7zBnMyn0Lo" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/Adam-Kahtava/AdamDotCom?a=ieg3DQQV9Xw:wORrhF4V8QA:V_sGLiPBpWU"><img src="http://feeds.feedburner.com/~ff/Adam-Kahtava/AdamDotCom?i=ieg3DQQV9Xw:wORrhF4V8QA:V_sGLiPBpWU" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/Adam-Kahtava/AdamDotCom?a=ieg3DQQV9Xw:wORrhF4V8QA:qj6IDK7rITs"><img src="http://feeds.feedburner.com/~ff/Adam-Kahtava/AdamDotCom?d=qj6IDK7rITs" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/Adam-Kahtava/AdamDotCom/~4/ieg3DQQV9Xw" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://adam.kahtava.com/journal/2010/03/18/the-same-origin-policy-jsonp-vs-the-documentdomain-property/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		<feedburner:origLink>http://adam.kahtava.com/journal/2010/03/18/the-same-origin-policy-jsonp-vs-the-documentdomain-property/</feedburner:origLink></item>
		<item>
		<title>The iPhone</title>
		<link>http://feedproxy.google.com/~r/Adam-Kahtava/AdamDotCom/~3/f5hEK7eetXQ/</link>
		<comments>http://adam.kahtava.com/journal/2010/03/16/the-iphone/#comments</comments>
		<pubDate>Tue, 16 Mar 2010 17:00:04 +0000</pubDate>
		<dc:creator>Adam Kahtava</dc:creator>
				<category><![CDATA[Musings]]></category>

		<guid isPermaLink="false">http://adam.kahtava.com/journal/?p=2460</guid>
		<description><![CDATA[About a year ago I purchased my first ever cellphone (an iPhone) - before the smart phones I'd grab any old freebie phone that came with a multi-year phone contract. Getting an iPhone was simple enough, but the reactions to owning one have been surprising. Responses have swung from: "Right on! Welcome to the fold!" [...]]]></description>
			<content:encoded><![CDATA[<div style="padding: 0px 0px 10px 5px; float: right;"><a href="http://www.flickr.com/photos/kahtava/4432717937/in/set-72157604066415953/"><img src="http://farm5.static.flickr.com/4005/4432717937_52f2a754a7_m.jpg" alt="" /></a></div>
<p>About a year ago I purchased my first ever cellphone (an iPhone) - before the smart phones I'd grab any old freebie phone that came with a multi-year phone contract. </p>
<p>Getting an iPhone was simple enough, but the reactions to owning one have been surprising. Responses have swung from: <em>"Right on! Welcome to the fold!"</em> to <em>"Oh, an iPhone, it's just a status symbol."</em> </p>
<p>I <em>will be</em> the first to admit that I'm more likely to whip out my new phone, but did you see my old phone? It was a the size of an Oh Henry! bar, the buttons faded, the screen cracked, and the antenna was a lightning rod - yes that <em>is</em> a picture of my old phone. Sure, I could have been a hero, milked another 5 years out of the old phone, but... I could also give up my washing machine for a washboard, my bike for a horse, and start burning candles. :)</p>
<div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/Adam-Kahtava/AdamDotCom?a=f5hEK7eetXQ:dxFhdMpYteg:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/Adam-Kahtava/AdamDotCom?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/Adam-Kahtava/AdamDotCom?a=f5hEK7eetXQ:dxFhdMpYteg:D7DqB2pKExk"><img src="http://feeds.feedburner.com/~ff/Adam-Kahtava/AdamDotCom?i=f5hEK7eetXQ:dxFhdMpYteg:D7DqB2pKExk" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/Adam-Kahtava/AdamDotCom?a=f5hEK7eetXQ:dxFhdMpYteg:F7zBnMyn0Lo"><img src="http://feeds.feedburner.com/~ff/Adam-Kahtava/AdamDotCom?i=f5hEK7eetXQ:dxFhdMpYteg:F7zBnMyn0Lo" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/Adam-Kahtava/AdamDotCom?a=f5hEK7eetXQ:dxFhdMpYteg:V_sGLiPBpWU"><img src="http://feeds.feedburner.com/~ff/Adam-Kahtava/AdamDotCom?i=f5hEK7eetXQ:dxFhdMpYteg:V_sGLiPBpWU" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/Adam-Kahtava/AdamDotCom?a=f5hEK7eetXQ:dxFhdMpYteg:qj6IDK7rITs"><img src="http://feeds.feedburner.com/~ff/Adam-Kahtava/AdamDotCom?d=qj6IDK7rITs" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/Adam-Kahtava/AdamDotCom/~4/f5hEK7eetXQ" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://adam.kahtava.com/journal/2010/03/16/the-iphone/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		<feedburner:origLink>http://adam.kahtava.com/journal/2010/03/16/the-iphone/</feedburner:origLink></item>
		<item>
		<title>More Reasons For Testing: Prevent The Morning-After Syndrome</title>
		<link>http://feedproxy.google.com/~r/Adam-Kahtava/AdamDotCom/~3/MyVNAUKLkic/</link>
		<comments>http://adam.kahtava.com/journal/2010/03/11/more-reasons-for-testing-prevent-the-morning-after-syndrome/#comments</comments>
		<pubDate>Thu, 11 Mar 2010 17:00:22 +0000</pubDate>
		<dc:creator>Adam Kahtava</dc:creator>
				<category><![CDATA[Book]]></category>
		<category><![CDATA[Quality Assurance]]></category>
		<category><![CDATA[Testing]]></category>

		<guid isPermaLink="false">http://adam.kahtava.com/journal/?p=2418</guid>
		<description><![CDATA[Testing (Test Driven Design, Unit Testing, Mocking) is a part of developer popular culture - most developers understand that by writing the tests first we're forced to focus on the important details as we build software, that by writing tests we prove that our software works as we build it, and that by running our [...]]]></description>
			<content:encoded><![CDATA[<p>Testing (<a href="http://en.wikipedia.org/wiki/Test-driven_development">Test Driven Design</a>, <a href="http://en.wikipedia.org/wiki/Unit_testing">Unit Testing</a>, <a href="http://en.wikipedia.org/wiki/Mock_object">Mocking</a>) is a part of developer popular culture - most developers understand that by writing the tests first we're forced to focus on the important details as we build software, that by writing tests we prove that our software works as we build it, and that by running our test suite against our changes we gain assurance that our code still works, but did you know that testing is also a cure for the <em>'morning-after syndrome'</em>?</p>
<p>The <em>'morning-after syndrome'</em> as described by Uncle Bob (Robert C. Martin):</p>
<blockquote><p>Have you ever worked all day, gotten some stuff working, and then gone home, only to arrive the next morning to find that your stuff no longer works? Why doesn't it work? Because somebody stayed later than you and changed something you depended on! I call this 'the morning-after syndrome'. - Robert C. Martin, <a href="http://www.amazon.com/Agile-Principles-Patterns-Practices-C/dp/0131857258">Agile Principles, Patterns, and Practices in C#</a>
</p></blockquote>
<p>Bob makes the point that by writing tests we make our code more stable and brittle to change, which prevents our coworkers from making casual breaking changes. Sure-sure, brittle tests are frustrating when refactoring, but at the same time these brittle tests accentuate the importance that the code under test should not be modified. Core components that your system depends on should be stable and brittle.</p>
<p>Bob continues:</p>
<blockquote><p>Many factors make a software component difficult to change: its size, complexity, clarity, and so on. But we are going to ignore all those factors and focus on something different. One sure way to make a software component difficult to change is to make lots of other software components [like tests] depend on it. A component with lots of incoming dependencies is very stable, because it requires a great deal of work to reconcile any changes with all the dependent components. - Robert C. Martin, <a href="http://www.amazon.com/Agile-Principles-Patterns-Practices-C/dp/0131857258">Agile Principles, Patterns, and Practices in C#</a></p></blockquote>
<div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/Adam-Kahtava/AdamDotCom?a=MyVNAUKLkic:KhM6Rtfw2SI:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/Adam-Kahtava/AdamDotCom?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/Adam-Kahtava/AdamDotCom?a=MyVNAUKLkic:KhM6Rtfw2SI:D7DqB2pKExk"><img src="http://feeds.feedburner.com/~ff/Adam-Kahtava/AdamDotCom?i=MyVNAUKLkic:KhM6Rtfw2SI:D7DqB2pKExk" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/Adam-Kahtava/AdamDotCom?a=MyVNAUKLkic:KhM6Rtfw2SI:F7zBnMyn0Lo"><img src="http://feeds.feedburner.com/~ff/Adam-Kahtava/AdamDotCom?i=MyVNAUKLkic:KhM6Rtfw2SI:F7zBnMyn0Lo" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/Adam-Kahtava/AdamDotCom?a=MyVNAUKLkic:KhM6Rtfw2SI:V_sGLiPBpWU"><img src="http://feeds.feedburner.com/~ff/Adam-Kahtava/AdamDotCom?i=MyVNAUKLkic:KhM6Rtfw2SI:V_sGLiPBpWU" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/Adam-Kahtava/AdamDotCom?a=MyVNAUKLkic:KhM6Rtfw2SI:qj6IDK7rITs"><img src="http://feeds.feedburner.com/~ff/Adam-Kahtava/AdamDotCom?d=qj6IDK7rITs" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/Adam-Kahtava/AdamDotCom/~4/MyVNAUKLkic" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://adam.kahtava.com/journal/2010/03/11/more-reasons-for-testing-prevent-the-morning-after-syndrome/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://adam.kahtava.com/journal/2010/03/11/more-reasons-for-testing-prevent-the-morning-after-syndrome/</feedburner:origLink></item>
		<item>
		<title>Memcached On PowerShell</title>
		<link>http://feedproxy.google.com/~r/Adam-Kahtava/AdamDotCom/~3/1P8FJiwhkZY/</link>
		<comments>http://adam.kahtava.com/journal/2010/03/09/memcached-on-powershell/#comments</comments>
		<pubDate>Tue, 09 Mar 2010 17:00:44 +0000</pubDate>
		<dc:creator>Adam Kahtava</dc:creator>
				<category><![CDATA[.NET]]></category>
		<category><![CDATA[PowerShell]]></category>
		<category><![CDATA[Testing]]></category>

		<guid isPermaLink="false">http://adam.kahtava.com/journal/?p=2383</guid>
		<description><![CDATA[Memcached has been around for a while, but it's still pretty neat. Experiencing a bottleneck with your Object Relational Mappers, Services, Middleware, Database, or whatever? Then Memcached it! Memcached was intially developed for LiveJournal by Danga Interactive in 2003, and is used by many large sites (YouTube, Amazon, Twitter, to name a few). Today, you [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://memcached.org/">Memcached</a> has been around for a while, but it's still pretty neat. </p>
<p><em>Experiencing a bottleneck with your Object Relational Mappers, Services, Middleware, Database, or whatever? Then Memcached it!</em></p>
<p>Memcached was intially developed for LiveJournal by Danga Interactive in 2003, and is used by many large sites (YouTube, Amazon, Twitter, to name a few). Today, you can find a Memcached library for all your favourite languages (<a href="http://code.google.com/p/memcached/wiki/Clients">here's the list</a>).</p>
<p>Now; cache testing is tough period, and testing Memcached (which is accessed through a <a href="http://lzone.de/articles/memcached.htm">telnet</a> client) is even more difficult - it's fair to mention that there are a large number of wrappers for Memcached outside the .NET world, but I couldn't find one for that met my needs. </p>
<h3>Introducing Memcached on Powershell</h3>
<p><strong>Sample usage and output</strong></p>
<p>Loading the script (source can be found <a href="http://github.com/AdamDotCom/memcached-on-powershell/raw/master/memcached-on-powershell.ps1">here</a>)</p>
<div class="igBar"><span id="lcode-12"><a href="#" onclick="javascript:showPlainTxt('code-12'); return false;">PLAIN TEXT</a></span></div>
<div class="syntax_hilite"><span class="langName">CODE:</span>
<div id="code-12">
<div class="code">
<ol>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">PS C:\&gt; .\memcached-on-powershell.<span style="">ps1</span> </div>
</li>
</ol>
</div>
</div>
</div>
<p></p>
<p>Checking Memcached stats on an empty instance</p>
<div class="igBar"><span id="lcode-13"><a href="#" onclick="javascript:showPlainTxt('code-13'); return false;">PLAIN TEXT</a></span></div>
<div class="syntax_hilite"><span class="langName">CODE:</span>
<div id="code-13">
<div class="code">
<ol>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">PS C:\&gt; memcached-stats <span style="color:#800000;color:#800000;">127</span>.<span style="color:#800000;color:#800000;">0</span>.<span style="color:#800000;color:#800000;">0</span>.<span style="color:#800000;color:#800000;">1</span> <span style="color:#800000;color:#800000;">11211</span></div>
</li>
<li style="font-weight: bold;color:#26536A;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">Total items in cache:&nbsp; <span style="color:#800000;color:#800000;">0</span></div>
</li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">No slabs found </div>
</li>
</ol>
</div>
</div>
</div>
<p></p>
<p>Checking Memcached stats after items have been added to the cache</p>
<div class="igBar"><span id="lcode-14"><a href="#" onclick="javascript:showPlainTxt('code-14'); return false;">PLAIN TEXT</a></span></div>
<div class="syntax_hilite"><span class="langName">CODE:</span>
<div id="code-14">
<div class="code">
<ol>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">PS C:\&gt; memcached-stats <span style="color:#800000;color:#800000;">127</span>.<span style="color:#800000;color:#800000;">0</span>.<span style="color:#800000;color:#800000;">0</span>.<span style="color:#800000;color:#800000;">1</span> <span style="color:#800000;color:#800000;">11211</span></div>
</li>
<li style="font-weight: bold;color:#26536A;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">Total items in cache:&nbsp; <span style="color:#800000;color:#800000;">3</span></div>
</li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">Stats for Slab:&nbsp; <span style="color:#800000;color:#800000;">1</span></div>
</li>
<li style="font-weight: bold;color:#26536A;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;Key: <span style="color:#CC0000;">'resume-service:resume:adam-kahtava'</span></div>
</li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;Key: <span style="color:#CC0000;">'open-source-service:github:adamdotcom'</span></div>
</li>
<li style="font-weight: bold;color:#26536A;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;Key: <span style="color:#CC0000;">'open-source-service:googlecode:adam.kahtava.com'</span> </div>
</li>
</ol>
</div>
</div>
</div>
<p></p>
<p>Clearing all Memcached items</p>
<div class="igBar"><span id="lcode-15"><a href="#" onclick="javascript:showPlainTxt('code-15'); return false;">PLAIN TEXT</a></span></div>
<div class="syntax_hilite"><span class="langName">CODE:</span>
<div id="code-15">
<div class="code">
<ol>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">PS C:\&gt; clear-memcached-items <span style="color:#800000;color:#800000;">127</span>.<span style="color:#800000;color:#800000;">0</span>.<span style="color:#800000;color:#800000;">0</span>.<span style="color:#800000;color:#800000;">1</span> <span style="color:#800000;color:#800000;">11211</span></div>
</li>
<li style="font-weight: bold;color:#26536A;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">Total items in cache:&nbsp; <span style="color:#800000;color:#800000;">0</span> </div>
</li>
</ol>
</div>
</div>
</div>
<p></p>
<p>Checking Memcached stats on a cleared instance</p>
<div class="igBar"><span id="lcode-16"><a href="#" onclick="javascript:showPlainTxt('code-16'); return false;">PLAIN TEXT</a></span></div>
<div class="syntax_hilite"><span class="langName">CODE:</span>
<div id="code-16">
<div class="code">
<ol>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">PS C:\&gt; memcached-stats <span style="color:#800000;color:#800000;">127</span>.<span style="color:#800000;color:#800000;">0</span>.<span style="color:#800000;color:#800000;">0</span>.<span style="color:#800000;color:#800000;">1</span> <span style="color:#800000;color:#800000;">11211</span></div>
</li>
<li style="font-weight: bold;color:#26536A;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">Total items in cache:&nbsp; <span style="color:#800000;color:#800000;">0</span></div>
</li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">Stats for Slab:&nbsp; <span style="color:#800000;color:#800000;">1</span></div>
</li>
<li style="font-weight: bold;color:#26536A;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;Empty </div>
</li>
</ol>
</div>
</div>
</div>
<p></p>
<p>If your test obsessed then you might be interested in the Memcached <a href="http://github.com/memcached/memcached/tree/master/t/">tests</a>.</p>
<p>As always feel free to contribute, view, or download the source <a href="http://github.com/AdamDotCom/memcached-on-powershell">here</a>.</p>
<div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/Adam-Kahtava/AdamDotCom?a=1P8FJiwhkZY:NsZg74q2qJc:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/Adam-Kahtava/AdamDotCom?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/Adam-Kahtava/AdamDotCom?a=1P8FJiwhkZY:NsZg74q2qJc:D7DqB2pKExk"><img src="http://feeds.feedburner.com/~ff/Adam-Kahtava/AdamDotCom?i=1P8FJiwhkZY:NsZg74q2qJc:D7DqB2pKExk" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/Adam-Kahtava/AdamDotCom?a=1P8FJiwhkZY:NsZg74q2qJc:F7zBnMyn0Lo"><img src="http://feeds.feedburner.com/~ff/Adam-Kahtava/AdamDotCom?i=1P8FJiwhkZY:NsZg74q2qJc:F7zBnMyn0Lo" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/Adam-Kahtava/AdamDotCom?a=1P8FJiwhkZY:NsZg74q2qJc:V_sGLiPBpWU"><img src="http://feeds.feedburner.com/~ff/Adam-Kahtava/AdamDotCom?i=1P8FJiwhkZY:NsZg74q2qJc:V_sGLiPBpWU" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/Adam-Kahtava/AdamDotCom?a=1P8FJiwhkZY:NsZg74q2qJc:qj6IDK7rITs"><img src="http://feeds.feedburner.com/~ff/Adam-Kahtava/AdamDotCom?d=qj6IDK7rITs" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/Adam-Kahtava/AdamDotCom/~4/1P8FJiwhkZY" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://adam.kahtava.com/journal/2010/03/09/memcached-on-powershell/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		<feedburner:origLink>http://adam.kahtava.com/journal/2010/03/09/memcached-on-powershell/</feedburner:origLink></item>
		<item>
		<title>Developers, Don’t Let Your Babies Grow Up To Be Programmers</title>
		<link>http://feedproxy.google.com/~r/Adam-Kahtava/AdamDotCom/~3/_1xsnnrPDJE/</link>
		<comments>http://adam.kahtava.com/journal/2010/03/02/developers-dont-let-your-babies-grow-up-to-be-programmers/#comments</comments>
		<pubDate>Tue, 02 Mar 2010 17:00:23 +0000</pubDate>
		<dc:creator>Adam Kahtava</dc:creator>
				<category><![CDATA[Musings]]></category>

		<guid isPermaLink="false">http://adam.kahtava.com/journal/?p=2364</guid>
		<description><![CDATA[Experts continue to warn of a looming shortage of North American scientists, engineers, developers, and IT workers in general. Efforts like the K-12 CS Model Curriculum attempt to introduce computer science concepts to children as they progress through grade / high school in hopes that they'll fill this void, but there's another issue in play. [...]]]></description>
			<content:encoded><![CDATA[<div style="padding: 0px 0px 10px 5px; float: right;"><a href="http://www.flickr.com/photos/_mm_/153887567/"><img src="http://farm1.static.flickr.com/46/153887567_39dfbd6b4d_m.jpg" alt="" /></a></div>
<p>Experts continue to warn of a looming shortage of North American scientists, engineers, developers, and IT workers in general. Efforts like the <a href="http://www.csta.acm.org/Curriculum/sub/ACMK12CSModel.html">K-12 CS Model Curriculum</a> attempt to introduce computer science concepts to children as they progress through grade / high school in hopes that they'll fill this void, but there's another issue in play. Developers don't let their children grow up to be programmers.</p>
<p>My hunch is that, most engineers, developer, or related IT professional would rather see their children succeed them - becoming doctors and lawyers and such, not an IT professional.</p>
<p>Malcom Gladwell (in <a href="http://www.amazon.com/Outliers-Story-Success-Malcolm-Gladwell/dp/0316017922/">Outliers</a>) presents an interesting account of career progressions within family trees:</p>
<blockquote><p>In 1982, a sociology graduate student named Louise Farkas went to visit a number of nursing homes and residential hotels [she was looking for] the children of people [who had immigrated] at the turn of the last century. And for each of the people she interviewed, she constructed a family tree showing what a line of parents and children and grandchildren and, in some cases, great-grandchildren did for a living.</p>
<p>Here is her account of "subject #18":</p>
<p><strong>A Russian tailor artisan comes to America, takes to the needle trade, works in a sweat shop for a small salary.</strong> Later takes garments to finish at home with the help of his wife and older children. In order to increase his salary he works through the night. Later he makes a garment and sells it on New York streets. He accumulates some capital and goes into a business venture with his sons. They open a shop to create men's garments. The Russian tailor and his sons become men's suit manufacturers supplying several men's stores The sons and the father become prosperous. <strong>The sons' children become educated professionals.</strong></p>
<p>Farkas's ... family trees go on for pages, each virtually identical to the one before</p></blockquote>
<p>From my observations, many developers / IT workers are first generation middle class, first generation post secondary educated, immigrants, or all of the above (myself included). Being a developer or IT professional is a small step up the ladder in helping our successors succeed. </p>
<div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/Adam-Kahtava/AdamDotCom?a=_1xsnnrPDJE:zpwCVIKZPPo:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/Adam-Kahtava/AdamDotCom?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/Adam-Kahtava/AdamDotCom?a=_1xsnnrPDJE:zpwCVIKZPPo:D7DqB2pKExk"><img src="http://feeds.feedburner.com/~ff/Adam-Kahtava/AdamDotCom?i=_1xsnnrPDJE:zpwCVIKZPPo:D7DqB2pKExk" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/Adam-Kahtava/AdamDotCom?a=_1xsnnrPDJE:zpwCVIKZPPo:F7zBnMyn0Lo"><img src="http://feeds.feedburner.com/~ff/Adam-Kahtava/AdamDotCom?i=_1xsnnrPDJE:zpwCVIKZPPo:F7zBnMyn0Lo" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/Adam-Kahtava/AdamDotCom?a=_1xsnnrPDJE:zpwCVIKZPPo:V_sGLiPBpWU"><img src="http://feeds.feedburner.com/~ff/Adam-Kahtava/AdamDotCom?i=_1xsnnrPDJE:zpwCVIKZPPo:V_sGLiPBpWU" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/Adam-Kahtava/AdamDotCom?a=_1xsnnrPDJE:zpwCVIKZPPo:qj6IDK7rITs"><img src="http://feeds.feedburner.com/~ff/Adam-Kahtava/AdamDotCom?d=qj6IDK7rITs" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/Adam-Kahtava/AdamDotCom/~4/_1xsnnrPDJE" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://adam.kahtava.com/journal/2010/03/02/developers-dont-let-your-babies-grow-up-to-be-programmers/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://adam.kahtava.com/journal/2010/03/02/developers-dont-let-your-babies-grow-up-to-be-programmers/</feedburner:origLink></item>
		<item>
		<title>The Project Badge: Show The World Your GitHub and Google Code Projects On Your Blog</title>
		<link>http://feedproxy.google.com/~r/Adam-Kahtava/AdamDotCom/~3/gfFIn0E70jM/</link>
		<comments>http://adam.kahtava.com/journal/2010/02/24/the-project-badge-show-the-world-your-github-and-google-code-projects-on-your-blog/#comments</comments>
		<pubDate>Wed, 24 Feb 2010 17:00:10 +0000</pubDate>
		<dc:creator>Adam Kahtava</dc:creator>
				<category><![CDATA[ADC Services]]></category>
		<category><![CDATA[ADC Website]]></category>
		<category><![CDATA[AJAX]]></category>
		<category><![CDATA[CSS]]></category>
		<category><![CDATA[JavaScript]]></category>
		<category><![CDATA[Open Source]]></category>
		<category><![CDATA[Services]]></category>

		<guid isPermaLink="false">http://adam.kahtava.com/journal/?p=2298</guid>
		<description><![CDATA[The Project Badge displays your GitHub and Google Code projects in a badge that can be displayed on your site. This widget was built on the data being returned from my Open Source Service. View this post outside your RSS reader to see it in action or view it here. The source for the Project [...]]]></description>
			<content:encoded><![CDATA[<p><iframe src="http://adam.kahtava.com/etcetera/open-source-project-badge/" style="border-width: 0px; width: 320px; height: 370px; margin-left: 15px; float: left;"> </iframe></p>
<p>The Project Badge displays your GitHub and Google Code projects in a badge that can be displayed on your site. This widget was built on the data being returned from my <a href="http://adam.kahtava.com/journal/2010/02/11/introducing-my-open-source-projects-service-grab-your-project-details-from-github-or-google-code/">Open Source Service</a>. </p>
<p><em>View this post outside your RSS reader to see it in action or view it <a href="http://adam.kahtava.com/etcetera/open-source-project-badge/">here</a>.</em></p>
<p>The source for the Project Badge can be found <a href="http://github.com/AdamDotCom/project-badge/">here</a> and the source for the accompanying service can be found <a href="http://code.google.com/p/adamdotcom-services/source/browse/trunk#trunk/AdamDotCom.OpenSource.Service/Source/Service">here</a>. A list of all my publicly available web services can be found <a href="http://adam.kahtava.com/publicly-available-web-services/">here</a>.</p>
<div style="clear:both;"></div>
<h3>Using The Project Badge On Your Website or Blog</h3>
<p><strong>1. Add The Asset References</strong></p>
<p>Add the following asset references, and a reference to jQuery (if you don't have one already).</p>
<div class="igBar"><span id="lhtml-20"><a href="#" onclick="javascript:showPlainTxt('html-20'); return false;">PLAIN TEXT</a></span></div>
<div class="syntax_hilite"><span class="langName">HTML:</span>
<div id="html-20">
<div class="html">
<ol>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;"><span style="color: #009900;"><a href="http://december.com/html/4/element/link.html"><span style="color: #000000; font-weight: bold;">&lt;link</span></a> <span style="color: #000066;">rel</span>=<span style="color: #ff0000;">"stylesheet"</span> <span style="color: #000066;">type</span>=<span style="color: #ff0000;">"text/css"</span> <span style="color: #000066;">href</span>=<span style="color: #ff0000;">"http://github.com/AdamDotCom/project-badge/raw/master/project-badge.css"</span> /<span style="color: #000000; font-weight: bold;">&gt;</span></a></span></div>
</li>
<li style="font-weight: bold;color:#26536A;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;"><span style="color: #009900;"><a href="http://december.com/html/4/element/script.html"><span style="color: #000000; font-weight: bold;">&lt;script</span></a> <span style="color: #000066;">type</span>=<span style="color: #ff0000;">"text/javascript"</span> <span style="color: #000066;">src</span>=<span style="color: #ff0000;">"http://github.com/AdamDotCom/project-badge/raw/master/projectBadge.js"</span><span style="color: #000000; font-weight: bold;">&gt;</span></a></span><span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/script&gt;</span></span> </div>
</li>
</ol>
</div>
</div>
</div>
<p></p>
<p><strong>2. Configure Your Accounts</strong></p>
<p>Set your project accounts (it's OK if you only use one host) then optionally set the appropriate filters - in my case <a href="http://code.google.com/u/adam.kahtava.com/">my Google Code projects</a> were prefixed with <em>adamdotcom</em> and I had duplicate projects on both GitHub and Google Code. By specifying <em>remove:adamdotcom,remove:duplicate-items</em> in my filters I filter out the duplicates and removed <em>adamdotcom</em> from the project name.</p>
<div class="igBar"><span id="ljavascript-21"><a href="#" onclick="javascript:showPlainTxt('javascript-21'); return false;">PLAIN TEXT</a></span></div>
<div class="syntax_hilite"><span class="langName">JavaScript:</span>
<div id="javascript-21">
<div class="javascript">
<ol>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">&lt;script type=<span style="color: #3366CC;">"text/javascript"</span>&gt;</div>
</li>
<li style="font-weight: bold;color:#26536A;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; projectBadge.<span style="color: #006600;">load</span><span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#123;</span> </div>
</li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; &nbsp; &nbsp; gitHub: <span style="color: #3366CC;">'AdamDotCom'</span>, </div>
</li>
<li style="font-weight: bold;color:#26536A;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; &nbsp; &nbsp; googleCode: <span style="color: #3366CC;">'adam.kahtava.com'</span></div>
</li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; &nbsp; <span style="color: #66cc66;">&#125;</span>,<span style="color: #66cc66;">&#123;</span></div>
</li>
<li style="font-weight: bold;color:#26536A;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; &nbsp; &nbsp; filters: <span style="color: #3366CC;">'remove:adamdotcom,duplicate-items,-,empty-items'</span></div>
</li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; &nbsp; <span style="color: #66cc66;">&#125;</span><span style="color: #66cc66;">&#41;</span>;</div>
</li>
<li style="font-weight: bold;color:#26536A;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">&lt;/script&gt; </div>
</li>
</ol>
</div>
</div>
</div>
<p></p>
<p><strong>3. Add The Widget Hook</strong><br />
Add an element to your site or blog with the id of <code>project-badge</code>.</p>
<div class="igBar"><span id="lhtml-22"><a href="#" onclick="javascript:showPlainTxt('html-22'); return false;">PLAIN TEXT</a></span></div>
<div class="syntax_hilite"><span class="langName">HTML:</span>
<div id="html-22">
<div class="html">
<ol>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;"><span style="color: #009900;"><a href="http://december.com/html/4/element/div.html"><span style="color: #000000; font-weight: bold;">&lt;div</span></a> <span style="color: #000066;">id</span>=<span style="color: #ff0000;">"project-badge"</span><span style="color: #000000; font-weight: bold;">&gt;</span></a></span></div>
</li>
<li style="font-weight: bold;color:#26536A;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; Loading...</div>
</li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;"><span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/div&gt;</span></span> </div>
</li>
</ol>
</div>
</div>
</div>
<p></p>
<p><strong>That's it!</strong><br />
If you have any issues, use the <a href="http://adam.kahtava.com/etcetera/open-source-project-badge/">the working example</a> as a reference, or send me a message.</p>
<div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/Adam-Kahtava/AdamDotCom?a=gfFIn0E70jM:YFjCA0pwZn8:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/Adam-Kahtava/AdamDotCom?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/Adam-Kahtava/AdamDotCom?a=gfFIn0E70jM:YFjCA0pwZn8:D7DqB2pKExk"><img src="http://feeds.feedburner.com/~ff/Adam-Kahtava/AdamDotCom?i=gfFIn0E70jM:YFjCA0pwZn8:D7DqB2pKExk" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/Adam-Kahtava/AdamDotCom?a=gfFIn0E70jM:YFjCA0pwZn8:F7zBnMyn0Lo"><img src="http://feeds.feedburner.com/~ff/Adam-Kahtava/AdamDotCom?i=gfFIn0E70jM:YFjCA0pwZn8:F7zBnMyn0Lo" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/Adam-Kahtava/AdamDotCom?a=gfFIn0E70jM:YFjCA0pwZn8:V_sGLiPBpWU"><img src="http://feeds.feedburner.com/~ff/Adam-Kahtava/AdamDotCom?i=gfFIn0E70jM:YFjCA0pwZn8:V_sGLiPBpWU" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/Adam-Kahtava/AdamDotCom?a=gfFIn0E70jM:YFjCA0pwZn8:qj6IDK7rITs"><img src="http://feeds.feedburner.com/~ff/Adam-Kahtava/AdamDotCom?d=qj6IDK7rITs" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/Adam-Kahtava/AdamDotCom/~4/gfFIn0E70jM" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://adam.kahtava.com/journal/2010/02/24/the-project-badge-show-the-world-your-github-and-google-code-projects-on-your-blog/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://adam.kahtava.com/journal/2010/02/24/the-project-badge-show-the-world-your-github-and-google-code-projects-on-your-blog/</feedburner:origLink></item>
		<item>
		<title>Introducing my Open Source Projects Service: Grab Your Project Details From GitHub or Google Code</title>
		<link>http://feedproxy.google.com/~r/Adam-Kahtava/AdamDotCom/~3/3i4hP7vIDhU/</link>
		<comments>http://adam.kahtava.com/journal/2010/02/11/introducing-my-open-source-projects-service-grab-your-project-details-from-github-or-google-code/#comments</comments>
		<pubDate>Thu, 11 Feb 2010 16:00:55 +0000</pubDate>
		<dc:creator>Adam Kahtava</dc:creator>
				<category><![CDATA[.NET]]></category>
		<category><![CDATA[ADC Services]]></category>
		<category><![CDATA[Open Source]]></category>
		<category><![CDATA[RESTful]]></category>
		<category><![CDATA[Services]]></category>
		<category><![CDATA[WCF]]></category>
		<category><![CDATA[XML]]></category>

		<guid isPermaLink="false">http://adam.kahtava.com/journal/?p=2278</guid>
		<description><![CDATA[Say hello to the newest member of my service family; the Open Source Project Service. This service lets me (and you too my friends) grab our project details from either Google Code, or GitHub. How it works If you have a project on GitHub or Google Code, you can retrieve your project details. Single project [...]]]></description>
			<content:encoded><![CDATA[<p>Say <em>hello</em> to the newest member of <a href="http://adam.kahtava.com/journal/category/open-source/adc-services/">my service family</a>; <em>the Open Source Project Service</em>. This service lets me (and you too my friends) grab our project details from either <a href="http://code.google.com/u/adam.kahtava.com/">Google Code</a>, or <a href="http://github.com/AdamDotCom">GitHub</a>.</p>
<h3>How it works</h3>
<p>If you have a project on GitHub or Google Code, you can retrieve your project details.</p>
<p>Single project host retrieval URI:</p>
<p style="padding-left: 30px;"><span style="text-decoration: underline;">http://adam.kahtava.com/services/open-source/projects/<em>{project-host}</em>.<em>{xml|json}</em>?user=<em>{username}</em></span></p>
<p>Multiple project host retrieval URI:</p>
<p style="padding-left: 30px;"><span style="text-decoration: underline;">http://adam.kahtava.com/services/open-source/projects.<em>{xml|json}</em>?project-host:username=<em>{project-host1:username1,<span style="text-decoration: underline;"><em>project-host2:username2<span style="text-decoration: underline;"><em>}</em></span></em></span></em></span></p>
<p><strong>Example</strong>, requesting projects from Google Code in XML format:</p>
<p style="padding-left: 30px;">Request: <a href="http://adam.kahtava.com/services/open-source/projects/googlecode.xml?user=adam.kahtava.com">http://adam.kahtava.com/services/open-source/projects/googlecode.xml?user=adam.kahtava.com</a></p>
<p style="padding-left: 30px;">Response:</p>
<div class="igBar"><span id="lxml-26"><a href="#" onclick="javascript:showPlainTxt('xml-26'); return false;">PLAIN TEXT</a></span></div>
<div class="syntax_hilite"><span class="langName">XML:</span>
<div id="xml-26">
<div class="xml">
<ol>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;"><span style="color: #009900;"><span style="font-weight: bold; color: black;">&lt;Projects</span> <span style="color: #000066;">xmlns</span>=<span style="color: #ff0000;">"http://adam.kahtava.com/services/open-source"</span> xmlns:<span style="color: #000066;">i</span>=<span style="color: #ff0000;">"http://www.w3.org/2001/XMLSchema-instance"</span><span style="font-weight: bold; color: black;">&gt;</span></span></div>
</li>
<li style="font-weight: bold;color:#26536A;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; <span style="color: #009900;"><span style="font-weight: bold; color: black;">&lt;Project<span style="font-weight: bold; color: black;">&gt;</span></span></span></div>
</li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; &nbsp; <span style="color: #009900;"><span style="font-weight: bold; color: black;">&lt;Description<span style="font-weight: bold; color: black;">&gt;</span></span></span>The site source in use on Adam.Kahtava.com / AdamDotCom.com (http://adam.kahtava.com/)<span style="color: #009900;"><span style="font-weight: bold; color: black;">&lt;/Description<span style="font-weight: bold; color: black;">&gt;</span></span></span></div>
</li>
<li style="font-weight: bold;color:#26536A;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; &nbsp; <span style="color: #009900;"><span style="font-weight: bold; color: black;">&lt;LastMessage<span style="font-weight: bold; color: black;">&gt;</span></span></span>More code coverage on controllers required!! :)<span style="color: #009900;"><span style="font-weight: bold; color: black;">&lt;/LastMessage<span style="font-weight: bold; color: black;">&gt;</span></span></span></div>
</li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; &nbsp; <span style="color: #009900;"><span style="font-weight: bold; color: black;">&lt;LastModified<span style="font-weight: bold; color: black;">&gt;</span></span></span>2010-02-26<span style="color: #009900;"><span style="font-weight: bold; color: black;">&lt;/LastModified<span style="font-weight: bold; color: black;">&gt;</span></span></span></div>
</li>
<li style="font-weight: bold;color:#26536A;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; &nbsp; <span style="color: #009900;"><span style="font-weight: bold; color: black;">&lt;Name<span style="font-weight: bold; color: black;">&gt;</span></span></span>website<span style="color: #009900;"><span style="font-weight: bold; color: black;">&lt;/Name<span style="font-weight: bold; color: black;">&gt;</span></span></span></div>
</li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; &nbsp; <span style="color: #009900;"><span style="font-weight: bold; color: black;">&lt;Url<span style="font-weight: bold; color: black;">&gt;</span></span></span>http://code.google.com/p/adamdotcom-website<span style="color: #009900;"><span style="font-weight: bold; color: black;">&lt;/Url<span style="font-weight: bold; color: black;">&gt;</span></span></span></div>
</li>
<li style="font-weight: bold;color:#26536A;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; <span style="color: #009900;"><span style="font-weight: bold; color: black;">&lt;/Project<span style="font-weight: bold; color: black;">&gt;</span></span></span></div>
</li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; ...</div>
</li>
<li style="font-weight: bold;color:#26536A;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;"><span style="color: #009900;"><span style="font-weight: bold; color: black;">&lt;/Projects<span style="font-weight: bold; color: black;">&gt;</span></span></span> </div>
</li>
</ol>
</div>
</div>
</div>
<p>
<strong>Example</strong>, requesting projects from GitHub in JSON format:</p>
<p style="padding-left: 30px;">Request: <a href="http://adam.kahtava.com/services/open-source/projects/github.json?user=adamdotcom">http://adam.kahtava.com/services/open-source/projects/github.json?user=adamdotcom</a></p>
<p style="padding-left: 30px;">Response:</p>
<div class="igBar"><span id="ljavascript-27"><a href="#" onclick="javascript:showPlainTxt('javascript-27'); return false;">PLAIN TEXT</a></span></div>
<div class="syntax_hilite"><span class="langName">JAVASCRIPT:</span>
<div id="javascript-27">
<div class="javascript">
<ol>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;"><span style="color: #66cc66;">&#91;</span></div>
</li>
<li style="font-weight: bold;color:#26536A;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; <span style="color: #66cc66;">&#123;</span></div>
</li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; &nbsp; <span style="color: #3366CC;">"Description"</span>:<span style="color: #3366CC;">"A collection of my etcetera, so forth, and so on. Contains a PowerShell script for Twitter, a programming exercise in Ruby, a programming exercise for Google done in JavaScript."</span>,</div>
</li>
<li style="font-weight: bold;color:#26536A;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; &nbsp; <span style="color: #3366CC;">"LastMessage"</span>:<span style="color: #3366CC;">"Bing-bing, changing filenames"</span>,</div>
</li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; &nbsp; <span style="color: #3366CC;">"LastModified"</span>:<span style="color: #3366CC;">"2009-06-08"</span>,</div>
</li>
<li style="font-weight: bold;color:#26536A;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; &nbsp; <span style="color: #3366CC;">"Name"</span>:<span style="color: #3366CC;">"scripts"</span>,</div>
</li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; &nbsp; <span style="color: #3366CC;">"Url"</span>:<span style="color: #3366CC;">"http:<span style="color: #000099; font-weight: bold;">\/</span><span style="color: #000099; font-weight: bold;">\/</span>github.com<span style="color: #000099; font-weight: bold;">\/</span>AdamDotCom<span style="color: #000099; font-weight: bold;">\/</span>scripts"</span></div>
</li>
<li style="font-weight: bold;color:#26536A;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; <span style="color: #66cc66;">&#125;</span>,</div>
</li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; ...</div>
</li>
<li style="font-weight: bold;color:#26536A;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;"><span style="color: #66cc66;">&#93;</span> </div>
</li>
</ol>
</div>
</div>
</div>
<p>
<strong>Example</strong>, requesting projects from both GitHub and Google Code in a single request in XML form:</p>
<p>Request: <a href="http://adam.kahtava.com/services/open-source/projects.xml?project-host:username=github:adamdotcom,googlecode:adam.kahtava.com">http://adam.kahtava.com/services/open-source/projects.xml?project-host:username=github:adamdotcom,googlecode:adam.kahtava.com</a></p>
<p>Response:</p>
<div class="igBar"><span id="lxml-28"><a href="#" onclick="javascript:showPlainTxt('xml-28'); return false;">PLAIN TEXT</a></span></div>
<div class="syntax_hilite"><span class="langName">XML:</span>
<div id="xml-28">
<div class="xml">
<ol>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;"><span style="color: #009900;"><span style="font-weight: bold; color: black;">&lt;Projects</span> <span style="color: #000066;">xmlns</span>=<span style="color: #ff0000;">"http://adam.kahtava.com/services/open-source"</span> xmlns:<span style="color: #000066;">i</span>=<span style="color: #ff0000;">"http://www.w3.org/2001/XMLSchema-instance"</span><span style="font-weight: bold; color: black;">&gt;</span></span></div>
</li>
<li style="font-weight: bold;color:#26536A;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; <span style="color: #009900;"><span style="font-weight: bold; color: black;">&lt;Project<span style="font-weight: bold; color: black;">&gt;</span></span></span></div>
</li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; &nbsp; <span style="color: #009900;"><span style="font-weight: bold; color: black;">&lt;Description<span style="font-weight: bold; color: black;">&gt;</span></span></span>Displays your public source code repositories from Google Code and GitHub.<span style="color: #009900;"><span style="font-weight: bold; color: black;">&lt;/Description<span style="font-weight: bold; color: black;">&gt;</span></span></span></div>
</li>
<li style="font-weight: bold;color:#26536A;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; &nbsp; <span style="color: #009900;"><span style="font-weight: bold; color: black;">&lt;LastMessage<span style="font-weight: bold; color: black;">&gt;</span></span></span>Added http://code.google.com/p/adamdotcom-services/ link<span style="color: #009900;"><span style="font-weight: bold; color: black;">&lt;/LastMessage<span style="font-weight: bold; color: black;">&gt;</span></span></span></div>
</li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; &nbsp; <span style="color: #009900;"><span style="font-weight: bold; color: black;">&lt;LastModified<span style="font-weight: bold; color: black;">&gt;</span></span></span>2010-02-23<span style="color: #009900;"><span style="font-weight: bold; color: black;">&lt;/LastModified<span style="font-weight: bold; color: black;">&gt;</span></span></span></div>
</li>
<li style="font-weight: bold;color:#26536A;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; &nbsp; <span style="color: #009900;"><span style="font-weight: bold; color: black;">&lt;Name<span style="font-weight: bold; color: black;">&gt;</span></span></span>project badge<span style="color: #009900;"><span style="font-weight: bold; color: black;">&lt;/Name<span style="font-weight: bold; color: black;">&gt;</span></span></span></div>
</li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; &nbsp; <span style="color: #009900;"><span style="font-weight: bold; color: black;">&lt;Url<span style="font-weight: bold; color: black;">&gt;</span></span></span>http://github.com/AdamDotCom/project-badge<span style="color: #009900;"><span style="font-weight: bold; color: black;">&lt;/Url<span style="font-weight: bold; color: black;">&gt;</span></span></span></div>
</li>
<li style="font-weight: bold;color:#26536A;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; <span style="color: #009900;"><span style="font-weight: bold; color: black;">&lt;/Project<span style="font-weight: bold; color: black;">&gt;</span></span></span></div>
</li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; ...</div>
</li>
<li style="font-weight: bold;color:#26536A;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; <span style="color: #009900;"><span style="font-weight: bold; color: black;">&lt;Project<span style="font-weight: bold; color: black;">&gt;</span></span></span></div>
</li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; &nbsp; <span style="color: #009900;"><span style="font-weight: bold; color: black;">&lt;Description<span style="font-weight: bold; color: black;">&gt;</span></span></span>The site source in use on Adam.Kahtava.com / AdamDotCom.com (http://adam.kahtava.com/)<span style="color: #009900;"><span style="font-weight: bold; color: black;">&lt;/Description<span style="font-weight: bold; color: black;">&gt;</span></span></span></div>
</li>
<li style="font-weight: bold;color:#26536A;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; &nbsp; <span style="color: #009900;"><span style="font-weight: bold; color: black;">&lt;LastMessage<span style="font-weight: bold; color: black;">&gt;</span></span></span>More code coverage on controllers required!! :)<span style="color: #009900;"><span style="font-weight: bold; color: black;">&lt;/LastMessage<span style="font-weight: bold; color: black;">&gt;</span></span></span></div>
</li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; &nbsp; <span style="color: #009900;"><span style="font-weight: bold; color: black;">&lt;LastModified<span style="font-weight: bold; color: black;">&gt;</span></span></span>2010-02-26<span style="color: #009900;"><span style="font-weight: bold; color: black;">&lt;/LastModified<span style="font-weight: bold; color: black;">&gt;</span></span></span></div>
</li>
<li style="font-weight: bold;color:#26536A;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; &nbsp; <span style="color: #009900;"><span style="font-weight: bold; color: black;">&lt;Name<span style="font-weight: bold; color: black;">&gt;</span></span></span>website<span style="color: #009900;"><span style="font-weight: bold; color: black;">&lt;/Name<span style="font-weight: bold; color: black;">&gt;</span></span></span></div>
</li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; &nbsp; <span style="color: #009900;"><span style="font-weight: bold; color: black;">&lt;Url<span style="font-weight: bold; color: black;">&gt;</span></span></span>http://code.google.com/p/adamdotcom-website<span style="color: #009900;"><span style="font-weight: bold; color: black;">&lt;/Url<span style="font-weight: bold; color: black;">&gt;</span></span></span></div>
</li>
<li style="font-weight: bold;color:#26536A;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; <span style="color: #009900;"><span style="font-weight: bold; color: black;">&lt;/Project<span style="font-weight: bold; color: black;">&gt;</span></span></span></div>
</li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; ...</div>
</li>
<li style="font-weight: bold;color:#26536A;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;"><span style="color: #009900;"><span style="font-weight: bold; color: black;">&lt;/Projects<span style="font-weight: bold; color: black;">&gt;</span></span></span> </div>
</li>
</ol>
</div>
</div>
</div>
<p></p>
<h3>And Now What?</h3>
<p>View my sidebar widget that uses this service to display the latest updates from my source code repositories <a href="http://adam.kahtava.com/journal/2010/02/24/the-project-badge-show-the-world-your-github-and-google-code-projects-on-your-blog/">here</a>. </p>
<p>Contribute, view, or download this openly available source code <a href="http://code.google.com/p/adamdotcom-services/source/browse/trunk#trunk/AdamDotCom.OpenSource.Service/Source/Service">here</a>.</p>
<div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/Adam-Kahtava/AdamDotCom?a=3i4hP7vIDhU:TmRkCzItDAM:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/Adam-Kahtava/AdamDotCom?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/Adam-Kahtava/AdamDotCom?a=3i4hP7vIDhU:TmRkCzItDAM:D7DqB2pKExk"><img src="http://feeds.feedburner.com/~ff/Adam-Kahtava/AdamDotCom?i=3i4hP7vIDhU:TmRkCzItDAM:D7DqB2pKExk" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/Adam-Kahtava/AdamDotCom?a=3i4hP7vIDhU:TmRkCzItDAM:F7zBnMyn0Lo"><img src="http://feeds.feedburner.com/~ff/Adam-Kahtava/AdamDotCom?i=3i4hP7vIDhU:TmRkCzItDAM:F7zBnMyn0Lo" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/Adam-Kahtava/AdamDotCom?a=3i4hP7vIDhU:TmRkCzItDAM:V_sGLiPBpWU"><img src="http://feeds.feedburner.com/~ff/Adam-Kahtava/AdamDotCom?i=3i4hP7vIDhU:TmRkCzItDAM:V_sGLiPBpWU" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/Adam-Kahtava/AdamDotCom?a=3i4hP7vIDhU:TmRkCzItDAM:qj6IDK7rITs"><img src="http://feeds.feedburner.com/~ff/Adam-Kahtava/AdamDotCom?d=qj6IDK7rITs" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/Adam-Kahtava/AdamDotCom/~4/3i4hP7vIDhU" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://adam.kahtava.com/journal/2010/02/11/introducing-my-open-source-projects-service-grab-your-project-details-from-github-or-google-code/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://adam.kahtava.com/journal/2010/02/11/introducing-my-open-source-projects-service-grab-your-project-details-from-github-or-google-code/</feedburner:origLink></item>
		<item>
		<title>Tired of Strong Opinions Weakly Held</title>
		<link>http://feedproxy.google.com/~r/Adam-Kahtava/AdamDotCom/~3/wt0RmXXWXz4/</link>
		<comments>http://adam.kahtava.com/journal/2010/02/09/tired-of-strong-opinions-weakly-held/#comments</comments>
		<pubDate>Tue, 09 Feb 2010 16:00:24 +0000</pubDate>
		<dc:creator>Adam Kahtava</dc:creator>
				<category><![CDATA[Musings]]></category>

		<guid isPermaLink="false">http://adam.kahtava.com/journal/?p=2267</guid>
		<description><![CDATA[Strong opinions weakly held is a common conversational / debating approach within IT. Basically you defend your opinion until someone disproves it, at which time you adopt the more correct opinion. This approach works well in IT where allotted time for debates are limited and the cumulative knowledge of the team outweighs the individual. This approach [...]]]></description>
			<content:encoded><![CDATA[<p><em><a href="http://bobsutton.typepad.com/my_weblog/2006/07/strong_opinions.html">Strong opinions weakly held</a></em> is a common conversational / debating approach within IT. Basically you defend your opinion until someone disproves it, at which time you adopt the more correct opinion. This approach works well in IT where allotted time for debates are limited and the cumulative knowledge of the team outweighs the individual. This approach doesn't work as well in the real world. Using this technique with unsuspecting civilians (especially new acquaintances) can results in the victim thinking you're a) high strung, b) psychotic, c) egotistical, d) possibly a jerk. Actually, this approach can get tiresome in the IT realm too.</p>
<div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/Adam-Kahtava/AdamDotCom?a=wt0RmXXWXz4:r7nlETqKJ_g:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/Adam-Kahtava/AdamDotCom?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/Adam-Kahtava/AdamDotCom?a=wt0RmXXWXz4:r7nlETqKJ_g:D7DqB2pKExk"><img src="http://feeds.feedburner.com/~ff/Adam-Kahtava/AdamDotCom?i=wt0RmXXWXz4:r7nlETqKJ_g:D7DqB2pKExk" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/Adam-Kahtava/AdamDotCom?a=wt0RmXXWXz4:r7nlETqKJ_g:F7zBnMyn0Lo"><img src="http://feeds.feedburner.com/~ff/Adam-Kahtava/AdamDotCom?i=wt0RmXXWXz4:r7nlETqKJ_g:F7zBnMyn0Lo" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/Adam-Kahtava/AdamDotCom?a=wt0RmXXWXz4:r7nlETqKJ_g:V_sGLiPBpWU"><img src="http://feeds.feedburner.com/~ff/Adam-Kahtava/AdamDotCom?i=wt0RmXXWXz4:r7nlETqKJ_g:V_sGLiPBpWU" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/Adam-Kahtava/AdamDotCom?a=wt0RmXXWXz4:r7nlETqKJ_g:qj6IDK7rITs"><img src="http://feeds.feedburner.com/~ff/Adam-Kahtava/AdamDotCom?d=qj6IDK7rITs" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/Adam-Kahtava/AdamDotCom/~4/wt0RmXXWXz4" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://adam.kahtava.com/journal/2010/02/09/tired-of-strong-opinions-weakly-held/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		<feedburner:origLink>http://adam.kahtava.com/journal/2010/02/09/tired-of-strong-opinions-weakly-held/</feedburner:origLink></item>
		<item>
		<title>Preaching to the Choir</title>
		<link>http://feedproxy.google.com/~r/Adam-Kahtava/AdamDotCom/~3/Q0uZX6UMyPM/</link>
		<comments>http://adam.kahtava.com/journal/2010/02/01/preaching-to-the-choir/#comments</comments>
		<pubDate>Mon, 01 Feb 2010 16:00:08 +0000</pubDate>
		<dc:creator>Adam Kahtava</dc:creator>
				<category><![CDATA[Musings]]></category>

		<guid isPermaLink="false">http://adam.kahtava.com/journal/?p=2261</guid>
		<description><![CDATA[I go for a walk every day (yeah-yeah, I'll be a mall walker one day). My route takes me by a series of automated parking payment machines - the ones where you punch in your license plate along with a parking quadrant. Surprisingly enough, these machines provide endless comedic relief as people talk, grumble, and curse these [...]]]></description>
			<content:encoded><![CDATA[<p>I go for a walk every day (yeah-yeah, I'll be a mall walker one day). My route takes me by a series of automated parking payment machines - the ones where you punch in your license plate along with a parking quadrant. Surprisingly enough, these machines provide endless comedic relief as people talk, grumble, and curse these inanimate objects - some people go as far as to physically assault them, jam their keys in them, give 'em a good kick. It's funny to watch a level headed business man break his cool as he uses a car key to fish around in the coin slot while cursing. My favorite responses are the talkers; grumbling about the price of parking or technology in general. I'm sure they know the machine can't hear them, but yet they give that box of wires a piece of their mind.</p>
<p>If these talkers and grumblers were on the internet they'd most certainly be on Twitter or have a blog.</p>
<div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/Adam-Kahtava/AdamDotCom?a=Q0uZX6UMyPM:hwn8_1V6b4Q:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/Adam-Kahtava/AdamDotCom?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/Adam-Kahtava/AdamDotCom?a=Q0uZX6UMyPM:hwn8_1V6b4Q:D7DqB2pKExk"><img src="http://feeds.feedburner.com/~ff/Adam-Kahtava/AdamDotCom?i=Q0uZX6UMyPM:hwn8_1V6b4Q:D7DqB2pKExk" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/Adam-Kahtava/AdamDotCom?a=Q0uZX6UMyPM:hwn8_1V6b4Q:F7zBnMyn0Lo"><img src="http://feeds.feedburner.com/~ff/Adam-Kahtava/AdamDotCom?i=Q0uZX6UMyPM:hwn8_1V6b4Q:F7zBnMyn0Lo" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/Adam-Kahtava/AdamDotCom?a=Q0uZX6UMyPM:hwn8_1V6b4Q:V_sGLiPBpWU"><img src="http://feeds.feedburner.com/~ff/Adam-Kahtava/AdamDotCom?i=Q0uZX6UMyPM:hwn8_1V6b4Q:V_sGLiPBpWU" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/Adam-Kahtava/AdamDotCom?a=Q0uZX6UMyPM:hwn8_1V6b4Q:qj6IDK7rITs"><img src="http://feeds.feedburner.com/~ff/Adam-Kahtava/AdamDotCom?d=qj6IDK7rITs" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/Adam-Kahtava/AdamDotCom/~4/Q0uZX6UMyPM" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://adam.kahtava.com/journal/2010/02/01/preaching-to-the-choir/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://adam.kahtava.com/journal/2010/02/01/preaching-to-the-choir/</feedburner:origLink></item>
		<item>
		<title>Algorithm Analysis and Asymptotic Complexity / Big O Notation Is Important</title>
		<link>http://feedproxy.google.com/~r/Adam-Kahtava/AdamDotCom/~3/j_a0aAMTXU8/</link>
		<comments>http://adam.kahtava.com/journal/2010/01/21/algorithm-analysis-and-asymptotic-complexity-big-o-notation-is-important/#comments</comments>
		<pubDate>Thu, 21 Jan 2010 16:00:36 +0000</pubDate>
		<dc:creator>Adam Kahtava</dc:creator>
				<category><![CDATA[Musings]]></category>

		<guid isPermaLink="false">http://adam.kahtava.com/journal/?p=2184</guid>
		<description><![CDATA[Algorithm Analysis (Asymptotic Complexity / Big O Notation) courses are the bane of computer science students everywhere. These courses were mandatory, dry, and lacked real world pragmatism for students who just wanted to get stuff done. Well, that's what we told ourselves; that's the theory we presented to our friends - we were convinced that framework [...]]]></description>
			<content:encoded><![CDATA[<div style="padding: 0px 0px 10px 5px; float: right;"><a href="http://www.flickr.com/photos/larskflem/314387345/"><img src="http://farm1.static.flickr.com/121/314387345_6b48d92d91_m.jpg" alt="" /></a></div>
<p>Algorithm Analysis (Asymptotic Complexity / <a href="http://en.wikipedia.org/wiki/Big_O_notation">Big O Notation</a>) courses are the bane of computer science students everywhere. These courses were mandatory, dry, and lacked real world pragmatism for students who just wanted to<em> get stuff done</em>. Well, that's what we told ourselves; that's the theory we presented to our friends - we were convinced that framework vendors or the hoogie-boogie man would figure out the most efficient way to performance tune / compile our code. We looked to Sun, Microsoft, or IBM to figure out the details. In truth we were lazy-naive students and Algorithm Analysis was tougher than we'd like to admit - much harder than programming in 4th generation programming languages, more difficult than computer theory, or operating system theory.</p>
<p>As I brush up Algorithm Analysis I found these perspectives interesting:</p>
<blockquote><p>to be a good programmer, you just program ever day for two years ... to be a world-class programmer, you can program every day for ten years, or you can program every day for two years and take an algorithms class - <a href="http://ocw.mit.edu/OcwWeb/Electrical-Engineering-and-Computer-Science/6-046JFall-2005/VideoLectures/detail/embed01.htm">Introduction - Analysis of Algorithms, Insertion Sort, Mergesort</a></p></blockquote>
<blockquote><p>Having a solid base of algorithmic knowledge and technique is one characteristic that separates the truly skilled programmers from the novices. With modern computing technology, you can accomplish some tasks without knowing much about algorithms, but with a good background in algorithms, you can do much, much more - <a href="http://www.amazon.com/Introduction-Algorithms-Second-Thomas-Cormen/dp/0262032937">Introduction to Algorithms, Second Edition</a></p></blockquote>
<p>It's unfortunate that our professors never mentioned that Algorithm Analysis would be an integral part of academic type interviews and a prerequisite for getting a job at Google, but then again who would have listened?</p>
<div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/Adam-Kahtava/AdamDotCom?a=j_a0aAMTXU8:dUnhxeEmZBM:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/Adam-Kahtava/AdamDotCom?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/Adam-Kahtava/AdamDotCom?a=j_a0aAMTXU8:dUnhxeEmZBM:D7DqB2pKExk"><img src="http://feeds.feedburner.com/~ff/Adam-Kahtava/AdamDotCom?i=j_a0aAMTXU8:dUnhxeEmZBM:D7DqB2pKExk" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/Adam-Kahtava/AdamDotCom?a=j_a0aAMTXU8:dUnhxeEmZBM:F7zBnMyn0Lo"><img src="http://feeds.feedburner.com/~ff/Adam-Kahtava/AdamDotCom?i=j_a0aAMTXU8:dUnhxeEmZBM:F7zBnMyn0Lo" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/Adam-Kahtava/AdamDotCom?a=j_a0aAMTXU8:dUnhxeEmZBM:V_sGLiPBpWU"><img src="http://feeds.feedburner.com/~ff/Adam-Kahtava/AdamDotCom?i=j_a0aAMTXU8:dUnhxeEmZBM:V_sGLiPBpWU" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/Adam-Kahtava/AdamDotCom?a=j_a0aAMTXU8:dUnhxeEmZBM:qj6IDK7rITs"><img src="http://feeds.feedburner.com/~ff/Adam-Kahtava/AdamDotCom?d=qj6IDK7rITs" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/Adam-Kahtava/AdamDotCom/~4/j_a0aAMTXU8" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://adam.kahtava.com/journal/2010/01/21/algorithm-analysis-and-asymptotic-complexity-big-o-notation-is-important/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		<feedburner:origLink>http://adam.kahtava.com/journal/2010/01/21/algorithm-analysis-and-asymptotic-complexity-big-o-notation-is-important/</feedburner:origLink></item>
		<item>
		<title>Sending Email With Attachments In PowerShell</title>
		<link>http://feedproxy.google.com/~r/Adam-Kahtava/AdamDotCom/~3/X5vjIAPYWrc/</link>
		<comments>http://adam.kahtava.com/journal/2010/01/19/sending-email-with-attachments-in-powershell/#comments</comments>
		<pubDate>Tue, 19 Jan 2010 16:00:22 +0000</pubDate>
		<dc:creator>Adam Kahtava</dc:creator>
				<category><![CDATA[.NET]]></category>
		<category><![CDATA[PowerShell]]></category>

		<guid isPermaLink="false">http://adam.kahtava.com/journal/?p=2225</guid>
		<description><![CDATA[Here's an example on how to send email with attachments via PowerShell: PLAIN TEXT POWERSHELL: # A Mailer script that makes use of System.Net to send email with attachments # # Sample usage: #&#160; PS C:\&#62; Send-Mail-With-Attachment 'email@domain.com' 'Hello world!' 'Filename.txt' &#160; function global:Send-Mail-With-Attachment&#40;$to, $subject, $file&#41;&#123; &#160; &#160; $filenameAndPath = &#40;Resolve-Path .\$file&#41;.ToString&#40;&#41; &#160; $from = [...]]]></description>
			<content:encoded><![CDATA[<p>Here's an example on how to send email with attachments via PowerShell:</p>
<div class="igBar"><span id="lpowershell-30"><a href="#" onclick="javascript:showPlainTxt('powershell-30'); return false;">PLAIN TEXT</a></span></div>
<div class="syntax_hilite"><span class="langName">POWERSHELL:</span>
<div id="powershell-30">
<div class="powershell">
<ol>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;"><span style="color: #004400; font-style: italic;"># A Mailer script that makes use of System.Net to send email with attachments</span></div>
</li>
<li style="font-weight: bold;color:#26536A;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;"><span style="color: #004400; font-style: italic;">#</span></div>
</li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;"><span style="color: #004400; font-style: italic;"># Sample usage:</span></div>
</li>
<li style="font-weight: bold;color:#26536A;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;"><span style="color: #004400; font-style: italic;">#&nbsp; PS C:\&gt; Send-Mail-With-Attachment 'email@domain.com' 'Hello world!' 'Filename.txt'</span></div>
</li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp;</div>
</li>
<li style="font-weight: bold;color:#26536A;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;"><span style="color: #003366; font-weight: bold;">function</span> global:Send-Mail-With-Attachment<span style="color: #66cc66;">&#40;</span>$to, $subject, $file<span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">&#123;</span></div>
</li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp;</div>
</li>
<li style="font-weight: bold;color:#26536A;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; $filenameAndPath = <span style="color: #66cc66;">&#40;</span><span style="color: #000066;">Resolve-Path</span> .\$file<span style="color: #66cc66;">&#41;</span>.<span style="color: #006600;">ToString</span><span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span></div>
</li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; $from = <span style="color: #3366CC;">'Automated Powershell Mailer'</span></div>
</li>
<li style="font-weight: bold;color:#26536A;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp;</div>
</li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; <span style="color: #66cc66;">&#91;</span>void<span style="color: #66cc66;">&#93;</span><span style="color: #66cc66;">&#91;</span>Reflection.<span style="color: #006600;">Assembly</span><span style="color: #66cc66;">&#93;</span>::LoadWithPartialName<span style="color: #66cc66;">&#40;</span><span style="color: #3366CC;">'System.Net'</span><span style="color: #66cc66;">&#41;</span> | out-null</div>
</li>
<li style="font-weight: bold;color:#26536A;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp;</div>
</li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; $message = <span style="color: #000066;">New-Object</span> System.<span style="color: #006600;">Net</span>.<span style="color: #006600;">Mail</span>.<span style="color: #006600;">MailMessage</span><span style="color: #66cc66;">&#40;</span>$from, $to, $subject, $subject<span style="color: #66cc66;">&#41;</span></div>
</li>
<li style="font-weight: bold;color:#26536A;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; $attachment = <span style="color: #000066;">New-Object</span> System.<span style="color: #006600;">Net</span>.<span style="color: #006600;">Mail</span>.<span style="color: #006600;">Attachment</span><span style="color: #66cc66;">&#40;</span>$filenameAndPath, <span style="color: #3366CC;">'text/plain'</span><span style="color: #66cc66;">&#41;</span></div>
</li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; $message.<span style="color: #006600;">Attachments</span>.<span style="color: #006600;">Add</span><span style="color: #66cc66;">&#40;</span>$attachment<span style="color: #66cc66;">&#41;</span></div>
</li>
<li style="font-weight: bold;color:#26536A;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp;</div>
</li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; $smtpClient = <span style="color: #000066;">New-Object</span> System.<span style="color: #006600;">Net</span>.<span style="color: #006600;">Mail</span>.<span style="color: #006600;">SmtpClient</span></div>
</li>
<li style="font-weight: bold;color:#26536A;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; $smtpClient.<span style="color: #006600;">host</span> = <span style="color: #3366CC;">'mail.domain.com'</span></div>
</li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; $smtpClient.<span style="color: #006600;">Send</span><span style="color: #66cc66;">&#40;</span>$message<span style="color: #66cc66;">&#41;</span></div>
</li>
<li style="font-weight: bold;color:#26536A;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;"><span style="color: #66cc66;">&#125;</span> </div>
</li>
</ol>
</div>
</div>
</div>
<p></p>
<p>Contribute, view, or download the script here: <a href="http://code.google.com/p/adamdotcom-script/source/browse/trunk/Scripts/PowerShell/Mailer.ps1">Mailer.ps1</a></p>
<div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/Adam-Kahtava/AdamDotCom?a=X5vjIAPYWrc:y1wV9NUgwlc:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/Adam-Kahtava/AdamDotCom?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/Adam-Kahtava/AdamDotCom?a=X5vjIAPYWrc:y1wV9NUgwlc:D7DqB2pKExk"><img src="http://feeds.feedburner.com/~ff/Adam-Kahtava/AdamDotCom?i=X5vjIAPYWrc:y1wV9NUgwlc:D7DqB2pKExk" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/Adam-Kahtava/AdamDotCom?a=X5vjIAPYWrc:y1wV9NUgwlc:F7zBnMyn0Lo"><img src="http://feeds.feedburner.com/~ff/Adam-Kahtava/AdamDotCom?i=X5vjIAPYWrc:y1wV9NUgwlc:F7zBnMyn0Lo" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/Adam-Kahtava/AdamDotCom?a=X5vjIAPYWrc:y1wV9NUgwlc:V_sGLiPBpWU"><img src="http://feeds.feedburner.com/~ff/Adam-Kahtava/AdamDotCom?i=X5vjIAPYWrc:y1wV9NUgwlc:V_sGLiPBpWU" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/Adam-Kahtava/AdamDotCom?a=X5vjIAPYWrc:y1wV9NUgwlc:qj6IDK7rITs"><img src="http://feeds.feedburner.com/~ff/Adam-Kahtava/AdamDotCom?d=qj6IDK7rITs" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/Adam-Kahtava/AdamDotCom/~4/X5vjIAPYWrc" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://adam.kahtava.com/journal/2010/01/19/sending-email-with-attachments-in-powershell/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://adam.kahtava.com/journal/2010/01/19/sending-email-with-attachments-in-powershell/</feedburner:origLink></item>
		<item>
		<title>Life’s Creative Circle: Creativity Isn’t About Art or Design</title>
		<link>http://feedproxy.google.com/~r/Adam-Kahtava/AdamDotCom/~3/P4uaRrHRn_o/</link>
		<comments>http://adam.kahtava.com/journal/2010/01/14/lifes-creative-circle-creativity-isnt-about-arts/#comments</comments>
		<pubDate>Thu, 14 Jan 2010 16:00:56 +0000</pubDate>
		<dc:creator>Adam Kahtava</dc:creator>
				<category><![CDATA[Creativity]]></category>
		<category><![CDATA[Musings]]></category>
		<category><![CDATA[Personal]]></category>

		<guid isPermaLink="false">http://adam.kahtava.com/journal/?p=2186</guid>
		<description><![CDATA[The most popular conception of creativity is that it's something to do with the arts. Nonsense. - Paul Arden, It's Not How Good You Are, It's How Good You Wan't To Be. This year marks a new decade for me (I'm saying goodbye to the late 20's). According to Arden's Creative Circle this blog was written during [...]]]></description>
			<content:encoded><![CDATA[<blockquote><p><strong>The most popular conception of creativity is that it's something to do with the arts.</strong></p>
<p><strong>Nonsense. <span style="font-weight: normal;">- Paul Arden, <a href="http://www.amazon.com/Its-Not-How-Good-Want/dp/0714843377/">It's Not How Good You Are, It's How Good You Wan't To Be</a>.</span></strong></p></blockquote>
<p style="text-align: center;"><a href="http://www.flickr.com/photos/kahtava/4263213876/sizes/l/"><img class="aligncenter" src="http://farm5.static.flickr.com/4006/4263213876_0230df515b.jpg" alt="" /></a></p>
<p>This year marks a new decade for me (I'm saying goodbye to the late 20's). According to Arden's Creative Circle this blog was written during my era of Maturity and for the next 10 years I'll be Hell Bent On Success. Thanks for putting up with my growing pains and griping.</p>
<div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/Adam-Kahtava/AdamDotCom?a=P4uaRrHRn_o:qJhm7oI3J8k:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/Adam-Kahtava/AdamDotCom?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/Adam-Kahtava/AdamDotCom?a=P4uaRrHRn_o:qJhm7oI3J8k:D7DqB2pKExk"><img src="http://feeds.feedburner.com/~ff/Adam-Kahtava/AdamDotCom?i=P4uaRrHRn_o:qJhm7oI3J8k:D7DqB2pKExk" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/Adam-Kahtava/AdamDotCom?a=P4uaRrHRn_o:qJhm7oI3J8k:F7zBnMyn0Lo"><img src="http://feeds.feedburner.com/~ff/Adam-Kahtava/AdamDotCom?i=P4uaRrHRn_o:qJhm7oI3J8k:F7zBnMyn0Lo" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/Adam-Kahtava/AdamDotCom?a=P4uaRrHRn_o:qJhm7oI3J8k:V_sGLiPBpWU"><img src="http://feeds.feedburner.com/~ff/Adam-Kahtava/AdamDotCom?i=P4uaRrHRn_o:qJhm7oI3J8k:V_sGLiPBpWU" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/Adam-Kahtava/AdamDotCom?a=P4uaRrHRn_o:qJhm7oI3J8k:qj6IDK7rITs"><img src="http://feeds.feedburner.com/~ff/Adam-Kahtava/AdamDotCom?d=qj6IDK7rITs" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/Adam-Kahtava/AdamDotCom/~4/P4uaRrHRn_o" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://adam.kahtava.com/journal/2010/01/14/lifes-creative-circle-creativity-isnt-about-arts/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://adam.kahtava.com/journal/2010/01/14/lifes-creative-circle-creativity-isnt-about-arts/</feedburner:origLink></item>
		<item>
		<title>Finding Work That You Love</title>
		<link>http://feedproxy.google.com/~r/Adam-Kahtava/AdamDotCom/~3/kN_4j8owLLE/</link>
		<comments>http://adam.kahtava.com/journal/2009/12/31/finding-work-that-you-love/#comments</comments>
		<pubDate>Thu, 31 Dec 2009 16:30:26 +0000</pubDate>
		<dc:creator>Adam Kahtava</dc:creator>
				<category><![CDATA[Musings]]></category>
		<category><![CDATA[Personal]]></category>

		<guid isPermaLink="false">http://adam.kahtava.com/journal/?p=2169</guid>
		<description><![CDATA[As a youngster I was encouraged to: “Find work that you love and do what makes you happy." Ironically, this sage advice was usually delivered by the unhappy, unemployed, or paranoid (paranoid that the government was stealing their money, unhappy with the uncertainty of not working, or unemployed because keeping work in small remote economies [...]]]></description>
			<content:encoded><![CDATA[<p>As a youngster I was encouraged to: <em>“Find work that you love and do what makes you happy."</em> Ironically, this sage advice was usually delivered by the unhappy, unemployed, or paranoid (paranoid that the government was stealing their money, unhappy with the uncertainty of not working, or unemployed because keeping work in small remote economies is tough). It's also fair to mention that this piece of advice was usually followed by: <em>"Get a trade. You need a trade!”</em> This was probably great advice a couple decades ago, or if you're working in remote communities, but less relevant in today's world. I loosely followed this advice through my younger years and I remember constantly being frustrated when work inevitably lost its fun. Thankfully, I eventually realized that <em>work</em> is <em>work</em> (if <em>work</em> was <em>fun</em> we’d just call it <em>fun</em>, then we'd be preoccupied with <em>having work</em>, not <em>fun</em>). Anyhow, I sympathize with today's youngsters who are wrestling with this same conundrum - being told one thing, but experiencing a different reality in the real world. My words of advice today would be to: <em>“get experience, work, do whatever you can, build a resume, go to school, and you’ll eventually find work that you love. Oh, and don’t look solely to work for happiness.”</em></p>
<p>Today I do find my work fun, but I couldn't have got here without the experience I gained while plowing through boring jobs (like working the assembly line, tree planting, or digging outhouse pits). In order to find the job you love you need to start gaining experience now.</p>
<div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/Adam-Kahtava/AdamDotCom?a=kN_4j8owLLE:1jxEj_7i7e8:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/Adam-Kahtava/AdamDotCom?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/Adam-Kahtava/AdamDotCom?a=kN_4j8owLLE:1jxEj_7i7e8:D7DqB2pKExk"><img src="http://feeds.feedburner.com/~ff/Adam-Kahtava/AdamDotCom?i=kN_4j8owLLE:1jxEj_7i7e8:D7DqB2pKExk" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/Adam-Kahtava/AdamDotCom?a=kN_4j8owLLE:1jxEj_7i7e8:F7zBnMyn0Lo"><img src="http://feeds.feedburner.com/~ff/Adam-Kahtava/AdamDotCom?i=kN_4j8owLLE:1jxEj_7i7e8:F7zBnMyn0Lo" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/Adam-Kahtava/AdamDotCom?a=kN_4j8owLLE:1jxEj_7i7e8:V_sGLiPBpWU"><img src="http://feeds.feedburner.com/~ff/Adam-Kahtava/AdamDotCom?i=kN_4j8owLLE:1jxEj_7i7e8:V_sGLiPBpWU" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/Adam-Kahtava/AdamDotCom?a=kN_4j8owLLE:1jxEj_7i7e8:qj6IDK7rITs"><img src="http://feeds.feedburner.com/~ff/Adam-Kahtava/AdamDotCom?d=qj6IDK7rITs" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/Adam-Kahtava/AdamDotCom/~4/kN_4j8owLLE" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://adam.kahtava.com/journal/2009/12/31/finding-work-that-you-love/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://adam.kahtava.com/journal/2009/12/31/finding-work-that-you-love/</feedburner:origLink></item>
		<item>
		<title>Hacking Anti Cross-site Request Forgery Tokens (CSRF) With Powershell</title>
		<link>http://feedproxy.google.com/~r/Adam-Kahtava/AdamDotCom/~3/ulrRlMAOjt4/</link>
		<comments>http://adam.kahtava.com/journal/2009/12/16/hacking-an-anti-cross-site-request-forgery-tokens-csrf-with-powershell/#comments</comments>
		<pubDate>Wed, 16 Dec 2009 16:00:25 +0000</pubDate>
		<dc:creator>Adam Kahtava</dc:creator>
				<category><![CDATA[.NET]]></category>
		<category><![CDATA[ASP.NET MVC]]></category>
		<category><![CDATA[PowerShell]]></category>

		<guid isPermaLink="false">http://adam.kahtava.com/journal/?p=2149</guid>
		<description><![CDATA[I ported the example of how to hack an Anti CRSF Token protected form - previously shown in my post What Are Anti Cross-site Request Forgery Tokens And What Are They Good For? - to PowerShell. How to hack an Anti CRSF Token from PowerShell PLAIN TEXT POWERSHELL: function global:spam-adamdotcom&#40;&#41;&#123; &#160; &#160; # Load the assembly [...]]]></description>
			<content:encoded><![CDATA[<p>I ported the example of how to hack an Anti CRSF Token protected form - previously shown in my post <a href="http://adam.kahtava.com/journal/2009/11/25/what-are-anti-cross-site-request-forgery-tokens-and-what-are-they-good-for/">What Are Anti Cross-site Request Forgery Tokens And What Are They Good For?</a> - to PowerShell.</p>
<p><strong>How to hack an Anti CRSF Token from PowerShell</strong></p>
<div class="igBar"><span id="lpowershell-33"><a href="#" onclick="javascript:showPlainTxt('powershell-33'); return false;">PLAIN TEXT</a></span></div>
<div class="syntax_hilite"><span class="langName">POWERSHELL:</span>
<div id="powershell-33">
<div class="powershell">
<ol>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;"><span style="color: #003366; font-weight: bold;">function</span> global:spam-adamdotcom<span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">&#123;</span></div>
</li>
<li style="font-weight: bold;color:#26536A;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp;</div>
</li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; <span style="color: #004400; font-style: italic;"># Load the assembly containing WebClientWithCookies and RegexUtilities</span></div>
</li>
<li style="font-weight: bold;color:#26536A;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; <span style="color: #66cc66;">&#91;</span>Reflection.<span style="color: #006600;">Assembly</span><span style="color: #66cc66;">&#93;</span>::LoadFile<span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#40;</span><span style="color: #000066;">Resolve-Path</span> <span style="color: #3366CC;">"AdamDotCom.WebClientWithCookies.dll"</span><span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">&#41;</span> | out-null</div>
</li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; </div>
</li>
<li style="font-weight: bold;color:#26536A;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; <span style="color: #004400; font-style: italic;"># Load the assembly containing System.Web.HttpUtilitiy</span></div>
</li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; <span style="color: #66cc66;">&#91;</span>void<span style="color: #66cc66;">&#93;</span><span style="color: #66cc66;">&#91;</span>Reflection.<span style="color: #006600;">Assembly</span><span style="color: #66cc66;">&#93;</span>::LoadWithPartialName<span style="color: #66cc66;">&#40;</span><span style="color: #3366CC;">"System.Web"</span><span style="color: #66cc66;">&#41;</span> | out-null&nbsp; </div>
</li>
<li style="font-weight: bold;color:#26536A;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp;</div>
</li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; <span style="color: #004400; font-style: italic;"># create a new instance of the HTTP Web Client that supports cookies</span></div>
</li>
<li style="font-weight: bold;color:#26536A;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; $webClient = <span style="color: #000066;">New-Object</span> AdamDotCom.<span style="color: #006600;">Common</span>.<span style="color: #006600;">Service</span>.<span style="color: #006600;">Utilities</span>.<span style="color: #006600;">WebClientWithCookies</span></div>
</li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp;</div>
</li>
<li style="font-weight: bold;color:#26536A;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; <span style="color: #004400; font-style: italic;"># download the page that contains the Anti CRSF Token</span></div>
</li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; <span style="color: #66cc66;">&#91;</span>void<span style="color: #66cc66;">&#93;</span> $webClient.<span style="color: #006600;">DownloadData</span><span style="color: #66cc66;">&#40;</span><span style="color: #3366CC;">"http://adam.kahtava.com/contact"</span><span style="color: #66cc66;">&#41;</span>;</div>
</li>
<li style="font-weight: bold;color:#26536A;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp;</div>
</li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; <span style="color: #004400; font-style: italic;"># use a regular expression to grab the Anti CRSF Token</span></div>
</li>
<li style="font-weight: bold;color:#26536A;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; <span style="color: #004400; font-style: italic;">#&nbsp; - this is an MVC site so we're looking for a token named &quot;__RequestVerificationToken_Lw__&quot;</span></div>
</li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; $regex = <span style="color: #3366CC;">"__RequestVerificationToken_Lw__=(?&lt;CRSF_Token&gt;[^;]+)"</span></div>
</li>
<li style="font-weight: bold;color:#26536A;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; $match = <span style="color: #66cc66;">&#91;</span>regex<span style="color: #66cc66;">&#93;</span>::matches<span style="color: #66cc66;">&#40;</span>$webClient.<span style="color: #006600;">ResponseHeaders</span><span style="color: #66cc66;">&#91;</span><span style="color: #3366CC;">"Set-Cookie"</span><span style="color: #66cc66;">&#93;</span>, $regex<span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">&#91;</span><span style="color: #CC0000;color:#800000;">0</span><span style="color: #66cc66;">&#93;</span></div>
</li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; $antiCrsfToken = $match.<span style="color: #006600;">Groups</span><span style="color: #66cc66;">&#91;</span><span style="color: #3366CC;">"CRSF_Token"</span><span style="color: #66cc66;">&#93;</span>.<span style="color: #006600;">Captures</span><span style="color: #66cc66;">&#91;</span><span style="color: #CC0000;color:#800000;">0</span><span style="color: #66cc66;">&#93;</span>.<span style="color: #006600;">Value</span></div>
</li>
<li style="font-weight: bold;color:#26536A;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp;</div>
</li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; <span style="color: #000066;">write-host</span> <span style="color: #3366CC;">"<span style="color: #000099; font-weight: bold;">`n</span>Your Anti CRSF Token is: "</span> $antiCrsfToken</div>
</li>
<li style="font-weight: bold;color:#26536A;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp;</div>
</li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; <span style="color: #004400; font-style: italic;"># construct the message including the Anti CSRF Token</span></div>
</li>
<li style="font-weight: bold;color:#26536A;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; $message = <span style="color: #3366CC;">"__RequestVerificationToken="</span> + <span style="color: #66cc66;">&#91;</span>System.<span style="color: #006600;">Web</span>.<span style="color: #006600;">HttpUtility</span><span style="color: #66cc66;">&#93;</span>::UrlEncode<span style="color: #66cc66;">&#40;</span>$antiCrsfToken<span style="color: #66cc66;">&#41;</span> +</div>
</li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;<span style="color: #3366CC;">"&amp;amp;fromName=Johnathon Fink"</span> +</div>
</li>
<li style="font-weight: bold;color:#26536A;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;<span style="color: #3366CC;">"&amp;amp;fromAddress=prancesw@rmcres.com"</span> +</div>
</li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;<span style="color: #3366CC;">"&amp;amp;subject=Call for your diploma now"</span> +</div>
</li>
<li style="font-weight: bold;color:#26536A;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;<span style="color: #3366CC;">"&amp;amp;body=Is your lack of a degree..."</span></div>
</li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp;</div>
</li>
<li style="font-weight: bold;color:#26536A;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; <span style="color: #004400; font-style: italic;"># send spam-spam-spam</span></div>
</li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; $webClient.<span style="color: #006600;">Headers</span>.<span style="color: #006600;">Add</span><span style="color: #66cc66;">&#40;</span><span style="color: #3366CC;">"Content-Type"</span>, <span style="color: #3366CC;">"application/x-www-form-urlencoded"</span><span style="color: #66cc66;">&#41;</span>;</div>
</li>
<li style="font-weight: bold;color:#26536A;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; <span style="color: #66cc66;">&#91;</span>void<span style="color: #66cc66;">&#93;</span> $webClient.<span style="color: #006600;">UploadData</span><span style="color: #66cc66;">&#40;</span><span style="color: #3366CC;">"http://adam.kahtava.com/contact/send"</span>, <span style="color: #3366CC;">"POST"</span>,</div>
</li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#91;</span>System.<span style="color: #006600;">Text</span>.<span style="color: #006600;">Encoding</span><span style="color: #66cc66;">&#93;</span>::UTF8.<span style="color: #006600;">GetBytes</span><span style="color: #66cc66;">&#40;</span>$message<span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">&#41;</span>;</div>
</li>
<li style="font-weight: bold;color:#26536A;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp;</div>
</li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; <span style="color: #000066;">write-host</span> <span style="color: #3366CC;">"<span style="color: #000099; font-weight: bold;">`n</span>Success!!! Your spam has been sent.<span style="color: #000099; font-weight: bold;">`n</span>"</span></div>
</li>
<li style="font-weight: bold;color:#26536A;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;"><span style="color: #66cc66;">&#125;</span> </div>
</li>
</ol>
</div>
</div>
</div>
<p>
To run this script:</p>
<ol>
<li>Download the <a href="http://code.google.com/p/adamdotcom-script/source/browse/trunk/Scripts/PowerShell/Automated-AntiCSRF-Authentication-Script.ps1">script</a></li>
<li>Run PowerShell</li>
<li>Load the script: <code><a href="http://code.google.com/p/adamdotcom-script/source/browse/trunk/Scripts/PowerShell/Automated-AntiCSRF-Authentication-Script.ps1">.\Automated-AntiCSRF-Authentication-Script.ps1</a></code></li>
<li>Start sending spam-spam-spam: <code>PS &gt; spam-adamdotcom</code></li>
</ol>
<p>Here's the output as seen on my machine:</p>
<div class="igBar"><span id="lcode-34"><a href="#" onclick="javascript:showPlainTxt('code-34'); return false;">PLAIN TEXT</a></span></div>
<div class="syntax_hilite"><span class="langName">CODE:</span>
<div id="code-34">
<div class="code">
<ol>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">PS C:\&gt; .\Automated-AntiCSRF-Authentication-Script.<span style="">ps1</span></div>
</li>
<li style="font-weight: bold;color:#26536A;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">PS C:\&gt; spam-adamdotcom</div>
</li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp;</div>
</li>
<li style="font-weight: bold;color:#26536A;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">Your Anti CRSF Token is:&nbsp; f54ZlHS3L1Xyl65dYd1uYYh90ygNKYmCswXJUnr0GYtgcrJdJILsQ2jyFotzc10L</div>
</li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp;</div>
</li>
<li style="font-weight: bold;color:#26536A;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">Success!!! Your spam has been sent. </div>
</li>
</ol>
</div>
</div>
</div>
<p></p>
<p>This example uses a derivation of the .NET Framework's <a href="http://msdn.microsoft.com/en-us/library/system.net.webclient.aspx">Web Client</a> class but with Cookies enabled, so it depends on the <a href="http://adamdotcom-services.googlecode.com/svn/trunk/AdamDotCom.Common.Service/Final-Assemblies/AdamDotCom.Common.Service.dll">AdamDotCom.Common.Service.dll</a> assembly (browse the source <a href="http://code.google.com/p/adamdotcom-services/source/browse/trunk#trunk/AdamDotCom.Common.Service/Source/Common/Utilities">here</a>). This dependency can be automatically resolved by issuing the <code>download-client</code> function that's also found within the PowerShell script.</p>
<p>Contribute, view, or download the openly available script here: <a href="http://code.google.com/p/adamdotcom-script/source/browse/trunk/Scripts/PowerShell/Automated-AntiCSRF-Authentication-Script.ps1">Automated-AntiCSRF-Authentication-Script.ps1</a></p>
<div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/Adam-Kahtava/AdamDotCom?a=ulrRlMAOjt4:u4O_VeEUGY0:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/Adam-Kahtava/AdamDotCom?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/Adam-Kahtava/AdamDotCom?a=ulrRlMAOjt4:u4O_VeEUGY0:D7DqB2pKExk"><img src="http://feeds.feedburner.com/~ff/Adam-Kahtava/AdamDotCom?i=ulrRlMAOjt4:u4O_VeEUGY0:D7DqB2pKExk" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/Adam-Kahtava/AdamDotCom?a=ulrRlMAOjt4:u4O_VeEUGY0:F7zBnMyn0Lo"><img src="http://feeds.feedburner.com/~ff/Adam-Kahtava/AdamDotCom?i=ulrRlMAOjt4:u4O_VeEUGY0:F7zBnMyn0Lo" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/Adam-Kahtava/AdamDotCom?a=ulrRlMAOjt4:u4O_VeEUGY0:V_sGLiPBpWU"><img src="http://feeds.feedburner.com/~ff/Adam-Kahtava/AdamDotCom?i=ulrRlMAOjt4:u4O_VeEUGY0:V_sGLiPBpWU" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/Adam-Kahtava/AdamDotCom?a=ulrRlMAOjt4:u4O_VeEUGY0:qj6IDK7rITs"><img src="http://feeds.feedburner.com/~ff/Adam-Kahtava/AdamDotCom?d=qj6IDK7rITs" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/Adam-Kahtava/AdamDotCom/~4/ulrRlMAOjt4" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://adam.kahtava.com/journal/2009/12/16/hacking-an-anti-cross-site-request-forgery-tokens-csrf-with-powershell/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://adam.kahtava.com/journal/2009/12/16/hacking-an-anti-cross-site-request-forgery-tokens-csrf-with-powershell/</feedburner:origLink></item>
		<item>
		<title>RESTful Web Services: What Are They?</title>
		<link>http://feedproxy.google.com/~r/Adam-Kahtava/AdamDotCom/~3/ysYpsKR2-fY/</link>
		<comments>http://adam.kahtava.com/journal/2009/12/04/restful-web-services-what-are-they/#comments</comments>
		<pubDate>Fri, 04 Dec 2009 16:00:35 +0000</pubDate>
		<dc:creator>Adam Kahtava</dc:creator>
				<category><![CDATA[ASP.NET MVC]]></category>
		<category><![CDATA[RESTful]]></category>
		<category><![CDATA[Services]]></category>
		<category><![CDATA[WCF]]></category>

		<guid isPermaLink="false">http://adam.kahtava.com/journal/?p=2004</guid>
		<description><![CDATA[RESTful web services are all the rage these days, and for good reason. Many web based MVC frameworks depend on REST. Here's a crash course on what RESTful web services are and aren't. REST stands for Representational state transfer. REST is not an architecture, instead it's a set of design criteria. RESTfulness and RESTful web [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://en.wikipedia.org/wiki/Representational_State_Transfer#RESTful_web_services">RESTful web services</a> are all the rage these days, and for good reason. Many <a href="http://en.wikipedia.org/wiki/Model%E2%80%93view%E2%80%93controller#Implementations_of_MVC_as_web-based_frameworks">web based MVC frameworks</a> depend on REST. <strong>Here's a crash course on what RESTful web services are and aren't.</strong></p>
<p><a href="http://en.wikipedia.org/wiki/Representational_State_Transfer">REST</a> stands for Representational state transfer. REST is not an architecture, instead it's a set of design criteria. RESTfulness and RESTful web service try to make use of the full gambit of <a href="http://www.w3.org/Protocols/rfc2616/rfc2616-sec9.html">HTTP Methods</a> (GET, PUT, POST, DELETE, OPTIONS, and HEAD), and try to expose every resource or operation in a meaningful <a href="http://en.wikipedia.org/wiki/Uniform_Resource_Identifier">URI</a> / URL. RESTful web services are intuitive, and work similar to the way the human web works (meaningful semantic data is returned to the client, resources link to other resources, <a href="http://en.wikipedia.org/wiki/Microformat">microformats</a> are employed, and so on).</p>
<p><strong>Qualities associated with RESTfulness:</strong></p>
<ul>
<li>RESTful is the the way the human web works - where the data returned by services can be easily understood by humans (or robots) and usually contain links to other resources</li>
<li>RESTful web services use varying response formats. Common formats include: XHTML pages, XHTML microformats, JSON, XML, ad-hoc HTML, JavaScript, or build your own</li>
<li>RESTful web services depend on meaningful URIs. These URIs can contain scoping information, but shouldn't contain query requests. <em>For example: when searching for 'kumquat' on Google you're redirected to <span style="text-decoration: underline;">http://www.google.com/search?q=kumquat</span> where your search query is present in the URI. Whereas a URI like <span style="font-style: normal;"><span style="text-decoration: underline;">http://www.google.com/search/kumquat/</span></span> specifies the search parameters within the URI - this is not recommended as it implies some predictability, search results are unpredictable</em></li>
<li>RESTful web services also use query variables as inputs to algorithms</li>
<li>RESTful web services expose a URI for every piece of data the client may want to operate on</li>
<li>RESTful web services make use of HTTP methods (GET, PUT, POST, DELETE, OPTIONS, and HEAD)</li>
<li>RESTful web services don't keep the state on the server (that's the client's job), they don't like cookies, and don't like sessions</li>
<li>RESTful web services make use of <a href="http://en.wikipedia.org/wiki/List_of_HTTP_headers">HTTP Headers</a></li>
</ul>
<p><strong>Examples of RESTful web services:</strong></p>
<ul>
<li> <a href="http://en.wikipedia.org/wiki/Amazon_S3">Amazon S3</a></li>
<li> <a href="http://developer.yahoo.com/everything.html">Most of Yahoo!'s web services</a></li>
<li> The Atom protocol</li>
</ul>
<p><strong>Qualities that are <span style="text-decoration: underline;">not</span> RESTful:</strong></p>
<ul>
<li>Most SOAP or other RPC-Style Architectures where XML messages are placed in the <a href="http://en.wikipedia.org/wiki/HTTP_body_data">HTTP Body</a></li>
<li>Frameworks that depend heavily on overloaded POSTs and XML (See <a class="site-tit1" rel="nofollow" href="http://www.devarticles.com/c/a/Web-Services/Safety-Idempotence-and-the-ResourceOriented-Architecture/">Safety, Idempotence, and the Resource-Oriented Architecture</a> for more information)</li>
<li>Most big corporate web service frameworks are not RESTful. Some frameworks like WCF try to provide REST like functionality on top of a SOAP based API, but these add-ons can be obtuse and unRESTful.</li>
</ul>
<p><strong>Examples of unRESTful web services:</strong></p>
<ul>
<li><a href="http://www.flickr.com/services/api/request.xmlrpc.html">The XML-RPC Flickr API</a></li>
<li><a href="http://www.flickr.com/services/api/request.soap.html">The SOAP Flickr API</a></li>
<li><a href="http://www.flickr.com/services/api/request.rest.html">The REST Flickr API</a> - although the name implis REST, this API is designed more like an XML-RPC</li>
<li><a href="http://delicious.com/help/api">The delicious API</a></li>
</ul>
<p>The growing popularity of web based MVC frameworks is providing a welcomed push towards RESTfulness and the simplicity that it brings, because working with the grain of the web (REST) makes life simpler and more semantically meaningful too. If you want to learn more about RESTful web services then check out <a href="http://www.amazon.com/dp/0596529260/">Restful Web Services</a> by Leonard Richardson and Sam Ruby.</p>
<div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/Adam-Kahtava/AdamDotCom?a=ysYpsKR2-fY:yotv4PP91Yc:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/Adam-Kahtava/AdamDotCom?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/Adam-Kahtava/AdamDotCom?a=ysYpsKR2-fY:yotv4PP91Yc:D7DqB2pKExk"><img src="http://feeds.feedburner.com/~ff/Adam-Kahtava/AdamDotCom?i=ysYpsKR2-fY:yotv4PP91Yc:D7DqB2pKExk" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/Adam-Kahtava/AdamDotCom?a=ysYpsKR2-fY:yotv4PP91Yc:F7zBnMyn0Lo"><img src="http://feeds.feedburner.com/~ff/Adam-Kahtava/AdamDotCom?i=ysYpsKR2-fY:yotv4PP91Yc:F7zBnMyn0Lo" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/Adam-Kahtava/AdamDotCom?a=ysYpsKR2-fY:yotv4PP91Yc:V_sGLiPBpWU"><img src="http://feeds.feedburner.com/~ff/Adam-Kahtava/AdamDotCom?i=ysYpsKR2-fY:yotv4PP91Yc:V_sGLiPBpWU" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/Adam-Kahtava/AdamDotCom?a=ysYpsKR2-fY:yotv4PP91Yc:qj6IDK7rITs"><img src="http://feeds.feedburner.com/~ff/Adam-Kahtava/AdamDotCom?d=qj6IDK7rITs" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/Adam-Kahtava/AdamDotCom/~4/ysYpsKR2-fY" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://adam.kahtava.com/journal/2009/12/04/restful-web-services-what-are-they/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://adam.kahtava.com/journal/2009/12/04/restful-web-services-what-are-they/</feedburner:origLink></item>
		<item>
		<title>Ramblings From Another Generation X / Y / Millennial</title>
		<link>http://feedproxy.google.com/~r/Adam-Kahtava/AdamDotCom/~3/fjmzmH74R7U/</link>
		<comments>http://adam.kahtava.com/journal/2009/12/01/ramblings-from-another-generation-x-y-millennial/#comments</comments>
		<pubDate>Tue, 01 Dec 2009 16:00:55 +0000</pubDate>
		<dc:creator>Adam Kahtava</dc:creator>
				<category><![CDATA[Musings]]></category>

		<guid isPermaLink="false">http://adam.kahtava.com/journal/?p=2032</guid>
		<description><![CDATA[Like a straight 'A' student you'll find me upfront and center, pencil in hand, when someone describes the traits of my demographic group. I fall somewhere in the Generation X / Y / Millennial demographic group (the boundary varies widely depending on what source you cite). I mean let's face it, who doesn't like to read about how our droogs are perceived? Wait [...]]]></description>
			<content:encoded><![CDATA[<div style="padding: 0px 0px 10px 5px; float: right;"><a href="http://www.flickr.com/photos/mahalie/145332373/"><img src="http://farm1.static.flickr.com/55/145332373_0056b12dda_m.jpg" alt="" /></a></div>
<p>Like a straight 'A' student you'll find me upfront and center, pencil in hand, when someone describes the traits of my demographic group. I fall somewhere in the <a href="http://en.wikipedia.org/wiki/Generation_X">Generation X</a> / <a href="http://en.wikipedia.org/wiki/Generation_Y">Y</a> / Millennial demographic group (the boundary varies widely depending on what source you cite). <em>I mean let's face it, who doesn't like to read about how our droogs are perceived? Wait a ... this could be another manifestation of Generation X / Y / Millennial </em><a href="http://www.boston.com/news/globe/magazine/articles/2007/09/30/the_new_me_generation/?page=1"><em>narcissism</em></a><em> others have been writing about. Crap!</em></p>
<p>When hearing about the traits of our demographic group, I question how unique the traits associated with our group are. It seems that these traits could be common knowledge to <em>smart people</em> everywhere (regardless of demographic segmentation), but then again, this could be my squeaky Generation X / Y / Millennial voice discounting the other demographics (yet again).</p>
<p>I thought Andy Hunt had an accurate description for our demographic:</p>
<blockquote><p>[Generation Xers are] free agents, with an inherent distrust of institutions ... Fiercely individualistic, and perhaps a bit on the dark side, they'll just quit and move on if there's a problem at work. They resist being labeled at all costs ... They are quite pragmatic, working for a positive outcome regardless of any particular ideology or approach. - <a href="http://www.amazon.com/Pragmatic-Thinking-Learning-Refactor-Programmers/dp/1934356050">Pragmatic Thinking and Learning: Refactor Your Wetware</a></p></blockquote>
<p>I'd agree, an <em>inherent distrust of institutions</em> is a common trait in our demographic. It could be that we're immature and this tendency could wane as we grow older, or it could be a permanent scar stemming from our observations - many of us watched our elders (some with perceived jobs-for-life) jaded and unemployed in the 80's, then living through the uncertainly that prevailed in the following years.</p>
<p>Others have mentioned that we:</p>
<blockquote><p>would prefer to work for companies that give them opportunities to contribute their talents to nonprofit organizations. - <a href="http://www.entrepreneur.com/humanresources/compensationandbenefits/article188360.html">Volunteering as a Benefit</a></p></blockquote>
<p>But then again, who wouldn't like to work for company that encouraged contributions to nonprofits and pet projects?</p>
<p>Yet others have noted that we:</p>
<blockquote><p>demand to be communicated to in a direct, honest and transparent way ... are "'immediate driven" and quite keen to live their lives right now, rather than adhering to the old Protestant work ethic that suggests you can only reap the rewards of life after you have worked hard and basically sold your soul to your employer. - <a href="http://www.management-issues.com/2009/1/27/opinion/how-to-turn-on-generation-y.asp">How to turn on Generation Y</a></p></blockquote>
<p>Yup, that sounds fair. We expect transparency in the age of information. Continuing with that thought, it's also been said that:</p>
<blockquote><p>[we] view time as a currency ... not to be wasted ... They want to get the job done, then put it behind them and enjoy life. - <a href="http://www.management-issues.com/2007/5/31/opinion/retaining-youth.asp">Retaining youth</a></p></blockquote>
<p>Again, seems a bit obvious. We're not lazy, but we've seen our elders do a lot of weird stuff as they go through their midlife crisis - maybe if they didn't put off living in the name of work they would have maintained more sanity.</p>
<p>It's also been said that we:</p>
<blockquote><p>prefer to dress as casual as possible and work with mobile gadgets or laptops in comfortable, creative spaces. - <a href="http://plone.acm.org/membership/careernews/archives/v3_i6">CareerNews: Tuesday, May 22, 2007</a></p></blockquote>
<p>What demographic group doesn't like to be comfortable while working? Our attire should be an extension of workplace ergonomics - we're told to lift heavy object with your legs (not your back), and use ergonomically correct equipment. Wearing comfortable clothes and using gadgets should be a natural extension. :)</p>
<p>In general, I think our generation strives to work smarter (not necessarily longer hours), we try to atain a healthy work-life balance, and a number of us value experiences over owning stuff. I think <em>smart people</em> from other demographics have been doing the same things for years, but what do I know, I'm just another Generation X / Y / Millennial.</p>
<div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/Adam-Kahtava/AdamDotCom?a=fjmzmH74R7U:kN7aZE6ZVrI:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/Adam-Kahtava/AdamDotCom?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/Adam-Kahtava/AdamDotCom?a=fjmzmH74R7U:kN7aZE6ZVrI:D7DqB2pKExk"><img src="http://feeds.feedburner.com/~ff/Adam-Kahtava/AdamDotCom?i=fjmzmH74R7U:kN7aZE6ZVrI:D7DqB2pKExk" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/Adam-Kahtava/AdamDotCom?a=fjmzmH74R7U:kN7aZE6ZVrI:F7zBnMyn0Lo"><img src="http://feeds.feedburner.com/~ff/Adam-Kahtava/AdamDotCom?i=fjmzmH74R7U:kN7aZE6ZVrI:F7zBnMyn0Lo" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/Adam-Kahtava/AdamDotCom?a=fjmzmH74R7U:kN7aZE6ZVrI:V_sGLiPBpWU"><img src="http://feeds.feedburner.com/~ff/Adam-Kahtava/AdamDotCom?i=fjmzmH74R7U:kN7aZE6ZVrI:V_sGLiPBpWU" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/Adam-Kahtava/AdamDotCom?a=fjmzmH74R7U:kN7aZE6ZVrI:qj6IDK7rITs"><img src="http://feeds.feedburner.com/~ff/Adam-Kahtava/AdamDotCom?d=qj6IDK7rITs" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/Adam-Kahtava/AdamDotCom/~4/fjmzmH74R7U" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://adam.kahtava.com/journal/2009/12/01/ramblings-from-another-generation-x-y-millennial/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://adam.kahtava.com/journal/2009/12/01/ramblings-from-another-generation-x-y-millennial/</feedburner:origLink></item>
		<item>
		<title>Chatting With a Flash Developer Turned Web Developer</title>
		<link>http://feedproxy.google.com/~r/Adam-Kahtava/AdamDotCom/~3/n4jPnbH9CXo/</link>
		<comments>http://adam.kahtava.com/journal/2009/11/30/chatting-with-a-flash-developer-turned-web-developer/#comments</comments>
		<pubDate>Mon, 30 Nov 2009 16:00:11 +0000</pubDate>
		<dc:creator>Adam Kahtava</dc:creator>
				<category><![CDATA[Musings]]></category>
		<category><![CDATA[Software]]></category>

		<guid isPermaLink="false">http://adam.kahtava.com/journal/?p=2112</guid>
		<description><![CDATA[I was chatting with a Flash Developer turned Web Developer. When asked why he made the transition, he predicted that HTML 5 and the evolution of the web thereafter would lessen the demand for Flash Developers (possibly making them obsolete) and that moving towards a Web Developer / Generalist is an investment for the future. [...]]]></description>
			<content:encoded><![CDATA[<p>I was chatting with a Flash Developer turned Web Developer. When asked why he made the transition, he predicted that <a href="http://en.wikipedia.org/wiki/HTML5">HTML 5</a> and the evolution of the web thereafter would lessen the demand for Flash Developers (possibly making them obsolete) and that moving towards a Web Developer / Generalist is an investment for the future. I thought that was an interesting perspective. It's not far fetched to predict that the open web will replace proprietary browser plug-ins - in many cases digital content has already replaced print.</p>
<div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/Adam-Kahtava/AdamDotCom?a=n4jPnbH9CXo:tPpMA_90h9M:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/Adam-Kahtava/AdamDotCom?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/Adam-Kahtava/AdamDotCom?a=n4jPnbH9CXo:tPpMA_90h9M:D7DqB2pKExk"><img src="http://feeds.feedburner.com/~ff/Adam-Kahtava/AdamDotCom?i=n4jPnbH9CXo:tPpMA_90h9M:D7DqB2pKExk" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/Adam-Kahtava/AdamDotCom?a=n4jPnbH9CXo:tPpMA_90h9M:F7zBnMyn0Lo"><img src="http://feeds.feedburner.com/~ff/Adam-Kahtava/AdamDotCom?i=n4jPnbH9CXo:tPpMA_90h9M:F7zBnMyn0Lo" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/Adam-Kahtava/AdamDotCom?a=n4jPnbH9CXo:tPpMA_90h9M:V_sGLiPBpWU"><img src="http://feeds.feedburner.com/~ff/Adam-Kahtava/AdamDotCom?i=n4jPnbH9CXo:tPpMA_90h9M:V_sGLiPBpWU" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/Adam-Kahtava/AdamDotCom?a=n4jPnbH9CXo:tPpMA_90h9M:qj6IDK7rITs"><img src="http://feeds.feedburner.com/~ff/Adam-Kahtava/AdamDotCom?d=qj6IDK7rITs" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/Adam-Kahtava/AdamDotCom/~4/n4jPnbH9CXo" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://adam.kahtava.com/journal/2009/11/30/chatting-with-a-flash-developer-turned-web-developer/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://adam.kahtava.com/journal/2009/11/30/chatting-with-a-flash-developer-turned-web-developer/</feedburner:origLink></item>
		<item>
		<title>What Are Anti Cross-site Request Forgery Tokens And What Are They Good For?</title>
		<link>http://feedproxy.google.com/~r/Adam-Kahtava/AdamDotCom/~3/SO-pUQMQZPg/</link>
		<comments>http://adam.kahtava.com/journal/2009/11/25/what-are-anti-cross-site-request-forgery-tokens-and-what-are-they-good-for/#comments</comments>
		<pubDate>Wed, 25 Nov 2009 17:00:05 +0000</pubDate>
		<dc:creator>Adam Kahtava</dc:creator>
				<category><![CDATA[.NET]]></category>
		<category><![CDATA[ASP.NET MVC]]></category>

		<guid isPermaLink="false">http://adam.kahtava.com/journal/?p=2030</guid>
		<description><![CDATA[Anti Cross-site Request Forgery Tokens help prevent Cross-site Request Forgery (CSRF) also known as XSRF - pronounced "sea-surf" - and are usually implemented through a hidden HTML form element that contains a unique ID. This ID is passed along with subsequent requests for data and validated on the server. Anti CSRF Tokens try to ensure the [...]]]></description>
			<content:encoded><![CDATA[<p>Anti Cross-site Request Forgery Tokens help prevent <a href="http://en.wikipedia.org/wiki/Cross-site_request_forgery">Cross-site Request Forgery (CSRF)</a> also known as XSRF - pronounced <em>"sea-surf"</em> - and are usually implemented through a hidden HTML form element that contains a unique ID. This ID is passed along with subsequent requests for data and validated on the server. Anti CSRF Tokens try to ensure the identity of the user. They aren't a replacement for <a href="http://en.wikipedia.org/wiki/CAPTCHA">CAPTCHA</a>s and don't prevent robots or <a href="http://en.wikipedia.org/wiki/Web_scraping">web scrapers</a> from manipulating your site - as you'll soon see.</p>
<p><strong>Why use an Anti CRSF Token?</strong></p>
<p>An overly simple example: If I didn't use an Anti Forgery Token on <a href="http://adam.kahtava.com/contact/">my contact page</a> (see the source code: <a href="http://code.google.com/p/adamdotcom-website/source/browse/trunk/Source/Website/App/Views/Contact/Index.aspx">View</a> or <a href="http://code.google.com/p/adamdotcom-website/source/browse/trunk/Source/Website/App/Controllers/ContactController.cs">Controller</a>), a Spammer could POST data directly against my contact form and potentially drown me with spam.</p>
<p>Here's a hypothetical form created by an evil Spammer. This form is hosted on http://spammer.com (not my site):</p>
<pre>&lt;form action="<strong>http://adam.kahtava.com/contact/send</strong>" method="POST"&gt;
  &lt;input name="fromName" type="text" value="Johnathon Fink" /&gt;
  &lt;input name="fromAddress" type="text" value="prancesw@rmcres.com" /&gt;
  &lt;input name="subject" type="text" value="Call for your diploma now" /&gt;
  &lt;textarea name="body"&gt;Is your lack of a degree...&lt;/textarea&gt;
  ...
&lt;/form&gt;</pre>
<p><em>Again, note that the form action contains a reference to my site (even though it is hosted on another site). </em></p>
<p>Now, imagine this was a form prompting a user for their username and password. These credentials could be maliciously stored while the user successfully authenticates and is then redirected to the site they thought they were visiting - the way <a href="http://en.wikipedia.org/wiki/Phishing">phishing</a> usually works.</p>
<p>After adding an Anti CRSF Token to my contact form, a Spammer can't access my form remotely (at least not without the token). My contact form with it's Anti CRSF Token:</p>
<pre>&lt;form action="/contact/send" method="post" name="contact"&gt;
  &lt;input name="<strong>__RequestVerificationToken</strong>" type="hidden" value="0sAqY1ZKb+Qia4..." /&gt;
  &lt;input name="fromName" ...</pre>
<p><em>Note the presence of the RequestVerificationToken.</em></p>
<p>Said Spammer, can't abuse my form without including the unique token. Technically speaking the Spammer can still abuse my form, but he now needs to:</p>
<ul>
<li>Request (GET) <a href="http://adam.kahtava.com/contact">my contact form</a></li>
<li>Parse out the Anti CRSF Token</li>
<li>POST their spam into <a href="http://adam.kahtava.com/contact/send">my contact form</a> along with the token</li>
</ul>
<p>This is pretty easy to do if you have an implementation of a HTTP Client library that supports cookies.</p>
<p><strong>How to hack an Anti CRSF Token protected form</strong></p>
<p>Using an extended instance of .NETs Web Client here's how our Spammer could circumvent my Anti CRSF Token.</p>
<p>The Spamming script by that wascaly Spammer:</p>
<pre><strong>// create a new HTTP Web Client that supports cookies</strong>
var webClient = new <a href="http://code.google.com/p/adamdotcom-services/source/browse/trunk/AdamDotCom.Common.Service/Source/Common/Utilities/WebClientWithCookies.cs">WebClientWithCookies</a>();

<strong>//download my contact page containing the Anti CRSF Token</strong>
webClient = webClient.DownloadData("http://adam.kahtava.com/contact");

<strong>//parse out the Anti CRSF Token</strong>
var antiCrsfToken = <a href="http://code.google.com/p/adamdotcom-services/source/browse/trunk/AdamDotCom.Common.Service/Source/Common/Utilities/Utilities.cs">RegexUtilities</a>.GetTokenString(
                      new Regex("__RequestVerificationToken=(?&lt;CRSF_Token&gt;[^;]+)")
                      .Match(webClient.ResponseHeaders["Set-Cookie"]), "CRSF_Token");

<strong>//now the Spammer can drown me in spam-spam-spam
// by scraping my Anti CRSF Token and posting it into my form</strong>
webClient.Headers.Add("Content-Type", "application/x-www-form-urlencoded");
byte[] response = webClient.UploadData("http://adam.kahtava.com/contact/send", "POST",
                            Encoding.UTF8.GetBytes(
                              "<strong>__RequestVerificationToken</strong>=" + antiCrsfToken +
                              "&amp;fromName=\"Johnathon Fink\"" +
                              "&amp;fromAddress=\"prancesw@rmcres.com\"" +
                              "&amp;subject=\"Call for your diploma now\"" +
                              "&amp;body=\"Is your lack of a degree...\""));</pre>
<p>The Spammer is back at their old tricks sending me more Spam. ARGH!</p>
<p><strong>What's the use of an Anti CRSF Token?</strong></p>
<p>Anti CRSF Tokens help prevent phishing attacks. They aren't meant to prevent spammers or Dr Robotnik and his robots (or web scrapers) from running automated scripts against your web application. Keep in mind, that if your site suffers from other <a href="http://en.wikipedia.org/wiki/Cross-site_scripting">XSS</a> vulnerabilities (where the privacy of your cookies or sessions are compromised) then Anti CRSF Tokens don't work at all.</p>
<p>Read more about how Anti CRSF Tokens work here: <a href="http://blog.codeville.net/2008/09/01/prevent-cross-site-request-forgery-csrf-using-aspnet-mvcs-antiforgerytoken-helper/">Prevent Cross-Site Request Forgery (CSRF) using ASP.NET MVC’s AntiForgeryToken() helper</a> or learn more about Cross-Site Request Forgery at: <a href="http://www.cgisecurity.com/csrf-faq.html">The Cross-Site Request Forgery (CSRF/XSRF) FAQ</a>.</p>
<div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/Adam-Kahtava/AdamDotCom?a=SO-pUQMQZPg:tzFS4zZL7YQ:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/Adam-Kahtava/AdamDotCom?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/Adam-Kahtava/AdamDotCom?a=SO-pUQMQZPg:tzFS4zZL7YQ:D7DqB2pKExk"><img src="http://feeds.feedburner.com/~ff/Adam-Kahtava/AdamDotCom?i=SO-pUQMQZPg:tzFS4zZL7YQ:D7DqB2pKExk" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/Adam-Kahtava/AdamDotCom?a=SO-pUQMQZPg:tzFS4zZL7YQ:F7zBnMyn0Lo"><img src="http://feeds.feedburner.com/~ff/Adam-Kahtava/AdamDotCom?i=SO-pUQMQZPg:tzFS4zZL7YQ:F7zBnMyn0Lo" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/Adam-Kahtava/AdamDotCom?a=SO-pUQMQZPg:tzFS4zZL7YQ:V_sGLiPBpWU"><img src="http://feeds.feedburner.com/~ff/Adam-Kahtava/AdamDotCom?i=SO-pUQMQZPg:tzFS4zZL7YQ:V_sGLiPBpWU" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/Adam-Kahtava/AdamDotCom?a=SO-pUQMQZPg:tzFS4zZL7YQ:qj6IDK7rITs"><img src="http://feeds.feedburner.com/~ff/Adam-Kahtava/AdamDotCom?d=qj6IDK7rITs" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/Adam-Kahtava/AdamDotCom/~4/SO-pUQMQZPg" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://adam.kahtava.com/journal/2009/11/25/what-are-anti-cross-site-request-forgery-tokens-and-what-are-they-good-for/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://adam.kahtava.com/journal/2009/11/25/what-are-anti-cross-site-request-forgery-tokens-and-what-are-they-good-for/</feedburner:origLink></item>
		<item>
		<title>How To Fix the: “Validation of viewstate MAC failed” Error (ASP.NET MVC)</title>
		<link>http://feedproxy.google.com/~r/Adam-Kahtava/AdamDotCom/~3/Htz5O1XPvsQ/</link>
		<comments>http://adam.kahtava.com/journal/2009/11/23/how-to-fix-the-validation-of-viewstate-mac-failed-error-aspnet-mvc/#comments</comments>
		<pubDate>Mon, 23 Nov 2009 17:00:26 +0000</pubDate>
		<dc:creator>Adam Kahtava</dc:creator>
				<category><![CDATA[.NET]]></category>
		<category><![CDATA[ASP.NET MVC]]></category>

		<guid isPermaLink="false">http://adam.kahtava.com/journal/?p=2011</guid>
		<description><![CDATA[I run my site on a Windows Shared Hosting account, and every time I updated the assemblies on my ASP.NET MVC site I'd be presented with the "Validation of viewstate MAC failed" error. The "Validation of viewstate MAC failed" error only occurred when a page contained an HTML form element that made use of MVC's AntiForgeryToken. The quick fix was [...]]]></description>
			<content:encoded><![CDATA[<p>I run my site on a Windows Shared Hosting account, and every time I updated the assemblies on my ASP.NET MVC site I'd be presented with the <em>"Validation of viewstate MAC failed"</em> error.</p>
<p>The <em>"Validation of viewstate MAC failed"</em> error only occurred when a page contained an HTML form element that made use of MVC's <a href="http://msdn.microsoft.com/en-us/library/dd492767.aspx">AntiForgeryToken</a>. The quick fix was to delete my <code>__RequestVerificationToken</code> cookie, but the error would rear its ugly head the minute I touched my assemblies. The <strong>long term solution</strong> was to add a <a href="http://msdn.microsoft.com/en-us/library/w8h3skw9.aspx">machineKey element</a> to my Web.config file - asking visitors to delete a specific cookies when visiting my site was not a viable option.</p>
<p><strong>How I fixed the </strong><em><strong>"Validation of viewstate MAC failed"</strong></em><strong> error on Shared Hosting:</strong></p>
<ol>
<li>I used the <a href="http://aspnetresources.com/tools/keycreator.aspx">&lt;machineKey&gt; Generator Tool</a> to generate a machine key</li>
<li>I added the machineKey element to my Web.config file</li>
</ol>
<p>My Web.config now looks similar to this:</p>
<pre>&lt;?xml version="1.0"?&gt;
&lt;configuration&gt;
  &lt;system.web&gt;
    &lt;machineKey validationKey="..." decryptionKey="..." validation="SHA1" /&gt;</pre>
<p>Anyhow, I hope this post helps anyone else that's encountering this error.</p>
<p>Oh wait, here's the error in its entirety for The Google Machine's crawlers:</p>
<blockquote><p><code>Server Error in '/' Application.</code></p>
<p><code>Validation of viewstate MAC failed. If this application is hosted by a Web Farm or cluster, ensure that  configuration specifies the same validationKey and validation algorithm. AutoGenerate cannot be used in a cluster.</code></p>
<p><code>Description: An unhandled exception occurred during the execution of the current web request. Please review the stack trace for more information about the error and where it originated in the code.</code></p>
<p><code> </code><code>Exception Details: System.Web.HttpException: Validation of viewstate MAC failed. If this application is hosted by a Web Farm or cluster, ensure that  configuration specifies the same validationKey and validation algorithm. AutoGenerate cannot be used in a cluster.</code></p></blockquote>
<div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/Adam-Kahtava/AdamDotCom?a=Htz5O1XPvsQ:lqZFZuJKW3U:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/Adam-Kahtava/AdamDotCom?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/Adam-Kahtava/AdamDotCom?a=Htz5O1XPvsQ:lqZFZuJKW3U:D7DqB2pKExk"><img src="http://feeds.feedburner.com/~ff/Adam-Kahtava/AdamDotCom?i=Htz5O1XPvsQ:lqZFZuJKW3U:D7DqB2pKExk" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/Adam-Kahtava/AdamDotCom?a=Htz5O1XPvsQ:lqZFZuJKW3U:F7zBnMyn0Lo"><img src="http://feeds.feedburner.com/~ff/Adam-Kahtava/AdamDotCom?i=Htz5O1XPvsQ:lqZFZuJKW3U:F7zBnMyn0Lo" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/Adam-Kahtava/AdamDotCom?a=Htz5O1XPvsQ:lqZFZuJKW3U:V_sGLiPBpWU"><img src="http://feeds.feedburner.com/~ff/Adam-Kahtava/AdamDotCom?i=Htz5O1XPvsQ:lqZFZuJKW3U:V_sGLiPBpWU" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/Adam-Kahtava/AdamDotCom?a=Htz5O1XPvsQ:lqZFZuJKW3U:qj6IDK7rITs"><img src="http://feeds.feedburner.com/~ff/Adam-Kahtava/AdamDotCom?d=qj6IDK7rITs" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/Adam-Kahtava/AdamDotCom/~4/Htz5O1XPvsQ" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://adam.kahtava.com/journal/2009/11/23/how-to-fix-the-validation-of-viewstate-mac-failed-error-aspnet-mvc/feed/</wfw:commentRss>
		<slash:comments>6</slash:comments>
		<feedburner:origLink>http://adam.kahtava.com/journal/2009/11/23/how-to-fix-the-validation-of-viewstate-mac-failed-error-aspnet-mvc/</feedburner:origLink></item>
		<item>
		<title>Site Update: New Resume, Contact, Reviews, and Reading Lists Sections</title>
		<link>http://feedproxy.google.com/~r/Adam-Kahtava/AdamDotCom/~3/5jRuwI7fXC0/</link>
		<comments>http://adam.kahtava.com/journal/2009/11/08/site-update-new-resume-contact-reviews-and-reading-lists-sections/#comments</comments>
		<pubDate>Sun, 08 Nov 2009 17:00:37 +0000</pubDate>
		<dc:creator>Adam Kahtava</dc:creator>
				<category><![CDATA[.NET]]></category>
		<category><![CDATA[ADC Services]]></category>
		<category><![CDATA[ADC Website]]></category>
		<category><![CDATA[ASP.NET]]></category>
		<category><![CDATA[ASP.NET MVC]]></category>
		<category><![CDATA[Amazon]]></category>
		<category><![CDATA[Open Source]]></category>

		<guid isPermaLink="false">http://adam.kahtava.com/journal/?p=1974</guid>
		<description><![CDATA[This site now sports a Resume, Contact Me, Reviews, and Reading Lists section. If you're reading this from an RSS feed, then the changes looks like this: These new sections make use of the services I created earlier - my resume content is pulled directly from LinkedIn via my Resume service, the Reading Lists and Reviews are being pulled [...]]]></description>
			<content:encoded><![CDATA[<p>This site now sports a <a href="http://adam.kahtava.com/resume/curriculum-vitae/software-developer/">Resume</a>, <a href="http://adam.kahtava.com/contact-me/">Contact Me</a>, <a href="http://adam.kahtava.com/book-reviews/">Reviews</a>, and <a href="http://adam.kahtava.com/reading-lists/recommended-and-wishlist/">Reading Lists</a> section.</p>
<p>If you're reading this from an RSS feed, then the changes looks like this:</p>
<p style="padding-left: 30px;"><img src="http://adam.kahtava.com/journal/images/blog/adamdotcom-navigation-update.png" alt="Navigation changes on my site" width="429" height="112" /></p>
<p>These new sections make use of the services I created earlier - my resume content is pulled directly from LinkedIn via my <a href="http://adam.kahtava.com/journal/2009/09/24/introducing-my-linkedin-resume-service-view-your-resume/">Resume service</a>, the Reading Lists and Reviews are being pulled from Amazon via my <a href="http://adam.kahtava.com/journal/2009/09/15/introducing-my-amazon-web-service-find-your-profile-view-your-wishlist-or-reviews/">Amazon service</a>, and I'm still working on a personalized greeting module which will make use of my <a href="http://adam.kahtava.com/journal/2009/09/30/introducing-my-whois-service-customize-your-site-content-based-on-referrals-location-and-more/">Whois service</a>.</p>
<p>Now, when I update my resume on LinkedIn, add a new item to my Amazon wishlist, or write a new Review on Amazon the content is updated within this site and indexed by the Google.</p>
<p>It took longer than expected to get these new pages up and running - mostly due to a couple false starts. You see, I'm running this site on Windows shared hosting which unfortunately doesn't give me many options - sure, sure, I could purchase another hosting account, but developers are like freak'n MAcGyver we like working within ridiculous constraints. It's all about the challenge! Anyways, I first tried using Ruby on Rails on shared hosting (fail), then tried using PHP on Trax (fail), and finally reverted to ASP.NET MVC. While ASP.NET MVC is heads and tails more fun than Web Forms / Classic ASP.NET, the impedance mismatch between strongly typed objects and web languages (JavaScript, CSS, XHTML) is still annoying. Thankfully the <a href="http://github.com/mvccontrib/MvcContrib">MVC Contrib</a> project solves some of these pains, however it can't solve them all.</p>
<p>My next steps with this site are to: finish the greeting module, update the layout (drop the WordPress theme), and finish a Github / Google Code repo widget (kind of like this <a href="http://drnicwilliams.com/2008/05/03/github-badge-for-your-blog/">one</a>) for the sidebar.</p>
<p>Contribute, view, or download the openly available source code <a href="http://code.google.com/p/adamdotcom-website/source/browse/trunk/#trunk/Source/Website">here</a>.</p>
<div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/Adam-Kahtava/AdamDotCom?a=5jRuwI7fXC0:kNHet2JOWcg:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/Adam-Kahtava/AdamDotCom?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/Adam-Kahtava/AdamDotCom?a=5jRuwI7fXC0:kNHet2JOWcg:D7DqB2pKExk"><img src="http://feeds.feedburner.com/~ff/Adam-Kahtava/AdamDotCom?i=5jRuwI7fXC0:kNHet2JOWcg:D7DqB2pKExk" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/Adam-Kahtava/AdamDotCom?a=5jRuwI7fXC0:kNHet2JOWcg:F7zBnMyn0Lo"><img src="http://feeds.feedburner.com/~ff/Adam-Kahtava/AdamDotCom?i=5jRuwI7fXC0:kNHet2JOWcg:F7zBnMyn0Lo" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/Adam-Kahtava/AdamDotCom?a=5jRuwI7fXC0:kNHet2JOWcg:V_sGLiPBpWU"><img src="http://feeds.feedburner.com/~ff/Adam-Kahtava/AdamDotCom?i=5jRuwI7fXC0:kNHet2JOWcg:V_sGLiPBpWU" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/Adam-Kahtava/AdamDotCom?a=5jRuwI7fXC0:kNHet2JOWcg:qj6IDK7rITs"><img src="http://feeds.feedburner.com/~ff/Adam-Kahtava/AdamDotCom?d=qj6IDK7rITs" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/Adam-Kahtava/AdamDotCom/~4/5jRuwI7fXC0" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://adam.kahtava.com/journal/2009/11/08/site-update-new-resume-contact-reviews-and-reading-lists-sections/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		<feedburner:origLink>http://adam.kahtava.com/journal/2009/11/08/site-update-new-resume-contact-reviews-and-reading-lists-sections/</feedburner:origLink></item>
		<item>
		<title>Book Reviewed: Pragmatic Thinking and Learning: Refactor Your Wetware</title>
		<link>http://feedproxy.google.com/~r/Adam-Kahtava/AdamDotCom/~3/dyIpdpzwPvc/</link>
		<comments>http://adam.kahtava.com/journal/2009/10/26/book-reviewed-pragmatic-thinking-and-learning-refactor-your-wetware/#comments</comments>
		<pubDate>Mon, 26 Oct 2009 16:00:44 +0000</pubDate>
		<dc:creator>Adam Kahtava</dc:creator>
				<category><![CDATA[Review]]></category>

		<guid isPermaLink="false">http://adam.kahtava.com/journal/?p=1961</guid>
		<description><![CDATA[Andy Hunt's Pragmatic Thinking and Learning is fun and interesting, but the topics within often leaned on the obvious. The central theme throughout Pragmatic Thinking and Learning revolves around harnessing brain modes (linear mode and rich mode), self improvement, and the Dreyfus Model - a model, where skills are ranked by five stages (Novice, Advanced [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.amazon.com/Pragmatic-Thinking-Learning-Refactor-Programmers/dp/1934356050/"><img style="float: right;" src="http://images.amazon.com/images/P/1934356050.01._SCMZZZZZZZ_.jpg" alt="Pragmatic Thinking and Learning" /></a>Andy Hunt's <a href="http://www.amazon.com/Pragmatic-Thinking-Learning-Refactor-Programmers/dp/1934356050/">Pragmatic Thinking and Learning</a> is fun and interesting, but the topics within often leaned on the obvious. The central theme throughout Pragmatic Thinking and Learning revolves around harnessing brain modes (linear mode and rich mode), self improvement, and the <a href="http://en.wikipedia.org/wiki/Dreyfus_model_of_skill_acquisition">Dreyfus Model</a> - a model, where skills are ranked by five stages (Novice, Advanced Beginner, Competent, Proficient, and Expert). Throughout the text Andy works through the stages of the Dreyfus Model within the context of the software realm. He offers advice on how we can progress as developers, and discusses learning techniques that have worked for him.</p>
<p>Andy offers many interesting tips, stories, and draws in external research. For example, <strong>did you know, that research suggests that: <em>"if you constantly interrupt your task to check email [Twitter, Facebook] or respond to an IM text message, your effective IQ drops by ten points"</em></strong> or <em>"the leading predictor of a tendency for road rage was the amount of personalization on a vehicle"</em>?</p>
<p>However, I felt that many of the concepts discussed have become common knowledge (part of popular developer culture) and were somewhat obvious. To borrow from the Dreyfus Model; this book is probably best suited for Novices or Advanced Beginner. It's also fair to mention that I thought Andy's other book <a href="http://www.amazon.com/Pragmatic-Programmer-Journeyman-Master/dp/020161622X/">The Pragmatic Programmer</a> suffered this same problem, but also keep in mind that <em>"the obvious ... is never seen until someone expresses it simply</em>" (Kahlil Gibran). In the end, I do recommend this book. It's a fun read, excellent for those who are new to the software industry. It would make a great addition to College / University programs.</p>
<div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/Adam-Kahtava/AdamDotCom?a=dyIpdpzwPvc:PZVHHoEQMmw:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/Adam-Kahtava/AdamDotCom?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/Adam-Kahtava/AdamDotCom?a=dyIpdpzwPvc:PZVHHoEQMmw:D7DqB2pKExk"><img src="http://feeds.feedburner.com/~ff/Adam-Kahtava/AdamDotCom?i=dyIpdpzwPvc:PZVHHoEQMmw:D7DqB2pKExk" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/Adam-Kahtava/AdamDotCom?a=dyIpdpzwPvc:PZVHHoEQMmw:F7zBnMyn0Lo"><img src="http://feeds.feedburner.com/~ff/Adam-Kahtava/AdamDotCom?i=dyIpdpzwPvc:PZVHHoEQMmw:F7zBnMyn0Lo" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/Adam-Kahtava/AdamDotCom?a=dyIpdpzwPvc:PZVHHoEQMmw:V_sGLiPBpWU"><img src="http://feeds.feedburner.com/~ff/Adam-Kahtava/AdamDotCom?i=dyIpdpzwPvc:PZVHHoEQMmw:V_sGLiPBpWU" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/Adam-Kahtava/AdamDotCom?a=dyIpdpzwPvc:PZVHHoEQMmw:qj6IDK7rITs"><img src="http://feeds.feedburner.com/~ff/Adam-Kahtava/AdamDotCom?d=qj6IDK7rITs" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/Adam-Kahtava/AdamDotCom/~4/dyIpdpzwPvc" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://adam.kahtava.com/journal/2009/10/26/book-reviewed-pragmatic-thinking-and-learning-refactor-your-wetware/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://adam.kahtava.com/journal/2009/10/26/book-reviewed-pragmatic-thinking-and-learning-refactor-your-wetware/</feedburner:origLink></item>
	</channel>
</rss><!-- Dynamic page generated in 1.406 seconds. --><!-- Cached page generated by WP-Super-Cache on 2013-05-15 09:50:20 --><!-- Compression = gzip -->
