<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	xmlns:georss="http://www.georss.org/georss" xmlns:geo="http://www.w3.org/2003/01/geo/wgs84_pos#" xmlns:media="http://search.yahoo.com/mrss/"
	>

<channel>
	<title>I Am Not Myself</title>
	<atom:link href="http://iamnotmyself.com/feed/" rel="self" type="application/rss+xml" />
	<link>http://iamnotmyself.com</link>
	<description>Bills.Pay(Developer.Skills).ShouldBeTrue()</description>
	<lastBuildDate>Sat, 28 Jan 2012 18:02:55 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.com/</generator>
<cloud domain='iamnotmyself.com' port='80' path='/?rsscloud=notify' registerProcedure='' protocol='http-post' />
<image>
		<url>http://s2.wp.com/i/buttonw-com.png</url>
		<title>I Am Not Myself</title>
		<link>http://iamnotmyself.com</link>
	</image>
	<atom:link rel="search" type="application/opensearchdescription+xml" href="http://iamnotmyself.com/osd.xml" title="I Am Not Myself" />
	<atom:link rel='hub' href='http://iamnotmyself.com/?pushpress=hub'/>
		<item>
		<title>Sinister Bug is Sinister</title>
		<link>http://iamnotmyself.com/2012/01/24/sinister-bug-is-sinister/</link>
		<comments>http://iamnotmyself.com/2012/01/24/sinister-bug-is-sinister/#comments</comments>
		<pubDate>Tue, 24 Jan 2012 16:11:45 +0000</pubDate>
		<dc:creator>Bobby Johnson</dc:creator>
				<category><![CDATA[Development]]></category>

		<guid isPermaLink="false">http://iamnotmyself.com/?p=1099</guid>
		<description><![CDATA[Can you spot the bug in this flags enumeration? In case you can&#8217;t spot it with the naked eye (I couldn&#8217;t, coworker Alex caught it.), watch this video. Pay attention to the binary display as I enter in the values of my enumeration above. Notice how the bit is steadily walking down the display? What [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=iamnotmyself.com&amp;blog=21373990&amp;post=1099&amp;subd=oncodebynotmyself&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Can you spot the bug in this flags enumeration?</p>
<p><pre class="brush: csharp;">
    [Flags]
    public enum ItemCoreChangeType
    {
        ViewStyleChanged = 1,
        VaryByStructureChanged = 2,
        LayersChanged = 4,
        LayerContentsChanged = 8,
        PropertiesChanged = 16,
        ErrorsChanged = 32,
        ChangeHistoryCleared = 64,
        EditableCommentChanged = 128,
        NeedsValidation = 256,
        AffectsPropertyChangeHistory = 512,
        AffectsLayerChangeHistory = 1024,
        PushFormatters = 2048,
        ResetValueGroups = 4096,
        SkipChangeTrackingUpdate = 8092,
        StatusChanged = 16384,
        Flexible2DIndicesChanged = 32768,
    }
</pre></p>
<p>In case you can&#8217;t spot it with the naked eye (I couldn&#8217;t, coworker Alex caught it.), watch this video. Pay attention to the binary display as I enter in the values of my enumeration above. Notice how the bit is steadily walking down the display? What happens when I hit SkipChangeTrackingUpdate?</p>
<div class='embed-vimeo' style='text-align:center;'><iframe src='http://player.vimeo.com/video/35576092' width='600' height='400' frameborder='0'></iframe></div>
<p>So it seems that when I use the SkipChangeTrackingUpdate value I am actually sending many of the other values in this flags enumeration. Nasty bug to track down eh?</p>
<p>What makes this bug so sinister is just how long it took to find. Using the blame command in git, I see the following result. The names have been changed to protect the guilty.</p>
<blockquote><p>72fe38b4 (dirk.diggler 2010-02-10 23:49:28 -0800 33)         SkipChangeTrackingUpdate = 8092,</p></blockquote>
<p>So this particular flaw has been in the code base unnoticed for close to two years. Two years worth of code has been written with the assumption that SkipChangeTrackingUpdate actually sends the value of <strong>9</strong> different flag values. Fixing the flag value could potentially effect any part of that code. </p>
<p><strong>What do?</strong></p>
<p>Lucky for me, a search for that flag in the entire code base returned 3 usages, one of which was the definition of the flag, one was the usage of the flag and one consuming the flag.</p>
<p>Crisis averted but it could have been much worse.</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/oncodebynotmyself.wordpress.com/1099/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/oncodebynotmyself.wordpress.com/1099/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/oncodebynotmyself.wordpress.com/1099/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/oncodebynotmyself.wordpress.com/1099/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/oncodebynotmyself.wordpress.com/1099/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/oncodebynotmyself.wordpress.com/1099/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/oncodebynotmyself.wordpress.com/1099/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/oncodebynotmyself.wordpress.com/1099/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/oncodebynotmyself.wordpress.com/1099/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/oncodebynotmyself.wordpress.com/1099/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/oncodebynotmyself.wordpress.com/1099/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/oncodebynotmyself.wordpress.com/1099/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/oncodebynotmyself.wordpress.com/1099/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/oncodebynotmyself.wordpress.com/1099/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=iamnotmyself.com&amp;blog=21373990&amp;post=1099&amp;subd=oncodebynotmyself&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://iamnotmyself.com/2012/01/24/sinister-bug-is-sinister/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/3f533296d128037c9af8381221f78dd6?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">notmyself74</media:title>
		</media:content>
	</item>
		<item>
		<title>SSDNUG Presents: James Thigpen &#8211; Moar Cats Please: Software Development at Cheezburger</title>
		<link>http://iamnotmyself.com/2012/01/18/ssdnug-presents-james-thigpen-moar-cats-please-software-development-at-cheezburger/</link>
		<comments>http://iamnotmyself.com/2012/01/18/ssdnug-presents-james-thigpen-moar-cats-please-software-development-at-cheezburger/#comments</comments>
		<pubDate>Wed, 18 Jan 2012 18:26:03 +0000</pubDate>
		<dc:creator>Bobby Johnson</dc:creator>
				<category><![CDATA[Development]]></category>
		<category><![CDATA[Events]]></category>
		<category><![CDATA[Local]]></category>

		<guid isPermaLink="false">http://iamnotmyself.com/?p=1093</guid>
		<description><![CDATA[The South Sound .NET Users group is proud to present James Thigpen on Thursday Feburary 9th at 7:00PM at the Olympia Center in the heart of downtown Olympia, WA. There is a lot of talk in an abstract sense about how agile software practices work. James is going to talk about how Cheezburger does agile [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=iamnotmyself.com&amp;blog=21373990&amp;post=1093&amp;subd=oncodebynotmyself&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>The <a href="http://ssdotnet.org/" target="_blank">South Sound .NET Users group</a> is proud to present James Thigpen on Thursday Feburary 9th at 7:00PM at the Olympia Center in the heart of downtown Olympia, WA.</p>
<p><a href="http://oncodebynotmyself.files.wordpress.com/2012/01/img_9545.jpg"><img class="alignleft size-medium wp-image-1094" title="IMG_9545" src="http://oncodebynotmyself.files.wordpress.com/2012/01/img_9545.jpg?w=300&#038;h=300" alt="" width="300" height="300" /></a></p>
<p>There is a lot of talk in an abstract sense about how agile software practices work. James is going to talk about how Cheezburger does agile with a remote team spread across the US and Europe. This isn&#8217;t theory, this is how Cheezburger ships code every day. Expect to hear what has worked and what failed.</p>
<p>Cheezburger is heavily invested in TDD, Continuous Deployment, Automated Testing, Split Testing, agile/lean methodologies, and continuous improvement. They have doubled the size of their team in the past year and lived to tell the tale. Cheezburger usually ships code more than ten times a day without interrupting the 1.8 million daily active users visiting their sites and they have a lot of fun doing it.</p>
<p>James Thigpen is the Director of Engineering at <a href="http://www.cheezburger.com/" target="_blank">Cheezburger Network</a>, one of the largest online humor companies in the world. James has a deep passion for agile and lean software development practices. He has a wide variety of experience developing software and leading teams in industries such as municipal inventory, biomedical imaging, IT management, and online media.</p>
<p>If you missed the January meeting with Adron Hall, you can still <a title="Adron Hall Visual Studio AWS Toolkit &amp; SDK Presentation Video" href="http://iamnotmyself.com/2012/01/14/adron-hall-visual-studio-aws-toolkit-sdk-presentation-video/" target="_blank">catch it online</a>.</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/oncodebynotmyself.wordpress.com/1093/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/oncodebynotmyself.wordpress.com/1093/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/oncodebynotmyself.wordpress.com/1093/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/oncodebynotmyself.wordpress.com/1093/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/oncodebynotmyself.wordpress.com/1093/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/oncodebynotmyself.wordpress.com/1093/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/oncodebynotmyself.wordpress.com/1093/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/oncodebynotmyself.wordpress.com/1093/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/oncodebynotmyself.wordpress.com/1093/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/oncodebynotmyself.wordpress.com/1093/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/oncodebynotmyself.wordpress.com/1093/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/oncodebynotmyself.wordpress.com/1093/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/oncodebynotmyself.wordpress.com/1093/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/oncodebynotmyself.wordpress.com/1093/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=iamnotmyself.com&amp;blog=21373990&amp;post=1093&amp;subd=oncodebynotmyself&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://iamnotmyself.com/2012/01/18/ssdnug-presents-james-thigpen-moar-cats-please-software-development-at-cheezburger/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/3f533296d128037c9af8381221f78dd6?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">notmyself74</media:title>
		</media:content>

		<media:content url="http://oncodebynotmyself.files.wordpress.com/2012/01/img_9545.jpg?w=300" medium="image">
			<media:title type="html">IMG_9545</media:title>
		</media:content>
	</item>
		<item>
		<title>The Day the LOLcats Died</title>
		<link>http://iamnotmyself.com/2012/01/18/the-day-the-lolcats-died/</link>
		<comments>http://iamnotmyself.com/2012/01/18/the-day-the-lolcats-died/#comments</comments>
		<pubDate>Wed, 18 Jan 2012 17:52:43 +0000</pubDate>
		<dc:creator>Bobby Johnson</dc:creator>
				<category><![CDATA[Commentary]]></category>

		<guid isPermaLink="false">http://iamnotmyself.com/?p=1091</guid>
		<description><![CDATA[&#160;<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=iamnotmyself.com&amp;blog=21373990&amp;post=1091&amp;subd=oncodebynotmyself&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>&nbsp;</p>
<p><span style="text-align:center; display: block;"><a href="http://iamnotmyself.com/2012/01/18/the-day-the-lolcats-died/"><img src="http://img.youtube.com/vi/1p-TV4jaCMk/2.jpg" alt="" /></a></span></p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/oncodebynotmyself.wordpress.com/1091/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/oncodebynotmyself.wordpress.com/1091/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/oncodebynotmyself.wordpress.com/1091/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/oncodebynotmyself.wordpress.com/1091/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/oncodebynotmyself.wordpress.com/1091/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/oncodebynotmyself.wordpress.com/1091/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/oncodebynotmyself.wordpress.com/1091/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/oncodebynotmyself.wordpress.com/1091/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/oncodebynotmyself.wordpress.com/1091/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/oncodebynotmyself.wordpress.com/1091/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/oncodebynotmyself.wordpress.com/1091/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/oncodebynotmyself.wordpress.com/1091/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/oncodebynotmyself.wordpress.com/1091/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/oncodebynotmyself.wordpress.com/1091/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=iamnotmyself.com&amp;blog=21373990&amp;post=1091&amp;subd=oncodebynotmyself&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://iamnotmyself.com/2012/01/18/the-day-the-lolcats-died/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/3f533296d128037c9af8381221f78dd6?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">notmyself74</media:title>
		</media:content>

		<media:content url="http://img.youtube.com/vi/1p-TV4jaCMk/2.jpg" medium="image" />
	</item>
		<item>
		<title>Displaying a Map of the Current Location with MonoTouch</title>
		<link>http://iamnotmyself.com/2012/01/17/displaying-a-map-of-the-current-location-with-monotouch/</link>
		<comments>http://iamnotmyself.com/2012/01/17/displaying-a-map-of-the-current-location-with-monotouch/#comments</comments>
		<pubDate>Tue, 17 Jan 2012 23:41:45 +0000</pubDate>
		<dc:creator>Bobby Johnson</dc:creator>
				<category><![CDATA[Development]]></category>
		<category><![CDATA[Learning in Public]]></category>

		<guid isPermaLink="false">http://iamnotmyself.com/?p=1077</guid>
		<description><![CDATA[Today, I started spiking on displaying maps in iOS using MonoTouch. I wanted to discover the minimum amount of code needed to get the users current location via the iOS GPS services and then display that location on the a map. To get the devices current location you need an instance of CLLocationManager found in [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=iamnotmyself.com&amp;blog=21373990&amp;post=1077&amp;subd=oncodebynotmyself&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Today, I started spiking on displaying maps in iOS using MonoTouch. I wanted to discover the minimum amount of code needed to get the users current location via the iOS GPS services and then display that location on the a map.</p>
<p>To get the devices current location you need an instance of CLLocationManager found in the MonoTouch.CoreLocation namespace. The location manager accesses the actual hardware on the device and can be a real power drain, so you want to use it as little as possible.</p>
<p><pre class="brush: csharp;">
using System;
using MonoTouch.CoreLocation;

namespace App.UI
{
	public class LocationService
	{
		private CLLocationManager locationManager;

		public LocationService()
		{
			locationManager = new CLLocationManager();
		}

		public CLLocationCoordinate2D GetCurrentLocation()
		{
			//dirty for now just to get some info.
			locationManager.StartUpdatingLocation();
			while(locationManager.Location == null);
			locationManager.StopUpdatingLocation();

			return locationManager.Location.Coordinate;
		}
	}
}
</pre></p>
<p>This simple service shows the absolute minimum needed to retrieve the devices current location. First, we tell the manager to StartUpdatingLocation which will trigger a dialog to the user requesting access to the devices location services. The current location is then available from the Location property. It takes a few seconds to populate though, which is why most of the demo code you will find uses a LocationDelegate to consume the data. I wanted something a little simpler because I don&#8217;t actually need updates to the location, so I spin until the Location property is not null. I then grab the Coordinate from the Location property and tell the manager to StopUpdatingLocation.</p>
<p>On a side note the user can disable location globally on the device. You can check to see if the user has done so via the static member LocationServicesEnabled. You could use this to display a dialog to ask the user to put in a zip code maybe as an alternative.</p>
<p>To display the location on a map for the user you will need to use the MKMapView from the MonoTouch.MapKit namespace. I have chosen to create a MapViewController class that extends UIViewController to wrap all this code in.</p>
<p><pre class="brush: csharp;">
using System;
using System.Drawing;

using MonoTouch.Foundation;
using MonoTouch.UIKit;
using MonoTouch.MapKit;
using MonoTouch.CoreLocation;

namespace App.UI
{
	public class MapViewController : UIViewController
	{
		private LocationService locationService;
		private MKMapView mapView;

		public ProductsViewController(LocationService locationService)
		{
			this.locationService = locationService;
		}

		public override void ViewDidLoad()
		{
			base.ViewDidLoad();

			var currentLocation = locationService.GetCurrentLocation();
			var visibleRegion = BuildVisibleRegion(currentLocation);

			mapView = BuildMapView(true);
			mapView.SetRegion(visibleRegion, true);

			this.View.AddSubview(mapView);
		}

		private MKMapView BuildMapView(bool showUserLocation)
		{
			var view = new MKMapView()
			{
				ShowsUserLocation = showUserLocation
			};

			view.SizeToFit();
			view.Frame = new RectangleF(0, 0, this.View.Frame.Width, this.View.Frame.Height);
			return view;
		}

		private MKCoordinateRegion BuildVisibleRegion(CLLocationCoordinate2D currentLocation)
		{
			var span = new MKCoordinateSpan(0.2,0.2);
			var region = new MKCoordinateRegion(currentLocation,span);

			return region;
		}
	}
}
</pre></p>
<p>This simple ViewController overrides the ViewDidLoad method, consumes the LocationService to get the current location and then displays that location on with a MKMapView. We build up the map view in two steps, the first creates the instance of the map view and sizes it to fit the viewable area of the given display. The MKMapView has a property that will automatically show an indicator of where the curent location is, setting this property is all you need to do to display the map and location. There is a catch though, if you were to display this map now you would see a map of the entire United States and not a reasonable local view of the area. The second step is what zooms the map into a reasonable region to display.</p>
<p>If we display this controller now in the iPhone Simulator, this is what we see.</p>
<p><a href="http://oncodebynotmyself.files.wordpress.com/2012/01/screen-shot-2012-01-17-at-3-39-31-pm.png"><img class="aligncenter size-full wp-image-1087" title="Screen Shot 2012-01-17 at 3.39.31 PM" src="http://oncodebynotmyself.files.wordpress.com/2012/01/screen-shot-2012-01-17-at-3-39-31-pm.png?w=630" alt=""   /></a></p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/oncodebynotmyself.wordpress.com/1077/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/oncodebynotmyself.wordpress.com/1077/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/oncodebynotmyself.wordpress.com/1077/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/oncodebynotmyself.wordpress.com/1077/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/oncodebynotmyself.wordpress.com/1077/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/oncodebynotmyself.wordpress.com/1077/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/oncodebynotmyself.wordpress.com/1077/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/oncodebynotmyself.wordpress.com/1077/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/oncodebynotmyself.wordpress.com/1077/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/oncodebynotmyself.wordpress.com/1077/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/oncodebynotmyself.wordpress.com/1077/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/oncodebynotmyself.wordpress.com/1077/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/oncodebynotmyself.wordpress.com/1077/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/oncodebynotmyself.wordpress.com/1077/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=iamnotmyself.com&amp;blog=21373990&amp;post=1077&amp;subd=oncodebynotmyself&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://iamnotmyself.com/2012/01/17/displaying-a-map-of-the-current-location-with-monotouch/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/3f533296d128037c9af8381221f78dd6?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">notmyself74</media:title>
		</media:content>

		<media:content url="http://oncodebynotmyself.files.wordpress.com/2012/01/screen-shot-2012-01-17-at-3-39-31-pm.png" medium="image">
			<media:title type="html">Screen Shot 2012-01-17 at 3.39.31 PM</media:title>
		</media:content>
	</item>
		<item>
		<title>Getting Started Building iOS Applications with MonoTouch</title>
		<link>http://iamnotmyself.com/2012/01/16/getting-started-building-ios-applications-with-monotouch/</link>
		<comments>http://iamnotmyself.com/2012/01/16/getting-started-building-ios-applications-with-monotouch/#comments</comments>
		<pubDate>Mon, 16 Jan 2012 17:02:48 +0000</pubDate>
		<dc:creator>Bobby Johnson</dc:creator>
				<category><![CDATA[Development]]></category>
		<category><![CDATA[Learning in Public]]></category>

		<guid isPermaLink="false">http://iamnotmyself.com/?p=1066</guid>
		<description><![CDATA[I have been flirting with the idea of getting into mobile development in my spare time. I have went so far as to offer myself out as a developer to startups in Chicago to develop simple iOS applications in exchange for tool licenses. I am a firm believer in the idea that a craftsman buys his own [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=iamnotmyself.com&amp;blog=21373990&amp;post=1066&amp;subd=oncodebynotmyself&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>I have been flirting with the idea of getting into mobile development in my spare time. I have went so far as to <a title="Will Write iOS Application for Licenses" href="http://iamnotmyself.com/2011/12/30/will-write-ios-application-for-licenses/" target="_blank">offer myself out as a developer</a> to startups in Chicago to develop simple iOS applications in exchange for tool licenses. I am a firm believer in the idea that a craftsman buys his own tools. I am not buying them with my own money here, but I certainly am with my effort.</p>
<p>I also wanted to turn this experience into a few blog posts that might help someone else who has chosen to go down the same path that I have.</p>
<p>So what does a .NET developer need to get started writing an iOS application? There are three things to consider here. The first being picking up Objective-C as a language, second is learning the iOS API and third is relearning how to do stuff we already know like consuming a JSON service. Put another way, we need to learn a language, a platform and the idiomatic way of doing things in this particular development culture. That is a lot to bite off in a short period of time and still be productive and getting stuff done.</p>
<p>For this reason, I chose to develop my first few applications using <a href="http://xamarin.com/monotouch" target="_blank">Xamarin&#8217;s MonoTouch</a>. Taking this route allows me to leverage my current skills with C# and the .NET platform while learning the iOS API and still manage to be productive. I can noodle around with Objective-C at a later time.</p>
<p>The first thing you will notice about MonoTouch is the price, at $399 it is quite a leap of faith. But you can install and use the evaluation version to your hearts content. You only have to pony up money once you are ready to ship to the App Store.</p>
<p>To get up and running with MonoTouch, you will need to install the following things in this order:</p>
<ol>
<li><a href="http://developer.apple.com/xcode/" target="_blank">XCode 4</a> &#8211; If you don&#8217;t mind paying $5, you can get this from the Apple App Store.</li>
<li><a href="http://monodevelop.com/" target="_blank">MonoDevelop</a> &#8211; This is a completely free IDE for the Mono framework.</li>
<li><a href="http://xamarin.com/trial" target="_blank">MonoTouch</a> Evaulation</li>
</ol>
<p>You will also need a Mac. Yes sorry, thems the breaks.</p>
<p>To create an iOS application simply select File &gt; New Project and dig down to the MonoTouch iPhone project template. There are also templates for iPad and Universal. Universal allows you to create a single application that will work on both the iPhone and the iPad. You can also create library assemblies just like you would expect in Visual Studio.</p>
<p>There is one catch though, MonoTouch project types are limited in the amount of the framework you will have access to work against and what 3rd party libraries you can reference. It is similar to working with Client Profile projects in Visual Studio. Everything you reference needs to target MonoTouch as well.</p>
<p>For instance, I have been working on an application that consumes a Xml-Rpc service.  There is already a fairly awesome OSS library from <a href="http://www.xml-rpc.net/" target="_blank">Cook Computing</a> for all your Xml-Rpc needs. You cannot simply download the dll and reference it in your project. The dll needs to be compiled as a MonoTouch assembly. And all code needs to conform to the limited framework profile of MonoTouch. Cook Computing&#8217;s library has both client and server components in one library. The server components depend on HttpResponse &amp; HttpReqeust which are not available in a MonoTouch application.</p>
<p>I was able to solve this problem fairly easily by creating my own fork of the Cook Computing library and pulling in only the types needed for client communication. I even went so far as to <a href="https://github.com/NotMyself/MonoTouch-Xml-Rpc" target="_blank">publish this work on GitHub</a> so others can simply use my fork and get back to making things awesome. Yay, OSS!</p>
<p>If you would like to look at a couple nontrivial applications written using MonoTouch to get an idea of where to start, the Washington State Department of Transportation has <a href="https://github.com/WSDOT/wsdot-iphone-app" target="_blank">a great application</a> published to the App Store now that is fully open source. I used this application as a guide post when creating my first MonoTouch app which you can find<a href="https://github.com/NotMyself/BigRReader" target="_blank"> here</a>.</p>
<p>This should be enough to get you on your way to writing your first application. I have some more tips around using OSS libraries and Unit Testing, but that will have to wait for another day in another blog post. Enjoy and happy non-conformist .NET application development day.</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/oncodebynotmyself.wordpress.com/1066/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/oncodebynotmyself.wordpress.com/1066/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/oncodebynotmyself.wordpress.com/1066/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/oncodebynotmyself.wordpress.com/1066/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/oncodebynotmyself.wordpress.com/1066/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/oncodebynotmyself.wordpress.com/1066/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/oncodebynotmyself.wordpress.com/1066/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/oncodebynotmyself.wordpress.com/1066/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/oncodebynotmyself.wordpress.com/1066/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/oncodebynotmyself.wordpress.com/1066/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/oncodebynotmyself.wordpress.com/1066/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/oncodebynotmyself.wordpress.com/1066/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/oncodebynotmyself.wordpress.com/1066/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/oncodebynotmyself.wordpress.com/1066/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=iamnotmyself.com&amp;blog=21373990&amp;post=1066&amp;subd=oncodebynotmyself&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://iamnotmyself.com/2012/01/16/getting-started-building-ios-applications-with-monotouch/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/3f533296d128037c9af8381221f78dd6?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">notmyself74</media:title>
		</media:content>
	</item>
		<item>
		<title>Adron Hall Visual Studio AWS Toolkit &amp; SDK Presentation Video</title>
		<link>http://iamnotmyself.com/2012/01/14/adron-hall-visual-studio-aws-toolkit-sdk-presentation-video/</link>
		<comments>http://iamnotmyself.com/2012/01/14/adron-hall-visual-studio-aws-toolkit-sdk-presentation-video/#comments</comments>
		<pubDate>Sat, 14 Jan 2012 16:00:18 +0000</pubDate>
		<dc:creator>Bobby Johnson</dc:creator>
				<category><![CDATA[Development]]></category>
		<category><![CDATA[Events]]></category>
		<category><![CDATA[Local]]></category>
		<category><![CDATA[Screencast]]></category>

		<guid isPermaLink="false">http://iamnotmyself.com/?p=1056</guid>
		<description><![CDATA[Overview During this presentation I will provide an overview of what is needed to get started using Visual Studio 2010 with the AWS Toolkit &#38; SDK. We&#8217;ll also cover the basic design ideas behind the do&#8217;s and don&#8217;ts of cloud architecture and development. There will be some hands on coding (if you&#8217;d like to bring [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=iamnotmyself.com&amp;blog=21373990&amp;post=1056&amp;subd=oncodebynotmyself&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<h2>Overview</h2>
<p>During this presentation I will provide an overview of what is needed to get started using Visual Studio 2010 with the AWS Toolkit &amp; SDK. We&#8217;ll also cover the basic design ideas behind the do&#8217;s and don&#8217;ts of cloud architecture and development. There will be some hands on coding (if you&#8217;d like to bring a laptop to follow along) and we will deploy code (wireless/cat5 connection pending) into AWS Cloud Services &amp; get EC2 instances up and running live!</p>
<h2>About Adron</h2>
<p>I’m a jovial, sometimes TDD (Test Driven Development), sometimes BDD (Behavior Driven Development), get things done well, software architect, engineer, code monkey, coder, or what have you. I run the gamut of development stacks between the .NET Framework &amp; Microsoft Technologies but will admit my latest favorite is Ruby on Rails and .NET MVC work with a touch of Sinatra’s clean architecture covered with an awesome layer of Javascript for tasty perfection. I love what I do and commonly add a very business oriented, get the job done, agile (sometimes eXtreme Agile, sometimes whatever it takes), and entrepreneurial effort to my work. I also like to mentor (teach), write (re: blog, etc), and even work on projects in addition to work related things.</p>
<p>You can find more on <a href="http://www.adronbhall.com/" target="_blank">his site</a>.</p>
<h2>Video</h2>
<div class='embed-vimeo' style='text-align:center;'><iframe src='http://player.vimeo.com/video/35056709' width='600' height='400' frameborder='0'></iframe></div>
<h2>Slides</h2>
<iframe src='http://www.slideshare.net/slideshow/embed_code/10807233' width='600' height='492'></iframe>
<h2>Source</h2>
<p>The <a href="https://github.com/Adron/AWS-Toolkit-Samples" target="_blank">source for this presentation</a> can be found on <a href="https://github.com/Adron" target="_blank">Adron&#8217;s github account</a>.</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/oncodebynotmyself.wordpress.com/1056/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/oncodebynotmyself.wordpress.com/1056/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/oncodebynotmyself.wordpress.com/1056/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/oncodebynotmyself.wordpress.com/1056/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/oncodebynotmyself.wordpress.com/1056/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/oncodebynotmyself.wordpress.com/1056/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/oncodebynotmyself.wordpress.com/1056/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/oncodebynotmyself.wordpress.com/1056/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/oncodebynotmyself.wordpress.com/1056/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/oncodebynotmyself.wordpress.com/1056/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/oncodebynotmyself.wordpress.com/1056/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/oncodebynotmyself.wordpress.com/1056/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/oncodebynotmyself.wordpress.com/1056/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/oncodebynotmyself.wordpress.com/1056/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=iamnotmyself.com&amp;blog=21373990&amp;post=1056&amp;subd=oncodebynotmyself&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://iamnotmyself.com/2012/01/14/adron-hall-visual-studio-aws-toolkit-sdk-presentation-video/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/3f533296d128037c9af8381221f78dd6?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">notmyself74</media:title>
		</media:content>
	</item>
		<item>
		<title>Testing Rendered Output of NancyFx with the Razor View Engine Gotchas</title>
		<link>http://iamnotmyself.com/2012/01/03/testing-rendered-output-of-nancyfx-with-the-razor-view-engine-gotchas/</link>
		<comments>http://iamnotmyself.com/2012/01/03/testing-rendered-output-of-nancyfx-with-the-razor-view-engine-gotchas/#comments</comments>
		<pubDate>Tue, 03 Jan 2012 19:29:59 +0000</pubDate>
		<dc:creator>Bobby Johnson</dc:creator>
				<category><![CDATA[Development]]></category>
		<category><![CDATA[Tools]]></category>
		<category><![CDATA[Unit Testing]]></category>

		<guid isPermaLink="false">http://iamnotmyself.com/?p=1036</guid>
		<description><![CDATA[I have been working on a small sample application called SignMeUp. My intention is to practice concepts I am learning while reading Growing Object Oriented Software Guided by Tests. I am using the awesome NancyFx micro-framework my web delivery mechanism and Razor as my view engine. To start I have the following unit test. I [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=iamnotmyself.com&amp;blog=21373990&amp;post=1036&amp;subd=oncodebynotmyself&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>I have been working on a small sample application called <a href="https://github.com/NotMyself/SignMeUp" target="_blank">SignMeUp</a>. My intention is to practice concepts I am learning while reading <a href="http://www.growing-object-oriented-software.com/" target="_blank">Growing Object Oriented Software Guided by Tests</a>. I am using the awesome <a href="http://www.nancyfx.org/" target="_blank">NancyFx</a> micro-framework my web delivery mechanism and Razor as my view engine. </p>
<p>To start I have the following unit test.</p>
<p><pre class="brush: csharp;">
    [TestFixture]
    public class when_visiting_the_root_of_the_site : with_a_browser
    {
        private BrowserResponse response;

        public override void Given()
        {
            Configure(with =&gt;
            {
                with.Module&lt;RootModule&gt;();
                with.Dependency&lt;IEmailService&gt;(Substitute.For&lt;IEmailService&gt;());
                with.Dependency&lt;DataContext&gt;(TestDataContextFactory.Build());
            });

            base.Given();
        }
        
        public override void When()
        {
            response = subject.Get(&quot;/&quot;);
        }

        [Test]
        public void it_should_be_successful()
        {
            response.StatusCode.ShouldBe(HttpStatusCode.OK);
        }

        [Test]
        public void it_should_show_the_signup_form()
        {
            response.Body[&quot;form&quot;].ShouldExistOnce()
                    .And.Attribute[&quot;action&quot;].ShouldBe(&quot;/&quot;);
        }
    }
</pre></p>
<p>I have been beating my head against a problem for a few days (over the course of several 1-2 hour development sessions) that has been baffling me. This test compiles and executes and the first test returns successful. The second test has always failed because the Body collection was always empty. The truly enraging thing is I could fire up the site in IISExpress and see that it worked properly.</p>
<p>After searching the internet high and low, trolling source repositories of example apps and finally breaking down and scouring the NancyFx source I have discovered the root of my problem.</p>
<p><strong>Gotcha #1</strong>: When executing end to end tests like this from a test library you need to makes sure that your test assembly has knowledge of your views. The simplest solution for this is to set all your views to &#8220;Copy if newer&#8221; in the properties dialog in visual studio. The default view location should work from here. </p>
<p><strong>Gotcha #2:</strong> Your test assembly needs to reference Nancy.ViewEngines.Razor. If you do not have this reference, Nancy will happily process your request and simply return an empty body. No error, no warning, nothing.</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/oncodebynotmyself.wordpress.com/1036/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/oncodebynotmyself.wordpress.com/1036/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/oncodebynotmyself.wordpress.com/1036/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/oncodebynotmyself.wordpress.com/1036/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/oncodebynotmyself.wordpress.com/1036/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/oncodebynotmyself.wordpress.com/1036/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/oncodebynotmyself.wordpress.com/1036/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/oncodebynotmyself.wordpress.com/1036/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/oncodebynotmyself.wordpress.com/1036/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/oncodebynotmyself.wordpress.com/1036/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/oncodebynotmyself.wordpress.com/1036/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/oncodebynotmyself.wordpress.com/1036/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/oncodebynotmyself.wordpress.com/1036/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/oncodebynotmyself.wordpress.com/1036/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=iamnotmyself.com&amp;blog=21373990&amp;post=1036&amp;subd=oncodebynotmyself&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://iamnotmyself.com/2012/01/03/testing-rendered-output-of-nancyfx-with-the-razor-view-engine-gotchas/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/3f533296d128037c9af8381221f78dd6?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">notmyself74</media:title>
		</media:content>
	</item>
		<item>
		<title>Will Write iOS Application for Licenses</title>
		<link>http://iamnotmyself.com/2011/12/30/will-write-ios-application-for-licenses/</link>
		<comments>http://iamnotmyself.com/2011/12/30/will-write-ios-application-for-licenses/#comments</comments>
		<pubDate>Fri, 30 Dec 2011 23:59:20 +0000</pubDate>
		<dc:creator>Bobby Johnson</dc:creator>
				<category><![CDATA[Development]]></category>

		<guid isPermaLink="false">http://iamnotmyself.com/?p=1032</guid>
		<description><![CDATA[I am interested in getting more into iOS development. I have written some prototypes with XCode and MonoTouch. I really like MonoTouch and would really like my own license, so I can create some personal applications and play in the space. But sadly am unable to afford it at the moment. That is where you [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=iamnotmyself.com&amp;blog=21373990&amp;post=1032&amp;subd=oncodebynotmyself&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>I am interested in getting more into iOS development. I have written some prototypes with XCode and MonoTouch. I really like <a href="http://xamarin.com/monotouch">MonoTouch</a> and would really like my own license, so I can create some personal applications and play in the space. But sadly am unable to afford it at the moment. </p>
<p>That is where you come in. If you would like a simple iOS application for your organization and are willing to fund the purchase price of an Apple Developers license and a MonoTouch license, I will develop an application for you and walk it through the Apple submission process to get it up on the App Store. </p>
<p>Here are some more details:<br />
<strong>Apple Developers License:</strong> $99<br />
<strong>MonoTouch Professional License:</strong> $399<br />
<strong>Payment Method:</strong> PayPal</p>
<p>Example of what I can do with the MonoTouch trial.</p>
<div class='embed-vimeo' style='text-align:center;'><iframe src='http://player.vimeo.com/video/16606415' width='600' height='400' frameborder='0'></iframe></div>
<p>This application consumes &amp; displays rss &amp; twitter feeds as well as showing some nice existing web content. This is the type of application I am offering to build for you.</p>
<p>Sound like a deal? Are you interested? Contact me.</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/oncodebynotmyself.wordpress.com/1032/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/oncodebynotmyself.wordpress.com/1032/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/oncodebynotmyself.wordpress.com/1032/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/oncodebynotmyself.wordpress.com/1032/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/oncodebynotmyself.wordpress.com/1032/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/oncodebynotmyself.wordpress.com/1032/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/oncodebynotmyself.wordpress.com/1032/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/oncodebynotmyself.wordpress.com/1032/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/oncodebynotmyself.wordpress.com/1032/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/oncodebynotmyself.wordpress.com/1032/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/oncodebynotmyself.wordpress.com/1032/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/oncodebynotmyself.wordpress.com/1032/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/oncodebynotmyself.wordpress.com/1032/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/oncodebynotmyself.wordpress.com/1032/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=iamnotmyself.com&amp;blog=21373990&amp;post=1032&amp;subd=oncodebynotmyself&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://iamnotmyself.com/2011/12/30/will-write-ios-application-for-licenses/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/3f533296d128037c9af8381221f78dd6?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">notmyself74</media:title>
		</media:content>
	</item>
		<item>
		<title>Getting Gilded Rose Under Test</title>
		<link>http://iamnotmyself.com/2011/12/22/getting-gilded-rose-under-test/</link>
		<comments>http://iamnotmyself.com/2011/12/22/getting-gilded-rose-under-test/#comments</comments>
		<pubDate>Thu, 22 Dec 2011 18:49:29 +0000</pubDate>
		<dc:creator>Bobby Johnson</dc:creator>
				<category><![CDATA[Screencast]]></category>
		<category><![CDATA[Tools]]></category>
		<category><![CDATA[Unit Testing]]></category>

		<guid isPermaLink="false">http://iamnotmyself.com/?p=1024</guid>
		<description><![CDATA[While I was attending the Software Craftsmanship North America conference this year, Ian Davis post a video of himself performing the Gilded Rose Kata. I really enjoyed watching it and wanted to take a stab at it myself. I had a couple hours to kill sitting at O&#8217;Hair waiting on my flight so I fired [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=iamnotmyself.com&amp;blog=21373990&amp;post=1024&amp;subd=oncodebynotmyself&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>While I was attending the <a href="http://scna.softwarecraftsmanship.org/" target="_blank">Software Craftsmanship North America</a> conference this year, <a href="https://twitter.com/ianfdavis" target="_blank">Ian Davis</a> post a video of himself <a href="http://vimeo.com/32427432" target="_blank">performing the Gilded Rose Kata</a>. I really enjoyed watching it and wanted to take a stab at it myself. I had a couple hours to kill sitting at O&#8217;Hair waiting on my flight so I fired up my environment and  took a stab at it. </p>
<p>This video is the result of that session. The video consists of me getting the system under test. I did attempt a refactoring a couple times but kept driving to Ian&#8217;s solution because it was to fresh in my head. So I trimmed the solution out of my video and left only the testing. Go watch Ian&#8217;s video for a elegant solution to the problem. Do note that there is a signifigant amount of play and experimentation in this video, I am just dorking around.</p>
<p>It took me a while to post this because I originally recorded the session using Camtasia:Mac, which is a horribly broken piece of software. I had to wait until I could get a license for ScreenFlow before acutally producing the video. If you are in the market for software to do this kind of video, go with ScreenFlow.</p>
<p>If you are interested, I am using the <a href="https://github.com/codereflection/Giles" target="_blank">Giles</a> auto test runner, <a href="http://nunit.org/" target="_blank">Nunit</a> and several <a href="http://www.jetbrains.com/resharper/" target="_blank">Resharper</a> macros in the video. You can find my source on <a href="https://github.com/NotMyself/GildedRose" target="_blank">github</a>.</p>
<div class='embed-vimeo' style='text-align:center;'><iframe src='http://player.vimeo.com/video/34091297' width='600' height='400' frameborder='0'></iframe></div>
<p>Be sure to watch in HD it makes the text much more readable.</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/oncodebynotmyself.wordpress.com/1024/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/oncodebynotmyself.wordpress.com/1024/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/oncodebynotmyself.wordpress.com/1024/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/oncodebynotmyself.wordpress.com/1024/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/oncodebynotmyself.wordpress.com/1024/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/oncodebynotmyself.wordpress.com/1024/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/oncodebynotmyself.wordpress.com/1024/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/oncodebynotmyself.wordpress.com/1024/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/oncodebynotmyself.wordpress.com/1024/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/oncodebynotmyself.wordpress.com/1024/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/oncodebynotmyself.wordpress.com/1024/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/oncodebynotmyself.wordpress.com/1024/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/oncodebynotmyself.wordpress.com/1024/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/oncodebynotmyself.wordpress.com/1024/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=iamnotmyself.com&amp;blog=21373990&amp;post=1024&amp;subd=oncodebynotmyself&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://iamnotmyself.com/2011/12/22/getting-gilded-rose-under-test/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/3f533296d128037c9af8381221f78dd6?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">notmyself74</media:title>
		</media:content>
	</item>
		<item>
		<title>The Four Rules of Simple Design</title>
		<link>http://iamnotmyself.com/2011/12/21/the-four-rules-of-simple-design/</link>
		<comments>http://iamnotmyself.com/2011/12/21/the-four-rules-of-simple-design/#comments</comments>
		<pubDate>Wed, 21 Dec 2011 15:00:53 +0000</pubDate>
		<dc:creator>Bobby Johnson</dc:creator>
				<category><![CDATA[Fundamentals]]></category>

		<guid isPermaLink="false">http://iamnotmyself.com/?p=1021</guid>
		<description><![CDATA[When you first get involved with agile development, you quickly hear about the SOLID principals and design patterns. They are a bit much to bite off at first. Through the Ruby community I have discovered a simpler more fundamental set of guidance for beginners that appear to be fundamentals for the higher level principals of SOLID, called [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=iamnotmyself.com&amp;blog=21373990&amp;post=1021&amp;subd=oncodebynotmyself&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>When you first get involved with agile development, you quickly hear about the <a href="http://butunclebob.com/ArticleS.UncleBob.PrinciplesOfOod" target="_blank">SOLID</a> principals and <a href="http://en.wikipedia.org/wiki/Design_Patterns" target="_blank">design patterns</a>. They are a bit much to bite off at first. Through the Ruby community I have discovered a simpler more fundamental set of guidance for beginners that appear to be fundamentals for the higher level principals of SOLID, called the <a href="http://c2.com/cgi/wiki?XpSimplicityRules" target="_blank">Four Rules of Simple Design</a>:</p>
<blockquote>
<ul>
<li>Pass all tests</li>
<li>Clear, expressive &amp; consistent</li>
<li>Duplicates no behavior or configuration</li>
<li>Minimal methods, classes &amp; modules</li>
</ul>
</blockquote>
<div>Here is an <a href="http://www.jbrains.ca/permalink/the-four-elements-of-simple-design" target="_blank">amazing introduction to the concept</a> by <a href="http://www.jbrains.ca/" target="_blank">JB Rains</a>.</div>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/oncodebynotmyself.wordpress.com/1021/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/oncodebynotmyself.wordpress.com/1021/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/oncodebynotmyself.wordpress.com/1021/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/oncodebynotmyself.wordpress.com/1021/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/oncodebynotmyself.wordpress.com/1021/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/oncodebynotmyself.wordpress.com/1021/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/oncodebynotmyself.wordpress.com/1021/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/oncodebynotmyself.wordpress.com/1021/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/oncodebynotmyself.wordpress.com/1021/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/oncodebynotmyself.wordpress.com/1021/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/oncodebynotmyself.wordpress.com/1021/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/oncodebynotmyself.wordpress.com/1021/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/oncodebynotmyself.wordpress.com/1021/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/oncodebynotmyself.wordpress.com/1021/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=iamnotmyself.com&amp;blog=21373990&amp;post=1021&amp;subd=oncodebynotmyself&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://iamnotmyself.com/2011/12/21/the-four-rules-of-simple-design/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/3f533296d128037c9af8381221f78dd6?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">notmyself74</media:title>
		</media:content>
	</item>
	</channel>
</rss>
