<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet href="http://syndication.thedailywtf.com/~d/styles/rss2full.xsl" type="text/xsl" media="screen"?><?xml-stylesheet href="http://syndication.thedailywtf.com/~d/styles/itemcontent.css" type="text/css" media="screen"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:geo="http://www.w3.org/2003/01/geo/wgs84_pos#" version="2.0">
	<channel>
		<title>The Daily WTF</title> 
		<link>http://thedailywtf.com/</link> 
		<description>Curious Perversions in Information Technology</description> 

		<geo:lat>41.36995</geo:lat><geo:long>-81.862591</geo:long><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="self" href="http://syndication.thedailywtf.com/TheDailyWtf" type="application/rss+xml" /><item>
			<author>Jake Vinson</author> 
			<title>Error'd: Where Does the Line End?</title> 
			<link>http://thedailywtf.com/Articles/Where-Does-the-Line-End.aspx</link> 
			<category>Error'd</category>
			<pubDate>Fri, 09 May 2008 12:00:00 GMT</pubDate> 
			<guid isPermaLink="false">6061</guid> 
			<description>&lt;p&gt;&lt;strong&gt;Jacob S.&lt;/strong&gt; apparently wandered away from the line and wasn't even in the right city anymore.&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;img alt="" src="http://img.thedailywtf.com/images/200805/errord/in-line.jpg" /&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;&lt;strong&gt;Serg K.&lt;/strong&gt; made Visual Studio get all confused and disoriented.&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;img alt="" src="http://img.thedailywtf.com/images/200805/errord/clever_miscrosoft_exception.jpg" /&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;&lt;strong&gt;Justin S.&lt;/strong&gt; is too savvy a customer to fall for this:&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;img alt="" src="http://img.thedailywtf.com/images/200805/errord/GoGoGear.JPG" /&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;Similarly, &lt;strong&gt;Lukas M.&lt;/strong&gt; didn't get roped into this shady deal:&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;img alt="" src="http://img.thedailywtf.com/images/200805/errord/chapters_savings.PNG" /&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;I don't really follow golf, but man, I can't believe I hadn't heard of Mike Weir's amazing game at Pebble Beach. Consider me and &lt;strong&gt;Nils H.&lt;/strong&gt; impressed!&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;img alt="" src="http://img.thedailywtf.com/images/200805/errord/69underpar.jpg" /&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;&amp;quot;Imagine my surprise when I saw the news this morning that the minimum wage was increased,&amp;quot; wrote &lt;strong&gt;E. J. Gonzales&lt;/strong&gt;. &amp;quot;It's nice to know that Osama and the rest of Al-Qaida are so concerned about the average working citizen!&amp;quot;&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;img alt="" src="http://img.thedailywtf.com/images/200805/errord/minimumwage.png" /&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;&lt;strong&gt;Colin S.&lt;/strong&gt; can think of at least one problem with dispensing $0.00 bills.&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;img alt="" src="http://img.thedailywtf.com/images/200805/errord/0bill.jpg" /&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;As a huge Formula One fan, &lt;strong&gt;David W.&lt;/strong&gt; jumped at the chance to purchase one of his favorite drivers.&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;img alt="" src="http://img.thedailywtf.com/images/200805/errord/cheapjpm.jpg" /&gt;&lt;/p&gt;
&lt;/blockquote&gt;&lt;br /&gt;&lt;hr /&gt;&lt;br /&gt;Brought to you by the &lt;a href="http://jobs.thedailywtf.com/1001/browse.aspx"&gt;Non-WTF Job Board&lt;/a&gt;:&lt;br /&gt;&lt;a href="http://jobs.thedailywtf.com/1001/rsslink.ashx?PubPostId=6061"&gt;&lt;img border="0" src="http://jobs.thedailywtf.com/1001/img.ashx?PubPostId=6061&amp;Record=False" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;hr /&gt;&lt;br /&gt;
&lt;p&gt;&lt;a href="http://syndication.thedailywtf.com/~a/TheDailyWtf?a=GPbdz8"&gt;&lt;img src="http://syndication.thedailywtf.com/~a/TheDailyWtf?i=GPbdz8" border="0"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://syndication.thedailywtf.com/~f/TheDailyWtf?a=LSHtqh"&gt;&lt;img src="http://syndication.thedailywtf.com/~f/TheDailyWtf?i=LSHtqh" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://syndication.thedailywtf.com/~f/TheDailyWtf?a=s3LFtH"&gt;&lt;img src="http://syndication.thedailywtf.com/~f/TheDailyWtf?i=s3LFtH" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://syndication.thedailywtf.com/~r/TheDailyWtf/~4/286784734" height="1" width="1"/&gt;</description> 
			<slash:comments>49</slash:comments> 
			<comments>http://thedailywtf.com/Comments/Where-Does-the-Line-End.aspx</comments>
		</item>
	
		<item>
			<author>Jake Vinson</author> 
			<title>Two Weeks Notice</title> 
			<link>http://thedailywtf.com/Articles/Two-Weeks-Notice.aspx</link> 
			<category>Feature Articles</category>
			<pubDate>Thu, 08 May 2008 14:00:00 GMT</pubDate> 
			<guid isPermaLink="false">6059</guid> 
			<description>&lt;p&gt;&amp;quot;Welcome aboard, Colin!&amp;quot; &lt;strong&gt;Colin M.&lt;/strong&gt; gave his boss a firm handshake, excited about his first day on the job. He'd be a member of the team that worked on an application that ran on a managed information appliance. &amp;quot;I'll set you up with Mike, who can show you the ropes.&amp;quot;&lt;/p&gt;
&lt;p&gt;Colin's boss turned him over to Mike, who started describing the system architecture immediately. &amp;quot;So here's what we've got,&amp;quot; he began. &amp;quot;The core is the email processing module. It takes in an email, logs a little information, and stores attachments in the file system. Easy, right?&amp;quot; Mike gave him a little more background, but reasoned that Colin should be able to figure it out.&lt;/p&gt;
&lt;p&gt;It sounded so simple that Colin could hardly imagine any reason that they had more than one developer actively supporting the application. That is, until he saw the architecture (to use the term loosely). Try to follow along:&lt;/p&gt;
&lt;blockquote dir="ltr" style="MARGIN-RIGHT: 0px"&gt;
&lt;p&gt;The core of the application was a system which processed items of incoming email, logging some information to a database and storing attachments in the file system. A Perl web-app controlled the behavior of the system and allowed access to the results. Of course, the system had to interact with Microsoft Exchange servers, since that's where most of the clients stored their email. It also had to interact with various third-party products which were Windows-only. So, naturally, as a host operating system for their appliance, they chose &lt;em&gt;Linux&lt;/em&gt;. The web application would run natively under Apache, with the rest of the sytem running inside a virtual Windows XP host in VMWare. The two would communicate via HTTP, with the Linux host invoking a mixture of Perl and VB scripts under IIS on the XP guest to communicate with the Windows components.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;I tried to represent this with a flow chart, but did an embarrassingly terrible job of it and wasn't going to include it with the article. Then after thinking about it some more I realized that the quality of the flow chart is a good metaphor for the quality of the process. Generally, the squiggly lines represent HTTP requests and my own ineptitude with Visio.&lt;/p&gt;
&lt;blockquote&gt;&lt;img alt="" src="http://img.thedailywtf.com/images/200805/flowchart.png" /&gt;&lt;/blockquote&gt;
&lt;p&gt;Because the application had to work with Exchange servers, it would stand to reason that they would design the interface using the Exchange SDK. Instead, the system required an instance of Outlook running on the virtual XP machine to move the emails around. Colin discovered this on his third day when he got an call from an upset client that their system was hanging. He had to solve the problem with the following process:&lt;/p&gt;
&lt;ol&gt;
    &lt;li&gt;SSH to the customer's Linux host &lt;/li&gt;
    &lt;li&gt;Open a port to allow VNC or Remote Desktop access &lt;/li&gt;
    &lt;li&gt;Connect via VNC or Remote Desktop &lt;/li&gt;
    &lt;li&gt;Click 'OK' on whatever dialog in Outlook was awaiting a response &lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;The Perl-based management web application had four routines in it, which represented over 70,000 lines of code. That count includes comments, but only because there weren't any. Most of it was un-indented and had been copied and pasted from sources unknown.&lt;/p&gt;
&lt;p&gt;The lead developer was notoriously cagey, and meticulous about his code. So much so that he wanted to keep his code a secret from &lt;em&gt;everybody&lt;/em&gt;. After all, if he checked his code in to source control, that would mean that other developers could *gasp* &lt;em&gt;see&lt;/em&gt; it, and perhaps *double gasp* &lt;em&gt;maintain&lt;/em&gt; it. So instead of code, he'd check in compiled assemblies.&lt;/p&gt;
&lt;p&gt;Colin butted heads with the lead developer near the end of his first week about a scheme he'd developed for passing hierarchical data in Perl, using a jumble of arrays of values prefixed with period-delimted path names. Colin's suggestion that it might be easier to store the hierarchy directly using hashrefs was met with a five-second blank stare, then a suspicious and dismissive &amp;quot;that sounds very clever,&amp;quot; before he returned to his explanation.&lt;/p&gt;
&lt;p&gt;Before he'd even finished his first two weeks, Colin knew that he had to move on. Since Colin had interviewed with the CTO, he intended to catch up with him to discuss his plans. That morning when Colin came in, he discovered that the CTO had gone on safari, but he hadn't gotten around to telling anyone he'd be gone or where he was going. Instead, Colin sent an email to him, CCing his immediate boss with his intention to leave in two weeks. Trying to be as polite as possible, he explained the circumstances he had worked under, and appologized for needing to quit so soon. Colin tried to keep the tone pleasant and professional to avoid angering the CTO. It didn't work.&lt;/p&gt;
&lt;p&gt;In a heated response, without even the slightest hint of the irony of it, the CTO scolded Colin by saying that his level of professionalism was barely suitable for a position at McDonald's, and that he should &amp;quot;just leave right away.&amp;quot;&lt;/p&gt;
&lt;p&gt;After that, Colin had to fight with HR and the CTO for several months to squeeze a paycheck out of the company for his few weeks of service. When they finally agreed to pay, the CTO gave Colin two options. 1) Pick up the check in person, get yelled at by the CTO. 2) Receive check by regular, un-trackable mail (as long as Colin signed a statement releasing the company from any responsibility if the check mysteriously didn't turn up at his house).&lt;/p&gt;
&lt;p&gt;Colin chose the former.&lt;/p&gt;&lt;br /&gt;&lt;hr /&gt;&lt;br /&gt;Brought to you by the &lt;a href="http://jobs.thedailywtf.com/1001/browse.aspx"&gt;Non-WTF Job Board&lt;/a&gt;:&lt;br /&gt;&lt;a href="http://jobs.thedailywtf.com/1001/rsslink.ashx?PubPostId=6059"&gt;&lt;img border="0" src="http://jobs.thedailywtf.com/1001/img.ashx?PubPostId=6059&amp;Record=False" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;hr /&gt;&lt;br /&gt;
&lt;p&gt;&lt;a href="http://syndication.thedailywtf.com/~a/TheDailyWtf?a=WqlGQi"&gt;&lt;img src="http://syndication.thedailywtf.com/~a/TheDailyWtf?i=WqlGQi" border="0"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://syndication.thedailywtf.com/~f/TheDailyWtf?a=2qZO6h"&gt;&lt;img src="http://syndication.thedailywtf.com/~f/TheDailyWtf?i=2qZO6h" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://syndication.thedailywtf.com/~f/TheDailyWtf?a=TQEGUH"&gt;&lt;img src="http://syndication.thedailywtf.com/~f/TheDailyWtf?i=TQEGUH" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://syndication.thedailywtf.com/~r/TheDailyWtf/~4/286108063" height="1" width="1"/&gt;</description> 
			<slash:comments>121</slash:comments> 
			<comments>http://thedailywtf.com/Comments/Two-Weeks-Notice.aspx</comments>
		</item>
	
		<item>
			<author>Alex Papadimoulis</author> 
			<title>Representative Line: Very Specific Generics</title> 
			<link>http://thedailywtf.com/Articles/Very-Specific-Generics.aspx</link> 
			<category>Representative Line</category>
			<pubDate>Thu, 08 May 2008 12:00:00 GMT</pubDate> 
			<guid isPermaLink="false">6058</guid> 
			<description>&lt;p&gt;&amp;quot;I'm as much a fan of Java Generics as the next guy,&amp;quot; writes &lt;strong&gt;Jim Bethancourt&lt;/strong&gt;, &amp;quot;why bother with writing all that type-specific code for common collections (or - gasp - losing type safety) when one can simply go&amp;nbsp;&amp;nbsp;&lt;em&gt;HashMap&amp;lt;String, SomeObject&amp;gt;&lt;/em&gt;.&amp;quot; &lt;/p&gt;
&lt;p&gt;&amp;quot;However, after working on several of my predecessor's projects, I think it's pretty clear that liked generics, too. But I'm gonna go ahead and say that he liked them &lt;em&gt;juuuuuust&lt;/em&gt; a bit too much. This was one of way-too-many lines in the variable definition section of some (you guessed it) generic class... &lt;/p&gt;
&lt;blockquote dir="ltr" style="MARGIN-RIGHT: 0px"&gt;
&lt;pre&gt;HashMap&amp;lt;Long, HashMap&amp;lt;Timestamp, Vector&amp;lt;HashMap&amp;lt;String, Object&amp;gt;&amp;gt;&amp;gt;&amp;gt; superHashMap =
    new HashMap&amp;lt;Long, HashMap&amp;lt;Timestamp, Vector&amp;lt;HashMap&amp;lt;String, Object&amp;gt;&amp;gt;&amp;gt;&amp;gt;(); &lt;/pre&gt;
&lt;/blockquote&gt;&lt;br /&gt;&lt;hr /&gt;&lt;br /&gt;Brought to you by the &lt;a href="http://jobs.thedailywtf.com/1001/browse.aspx"&gt;Non-WTF Job Board&lt;/a&gt;:&lt;br /&gt;&lt;a href="http://jobs.thedailywtf.com/1001/rsslink.ashx?PubPostId=6058"&gt;&lt;img border="0" src="http://jobs.thedailywtf.com/1001/img.ashx?PubPostId=6058&amp;Record=False" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;hr /&gt;&lt;br /&gt;
&lt;p&gt;&lt;a href="http://syndication.thedailywtf.com/~a/TheDailyWtf?a=VybRpA"&gt;&lt;img src="http://syndication.thedailywtf.com/~a/TheDailyWtf?i=VybRpA" border="0"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://syndication.thedailywtf.com/~f/TheDailyWtf?a=o9XcMh"&gt;&lt;img src="http://syndication.thedailywtf.com/~f/TheDailyWtf?i=o9XcMh" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://syndication.thedailywtf.com/~f/TheDailyWtf?a=OEOxoH"&gt;&lt;img src="http://syndication.thedailywtf.com/~f/TheDailyWtf?i=OEOxoH" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://syndication.thedailywtf.com/~r/TheDailyWtf/~4/286044679" height="1" width="1"/&gt;</description> 
			<slash:comments>126</slash:comments> 
			<comments>http://thedailywtf.com/Comments/Very-Specific-Generics.aspx</comments>
		</item>
	
		<item>
			<author>Alex Papadimoulis</author> 
			<title>Tales from the Interview: Let's All Reinvent the Wheel... Again, and More</title> 
			<link>http://thedailywtf.com/Articles/Lets-All-Reinvent-the-Wheel-Again,-and-More.aspx</link> 
			<category>Tales from the Interview</category>
			<pubDate>Wed, 07 May 2008 14:00:00 GMT</pubDate> 
			<guid isPermaLink="false">6053</guid> 
			<description>&lt;p&gt;&lt;strong&gt;&lt;u&gt;Let's All Reinvent the Wheel... Again&lt;/u&gt;&lt;/strong&gt; (from K.D.) &lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;I was interviewing candidates for a junior web application development position. The candidate had, so far, seemed very knowledgeable and more than met the requirements of the position. I had, in fact, almost made my decision that I would make Joe an offer, but I had to ask just one more question. &lt;/p&gt;
&lt;p&gt;I'm a big believer in wide-ranging open-ended interview questions in an interview, because they make the candidate think AND talk, and can often reveal insights into their personality or work styles. I asked the candidate, &amp;quot;we've all had projects we've worked on that didn't go exactly as we might have liked, for any number of reasons. Maybe the project got pressured to finish early and you had to rush your work, for example. Or maybe technology has changed since, giving you a much better way to complete a task, or you've learned a different way to accomplish the task. Tell me about a project that, in hindsight, you wish you could go back and re-work, and why?&amp;quot; &lt;/p&gt;
&lt;p&gt;This question has been very helpful for me in interviews. I learn about the candidate's humility, or lack thereof, as well as provide an opportunity for them to perhaps highlight some thinking process of theirs that they feel I haven't yet witnessed, or to talk about something they learned, or to brag on how they continually read and research into new technologies. It once again did not disappoint me. &lt;/p&gt;
&lt;p&gt;I have never had an opinion on a candidate reverse itself so completely and quickly. Joe first won the humility points by saying &amp;quot;No, no, never, when I finish a project, I know I've done it right. It's done the best way possible!&amp;quot; (wouldn't we ALL love to work with this person on a team project?) and then dug his grave even further by telling me &amp;quot;besides, I couldn't go back and rework a project anyway. As soon as I've finished and installed the application, I delete the code. I like to start every project with a clean slate, I don't believe in copying from what I did previously. I just start it over brand-new!&amp;quot; &lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;&lt;strong&gt;&lt;u&gt;Great Receptionist Resume...&lt;/u&gt;&lt;/strong&gt; (&lt;a href="http://forums.thedailywtf.com/forums/t/3629.aspx"&gt;originally posted&lt;/a&gt; to the SideBar by &amp;quot;AustinW&amp;quot;) &lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;This is from an actual resume that we got for a Receptionist position... &lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;img alt="" src="http://img.thedailywtf.com/images/200805/secretaryresume.gif" /&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;&amp;nbsp; &lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;&lt;strong&gt;&lt;u&gt;Lowering Standards&lt;/u&gt;&lt;/strong&gt; (from Eyal &amp;amp; Hila) &lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;The company I work at takes the search for new employees very seriously. We pride ourselves on having immensely high standards. For example, the last position that had to be filled on the C++ server team took literally months and several dozen interviews to fill. So when a developer left, no one was looking forward to starting a round of interviews again. &lt;/p&gt;
&lt;p&gt;All new interviewees are first given a written test for basic C++ competence, that includes such questions as &amp;quot;What are const member functions?&amp;quot; or &amp;quot;What is wrong with the following code sample?&amp;quot; &lt;/p&gt;
&lt;p&gt;Once a person has answered reasonably some of the questions and managed to have an intelligent conversation about those he did not answer with whoever is going over the test with him, he is sent up to higher management for an actual interview. &lt;/p&gt;
&lt;p&gt;I was sent in to go over the test with a person who shall remain nameless. She was greeted by my boss, given the test, and left alone for the mandatory half hour. I went in to see her without having a chance to look at her resume, so I just went straight at it. &lt;/p&gt;
&lt;p&gt;The first third or so of the test was relatively uneventful. She managed to define some of the basic terms, and get the trick questions wrong, as did most people. &lt;/p&gt;
&lt;p&gt;Next was the most informative question of the test: pointing out and correcting the myriad of flaws in a short program. The most obvious of which is a function receiving a string parameter by value and non-const, so it was no surprise that she had circled &amp;quot;std::string&amp;quot;, a standard library string object, probably to note that it should be passed as a const reference. &lt;/p&gt;
&lt;p&gt;&amp;quot;What's this?&amp;quot; I asked her when we got to talking about her changes, hoping for the first intelligent answer of the interview. &lt;/p&gt;
&lt;p&gt;&amp;quot;Oh, that...&amp;quot; she said, &amp;quot;I didn't know what this 'std' means.&amp;quot; &lt;/p&gt;
&lt;p&gt;&amp;quot;I see,&amp;quot; I said, and ended the interview immediately. &lt;/p&gt;
&lt;/blockquote&gt;&lt;br /&gt;&lt;hr /&gt;&lt;br /&gt;Brought to you by the &lt;a href="http://jobs.thedailywtf.com/1001/browse.aspx"&gt;Non-WTF Job Board&lt;/a&gt;:&lt;br /&gt;&lt;a href="http://jobs.thedailywtf.com/1001/rsslink.ashx?PubPostId=6053"&gt;&lt;img border="0" src="http://jobs.thedailywtf.com/1001/img.ashx?PubPostId=6053&amp;Record=False" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;hr /&gt;&lt;br /&gt;
&lt;p&gt;&lt;a href="http://syndication.thedailywtf.com/~a/TheDailyWtf?a=NdJoyu"&gt;&lt;img src="http://syndication.thedailywtf.com/~a/TheDailyWtf?i=NdJoyu" border="0"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://syndication.thedailywtf.com/~f/TheDailyWtf?a=HRXwTh"&gt;&lt;img src="http://syndication.thedailywtf.com/~f/TheDailyWtf?i=HRXwTh" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://syndication.thedailywtf.com/~f/TheDailyWtf?a=RzBKIH"&gt;&lt;img src="http://syndication.thedailywtf.com/~f/TheDailyWtf?i=RzBKIH" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://syndication.thedailywtf.com/~r/TheDailyWtf/~4/285395055" height="1" width="1"/&gt;</description> 
			<slash:comments>182</slash:comments> 
			<comments>http://thedailywtf.com/Comments/Lets-All-Reinvent-the-Wheel-Again,-and-More.aspx</comments>
		</item>
	
		<item>
			<author>Alex Papadimoulis</author> 
			<title>Error'd: Worst. Preview. Ever.</title> 
			<link>http://thedailywtf.com/Articles/Worst-Preview-Ever.aspx</link> 
			<category>Error'd</category>
			<pubDate>Wed, 07 May 2008 12:00:00 GMT</pubDate> 
			<guid isPermaLink="false">6051</guid> 
			<description>&lt;p&gt;&amp;quot;I have this feeling most of the day while I'm on support,&amp;quot; writes &lt;strong&gt;M&lt;/strong&gt;, &amp;quot;but I've never thought to try telling people.&amp;quot; &lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;img alt="" src="http://img.thedailywtf.com/images/200805/errord/fatal.gif" /&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;quot;I was at the theaters in Lake Forest, Orange County, watching some previews,&amp;quot; &lt;strong&gt;Kamran Kazempour&lt;/strong&gt; said, &amp;quot;and this came up on the screen for a minute or so before the feature. &amp;quot; &lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;img alt="" src="http://img.thedailywtf.com/images/200805/errord/IMG_0156.JPG" /&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;While &lt;strong&gt;Jeremy&lt;/strong&gt; wasn't quite sure how an email address could fit in only four characters, he was a bit dismayed that his was too long to register... &lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;img alt="" src="http://img.thedailywtf.com/images/200805/errord/samash.JPG" /&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;quot;Apparently, computers are not all that good with math&amp;quot; &lt;strong&gt;Brent Rockwood&lt;/strong&gt; wrote, &amp;quot;iRobot thinks they need a little help with this age range calculation.&amp;quot; &lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;img alt="" src="http://img.thedailywtf.com/images/200805/errord/irobot-wtf.PNG" /&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;br /&gt;&lt;hr /&gt;&lt;br /&gt;Brought to you by the &lt;a href="http://jobs.thedailywtf.com/1001/browse.aspx"&gt;Non-WTF Job Board&lt;/a&gt;:&lt;br /&gt;&lt;a href="http://jobs.thedailywtf.com/1001/rsslink.ashx?PubPostId=6051"&gt;&lt;img border="0" src="http://jobs.thedailywtf.com/1001/img.ashx?PubPostId=6051&amp;Record=False" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;hr /&gt;&lt;br /&gt;
&lt;p&gt;&lt;a href="http://syndication.thedailywtf.com/~a/TheDailyWtf?a=WtwhTw"&gt;&lt;img src="http://syndication.thedailywtf.com/~a/TheDailyWtf?i=WtwhTw" border="0"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://syndication.thedailywtf.com/~f/TheDailyWtf?a=gTQQqh"&gt;&lt;img src="http://syndication.thedailywtf.com/~f/TheDailyWtf?i=gTQQqh" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://syndication.thedailywtf.com/~f/TheDailyWtf?a=Ljtt6H"&gt;&lt;img src="http://syndication.thedailywtf.com/~f/TheDailyWtf?i=Ljtt6H" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://syndication.thedailywtf.com/~r/TheDailyWtf/~4/285330335" height="1" width="1"/&gt;</description> 
			<slash:comments>75</slash:comments> 
			<comments>http://thedailywtf.com/Comments/Worst-Preview-Ever.aspx</comments>
		</item>
	
		<item>
			<author>Jake Vinson</author> 
			<title>The Webcam DoS Attack</title> 
			<link>http://thedailywtf.com/Articles/The-Webcam-DoS-Attack.aspx</link> 
			<category>Feature Articles</category>
			<pubDate>Tue, 06 May 2008 14:00:00 GMT</pubDate> 
			<guid isPermaLink="false">6049</guid> 
			<description>&lt;p&gt;&lt;em&gt;Where are my keys?&lt;/em&gt; &lt;strong&gt;Cam S.&lt;/strong&gt; had checked under every couch cushion, in every jacket pocket, under every bed, &lt;em&gt;everywhere&lt;/em&gt; for his keys. While checking the kitchen counter for the third time, he glanced at the oven clock. 8:35. Even if the skies had opened up right that minute and his keys descended on a golden platter, he'd still be at least ten minutes late for work.&lt;/p&gt;
&lt;p&gt;It was then that he peeked in the garage and beheld a beautiful sight &amp;mdash; his keys sitting on the drivers' seat of his truck. If he drove unreasonably, dangerously fast, he &lt;em&gt;might&lt;/em&gt; still be able to get to work on time! Cam breathed a sigh of relief when he saw the keys in his truck. His &lt;em&gt;locked&lt;/em&gt; truck. Damn it! The only other key was with his wife, who had left for work a while ago. It was clear that it just wasn't in the stars for Cam to go to work that day.&lt;/p&gt;
&lt;p&gt;Oh well, there was a silver lining. Working from home means no commute, no finding a parking spot, no changing out of your favorite robot PJs, no &lt;em&gt;not&lt;/em&gt; watching Judge Judy and eating Doritos all day &amp;mdash; pretty much exactly how the Bible describes heaven.&lt;/p&gt;
&lt;p&gt;Cam fired off an email to his boss, &amp;quot;Joel,&amp;quot; to let him know that he wouldn't be in that day. Immediately, an out-of-office autoreply came back, so per bank policy, Cam had to email Joel's boss, &amp;quot;Ron,&amp;quot; with all of Joel's team CC'd with contact information. Minutes later, a smartass on Cam's team replied-to-all with a snarky &amp;quot;Yeah, whatever, Cam. We all know that by 'working at home' you mean you'll be sitting on your couch in your PJs eating Doritos and watching Judge Judy.&amp;quot; &lt;em&gt;It's like he's psychic!&lt;/em&gt; Cam thought. Still, he could prove them wrong with his new hobby project &amp;mdash; a periodically updating webcam image on his personal web site. Just as soon as he changed out of his PJs and moved the Doritos out of the shot.&lt;/p&gt;
&lt;p&gt;It was a pretty crappy webcam &amp;mdash; its maximum (and only) resolution was 320x240 with a color palette that rivaled EGA. Fortunately, this resulted in small file sizes (~17kb per image), and since he was hosting the site out of his basement, every little bit of compression helped. Cam fought reply-all with reply-all, opening with &amp;quot;Nuh-uh,&amp;quot; and choosing his words carefully to avoid an escalating &amp;quot;yeah-huh!&amp;quot; &amp;quot;nuh-uh!&amp;quot; quagmire: &amp;quot;I'll prove it! Here's a link to my personal web site!&amp;quot;&lt;/p&gt;
&lt;p&gt;Rather than continuing in the webcam site direction by adding eighth grade-level poetry, &amp;quot;which Backstreet Boy are you&amp;quot; quiz results, and PayPal donation buttons, he did the unthinkable &amp;mdash; &lt;em&gt;actually worked from home&lt;/em&gt;. And he managed to get a lot done; answering emails, chipping away at some bug fixes, preparing reports (all the while remembering not to pick his nose on camera).&lt;/p&gt;
&lt;p&gt;During a quick lunch break, Cam got a panicked call from his boss's boss, Ron. &amp;quot;Cam, do you still have your webcam on?&amp;quot;&lt;/p&gt;
&lt;p&gt;&amp;quot;Yeah, wh-&amp;quot;&lt;/p&gt;
&lt;p&gt;&amp;quot;Turn it off. NOW,&amp;quot; he said in all caps over the phone.&lt;/p&gt;
&lt;p&gt;&amp;quot;Uh, ok.&amp;quot; Cam flicked the switch on the webcam off. &amp;quot;So, why exactly is it so urgen-&amp;quot;&lt;/p&gt;
&lt;p&gt;&amp;quot;Can'ttalknowbigproblems-&amp;quot; *click*&lt;/p&gt;
&lt;p&gt;&lt;em&gt;That was weird,&lt;/em&gt; Cam said as he checked his pants fly and the section of the room that was in the shot. Finding nothing that could have upset anyone in the last few snapshots, he shrugged it off and got back to work.&lt;/p&gt;
&lt;p&gt;It was then that Cam learned about one negative side-effect of working from home &amp;mdash; being &lt;em&gt;the guy that gets to work from home&lt;/em&gt;. There's a perception that the work-from-home guy's life is so much better than yours, that they do jack squat all day, and get paid more for it. True or not, it makes people jealous, and jealousy breeds contempt. Contempt breeds blaming. Blaming breeds repercussions for Cam.&lt;/p&gt;
&lt;p&gt;See, it seems that there was a brief but major hiccup in a router somewhere between the bank's data center and their T3 provider, causing a dramatic slowdown in outbound network performance, which rippled out into hundreds of branches and affecting thousands of online banking customers. In the troubleshooting process, the lead network engineer caught wind that Cam had been &amp;quot;streaming live video&amp;quot; over the network, and was going to tell! He complained loudly to Ron that Cam had caused the issues and lost some revenues for the bank in the process. Adding to this theory was the fact that the issue had apparently resolved itself close to the time that Cam turned off his webcam.&lt;/p&gt;
&lt;p&gt;One week later, Cam is sitting with his boss Joel to discuss the issue. &amp;quot;Cam, I'm going to need you to sign this disciplinary action report before we file it with HR,&amp;quot; Joel said weakly.&lt;/p&gt;
&lt;p&gt;Appealing to reason, Cam began, &amp;quot;Joel, you know &lt;em&gt;exactly&lt;/em&gt; what happened. You know that all that was coming across the network was a static web page with a new image every so often. I never had more than five HTTP sessions at a time. It would take thousands, if not &lt;em&gt;hundreds&lt;/em&gt; of thousands of simultaneous users accessing my web site at the same time to consume the bandwidth that it says I consumed on this report.&amp;quot;&lt;/p&gt;
&lt;p&gt;&amp;quot;I know,&amp;quot; he said as his expression sank. Clearly, he'd fought for Cam and been overruled.&lt;/p&gt;
&lt;p&gt;&amp;quot;Besides that,&amp;quot; Cam continued, &amp;quot;I'm hosting my site at my house. My upstream connection is capped at 360 kbps. There's literally &lt;em&gt;no physical way&lt;/em&gt; that anything I did from my house could even make a dent in our massive T3 lines, even if my upstream connection was 100% saturated!&amp;quot;&lt;/p&gt;
&lt;p&gt;&amp;quot;I know,&amp;quot; Joel said as his face slipped into his hands. At this point, it dawned on Cam that he was lucky that all that was happening to him was a writeup. It sounded as though upper management would prefer to see him hanged. Still, it was absolutely unfair that he'd be made to take the fall.&lt;/p&gt;
&lt;p&gt;&amp;quot;Furthermore,&amp;quot; Cam pressed, &amp;quot;what about our QoS policies? Surely internal users browsing external web sites have lower priority than-&amp;quot;&lt;/p&gt;
&lt;p&gt;&amp;quot;I know,&amp;quot; Joel said again. &amp;quot;Look, I've fought them on this. You know I trust you, and that I know you wouldn't ever &amp;mdash; that you &lt;em&gt;couldn't&lt;/em&gt; ever &amp;mdash; do something like this. I'm saying this as a friend; you're better off just signing this. It's not just you; management is pissed at me now, too. It's not fair, but it's how it is.&amp;quot;&lt;/p&gt;
&lt;p&gt;In the end, there wasn't much Cam could have done. Joel had backed him up and explained the inescapable facts that Cam couldn't have caused the network issues even if he'd tried. Cam signed the form and spent several more years at the bank, eventually rising to the rank of Lead Developer. And the network engineer that had pinned the issues on Cam even learned to respect him as a colleague (though they never spoke of the incident).&lt;/p&gt;
&lt;p&gt;Today, even though he'd left the bank for other opportunities, he and Joel occasionally share a laugh over the $30 webcam that brought down the bank's network.&lt;/p&gt;&lt;br /&gt;&lt;hr /&gt;&lt;br /&gt;Brought to you by the &lt;a href="http://jobs.thedailywtf.com/1001/browse.aspx"&gt;Non-WTF Job Board&lt;/a&gt;:&lt;br /&gt;&lt;a href="http://jobs.thedailywtf.com/1001/rsslink.ashx?PubPostId=6049"&gt;&lt;img border="0" src="http://jobs.thedailywtf.com/1001/img.ashx?PubPostId=6049&amp;Record=False" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;hr /&gt;&lt;br /&gt;
&lt;p&gt;&lt;a href="http://syndication.thedailywtf.com/~a/TheDailyWtf?a=JGThLG"&gt;&lt;img src="http://syndication.thedailywtf.com/~a/TheDailyWtf?i=JGThLG" border="0"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://syndication.thedailywtf.com/~f/TheDailyWtf?a=6JUiQh"&gt;&lt;img src="http://syndication.thedailywtf.com/~f/TheDailyWtf?i=6JUiQh" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://syndication.thedailywtf.com/~f/TheDailyWtf?a=19TP5H"&gt;&lt;img src="http://syndication.thedailywtf.com/~f/TheDailyWtf?i=19TP5H" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://syndication.thedailywtf.com/~r/TheDailyWtf/~4/284672387" height="1" width="1"/&gt;</description> 
			<slash:comments>164</slash:comments> 
			<comments>http://thedailywtf.com/Comments/The-Webcam-DoS-Attack.aspx</comments>
		</item>
	
		<item>
			<author>Alex Papadimoulis</author> 
			<title>CodeSOD: A Rather Minor Change</title> 
			<link>http://thedailywtf.com/Articles/A-Rather-Minor-Change.aspx</link> 
			<category>CodeSOD</category>
			<pubDate>Tue, 06 May 2008 12:00:00 GMT</pubDate> 
			<guid isPermaLink="false">6055</guid> 
			<description>&lt;p&gt;&amp;quot;Not too long ago,&amp;quot; &lt;strong&gt;Jess&lt;/strong&gt; writes, &amp;quot;I adopted an application that needed 'a rather minor change' to its functionality. Naturally, when I started, the project owner had no idea what file or directory the functionality was in, so he gave me access to the server and sent me off. After wading through a number of oddly named directories trying to find where the site was even located, I finally found the index file I had hoped would set me in the right direction.&amp;quot; &lt;/p&gt;
&lt;p&gt;&amp;quot;Of course, it didn't. After twenty minutes of jumping from page to page to page, I realized that I'd simply have to grep the entire application: a gig or so of content with tens of thousands of files within hundreds of directories. After nothing turned up, I quickly realized that most of the files had completely meaningless extensions: .html files had lots of PHP, .php4 files had PHP5, and .php files rarely had any PHP. &lt;/p&gt;
&lt;p&gt;&amp;quot;After expanding my search, I noticed a curious directory named &amp;quot;google&amp;quot;. It was packed with files like this: &lt;/p&gt;
&lt;blockquote dir="ltr" style="MARGIN-RIGHT: 0px"&gt;
&lt;pre&gt;cache_results.php        engines_2.php            engines--.php  
googlesearch.inc.php     index.php                ORIGINALengines.php
engines_old.php          engines-.php             g_original.php 
my_search_results.inc    query.php                search_results.inc.php
engines_2007-05-01.php   -engines-.php            engines.php
index.html               search.html              test.php&lt;/pre&gt;
&lt;/blockquote&gt;
&lt;p&gt;&amp;quot;Upon closer inspection, I discovered that nearly all of the similarly named files had nearly identical content, and were all referenced throughout the other files in various directories, all which may or may not have been used in the site. Oh, and they all looked like this... &lt;/p&gt;
&lt;blockquote dir="ltr" style="MARGIN-RIGHT: 0px"&gt;
&lt;pre&gt;&amp;lt;?php
class GoogleSearch
{ var $url; var $lang;
  var $cookie; var $query;
  var $rpp; var $ra; var $rb;
  var $results; var $referer;
  var $nresults;

  function GoogleSearch()
  { $this-&amp;gt;url='http://www.google.com/'; $this-&amp;gt;lang='en'; $this-&amp;gt;rpp=100;
    $this-&amp;gt;ra=0; $this-&amp;gt;rb=0; $this-&amp;gt;query=''; $this-&amp;gt;nresults=0;
    $html=Browser($this-&amp;gt;url); $this-&amp;gt;cookie=GetCookies($html); }

  function GoogleQuery($q,$n=1)
  { if (!($q==$this-&amp;gt;query &amp;amp;&amp;amp; $n&amp;gt;=$this-&amp;gt;ra &amp;amp;&amp;amp; $n&amp;lt;=$this-&amp;gt;rb))
    { $u=$this-&amp;gt;url.'search?q='.urlencode($q).&amp;quot;&amp;amp;num=&amp;quot;.$this-&amp;gt;rpp.&amp;quot;&amp;amp;hl=&amp;quot;.$this-&amp;gt;lang.&amp;quot;&amp;amp;lr=&amp;amp;safe=off&amp;amp;sa=N&amp;quot;;
      $this-&amp;gt;ra=(($n-1)-($n-1)%$this-&amp;gt;rpp)+1; $this-&amp;gt;rb=$this-&amp;gt;ra+$this-&amp;gt;rpp-1;
      if ($n&amp;gt;$this-&amp;gt;rpp) $u.='&amp;amp;start='.($this-&amp;gt;ra-1);
      $this-&amp;gt;query=$q; $html=Browser($u,'GET','',$this-&amp;gt;cookie,$this-&amp;gt;referer); $this-&amp;gt;referer=$u;
      $this-&amp;gt;results=array();
      $p=0; do { $p=strpos($html,'&amp;lt;p class=g&amp;gt;',$p);
                 if ($p!==false)
                 { $r=array();
                   $a=strpos($html,'&amp;quot;',$p+11)+1; $b=strpos($html,'&amp;quot;',$a);
                   $u=substr($html,$a,$b-$a);
                   if (substr($u,0,4)==='/url') $u=substr($u,strpos($u,'&amp;amp;q=')+3);
                   $r['url']=$u;
                   $a=strpos($html,'&amp;gt;',$b)+1; $b=strpos($html,'&amp;lt;/a',$a); $p=$b;
                   $r['meta']=strip_tags(substr($html,$a,$b-$a));
                   $a=strpos($html,'&amp;lt;font',$b); $b=strpos($html,'Similar&amp;nbsp;pages',$a);
                   $u=substr($html,$a,$b-$a); $b=strpos($u,'color=#008000&amp;gt;');
                   if ($b!==false)
                    $r['content']=trim(strip_tags(strtr(substr($u,0,$b+14),array(&amp;quot;&amp;lt;br&amp;gt;&amp;quot;=&amp;gt;&amp;quot; &amp;quot;))));
                   else $r['content']='';
                   $this-&amp;gt;results[]=$r; }
               } while ($p!==false);
    $a=strpos($html,'of about &amp;lt;b&amp;gt;');
    if ($a!==false)
    { $a+=12; $b=strpos($html,'&amp;lt;/b',$a);
      $this-&amp;gt;nresults=strtr(substr($html,$a,$b-$a),array(','=&amp;gt;'','.'=&amp;gt;'')); }
    else $this-&amp;gt;nresults=0; }
    $u=$this-&amp;gt;results[$n-$this-&amp;gt;ra];
    return $u; }

  function ResultsNumber() { return $this-&amp;gt;nresults; }
}
?&amp;gt;&lt;/pre&gt;
&lt;/blockquote&gt;
&lt;p&gt;&amp;quot;Yeah, this code has it all: not a single comment, variable names between 1 and 3 letters long, almost no formatting, and a whole bunch of statements packed into a single line. I won't even go into all the actual problems with the code. &lt;/p&gt;
&lt;p&gt;&amp;quot;As for what this file does... how it's being used... if it's being used... I still have absolutely no idea. But the good news is, I've learned my lesson about projects needing only 'a rather minor change'. &lt;/p&gt;&lt;br /&gt;&lt;hr /&gt;&lt;br /&gt;Brought to you by the &lt;a href="http://jobs.thedailywtf.com/1001/browse.aspx"&gt;Non-WTF Job Board&lt;/a&gt;:&lt;br /&gt;&lt;a href="http://jobs.thedailywtf.com/1001/rsslink.ashx?PubPostId=6055"&gt;&lt;img border="0" src="http://jobs.thedailywtf.com/1001/img.ashx?PubPostId=6055&amp;Record=False" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;hr /&gt;&lt;br /&gt;
&lt;p&gt;&lt;a href="http://syndication.thedailywtf.com/~a/TheDailyWtf?a=BZZLpQ"&gt;&lt;img src="http://syndication.thedailywtf.com/~a/TheDailyWtf?i=BZZLpQ" border="0"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://syndication.thedailywtf.com/~f/TheDailyWtf?a=6AT54h"&gt;&lt;img src="http://syndication.thedailywtf.com/~f/TheDailyWtf?i=6AT54h" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://syndication.thedailywtf.com/~f/TheDailyWtf?a=O9ATvH"&gt;&lt;img src="http://syndication.thedailywtf.com/~f/TheDailyWtf?i=O9ATvH" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://syndication.thedailywtf.com/~r/TheDailyWtf/~4/284604882" height="1" width="1"/&gt;</description> 
			<slash:comments>61</slash:comments> 
			<comments>http://thedailywtf.com/Comments/A-Rather-Minor-Change.aspx</comments>
		</item>
	
		<item>
			<author>Jake Vinson</author> 
			<title>Best of the Sidebar: Code examples and interviews</title> 
			<link>http://thedailywtf.com/Articles/Code-examples-and-interviews.aspx</link> 
			<category>Best of the Sidebar</category>
			<pubDate>Mon, 05 May 2008 14:00:00 GMT</pubDate> 
			<guid isPermaLink="false">5996</guid> 
			<description>&lt;p&gt;Tsk, tsk. After all the requests to &lt;a href="http://thedailywtf.com/Articles/plz-email-me-teh-codez.aspx"&gt;plz email me teh codez&lt;/a&gt;, and the Daily WTF community's failure to recognize &lt;a href="http://thedailywtf.com/Articles/Student-Initiative.aspx"&gt;student initiative&lt;/a&gt;, &amp;quot;MonkeyCode&amp;quot; posted &lt;a href="http://forums.thedailywtf.com/forums/thread/152765.aspx"&gt;a similar story&lt;/a&gt; in the sidebar...&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;We're looking for some new developers on our team here at our online travel reservation startup. London being London at the moment, it's proving hard to get good quality candidates to actually show up for an interview. Little did we know how bad the quality can be at times.&lt;/p&gt;
&lt;p&gt;We have a coding test that we give to potential hires. Not terribly hard, it's just a simple string manipulation exercise: Given a string, find all occurences of a substring without using any in built string functions. Obviously you'd never do this in real life, but your run of the mill &lt;em&gt;Teach Yourself C# in 24 Hours&lt;/em&gt; developer could probably give it a shot and fool us.&lt;/p&gt;
&lt;p&gt;It does however, weed out a suprisingly large number of people &amp;mdash; either their code doesn't compile, it doesn't work, or somtimes they just don't read the instructions and submit finger paintings instead.&lt;/p&gt;
&lt;p&gt;The other day, a &amp;quot;friend&amp;quot; of one of our workmates pointed out the question &lt;a href="http://forums.microsoft.com/MSDN/ShowPost.aspx?PostID=2940944&amp;amp;SiteID=1"&gt;had been posted&lt;/a&gt; to the MSDN forums.&lt;/p&gt;
&lt;p&gt;&lt;img alt="" src="http://img.thedailywtf.com/images/200804/msdnforums_1.png" /&gt;&lt;/p&gt;
&lt;p&gt;This is technically not a WTF &amp;mdash; posting to forums can be a valuable source of information. Proving how clueless you are in a public forums, however, is.&lt;/p&gt;
&lt;p&gt;There are a couple of classic responses in there, none really good enough for our potential hire, so he had a follow up post the next day &lt;a href="http://forums.microsoft.com/MSDN/ShowPost.aspx?PostID=2947702&amp;amp;SiteID=1"&gt;asking for more help on the problem&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;Being the masochists that we are, we couldn't help but look up some of our potential hire's other questions and found this beauty:&lt;/p&gt;
&lt;p&gt;&lt;img alt="" src="http://img.thedailywtf.com/images/200804/msdnforums_2.png" /&gt;&lt;/p&gt;
&lt;p&gt;So many WTFs, so little time!&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;Plz post teh codes in the comments.&lt;/p&gt;&lt;br /&gt;&lt;hr /&gt;&lt;br /&gt;Brought to you by the &lt;a href="http://jobs.thedailywtf.com/1001/browse.aspx"&gt;Non-WTF Job Board&lt;/a&gt;:&lt;br /&gt;&lt;a href="http://jobs.thedailywtf.com/1001/rsslink.ashx?PubPostId=5996"&gt;&lt;img border="0" src="http://jobs.thedailywtf.com/1001/img.ashx?PubPostId=5996&amp;Record=False" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;hr /&gt;&lt;br /&gt;
&lt;p&gt;&lt;a href="http://syndication.thedailywtf.com/~a/TheDailyWtf?a=mxN6Th"&gt;&lt;img src="http://syndication.thedailywtf.com/~a/TheDailyWtf?i=mxN6Th" border="0"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://syndication.thedailywtf.com/~f/TheDailyWtf?a=GaCgLh"&gt;&lt;img src="http://syndication.thedailywtf.com/~f/TheDailyWtf?i=GaCgLh" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://syndication.thedailywtf.com/~f/TheDailyWtf?a=uvA8lH"&gt;&lt;img src="http://syndication.thedailywtf.com/~f/TheDailyWtf?i=uvA8lH" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://syndication.thedailywtf.com/~r/TheDailyWtf/~4/283961714" height="1" width="1"/&gt;</description> 
			<slash:comments>181</slash:comments> 
			<comments>http://thedailywtf.com/Comments/Code-examples-and-interviews.aspx</comments>
		</item>
	
		<item>
			<author>Alex Papadimoulis</author> 
			<title>Error'd: Please yo-yo the rrm</title> 
			<link>http://thedailywtf.com/Articles/Please-yoyo-the-rrm.aspx</link> 
			<category>Error'd</category>
			<pubDate>Mon, 05 May 2008 12:00:00 GMT</pubDate> 
			<guid isPermaLink="false">6050</guid> 
			<description>&lt;p&gt;&amp;quot;Ummm,&amp;quot; &lt;strong&gt;Matt&lt;/strong&gt; wrote, &amp;quot;if you say so...&amp;quot; &lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;img alt="" src="http://img.thedailywtf.com/images/200805/errord/metrotransit_yoyo.png" /&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Paul S.&lt;/strong&gt; snapped this at a Hong Kong subway station... &lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;img alt="" src="http://img.thedailywtf.com/images/200805/errord/failureC.jpg" /&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;quot;I saw this diversion sign on my way to the station in Colchester, England this morning,&amp;quot; &lt;strong&gt;James Mott&lt;/strong&gt; mentioned, &amp;quot;I'm just glad I was getting the train.&amp;quot; &lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;img alt="" src="http://img.thedailywtf.com/images/200805/errord/diverted.jpg" /&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;quot;The most important philosophical question of our time,&amp;quot; noted &lt;strong&gt;Jason L. H.&lt;/strong&gt;, &amp;quot;was at the 34th St/Herald Sq. subway station in New York City.&amp;quot; &lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;img alt="" src="http://img.thedailywtf.com/images/200805/errord/subwayerrormsg.jpg" /&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;quot;Passenger.exe crashed repeatedly while I was attempting to view a map,&amp;quot; writes &lt;strong&gt;Eric F.&lt;/strong&gt;, &amp;quot;but I am glad that the video screen still reminded me about the focus on improving my taxi experience.&amp;quot; &lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;img alt="" src="http://img.thedailywtf.com/images/200805/errord/TaxiError.jpg" /&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;br /&gt;&lt;hr /&gt;&lt;br /&gt;Brought to you by the &lt;a href="http://jobs.thedailywtf.com/1001/browse.aspx"&gt;Non-WTF Job Board&lt;/a&gt;:&lt;br /&gt;&lt;a href="http://jobs.thedailywtf.com/1001/rsslink.ashx?PubPostId=6050"&gt;&lt;img border="0" src="http://jobs.thedailywtf.com/1001/img.ashx?PubPostId=6050&amp;Record=False" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;hr /&gt;&lt;br /&gt;
&lt;p&gt;&lt;a href="http://syndication.thedailywtf.com/~a/TheDailyWtf?a=796fC9"&gt;&lt;img src="http://syndication.thedailywtf.com/~a/TheDailyWtf?i=796fC9" border="0"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://syndication.thedailywtf.com/~f/TheDailyWtf?a=YZ4bzh"&gt;&lt;img src="http://syndication.thedailywtf.com/~f/TheDailyWtf?i=YZ4bzh" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://syndication.thedailywtf.com/~f/TheDailyWtf?a=VAPUwH"&gt;&lt;img src="http://syndication.thedailywtf.com/~f/TheDailyWtf?i=VAPUwH" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://syndication.thedailywtf.com/~r/TheDailyWtf/~4/283896537" height="1" width="1"/&gt;</description> 
			<slash:comments>59</slash:comments> 
			<comments>http://thedailywtf.com/Comments/Please-yoyo-the-rrm.aspx</comments>
		</item>
	
		<item>
			<author>Alex Papadimoulis</author> 
			<title>Best of the Sidebar: The Problem Child</title> 
			<link>http://thedailywtf.com/Articles/The-Problem-Child.aspx</link> 
			<category>Best of the Sidebar</category>
			<pubDate>Fri, 02 May 2008 13:00:00 GMT</pubDate> 
			<guid isPermaLink="false">6045</guid> 
			<description>&lt;p&gt;&lt;a href="http://forums.thedailywtf.com/forums/t/8392.aspx"&gt;Originally posted&lt;/a&gt; by &amp;quot;DrillSgtK&amp;quot;... &lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;In the late 90&amp;rsquo;s, I worked for a small, &amp;ldquo;start-up/spin-off&amp;rdquo; dot com company. We were originally The University&amp;rsquo;s distant learning department, but had been re-constituted as a for-profit company, owned by The University to service The University. A year and a half old, the company had grown from six people working out of a trailer on campus to a seventy-five person operation with three offices and large co-location site in a data center. The IT staff, however, remained the same size: three of us. &lt;/p&gt;
&lt;p&gt;The sales department consisted of three people and was located five hours away in New York City. One of the salespersons &amp;ndash; let&amp;rsquo;s call him &amp;ldquo;Michael&amp;rdquo; &amp;ndash; was a &amp;ldquo;problem child.&amp;rdquo; Every computer that Michael touched became infected, corrupted, or had some other random problem that likely resulted from deleting anti-virus software and visiting porn sites. I should note that Michael, who also happened to be the CEO&amp;rsquo;s neighbor, demanded admin privileges on whichever computer he used. And the CEO always concurred. &lt;/p&gt;
&lt;p&gt;A year and three whole sales later, the CEO was &amp;ldquo;resigned&amp;rdquo; and a new CEO was appointed by The University. One of the first things he did was appointing a CTO (&amp;ldquo;Brian&amp;rdquo;). And then he added a new salesperson (&amp;ldquo;Jeff&amp;rdquo;). &lt;/p&gt;
&lt;p&gt;&amp;ldquo;I&amp;rsquo;ve got a big issue,&amp;rdquo; Jeff said when he called the IT helpline on his second day, &amp;ldquo;I can&amp;rsquo;t get to the web site! I have a prospective sale coming in a few minutes!&amp;rdquo; A few quick questions later, and the issue was resolved. As it turned out, he had just misspelled the company name. It was an understandable new-person mistake. &lt;/p&gt;
&lt;p&gt;The three of us in IT had a habit of answering calls on speaker phone, such that everyone in our closet-sided office could hear the question and pitch-in if needed. After hanging up, we all looked at each other and said &amp;ldquo;noob!&amp;rdquo; Brian walked in a moment later, just as the phone rang again. &lt;/p&gt;
&lt;p&gt;I hit the speaker button and answered. It was Michael. &lt;/p&gt;
&lt;p&gt;&amp;ldquo;I&amp;rsquo;m having the same problem as Jeff.&amp;rdquo; &lt;/p&gt;
&lt;p&gt;&amp;ldquo;Oh,&amp;rdquo; I replied, &amp;ldquo;you&amp;rsquo;re misspelling the company name, too?&amp;rdquo; &lt;/p&gt;
&lt;p&gt;&amp;ldquo;What? Uh,&amp;rdquo; Michael said confusedly, &amp;ldquo;no. My computer is slow. It keeps opening programs like crazy. I had to power it off.&amp;rdquo; &lt;/p&gt;
&lt;p&gt;Programs were Michael&amp;rsquo;s word for Internet Explorer windows, Javascript pop-ups, etc. I replied, &amp;ldquo;What web pages did you visit when this started?&amp;rdquo; &lt;/p&gt;
&lt;p&gt;&amp;ldquo;Uh,&amp;rdquo; Michael hesitantly answered, &amp;ldquo;I don&amp;rsquo;t remember. I&amp;rsquo;ll call back when it happens again. Bye!&amp;rdquo; He hung up. &lt;/p&gt;
&lt;p&gt;One of my co-IT guys pulled up Michael&amp;rsquo;s web activity logs. There were some rather interesting URLs (most with several X&amp;rsquo;s in the title) that had access times between the login time earlier that day and the support call minutes ago. &lt;/p&gt;
&lt;p&gt;Brian, who as watching us as we did this, was rather surprised. He asked that we open the historic activity logs, and we found lots and lots of sites with lots and lots of X&amp;rsquo;s going back four months. Brian then asked to see the number of trouble tickets we had logged for Michael. &lt;/p&gt;
&lt;p&gt;Two weeks later, Michael was let go. Shortly thereafter, the number of trouble tickets from our the New York City office dropped by about seventy percent. &lt;/p&gt;
&lt;/blockquote&gt;&lt;br /&gt;&lt;hr /&gt;&lt;br /&gt;Brought to you by the &lt;a href="http://jobs.thedailywtf.com/1001/browse.aspx"&gt;Non-WTF Job Board&lt;/a&gt;:&lt;br /&gt;&lt;a href="http://jobs.thedailywtf.com/1001/rsslink.ashx?PubPostId=6045"&gt;&lt;img border="0" src="http://jobs.thedailywtf.com/1001/img.ashx?PubPostId=6045&amp;Record=False" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;hr /&gt;&lt;br /&gt;
&lt;p&gt;&lt;a href="http://syndication.thedailywtf.com/~a/TheDailyWtf?a=3ov3yz"&gt;&lt;img src="http://syndication.thedailywtf.com/~a/TheDailyWtf?i=3ov3yz" border="0"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://syndication.thedailywtf.com/~f/TheDailyWtf?a=QvI5Vh"&gt;&lt;img src="http://syndication.thedailywtf.com/~f/TheDailyWtf?i=QvI5Vh" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://syndication.thedailywtf.com/~f/TheDailyWtf?a=5lFz1H"&gt;&lt;img src="http://syndication.thedailywtf.com/~f/TheDailyWtf?i=5lFz1H" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://syndication.thedailywtf.com/~r/TheDailyWtf/~4/282098563" height="1" width="1"/&gt;</description> 
			<slash:comments>126</slash:comments> 
			<comments>http://thedailywtf.com/Comments/The-Problem-Child.aspx</comments>
		</item>
	
		<item>
			<author>Jake Vinson</author> 
			<title>The Annual Reboot</title> 
			<link>http://thedailywtf.com/Articles/The-Annual-Reboot.aspx</link> 
			<category>Feature Articles</category>
			<pubDate>Thu, 01 May 2008 14:00:00 GMT</pubDate> 
			<guid isPermaLink="false">6043</guid> 
			<description>&lt;img class="wtf_imgfloatright" style="FLOAT: right; MARGIN: 5px" alt="" src="http://img.thedailywtf.com/images/200804/midnight.png" /&gt;
&lt;p&gt;According to Wikipedia, &lt;a target="_blank" href="http://en.wikipedia.org/wiki/Cache"&gt;caching&lt;/a&gt; is a method of storing a collection of data for which the time it takes to compute said data is longer than the time it takes to retrieve from the cache. Also, the concept of caching was invented by &lt;a href="http://images.google.com/images?q=mr%20t"&gt;Mr. T&lt;/a&gt;. I suspect that last part may have been added by Wikipedia vandals, though...&lt;/p&gt;
&lt;p&gt;One of &lt;strong&gt;Eli A.&lt;/strong&gt;'s predecessors took Mr. T.'s concept and ran with it. He cached everything he could get his hands on &amp;mdash; configuration values, event dates, phone numbers, &lt;em&gt;everything&lt;/em&gt;. Why tax the hardware with an expensive lookup when everything's right at your fingertips in a giant, hideous blob of a cache?&lt;/p&gt;
&lt;p&gt;Eli's predecessor's tenure didn't last terribly long; he left (or was fired, maybe) after a couple of months of adding caching to virtually every aspect of the application. One of his last changes was adding a singleton to store the current year:&lt;/p&gt;
&lt;blockquote&gt;
&lt;pre&gt;public class CommonVars {
    private final static CommonVars instance = new CommonVars();
    public static CommonVars getInstance() {
        return instance;
    }
    private CommonVars() {
        currentYear = Calendar.getInstance().get(Calendar.YEAR);
    }

    ...
    public int getCurrentYear() {
        return currentYear;
    }
    ...
}&lt;/pre&gt;
&lt;/blockquote&gt;
&lt;p&gt;With this, Eli's predecessor was able to avoid the taxing the system with a date lookup. He missed out on some of the fun that this change caused later, though, since he hadn't stayed long enough for the year to roll over.&lt;/p&gt;
&lt;p&gt;Every January 1, a user would report some weird problems in the system recording dates in the wrong year. The complaints came from a different user each year, because for some reason users never stuck around for more than a few months. And every year, the poor guy would take several hours tracking down someone in IT to explain the problem and have them reboot the server, then the value would be re-initialized whenever the fist new user session started.&lt;/p&gt;
&lt;p&gt;Oh well, just 244 days until the next reboot...&lt;/p&gt;&lt;br /&gt;&lt;hr /&gt;&lt;br /&gt;Brought to you by the &lt;a href="http://jobs.thedailywtf.com/1001/browse.aspx"&gt;Non-WTF Job Board&lt;/a&gt;:&lt;br /&gt;&lt;a href="http://jobs.thedailywtf.com/1001/rsslink.ashx?PubPostId=6043"&gt;&lt;img border="0" src="http://jobs.thedailywtf.com/1001/img.ashx?PubPostId=6043&amp;Record=False" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;hr /&gt;&lt;br /&gt;
&lt;p&gt;&lt;a href="http://syndication.thedailywtf.com/~a/TheDailyWtf?a=fPq4jl"&gt;&lt;img src="http://syndication.thedailywtf.com/~a/TheDailyWtf?i=fPq4jl" border="0"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://syndication.thedailywtf.com/~f/TheDailyWtf?a=xY1k7h"&gt;&lt;img src="http://syndication.thedailywtf.com/~f/TheDailyWtf?i=xY1k7h" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://syndication.thedailywtf.com/~f/TheDailyWtf?a=WIRy3H"&gt;&lt;img src="http://syndication.thedailywtf.com/~f/TheDailyWtf?i=WIRy3H" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://syndication.thedailywtf.com/~r/TheDailyWtf/~4/281466848" height="1" width="1"/&gt;</description> 
			<slash:comments>114</slash:comments> 
			<comments>http://thedailywtf.com/Comments/The-Annual-Reboot.aspx</comments>
		</item>
	
		<item>
			<author>Alex Papadimoulis</author> 
			<title>Error'd: 792 Octiiiiiiilion Dollars</title> 
			<link>http://thedailywtf.com/Articles/792-Octiiiiiiilion-Dollars.aspx</link> 
			<category>Error'd</category>
			<pubDate>Thu, 01 May 2008 12:00:00 GMT</pubDate> 
			<guid isPermaLink="false">6044</guid> 
			<description>&lt;p&gt;&lt;strong&gt;Fran&amp;ccedil;ois&lt;/strong&gt; captured this brief video of his answering machine bug for our first-ever video Error'd. &lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;embed src="http://www.youtube.com/v/e1b-BUafKqA" width="425" height="350" type="application/x-shockwave-flash"&gt;&lt;/embed&gt; &lt;br /&gt;
(or &lt;a href="http://img.thedailywtf.com/images/200804/errord/answering_cropped.avi"&gt;download&lt;/a&gt; as avi)&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;&amp;nbsp; &lt;/p&gt;
&lt;p&gt;&amp;quot;When ZoomBrowser crashed with this error,&amp;quot; &lt;strong&gt;Karl Vanaselja&lt;/strong&gt; wrote, &amp;quot;I was tempted yell all sorts of obscenties. But then I realized I was in a message filter, and that'd be illegal to do so.&amp;quot; &lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;img alt="" src="http://img.thedailywtf.com/images/200804/errord/error_message2.JPG" /&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;&amp;nbsp; &lt;/p&gt;
&lt;p&gt;&amp;quot;Okay, so I realize that I went over my minutes,&amp;quot; &lt;strong&gt;Sam&lt;/strong&gt; said, &amp;quot;but c'mon Verizon, $792 Octillion? Whatever... I might be a little late making that payment.&amp;quot; &lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;img alt="" src="http://img.thedailywtf.com/images/200804/errord/ver_for_wtf.gif" /&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;&amp;nbsp; &lt;/p&gt;
&lt;p&gt;&amp;quot;I trying to find out if my domain was blacklisted,&amp;quot; wrote &lt;strong&gt;Kathy Bragg&lt;/strong&gt;, &amp;quot;and spotted this in the sponsored results on Google. I decided to pass on the offer.&amp;quot; &lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;img alt="" src="http://img.thedailywtf.com/images/200804/errord/get_blacklisted.gif" /&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;&amp;nbsp; &lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Ryan Doherty&lt;/strong&gt; snapped this picture at his local Ikea. &lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;img alt="" src="http://img.thedailywtf.com/images/200804/errord/2062876491_44471cb1a9.jpg" /&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;&amp;nbsp; &lt;/p&gt;&lt;br /&gt;&lt;hr /&gt;&lt;br /&gt;Brought to you by the &lt;a href="http://jobs.thedailywtf.com/1001/browse.aspx"&gt;Non-WTF Job Board&lt;/a&gt;:&lt;br /&gt;&lt;a href="http://jobs.thedailywtf.com/1001/rsslink.ashx?PubPostId=6044"&gt;&lt;img border="0" src="http://jobs.thedailywtf.com/1001/img.ashx?PubPostId=6044&amp;Record=False" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;hr /&gt;&lt;br /&gt;
&lt;p&gt;&lt;a href="http://syndication.thedailywtf.com/~a/TheDailyWtf?a=xPqwAp"&gt;&lt;img src="http://syndication.thedailywtf.com/~a/TheDailyWtf?i=xPqwAp" border="0"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://syndication.thedailywtf.com/~f/TheDailyWtf?a=ocsgIh"&gt;&lt;img src="http://syndication.thedailywtf.com/~f/TheDailyWtf?i=ocsgIh" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://syndication.thedailywtf.com/~f/TheDailyWtf?a=HppjKH"&gt;&lt;img src="http://syndication.thedailywtf.com/~f/TheDailyWtf?i=HppjKH" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://syndication.thedailywtf.com/~r/TheDailyWtf/~4/281418028" height="1" width="1"/&gt;</description> 
			<slash:comments>78</slash:comments> 
			<comments>http://thedailywtf.com/Comments/792-Octiiiiiiilion-Dollars.aspx</comments>
		</item>
	
		<item>
			<author>Jake Vinson</author> 
			<title>The Super Hacker</title> 
			<link>http://thedailywtf.com/Articles/The-Super-Hacker.aspx</link> 
			<category>Feature Articles</category>
			<pubDate>Wed, 30 Apr 2008 14:00:00 GMT</pubDate> 
			<guid isPermaLink="false">6039</guid> 
			<description>&lt;p&gt;As a junior network administrator at a small local ISP, &lt;strong&gt;Kiefer R.&lt;/strong&gt;'s job is pretty mundane. Aside from the occasional bandwidth problem investigating, cable laying, and spline reticulating, there's not too much excitement.&lt;/p&gt;
&lt;p&gt;One morning, Kiefer's boss said he was going to come down for a chat, so Kiefer loaded up a bandwidth monitoring utility and pretended to be busy. &amp;quot;Kiefer,&amp;quot; Mike began, &amp;quot;I just wanted to give you a heads up. We're having a guy come down next week to run some security checks on our systems here. Particularly our main web server.&amp;quot;&lt;/p&gt;
&lt;p&gt;&amp;quot;So, you need me to show him the ropes, or...&amp;quot;&lt;/p&gt;
&lt;p&gt;&amp;quot;Oh, ha!&amp;quot; Mike started laughing. &amp;quot;No, not at all. This guy is like some kind of &lt;em&gt;Super Hacker&lt;/em&gt;!&amp;quot; he exclaimed while waving his hands dramatically. &amp;quot;More like &lt;em&gt;he'll&lt;/em&gt; be showing &lt;em&gt;you&lt;/em&gt; the ropes! Ha!&amp;quot; Kiefer rolled his eyes.&lt;/p&gt;
&lt;p&gt;The Super Hacker arrived the following week. He was there only for two days while he worked on his mission &amp;mdash; shutting down the main web server from outside the network. He'd be in the office from 9-5, where he could talk to the staff and review some of the code to find sections he might be able to exploit, but he'd only get paid if the server was shut down while he was not in the office. He didn't receive any usernames or passwords as the testing was meant to simulate an attack on the web site from an average hacker. Should he accomplish his goal, he'd earn $3,500.00. Working in the Super Hacker's favor was that the aging site was last updated in the late 90s, and almost certainly had pages that would be exploitable.&lt;/p&gt;
&lt;p&gt;When Kiefer came in the following morning, his boss was stopped him on his way in.&lt;/p&gt;
&lt;p&gt;&amp;quot;Well, our Super Hacker has done it! Turns out it must've been a pretty easy exploit,&amp;quot; Mike said, &amp;quot;it hardly took him any time at all. Plus he's already patched it!&amp;quot; &lt;/p&gt;
&lt;p&gt;Kiefer couldn't deny that he was impressed. &amp;quot;So how'd he do it?&amp;quot;&lt;/p&gt;
&lt;p&gt;&amp;quot;I'm not sure &amp;mdash; I haven't gotten his report yet. I should have it by the end of the day.&amp;quot;&lt;/p&gt;
&lt;p&gt;Kiefer's curiosity was palpable. He asked around for details on the exploit, but no one was talking. Clearly, some people knew what had happened and just weren't willing to tell. Finally, someone told Kiefer that the fix was in the form of a Python script, and that if he read the script, he'd see the exploit.&lt;/p&gt;
&lt;p&gt;How the aptly-named Super Hacker had managed to shut down the system remotely &lt;em&gt;and&lt;/em&gt; provide a fix so quickly intrigued Kiefer. After poking around the network, he finally found the Python file that contained the Super Hacker's fix:&lt;/p&gt;
&lt;blockquote&gt;
&lt;pre&gt;#!usr/bin/python
# Paying someone $10 to pull a power cord for $3500
print &amp;quot;(C) &amp;lt;Name Removed&amp;gt; 2008.&amp;quot;&lt;/pre&gt;
&lt;/blockquote&gt;
&lt;p&gt;Of course, the fix alone wouldn't prevent future attacks using that vector, but management's scolding of the night staff would.&lt;/p&gt;&lt;br /&gt;&lt;hr /&gt;&lt;br /&gt;Brought to you by the &lt;a href="http://jobs.thedailywtf.com/1001/browse.aspx"&gt;Non-WTF Job Board&lt;/a&gt;:&lt;br /&gt;&lt;a href="http://jobs.thedailywtf.com/1001/rsslink.ashx?PubPostId=6039"&gt;&lt;img border="0" src="http://jobs.thedailywtf.com/1001/img.ashx?PubPostId=6039&amp;Record=False" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;hr /&gt;&lt;br /&gt;
&lt;p&gt;&lt;a href="http://syndication.thedailywtf.com/~a/TheDailyWtf?a=urAtTq"&gt;&lt;img src="http://syndication.thedailywtf.com/~a/TheDailyWtf?i=urAtTq" border="0"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://syndication.thedailywtf.com/~f/TheDailyWtf?a=HtTzDg"&gt;&lt;img src="http://syndication.thedailywtf.com/~f/TheDailyWtf?i=HtTzDg" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://syndication.thedailywtf.com/~f/TheDailyWtf?a=uEsQ7G"&gt;&lt;img src="http://syndication.thedailywtf.com/~f/TheDailyWtf?i=uEsQ7G" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://syndication.thedailywtf.com/~r/TheDailyWtf/~4/280812659" height="1" width="1"/&gt;</description> 
			<slash:comments>108</slash:comments> 
			<comments>http://thedailywtf.com/Comments/The-Super-Hacker.aspx</comments>
		</item>
	
		<item>
			<author>Alex Papadimoulis</author> 
			<title>CodeSOD: Oh, XML</title> 
			<link>http://thedailywtf.com/Articles/Oh,-XML.aspx</link> 
			<category>CodeSOD</category>
			<pubDate>Wed, 30 Apr 2008 12:00:00 GMT</pubDate> 
			<guid isPermaLink="false">6042</guid> 
			<description>&lt;p&gt;&amp;quot;Having worked in the Computer industry for about twenty years now,&amp;quot; &lt;strong&gt;Matt&lt;/strong&gt; writes, &amp;quot;I rarely get the chance to actually write code. But I do get the joy of other people's problems landing at my feet when things go wrong.&amp;quot; &lt;/p&gt;
&lt;p&gt;&amp;quot;Not too long ago, one of our newer techies emailed me, complaining that he couldn't get load image data from a WebService created by another developer. Given that all of the XML serialization and deserialization is handed through our enterprisey library, it was only when I visted the WebService address in my browser that I was able to see the 'raw' data: &lt;/p&gt;
&lt;blockquote dir="ltr" style="MARGIN-RIGHT: 0px"&gt;
&lt;pre&gt;&amp;lt;attachments xmlns = &amp;quot;http://webservices...&amp;quot; &amp;gt;
  &amp;lt;bytes&amp;gt;37&amp;lt;/bytes&amp;gt;
  &amp;lt;bytes&amp;gt;80&amp;lt;/bytes&amp;gt;
  &amp;lt;bytes&amp;gt;68&amp;lt;/bytes&amp;gt;
  &amp;lt;bytes&amp;gt;70&amp;lt;/bytes&amp;gt;
  &amp;lt;bytes&amp;gt;45&amp;lt;/bytes&amp;gt;
  &amp;lt;bytes&amp;gt;49&amp;lt;/bytes&amp;gt;
  &amp;lt;bytes&amp;gt;46&amp;lt;/bytes&amp;gt;
  &amp;lt;bytes&amp;gt;52&amp;lt;/bytes&amp;gt;
  &amp;lt;bytes&amp;gt;10&amp;lt;/bytes&amp;gt;
  &amp;lt;bytes&amp;gt;37&amp;lt;/bytes&amp;gt;
  &amp;lt;bytes&amp;gt;-30&amp;lt;/bytes&amp;gt;
  &amp;lt;bytes&amp;gt;-29&amp;lt;/bytes&amp;gt;
  &amp;lt;bytes&amp;gt;-49&amp;lt;/bytes&amp;gt;
  &amp;lt;bytes&amp;gt;-45&amp;lt;/bytes&amp;gt;
  &amp;lt;bytes&amp;gt;10&amp;lt;/bytes&amp;gt;
  &amp;lt;bytes&amp;gt;52&amp;lt;/bytes&amp;gt;
  &amp;lt;bytes&amp;gt;32&amp;lt;/bytes&amp;gt;
  &amp;lt;bytes&amp;gt;48&amp;lt;/bytes&amp;gt;
  &amp;lt;bytes&amp;gt;32&amp;lt;/bytes&amp;gt;
  &amp;lt;bytes&amp;gt;111&amp;lt;/bytes&amp;gt;
  ...&lt;/pre&gt;
&lt;p&gt;&amp;quot;The error, for those that care, was that our code expected values in the range 0 to 255, rather than -127 to 128. &lt;/p&gt;
&lt;/pre&gt;
&lt;/blockquote&gt;&lt;br /&gt;&lt;hr /&gt;&lt;br /&gt;Brought to you by the &lt;a href="http://jobs.thedailywtf.com/1001/browse.aspx"&gt;Non-WTF Job Board&lt;/a&gt;:&lt;br /&gt;&lt;a href="http://jobs.thedailywtf.com/1001/rsslink.ashx?PubPostId=6042"&gt;&lt;img border="0" src="http://jobs.thedailywtf.com/1001/img.ashx?PubPostId=6042&amp;Record=False" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;hr /&gt;&lt;br /&gt;
&lt;p&gt;&lt;a href="http://syndication.thedailywtf.com/~a/TheDailyWtf?a=N0ZB68"&gt;&lt;img src="http://syndication.thedailywtf.com/~a/TheDailyWtf?i=N0ZB68" border="0"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://syndication.thedailywtf.com/~f/TheDailyWtf?a=KOhsng"&gt;&lt;img src="http://syndication.thedailywtf.com/~f/TheDailyWtf?i=KOhsng" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://syndication.thedailywtf.com/~f/TheDailyWtf?a=DH5TCG"&gt;&lt;img src="http://syndication.thedailywtf.com/~f/TheDailyWtf?i=DH5TCG" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://syndication.thedailywtf.com/~r/TheDailyWtf/~4/280749186" height="1" width="1"/&gt;</description> 
			<slash:comments>117</slash:comments> 
			<comments>http://thedailywtf.com/Comments/Oh,-XML.aspx</comments>
		</item>
	
		<item>
			<author>Alex Papadimoulis</author> 
			<title>Alex's Soapbox: Up or Out: Solving the IT Turnover Crisis</title> 
			<link>http://thedailywtf.com/Articles/Up-or-Out-Solving-the-IT-Turnover-Crisis.aspx</link> 
			<category>Alex's Soapbox</category>
			<pubDate>Tue, 29 Apr 2008 16:00:00 GMT</pubDate> 
			<guid isPermaLink="false">6041</guid> 
			<description>&lt;p&gt;If you&amp;rsquo;ve worked at enough companies in the IT industry, you&amp;rsquo;ve probably noticed that the most talented software developers tend to not stick around at one place for too long. The least talented folks, on the other hand, entrench themselves deep within the organization, often building beachheads of bad code that no sane developer would dare go near, all the while ensuring their own job security and screwing up just enough times not to get fired. &lt;/p&gt;
&lt;p&gt;Earlier this month, Bruce F. Webster aptly named this phenomenon the &lt;a href="http://brucefwebster.com/2008/04/11/the-wetware-crisis-the-dead-sea-effect/"&gt;Dead Sea Effect&lt;/a&gt;. Today, I&amp;rsquo;ll discuss a solution to overcoming it. In short: embrace turnover, encourage separation, and don&amp;rsquo;t even think about saying &amp;ldquo;careers, not jobs.&amp;rdquo; Oh yes, it&amp;rsquo;s Employment 2.0. &lt;/p&gt;
&lt;p&gt;&amp;nbsp; &lt;/p&gt;
&lt;h3&gt;Revisiting the Cravath System&lt;/h3&gt;
&lt;p&gt;Like many 2.0-isms and &amp;ldquo;innovative&amp;rdquo; ways of doing business, the &amp;ldquo;Up or Out&amp;rdquo; solution to our personnel crisis is not new. Paul D. Cravath first implemented it at the turn of the century. Not this century, of course, but the last one. &lt;/p&gt;
&lt;p&gt;Here&amp;rsquo;s how the &amp;ldquo;Cravath System&amp;rdquo; works. Bring lots of new employees in, team them up with mentors, provide real work to do, and give them a choice: either get lots of great experience and get out, or work hard for a higher-up position. Whenever you hear someone aspire to &amp;ldquo;make partner&amp;rdquo;, he&amp;rsquo;s undoubtedly working at a firm that&amp;rsquo;s adopted this model. &lt;/p&gt;
&lt;p&gt;Since its inception in the early 1900&amp;rsquo;s, the Cravath System has spread to tens of thousands of different companies in different professions, ranging from accounting to urban planning. Robert T. Swaine, in his 1947 book &lt;em&gt;The Cravath Firm And Its Predecessors&lt;/em&gt;, describes the result of its use: &lt;/p&gt;
&lt;blockquote&gt;Under the &amp;ldquo;Cravath system&amp;rdquo; of taking a substantial number of men annually and keeping a current constantly moving up in the office, and its philosophy of tenure, men are constantly leaving&amp;hellip; it is often difficult to keep the best men long enough to determine whether they shall be made partners, for Cravath-trained men are always in demand, usually at premium salaries.&lt;/blockquote&gt;
&lt;p&gt;Sound familiar? If we &amp;ldquo;black box&amp;rdquo; our current process and the Cravath System, they&amp;rsquo;re practically the same thing: lots of new hires of varying skill come in, and mostly talented workers come out. Yet, somehow, our box gets mucked up with the &amp;ldquo;residue&amp;rdquo;, while theirs stays a well-oiled machine. There&amp;rsquo;s a good reason for this: instead of fighting to &lt;em&gt;retain&lt;/em&gt; top talent, we need to &lt;em&gt;make&lt;/em&gt; top talent. &lt;/p&gt;
&lt;p&gt;&amp;nbsp; &lt;/p&gt;
&lt;h3&gt;A Reality Check&lt;/h3&gt;
&lt;p&gt;Let&amp;rsquo;s not ignore the elephant in the room: employees will quit. No matter what you say, no matter what cushiony benefits you give, no matter how hard you try, they will leave you. It&amp;rsquo;s just a matter of &amp;ldquo;when&amp;rdquo;. &lt;/p&gt;
&lt;p&gt;In almost every job I&amp;rsquo;ve had, giving my two-week notice was like an awkward, uncomfortable break-up. &amp;ldquo;Really,&amp;rdquo; I&amp;rsquo;d say time and time again, &amp;ldquo;it&amp;rsquo;s not you, it&amp;rsquo;s me.&amp;rdquo; It seemed no one understood that it was &amp;ldquo;just that time&amp;rdquo;. Worse still, they&amp;rsquo;d often decline my offer of thoroughly training a replacement and would sometimes even terminate my employment on the spot. This was truly their loss: when I&amp;rsquo;d leave, I&amp;rsquo;d take all intuitional knowledge they paid me to learn on my own, and &lt;em&gt;not&lt;/em&gt; distill it for my successor. &lt;/p&gt;
&lt;p&gt;The reason that I (and many of you) have had these similar quitting experiences is because many employers &amp;ndash; despite having been employees themselves &amp;ndash; don&amp;rsquo;t want to accept the fact that employees quit. Some even desperately try to change the fact. I can&amp;rsquo;t count the times I&amp;rsquo;ve heard &amp;ldquo;we offer careers, not just jobs&amp;rdquo; and &amp;ldquo;we&amp;rsquo;re more like a family than a company.&amp;rdquo; Interestingly enough, those companies tend to have the most mature dead-sea cycles. &lt;/p&gt;
&lt;p&gt;Employees &amp;ndash; especially the most talented ones &amp;ndash; are not &amp;ldquo;dating around&amp;rdquo; and moving from place to place in search of the Perfect Company at which they can grow old and retire at. They&amp;rsquo;ve already aced the first four rungs of Maslow&amp;rsquo;s hierarchy and are in search of &lt;a href="http://en.wikipedia.org/wiki/Self_actualization#Self-actualization_and_Maslow.27s_Hierarchy"&gt;self-actualization&lt;/a&gt;: the instinctual need of humans to make the most of their abilities and to strive to be the best they can. &lt;/p&gt;
&lt;p&gt;This point bears repeating. Indefinite retention is impossible; employees always quit. The key part is understanding why, and how to leverage this inevitability towards everyone&amp;rsquo;s advantage. &lt;/p&gt;
&lt;p&gt;&amp;nbsp; &lt;/p&gt;
&lt;h3&gt;Why the Skilled Quit First&lt;/h3&gt;
&lt;p&gt;Bruce did an excellent job of explaining why the unskilled don&amp;rsquo;t quit: &lt;/p&gt;
&lt;blockquote&gt;&lt;em&gt;They tend to be grateful they have a job and make fewer demands on management; even if they find the workplace unpleasant, they are the least likely to be able to find a job elsewhere. They tend to entrench themselves, becoming maintenance experts on critical systems, assuming responsibilities that no one else wants so that the organization can&amp;rsquo;t afford to let them go.&lt;/em&gt;&lt;/blockquote&gt;
&lt;p&gt;The reason that skilled employees quit, however, is a bit more complicated. In virtually every job, there is a peak in the overall value (the ratio of productivity to cost) that an employee brings to his company. I call this the Value Apex. &lt;/p&gt;
&lt;p&gt;On the first minute of the first day, an employee&amp;rsquo;s value is effectively zero. As that employee becomes acquainted with his new environment and begins to apply his skills and past experiences, his value quickly grows. This growth continues exponentially while the employee masters the business domain and shares his ideas with coworkers and management. &lt;/p&gt;
&lt;blockquote&gt;&lt;img alt="" src="http://img.thedailywtf.com/images/200804/valueapex.png" /&gt;&lt;/blockquote&gt;
&lt;p&gt;However, once an employee shares all of his external knowledge, learns all that there is to know about the business, and applies all of his past experiences, the growth stops. That employee, in that particular job, has become all that he can be. He has reached the value apex. &lt;/p&gt;
&lt;p&gt;If that employee continues to work in the same job, his value will start to decline. What was once &amp;ldquo;fresh new ideas that we can&amp;rsquo;t implement today&amp;rdquo; become &amp;ldquo;the same old boring suggestions that we&amp;rsquo;re never going to do&amp;rdquo;. Prior solutions to similar problems are greeted with &amp;ldquo;yeah, we worked on that project, too&amp;rdquo; or simply dismissed as &amp;ldquo;that was five years ago, and we&amp;rsquo;ve all heard the story.&amp;rdquo; This leads towards a loss of self actualization which ends up chipping away at motivation. &lt;/p&gt;
&lt;p&gt;Skilled developers understand this. Crossing the value apex often triggers an innate &amp;ldquo;probably time for me to move on&amp;rdquo; feeling and, after a while, leads towards inevitable resentment and an overall dislike of the job. Nothing &amp;ndash; not even a team of on-site masseuses &amp;ndash; can assuage this loss. &lt;/p&gt;
&lt;p&gt;On the other hand, the unskilled tend to have a slightly different curve: Value Convergence. They eventually settle into a position of mediocrity and stay there indefinitely. The only reason their value does not decrease is because the vast amount of institutional knowledge they hoard and create. &lt;/p&gt;
&lt;blockquote&gt;&lt;img alt="" src="http://img.thedailywtf.com/images/200804/valueapex2.png" /&gt;&lt;/blockquote&gt;
&lt;h3&gt;Shaping the Value Apex&lt;/h3&gt;
&lt;p&gt;There&amp;rsquo;s an entire mini-industry out there that helps companies stretch the value apex. Just googling &amp;ldquo;employee retention&amp;rdquo; brings back myriad results and ads, ranging from books to seminars to consultants. The value proposition of these various products is simple: spend some money now to retain employees longer, thereby saving more money later in turnover costs. &lt;/p&gt;
&lt;p&gt;However, the value apex can only be stretched so far. At some point, the cost of retaining &amp;ndash; be it through salary increases, motivational programs, or creating a Neverland with free food, free toys, and exuberant goof-off time &amp;ndash; exceeds the cost of turnover. Regardless of how much a company spends on this &amp;ndash; too little, too much, or just enough &amp;ndash; it does not change the fact that the value apex exists. &lt;/p&gt;
&lt;p&gt;After stretching, there&amp;rsquo;s only two ways to further optimize the value apex: by accelerating the value-growth curve and terminating it as close to the as the apex as possible. Both of these are accomplished through the Cravath System. &lt;/p&gt;
&lt;p&gt;&amp;nbsp; &lt;/p&gt;
&lt;h3&gt;A Culture of Quitting&lt;/h3&gt;
&lt;p&gt;We&amp;rsquo;ve all experienced how managers and higher-ups dance around the fact that we&amp;rsquo;ll quit someday. The justification given for why a process should be documented is almost always &amp;ldquo;because you might be hit by a bus tomorrow&amp;rdquo; (or the less macabre &amp;ldquo;win the lottery&amp;rdquo;). Since neither is within the realm of reasonable probability, this transitional documentation is often half-assed with the understandable &amp;ldquo;you&amp;rsquo;ll have more things to worry about if I get hit by a bus&amp;rdquo; attitude. But imagine if the justification for documentation was different: &lt;/p&gt;
&lt;blockquote&gt;&lt;em&gt;I need you to document this process in detail so that any yahoo can understand it a year from now after you&amp;rsquo;ve left.&lt;/em&gt;&lt;/blockquote&gt;
&lt;p&gt;I&amp;rsquo;ve never had a manager or higher-up &lt;em&gt;ever&lt;/em&gt; put it that way. In fact, many people feel that&amp;rsquo;s an even more stolid justification than &amp;ldquo;hit by a bus&amp;rdquo;. But it isn&amp;rsquo;t; it&amp;rsquo;s just reality. Why not accept it? &lt;/p&gt;
&lt;p&gt;Of course, that justification would never even need to be given if a company embraced a culture of quitting. If they were upfront with their employees and said something to the effect of, &amp;ldquo;we know that you&amp;rsquo;re not going to retire here; in fact, after two to three years, we know you&amp;rsquo;ll be ready to move on to a different job. But before that happens, we want to make sure that you feel that you&amp;rsquo;ve done an excellent job here and are leaving with some solid experience under your belt. Of course, there are a handful of architect and management positions available, but you&amp;rsquo;ll really need to demonstrate commitment before even being considered for those. Obviously, that path isn&amp;rsquo;t for everyone.&amp;rdquo; &lt;/p&gt;
&lt;p&gt;Imagine how much different things would be if you were told &lt;em&gt;that&lt;/em&gt; on your first day. Just about every task you do would be in consideration of your successor. Not only would you take pride in solving problems &amp;ndash; and, of course, getting strong ROR (Return on Resume) for those solutions&amp;ndash; but you&amp;rsquo;d also take pride in knowing that the guy who comes after you will have an easy time picking up your work. Just as your predecessor did for you. &lt;/p&gt;
&lt;p&gt;The benefits don&amp;rsquo;t stop there. A company with a culture of quitting does not have &lt;em&gt;ex-employees&lt;/em&gt;; they have &lt;em&gt;alumni&lt;/em&gt;. This is far more than a semantic distinction. An alumni relationship is positive; something that people can take pride in; and one that keeps the door open for further opportunities on both ends. Let&amp;rsquo;s face it; we&amp;rsquo;re already curious about our former workplaces and try to keep up through former coworkers. It&amp;rsquo;d be that much easier if the company facilitated this in some manner. &lt;/p&gt;
&lt;p&gt;The alumni relationship also helps with the flow of new personnel. While ex-employees are be hesitant to recommend the company they &amp;ldquo;broke up&amp;rdquo; with, alumni will champion it to colleagues in need of similar experience. Furthermore, there&amp;rsquo;s no sense of defeat when an alumni returns &amp;ndash; armed with experiences from other organizations &amp;ndash; for another tenure. &lt;/p&gt;
&lt;p&gt;For consulting companies or services firms, maintaining a solid relationship with alumni is an excellent avenue to find new business. Who better to recommend as a vendor than a company that one had first-hand experience working at? &lt;/p&gt;
&lt;p&gt;But perhaps the most important benefit to a culture of quitting is that it effectively flushes out the residue of unskilled employees. When someone hasn&amp;rsquo;t moved up or out after a few cycles, it becomes painfully evident who the weakest link is. Everyone &amp;ndash; even that certain someone &amp;ndash; knows that they&amp;rsquo;ve long outstayed their welcome. If the sheer awkwardness of being &amp;ldquo;that guy&amp;rdquo; doesn&amp;rsquo;t cause him to leave on his own, and he still doesn&amp;rsquo;t get it after being asked to resign, then certainly no one will miss him when he&amp;rsquo;s inevitably let go. &lt;/p&gt;
&lt;p&gt;&amp;nbsp; &lt;/p&gt;
&lt;h3&gt;Bringing Home Change&lt;/h3&gt;
&lt;p&gt;Obviously, this article has painted some incredibly broad strokes, the largest being the stark dichotomy between skilled and unskilled developers, and the lack of distinction between organizations. While this doesn&amp;rsquo;t change the fact that a value apex exists, it does change its shape. Generally speaking: &lt;/p&gt;
&lt;ul&gt;
    &lt;li&gt;&lt;strong&gt;The higher-up the position, the longer the curve&lt;/strong&gt;. Changes tend to occur much more slowly at the top. For example, a basic &amp;ldquo;refactoring&amp;rdquo; of a department&amp;rsquo;s teams could take well over a year to implement. &lt;/li&gt;
    &lt;li&gt;&lt;strong&gt;The greater the skill, the shorter the curve.&lt;/strong&gt; Ambition and skill go hand-in-hand, and ambitious individuals tend to want swift changes, and quickly lose motivation when these don&amp;rsquo;t happen. &lt;/li&gt;
    &lt;li&gt;&lt;strong&gt;The larger the company, the shorter the curve. &lt;/strong&gt;Large teams are generally not receptive to ideas from the new guy, leaving a large part of contribution (i.e. past experience) wasted. Furthermore, promotions are often based on tenure, not skill. &lt;/li&gt;
    &lt;li&gt;&lt;strong&gt;The smaller the company, the longer the curve.&lt;/strong&gt; Smaller companies, on the other hand, are more receptive to change, allowing one to contribute past experiences for a long while. &lt;/li&gt;
    &lt;li&gt;&lt;strong&gt;The less skill-demanding the company, the significantly longer the curve. &lt;/strong&gt;Not all companies need top talent. For example, the company who needs only maintainers of an ancient COBOL application might be best fit with curves that are closer to the value convergence. &lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;One important point to keep in mind, too, is that skill is not measure of overall worth. At some point in our lives, many of us no longer look towards our career for self actualization. For example, many feel that having a family provides much more self actualization than a career, and choose not to work those sixty hour weeks to meet those tight deadlines. And there&amp;rsquo;s nothing wrong with that. &lt;/p&gt;
&lt;p&gt;That said, we still need to bring these changes to our industry. Obviously, we can&amp;rsquo;t all implement the Cravath System overnight. For many companies &amp;ndash; especially those who really don&amp;rsquo;t need skilled developers &amp;ndash;a full-fledged Cravath system will never be a good fit. &lt;/p&gt;
&lt;p&gt;But there is one thing that we &lt;em&gt;all&lt;/em&gt; can do. In fact, let&amp;rsquo;s all do it together, right now, right this moment. Employees, go ahead and say to yourself: &lt;/p&gt;
&lt;blockquote&gt;&lt;em&gt;I know that I will quit my job, and there&amp;rsquo;s nothing wrong with that.&lt;/em&gt;&lt;/blockquote&gt;
&lt;p&gt;Now it&amp;rsquo;s your turn, employers/managers: &lt;/p&gt;
&lt;blockquote&gt;&lt;em&gt;I know that my employees will quit, and there&amp;rsquo;s nothing wrong with that.&lt;/em&gt;&lt;/blockquote&gt;
&lt;p&gt;Once we&amp;rsquo;ve all accepted this, things will start to work better. Eventually, we&amp;rsquo;ll join the legal industry, the accounting industry, and so many others, and we too will have our well-oiled machine. But first things first: we need to embrace quitting, not fear it.&lt;/p&gt;&lt;br /&gt;&lt;hr /&gt;&lt;br /&gt;Brought to you by the &lt;a href="http://jobs.thedailywtf.com/1001/browse.aspx"&gt;Non-WTF Job Board&lt;/a&gt;:&lt;br /&gt;&lt;a href="http://jobs.thedailywtf.com/1001/rsslink.ashx?PubPostId=6041"&gt;&lt;img border="0" src="http://jobs.thedailywtf.com/1001/img.ashx?PubPostId=6041&amp;Record=False" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;hr /&gt;&lt;br /&gt;
&lt;p&gt;&lt;a href="http://syndication.thedailywtf.com/~a/TheDailyWtf?a=JoBlcP"&gt;&lt;img src="http://syndication.thedailywtf.com/~a/TheDailyWtf?i=JoBlcP" border="0"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://syndication.thedailywtf.com/~f/TheDailyWtf?a=GWKGjg"&gt;&lt;img src="http://syndication.thedailywtf.com/~f/TheDailyWtf?i=GWKGjg" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://syndication.thedailywtf.com/~f/TheDailyWtf?a=3B2fBG"&gt;&lt;img src="http://syndication.thedailywtf.com/~f/TheDailyWtf?i=3B2fBG" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://syndication.thedailywtf.com/~r/TheDailyWtf/~4/280174478" height="1" width="1"/&gt;</description> 
			<slash:comments>155</slash:comments> 
			<comments>http://thedailywtf.com/Comments/Up-or-Out-Solving-the-IT-Turnover-Crisis.aspx</comments>
		</item>
		
	</channel>
</rss>
