<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>TimNation &#187; Uncategorized</title>
	<atom:link href="http://www.timnation.com/?feed=rss2&#038;cat=1" rel="self" type="application/rss+xml" />
	<link>http://www.timnation.com</link>
	<description>by Timothy J. Hamilton</description>
	<lastBuildDate>Tue, 18 May 2010 14:14:26 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.2</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Stacker update, and a business layer &#8211; data layer question&#8230;</title>
		<link>http://www.timnation.com/?p=97</link>
		<comments>http://www.timnation.com/?p=97#comments</comments>
		<pubDate>Tue, 18 May 2010 14:14:26 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://www.timnation.com/?p=97</guid>
		<description><![CDATA[The robotic cranes are coming along nicely.  I completely re-worked all my logic about 3 weeks ago and so have been a little behind schedule.  I&#8217;ve had the opportunity to do some really good testing recently though, and the changes I implemented are working well.  The system is based on a sort [...]]]></description>
			<content:encoded><![CDATA[<p>The robotic cranes are coming along nicely.  I completely re-worked all my logic about 3 weeks ago and so have been a little behind schedule.  I&#8217;ve had the opportunity to do some really good testing recently though, and the changes I implemented are working well.  The system is based on a sort of state-processor type model.  This means that based on a bunch of flags that represent the state of the device decisions are made regarding the ability to do certain tasks, such as transfer, do a command (store, pull, etc.).  The program falls through this logic every so often, determining all it&#8217;s state flags, and then doing things based on those flags.  This sort of programming is prevalent in device controls, but was something it took me some time to get used to as the logic can get very very complex.  Anyway, the purpose of this post is to express a quandary&#8230;  When is it appropriate to have business logic in the database.  Of course I mean as stored procedures.  I see people leaning both ways on this.  Some say business logic should be there because as a stored procedure it&#8217;s super fast, others say it only belongs in one place, the business logic layer.  I have found myself wondering why I shouldn&#8217;t put some business logic in the database stored procs, simply because this system is such a one off, that there is no chance of code reuse.  I haven&#8217;t done it yet, I guess because it just feels weird to me, but sometimes I think it would be OK, and I know it would make my life easier.  Oh well.</p>
<p>Later,<br />
Tim</p>
]]></content:encoded>
			<wfw:commentRss>http://www.timnation.com/?feed=rss2&amp;p=97</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title></title>
		<link>http://www.timnation.com/?p=96</link>
		<comments>http://www.timnation.com/?p=96#comments</comments>
		<pubDate>Thu, 22 Apr 2010 14:17:20 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://www.timnation.com/?p=96</guid>
		<description><![CDATA[
]]></description>
			<content:encoded><![CDATA[<p><iframe src="http://www.facebook.com/widgets/like.php?href=http://timnation.com"<br />
        scrolling="no" frameborder="0"<br />
        style="border:none; width:450px; height:80px"></iframe></p>
]]></content:encoded>
			<wfw:commentRss>http://www.timnation.com/?feed=rss2&amp;p=96</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Stacker update</title>
		<link>http://www.timnation.com/?p=87</link>
		<comments>http://www.timnation.com/?p=87#comments</comments>
		<pubDate>Thu, 15 Apr 2010 18:29:04 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://www.timnation.com/?p=87</guid>
		<description><![CDATA[So I&#8217;m going to start updating my trials and travails regarding my current project.  So basically I&#8217;m creating a custom Warehouse Controls System.  We&#8217;re trying to replace an old system that was built in an old language and running on old hardware.  The project basically has 2 parts, The robotic stacker crane [...]]]></description>
			<content:encoded><![CDATA[<p>So I&#8217;m going to start updating my trials and travails regarding my current project.  So basically I&#8217;m creating a custom Warehouse Controls System.  We&#8217;re trying to replace an old system that was built in an old language and running on old hardware.  The project basically has 2 parts, The robotic stacker crane manger, and the conveyor manager.  The conveyors bring the loads to the cranes which store, retrieve, and also have the ability to pick (a person rides the cranes and will be taken to a location where they retrieve only one parcel from a specific pallet location).  The crane then takes the load back to the conveyor and it&#8217;s conveyed out to the depalitization area.  So far I&#8217;m the guy for the Stackers.  It&#8217;s been super super fun and VERY challenging.  So far we can connect to the cranes and send a few commands.  Our first big test is Saturday.  Gonna try a Store, Retrieve, and transfer from one aisle to another.  These are huge machines, in a huge facility. 4 warehouses, each one 325 x 325 x 90tall.  Each warehouse has several stackers and dozens of aisles. Stackers are super tall and weigh over 15 tons.  They can move at 14 mph at full speed.  So it gets very complex.  Have to make sure stackers don&#8217;t crash, optimize movements, etc. etc.  Super fun!  The newer ASR&#8217;s (automated storage and retrieval systems) do a lot of this stuff in their PLC logic, but these are old enough we get to do a lot of it.  It&#8217;s totally one of a kind stuff, completely custom.  I&#8217;m up to about 4000 lines so far, and it&#8217;s based at it&#8217;s heart on a state processor that checks dozens (hundreds) of flags (flags with bitmasks being and&#8217;ed and or&#8217;ed) to determine state and then process.  Multithreaded, and asynchronous communication.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.timnation.com/?feed=rss2&amp;p=87</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>MSDN Subscription got upgraded today</title>
		<link>http://www.timnation.com/?p=86</link>
		<comments>http://www.timnation.com/?p=86#comments</comments>
		<pubDate>Thu, 15 Apr 2010 17:06:45 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://www.timnation.com/?p=86</guid>
		<description><![CDATA[My MSDN subscription was upgraded to &#8220;Ultimate&#8221; today because I used to have a Team Suite license.  So I know have access to EVERYTHING Microsoft puts out! I love my job!
]]></description>
			<content:encoded><![CDATA[<p>My MSDN subscription was upgraded to &#8220;Ultimate&#8221; today because I used to have a Team Suite license.  So I know have access to EVERYTHING Microsoft puts out! I love my job!</p>
]]></content:encoded>
			<wfw:commentRss>http://www.timnation.com/?feed=rss2&amp;p=86</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>test form for city</title>
		<link>http://www.timnation.com/?p=79</link>
		<comments>http://www.timnation.com/?p=79#comments</comments>
		<pubDate>Thu, 04 Feb 2010 20:12:36 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://www.timnation.com/?p=79</guid>
		<description><![CDATA[

.tbmain{ 
 /* Changes on the form */
 background: url(http://www.jotform.com/images/styles/style1_bg.gif) #ffffff top repeat-x !important; 
}
.left{
  /* Changes on the form */
  color: #ff5200 !important; 
  font-family: Verdana !important;
  font-size: 11px !important;
}
td.left {
   font-family: "Trebuchet MS";
   font-size: 11px;
   font-weight:bold;
   color:#ff5200;
   vertical-align: top;
 [...]]]></description>
			<content:encoded><![CDATA[<p><script src="http://www.jotform.com/js/form.js?v2.0.1342" type="text/javascript"></script></p>
<style type="text/css">
.tbmain{ 
 /* Changes on the form */
 background: url(http://www.jotform.com/images/styles/style1_bg.gif) #ffffff top repeat-x !important; 
}
.left{
  /* Changes on the form */
  color: #ff5200 !important; 
  font-family: Verdana !important;
  font-size: 11px !important;
}
td.left {
   font-family: "Trebuchet MS";
   font-size: 11px;
   font-weight:bold;
   color:#ff5200;
   vertical-align: top;
   text-align: left;
}
.pagebreak{
   font-family: "Trebuchet MS";
   font-size: 11px;
   font-weight:bold;
   color:black;
}
td.right {
   font-family: "Trebuchet MS";
   font-size: 11px;
   font-weight:normal;
   color:#333333;
   vertical-align: top;   
   text-align: left;   
}
.tbmain{
   height:100%;
   color:#333333;
   background:url(http://www.jotform.com/images/styles/style1_bg.gif) #ffffff top repeat-x;
}
.head{
   font-family: "Trebuchet MS";
   font-size: large;
   font-weight: bold;
   color:#ff5200;
   vertical-align: top;
   text-align: left;
}
.notvalid{
   border:2px red solid;
   font-family:"Trebuchet MS";
}
.text{
   font-family: "Trebuchet MS";
   font-size: 11px;
   font-weight:normal;
   color:#333333;
   border:1px #cccccc solid;
   background:url(http://www.jotform.com/images/styles/style1_txt_bg.gif) #f6f6f6 top repeat-x;
}
select.other{
   font-family: "Trebuchet MS";
   font-size: 11px;
   font-weight:normal;
   color:#333333;
   border:1px #cccccc solid;
   background:url(http://www.jotform.com/images/styles/style1_txt_bg.gif) #f6f6f6 top repeat-x;
}
.btn{
   font-family: "Trebuchet MS";
   font-size: 11px;
   font-weight:normal;
   color:#333333;
   border:1px #c6c7ca solid;
   background: url(http://www.jotform.com/images/styles/style1_btn_bg.gif) #e4e4e4 top repeat-x;
}
span.required{
  font-size: 13px !important;
  color: red !important;
}</p>
<p>div.backButton{
    background: transparent url("http://www.jotform.com//images/btn_back.gif") no-repeat scroll 0 0;
    height:16px;
    width:53px;
    float:left;
    margin-bottom:15px;
    padding-right:5px;
}
div.backButton:hover{
    background: transparent url("http://www.jotform.com//images/btn_back_over.gif") no-repeat scroll 0 0;
}
div.backButton:active{
    background: transparent url("http://www.jotform.com//images/btn_back_down.gif") no-repeat scroll 0 0;
}
div.nextButton{
    background: transparent url("http://www.jotform.com//images/btn_next.gif") no-repeat scroll 0 0;
    height:16px;
    width:53px;
    float: left;
    margin-bottom:15px;
    padding-right:5px;
}
div.nextButton:hover{
    background: transparent url("http://www.jotform.com//images/btn_next_over.gif") no-repeat scroll 0 0;
}
div.nextButton:active{
    background: transparent url("http://www.jotform.com//images/btn_next_down.gif") no-repeat scroll 0 0;
}
.pageinfo{
    padding-right:5px;
    margin-bottom:15px;
    float:left;
}</p>
</style>
<table width="100%" cellpadding="2" cellspacing="0" class="tbmain">
<tr>
<td class="topleft" width="10" height="10">&nbsp;</td>
<td class="topmid">&nbsp;</td>
<td class="topright" width="10" height="10">&nbsp;</td>
</tr>
<tr>
<td class="midleft" width="10">&nbsp;&nbsp;&nbsp;</td>
<td class="midmid" valign="top">
<form accept-charset="utf-8"  action="http://www.jotform.com/submit.php"  method="post" name="q_form_10340135298">
<input type="hidden" name="formID" value="10340135298" />
<div id="main">
<div class="pagebreak">
<table width="520" cellpadding="5" cellspacing="0">
<tr >
<td width="150" class="left" >
   <label >First Name: <span class="required">*</span></label>
  </td>
<td class="right" >
<input type="text" size="20" name="q0_FirstName" class="text" value="" id="q0"  onblur="validate(this,'Required')"  maxlength="100" maxsize="100" />
  </td>
</tr>
<tr >
<td width="150" class="left" >
   <label >Last Name: <span class="required">*</span></label>
  </td>
<td class="right" >
<input type="text" size="20" name="q8_LastName" class="text" value="" id="q8"  onblur="validate(this,'Required')"  maxlength="100" maxsize="100" />
  </td>
</tr>
<tr >
<td width="150" class="left" >
   <label >E-mail: <span class="required">*</span></label>
  </td>
<td class="right" >
<input type="text" size="20" name="q1_Email" class="text" value="" id="q1"  onblur="validate(this,'Email')"  maxlength="100" maxsize="100" />
  </td>
</tr>
<tr >
<td width="150" class="left" valign="top" >
   <label>Update Me About:</label>
  </td>
<td valign="top" class="right">
<input type="checkbox"  name="q9_UpdateMeAbout[]" class="other" id="q9_0" value="Emergencies"   />
    <label class="left">Emergencies</label>  </p>
<input type="checkbox"  name="q9_UpdateMeAbout[]" class="other" id="q9_1" value="Park &#038; Rec"   />
    <label class="left">Park &#038; Rec</label>  </p>
<input type="checkbox"  name="q9_UpdateMeAbout[]" class="other" id="q9_2" value="Other"   />
    <label class="left">Other</label> <br /> 
  </td>
</tr>
<tr >
<td width="150" class="left" valign="top" >
   <label>   <span class="required">*</span></label>
  </td>
<td valign="top">
     <script type="text/javascript" src="http://www.jotform.com/captcha.php"></script>  </td>
</tr>
<tr >
<td width="150" class="left" >&nbsp;</p>
</td>
<td class="right">
<input type="submit" class="btn" value="Submit" />
 </td>
</tr>
</table>
</div>
</div>
</form>
</td>
<td class="midright" width="10">&nbsp;&nbsp;&nbsp;</td>
</tr>
<tr>
<td class="bottomleft" width="10" height="10">&nbsp;</td>
<td class="bottommid">&nbsp;</td>
<td class="bottomright" width="10" height="10">&nbsp;</td>
</tr>
</table>
<p><script type="text/javascript">
validate("q_form_10340135298");
</script></p>
]]></content:encoded>
			<wfw:commentRss>http://www.timnation.com/?feed=rss2&amp;p=79</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Got my Google wave invite.</title>
		<link>http://www.timnation.com/?p=76</link>
		<comments>http://www.timnation.com/?p=76#comments</comments>
		<pubDate>Sun, 15 Nov 2009 21:20:50 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://www.timnation.com/?p=76</guid>
		<description><![CDATA[I finally got my Google Wave invite.  I have 7 invites left.  If you can tell me what a good use for Wave is I&#8217;ll send you one.  Right now I just kinda don&#8217;t get it&#8230;
Cheers,
Tim
]]></description>
			<content:encoded><![CDATA[<p><img class="aligncenter size-full wp-image-75" title="google-wave-logo" src="http://www.timnation.com/wp-content/uploads/2009/11/google-wave-logo.png" alt="google-wave-logo" width="256" height="256" />I finally got my Google Wave invite.  I have 7 invites left.  If you can tell me what a good use for Wave is I&#8217;ll send you one.  Right now I just kinda don&#8217;t get it&#8230;</p>
<p>Cheers,</p>
<p>Tim</p>
]]></content:encoded>
			<wfw:commentRss>http://www.timnation.com/?feed=rss2&amp;p=76</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>communication, and traffic</title>
		<link>http://www.timnation.com/?p=72</link>
		<comments>http://www.timnation.com/?p=72#comments</comments>
		<pubDate>Sun, 11 Oct 2009 13:47:02 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://www.timnation.com/?p=72</guid>
		<description><![CDATA[Just saw the most interesting story on CBS&#8217; &#8220;Sunday Morning&#8221;  Mo Rocca did a piece about how in some parts of Europe all traffic signs are being removed.  For example, at a typical four way stop intersection the signs are removed and the intersection is replaced with a traffic circle without signage of [...]]]></description>
			<content:encoded><![CDATA[<p>Just saw the most interesting story on CBS&#8217; &#8220;Sunday Morning&#8221;  Mo Rocca did a piece about how in some parts of Europe all traffic signs are being removed.  For example, at a typical four way stop intersection the signs are removed and the intersection is replaced with a traffic circle without signage of any kind.  According to the story, accidents not only fell, but were eliminated entirely.  This effect was attributed to drivers increased communication and their inability to use the signage as a sort of offload of there own responsibility to think, not simply trust the signs.  i.e. there&#8217;s a stop sign there, so that driver must be going to stop, I won&#8217;t even look&#8230;</p>
<p>How interesting this is.  I wonder if there are implications here for user interface.  I&#8217;m gonna have to think about this one.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.timnation.com/?feed=rss2&amp;p=72</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>How to do multiple key down in C# control + P for example</title>
		<link>http://www.timnation.com/?p=65</link>
		<comments>http://www.timnation.com/?p=65#comments</comments>
		<pubDate>Mon, 17 Aug 2009 19:13:51 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://www.timnation.com/?p=65</guid>
		<description><![CDATA[So I needed to set up an app to print when the user presses control+p.  Seems fairly straight forward right, after all there are all kinds of multiple key press codes like this in the world ctrl + P is print, ctrl + F8 could be something else, etc. etc&#8230;  I was shocked [...]]]></description>
			<content:encoded><![CDATA[<p>So I needed to set up an app to print when the user presses control+p.  Seems fairly straight forward right, after all there are all kinds of multiple key press codes like this in the world ctrl + P is print, ctrl + F8 could be something else, etc. etc&#8230;  I was shocked when I went looking on the net for a good way to implement this in C# .NET and found no good examples, so I made my own keydown event handler, so here it is.</p>
<p>private List&lt;string&gt;  pressedKeys = new List&lt;string&gt;();<br />
private void ShellForm_KeyDown(object sender, KeyEventArgs e)<br />
{<br />
pressedKeys.Add(e.KeyValue.ToString());<br />
bool x = pressedKeys.Contains(&#8220;80&#8243;); //P key</p>
<p>bool y = pressedKeys.Contains(&#8220;17&#8243;);  //CTRL Key</p>
<p>if (x &amp; y &amp; pressedKeys.IndexOf(&#8220;80&#8243;)&gt;pressedKeys.IndexOf(&#8220;17&#8243;)) // so it has to have P and CTRL and CTRL has to be before P<br />
{<br />
MessageBox.Show(&#8220;you pressed CNTRL+P good job stupid&#8230;&#8221;);<br />
_btnPrint_Click(null, e);<br />
pressedKeys.Clear();<br />
}<br />
int count = pressedKeys.Count;<br />
if (count&gt;2)<br />
{<br />
pressedKeys.Clear();<br />
}</p>
<p>}</p>
<p>the message window was just for my benefit&#8230; gotta remember to take it out.  Let me know if you see, or know of, a better way to do this.   The one thing i see missing is some sort of timer to limit the time between key presses.  As it is now a user could press &#8220;Ctrl&#8221; and then wait any amount of time and press &#8220;P&#8221; and it would print.</p>
<p>Cheers,<br />
Tim</p>
]]></content:encoded>
			<wfw:commentRss>http://www.timnation.com/?feed=rss2&amp;p=65</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>First post from android</title>
		<link>http://www.timnation.com/?p=63</link>
		<comments>http://www.timnation.com/?p=63#comments</comments>
		<pubDate>Tue, 11 Aug 2009 19:00:32 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://www.timnation.com/?p=63</guid>
		<description><![CDATA[This is my first post from my new android phone. Very very cool and will hopefully lead to more posting!
]]></description>
			<content:encoded><![CDATA[<p>This is my first post from my new android phone. Very very cool and will hopefully lead to more posting!</p>
]]></content:encoded>
			<wfw:commentRss>http://www.timnation.com/?feed=rss2&amp;p=63</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Super sweet clickonce screencasts</title>
		<link>http://www.timnation.com/?p=61</link>
		<comments>http://www.timnation.com/?p=61#comments</comments>
		<pubDate>Tue, 11 Aug 2009 14:39:11 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://www.timnation.com/?p=61</guid>
		<description><![CDATA[I found an awesome site for click-once help and super sweet screen-casts (my favorite way to learn) 
http://robindotnet.wordpress.com/
Robin is really clear and easily understood.  So if you have questions about concurrent clickonce installs, or certificate expiration issues, or other .NET click once troubles, check her out.  Don&#8217;t check her out, check out her [...]]]></description>
			<content:encoded><![CDATA[<p>I found an awesome site for click-once help and super sweet screen-casts (my favorite way to learn) </p>
<p><a href="http://robindotnet.wordpress.com/">http://robindotnet.wordpress.com/</a></p>
<p>Robin is really clear and easily understood.  So if you have questions about concurrent clickonce installs, or certificate expiration issues, or other .NET click once troubles, check her out.  Don&#8217;t check <em>her</em> out, check out her <em>site</em>&#8230; Or whatever&#8230;</p>
]]></content:encoded>
			<wfw:commentRss>http://www.timnation.com/?feed=rss2&amp;p=61</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
