<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:dc="http://purl.org/dc/elements/1.1/" version="2.0"><channel><atom:link rel="hub" href="http://tumblr.superfeedr.com/" xmlns:atom="http://www.w3.org/2005/Atom"/><description>A blog about Erik, Cats, Newts, Owls, Crafts, Cars, Toys and Microsoft! I liked Erik before he was popular.</description><title>He watches MST3K</title><generator>Tumblr (3.0; @firebellys)</generator><link>http://firebelly.net/</link><item><title>Was also kicking around the idea of adding a platformer as a...</title><description>&lt;iframe width="400" height="299" src="http://www.youtube.com/embed/FfPFxkQlMSA?wmode=transparent&amp;autohide=1&amp;egm=0&amp;hd=1&amp;iv_load_policy=3&amp;modestbranding=1&amp;rel=0&amp;showinfo=0&amp;showsearch=0" frameborder="0" allowfullscreen&gt;&lt;/iframe&gt;&lt;br/&gt;&lt;br/&gt;&lt;p&gt;Was also kicking around the idea of adding a platformer as a minigame/puzzle aspect to the game.&lt;/p&gt;</description><link>http://firebelly.net/post/24244839733</link><guid>http://firebelly.net/post/24244839733</guid><pubDate>Fri, 01 Jun 2012 22:16:58 -0700</pubDate><category>Platformer</category><category>Pixel</category></item><item><title>temporusthegame:

added some detail and the other background.
</title><description>&lt;img src="http://24.media.tumblr.com/tumblr_m4topfqWru1rsx2xno1_500.png"/&gt;&lt;br/&gt;&lt;br/&gt;&lt;p&gt;&lt;a class="tumblr_blog" href="http://www.tempor.us/post/24051278444/added-some-detail-and-the-other-background"&gt;temporusthegame&lt;/a&gt;:&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;added some detail and the other background.&lt;/p&gt;
&lt;/blockquote&gt;</description><link>http://firebelly.net/post/24051281387</link><guid>http://firebelly.net/post/24051281387</guid><pubDate>Tue, 29 May 2012 23:29:47 -0700</pubDate></item><item><title>temporusthegame:

Another city in progress
</title><description>&lt;img src="http://24.media.tumblr.com/tumblr_m4tgdns5Ix1rsx2xno1_500.png"/&gt;&lt;br/&gt;&lt;br/&gt;&lt;p&gt;&lt;a class="tumblr_blog" href="http://www.tempor.us/post/24043434316/another-city-in-progress"&gt;temporusthegame&lt;/a&gt;:&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;Another city in progress&lt;/p&gt;
&lt;/blockquote&gt;</description><link>http://firebelly.net/post/24043461959</link><guid>http://firebelly.net/post/24043461959</guid><pubDate>Tue, 29 May 2012 20:30:00 -0700</pubDate><category>pixel</category><category>art</category><category>Temporus</category><category>pixelart</category></item><item><title>First draft of a background.</title><description>&lt;img src="http://24.media.tumblr.com/tumblr_m4jl4zVrXa1qa8z42o1_r1_500.png"/&gt;&lt;br/&gt;&lt;br/&gt;&lt;p&gt;First draft of a background.&lt;/p&gt;</description><link>http://firebelly.net/post/23684309676</link><guid>http://firebelly.net/post/23684309676</guid><pubDate>Thu, 24 May 2012 12:36:00 -0700</pubDate><category>pixelart</category><category>pixel</category><category>temporus</category><category>space</category></item><item><title>temporusthegame:

Placeholder graphic for a barge thingy.
</title><description>&lt;img src="http://24.media.tumblr.com/tumblr_m4gq98MMIn1rsx2xno1_r1_400.png"/&gt;&lt;br/&gt;&lt;br/&gt;&lt;p&gt;&lt;a class="tumblr_blog" href="http://www.tempor.us/post/23597769872/placeholder-graphic-for-a-barge-thingy"&gt;temporusthegame&lt;/a&gt;:&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;Placeholder graphic for a barge thingy.&lt;/p&gt;
&lt;/blockquote&gt;</description><link>http://firebelly.net/post/23684197541</link><guid>http://firebelly.net/post/23684197541</guid><pubDate>Thu, 24 May 2012 12:34:35 -0700</pubDate></item><item><title>Out of Context IMs (2008)</title><description>Anna: there must be a lot of naked people in Oregon because we can only vote by mail in ballot&lt;br /&gt;&#13;
me: I didn't bring shopping carts full of porn and christmas trees into the living room at 4am still not sure how that got up the stairs</description><link>http://firebelly.net/post/23303174165</link><guid>http://firebelly.net/post/23303174165</guid><pubDate>Fri, 18 May 2012 12:41:39 -0700</pubDate></item><item><title>Crawling multiple environments with Sharepoint and BCS</title><description>&lt;p&gt;This is something most people will not do. I ran into a situation where I needed to crawl multiple CRM environments for testing. We wanted to use a single BCS connector to get the data into Sharepoint, but didn&amp;#8217;t want to have to create a bunch of different versions for each environment. The BDC model allows for multiple instances of the connector which solves our issue. Here is the run down of how it works.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;&lt;span&gt;Requirement&lt;/span&gt;&lt;/strong&gt;&lt;span&gt;: BDC Model must support N number of external similar systems feeding data to a SharePoint Crawl, feeding to FAST. &lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt; &lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;&lt;span&gt;Limitations&lt;/span&gt;&lt;/strong&gt;&lt;span&gt;: Each system is of the same technology. In our case, CRM 4. If they are mixed, you must provide some contextual logic to handle the different types. Example: if using a DB, follow a certain logic path, if CRM, do something else. This is fine as long as the outcome is the same entity type like a contact or an appointment.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt; &lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;&lt;span&gt;How it works:&lt;/span&gt;&lt;/strong&gt;&lt;span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;Your model must have an instance for every external system. As shown here in your BDC model.&lt;/span&gt;&lt;/p&gt;
&lt;pre&gt;&lt;strong&gt;&lt;span&gt;   &amp;lt;&lt;/span&gt;&lt;/strong&gt;&lt;strong&gt;&lt;span&gt;LobSystemInstances&lt;/span&gt;&lt;/strong&gt;&lt;strong&gt;&lt;span&gt;&amp;gt;&lt;/span&gt;&lt;/strong&gt;&lt;/pre&gt;
&lt;pre&gt;&lt;strong&gt;&lt;span&gt;        &amp;lt;&lt;/span&gt;&lt;/strong&gt;&lt;strong&gt;&lt;span&gt;LobSystemInstance&lt;/span&gt;&lt;/strong&gt;&lt;strong&gt;&lt;span&gt; Name="&lt;/span&gt;&lt;/strong&gt;&lt;strong&gt;&lt;span&gt;BDC_Model_InstanceDEV&lt;/span&gt;&lt;/strong&gt;&lt;strong&gt;&lt;span&gt;" DefaultDisplayName="&lt;/span&gt;&lt;/strong&gt;&lt;strong&gt;&lt;span&gt;BMGF_Model_InstanceAS1&lt;/span&gt;&lt;/strong&gt;&lt;strong&gt;&lt;span&gt;"&amp;gt;&lt;/span&gt;&lt;/strong&gt;&lt;/pre&gt;
&lt;pre&gt;&lt;strong&gt;&lt;span&gt;          &amp;lt;&lt;/span&gt;&lt;/strong&gt;&lt;strong&gt;&lt;span&gt;Properties&lt;/span&gt;&lt;/strong&gt;&lt;strong&gt;&lt;span&gt;&amp;gt;&lt;/span&gt;&lt;/strong&gt;&lt;/pre&gt;
&lt;pre&gt;&lt;strong&gt;&lt;span&gt;            &amp;lt;&lt;/span&gt;&lt;/strong&gt;&lt;strong&gt;&lt;span&gt;Property&lt;/span&gt;&lt;/strong&gt;&lt;strong&gt;&lt;span&gt; Name="&lt;/span&gt;&lt;/strong&gt;&lt;strong&gt;&lt;span&gt;ShowInSearchUI&lt;/span&gt;&lt;/strong&gt;&lt;strong&gt;&lt;span&gt;" Type="&lt;/span&gt;&lt;/strong&gt;&lt;strong&gt;&lt;span&gt;System.String&lt;/span&gt;&lt;/strong&gt;&lt;strong&gt;&lt;span&gt;"&amp;gt;True&amp;lt;/&lt;/span&gt;&lt;/strong&gt;&lt;strong&gt;&lt;span&gt;Property&lt;/span&gt;&lt;/strong&gt;&lt;strong&gt;&lt;span&gt;&amp;gt;&lt;/span&gt;&lt;/strong&gt;&lt;/pre&gt;
&lt;pre&gt;&lt;strong&gt;&lt;span&gt;            &amp;lt;&lt;/span&gt;&lt;/strong&gt;&lt;strong&gt;&lt;span&gt;Property&lt;/span&gt;&lt;/strong&gt;&lt;strong&gt;&lt;span&gt; Name="&lt;/span&gt;&lt;/strong&gt;&lt;strong&gt;&lt;span&gt;ConnectionString&lt;/span&gt;&lt;/strong&gt;&lt;strong&gt;&lt;span&gt;" Type="&lt;/span&gt;&lt;/strong&gt;&lt;strong&gt;&lt;span&gt;System.String&lt;/span&gt;&lt;/strong&gt;&lt;strong&gt;&lt;span&gt;"&amp;gt;&lt;a href="http://devas1crmwebv01/mscrmservices/2007/crmservice.asmx%3c/Property"&gt;http://DEVENV&amp;lt;/Property&lt;/a&gt;&amp;gt;&lt;/span&gt;&lt;/strong&gt;&lt;/pre&gt;
&lt;pre&gt;&lt;strong&gt;&lt;span&gt;            &amp;lt;&lt;/span&gt;&lt;/strong&gt;&lt;strong&gt;&lt;span&gt;Property&lt;/span&gt;&lt;/strong&gt;&lt;strong&gt;&lt;span&gt; Name="&lt;/span&gt;&lt;/strong&gt;&lt;strong&gt;&lt;span&gt;SourceSystemShortName&lt;/span&gt;&lt;/strong&gt;&lt;strong&gt;&lt;span&gt;" Type="&lt;/span&gt;&lt;/strong&gt;&lt;strong&gt;&lt;span&gt;System.String&lt;/span&gt;&lt;/strong&gt;&lt;strong&gt;&lt;span&gt;"&amp;gt;DEV&amp;lt;/&lt;/span&gt;&lt;/strong&gt;&lt;strong&gt;&lt;span&gt;Property&lt;/span&gt;&lt;/strong&gt;&lt;strong&gt;&lt;span&gt;&amp;gt;&lt;/span&gt;&lt;/strong&gt;&lt;/pre&gt;
&lt;pre&gt;&lt;strong&gt;&lt;span&gt;          &amp;lt;/&lt;/span&gt;&lt;/strong&gt;&lt;strong&gt;&lt;span&gt;Properties&lt;/span&gt;&lt;/strong&gt;&lt;strong&gt;&lt;span&gt;&amp;gt;&lt;/span&gt;&lt;/strong&gt;&lt;/pre&gt;
&lt;pre&gt;&lt;strong&gt;&lt;span&gt;        &amp;lt;/&lt;/span&gt;&lt;/strong&gt;&lt;strong&gt;&lt;span&gt;LobSystemInstance&lt;/span&gt;&lt;/strong&gt;&lt;strong&gt;&lt;span&gt;&amp;gt;&lt;/span&gt;&lt;/strong&gt;&lt;/pre&gt;
&lt;pre&gt;&lt;strong&gt;&lt;span&gt;        &amp;lt;&lt;/span&gt;&lt;/strong&gt;&lt;strong&gt;&lt;span&gt;LobSystemInstance&lt;/span&gt;&lt;/strong&gt;&lt;strong&gt;&lt;span&gt; Name="&lt;/span&gt;&lt;/strong&gt;&lt;strong&gt;&lt;span&gt;BDC_Model_InstanceDEV2&lt;/span&gt;&lt;/strong&gt;&lt;strong&gt;&lt;span&gt;" DefaultDisplayName="&lt;/span&gt;&lt;/strong&gt;&lt;strong&gt;&lt;span&gt;BMGF_Model_InstanceDEV2&lt;/span&gt;&lt;/strong&gt;&lt;strong&gt;&lt;span&gt;"&amp;gt;&lt;/span&gt;&lt;/strong&gt;&lt;/pre&gt;
&lt;pre&gt;&lt;strong&gt;&lt;span&gt;          &amp;lt;&lt;/span&gt;&lt;/strong&gt;&lt;strong&gt;&lt;span&gt;Properties&lt;/span&gt;&lt;/strong&gt;&lt;strong&gt;&lt;span&gt;&amp;gt;&lt;/span&gt;&lt;/strong&gt;&lt;/pre&gt;
&lt;pre&gt;&lt;strong&gt;&lt;span&gt;            &amp;lt;&lt;/span&gt;&lt;/strong&gt;&lt;strong&gt;&lt;span&gt;Property&lt;/span&gt;&lt;/strong&gt;&lt;strong&gt;&lt;span&gt; Name="&lt;/span&gt;&lt;/strong&gt;&lt;strong&gt;&lt;span&gt;ShowInSearchUI&lt;/span&gt;&lt;/strong&gt;&lt;strong&gt;&lt;span&gt;" Type="&lt;/span&gt;&lt;/strong&gt;&lt;strong&gt;&lt;span&gt;System.String&lt;/span&gt;&lt;/strong&gt;&lt;strong&gt;&lt;span&gt;"&amp;gt;True&amp;lt;/&lt;/span&gt;&lt;/strong&gt;&lt;strong&gt;&lt;span&gt;Property&lt;/span&gt;&lt;/strong&gt;&lt;strong&gt;&lt;span&gt;&amp;gt;&lt;/span&gt;&lt;/strong&gt;&lt;/pre&gt;
&lt;pre&gt;&lt;strong&gt;&lt;span&gt;            &amp;lt;&lt;/span&gt;&lt;/strong&gt;&lt;strong&gt;&lt;span&gt;Property&lt;/span&gt;&lt;/strong&gt;&lt;strong&gt;&lt;span&gt; Name="&lt;/span&gt;&lt;/strong&gt;&lt;strong&gt;&lt;span&gt;ConnectionString&lt;/span&gt;&lt;/strong&gt;&lt;strong&gt;&lt;span&gt;" Type="&lt;/span&gt;&lt;/strong&gt;&lt;strong&gt;&lt;span&gt;System.String&lt;/span&gt;&lt;/strong&gt;&lt;strong&gt;&lt;span&gt;"&amp;gt;&lt;a href="http://devst1crmwebv01/mscrmservices/2007/crmservice.asmx%3c/Property"&gt;http://DEVENV2&amp;lt;/Property&lt;/a&gt;&amp;gt;&lt;/span&gt;&lt;/strong&gt;&lt;/pre&gt;
&lt;pre&gt;&lt;strong&gt;&lt;span&gt;            &amp;lt;&lt;/span&gt;&lt;/strong&gt;&lt;strong&gt;&lt;span&gt;Property&lt;/span&gt;&lt;/strong&gt;&lt;strong&gt;&lt;span&gt; Name="&lt;/span&gt;&lt;/strong&gt;&lt;strong&gt;&lt;span&gt;SourceSystemShortName&lt;/span&gt;&lt;/strong&gt;&lt;strong&gt;&lt;span&gt;" Type="&lt;/span&gt;&lt;/strong&gt;&lt;strong&gt;&lt;span&gt;System.String&lt;/span&gt;&lt;/strong&gt;&lt;strong&gt;&lt;span&gt;"&amp;gt;DEV2&amp;lt;/&lt;/span&gt;&lt;/strong&gt;&lt;strong&gt;&lt;span&gt;Property&lt;/span&gt;&lt;/strong&gt;&lt;strong&gt;&lt;span&gt;&amp;gt;&lt;/span&gt;&lt;/strong&gt;&lt;/pre&gt;
&lt;pre&gt;&lt;strong&gt;&lt;span&gt;          &amp;lt;/&lt;/span&gt;&lt;/strong&gt;&lt;strong&gt;&lt;span&gt;Properties&lt;/span&gt;&lt;/strong&gt;&lt;strong&gt;&lt;span&gt;&amp;gt;&lt;/span&gt;&lt;/strong&gt;&lt;/pre&gt;
&lt;pre&gt;&lt;strong&gt;&lt;span&gt;        &amp;lt;/&lt;/span&gt;&lt;/strong&gt;&lt;strong&gt;&lt;span&gt;LobSystemInstance&lt;/span&gt;&lt;/strong&gt;&lt;strong&gt;&lt;span&gt;&amp;gt;&lt;/span&gt;&lt;/strong&gt;&lt;/pre&gt;
&lt;pre&gt;&lt;strong&gt;&lt;span&gt;      &amp;lt;/&lt;/span&gt;&lt;/strong&gt;&lt;strong&gt;&lt;span&gt;LobSystemInstances&lt;/span&gt;&lt;/strong&gt;&lt;strong&gt;&lt;span&gt;&amp;gt;&lt;/span&gt;&lt;/strong&gt;&lt;/pre&gt;
&lt;p class="MsoNormal"&gt;&lt;span&gt; &lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;You will require these libraries. (I know it seems like a lot, but you have to interact with Sharepoint and the BCS service)&lt;/span&gt;&lt;/p&gt;
&lt;pre&gt;&lt;strong&gt;&lt;span&gt;using&lt;/span&gt;&lt;/strong&gt;&lt;strong&gt;&lt;span&gt; Microsoft.BusinessData.Runtime;&lt;/span&gt;&lt;/strong&gt;&lt;/pre&gt;
&lt;pre&gt;&lt;strong&gt;&lt;span&gt;using&lt;/span&gt;&lt;/strong&gt;&lt;strong&gt;&lt;span&gt; Microsoft.BusinessData.MetadataModel.Collections;&lt;/span&gt;&lt;/strong&gt;&lt;/pre&gt;
&lt;pre&gt;&lt;strong&gt;&lt;span&gt;using&lt;/span&gt;&lt;/strong&gt;&lt;strong&gt;&lt;span&gt; Microsoft.BusinessData.SystemSpecific;&lt;/span&gt;&lt;/strong&gt;&lt;/pre&gt;
&lt;pre&gt;&lt;strong&gt;&lt;span&gt;using&lt;/span&gt;&lt;/strong&gt;&lt;strong&gt;&lt;span&gt; Microsoft.BusinessData.MetadataModel;&lt;/span&gt;&lt;/strong&gt;&lt;/pre&gt;
&lt;pre&gt;&lt;strong&gt;&lt;span&gt;using&lt;/span&gt;&lt;/strong&gt;&lt;strong&gt;&lt;span&gt; Microsoft.SharePoint.BusinessData.SharedService;&lt;/span&gt;&lt;/strong&gt;&lt;/pre&gt;
&lt;pre&gt;&lt;strong&gt;&lt;span&gt;using&lt;/span&gt;&lt;/strong&gt;&lt;strong&gt;&lt;span&gt; Microsoft.SharePoint.Administration;&lt;/span&gt;&lt;/strong&gt;&lt;/pre&gt;
&lt;pre&gt;&lt;strong&gt;&lt;span&gt;using&lt;/span&gt;&lt;/strong&gt;&lt;strong&gt;&lt;span&gt; Microsoft.SharePoint;&lt;/span&gt;&lt;/strong&gt;&lt;/pre&gt;
&lt;p&gt;&lt;span&gt;Inherit the IContextProperties on your BCS class (In our case all three classes). This is required to get the current instance of the LOBInstance to come across the wire. Without this, your instance will always be null.&lt;/span&gt;&lt;/p&gt;
&lt;pre&gt;&lt;strong&gt;&lt;span&gt;    &lt;/span&gt;&lt;/strong&gt;&lt;strong&gt;&lt;span&gt;public&lt;/span&gt;&lt;/strong&gt;&lt;strong&gt;&lt;span&gt; &lt;/span&gt;&lt;/strong&gt;&lt;strong&gt;&lt;span&gt;class&lt;/span&gt;&lt;/strong&gt;&lt;strong&gt;&lt;span&gt; &lt;/span&gt;&lt;/strong&gt;&lt;strong&gt;&lt;span&gt;ContactService&lt;/span&gt;&lt;/strong&gt;&lt;strong&gt;&lt;span&gt; : &lt;/span&gt;&lt;/strong&gt;&lt;strong&gt;&lt;span&gt;IContextProperty&lt;/span&gt;&lt;/strong&gt;&lt;/pre&gt;
&lt;p&gt;&lt;span&gt; &lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;Use this to grab the current instance of the LOB System. You are basically just calling the farm, asking for an instance of the service and running queries against it. This also gets you the catalog of services in the BDC instance. In our case there should only be one.&lt;/span&gt;&lt;/p&gt;
&lt;pre&gt;&lt;strong&gt;&lt;span&gt;            &lt;/span&gt;&lt;/strong&gt;&lt;strong&gt;&lt;span&gt;var&lt;/span&gt;&lt;/strong&gt;&lt;strong&gt;&lt;span&gt; localBDC = &lt;/span&gt;&lt;/strong&gt;&lt;strong&gt;&lt;span&gt;SPFarm&lt;/span&gt;&lt;/strong&gt;&lt;strong&gt;&lt;span&gt;.Local.Services.GetValue&amp;lt;&lt;/span&gt;&lt;/strong&gt;&lt;strong&gt;&lt;span&gt;BdcService&lt;/span&gt;&lt;/strong&gt;&lt;strong&gt;&lt;span&gt;&amp;gt;();&lt;/span&gt;&lt;/strong&gt;&lt;/pre&gt;
&lt;pre&gt;&lt;strong&gt;&lt;span&gt;            &lt;/span&gt;&lt;/strong&gt;&lt;strong&gt;&lt;span&gt;IMetadataCatalog&lt;/span&gt;&lt;/strong&gt;&lt;strong&gt;&lt;span&gt; catalog = localBDC.GetDatabaseBackedMetadataCatalog(&lt;/span&gt;&lt;/strong&gt;&lt;strong&gt;&lt;span&gt;SPServiceContext&lt;/span&gt;&lt;/strong&gt;&lt;strong&gt;&lt;span&gt;.Current);&lt;/span&gt;&lt;/strong&gt;&lt;/pre&gt;
&lt;p&gt;&lt;span&gt;You can now cycle through the properties of that current instance instead of all the instances.&lt;/span&gt;&lt;/p&gt;
&lt;pre&gt;&lt;strong&gt;&lt;span&gt;            &lt;/span&gt;&lt;/strong&gt;&lt;strong&gt;&lt;span&gt;INamedPropertyDictionary&lt;/span&gt;&lt;/strong&gt;&lt;strong&gt;&lt;span&gt; properties = LobSystemInstance.GetProperties();&lt;/span&gt;&lt;/strong&gt;&lt;/pre&gt;
&lt;pre&gt;&lt;strong&gt;&lt;span&gt;            &lt;/span&gt;&lt;/strong&gt;&lt;strong&gt;&lt;span&gt;if&lt;/span&gt;&lt;/strong&gt;&lt;strong&gt;&lt;span&gt; (properties != &lt;/span&gt;&lt;/strong&gt;&lt;strong&gt;&lt;span&gt;null&lt;/span&gt;&lt;/strong&gt;&lt;strong&gt;&lt;span&gt;)&lt;/span&gt;&lt;/strong&gt;&lt;/pre&gt;
&lt;pre&gt;&lt;strong&gt;&lt;span&gt;            {&lt;/span&gt;&lt;/strong&gt;&lt;/pre&gt;
&lt;pre&gt;&lt;strong&gt;&lt;span&gt;                &lt;/span&gt;&lt;/strong&gt;&lt;strong&gt;&lt;span&gt;foreach&lt;/span&gt;&lt;/strong&gt;&lt;strong&gt;&lt;span&gt; (&lt;/span&gt;&lt;/strong&gt;&lt;strong&gt;&lt;span&gt;var&lt;/span&gt;&lt;/strong&gt;&lt;strong&gt;&lt;span&gt; prop &lt;/span&gt;&lt;/strong&gt;&lt;strong&gt;&lt;span&gt;in&lt;/span&gt;&lt;/strong&gt;&lt;strong&gt;&lt;span&gt; properties)&lt;/span&gt;&lt;/strong&gt;&lt;/pre&gt;
&lt;pre&gt;&lt;strong&gt;&lt;span&gt;                {&lt;/span&gt;&lt;/strong&gt;&lt;/pre&gt;
&lt;pre&gt;&lt;strong&gt;&lt;span&gt;                    &lt;/span&gt;&lt;/strong&gt;&lt;strong&gt;&lt;span&gt;if&lt;/span&gt;&lt;/strong&gt;&lt;strong&gt;&lt;span&gt; (prop.Key == &lt;/span&gt;&lt;/strong&gt;&lt;strong&gt;&lt;span&gt;"ConnectionString"&lt;/span&gt;&lt;/strong&gt;&lt;strong&gt;&lt;span&gt;)&lt;/span&gt;&lt;/strong&gt;&lt;/pre&gt;
&lt;pre&gt;&lt;strong&gt;&lt;span&gt;                    {&lt;/span&gt;&lt;/strong&gt;&lt;/pre&gt;
&lt;pre&gt;&lt;strong&gt;&lt;span&gt;                        currentConnectionString = prop.Value.ToString();&lt;/span&gt;&lt;/strong&gt;&lt;/pre&gt;
&lt;pre&gt;&lt;strong&gt;&lt;span&gt;                    }&lt;/span&gt;&lt;/strong&gt;&lt;/pre&gt;
&lt;pre&gt;&lt;strong&gt;&lt;span&gt;                    &lt;/span&gt;&lt;/strong&gt;&lt;strong&gt;&lt;span&gt;if&lt;/span&gt;&lt;/strong&gt;&lt;strong&gt;&lt;span&gt; (prop.Key == &lt;/span&gt;&lt;/strong&gt;&lt;strong&gt;&lt;span&gt;"SourceSystemShortName"&lt;/span&gt;&lt;/strong&gt;&lt;strong&gt;&lt;span&gt;)&lt;/span&gt;&lt;/strong&gt;&lt;/pre&gt;
&lt;pre&gt;&lt;strong&gt;&lt;span&gt;                    {&lt;/span&gt;&lt;/strong&gt;&lt;/pre&gt;
&lt;pre&gt;&lt;strong&gt;&lt;span&gt;                        shortName = prop.Value.ToString();&lt;/span&gt;&lt;/strong&gt;&lt;/pre&gt;
&lt;pre&gt;&lt;strong&gt;&lt;span&gt;                    }&lt;/span&gt;&lt;/strong&gt;&lt;/pre&gt;
&lt;pre&gt;&lt;strong&gt;&lt;span&gt;                }&lt;/span&gt;&lt;/strong&gt;&lt;/pre&gt;
&lt;pre&gt;&lt;strong&gt;&lt;span&gt;            }&lt;/span&gt;&lt;/strong&gt;&lt;/pre&gt;
&lt;p&gt;&lt;span&gt; &lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;It is important that you reuse the same service instance throughout your method to ensure the instance context is the same. If you search for contacts and it goes out to find related items, it needs to hit the same crm system. If you plan ahead enough, you can come up with a pretty robust system that can be fed any variable you need. Our issue is that crawl isn&amp;#8217;t very smart in the sense that it just fires off every method in every instance without any intervention. So getting the context is difficult at run time.&lt;/span&gt;&lt;/p&gt;</description><link>http://firebelly.net/post/23238179619</link><guid>http://firebelly.net/post/23238179619</guid><pubDate>Thu, 17 May 2012 11:27:57 -0700</pubDate></item><item><title>Random images</title><description>&lt;img src="http://25.media.tumblr.com/tumblr_m323owe0BQ1qa8z42o1_500.gif"/&gt;&lt;br/&gt; &lt;br/&gt;&lt;img src="http://24.media.tumblr.com/tumblr_m323owe0BQ1qa8z42o2_500.png"/&gt;&lt;br/&gt; &lt;br/&gt;&lt;p&gt;Random images&lt;/p&gt;</description><link>http://firebelly.net/post/21807470923</link><guid>http://firebelly.net/post/21807470923</guid><pubDate>Wed, 25 Apr 2012 15:26:56 -0700</pubDate></item><item><title>BDC Models are fickle horrible creatures.</title><description>&lt;p&gt;When you are trying to integrate a complex system, such as CRM4, in to a Sharepoint environment. One might look to using BCS inside Sharepoint to make the connection. The only problem I see with this, is the fact I have to model my external data inside a BDC Model.  At it&amp;#8217;s core, the model is just a defined set of entities inside some xml. Pretty simple. The problems start when you realize the errors you get back from BCS don&amp;#8217;t always tell the entire truth. When using external data for FAST Search crawls on sharepoint, you need to add all these hidden fields to the model.&lt;/p&gt;
&lt;p&gt;First things first. You need to define two methods, which is pretty standard. One Finder and Specific Finder. Make sure you define your Finder as the RootFinder per entity. To avoid issues with the Finder method, use List&amp;lt;&amp;gt;, because it has a blank constructor. &lt;/p&gt;
&lt;p&gt;              &amp;lt;MethodInstances&amp;gt;&lt;/p&gt;
&lt;p&gt;                &amp;lt;MethodInstance Type=&amp;#8221;&lt;strong&gt;Finder&lt;/strong&gt;&amp;#8221; ReturnParameterName=&amp;#8221;returnParameter&amp;#8221; Default=&amp;#8221;true&amp;#8221; Name=&amp;#8221;ReadList&amp;#8221; DefaultDisplayName=&amp;#8221;GetContacts&amp;#8221;&amp;gt;&lt;/p&gt;
&lt;p&gt;                  &amp;lt;Properties&amp;gt;&lt;/p&gt;
&lt;p&gt;                    &amp;lt;Property Name=&amp;#8221;&lt;strong&gt;RootFinder&lt;/strong&gt;&amp;#8221; Type=&amp;#8221;System.String&amp;#8221;&amp;gt;&amp;lt;/Property&amp;gt;&lt;/p&gt;
&lt;p&gt;                  &amp;lt;/Properties&amp;gt;&lt;/p&gt;
&lt;p&gt;                &amp;lt;/MethodInstance&amp;gt;&lt;/p&gt;
&lt;p&gt;              &amp;lt;/MethodInstances&amp;gt;&lt;/p&gt;
&lt;p&gt;Next make sure your Entity has a show in search field, that enables that &amp;#8220;Crawlable&amp;#8221; key word inside Sharepoint. Also, the timestamp is important for searching in FAST as the crawl. The name in that property has to match the name of the timestamp that comes back from your SpecificFinder&lt;/p&gt;
&lt;p&gt;          &amp;lt;Properties&amp;gt;&lt;/p&gt;
&lt;p&gt;            &amp;lt;Property Name=&amp;#8221;Class&amp;#8221; Type=&amp;#8221;System.String&amp;#8221;&amp;gt;BLAHBLAH, BMGF_CRM_Model&amp;lt;/Property&amp;gt;&lt;/p&gt;
&lt;p&gt;            &amp;lt;Property Name=&amp;#8221;&lt;strong&gt;__BdcLastModifiedTimestamp&lt;/strong&gt;&amp;#8221; Type=&amp;#8221;System.String&amp;#8221;&amp;gt;LastUpdatedDate&amp;lt;/Property&amp;gt;&lt;/p&gt;
&lt;p&gt;            &amp;lt;Property Name=&amp;#8221;&lt;strong&gt;ShowInSearchUI&lt;/strong&gt;&amp;#8221; Type=&amp;#8221;System.String&amp;#8221;&amp;gt;True&amp;lt;/Property&amp;gt;&lt;/p&gt;
&lt;p&gt;          &amp;lt;/Properties&amp;gt;&lt;/p&gt;
&lt;p&gt;Also double check that all your types match, the model will build, validate and deploy even though all the values in the XML could be missing or flat out wrong.&lt;/p&gt;

&lt;p&gt;Case in important.&lt;/p&gt;

&lt;p&gt;&lt;a href="http://lightningtools.com/blog/archive/2011/01/26/cannot-find-property-with-name-x-on-the-parent-objectndashbcs.aspx"&gt;&lt;a href="http://lightningtools.com/blog/archive/2011/01/26/cannot-find-property-with-name-x-on-the-parent-objectndashbcs.aspx"&gt;http://lightningtools.com/blog/archive/2011/01/26/cannot-find-property-with-name-x-on-the-parent-objectndashbcs.aspx&lt;/a&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href="http://www.lightningtools.com/blog/archive/2010/12/13/bcs--access-denied.-you-do-not-have-permission-to.aspx"&gt;&lt;a href="http://www.lightningtools.com/blog/archive/2010/12/13/bcs--access-denied.-you-do-not-have-permission-to.aspx"&gt;http://www.lightningtools.com/blog/archive/2010/12/13/bcs&amp;#8212;access-denied.-you-do-not-have-permission-to.aspx&lt;/a&gt;&lt;/a&gt;&lt;/p&gt;</description><link>http://firebelly.net/post/21294202242</link><guid>http://firebelly.net/post/21294202242</guid><pubDate>Tue, 17 Apr 2012 16:53:12 -0700</pubDate></item><item><title>How its done.</title><description>&lt;img src="http://25.media.tumblr.com/tumblr_m1qjtcEjEN1qa8z42o1_500.gif"/&gt;&lt;br/&gt;&lt;br/&gt;&lt;p&gt;How its done.&lt;/p&gt;</description><link>http://firebelly.net/post/20213677400</link><guid>http://firebelly.net/post/20213677400</guid><pubDate>Fri, 30 Mar 2012 23:10:23 -0700</pubDate></item><item><title>Video</title><description>&lt;iframe width="400" height="300" src="http://www.youtube.com/embed/qIgog4WlrZE?wmode=transparent&amp;autohide=1&amp;egm=0&amp;hd=1&amp;iv_load_policy=3&amp;modestbranding=1&amp;rel=0&amp;showinfo=0&amp;showsearch=0" frameborder="0" allowfullscreen&gt;&lt;/iframe&gt;&lt;br/&gt;&lt;br/&gt;</description><link>http://firebelly.net/post/17745409234</link><guid>http://firebelly.net/post/17745409234</guid><pubDate>Thu, 16 Feb 2012 18:37:00 -0800</pubDate></item><item><title>Show Seek Cloud ground breaking and Show Seek WP7 Updates.</title><description>&lt;p&gt;&lt;strong&gt;Show Seek Update&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;For the last few months, I&amp;#8217;ve been trying to think of ways to make the WP7 app better. This included a UI revamp with &lt;a href="http://www.telerik.com/products/windows-phone.aspx"&gt;Telerik controls&lt;/a&gt; and some random things involving state. When I first made the app, I was using &lt;a href="http://msdn.microsoft.com/en-us/library/system.io.isolatedstorage.isolatedstoragesettings(v=vs.95).aspx"&gt;IsolatedStorageSettings&lt;/a&gt; all over the place. Saving often. This was fine until a few months ago, I added the aiblity for the app to get all events at once. This would mean you would have a List&amp;lt;&amp;gt; with over 10K objects in it. The objects were not that complex, maybe 20 elements. After this my app began to slow to a crawl and lock up often. This was good and bad. It identified cracks in my design. And proved that San Francisco has too many musical events going on. I started by profiling my application using &lt;a href="http://msdn.microsoft.com/en-us/library/hh202935%28v=VS.92%29.aspx"&gt;VS2010&amp;#8217;s built in profiler&lt;/a&gt;. You can break down the performance of your application into great detail. Take a while to really dive into the levels of metrics it records. I could see right away that my app was struggling to do anything on the phone, with a pegged CPU and pegging memory. I had a problem. I started to think about what would impact these things. I narrowed it down to four things.&lt;/p&gt;
&lt;!-- more --&gt;&lt;ol&gt;&lt;li&gt;Saving to IsolatedStorage is EXPENSIVE, manipulating megs of data can be time consuming. As noted by many people, silverlight applications scale by entire factors from Desktop to Emulator to Phone. If a task takes 1ms on Desktop which becomes 10ms on Emulator which becomes 100ms on the Phone.&lt;/li&gt;
&lt;li&gt;Using custom ApplicationFrame transitions is EXPENSIVE (when you have complicated UI trees). It doesn&amp;#8217;t matter if you use &lt;a href="http://www.telerik.com/products/windows-phone/overview/all-controls.aspx#applicationframe"&gt;Telerik&amp;#8217;s own control&lt;/a&gt; or &lt;a href="http://silverlight.codeplex.com/releases"&gt;Silverlight toolkit&amp;#8217;s version &lt;/a&gt;of it. Both can kill performance. Just think about it trying to figure out how to render 10K stackpanels with other controls in them. This is an ongoing challenge. It may become a pointless debate as dual, quad core handsets come out. Most of this is CPU dependent.&lt;/li&gt;
&lt;li&gt;Reading from Isolated is also Expensive. If the file is large, an older phone can have issues.&lt;/li&gt;
&lt;li&gt;Memory is faster than reading from storage. This is a no brainer. I hadn&amp;#8217;t grasped state management when I first created the app and it was missing.&lt;/li&gt;
&lt;/ol&gt;&lt;p&gt;First thing I did was read from disk ONCE and write ONCE. There are events for all entries and exits in your application. Located in the App.xaml.cs you can add code for setting up your Session Context and for saving it on close. &lt;/p&gt;
&lt;p&gt;Create an object to hold your settings from &amp;#8220;disk&amp;#8221;.&lt;/p&gt;
&lt;pre&gt;&lt;pre&gt;        &lt;span&gt;private&lt;/span&gt; &lt;span&gt;IsolatedStorageSettings&lt;/span&gt; _userSettings;
&lt;/pre&gt;
&lt;/pre&gt;
&lt;p&gt;Then load it with the data. This is where you take the largest hit on a phone.&lt;/p&gt;
&lt;pre&gt;            _userSettings &lt;span&gt;=&lt;/span&gt; &lt;span&gt;IsolatedStorageSettings&lt;/span&gt;&lt;span&gt;.&lt;/span&gt;ApplicationSettings;
&lt;/pre&gt;
&lt;p&gt;Here are the events. There are limits to what you save here. If it&amp;#8217;s too big or takes too long to save, you will get a COM error. 0x80040204&lt;/p&gt;
&lt;pre&gt;        &lt;span&gt;private&lt;/span&gt; &lt;span&gt;void&lt;/span&gt; Application_Launching(&lt;span&gt;object&lt;/span&gt; sender, &lt;span&gt;LaunchingEventArgs&lt;/span&gt; e)
        {
            SetupState();
        }
 
        &lt;span&gt;private&lt;/span&gt; &lt;span&gt;void&lt;/span&gt; Application_Activated(&lt;span&gt;object&lt;/span&gt; sender, &lt;span&gt;ActivatedEventArgs&lt;/span&gt; e)
        {
            SetupState();
        }
 
        &lt;span&gt;private&lt;/span&gt; &lt;span&gt;void&lt;/span&gt; Application_Deactivated(&lt;span&gt;object&lt;/span&gt; sender, &lt;span&gt;DeactivatedEventArgs&lt;/span&gt; e)
        {
            SaveStateToPhone();
 
        }
 
        &lt;span&gt;private&lt;/span&gt; &lt;span&gt;void&lt;/span&gt; Application_Closing(&lt;span&gt;object&lt;/span&gt; sender, &lt;span&gt;ClosingEventArgs&lt;/span&gt; e)
        {
            SaveStateToPhone();
        }&lt;br/&gt;&lt;/pre&gt;
&lt;p&gt;Putting all the saves and reads into one place helped a lot. Good performance gains. This meant though that the app failed because now data wasn&amp;#8217;t available as before. This was solved with using ApplicationState. Which is basically volatile storage in memory. I used some code from somewhere..&lt;/p&gt;
&lt;pre&gt;    &lt;span&gt;public&lt;/span&gt; &lt;span&gt;class&lt;/span&gt; &lt;span&gt;StateManager&lt;/span&gt;
    {
        &lt;span&gt;private&lt;/span&gt; &lt;span&gt;static&lt;/span&gt; &lt;span&gt;PhoneApplicationService&lt;/span&gt; appService &lt;span&gt;=&lt;/span&gt; &lt;span&gt;PhoneApplicationService&lt;/span&gt;&lt;span&gt;.&lt;/span&gt;Current;
 
        &lt;span&gt;public&lt;/span&gt; &lt;span&gt;static&lt;/span&gt; &lt;span&gt;void&lt;/span&gt; Set&lt;span&gt;&amp;lt;&lt;/span&gt;T&lt;span&gt;&amp;gt;&lt;/span&gt;(&lt;span&gt;string&lt;/span&gt; name, T value)
        {
            appService&lt;span&gt;.&lt;/span&gt;State[name] &lt;span&gt;=&lt;/span&gt; value;
        }
 
        &lt;span&gt;public&lt;/span&gt; &lt;span&gt;static&lt;/span&gt; T Get&lt;span&gt;&amp;lt;&lt;/span&gt;T&lt;span&gt;&amp;gt;&lt;/span&gt;(&lt;span&gt;string&lt;/span&gt; name)
        {
            T result &lt;span&gt;=&lt;/span&gt; &lt;span&gt;default&lt;/span&gt;(T);
 
            &lt;span&gt;if&lt;/span&gt; (appService&lt;span&gt;.&lt;/span&gt;State&lt;span&gt;.&lt;/span&gt;ContainsKey(name))
            {
                result &lt;span&gt;=&lt;/span&gt; (T)appService&lt;span&gt;.&lt;/span&gt;State[name];
            }
 
            &lt;span&gt;return&lt;/span&gt; result;
        }
    }&lt;/pre&gt;
&lt;p&gt;I also removed the rootframe animation because it was too much.&lt;/p&gt;
&lt;p&gt;By now I had seen some really good changes for the better. The last thing to do was to trim the input data. I had a List&amp;lt;&amp;gt; with thousands or tens of thousands of records in it. I realized it wasn&amp;#8217;t realistic to store those in storage all the time. My next move was to actually cripple the application slightly on purpose.&lt;/p&gt;
&lt;p&gt;Right now if you search for everything, everywhere, all the time. You will get back about 10K+ results, which span a time period of a few months. I think to a majority of users, what they really care about is the next few days (weekend). When you quit the app before it saved all the items into the phone. This was time consuming. when you start it back it, bang your old data is there. But&amp;#8230;first, aren&amp;#8217;t you going to hit refresh anyway? If you come back to the app quickly chances are it is because you are looking for an event coming up soon.&lt;/p&gt;
&lt;p&gt;Another fun tweak was to the map. Imagine a WP7 map control with 10K items loaded. The windows map is not very smart and will actually try and load 10K at once, even though it&amp;#8217;s not ON the screen. It will kill performance.&lt;/p&gt;
&lt;p&gt;Basically I took some other peoples ideas and just draw items on the map that I can see.&lt;/p&gt;
&lt;pre&gt;        &lt;span&gt;private&lt;/span&gt; &lt;span&gt;static&lt;/span&gt; &lt;span&gt;bool&lt;/span&gt; PointIsVisibleInMap(&lt;span&gt;GeoCoordinate&lt;/span&gt; point, &lt;span&gt;Map&lt;/span&gt; map)
        {
            &lt;span&gt;var&lt;/span&gt; rect &lt;span&gt;=&lt;/span&gt; map&lt;span&gt;.&lt;/span&gt;BoundingRectangle;
            &lt;span&gt;var&lt;/span&gt; corner &lt;span&gt;=&lt;/span&gt; &lt;span&gt;new&lt;/span&gt; &lt;span&gt;GeoCoordinate&lt;/span&gt;(rect&lt;span&gt;.&lt;/span&gt;Southeast&lt;span&gt;.&lt;/span&gt;Latitude, rect&lt;span&gt;.&lt;/span&gt;Southeast&lt;span&gt;.&lt;/span&gt;Longitude);
            &lt;span&gt;var&lt;/span&gt; center &lt;span&gt;=&lt;/span&gt; &lt;span&gt;new&lt;/span&gt; &lt;span&gt;GeoCoordinate&lt;/span&gt;(map&lt;span&gt;.&lt;/span&gt;Center&lt;span&gt;.&lt;/span&gt;Latitude, map&lt;span&gt;.&lt;/span&gt;Center&lt;span&gt;.&lt;/span&gt;Longitude);
            &lt;span&gt;var&lt;/span&gt; pointdistance &lt;span&gt;=&lt;/span&gt; center&lt;span&gt;.&lt;/span&gt;GetDistanceTo(corner);
            &lt;span&gt;var&lt;/span&gt; centerdistance &lt;span&gt;=&lt;/span&gt; point&lt;span&gt;.&lt;/span&gt;GetDistanceTo(center);
            &lt;span&gt;return&lt;/span&gt; pointdistance &lt;span&gt;&amp;gt;&lt;/span&gt; centerdistance;
        }&lt;/pre&gt;
&lt;p&gt;This takes in a WP7 map, and gets a simple set of coordinates from it, and checks if it&amp;#8217;s inside that box. I get worried about this kind of calculation because it&amp;#8217;s can&amp;#8217;t be amazingly accurate. Phone location services seem to be very simplified. So far it seems to work perfectly though. So I guess MS is doing it right?&lt;/p&gt;
&lt;p&gt;I also removed all the ads because why the hell not.&lt;/p&gt;
&lt;p&gt;So that&amp;#8217;s that.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Show Seek Cloud&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;I have moved over almost all the searching code from Show Seek to Show Seek Cloud which is going to be a combination of &lt;a href="https://www.windowsazure.com/en-us/develop/overview/"&gt;Azure WCF Service, Azure SQL&lt;/a&gt; and some super simple webpage with jquery or what ever nonsense the kids are using this week. Once this is complete, any webpage can sign up, and get data fed to them. Mobile apps can too. &lt;/p&gt;</description><link>http://firebelly.net/post/17651552017</link><guid>http://firebelly.net/post/17651552017</guid><pubDate>Wed, 15 Feb 2012 01:39:00 -0800</pubDate></item><item><title>Games I'm watching or playing</title><description>&lt;p&gt;Here is a bunch of videos of upcoming games. No other reason than I like the way they look.&lt;/p&gt;
&lt;!-- more --&gt;
&lt;p&gt;&lt;iframe frameborder="0" height="315" src="http://www.youtube.com/embed/CWUU0vvWLRo" width="560"&gt;&lt;/iframe&gt;&lt;br/&gt;&lt;br/&gt;&lt;iframe frameborder="0" height="315" src="http://www.youtube.com/embed/T6a0WR2-tLg" width="560"&gt;&lt;/iframe&gt;&lt;br/&gt;&lt;br/&gt;&lt;iframe frameborder="0" height="225" src="http://player.vimeo.com/video/35967858?title=0&amp;amp;byline=0&amp;amp;portrait=0" width="400"&gt;&lt;/iframe&gt; &lt;br/&gt;&lt;br/&gt;&lt;iframe frameborder="0" height="315" src="http://www.youtube.com/embed/D7VJ4lP-05A" width="560"&gt;&lt;/iframe&gt; &lt;br/&gt;&lt;br/&gt;&lt;iframe frameborder="0" height="315" src="http://www.youtube.com/embed/6c23AI_GtPQ" width="420"&gt;&lt;/iframe&gt;&lt;/p&gt;</description><link>http://firebelly.net/post/17626408144</link><guid>http://firebelly.net/post/17626408144</guid><pubDate>Tue, 14 Feb 2012 15:15:00 -0800</pubDate><category>games</category></item><item><title>Destruction of content attribution</title><description>&lt;p&gt;Blog sites have become the popular source of &amp;#8220;journalism&amp;#8221; today. Many self proclaimed geeks go to sites like Gizmodo for &amp;#8220;news&amp;#8221;. My first point is something most of us know. These sites don&amp;#8217;t actually much if any content. They are just regurgitating content from somewhere else. Posting pictures or stories by other people. My main problem with this is attribution. When someone writes a great article or makes some pictures, blog sites summarize most of the content. In the end, the best thing to do is to click the link at the bottom and see the original content. But even this is getting to a point of uselessness. Content is written in a journal, posted to a webpage, reddit will pick it up, someone on facebook will share it, it gets posted to Pintrest where a Gawker site will post it with a few extra sentences. You have to have a PhD in network path design to trace back to the original content. It used to be, you go to a search engine and see an article. Social Media like twitter, facebook make the act of linking a disaster that does everyone a disservice. I think as internet users, you should think before you share.&lt;/p&gt;
&lt;p&gt;By Erik Umenhofer on digg five years ago via reddit via fark via google via facebook via myspace via orkut via delicious via my friends house.&lt;/p&gt;</description><link>http://firebelly.net/post/17388174017</link><guid>http://firebelly.net/post/17388174017</guid><pubDate>Fri, 10 Feb 2012 13:59:00 -0800</pubDate></item><item><title>(via Mutant Bunny Print Series 2011 - #12 Dragon Bunny) Final...</title><description>&lt;img src="http://25.media.tumblr.com/tumblr_lyzklsHiSl1qa8z42o1_500.gif"/&gt;&lt;br/&gt;&lt;br/&gt;&lt;p&gt;(via &lt;a href="http://www.joeledbetter.com/2011_dragon_bunny.html"&gt;Mutant Bunny Print Series 2011 - #12 Dragon Bunny&lt;/a&gt;) Final Bunny!&lt;/p&gt;</description><link>http://firebelly.net/post/17163317549</link><guid>http://firebelly.net/post/17163317549</guid><pubDate>Mon, 06 Feb 2012 11:25:04 -0800</pubDate></item><item><title>Even in the future, cats are ASSHOLES.</title><description>&lt;iframe width="400" height="300" src="http://www.youtube.com/embed/4-7s2PAxsww?wmode=transparent&amp;autohide=1&amp;egm=0&amp;hd=1&amp;iv_load_policy=3&amp;modestbranding=1&amp;rel=0&amp;showinfo=0&amp;showsearch=0" frameborder="0" allowfullscreen&gt;&lt;/iframe&gt;&lt;br/&gt;&lt;br/&gt;&lt;p&gt;Even in the future, cats are ASSHOLES.&lt;/p&gt;</description><link>http://firebelly.net/post/16879946179</link><guid>http://firebelly.net/post/16879946179</guid><pubDate>Wed, 01 Feb 2012 13:25:02 -0800</pubDate></item><item><title>How my app works</title><description>&lt;img src="http://24.media.tumblr.com/tumblr_lyn8wtGjzH1qa8z42o1_500.png"/&gt;&lt;br/&gt;&lt;br/&gt;&lt;p&gt;How my app works&lt;/p&gt;</description><link>http://firebelly.net/post/16801398123</link><guid>http://firebelly.net/post/16801398123</guid><pubDate>Mon, 30 Jan 2012 19:41:17 -0800</pubDate></item><item><title>StarWarsLego on Flickr.</title><description>&lt;img src="http://24.media.tumblr.com/tumblr_lxzafy2qE71qa8z42o1_500.jpg"/&gt;&lt;br/&gt;&lt;br/&gt;&lt;p&gt;&lt;a href="http://www.flickr.com/photos/firebellys/6718494619/" title="StarWarsLego"&gt;StarWarsLego&lt;/a&gt; on Flickr.&lt;/p&gt;</description><link>http://firebelly.net/post/16049850552</link><guid>http://firebelly.net/post/16049850552</guid><pubDate>Tue, 17 Jan 2012 21:11:00 -0800</pubDate></item><item><title>MOFO'ing BARLEY RISOTTO IN YOUR FACE!!</title><description>&lt;p&gt;Risotto is normally a dish made with arboreal riceand hella cheese, which is an italian short grain rice. It&amp;#8217;s known for being starchy as hell. So risotto can be made with other things, as long as they are super starchy. We can talk rice till the ewe&amp;#8217;s come home, but for now., LET&amp;#8217;S MAKE SOME FOOODZZZ &lt;/p&gt;
&lt;p&gt;STUFF&lt;/p&gt;
&lt;ul&gt;&lt;li&gt;1&amp;#160;C Barley&lt;/li&gt;
&lt;li&gt;2 Boxes of Stock / 8 Cups Chicken or Veggie Broth&lt;/li&gt;
&lt;li&gt;1 Clove Garlic&lt;/li&gt;
&lt;li&gt;1 Shallot&lt;/li&gt;
&lt;li&gt;1 Handful of SHROOOMS! PICK YOUR FAVORITE! (Crimini, Morels, Chanterelles  are good)&lt;/li&gt;
&lt;li&gt;Some Thyme for taste&lt;/li&gt;
&lt;li&gt;A (east) BAY LEAF&lt;/li&gt;
&lt;li&gt;A bunch of PARMESAN CHEESE (And Pecorino if you fancy that)&lt;/li&gt;
&lt;li&gt;SOME WHITE WINE, I don&amp;#8217;t CARE WHAT, as long as it&amp;#8217;s good&lt;/li&gt;
&lt;/ul&gt;&lt;p&gt;STEPS&lt;/p&gt;
&lt;p&gt;Pour all that stock in a sauce pan, put it on low and bring it to a simmer. Smash your garlic with your fish/soup can or pan. Open those suckers and finely chop them. Yank open that shallot and dice it. I SAID DICE, NOT CHOP. Now you can slice or julienne or chop your mushrooms, PERSONAL TASTE SON. Now, heat up a bigger sauce pan or pot on MEDIUMMMMMMM. Pour in some olive oil and the shallots and cook those until they start to turn a little seee throughy. Once that starts, throw in the garlic and cook the shallots until they be cooked mon. Throw in them mushrooms too. When you start to see the wet stuff drying up and its about to get a little like, burny, throw in a few glugs of white wine, DEGLAZZZEE MOFOS! Let that cook for min, get all the booozel out. Now, your first pot of stock should be slightly bubbly and hot. Pour in a few cups of the hot stock into your mushrooms mix pot. Now add the Barley, herbs. Now comes the fun part. STARE AT THIS POT ON MEDIUM. STARE AT IT UNTIL THE LIQUID STARTS TO GO AWAY. AS SOON AS THE LIQUID IS LEAVING THE TOP PARTS OF THE BARLEY DRY, ADD MORE MORE MOREOMREOMREOMEMROEMROME STOCK! Repeat this until the barley is all cracked open and mostly soft. The liquid should be thick and creamy. When you think you like the constancy, PULL IF FROM THE FIREEEEE! Taste it, add salt, pepper. Taste it, Add more, taste it. If you f&amp;#8217;d it up, it&amp;#8217;s your fault. Taste, add, taste, add, it&amp;#8217;s not hard. GRATE UP THOSE CHEEESES AND ADD IT 1 TBS at a TIME. ADD, TASTE, ADD, TASTE, KEEP ADDING UNTIL YOU GET THIS CREAMY, CHEESE PORRIDGE OF THE HEAVENS!&lt;/p&gt;
&lt;p&gt;Friend: What&amp;#8217;s that?&lt;/p&gt;
&lt;p&gt;You: It&amp;#8217;s barley.&lt;/p&gt;
&lt;p&gt;Friend: Like raisin bran?&lt;/p&gt;
&lt;p&gt;You: No like MOFO RISOORTOTOOTOTOTO!!!!!!!! FUUUSSS ROOO DAAA!&lt;/p&gt;
&lt;p&gt;Friend: Oh. Sounds good.&lt;/p&gt;
&lt;p&gt;You: Quite.&lt;/p&gt;</description><link>http://firebelly.net/post/15610746564</link><guid>http://firebelly.net/post/15610746564</guid><pubDate>Mon, 09 Jan 2012 22:49:15 -0800</pubDate></item><item><title>Obsession and the false sense of importance</title><description>&lt;p&gt;With the recent news that a young and aspiring social media developer had &lt;a href="https://joindiaspora.com/posts/804857"&gt;died at the age of 22&lt;/a&gt;, you have to ask yourself, &amp;#8220;how does it happen&amp;#8221;? At the time that I am writing this, there is no official word as to the cause, only speculation of suicide or heart problems possibly brought on by work related stress. While thinking about these rumors, I began to roll around a lot of thoughts in my head about work related stress and the desire to succeed. I wanted to share my personal experiences with a couple of themes I see that often reoccur in the technology industry. &lt;!-- more --&gt;Obsession is a common one that is sometimes thrown around as a positive. Obsessed with quality, obsessed with customer satisfaction or obsessed with accuracy. My only problem with this comes from the fact that obsession is never a positive notation. You can be focused on a task or concentrate on a subject. But the thought that you have to be obsessed about sends a person down a dark spiral. Obsession is a destructive trait in the sense that it permeates into other aspects of your life where there is no need for it. Thinking about an important deadline coming up while you are out with friends. Watching a show on Hulu while at the same time checking for errors in your proposal for next weeks status meeting. With this concept comes another feeling that I&amp;#8217;ve seen personally in a few people. A false sense of importance. Not a perceived importance to others, but a perceived importance to ones own self. &amp;#8220;This company needs me, with out me, they are doomed&amp;#8221;. &amp;#8220;They have no idea I run this place! The building would burn down if i don&amp;#8217;t work overtime!&amp;#8221;. My first example comes from a coworker I&amp;#8217;ve had for numerous years.&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;My coworker spent most the five years I worked with him, ghosting hours. This is the practice of working 50-60 hours a week, but only marking down 40. To most this sounds insane, why would anyone work for free. But this was due to the obsessive need to make deadlines, coupled with a intense false sense of self importance. He felt he had to help the company save money any way he could, and one way was to ghost hours. Working through the night on projects to get it done without telling anyone. This sounds like the employee of the month. But this action always came with consequences. Code had little to no documentation. Code was confusing, due to lack of peer review. And when new estimates were required, his estimates were off in orders of magnitude since he never really knew how long it took him to code anything. His work plan always stated 3-4 weeks, but in reality it was a two months, plus extra work after the release in secret. Working from home, weekends, 4am log ins. Obsession consumed him and still does to this day. It not only potentially harms his family life, but it harms the firm because future estimates are always off by immeasurable amounts.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;This case was extreme and it taught me a few things. One is to never let a project leave the boundaries I define. If I put a months worth of work in the work plan, and I see it will take longer, I raise it to my superiors immediately. The cost of fixing a problem before it happens is always cheaper than after. It also taught me that it&amp;#8217;s ok to let go, it&amp;#8217;s ok to let the company handle itself. If the place I work for needs me to work for free without telling anyone&amp;#8230;the company has more problems than just making deadlines.&lt;/p&gt;
&lt;p&gt;Next on my list is a friend who has hopped from shady job to shady job. Always filling the role as &amp;#8220;IT Handy man&amp;#8221;. He is normally the only IT guy on site, always saves the day and is never treated fairly.&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;My friend has held maybe 3-4 jobs in the last few years. They are all usually similar job descriptions. IT Lead, Systems Engineer, IT manager..Systems administrator. Basically, the do-it-all tech guy who can fix your network connection or your cell phone. He spends most of time putting out fires and saving the day. The only problem is, he always seems to end up at failing or shady companies. Places with no health benefits, upward mobility or rules. He likes the feeling of importance to the point he would sacrifice the a fore mentioned benefits, because he&amp;#8217;s keeping the company running. People see this, take advantage, and reap the benefits themselves. I always ask, why don&amp;#8217;t you just quit and get another job. The answer always blows my mind. &amp;#8220;I can&amp;#8217;t do that to them, without me, this place would fail&amp;#8221;. My reply is normally, &amp;#8220;Who gives a shit?? It&amp;#8217;s your life!&amp;#8221;. But after hearing it so many times, I just shrug my shoulders and say &amp;#8220;ok&amp;#8221;. To this day, he works at a dead end job, mostly for a false sense of importance and an obsession to help out the wounded bird.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;This person is continuing to teach me this day that sometimes, you can&amp;#8217;t mend a broken wing and you just have to give up and walk away and let nature takes it course&amp;#8230;. &lt;/p&gt;
&lt;p&gt;My next story is obsession and how it can impact your reasoning.&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;When I was a junior developer, I was full of great ideas. My manager let me run with these ideas often because they drew much praise from the client. One day I heard that my manager had been sent to the hospital for some internal issues. I passed it off as some random health issue. But in reality is was a self induced hospital visit due to obsession and a desire to be the best. My manager was working long hours as some did. While not ghosting the hours, she never took the time to watch her health. She lived out of a vending machine until her body began to fail. Here was a manager at the top of her game, in the hospital because she only worried about getting some numbers right in a spreadsheet. Shortly after this, she quit the firm, became a mother and is now recently getting back into the sports she played in college. She taught me that sometimes you need to step back, realize it is just a job and walk away.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;If this is an interesting topic for you, please check out This Developers Life podcast. &lt;a href="http://thisdeveloperslife.com/post/1-1-4-obsession"&gt;Here is a link&lt;/a&gt; to one specifically around this topic.&lt;/p&gt;</description><link>http://firebelly.net/post/12828866219</link><guid>http://firebelly.net/post/12828866219</guid><pubDate>Mon, 14 Nov 2011 23:25:55 -0800</pubDate></item></channel></rss>

