<?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>Our Craft</title>
	<atom:link href="http://ourcraft.wordpress.com/feed/" rel="self" type="application/rss+xml" />
	<link>http://ourcraft.wordpress.com</link>
	<description>Making it better</description>
	<lastBuildDate>Thu, 19 Jan 2012 18:28:20 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.com/</generator>
<cloud domain='ourcraft.wordpress.com' port='80' path='/?rsscloud=notify' registerProcedure='' protocol='http-post' />
<image>
		<url>http://s2.wp.com/i/buttonw-com.png</url>
		<title>Our Craft</title>
		<link>http://ourcraft.wordpress.com</link>
	</image>
	<atom:link rel="search" type="application/opensearchdescription+xml" href="http://ourcraft.wordpress.com/osd.xml" title="Our Craft" />
	<atom:link rel='hub' href='http://ourcraft.wordpress.com/?pushpress=hub'/>
		<item>
		<title>Oracle: 30 char identifiers</title>
		<link>http://ourcraft.wordpress.com/2011/08/26/oracle-30-char-identifiers/</link>
		<comments>http://ourcraft.wordpress.com/2011/08/26/oracle-30-char-identifiers/#comments</comments>
		<pubDate>Fri, 26 Aug 2011 12:50:24 +0000</pubDate>
		<dc:creator>danielmeyer</dc:creator>
				<category><![CDATA[Technical Stuff]]></category>
		<category><![CDATA[Oracle]]></category>

		<guid isPermaLink="false">http://ourcraft.wordpress.com/?p=2305</guid>
		<description><![CDATA[Because I can never remember, here it is: The size of an identifier cannot exceed 30 characters. &#8211;from Oracle&#8217;sPL/SQL User&#8217;s Guide and Reference: 10g Release 1 (10.1)<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=ourcraft.wordpress.com&amp;blog=2431618&amp;post=2305&amp;subd=ourcraft&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Because I can never remember, here it is:</p>
<blockquote><p>The size of an identifier cannot exceed 30 characters.</p></blockquote>
<p>&#8211;from Oracle&#8217;s<a href="http://download.oracle.com/docs/cd/B13789_01/appdev.101/b10807/02_funds.htm#sthref120">PL/SQL User&#8217;s Guide and Reference: 10g Release 1 (10.1)</a></p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/ourcraft.wordpress.com/2305/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/ourcraft.wordpress.com/2305/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/ourcraft.wordpress.com/2305/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/ourcraft.wordpress.com/2305/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/ourcraft.wordpress.com/2305/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/ourcraft.wordpress.com/2305/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/ourcraft.wordpress.com/2305/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/ourcraft.wordpress.com/2305/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/ourcraft.wordpress.com/2305/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/ourcraft.wordpress.com/2305/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/ourcraft.wordpress.com/2305/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/ourcraft.wordpress.com/2305/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/ourcraft.wordpress.com/2305/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/ourcraft.wordpress.com/2305/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=ourcraft.wordpress.com&amp;blog=2431618&amp;post=2305&amp;subd=ourcraft&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://ourcraft.wordpress.com/2011/08/26/oracle-30-char-identifiers/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="" medium="image">
			<media:title type="html">danielmeyer</media:title>
		</media:content>
	</item>
		<item>
		<title>Gerald M. Weinberg</title>
		<link>http://ourcraft.wordpress.com/2010/06/03/gerald-m-weinberg/</link>
		<comments>http://ourcraft.wordpress.com/2010/06/03/gerald-m-weinberg/#comments</comments>
		<pubDate>Thu, 03 Jun 2010 15:00:15 +0000</pubDate>
		<dc:creator>danielmeyer</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://ourcraft.wordpress.com/?p=2293</guid>
		<description><![CDATA[Today, while looking for the Reasons article about which I just posted, I found out that Jerry Weinberg has recently come out of what was supposed to be terminal cancer. I was moved to write him this letter, which I sent this morning: June 3, 2010 Gerald Weinberg c/o Dorset House Publishing Co. 3143 Broadway, [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=ourcraft.wordpress.com&amp;blog=2431618&amp;post=2293&amp;subd=ourcraft&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Today, while looking for the Reasons article about which I just <a href="http://ourcraft.wordpress.com/2010/06/03/reasons/">posted</a>, I found out that Jerry Weinberg has recently come out of what was supposed to be terminal cancer.  I was moved to write him this letter, which I sent this morning:</p>
<blockquote><p>June 3, 2010</p>
<p>Gerald Weinberg<br />
c/o Dorset House Publishing Co.<br />
3143 Broadway, Suite 2B<br />
New York, New York 10027  USA</p>
<p>Dear Mr. Weinberg,</p>
<p>As a computer programmer of thirteen years, I have read and benefited from your writing – specifically, <em>Exploring Requirements</em> and <em>Are Your Lights On?</em> Thank you for working to understand what’s wrong with how the people within software development organizations think and articulating what needs to change and how.  Your work has made a difference to me.</p>
<p>I went to your website this morning and saw that you have had a battle with cancer.  Recently you were declared cancer-free &#8212; praise God for that!</p>
<p>Mr. Weinberg, you have had a brush with death, and because I love you I need to warn you of the Day of Judgment that we all will face.  On that day, what will you say to the King?</p>
<p>I do not know the state of your soul before God, but I implore you, please do not deny the existence of the King.  God who made the heavens and the earth and gave you every breath you’ve ever taken rules in righteouness, and he will call you to account one day.  All have sinned and fall short of the glory of God.  Only those who repent and believe in Jesus Christ will be saved.</p>
<p>Oh Mr. Weinberg, repent and be saved!</p>
<p>Sincerely and with love,<br />
Daniel S. Meyer</p></blockquote>
<p>I don&#8217;t have a mailing address for Mr. Weinberg, and I don&#8217;t know if his publisher will forward it on to him.  Even if they do, how likely is Mr. Weinberg to repent?  Am I not a fool for doing such a thing &#8212; not to mention for advertising it here?  Where is my respectability?</p>
<p>Brothers who are in Christ: <em>souls are at stake</em>. Fool or no, I care about Mr. Weinberg&#8217;s soul.  On Judgment Day I want to be able to look in the eyes of all, knowing I was faithful to warn.   And may God grant repentance to those He has chosen!</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/ourcraft.wordpress.com/2293/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/ourcraft.wordpress.com/2293/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/ourcraft.wordpress.com/2293/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/ourcraft.wordpress.com/2293/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/ourcraft.wordpress.com/2293/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/ourcraft.wordpress.com/2293/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/ourcraft.wordpress.com/2293/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/ourcraft.wordpress.com/2293/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/ourcraft.wordpress.com/2293/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/ourcraft.wordpress.com/2293/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/ourcraft.wordpress.com/2293/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/ourcraft.wordpress.com/2293/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/ourcraft.wordpress.com/2293/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/ourcraft.wordpress.com/2293/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=ourcraft.wordpress.com&amp;blog=2431618&amp;post=2293&amp;subd=ourcraft&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://ourcraft.wordpress.com/2010/06/03/gerald-m-weinberg/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="" medium="image">
			<media:title type="html">danielmeyer</media:title>
		</media:content>
	</item>
		<item>
		<title>Reasons</title>
		<link>http://ourcraft.wordpress.com/2010/06/03/reasons/</link>
		<comments>http://ourcraft.wordpress.com/2010/06/03/reasons/#comments</comments>
		<pubDate>Thu, 03 Jun 2010 13:42:15 +0000</pubDate>
		<dc:creator>danielmeyer</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://ourcraft.wordpress.com/?p=2290</guid>
		<description><![CDATA[As developers, we consider ourselves to be logical thinkers. And to an extent, we are able to think logically, to find and implement technical solutions. But is our decisionmaking driven by cool reason?  Yes, we say &#8212; by cool reason. What about when we communicate our evaluation of a Microsoft tool to co-workers?  Cool reason? [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=ourcraft.wordpress.com&amp;blog=2431618&amp;post=2290&amp;subd=ourcraft&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>As developers, we consider ourselves to be logical thinkers.  And to an extent, we <em>are</em> able to think logically, to find and implement technical solutions.</p>
<p>But is our decisionmaking driven by cool reason?  Yes, we say &#8212; by cool reason.</p>
<p>What about when we communicate our evaluation of a Microsoft tool to co-workers?  Cool reason?</p>
<p>Not usually.</p>
<p>The fact is, many of the decisions we make as developers are made based on <em>emotional </em>arguments couched in technical terminology.  Reading a post by Jerry Weinberg several months back brought on an <em>Aha!</em> moment that changed my thinking about us developers.</p>
<p>From Mr. Weinberg&#8217;s post titled <em><a href="http://www.ayeconference.com/reasons/">Reasons</a></em>, then:</p>
<blockquote><p>&#8230;<br />
Recently, I found myself recalling that summer day, half-a-century  ago, when a client asked me to find out why their Software Engineering  Process Group was having so much trouble getting people to adopt new  software tools. It couldn’t be the tools themselves, they reasoned,  because quite a few people had adopted them and liked them. So, I set  out to interview both adopters and rejecters, to discover the reasons  some were using the tools and some were not. Here are some of the  answers I obtained:</p>
<p>Darlene: I installed it because the boss told me to use it.</p>
<p>Porter: The boss told me to use it, so I didn’t use it.</p>
<p>Ursula: I installed it because the boss forced me to use it.</p>
<p>Marcy: The boss forced me to use it, so I installed it, but I don’t  use it. He wouldn’t know the difference.</p>
<p>Quentin: I used it because it was like what I used before, so I knew I  wouldn’t have any trouble adapting to it.</p>
<p>Chuck: Why should I use it? It’s nothing new; it’s just like what I  used before.</p>
<p>Carl: Hey, I used it right away, because it was new and different.</p>
<p>Cynthia: I’m not going to use anything that’s new and different. Too  many things aren’t tested, and something’s sure to go wrong.</p>
<p>Mary: Of course I used it. Everyone else was using it.</p>
<p>Roy: Everyone else was using it – what a bore! You won’t catch me  following the crowd.</p>
<p>Frances: Why should I use it? Nobody else was.</p>
<p>Edgar: Hey, I got to be the first one to use it!</p>
<p>Mort: I couldn’t use it. It didn’t do all the things I needed.</p>
<p>Alan: The thing I liked best about this tool was that it didn’t try  to be a Swiss army knife and do everything anyone could possibly want.</p>
<p>Gerri: It was the perfect tool, because it had every feature I could  possibly want.</p>
<p>Chico: Every time I hit a key by accident, it would invoke some  obscure feature that I didn’t want in there in the first place. Finally,  I trashed the whole thing.</p>
<p>Orion: I’m so busy, I needed a new tool to save me some time.</p>
<p>Belle: I’m so busy, I don’t have time to install and learn a new  tool.</p>
<p>May: I’m not that heavily loaded. Why would I need a time-saving  tool?</p>
<p>Paul: Well, I wasn’t so busy with other things, so I had time to  install and learn a new tool.</p>
<p>Earl: It was freeware, so it was a bargain.</p>
<p>Justine: It was shareware, so it couldn’t have been any good.</p>
<p>Jacob: This tool costs $3,000. It must be good, so I’m using it.</p>
<p>Neelie: I’m saving the company $3,000 by not using it.</p>
<p>Willis: I won’t use it because I don’t like the way Microsoft makes  software.</p>
<p>Samuel: I knew it would be good because Microsoft makes it.</p>
<p>—–</p>
<p>Well, there were more, many more, but that’s enough of the infinite  reasons to make my point. By this time, you may have noticed that I have  arranged these reasons in pairs. Why? So you could see the pattern that  I saw:</p>
<p>Every single reason to use the tool was matched by the same reason  for not using it – and vice versa!</p>
<p>In other words, these reasons may look like logic, but they’re not  logic – they’re just reasons. In logic, the reasoning comes first, then  comes the decision. But in real life, it’s usually the other way around –  first we make the decision, then we make up whatever reasons we need to  “justify” the decision and make it look like logic&#8230;</p></blockquote>
<p>Going back to the Microsoft example again, when the Microsoft tool blows up, do we have cursings at the ready?  If so, would we have had similar cursings at the ready if it had been our favorite open source tool that blew up?  If not, why not?  Are we of a mind to be understanding toward our open source tool and impatient with our Microsoft tool?  (The question has the same implications if we reverse the inclinations &#8212; positing a tendency for patience toward the Microsoft tool and impatience toward the open source tool.)</p>
<p>What I have described is not a <em>logical</em> argument about a tool.  It is an <em>emotional</em> argument about a company.  Perhaps there is an argument to be made against the company (&#8220;Where possible I  do not support Microsoft because of its history of corrupt business practices regarding smaller innovators in the market&#8221; would be an example of a <em>moral</em> argument.)  Cloaking such a moral argument as a technical argument against a particular tool, however, is not honest.  As developers, we don&#8217;t even realize we&#8217;re doing this, but we need to realize it.  It&#8217;s part of being a professional.</p>
<p>Read <a href="http://www.ayeconference.com/reasons/">Weinberg&#8217;s whole article</a>.</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/ourcraft.wordpress.com/2290/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/ourcraft.wordpress.com/2290/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/ourcraft.wordpress.com/2290/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/ourcraft.wordpress.com/2290/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/ourcraft.wordpress.com/2290/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/ourcraft.wordpress.com/2290/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/ourcraft.wordpress.com/2290/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/ourcraft.wordpress.com/2290/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/ourcraft.wordpress.com/2290/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/ourcraft.wordpress.com/2290/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/ourcraft.wordpress.com/2290/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/ourcraft.wordpress.com/2290/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/ourcraft.wordpress.com/2290/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/ourcraft.wordpress.com/2290/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=ourcraft.wordpress.com&amp;blog=2431618&amp;post=2290&amp;subd=ourcraft&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://ourcraft.wordpress.com/2010/06/03/reasons/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
	
		<media:content url="" medium="image">
			<media:title type="html">danielmeyer</media:title>
		</media:content>
	</item>
		<item>
		<title>Living in a virtual machine</title>
		<link>http://ourcraft.wordpress.com/2010/05/27/living-in-a-virtual-machine/</link>
		<comments>http://ourcraft.wordpress.com/2010/05/27/living-in-a-virtual-machine/#comments</comments>
		<pubDate>Thu, 27 May 2010 16:03:15 +0000</pubDate>
		<dc:creator>danielmeyer</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://ourcraft.wordpress.com/?p=2283</guid>
		<description><![CDATA[We programmers are a proud lot, aren&#8217;t we? We can do things our family members and friends can&#8217;t do. We can take lifeless bits, wave our hands, and make the code live! We have logic. We have design and problem solving skills. We have honed our technical prowess. All this is good &#8212; but there [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=ourcraft.wordpress.com&amp;blog=2431618&amp;post=2283&amp;subd=ourcraft&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>We programmers are a proud lot, aren&#8217;t we?</p>
<p>We can do things our family members and friends can&#8217;t do.  We can take lifeless bits, wave our hands, and make the code live!  We have logic.  We have design and problem solving skills.  We have honed our technical prowess.</p>
<p>All this is good &#8212; but there is a problem: We imagine that we live in a larger world than the non-technical people around us.  Brothers, let us not be deceived: our world is a <em>smaller</em> world.</p>
<p>What do I mean?</p>
<p>Our technical expertise does not help us prolong the life of our sick child &#8212; we thank God for the doctors and pray for grace.</p>
<p>Our design skills do not give us boldness to warn those who do not love Jesus of the judgment they face if they do not repent.</p>
<p>Our logic does not teach us how to live with our wives as with a weaker vessel, leading with honor, gentleness, and strength.</p>
<p>Our ability to do what others can&#8217;t do does not confer on us a special ability to honor our father and our mother as we know we ought.</p>
<p>These are matters of eternal import where we are no better than anyone else &#8212; and often worse!</p>
<p>Brothers, in our daily work we&#8217;re living in a virtual machine.</p>
<p>Yes, let&#8217;s continue to work to solve problems, to help people with our software, to work as unto the Lord &#8212; but let&#8217;s never forget that the rules are simpler inside this machine.  The hard problems are <em>out there</em>.  We don&#8217;t know how to solve those problems.  Sometimes we don&#8217;t even try to deal with those problems &#8212; we hide inside our virtual machine, where the universe is smaller and the rules are better defined.</p>
<p>It&#8217;s not wrong for us to do our technical work.  But we should be the humble ones, not the proud ones.  Brothers, let us remember this.</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/ourcraft.wordpress.com/2283/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/ourcraft.wordpress.com/2283/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/ourcraft.wordpress.com/2283/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/ourcraft.wordpress.com/2283/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/ourcraft.wordpress.com/2283/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/ourcraft.wordpress.com/2283/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/ourcraft.wordpress.com/2283/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/ourcraft.wordpress.com/2283/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/ourcraft.wordpress.com/2283/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/ourcraft.wordpress.com/2283/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/ourcraft.wordpress.com/2283/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/ourcraft.wordpress.com/2283/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/ourcraft.wordpress.com/2283/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/ourcraft.wordpress.com/2283/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=ourcraft.wordpress.com&amp;blog=2431618&amp;post=2283&amp;subd=ourcraft&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://ourcraft.wordpress.com/2010/05/27/living-in-a-virtual-machine/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
	
		<media:content url="" medium="image">
			<media:title type="html">danielmeyer</media:title>
		</media:content>
	</item>
		<item>
		<title>DB-level unit tests for SQL Server</title>
		<link>http://ourcraft.wordpress.com/2010/05/11/db-level-unit-tests-for-sql-server/</link>
		<comments>http://ourcraft.wordpress.com/2010/05/11/db-level-unit-tests-for-sql-server/#comments</comments>
		<pubDate>Tue, 11 May 2010 17:07:32 +0000</pubDate>
		<dc:creator>danielmeyer</dc:creator>
				<category><![CDATA[Technical Stuff]]></category>
		<category><![CDATA[SQL Server]]></category>
		<category><![CDATA[unit testing]]></category>

		<guid isPermaLink="false">http://ourcraft.wordpress.com/?p=2274</guid>
		<description><![CDATA[I had created some test data on a labmanager VM.  It had taken some time &#8212; I had recorded a few calls, an email, and a chat, then tweaked the recording metadata to try out a few important aspects of the stored procedure I was testing. It&#8217;s at these times that I get the nagging [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=ourcraft.wordpress.com&amp;blog=2431618&amp;post=2274&amp;subd=ourcraft&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>I had created some test data on a labmanager VM.  It had taken some time &#8212; I had recorded a few calls, an email, and a chat, then tweaked the recording metadata to try out a few important aspects of the stored procedure I was testing.</p>
<p>It&#8217;s at these times that I get the nagging feeling &#8212; the test was so time-intensive to create and run, why not take the step of automating it so we can run it in the future and catch regressions &#8216;most instantly?</p>
<p>I wanted an SQL script that I could run that would INSERT the test data as it currently existed on my test machine.  And I didn&#8217;t want to create those INSERT statements by hand.  Boy, did I not want to write them all by hand.</p>
<h4>Solution</h4>
<p>Microsoft SQL Server 2005 comes with something called Database Publishing Wizard (look under <code>Program Files\Microsoft SQL Server\90\Tools\Publishing\1.2\</code> ).  With the following command:</p>
<p><pre class="brush: plain;">
sqlpubwiz script -d MyDatabase -dataonly c:\temp\MyDatabase.sql
</pre></p>
<p>&#8230;I was able to generate INSERT statements for all the data in my little test database to an .sql script file.  I then edited the file to remove things I didn&#8217;t need (and to avoid key collisions by substituting <code>NEWID()</code> calls for hardcoded uniqueidentifiers as necessary).</p>
<p>Finally, with all the data in place, I could add the following tests.  (If anything goes wrong, an error message appears in the Messages window.)</p>
<p><pre class="brush: sql;">
DECLARE @tempTable TABLE(BlahId      uniqueidentifier,
                         BlahType        int,
                         BlahDateUTC DateTime,
                         BlahLength  int,
                         PhoneNumber      nvarchar(60),
                         RightsMask       int);

DECLARE	@return_value int;
INSERT INTO @tempTable
EXEC	@return_value = [dbo].[blah_get_blah_chunk]
		@i_sessionId = @sessionId,
		@i_chunkSize = 50;

IF @return_value &lt;&gt; 0 RAISERROR('Return value should be zero but was %d', 15, 1, @return_value);

DECLARE @expectedRecords int;
DECLARE @actualRecords int;
SET @expectedRecords = 5;
SET @actualRecords = (SELECT COUNT(*) FROM @tempTable);
IF @actualRecords &lt;&gt; @expectedRecords RAISERROR('Expected %d records in result set but found %d', 15, 1, @expectedRecords, @actualRecords);

DECLARE @actualDisplayName nvarchar(60);
DECLARE @expectedDisplayName nvarchar(60);
SET @expectedDisplayName = N'blah_user -';
SELECT @actualDisplayName = (SELECT LocalPartyName FROM @tempTable WHERE RecordingId = N'a0ca1a4f-0933-4565-b5da-d8fc3222a42a');
IF @actualDisplayName &lt;&gt; @expectedDisplayName RAISERROR('Expected display name to be &quot;%s&quot; but it was &quot;%s&quot;', 15, 1, @expectedDisplayName, @actualDisplayName);

GO
</pre></p>
<p>In the future we could have a script test runner that keeps track of the output and flags errors as part of the build&#8230; but one step at a time, right?  This already takes test scenarios that took more than a day to set up and makes them runnable in a minute or two.</p>
<p>Database Publishing Wizard can also generate script to create the entire database schema, but it&#8217;s the data generation that will support my unit test needs.</p>
<p>Thanks, Microsoft!</p>
<h4>Acknowledgement</h4>
<p>Thanks to Pinalkumar Dave for his helpful write-up titled <cite><a href="http://blog.sqlauthority.com/2007/11/16/sql-server-2005-generate-script-with-data-from-database-database-publishing-wizard/">Generate Script with Data from Database – Database Publishing Wizard</a></cite></p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/ourcraft.wordpress.com/2274/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/ourcraft.wordpress.com/2274/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/ourcraft.wordpress.com/2274/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/ourcraft.wordpress.com/2274/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/ourcraft.wordpress.com/2274/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/ourcraft.wordpress.com/2274/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/ourcraft.wordpress.com/2274/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/ourcraft.wordpress.com/2274/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/ourcraft.wordpress.com/2274/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/ourcraft.wordpress.com/2274/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/ourcraft.wordpress.com/2274/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/ourcraft.wordpress.com/2274/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/ourcraft.wordpress.com/2274/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/ourcraft.wordpress.com/2274/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=ourcraft.wordpress.com&amp;blog=2431618&amp;post=2274&amp;subd=ourcraft&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://ourcraft.wordpress.com/2010/05/11/db-level-unit-tests-for-sql-server/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="" medium="image">
			<media:title type="html">danielmeyer</media:title>
		</media:content>
	</item>
		<item>
		<title>Funny log message</title>
		<link>http://ourcraft.wordpress.com/2010/04/14/funny-log-message/</link>
		<comments>http://ourcraft.wordpress.com/2010/04/14/funny-log-message/#comments</comments>
		<pubDate>Wed, 14 Apr 2010 15:22:52 +0000</pubDate>
		<dc:creator>danielmeyer</dc:creator>
				<category><![CDATA[Fun]]></category>
		<category><![CDATA[Technical Stuff]]></category>

		<guid isPermaLink="false">http://ourcraft.wordpress.com/?p=2255</guid>
		<description><![CDATA[I was just browsing through a 130,000-line log file trawling for clues to an error.  About a hundred screens down, this log message made me smile: Glad to meet you, sir!<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=ourcraft.wordpress.com&amp;blog=2431618&amp;post=2255&amp;subd=ourcraft&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>I was just browsing through a 130,000-line log file trawling for clues to an error.  About a hundred screens down, this log message made me smile:</p>
<p><pre class="brush: plain;">
N MSI (s) (98:F8) [16:53:58:645]: Hello, I'm your 32bit Impersonated custom action server.
</pre></p>
<p>Glad to meet you, sir!</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/ourcraft.wordpress.com/2255/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/ourcraft.wordpress.com/2255/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/ourcraft.wordpress.com/2255/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/ourcraft.wordpress.com/2255/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/ourcraft.wordpress.com/2255/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/ourcraft.wordpress.com/2255/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/ourcraft.wordpress.com/2255/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/ourcraft.wordpress.com/2255/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/ourcraft.wordpress.com/2255/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/ourcraft.wordpress.com/2255/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/ourcraft.wordpress.com/2255/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/ourcraft.wordpress.com/2255/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/ourcraft.wordpress.com/2255/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/ourcraft.wordpress.com/2255/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=ourcraft.wordpress.com&amp;blog=2431618&amp;post=2255&amp;subd=ourcraft&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://ourcraft.wordpress.com/2010/04/14/funny-log-message/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="" medium="image">
			<media:title type="html">danielmeyer</media:title>
		</media:content>
	</item>
		<item>
		<title>To manipulate SQL Server metadata from a remote client&#8230;</title>
		<link>http://ourcraft.wordpress.com/2010/04/06/to-manipulate-sql-server-metadata-from-a-remote-client/</link>
		<comments>http://ourcraft.wordpress.com/2010/04/06/to-manipulate-sql-server-metadata-from-a-remote-client/#comments</comments>
		<pubDate>Tue, 06 Apr 2010 16:23:31 +0000</pubDate>
		<dc:creator>danielmeyer</dc:creator>
				<category><![CDATA[Technical Stuff]]></category>
		<category><![CDATA[SQL Server]]></category>

		<guid isPermaLink="false">http://ourcraft.wordpress.com/?p=2243</guid>
		<description><![CDATA[(If you&#8217;d rather skip the narrative and go straight to the solution, please see the Solution heading&#8230;) We use virtual machines for a lot of our testing &#8212; you just clone a VMWare LabManager image, deploy it, and off you go.  You can do whatever you want to the configuration, because when you&#8217;re done you [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=ourcraft.wordpress.com&amp;blog=2431618&amp;post=2243&amp;subd=ourcraft&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p><em>(If you&#8217;d rather skip the narrative and go straight to the solution, please see the <a href="#solution">Solution heading</a>&#8230;)</em></p>
<p>We use virtual machines for a lot of our testing &#8212; you just clone a VMWare LabManager image, deploy it, and off you go.  You can do whatever you want to the configuration, because when you&#8217;re done you just undeploy and delete the workspace.  It&#8217;s really nice.</p>
<p>The &#8220;clone a LabManager image&#8221; step works because someone regularly takes one of the nightlyish builds and installs it to a VM, creating an image suitable for others to clone.</p>
<p>For less generally applicable needs, such as builds of the team branch I&#8217;m working in, an image is not always available, but we can take the main branch and apply transformations to it to update it to the team branch.</p>
<p>And now we&#8217;ve arrived at the topic of this post.  One of the tranformations I commonly find myself needing to apply is a database schema update.</p>
<p>I can copy the SQL Server update scripts to the VM and run MS SQL Server Management Studio on the VM.  This is ok, but it requires that I Remote Desktop in to the VM, establish access to the VM&#8217;s file shares, and copy files from two different directories&#8230; and SQL Server Management Studio is sluggish on the VM.</p>
<p>I would prefer to run SQL Server Management Studio on my local PC, connecting to the VM&#8230; but the user account doesn&#8217;t have permissions to alter columns or create or drop tables.  Do I have to use Remote Desktop after all?</p>
<p>No, it&#8217;s a simple setup issue.<br />
<a name="solution"></a></p>
<h4>Solution</h4>
<p>Edit the properties of your user in MS SQL Server Management Studio under <tt>Security-&gt;Logins</tt> (you might need to get on the VM to do this) and <strong>add the <code>sysadmin</code> server role to your user</strong>.  Now you can create and drop tables, alter columns, etc. from a remote SQL Server Management Studio connection.</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/ourcraft.wordpress.com/2243/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/ourcraft.wordpress.com/2243/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/ourcraft.wordpress.com/2243/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/ourcraft.wordpress.com/2243/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/ourcraft.wordpress.com/2243/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/ourcraft.wordpress.com/2243/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/ourcraft.wordpress.com/2243/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/ourcraft.wordpress.com/2243/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/ourcraft.wordpress.com/2243/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/ourcraft.wordpress.com/2243/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/ourcraft.wordpress.com/2243/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/ourcraft.wordpress.com/2243/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/ourcraft.wordpress.com/2243/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/ourcraft.wordpress.com/2243/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=ourcraft.wordpress.com&amp;blog=2431618&amp;post=2243&amp;subd=ourcraft&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://ourcraft.wordpress.com/2010/04/06/to-manipulate-sql-server-metadata-from-a-remote-client/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="" medium="image">
			<media:title type="html">danielmeyer</media:title>
		</media:content>
	</item>
		<item>
		<title>Using Unicode characters in SQL Server</title>
		<link>http://ourcraft.wordpress.com/2010/02/19/using-unicode-characters-in-sql-server/</link>
		<comments>http://ourcraft.wordpress.com/2010/02/19/using-unicode-characters-in-sql-server/#comments</comments>
		<pubDate>Fri, 19 Feb 2010 21:13:12 +0000</pubDate>
		<dc:creator>danielmeyer</dc:creator>
				<category><![CDATA[Technical Stuff]]></category>
		<category><![CDATA[Japanese]]></category>
		<category><![CDATA[SQL Server]]></category>
		<category><![CDATA[Unicode]]></category>

		<guid isPermaLink="false">http://ourcraft.wordpress.com/?p=2237</guid>
		<description><![CDATA[In troubleshooting an issue this week involving the storage of Japanese characters to the database, I found out some things. When I ran a query on the database using MS SQL Server (2005) Management Studio, the row that should have looked like this instead looked like question marks: ?????? Is it just my glasses? My [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=ourcraft.wordpress.com&amp;blog=2431618&amp;post=2237&amp;subd=ourcraft&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>In troubleshooting an issue this week involving the storage of Japanese characters to the database, I found out some things.</p>
<p>When I ran a query on the database using MS SQL Server (2005) Management Studio, the row that should have looked like this</p>
<p style="padding-left:30px;"><a href="http://ourcraft.files.wordpress.com/2010/02/japanese-characters1.png"><img class="alignnone size-full wp-image-2241" title="japanese-characters" src="http://ourcraft.files.wordpress.com/2010/02/japanese-characters1.png" alt="" width="86" height="20" /></a></p>
<p>instead looked like question marks:</p>
<p style="padding-left:30px;">??????</p>
<h4>Is it just my glasses?</h4>
<p>My reaction in a situation like this is: &#8220;Is it really foggy out, or is it just my glasses?&#8221;  Either the data was being stored incorrectly in the database or I was simply having trouble viewing it.</p>
<h4>Answers</h4>
<p>Here is a dump of the things I learned:</p>
<ul>
<li>The question marks indicate that the data was really not stored correctly (data loss).</li>
<li>If instead, your query results appear as square boxes (▯▯▯▯▯▯), your PC just does not have the language pack installed to view the characters.  On Windows XP, go to <code>Control Panel -&gt; Regional and Language Options</code> and check the <code>Install files for East Asian languages</code> checkbox.</li>
<li>One possible cause of your data turning to question marks is if you insert a literal unicode string but do not use the N prefix (e.g., <strong>N</strong>&#8216;myunicodestring&#8217;).  Setting it as just &#8216;myunicodestring&#8217; can cause non-Latin characters to go to question marks.</li>
<li>Another cause is if your column is not of a unicode type.  For instance, on SQL Server, you would want to use one of the <em>n</em>- character column types such as <code>nvarchar(x).</code></li>
</ul>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/ourcraft.wordpress.com/2237/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/ourcraft.wordpress.com/2237/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/ourcraft.wordpress.com/2237/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/ourcraft.wordpress.com/2237/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/ourcraft.wordpress.com/2237/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/ourcraft.wordpress.com/2237/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/ourcraft.wordpress.com/2237/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/ourcraft.wordpress.com/2237/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/ourcraft.wordpress.com/2237/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/ourcraft.wordpress.com/2237/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/ourcraft.wordpress.com/2237/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/ourcraft.wordpress.com/2237/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/ourcraft.wordpress.com/2237/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/ourcraft.wordpress.com/2237/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=ourcraft.wordpress.com&amp;blog=2431618&amp;post=2237&amp;subd=ourcraft&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://ourcraft.wordpress.com/2010/02/19/using-unicode-characters-in-sql-server/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="" medium="image">
			<media:title type="html">danielmeyer</media:title>
		</media:content>

		<media:content url="http://ourcraft.files.wordpress.com/2010/02/japanese-characters1.png" medium="image">
			<media:title type="html">japanese-characters</media:title>
		</media:content>
	</item>
		<item>
		<title>I, foreigner</title>
		<link>http://ourcraft.wordpress.com/2010/02/18/i-foreigner/</link>
		<comments>http://ourcraft.wordpress.com/2010/02/18/i-foreigner/#comments</comments>
		<pubDate>Thu, 18 Feb 2010 12:48:17 +0000</pubDate>
		<dc:creator>danielmeyer</dc:creator>
				<category><![CDATA[Technical Stuff]]></category>

		<guid isPermaLink="false">http://ourcraft.wordpress.com/?p=2230</guid>
		<description><![CDATA[I am troubleshooting an issue in the Japanese localization of one of our products.  Some string is apparently not getting sent to the database correctly, or for whatever reason the proper records are not being returned. There&#8217;s a system set up in Japanese that I&#8217;m testing on. I&#8217;m not used to feeling so disoriented using [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=ourcraft.wordpress.com&amp;blog=2431618&amp;post=2230&amp;subd=ourcraft&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>I am troubleshooting an issue in the Japanese localization of one of our products.  Some string is apparently not getting sent to the database correctly, or for whatever reason the proper records are not being returned.</p>
<p>There&#8217;s a system set up in Japanese that I&#8217;m testing on.</p>
<p>I&#8217;m not used to feeling so disoriented using a program.  It&#8217;s not like a screen in Spanish, where I can understand some of it and guess my way around&#8230; the Japanese characters mean <em>nothing</em> to me:</p>
<p><a href="http://ourcraft.files.wordpress.com/2010/02/japanese-screen.png"></a><a href="http://ourcraft.files.wordpress.com/2010/02/japanese-screen1.png"><img class="alignnone size-full wp-image-2232" title="japanese-screen" src="http://ourcraft.files.wordpress.com/2010/02/japanese-screen1.png" alt="" width="549" height="347" /></a><br />
Uhh, hmm&#8230; interesting to have the perspective of a non-native speaker.  What can help me?  How can I do anything? (I even know this application reasonably well in English, but the foreignness of the language is overwhelming, immobilizing.)</p>
<p>As I visually scanned the screen for anything that would help me find my way, I found myself focusing on the icons (which I had barely noticed in the English version) and on the arabic numbers.  &#8220;Ah yes,&#8221; I remembered &#8211;  the magnifying glass signifies a search, and &#8220;検索 1&#8243; probably means &#8220;New Search 1&#8243;.</p>
<p>I created a new search and added an attribute to it, and once again the icons were most helpful (otherwise I would have had little hope of knowing what kind of search attribute I was adding):</p>
<p><a href="http://ourcraft.files.wordpress.com/2010/02/japanese-search.png"><img class="alignnone size-full wp-image-2233" title="japanese-search" src="http://ourcraft.files.wordpress.com/2010/02/japanese-search.png" alt="" width="728" height="374" /></a></p>
<p>So what&#8217;s the lesson in this?  One is that it&#8217;s really helpful to know the language!  But I think my takeaway is an increased identification with and compassion for those using a system who for whatever reason may not understand the language, or not understand it well.  I want the systems I design to not forget that person &#8212; and give them a little help when I can.</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/ourcraft.wordpress.com/2230/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/ourcraft.wordpress.com/2230/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/ourcraft.wordpress.com/2230/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/ourcraft.wordpress.com/2230/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/ourcraft.wordpress.com/2230/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/ourcraft.wordpress.com/2230/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/ourcraft.wordpress.com/2230/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/ourcraft.wordpress.com/2230/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/ourcraft.wordpress.com/2230/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/ourcraft.wordpress.com/2230/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/ourcraft.wordpress.com/2230/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/ourcraft.wordpress.com/2230/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/ourcraft.wordpress.com/2230/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/ourcraft.wordpress.com/2230/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=ourcraft.wordpress.com&amp;blog=2431618&amp;post=2230&amp;subd=ourcraft&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://ourcraft.wordpress.com/2010/02/18/i-foreigner/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="" medium="image">
			<media:title type="html">danielmeyer</media:title>
		</media:content>

		<media:content url="http://ourcraft.files.wordpress.com/2010/02/japanese-screen1.png" medium="image">
			<media:title type="html">japanese-screen</media:title>
		</media:content>

		<media:content url="http://ourcraft.files.wordpress.com/2010/02/japanese-search.png" medium="image">
			<media:title type="html">japanese-search</media:title>
		</media:content>
	</item>
		<item>
		<title>Starts at $NaN!</title>
		<link>http://ourcraft.wordpress.com/2010/01/29/starts-at-nan/</link>
		<comments>http://ourcraft.wordpress.com/2010/01/29/starts-at-nan/#comments</comments>
		<pubDate>Fri, 29 Jan 2010 15:21:42 +0000</pubDate>
		<dc:creator>danielmeyer</dc:creator>
				<category><![CDATA[Fun]]></category>

		<guid isPermaLink="false">http://ourcraft.wordpress.com/?p=2215</guid>
		<description><![CDATA[Normally, marketing hype is a turn-off for me.  But in looking for a VW dealership in the Indianapolis area, this one drew my attention &#8212; An undefined sale where prices start at $NaN: Now that&#8217;s talking my language. These guys might just get my business.  :)<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=ourcraft.wordpress.com&amp;blog=2431618&amp;post=2215&amp;subd=ourcraft&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Normally, marketing hype is a turn-off for me.  But in looking for a VW dealership in the Indianapolis area, this one drew my attention &#8212; An <code>undefined</code> sale where prices start at <code>$NaN</code>:</p>
<p><a href="http://ourcraft.files.wordpress.com/2010/01/starts-at-nan2.png"><img class="alignnone size-full wp-image-2223" title="starts-at-nan" src="http://ourcraft.files.wordpress.com/2010/01/starts-at-nan2.png" alt="" width="674" height="509" /></a></p>
<p>Now that&#8217;s talking my language.</p>
<p>These guys might just get my business.  :)</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/ourcraft.wordpress.com/2215/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/ourcraft.wordpress.com/2215/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/ourcraft.wordpress.com/2215/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/ourcraft.wordpress.com/2215/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/ourcraft.wordpress.com/2215/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/ourcraft.wordpress.com/2215/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/ourcraft.wordpress.com/2215/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/ourcraft.wordpress.com/2215/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/ourcraft.wordpress.com/2215/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/ourcraft.wordpress.com/2215/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/ourcraft.wordpress.com/2215/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/ourcraft.wordpress.com/2215/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/ourcraft.wordpress.com/2215/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/ourcraft.wordpress.com/2215/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=ourcraft.wordpress.com&amp;blog=2431618&amp;post=2215&amp;subd=ourcraft&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://ourcraft.wordpress.com/2010/01/29/starts-at-nan/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
	
		<media:content url="" medium="image">
			<media:title type="html">danielmeyer</media:title>
		</media:content>

		<media:content url="http://ourcraft.files.wordpress.com/2010/01/starts-at-nan2.png" medium="image">
			<media:title type="html">starts-at-nan</media:title>
		</media:content>
	</item>
	</channel>
</rss>
