...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?

Bob: Fixed.

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?

Bob: Yeah.

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?

Bob: Huh?

Larry: You deleted the loop. It looped over email addresses. Instead of moving the link outside the loop, you just deleted the loop!

Bob: OK

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!

Bob: OK

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