...for sufficiently small values of "programmer"
So we've got a page that allows clients to edit email addresses. Turns out that if there are no email addresses associated, the "Add an email" link doesn't show up. I glance at the page and see that the button is inside the loop that's iterating over the emails (this is ColdFusion, so what this means is that I see something like: \<cfloop query="emails">...email output stuff ... \<a href="./add_an_email.cfm">Add an email\</a>\</cfloop> (trying to get this system moved over to REST may be covered in another frustrated blog post at a later date)).
So I ask "Bob" to move the link outside the loop.
Twelve hours later:
Larry: What's the story?
Larry: Great! *click* Hey, Bob, I still don't see the link.
Bob: Yeah, ColdFusion must have the old version cached.
Larry: Really? I thought CF was really good about picking up changes.
Bob: Maybe it has something to do with timezones. I've seen it before.
Larry: That just seems incredible. You're sure you made the change?
Larry: And you tested it?
Bob: Yeah. Works fine on my machine.
Larry: When you've seen it before, how long does it take to come online?
Bob: A day or two
Larry: WHAT? That's incredible. I had no idea. *speed dial* Hey, Carol, reboot the test server, we need to clear the cache.
Carol: What time is it in Hawaii?
Larry: 8:00 PM. Yeah, I guess it's kind of late there in New York, huh? *click*
-- this morning --
*click* ... pause ...
*ftp* ... double checking ...
*svn checkout* ... incredulous review ...
Larry: Bob, can I have a word?
Bob: How you doing this morning Larry?
Larry: I'm a little stressed out. Let's try to establish some common ground. Can you FTP onto the site and confirm that the file there is the old one?
Bob: Why's there only one file there?
Larry: What are you talking about?
Bob: There's only one file on the site.
Larry: Um ... Do you think it's possible that you uploaded the file to the wrong directory?
Bob: Let me check.
* 5 minutes pass *
Larry: Bob, why's it taken you 5 minutes to check out the name of the directory to which you FTPed?
Bob: Checking * 3 minutes * Oh, I see! You expected it in /TestSite. I uploaded it to /TestSite2!
Larry: WTF is /TestSite2? No, don't answer that. WTF did you mean when you said you tested it?
Bob: Works fine on my machine.
Larry: You're talking about the version 67 in Subversion? Do you have that open on your machine?
Bob: Hold on
* 5 minutes pass *
Larry: WTF is taking you so long? A Subversion checkout takes 5 seconds!
Bob: Hold on * 1 minute passes* Yeah, got it.
Larry: Did you delete the loop?
Larry: You deleted the loop. It looped over email addresses. Instead of moving the link outside the loop, you just deleted the loop!
Larry: No, it's not OK! WTF do you mean OK? Every f***ing [original did not have asterisks] client has more than one email address!
Larry: STOP SAYING OK! WTF were you thinking? No, don't answer!!! WTF did you mean by 'works fine'?
Bob: It worked fine on my machine
Larry: NO IT F***ING DIDN'T! YOU DELETED THE F***ING LOOP!
Bob: I didn't understand what the page did.
Larry: IT WAS A F*** LOOP! YOU"RE SUPPOSED TO BE A PROFESSIONAL PROGRAMMER! YOU DIDN"T "GET" THAT A LOOP WAS NECESSARY? I GOT CAROL OUT OF BED AT 1 IN THE MORNING AND SPENT AN HOUR BETWEEN LAST NIGHT AND THIS MORNING BECAUSE YOU FTPED YOUR WRONG F*** PAGE TO THE WRONG DIRECTORY!
Bob: Control your temper, man.
Larry's brain explodes and he dies