<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" media="screen" href="/~d/styles/rss2full.xsl"?><?xml-stylesheet type="text/css" media="screen" href="http://feeds.feedburner.com/~d/styles/itemcontent.css"?><rss 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:feedburner="http://rssnamespace.org/feedburner/ext/1.0" version="2.0">

<channel>
	<title>RoboZen</title>
	
	<link>http://robozen.com</link>
	<description>Web innovation, entrepreneurship, usability</description>
	<pubDate>Thu, 30 Apr 2009 13:06:18 +0000</pubDate>
	
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="self" href="http://feeds.feedburner.com/Robozen" type="application/rss+xml" /><item>
		<title>Upgrade to Symfony 1.2: Have your layouts stopped working?</title>
		<link>http://feedproxy.google.com/~r/Robozen/~3/826eOVzgA4g/</link>
		<comments>http://robozen.com/technology/upgrade-to-symfony-12-have-your-layouts-stopped-working/#comments</comments>
		<pubDate>Thu, 30 Apr 2009 13:05:09 +0000</pubDate>
		<dc:creator>admin</dc:creator>
		
		<category><![CDATA[Technology]]></category>

		<guid isPermaLink="false">http://robozen.com/?p=240</guid>
		<description><![CDATA[I had a Symfony 1.0 app and I finally decided to make the leap to 1.2. Lo and behold, this mysterious error cropped up:
Notice:  Undefined variable: site in /path/to/myproject/apps/site/templates/layout.php on line 10
If you&#8217;re upgrading from 1.0, you may suddenly notice that you get these &#8220;undefined variable&#8221; errors. That&#8217;s because global variables are deprecated in [...]]]></description>
			<content:encoded><![CDATA[<p>I had a Symfony 1.0 app and I finally decided to make the leap to 1.2. Lo and behold, this mysterious error cropped up:</p>
<p><strong>Notice</strong>:  Undefined variable: site in <strong>/path/to/myproject/apps/site/templates/layout.php</strong> on line <strong>10</strong></p>
<p>If you&#8217;re upgrading from 1.0, you may suddenly notice that you get these &#8220;undefined variable&#8221; errors. That&#8217;s because global variables are deprecated in layouts as of Symfony 1.1, to be replaced with slots. Generally, a wise idea. More info here: <a href="http://trac.symfony-project.org/wiki/Symfony11LayoutUpgrade" onclick="javascript:pageTracker._trackPageview('/outbound/article/trac.symfony-project.org');">http://trac.symfony-project.org/wiki/Symfony11LayoutUpgrade</a></p>
<img src="http://feeds.feedburner.com/~r/Robozen/~4/826eOVzgA4g" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://robozen.com/technology/upgrade-to-symfony-12-have-your-layouts-stopped-working/feed/</wfw:commentRss>
		<feedburner:origLink>http://robozen.com/technology/upgrade-to-symfony-12-have-your-layouts-stopped-working/</feedburner:origLink></item>
		<item>
		<title>RubyOnRails.org Parked</title>
		<link>http://feedproxy.google.com/~r/Robozen/~3/tM6263oM6KE/</link>
		<comments>http://robozen.com/technology/rubyonrailsorg-parked/#comments</comments>
		<pubDate>Thu, 23 Apr 2009 15:25:21 +0000</pubDate>
		<dc:creator>mariya</dc:creator>
		
		<category><![CDATA[Funny]]></category>

		<category><![CDATA[Technology]]></category>

		<guid isPermaLink="false">http://robozen.com/?p=224</guid>
		<description><![CDATA[Remember to pay your domain fees, folks:

RubyOnRails.org actually showed this for a good few hours. TechCrunch has the full story.
]]></description>
			<content:encoded><![CDATA[<p>Remember to pay your domain fees, folks:</p>
<p><a href="http://robozen.com/wp-content/uploads/screenshot.png" onclick="" target="_self"><img class="alignnone size-full wp-image-226" title="RubyOnRails.org Parked" src="http://robozen.com/wp-content/uploads/screenshot.png" alt="" /></a></p>
<p>RubyOnRails.org actually showed this for a good few hours. <a href="http://www.techcrunch.com/2009/04/23/rubyonrailsorg-domain-derailed-by-hacker/" onclick="javascript:pageTracker._trackPageview('/outbound/article/www.techcrunch.com');">TechCrunch has the full story</a>.</p>
<img src="http://feeds.feedburner.com/~r/Robozen/~4/tM6263oM6KE" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://robozen.com/technology/rubyonrailsorg-parked/feed/</wfw:commentRss>
		<feedburner:origLink>http://robozen.com/technology/rubyonrailsorg-parked/</feedburner:origLink></item>
		<item>
		<title>Symfony, Doctrine, preSave and postSave</title>
		<link>http://feedproxy.google.com/~r/Robozen/~3/RoiJLE9CPFk/</link>
		<comments>http://robozen.com/technology/symfony-doctrine-presave-and-postsave/#comments</comments>
		<pubDate>Thu, 16 Apr 2009 07:11:48 +0000</pubDate>
		<dc:creator>admin</dc:creator>
		
		<category><![CDATA[Technology]]></category>

		<guid isPermaLink="false">http://robozen.com/?p=221</guid>
		<description><![CDATA[My new Symfony app calls a remote web service as part of the user creation process. Since this is intimately linked with the model (I want this behavior executed for my fixtures, too) it makes no sense to call the web service from the controller.
Like Ruby on Rails, Doctrine has some handy built-in hooks to [...]]]></description>
			<content:encoded><![CDATA[<p>My new Symfony app calls a remote web service as part of the user creation process. Since this is intimately linked with the model (I want this behavior executed for my fixtures, too) it makes no sense to call the web service from the controller.</p>
<p>Like Ruby on Rails, Doctrine has some handy built-in hooks to execute code before and after saving a record. Here&#8217;s what my updated model looks like:</p>
<p><code>class sfGuardUser extends PluginsfGuardUser {<br />
&nbsp;public function preSave($obj){<br />
&nbsp;&nbsp;some_voodoo_magic($this-&gt;get('id'));<br />
&nbsp;}<br />
<br />
&nbsp;public function postSave($obj){<br />
&nbsp;&nbsp;call_my_special_webservice($this-&gt;get(&#8217;id&#8217;));<br />
&nbsp;}</code><br />
}</p>
<img src="http://feeds.feedburner.com/~r/Robozen/~4/RoiJLE9CPFk" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://robozen.com/technology/symfony-doctrine-presave-and-postsave/feed/</wfw:commentRss>
		<feedburner:origLink>http://robozen.com/technology/symfony-doctrine-presave-and-postsave/</feedburner:origLink></item>
		<item>
		<title>Trouble with MySQL Foreign Keys?</title>
		<link>http://feedproxy.google.com/~r/Robozen/~3/xtBsTkupRxE/</link>
		<comments>http://robozen.com/technology/trouble-with-mysql-foreign-keys/#comments</comments>
		<pubDate>Fri, 10 Apr 2009 11:30:50 +0000</pubDate>
		<dc:creator>mariya</dc:creator>
		
		<category><![CDATA[Angry Development Tips]]></category>

		<category><![CDATA[Technology]]></category>

		<guid isPermaLink="false">http://robozen.com/?p=182</guid>
		<description><![CDATA[There I was, coding up a fresh Doctrine schema for a Symfony app, when my plans to implement foreign keys were repeatedly foiled:
SQLSTATE[HY000]: General error: 1005 Can&#8217;t create table &#8216;./mydb/#sql-xxxx.frm&#8217; (errno: 150). Failing Query: ALTER TABLE cow ADD FOREIGN KEY (barn_id) REFERENCES barn(id)
I was using InnoDB, both tables were there, both columns were there, what [...]]]></description>
			<content:encoded><![CDATA[<p>There I was, coding up a fresh Doctrine schema for a Symfony app, when my plans to implement foreign keys were repeatedly foiled:</p>
<p>SQLSTATE[HY000]: General error: 1005 Can&#8217;t create table &#8216;./mydb/#sql-xxxx.frm&#8217; (errno: 150). Failing Query: ALTER TABLE cow ADD FOREIGN KEY (barn_id) REFERENCES barn(id)</p>
<p>I was using InnoDB, both tables were there, both columns were there, what else could MySQL want? Why didn&#8217;t it work?</p>
<p>Apparently, you must use the same data type for both columns. My cows.barn_id was an INT, while barns.id was a SMALLINT. This didn&#8217;t fly. Changing both to SMALLINT did the trick.</p>
<p>Hint: if you&#8217;re using Symfony with Doctrine, like I am, use &#8220;integer(4)&#8221; to get the MySQL INT datatype, or &#8220;integer(2)&#8221; for a SMALLINT data type. Plain old &#8220;integer&#8221; converts to BIGINT.</p>
<img src="http://feeds.feedburner.com/~r/Robozen/~4/xtBsTkupRxE" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://robozen.com/technology/trouble-with-mysql-foreign-keys/feed/</wfw:commentRss>
		<feedburner:origLink>http://robozen.com/technology/trouble-with-mysql-foreign-keys/</feedburner:origLink></item>
		<item>
		<title>Newspapers Unite Against IE6!</title>
		<link>http://feedproxy.google.com/~r/Robozen/~3/jMsesbATNVQ/</link>
		<comments>http://robozen.com/technology/newspapers-unite-against-ie6/#comments</comments>
		<pubDate>Sat, 28 Mar 2009 10:56:13 +0000</pubDate>
		<dc:creator>mariya</dc:creator>
		
		<category><![CDATA[Funny]]></category>

		<category><![CDATA[Technology]]></category>

		<guid isPermaLink="false">http://robozen.com/?p=176</guid>
		<description><![CDATA[A Norwegian client just told me to stop testing their product in IE6, words I could hardly believe I was hearing. That&#8217;s because a month ago, a handful of Norway&#8217;s major newspapers and other websites posted a warning telling their IE6 readers to suck it. And since most web-wired Norwegians read those newspapers online, it [...]]]></description>
			<content:encoded><![CDATA[<p>A Norwegian client just told me to stop testing their product in IE6, words I could hardly believe I was hearing. That&#8217;s because a month ago, a handful of Norway&#8217;s major newspapers and other websites <a href="http://www.theregister.co.uk/2009/02/19/norway_ie6/" onclick="javascript:pageTracker._trackPageview('/outbound/article/www.theregister.co.uk');">posted a warning telling their IE6 readers to suck it</a>. And since most web-wired Norwegians read those newspapers online, it seems to have worked. IE6 is hereby and forever banished from Norway.</p>
<p>So how &#8217;bout it, newspapers elsewhere? New York Times, Telegraph, anybody? To help it sink in, may I suggest one of Joe Lifrieri&#8217;s lovely &#8220;<a href="http://blog.hugsformonsters.com/post/87657240/overly-judgemental-ie6-splash-pages" onclick="javascript:pageTracker._trackPageview('/outbound/article/blog.hugsformonsters.com');">Overly Judgmental IE6 Splash Pages</a>&#8220;?</p>
<p>This one is my personal favorite:</p>
<div class="wp-caption alignnone" style="width: 460px"><a href="http://blog.hugsformonsters.com/post/87657240/overly-judgemental-ie6-splash-pages" onclick="javascript:pageTracker._trackPageview('/outbound/article/blog.hugsformonsters.com');"><img title="Overly Judgmental IE6 Splash Page" src="http://hugsformonsters.com/images/blog/sIE2.jpg" alt="Overly Judgmental IE6 Splash Page" width="450" height="325" /></a><p class="wp-caption-text">Overly Judgmental IE6 Splash Page</p></div>
<p>Thanks, Joe. Keep up the good work.</p>
<img src="http://feeds.feedburner.com/~r/Robozen/~4/jMsesbATNVQ" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://robozen.com/technology/newspapers-unite-against-ie6/feed/</wfw:commentRss>
		<feedburner:origLink>http://robozen.com/technology/newspapers-unite-against-ie6/</feedburner:origLink></item>
		<item>
		<title>Drop Shadow for Text with CSS</title>
		<link>http://feedproxy.google.com/~r/Robozen/~3/XEkTcXuXW-8/</link>
		<comments>http://robozen.com/technology/drop-shadow-for-text-with-css/#comments</comments>
		<pubDate>Thu, 26 Mar 2009 17:22:18 +0000</pubDate>
		<dc:creator>mariya</dc:creator>
		
		<category><![CDATA[Technology]]></category>

		<guid isPermaLink="false">http://robozen.com/?p=162</guid>
		<description><![CDATA[My distinguished colleagues at A List Apart already took care of building box-shaped drop shadows. But what if you want the text to have a shadow under every letter? Here are the results of my experiment, which I loathe for two reasons:

You have to repeat the shadowed text when it&#8217;s completely unnecessary from a content [...]]]></description>
			<content:encoded><![CDATA[<p>My distinguished colleagues at A List Apart already took care of <a href="http://www.alistapart.com/articles/cssdropshadows/" onclick="javascript:pageTracker._trackPageview('/outbound/article/www.alistapart.com');">building box-shaped drop shadows</a>. But what if you want the text to have a shadow under every letter? Here are the results of my experiment, which I loathe for two reasons:</p>
<ol>
<li>You have to repeat the shadowed text when it&#8217;s completely unnecessary from a content perspective, and</li>
<li>The div height and font size are hardcoded</li>
</ol>
<style type="text/css">.shadowed { position: relative; overflow: hidden; z-index: 2; } .shadow { position: relative; overflow: hidden; z-index: 1; left: 1px; } #mydiv { font-family: "Arial Black", sans-serif; height: 20px; overflow: hidden; font-size: 16px; font-weight: bold; color: #dfa9d5; } #mydiv .shadow { color: gray; top: -19px; }</style>
<div id="mydiv">
<div class="shadowed">But it kind of works.</div>
<div class="shadow">But it kind of works.</div>
</div>
<p>Without further ado, the markup:</p>
<p><code>&lt;div id='mydiv'&gt;<br />
&lt;div class='shadowed'&gt;The quick brown fox did something or other&lt;/div&gt;<br />
&lt;div class='shadow'&gt;The quick brown fox did something or other&lt;/div&gt;<br />
&lt;/div&gt;</code></p>
<p>The CSS:</p>
<p><code>.shadowed {<br />
position: relative;<br />
overflow: hidden;<br />
z-index: 2; }</code></p>
<p><code>.shadow {<br />
position: relative;<br />
overflow: hidden;<br />
z-index: 1;<br />
left: 1px; }</code></p>
<p><code>#mydiv {<br />
height: 20px;<br />
overflow: hidden;<br />
font-size: 16px;<br />
}</code></p>
<p><code>#mydiv .shadow {<br />
color: grey;<br />
top: -19px; }</code></p>
<p>Does anyone have a less hackish way of doing this? I&#8217;d love to hear about it.</p>
<img src="http://feeds.feedburner.com/~r/Robozen/~4/XEkTcXuXW-8" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://robozen.com/technology/drop-shadow-for-text-with-css/feed/</wfw:commentRss>
		<feedburner:origLink>http://robozen.com/technology/drop-shadow-for-text-with-css/</feedburner:origLink></item>
		<item>
		<title>Subdomains &amp; Sharing Now Enabled for cvPow.com</title>
		<link>http://feedproxy.google.com/~r/Robozen/~3/AvlCFaqYb_o/</link>
		<comments>http://robozen.com/entrepreneurship/subdomains-sharing-now-enabled-for-cvpowcom/#comments</comments>
		<pubDate>Mon, 16 Mar 2009 10:36:15 +0000</pubDate>
		<dc:creator>admin</dc:creator>
		
		<category><![CDATA[Entrepreneurship]]></category>

		<category><![CDATA[Technology]]></category>

		<guid isPermaLink="false">http://robozen.com/?p=159</guid>
		<description><![CDATA[You can now access your CV/tag cloud at YOU.cvpow.com, and share links to your resume with dozens of social networks. Mine is at mariya.cvpow.com.
I&#8217;m looking for feedback: how would YOU like to use your CV data? Export it as an RSS feed? Export to Word so you can send it to old-fashioned headhunters? If I [...]]]></description>
			<content:encoded><![CDATA[<p>You can now access your CV/tag cloud at YOU.cvpow.com, and share links to your resume with dozens of social networks. Mine is at <a href="http://mariya.cvpow.com" onclick="javascript:pageTracker._trackPageview('/outbound/article/mariya.cvpow.com');">mariya.cvpow.com</a>.</p>
<p>I&#8217;m looking for feedback: how would YOU like to use your CV data? Export it as an RSS feed? Export to Word so you can send it to old-fashioned headhunters? If I get enough requests for a feature I&#8217;ll add it.</p>
<img src="http://feeds.feedburner.com/~r/Robozen/~4/AvlCFaqYb_o" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://robozen.com/entrepreneurship/subdomains-sharing-now-enabled-for-cvpowcom/feed/</wfw:commentRss>
		<feedburner:origLink>http://robozen.com/entrepreneurship/subdomains-sharing-now-enabled-for-cvpowcom/</feedburner:origLink></item>
		<item>
		<title>Your CV as a Tag Cloud</title>
		<link>http://feedproxy.google.com/~r/Robozen/~3/tkKco9RWqqU/</link>
		<comments>http://robozen.com/entrepreneurship/your-cv-as-a-tag-cloud/#comments</comments>
		<pubDate>Sun, 15 Mar 2009 19:34:07 +0000</pubDate>
		<dc:creator>mariya</dc:creator>
		
		<category><![CDATA[Entrepreneurship]]></category>

		<category><![CDATA[Technology]]></category>

		<guid isPermaLink="false">http://robozen.com/?p=143</guid>
		<description><![CDATA[Hi all! Besides a fresh look for Robozen.com, I&#8217;ve got a shiny new app for you to play with: cvPow.com. Ever wonder what your CV looks like as a tag cloud? Sign up and see for yourself.
I hammered the app out during this weekend after more than a year(!) of procrastinating on updating my CV. [...]]]></description>
			<content:encoded><![CDATA[<p>Hi all! Besides a fresh look for Robozen.com, I&#8217;ve got a shiny new app for you to play with: <a href="http://www.cvpow.com" onclick="javascript:pageTracker._trackPageview('/outbound/article/www.cvpow.com');">cvPow.com</a>. Ever wonder what your CV looks like as a tag cloud? Sign up and see for yourself.</p>
<p>I hammered the app out during this weekend after more than a year(!) of procrastinating on updating my CV. To prevent such further procrastinations, I created this little utility so I can always keep it up to date and shiny.</p>
<p>Subdomain accounts aren&#8217;t quite functional yet, but by next week I promise you your very own YOU.cvpow.com. So get the usernames while they&#8217;re hot, kids. And check out my own cvPow here: http://www.mariya.biz.</p>
<p>In news of somewhat less importance, I caved in and joined Twitter. I must admit, as dumb as I&#8217;ve always thought the idea was, I&#8217;m hooked and currently ill with a terrible case of Twitterrhea. Catch me there: <a href="http://twitter.com/quodestveritas" onclick="javascript:pageTracker._trackPageview('/outbound/article/twitter.com');">http://twitter.com/quodestveritas</a>.</p>
<img src="http://feeds.feedburner.com/~r/Robozen/~4/tkKco9RWqqU" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://robozen.com/entrepreneurship/your-cv-as-a-tag-cloud/feed/</wfw:commentRss>
		<feedburner:origLink>http://robozen.com/entrepreneurship/your-cv-as-a-tag-cloud/</feedburner:origLink></item>
		<item>
		<title>How to Pressure Programmers for Fun and Profit</title>
		<link>http://feedproxy.google.com/~r/Robozen/~3/6RR7tjMydhU/</link>
		<comments>http://robozen.com/entrepreneurship/how-to-pressure-programmers-for-fun-and-profit/#comments</comments>
		<pubDate>Fri, 19 Sep 2008 07:39:24 +0000</pubDate>
		<dc:creator>mariya</dc:creator>
		
		<category><![CDATA[Entrepreneurship]]></category>

		<category><![CDATA[Project Management & Productivity]]></category>

		<category><![CDATA[Technology]]></category>

		<guid isPermaLink="false">http://robozen.com/2008/09/19/how-to-pressure-programmers-for-fun-and-profit/</guid>
		<description><![CDATA[Last year, I wrote about one secret of successful project managers: strategic lying. If your programmer tells you a task will be done in three days, it will be done in a week, and you should tell your client it will be done in two weeks, to be safe. Conversely, if your customer tells you [...]]]></description>
			<content:encoded><![CDATA[<p>Last year, I wrote about <a href="http://robozen.com/2007/01/26/lie-manipulate-deliver-a-product-on-time/" onclick="">one secret of successful project managers: strategic lying</a>. If your programmer tells you a task will be done in three days, it will be done in a week, and you should tell your client it will be done in two weeks, to be safe. Conversely, if your customer tells you they need something in a week, tell your programmer it is due tomorrow.</p>
<p>Here&#8217;s an addendum: pressure programmers with only one task at a time. For example, if you have a project with three critical tasks and a week to do them, do not assign all three tasks to a single programmer, and give him next week as a deadline. Instead, assign the first task with a one-day deadline, pressure him to get it delivered, and repeat with the other two.</p>
<p>If they are assigned three &#8220;critical&#8221; tasks at the same time, many programmers will stop being productive. Some are simply so overwhelmed and stressed that productivity drops. Some feel that if &#8220;everything is critical&#8221;, nothing really is. And if you prod them about task X, they can always say, &#8220;but I&#8217;m working on Y and Z!&#8221; and they&#8217;ll probably be right.</p>
<p>But put one item on their plate as &#8220;critical&#8221; and &#8220;due today!&#8221;, and they feel motivated to get it done. They&#8217;re pressured, yes, but they can actually think about what they&#8217;re doing instead of worrying about the two other hovering deadlines. And should they fail to finish that <em>one</em> task, without a good reason, you can reasonably chew them out for missing deadlines.</p>
<p>Of course, it is your job as a project manager to decide on a reasonable implementation timeframe for each task (That&#8217;s if you&#8217;re familiar with the code; if not, you have to talk to your progammers instead of guessing, and remember to pad the estimates!). It&#8217;s also your job to shield the programmers from management, which will otherwise undoubtedly swing by to check in on tasks U, V and W.</p>
<img src="http://feeds.feedburner.com/~r/Robozen/~4/6RR7tjMydhU" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://robozen.com/entrepreneurship/how-to-pressure-programmers-for-fun-and-profit/feed/</wfw:commentRss>
		<feedburner:origLink>http://robozen.com/entrepreneurship/how-to-pressure-programmers-for-fun-and-profit/</feedburner:origLink></item>
		<item>
		<title>Ludicrous Usability Gaffe of the Day: Log in to Unsubscribe</title>
		<link>http://feedproxy.google.com/~r/Robozen/~3/qMbjPNjpW10/</link>
		<comments>http://robozen.com/technology/ludicrous-usability-gaffe-of-the-day-log-in-to-unsubscribe/#comments</comments>
		<pubDate>Tue, 05 Aug 2008 21:46:40 +0000</pubDate>
		<dc:creator>mariya</dc:creator>
		
		<category><![CDATA[Angry Development Tips]]></category>

		<category><![CDATA[Technology]]></category>

		<guid isPermaLink="false">http://robozen.com/2008/08/05/ludicrous-usability-gaffe-of-the-day-log-in-to-unsubscribe/</guid>
		<description><![CDATA[Dear Yelp.com,
After two years of silence, I appreciate your sudden and continued, nay daily, efforts to bring me up to date on the culinary scene in Brooklyn, New York, where I no longer reside. Happy to hear from you but, unfortunately, miles away from any city served by your delightful application, I scrolled to the [...]]]></description>
			<content:encoded><![CDATA[<p>Dear Yelp.com,</p>
<p>After two years of silence, I appreciate your sudden and continued, nay daily, efforts to bring me up to date on the culinary scene in Brooklyn, New York, where I no longer reside. Happy to hear from you but, unfortunately, miles away from any city served by your delightful application, I scrolled to the unsubscribe link at the bottom&#8230; only to be promptly transported to a login page.</p>
<p>&#8220;Hello there!&#8221; your website seem to say. &#8220;You, beloved user, have arrived to change your subscription preference. Welcome! Surely you and I cannot have become so estranged that you do not even remember your password? No no, you&#8217;re here daily, I can feel it! There&#8217;s absolutely no need for you to click &#8216;Forgot Password&#8217;, request a password reset, check your email, come back to our website, enter a new password twice, be redirected to some other page, go back to your email, find the unsubscribe link, click it, uncheck all the cities you are subscribed for, and click submit, just so you can stop getting crap from us. No siree! We&#8217;ve thought this through, and we wouldn&#8217;t make life so hard for you.&#8221;</p>
<p>&#8220;We&#8217;re as sure of your commitment to us as the reputable fellows with the moniker United.com. When you selected to opt out of electronically delivered offers, they had no doubt that you had your frequent flier number, used once and only once, memorized&#8212;because you fly frequently! Get it? And there was no question that you would feel more secure entering a four-digit PIN number than one of those silly-sounding passwords like myGErbl123. Because after all, they want you to feel as important as if you were at an Automatic Teller Machine, and not just at any old website trying to please for the love of god get them stop sending you crap.&#8221;</p>
<p>Seriously, if you are from one of a bajillion companies who do this unbelievably irritating and stupid thing, please stop. People just want to break up with you nicely, not be dragged through divorce court. Give them an unsubscribe link that works with one click. Jerks.</p>
<p>Best regards,<br />
Flooded with Mail</p>
<img src="http://feeds.feedburner.com/~r/Robozen/~4/qMbjPNjpW10" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://robozen.com/technology/ludicrous-usability-gaffe-of-the-day-log-in-to-unsubscribe/feed/</wfw:commentRss>
		<feedburner:origLink>http://robozen.com/technology/ludicrous-usability-gaffe-of-the-day-log-in-to-unsubscribe/</feedburner:origLink></item>
	</channel>
</rss>
