<?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>Kellbot! &#187; fail</title>
	<atom:link href="http://www.kellbot.com/tag/fail/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.kellbot.com</link>
	<description>Tinysaurs and Hacking and Nonsense</description>
	<lastBuildDate>Wed, 09 May 2012 16:49:21 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.2</generator>
		<item>
		<title>Etsy API Fail &#8211; Well, Ok maybe not.</title>
		<link>http://www.kellbot.com/2009/11/api-fail/</link>
		<comments>http://www.kellbot.com/2009/11/api-fail/#comments</comments>
		<pubDate>Mon, 23 Nov 2009 05:53:27 +0000</pubDate>
		<dc:creator>Kelly Farrell</dc:creator>
				<category><![CDATA[Programming]]></category>
		<category><![CDATA[api]]></category>
		<category><![CDATA[Etsy]]></category>
		<category><![CDATA[fail]]></category>

		<guid isPermaLink="false">http://www.kellbot.com/?p=446</guid>
		<description><![CDATA[I&#8217;m working on a new project which uses Etsy&#8217;s API. As far as APIs go, theirs is pretty neutered. There&#8217;s no user authentication whatsoever so the only data you can get from it is what&#8217;s available to the general public. Since you can&#8217;t authenticate, you certainly can&#8217;t write any data, so things like allowing users <a href="http://www.kellbot.com/2009/11/api-fail/">...</a>]]></description>
			<content:encoded><![CDATA[<p>I&#8217;m working on a new project which uses <a href="http://developer.etsy.com">Etsy&#8217;s API</a>. As far as APIs go, theirs is pretty neutered. There&#8217;s no user authentication whatsoever so the only data you can get from it is what&#8217;s available to the general public. Since you can&#8217;t authenticate, you certainly can&#8217;t write any data, so things like allowing users to add Etsy items to their favorites aren&#8217;t possible.</p>
<p>Working with their API I found another &#8220;quirk.&#8221; If you try to getUserDetails on a username which doesn&#8217;t exist it won&#8217;t return null or false or an empty object. Instead, it responds with HTTP status code 404.</p>
<p>Wait, what?</p>
<p>This means I have no way of differentiating between an error in my URI and a simple case of a defunct username. In fact, this behavior is contrary to what Etsy&#8217;s own documentation suggests. Their sample code dies on any status besides 200, which makes sense although you&#8217;d probably want to handle the error more gracefully. Now I have to look up the status code and try to guess whether I got the 404 because of a malformed URI or because the username was wrong. That will make debugging super fun!</p>
<p>404 is an HTTP error. A correctly formed API query with a null result should not return a 404. Argh. In english terms, a 404 means &#8220;I don&#8217;t have the information you&#8217;re looking for.&#8221;</p>
<p>You could argue that Etsy simply doesn&#8217;t have the userinfo for that user, because it doesn&#8217;t exist, and therefore 404 is appropriate. But that&#8217;s a cop out. Etsy DOES know that user&#8217;s info: it&#8217;s empty. If I&#8217;m querying a database of all known users, and getting back a subset of said users based on my input, Etsy&#8217;s response should be &#8220;there aren&#8217;t any matching users&#8221; not &#8220;I don&#8217;t have that information.&#8221; A 204 error would be more appropriate.</p>
<p>Edit: Apparently this is becoming a common thing.  Although I haven&#8217;t seen it with any other APIs I&#8217;ve worked with. And let me state for the record that just because other people do it doesn&#8217;t make me think it&#8217;s any less of a dumb idea.</p>
<p>Edit again: Someone who is less sleep deprived than myself pointed out that the body of the 404 responses does contain useful information, which I had missed earlier. So in this case I will concede to being wrong, although I am still not a fan of this approach because it means my script relies on the exact English wording of their error messages. Carry on.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.kellbot.com/2009/11/api-fail/feed/</wfw:commentRss>
		<slash:comments>6</slash:comments>
		</item>
		<item>
		<title>Spelling Fail</title>
		<link>http://www.kellbot.com/2009/03/spelling-fail/</link>
		<comments>http://www.kellbot.com/2009/03/spelling-fail/#comments</comments>
		<pubDate>Thu, 26 Mar 2009 13:26:16 +0000</pubDate>
		<dc:creator>Kelly Farrell</dc:creator>
				<category><![CDATA[Business]]></category>
		<category><![CDATA[crafting]]></category>
		<category><![CDATA[fail]]></category>
		<category><![CDATA[packaging]]></category>
		<category><![CDATA[Tinysaur]]></category>

		<guid isPermaLink="false">http://www.kellbot.com/?p=178</guid>
		<description><![CDATA[Here&#8217;s a short reminder in why you should have someone else proofread your marketing copy. Because after staring at the design for hours, you&#8217;re probably going to miss things. Important things. Large things. Like the fact that you&#8217;ve misspelled the word &#8220;Butterfly&#8221; on all your packaging. Note that the yellow &#8220;actual size&#8221; sticker version (with <a href="http://www.kellbot.com/2009/03/spelling-fail/">...</a>]]></description>
			<content:encoded><![CDATA[<p>Here&#8217;s a short reminder in why you should have someone else proofread your marketing copy. Because after staring at the design for hours, you&#8217;re probably going to miss things. Important things. Large things.<br />
<a title="One of these things by kellbot, on Flickr" href="http://www.flickr.com/photos/kellbot/3385177928/"><img class="aligncenter" src="http://farm4.static.flickr.com/3659/3385177928_90c059ee68.jpg" alt="One of these things" width="500" height="375" /></a><br />
Like the fact that you&#8217;ve misspelled the word &#8220;Butterfly&#8221; on all your packaging. Note that the yellow &#8220;actual size&#8221; sticker version (with the typo) is the 2nd generation of this packaging&#8230; the first had a green sticker. Meaning I managed to print off two batches of these typographically challenged babies before Chris said to me, &#8220;you know, butterfly is spelled wrong.&#8221;</p>
<p>I&#8217;m glad my boyfriend can read, even if I can&#8217;t.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.kellbot.com/2009/03/spelling-fail/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
	</channel>
</rss>

