<?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>SoftLayer Blog &#187; errors</title>
	<atom:link href="http://blog.softlayer.com/tag/errors/feed/" rel="self" type="application/rss+xml" />
	<link>http://blog.softlayer.com</link>
	<description>A Behind the Scenes Look at the Best Hosting Provider in the World</description>
	<lastBuildDate>Wed, 15 May 2013 15:33:34 +0000</lastBuildDate>
	<language>en-US</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.4.1</generator>
		<item>
		<title>Thinkin&#8217; Like a Programmer</title>
		<link>http://blog.softlayer.com/2008/thinkin-like-a-programmer/</link>
		<comments>http://blog.softlayer.com/2008/thinkin-like-a-programmer/#comments</comments>
		<pubDate>Fri, 25 Jul 2008 13:51:41 +0000</pubDate>
		<dc:creator>Shawn Boles</dc:creator>
				<category><![CDATA[Technology]]></category>
		<category><![CDATA[email]]></category>
		<category><![CDATA[errors]]></category>
		<category><![CDATA[programmers]]></category>
		<category><![CDATA[testing]]></category>

		<guid isPermaLink="false">http://theinnerlayer.softlayer.com/?p=160</guid>
		<description><![CDATA[&#8220;I can&#8217;t figure this out. My email client says I can&#8217;t attach more than 10 M of data, but then it says I have 16501 K of data attached, and it can&#8217;t send that. What&#8217;s a &#8216;M&#8217;? What&#8217;s a &#8216;K&#8217;? Why is the second number so big? I only attached a few files!&#8221; I explained [...]]]></description>
			<content:encoded><![CDATA[<p>&#8220;I can&#8217;t figure this out.  My email client says I can&#8217;t attach more than 10 M of data, but then it says I have 16501 K of data attached, and it can&#8217;t send that.  What&#8217;s a &#8216;M&#8217;?  What&#8217;s a &#8216;K&#8217;?  Why is the second number so big?  I only attached a few files!&#8221;</p>
<p>I explained to my uncle that &#8220;M&#8221; stood for Megabyte, and &#8220;K&#8221; stood for Kilobyte.  That a simple calculation to convert &#8220;K&#8221;s to &#8220;M&#8221;s was to take the last three digits off the &#8220;K&#8221;s and you had the size in &#8220;M&#8221;s, give or take one.  That he had 16-17 Megabytes of data attached to his email, and he can only have 10.</p>
<p>His response was to wonder (1) why didn&#8217;t the client just tell him he had &#8220;too much data,&#8221; and (2) why did the program give him Ms AND Ks, instead of picking one?</p>
<p>My reply consisted of (1) it did, that&#8217;s what the message said, and (2) because the programmer was thinking like a programmer.</p>
<p>See, my uncle is a very, very smart man.  He worked in a video arcade as the guy who rewired the arcade machines when they exploded when somebody poured a Coke on them.  He knew how the machines worked in and out.  And got paid good money.  When he moved back to Texas, he took up industrial and residential electric work, and is now a fully licensed foreman who&#8217;s in high demand all through the area.  When he says &#8220;I won&#8217;t take a job that pays less than $20 a hour,&#8221; it&#8217;s not because he&#8217;s picky, it&#8217;s because he doesn&#8217;t have to.  Sharp as a tack.  But he&#8217;s not a computer pro.  Not a problem, people can&#8217;t be pros at everything.  This ain&#8217;t the  1700s, where you can pick up a test tube and learn everything known about chemistry in a few days.</p>
<p>But why would a programmer write a error message for an email program that would be unreadable to end users?  Because it&#8217;s perfectly readable to him!  When my uncle read out the message, my first response was &#8220;You have about 7 Megabytes too many attachments.  Send a second email.&#8221;</p>
<p>Therefore, a programmer checking his work would think this was a great error message.  Not only does it tell you that the email can&#8217;t be sent, but it tells you why.  The limit is in Megabytes, but email messages are typically sent in Kilobytes, so the data is already there.  See how helpful I am!  And the unit conversion between Ks and Ms are very easy;  programmers do it 10 times a day and wouldn&#8217;t even notice it.</p>
<p>That&#8217;s why we have end user testing, to try to catch these things that programmers won&#8217;t notice.  It&#8217;s just a simple conversion of units!  But for an electrician trying to send an email, it was as opaque as to him as if he had told me that I had a single pole dual throw make-break when I need a dual pole single throw break-make.  It makes perfect sense, if you&#8217;re used to it.  And if I think about it for a minute, I could figure it out most likely… but the point is, his error message is useless to me as it&#8217;s formatted.  But it makes perfect sense to him.</p>
<p>So, what&#8217;s the moral of the story?  Well, moral 1 is, try to be sure that all users of your product can understand what you say.  We have an extensive testing process here at SoftLayer to make sure our data screens are usable without any confusion.  Moral 2 is that programmers don&#8217;t &#8220;actively&#8221; attempt to &#8220;keep people from using their computers&#8221; by &#8220;making their programs too complex.&#8221;  For us, it&#8217;s completely transparent and useful, as useful to us as a circuit diagram is to an electrician.  Just let us know if we make something a bit to opaque;  it wasn&#8217;t on purpose, and sometimes it&#8217;s an easy fix.  We were just thinking like programmers.</p>
<p>-Shawn</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.softlayer.com/2008/thinkin-like-a-programmer/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>On Site Development</title>
		<link>http://blog.softlayer.com/2008/on-site-development/</link>
		<comments>http://blog.softlayer.com/2008/on-site-development/#comments</comments>
		<pubDate>Wed, 14 May 2008 16:16:04 +0000</pubDate>
		<dc:creator>Shawn Boles</dc:creator>
				<category><![CDATA[Business]]></category>
		<category><![CDATA[Development]]></category>
		<category><![CDATA[efficiency]]></category>
		<category><![CDATA[errors]]></category>
		<category><![CDATA[fast food]]></category>
		<category><![CDATA[management]]></category>
		<category><![CDATA[programmers]]></category>
		<category><![CDATA[speed]]></category>

		<guid isPermaLink="false">http://theinnerlayer.softlayer.com/?p=135</guid>
		<description><![CDATA[I have a friend who worked at an internationally recognized fast food restaurant. It relies heavily on it’s computer systems to operate. Being a programmer (I’ve always preferred Computer Alchemist), I’ve always been fascinated with the command and control programs used at these restaurants, and have drilled many family members and friends to describe (in [...]]]></description>
			<content:encoded><![CDATA[<p>I have a friend who worked at an internationally recognized fast food restaurant.  It relies heavily on it’s computer systems to operate.  Being a programmer (I’ve always preferred Computer Alchemist), I’ve always been fascinated with the command and control programs used at these restaurants, and have drilled many family members and friends to describe (in the most non-specific non-job-endangering way) what they do with those computers to do their job.</p>
<p>At the fast food restaurant, every order is entered into the cash register at the front of the line, processed by the computer systems on site, the orders are relayed to the kitchen in realtime and displayed on monitors, and various thermal ticket printers spit out meal tickets to be affixed to the various food items to describe their state (Double Cheeseburger, No Pickles, No Onions, Add Secret Sauce).  It’s an amazing dance of software.</p>
<p>But I noticed that my friend the grill cook was constantly complaining about the system.  Apparently, the order processing is <i>really</i> real time.  When the guy up front presses the “double cheeseburger” button, it immediately lights up in the back <i>but it doesn’t alert you that this is an order in progress!</i>  So, if the cooks are in a rush and just preparing orders as fast as possible, they might already have the pickles on the burger before the lady up front presses the “No Pickles” button, updating the display.  Also, updated items are NOT IDENTIFIED by the system, so if the burger is already wrapped and the burger man is already moving to the next little square, it might not be caught! (Keep this in mind:  most order “errors” at this internationally recognized fast food restaurant are caused by slow order takers, or slow customers, or customers who change their mind at the end of an order (Oh, could you make that burger with no onions?).  Remember, if the guys in the back are rushing, get your order together in your head before you speak.  If you say “Double Cheeseburger, no pickles, no onions, add secret sauce” just like that, it’ll pop into the system the right way!)</p>
<p>My question, of course, was “Why not rewrite the cash registers to be more awesome?”  See, the old registers tied into a small computer in the back room that tied into the monitors in the kitchen.  All state was held on that one machine, so obviously as soon as it was updated, it would appear on the monitors.  But I couldn’t figure out why they kept using this stupid backwards system.  It’s 2008!  When I worked in the local greasepit in my small town, we used paper tickets we were more efficient than this fast food restaurant’s system!  So why haven’t they updated?  Simple:  the people who can fix it aren’t there to use it.</p>
<p>Aha!  That’s what makes SoftLayer so awesome.  See, our programming staff is right here, in the same office as everyone else (except for those people who work in our datacenters, but they have our internal IM, email, and phone numbers and know they can contact us at any time.).  If something breaks, or if something is built in a backwards or strange way, we know immediately and can turn around and fix it.  In fact, we have a whole lot of programmers, as a ratio of developers to normal people.  This high ratio allows us to have the best control portal in the world, and to add features quickly.  See, if only developers worked at that fast food restaurant, and saw how the system was used, and were allowed to make changes (another awesome bit about SoftLayer:  management is open to change.  You’d be surprised how many obvious changes simply are not allowed by management in some dev shops…), then it would be a much easier place for everyone involved.  And maybe I’d get my Double Cheeseburger right.  Without the onions.</p>
<p>-Shawn</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.softlayer.com/2008/on-site-development/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
	</channel>
</rss>
