<?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>Francis Shanahan[.com] &#187; useless tech</title>
	<atom:link href="http://francisshanahan.com/index.php/tag/useless-tech/feed/" rel="self" type="application/rss+xml" />
	<link>http://francisshanahan.com</link>
	<description>Thoughts on technology from a citizen scientist</description>
	<lastBuildDate>Sun, 25 Jul 2010 00:23:32 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0</generator>
		<item>
		<title>Unhandled Errors</title>
		<link>http://francisshanahan.com/index.php/2009/unhandled-errors/</link>
		<comments>http://francisshanahan.com/index.php/2009/unhandled-errors/#comments</comments>
		<pubDate>Wed, 15 Apr 2009 04:01:56 +0000</pubDate>
		<dc:creator>Francis</dc:creator>
				<category><![CDATA[Featured]]></category>
		<category><![CDATA[General Computing]]></category>
		<category><![CDATA[Headline]]></category>
		<category><![CDATA[Web Development]]></category>
		<category><![CDATA[bad practice]]></category>
		<category><![CDATA[lazy]]></category>
		<category><![CDATA[useless tech]]></category>

		<guid isPermaLink="false">http://francisshanahan.com/www/?p=2182</guid>
		<description><![CDATA[Checkout this screen grab of an error message thrown up by my garbage collector&#8217;s online bill pay system. This is appalling. If you develop software for a living you&#8217;ll know what&#8217;s going on here. Essentially the developer didn&#8217;t unit test their code, and didn&#8217;t handle the exception. Actually they did handle the exception but in completely the wrong way, throwing a system exception straight back to the end user. 
Not only has this developer ruined the user experience but he&#8217;s exposed vital information to a potential villain. E.g. from this ...]]></description>
			<content:encoded><![CDATA[<p>Checkout this screen grab of an error message thrown up by my garbage collector&#8217;s online bill pay system. This is appalling. If you develop software for a living you&#8217;ll know what&#8217;s going on here. Essentially the developer didn&#8217;t unit test their code, and didn&#8217;t handle the exception. Actually they did handle the exception but in completely the wrong way, throwing a system exception straight back to the end user. </p>
<p>Not only has this developer ruined the user experience but he&#8217;s exposed vital information to a potential villain. E.g. from this message I can tell the site is running SQL Server on the back end. I can tell there&#8217;s a table named tbl_Payment_Master which is owned by the built in dbo account. I can tell there&#8217;s a primary key on that table and I&#8217;m even told the data database name. So I&#8217;m all set for a SQL Injection attack. Remember this is a PAYMENT application most likely with credit card information stored therein. </p>
<p>This is just lazy, like the guy doing the rubik&#8217;s cube above.</p>
<p><img src="http://francisshanahan.com/www/wp-content/uploads/2009/03/error.jpg" /></p>
]]></content:encoded>
			<wfw:commentRss>http://francisshanahan.com/index.php/2009/unhandled-errors/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>The Turbo Encabulator</title>
		<link>http://francisshanahan.com/index.php/2009/the-turbo-encabulator/</link>
		<comments>http://francisshanahan.com/index.php/2009/the-turbo-encabulator/#comments</comments>
		<pubDate>Sat, 04 Apr 2009 01:13:39 +0000</pubDate>
		<dc:creator>Francis</dc:creator>
				<category><![CDATA[Featured]]></category>
		<category><![CDATA[Headline]]></category>
		<category><![CDATA[Weird Wide World]]></category>
		<category><![CDATA[turbo encabulator]]></category>
		<category><![CDATA[useless tech]]></category>

		<guid isPermaLink="false">http://francisshanahan.com/www/?p=2187</guid>
		<description><![CDATA[For a number of years now work has been proceeding in order to bring to the crudely conceived idea of a transmission that would not only supply inverse reactive current for use in unilateral phase detractors, but would also be capable of automatically synchronizing cardinal grammeters. Such an instrument is the turbo encabulator.
Now basically, the only new principle involved is that instead of power being generated by the relative motions of conductors and fluxes, it is produced by the modial interaction of magnetoreluctance and capacitive directance.
The original machine had a ...]]></description>
			<content:encoded><![CDATA[<p>For a number of years now work has been proceeding in order to bring to the crudely conceived idea of a transmission that would not only supply inverse reactive current for use in unilateral phase detractors, but would also be capable of automatically synchronizing cardinal grammeters. Such an instrument is the turbo encabulator.</p>
<p>Now basically, the only new principle involved is that instead of power being generated by the relative motions of conductors and fluxes, it is produced by the modial interaction of magnetoreluctance and capacitive directance.</p>
<p>The original machine had a baseplate of prefabulated Amulite, surmounted by a malleable logarithmic casing in such a way that the two spurving bearings were in a direct line with the pentametric fan. The latter consisted simply of six hydrocoptic marzel vanes so-fitted to the ambifacient lunar wane shaft that side fumbling was effectively prevented.</p>
<p>The main winding was of the normal lotus-o-delta type placed in panendermic semi-boloid slots in the stator, every seventh conductor being connected by a nonreversible trem&#8217;e pipe to the differential girdlespring on the up-end of the grammeters.</p>
<p>The Turbo Encabulator has now reached a high level of develement, and is being successfully used in the operation of nofer trunnions. Moreover, whenever a barescent skor motion is required, it may be employed in conjunction with a drawn reciprocating dingle arm to reduce sinusodial depleneration. </p>
<p>You can watch the full video here:<br />
<object width="425" height="344"><param name="movie" value="http://www.youtube.com/v/lVZ8Ko-nss4&#038;hl=en&#038;fs=1"></param><param name="allowFullScreen" value="true"></param><param name="allowscriptaccess" value="always"></param><embed src="http://www.youtube.com/v/lVZ8Ko-nss4&#038;hl=en&#038;fs=1" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="425" height="344"></embed></object></p>
]]></content:encoded>
			<wfw:commentRss>http://francisshanahan.com/index.php/2009/the-turbo-encabulator/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>Beware of Software Alliances</title>
		<link>http://francisshanahan.com/index.php/2009/beware-of-software-alliances/</link>
		<comments>http://francisshanahan.com/index.php/2009/beware-of-software-alliances/#comments</comments>
		<pubDate>Sun, 29 Mar 2009 01:02:28 +0000</pubDate>
		<dc:creator>Francis</dc:creator>
				<category><![CDATA[Featured]]></category>
		<category><![CDATA[Headline]]></category>
		<category><![CDATA[Web Development]]></category>
		<category><![CDATA[openAjax]]></category>
		<category><![CDATA[standards]]></category>
		<category><![CDATA[useless tech]]></category>
		<category><![CDATA[WSRP]]></category>

		<guid isPermaLink="false">http://francisshanahan.com/www/?p=1974</guid>
		<description><![CDATA[You&#8217;ve got to be careful with alliances. When two companies work on the same thing then try to make those things work together, hilarity ensues. Last time I wrote about WSRP ["WSRP is Soo dead"]. WSRP in my opinion is a dead man walking. This time the topic is &#8220;Open Ajax&#8221;. [LINK].
The Open Ajax Alliance has been in existence since late 2005/early 2006. In that time I am not sure what they&#8217;ve done other than publish the OpenAjax Hub. 
The charter is &#8220;The OpenAjax Alliance is an organization of vendors, ...]]></description>
			<content:encoded><![CDATA[<p>You&#8217;ve got to be careful with alliances. When two companies work on the same thing then try to make those things work together, hilarity ensues. Last time I wrote about WSRP ["<a href="http://francisshanahan.com/www/index.php/2007/wsrp-sooo-dead/">WSRP is Soo dead</a>"]. WSRP in my opinion is a dead man walking. This time the topic is &#8220;Open Ajax&#8221;. [<a href="http://www.openajax.org/">LINK</a>].</p>
<p>The Open Ajax Alliance has been in existence since late 2005/early 2006. In that time I am not sure what they&#8217;ve done other than publish the OpenAjax Hub. </p>
<p>The charter is &#8220;The OpenAjax Alliance is an organization of vendors, open-source initiatives and Web developers dedicated to the successful adoption of open and interoperable Ajax-based Web technologies. The alliance&#8217;s prime objective is to accelerate customer success with Ajax by improving the customer&#8217;s ability to mix and match solutions from Ajax technology providers and helping to drive the future of the Ajax ecosystem.&#8221;</p>
<p>I can see how back in 2005 the view might have been &#8220;hey, there&#8217;s a lot of buzz about Ajax, why not form an alliance so we can make things go smooth&#8221;. Truth is I don&#8217;t think any of these vendors were too concerned with interoperability, at that time they all wanted to one-up each other and get their latest/greatest ajax platform out the door. </p>
<p>As history now shows, there haven&#8217;t been a whole heck of a lot of interoperability problems (not due to the openAjax alliance). Since the underlying data of Ajax is XML or JSON, it&#8217;s fairly hard to make things not interoperable. Let&#8217;s define interoperability in this context; </p>
<ol>
<li>if you combine two or more javascript libraries (in fact the OpenAjax alliance goes even more specific and says &#8220;Ajax&#8221; libraries) will they each function. </li>
<li>Can two or more libraries exchange data.</li>
<li>Can two or more libraries trigger or subscribe to the same events. </li>
</ol>
<p>I&#8217;ve probably missed a few things but those are the basics. Unless the library goes completely overboard it&#8217;s likely to be fairly safe. </p>
<p>That said, are the so many issues in the field that it warrants formation of an alliance across companies? Hardly. </p>
<p>One reason that interoperability of Ajax frameworks has not been an issue is that folks typically don&#8217;t use more than one. The ones they DO mix and match are typically very lightweight and tend not to step on one another&#8217;s toes. E.g. Prototype.JS and JQuery* can quite happily co-exist. </p>
<p>So why bother with this Alliance? I don&#8217;t know. </p>
<p>These groups make me nervous. They&#8217;re typically &#8220;name dropped&#8221; in meetings when you&#8217;re actually trying to get something done. &#8220;We can use OpenHub, it&#8217;s industry standard&#8221;. This is like a grenade going off. The magic combination of &#8220;Open&#8221;, &#8220;Industry&#8221; and &#8220;Standard&#8221; is like the Queen of Diamonds to the Manchurian Candidate.  The room perks up and folks align their points of view with the speaker. </p>
<p>OpenAjax Hub amounts to less than 200 lines of JS code, including comments. I challenge anyone to find the download link on <a href="http://OpenAjax.org" rel="nofollow">OpenAjax.org</a>. Did we need an alliance in existence for 4 years to nail that? </p>
<p>Alliances such as OpenAjax are an example of design by committee that that by their very nature stymie innovation. Think about it, you&#8217;ve got 1 or 2 representatives in the alliance from 8 or 9 companies that are otherwise competing with one another. They meet once a week for an hour long con-call. Every new feature or requirement is proposed, reviewed, submitted for feedback over a very long period before being implemented. Hardly agile development. </p>
<p>So what&#8217;s my point? I think the ideas put forth by OpenAjax are valid,  noble ideas. Interoperability between Ajax frameworks, great idea. But how many times has this issue come up in the real world? If it IS truly a problem I&#8217;d argue we don&#8217;t need an alliance to fix it. If anything I think the alliance makes it happen <em>slower</em>. With all that said, if I DID face the problem of using two different Ajax frameworks on the same page, I&#8217;d probably look to the OpenAjax Hub to fix it. Hey, no one ever got fired for hiring IBM. </p>
<p>So beware of &#8220;alliances&#8221; (unless you&#8217;re on CBS Survivor**). </p>
<p>* JQuery supports OpenAjax Hub through an extension.<br />
** Be doubly wary of alliances.</p>
]]></content:encoded>
			<wfw:commentRss>http://francisshanahan.com/index.php/2009/beware-of-software-alliances/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>WikiYou &#8211; You are Broken</title>
		<link>http://francisshanahan.com/index.php/2007/wikiyou-you-are-broken/</link>
		<comments>http://francisshanahan.com/index.php/2007/wikiyou-you-are-broken/#comments</comments>
		<pubDate>Mon, 16 Jul 2007 07:21:00 +0000</pubDate>
		<dc:creator>Francis</dc:creator>
				<category><![CDATA[Digital Identity]]></category>
		<category><![CDATA[useless tech]]></category>

		<guid isPermaLink="false">http://francisshanahan.com/www/index.php/2007/wikiyou-you-are-broken/</guid>
		<description><![CDATA[The thinly veiled phishing scam, WikiYou.com [LINK] claims to be the &#34;the unauthorized biography of every person on earth.&#34;
Sorry, then why does it ask for a Zip Code on the main page and make it mandatory??? do you think America is the Earth? Do you think everyone on earth has a zip code? 
That&#8217;s like saying baseball has a &#34;World Series&#34; when only US teams participate. 
Or like saying the NBA champs are the &#34;World Champions&#34;. Ehh, call me old-fashioned but you didn&#8217;t play any other countries!!!
WikiYou relies on a ...]]></description>
			<content:encoded><![CDATA[<p>The thinly veiled phishing scam, WikiYou.com [<a href="http://wikiyou.com/" target="_blank">LINK</a>] claims to be the &quot;the unauthorized biography of every person on earth.&quot;</p>
<p>Sorry, then why does it ask for a Zip Code on the main page and make it mandatory??? do you think America is the Earth? Do you think everyone on earth has a zip code? </p>
<p>That&#8217;s like saying baseball has a &quot;World Series&quot; when only US teams participate. </p>
<p>Or like saying the NBA champs are the &quot;World Champions&quot;. Ehh, call me old-fashioned but you didn&#8217;t play any other countries!!!</p>
<p>WikiYou relies on a person&#8217;s vanity to willingly volunteer your personal information. Don&#8217;t fall for it.</p>
]]></content:encoded>
			<wfw:commentRss>http://francisshanahan.com/index.php/2007/wikiyou-you-are-broken/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Useless Features in Software Development</title>
		<link>http://francisshanahan.com/index.php/2007/useless-features-in-software-development/</link>
		<comments>http://francisshanahan.com/index.php/2007/useless-features-in-software-development/#comments</comments>
		<pubDate>Sat, 16 Jun 2007 23:44:00 +0000</pubDate>
		<dc:creator>Francis</dc:creator>
				<category><![CDATA[Web Development]]></category>
		<category><![CDATA[useless tech]]></category>
		<category><![CDATA[WSRP]]></category>

		<guid isPermaLink="false">http://francisshanahan.com/www/index.php/2007/useless-features-in-software-development/</guid>
		<description><![CDATA[Here&#8217;s a list of things I hear about frequently that generally mean or count for nothing. These are features that people will never use but typically if your product doesn&#8217;t support it, folks won&#8217;t buy it.  
Ask a question in a meeting on any of these and you&#8217;ll give off an air of being really tech-savvy. Unfortunately the question and answer will be pointless. People ask anyway: 

BPEL compliance (Business Process Execution Language): &#34;Is your engine BPEL compliant?&#34; Doesn&#8217;t mean anything. You&#8217;ll never switch orchestration engines. Even if you ...]]></description>
			<content:encoded><![CDATA[<p>Here&#8217;s a list of things I hear about frequently that generally mean or count for nothing. These are features that people will never use but typically if your product doesn&#8217;t support it, folks won&#8217;t buy it.  </p>
<p>Ask a question in a meeting on any of these and you&#8217;ll give off an air of being really tech-savvy. Unfortunately the question and answer will be pointless. People ask anyway: </p>
<ol>
<li>BPEL compliance (Business Process Execution Language): &quot;Is your engine BPEL compliant?&quot; Doesn&#8217;t mean anything. You&#8217;ll never switch orchestration engines. Even if you do and your orchestrations are BPEL compliant you will still have re-work to do to get them up and running.</li>
<li>&quot;Pure Java&quot;: Doesn&#8217;t mean anything. When was the last time you switched application server? From say BEA to WebSphere??? Never happens. I don&#8217;t understand it but for whatever reason folks feel more comfortable if their code is &quot;portable&quot; even if they never port it.&nbsp;</li>
<li>&quot;Lightweight container&quot;: Everything&#8217;s a lightweight container. I have yet to meet a heavyweight container but if I do I&#8217;ll shake it&#8217;s hand. </li>
<li>&quot;Do you support WSRP?&quot;: Web Services for Remote Portlets: Useless feature that should never be used. Sort of like a toilet with a passenger-side airbag. </li>
<li>&quot;Your business folks could edit this process&quot;: No they couldn&#8217;t or if they could it&#8217;s typically not a good idea to let them.</li>
</ol>
<p>I&#8217;m sure there are others, what other useless but sought after features can you think of?</p>
]]></content:encoded>
			<wfw:commentRss>http://francisshanahan.com/index.php/2007/useless-features-in-software-development/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>WSRP = Sooo Dead</title>
		<link>http://francisshanahan.com/index.php/2007/wsrp-sooo-dead/</link>
		<comments>http://francisshanahan.com/index.php/2007/wsrp-sooo-dead/#comments</comments>
		<pubDate>Mon, 04 Jun 2007 07:35:00 +0000</pubDate>
		<dc:creator>Francis</dc:creator>
				<category><![CDATA[Web Development]]></category>
		<category><![CDATA[useless tech]]></category>
		<category><![CDATA[WSRP]]></category>

		<guid isPermaLink="false">http://francisshanahan.com/www/index.php/2007/wsrp-sooo-dead/</guid>
		<description><![CDATA[Marc Logemann has asked in his blog [LINK] &#34;Is WSRP Dead?&#34;, a question prompted by Marc&#8217;s failure to find wsrp producers on the web. 
Judging by the responses at TheServerSide.net [LINK] it would seem the answer is unfortunately no. 
If you look at the spec though it&#8217;s pretty blatantly obvious to me that the real answer is it was never alive!!!
WSRP stands for Web Service for Remote Portlets. It lets you share a portlet hosted in a portal with other portals based on configuration alone. 
The host (WSRP producer) instantiates ...]]></description>
			<content:encoded><![CDATA[<p>Marc Logemann has asked in his blog [<a target="_blank" href="http://www.logemann.org/2007/04/19/no-wsrp-producder-example-is-wsrp-dead/">LINK</a>] &quot;Is WSRP Dead?&quot;, a question prompted by Marc&#8217;s failure to find wsrp producers on the web. </p>
<p>Judging by the responses at TheServerSide.net [<a target="_blank" href="http://www.theserverside.com/news/thread.tss?thread_id=45109">LINK</a>] it would seem the answer is unfortunately no. </p>
<p>If you look at the spec though it&#8217;s pretty blatantly obvious to me that the real answer is it was never alive!!!</p>
<p>WSRP stands for Web Service for Remote Portlets. It lets you share a portlet hosted in a portal with other portals based on configuration alone. </p>
<p>The host (WSRP producer) instantiates the portlet and then serializes it into XML, including HTML and wraps the whole thing in SOAP. It also does things like URL re-writing to avoid collisions with the consumer. It even does things like re-writing the javascript. </p>
<p>It&#8217;s a super lazy approach and the problems are numerous: </p>
<p>a) The size of the data packet over the wire: Includes Presentation and Data combined. <br />
b) Have to layer security on top of it. Can flow security contexts over in some cases but generally you&#8217;ll want to do WS-Security over SOAP. Now you&#8217;re really bloated. <br />
c) Context: The portlet think&#8217;s it&#8217;s running on it&#8217;s host portal, can&#8217;t interact with other portlets on the screen as it doesn&#8217;t know where it&#8217;s being hosted. <br />
d) Things like Ajax or javascript-ish controls are going to be tough to debug. <br />
e) Performance: All that stuff on the wire. <br />
f) Additional processing for stuff like Request.Redirect to strip out HTTP headers. </p>
<p>The list goes on and on and yet this spec is on V2.0 now!!! I don&#8217;t understand it but there you have it. With things like JSON/REST/SOAP and the ease by which you can create a UI nowadays you&#8217;d think folks&#8217;d wise up, take the hit and build a native portlet to consume a data web service. You&#8217;re life will be so much easier in the long run and you&#8217;ll get better mileage from the data web service than you will from WSRP web services. <br />
&lt;shakingHead rollingeyes=&quot;true&quot; /&gt;</p>
]]></content:encoded>
			<wfw:commentRss>http://francisshanahan.com/index.php/2007/wsrp-sooo-dead/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>DreamScene</title>
		<link>http://francisshanahan.com/index.php/2007/dreamscene/</link>
		<comments>http://francisshanahan.com/index.php/2007/dreamscene/#comments</comments>
		<pubDate>Mon, 21 May 2007 06:12:00 +0000</pubDate>
		<dc:creator>Francis</dc:creator>
				<category><![CDATA[Weird Wide World]]></category>
		<category><![CDATA[useless tech]]></category>

		<guid isPermaLink="false">http://francisshanahan.com/www/index.php/2007/dreamscene/</guid>
		<description><![CDATA[DreamScene[LINK] is a little known extra in windows Vista which allows you to replace your desktop wallpaper with a video of your choice. The video plays on your desktop as if it were a wallpaper. It doesn&#8217;t seem to bog down the machine although I&#8217;m running it on a dual core AMD with 2GB of RAM. 
A nice curiosity but I found it a bit repetitive for long viewing. Someone definitely put a lot of time into this but it seems destined to failure as I can&#8217;t imagine anyone ever ...]]></description>
			<content:encoded><![CDATA[<p>DreamScene[<a href="http://windowsultimate.com/blogs/extras/archive/2007/03/14/windows-dreamscene.aspx" target="_blank">LINK</a>] is a little known extra in windows Vista which allows you to replace your desktop wallpaper with a video of your choice. The video plays on your desktop as if it were a wallpaper. It doesn&#8217;t seem to bog down the machine although I&#8217;m running it on a dual core AMD with 2GB of RAM. </p>
<p>A nice curiosity but I found it a bit repetitive for long viewing. Someone definitely put a lot of time into this but it seems destined to failure as I can&#8217;t imagine anyone ever leaving such a thing running on their machine for very long. </p>
]]></content:encoded>
			<wfw:commentRss>http://francisshanahan.com/index.php/2007/dreamscene/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Over-Engineering Captchas</title>
		<link>http://francisshanahan.com/index.php/2007/over-engineering-captchas/</link>
		<comments>http://francisshanahan.com/index.php/2007/over-engineering-captchas/#comments</comments>
		<pubDate>Wed, 14 Mar 2007 08:00:00 +0000</pubDate>
		<dc:creator>Francis</dc:creator>
				<category><![CDATA[General Computing]]></category>
		<category><![CDATA[Web Development]]></category>
		<category><![CDATA[over engineering]]></category>
		<category><![CDATA[useless tech]]></category>

		<guid isPermaLink="false">http://francisshanahan.com/www/index.php/2007/over-engineering-captchas/</guid>
		<description><![CDATA[Captchas are those little tests that prevent automated scripts from registering or submitting content to your site. Usually a weird, skewed image of random numbers or letters that you have to then type into a box. They work on the principal that only a human could decipher this thing. But sometimes the images are so skewed that you can&#8217;t read what the darn thing says. Then you have the added inconvenience of typing it in.
This is an example of over-thinking the problem. 
Asirra is a &#34;research&#34; project at Microsoft that ...]]></description>
			<content:encoded><![CDATA[<p>Captchas are those little tests that prevent automated scripts from registering or submitting content to your site. Usually a weird, skewed image of random numbers or letters that you have to then type into a box. They work on the principal that only a human could decipher this thing. But sometimes the images are so skewed that you can&#8217;t read what the darn thing says. Then you have the added inconvenience of typing it in.</p>
<p>This is an example of over-thinking the problem. </p>
<p>Asirra is a &quot;research&quot; project at Microsoft that uses pictures of cats and dogs to tell if you&#8217;re human or script. Try it out here [<a target="_blank" href="http://research.microsoft.com/asirra/">LINK</a>]. Since 2 pictures, one of a cat and one of a dog would give a bot 50/50 chance of getting it right, Asirra has the user click all pictures that are cats (for example) out of a line up of 12 animals. (I had this exact idea which I&#8217;d cited in my book (ISBN:0470097779) but with meat and eggs). It&#8217;s a little better but still complicated imho. Plus it takes up a tremendous amount of space on the page. </p>
<p>I use a simpler method, just answer the question &quot;what&#8217;s my name&quot;, if you don&#8217;t know then you might be a robot. Now if it ever became a problem I could rotate the question, or re-word it in a way that&#8217;d make it difficult for an NLP (Natural Language Processing) enabled script robot to decipher. You&#8217;ve got to keep things as simple as possible but no simpler.</p>
]]></content:encoded>
			<wfw:commentRss>http://francisshanahan.com/index.php/2007/over-engineering-captchas/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
