Les got an unexpected promotion to head developer, when his cranky old micromanaging boss Frank tendered his resignation one Monday. Frank knew his stuff, but couldn’t silence a constant whine over any grievance, no matter how slight. It would be a relief to not have to listen to him complain about everyone any more, especially his complaints about Phil, the Vice President.
Frank’s chair had been empty for mere seconds when Phil stepped in to Les’ office with a performance issue in production. Phil explained that the company’s bread-and-butter website was crawling at a snail’s pace. The site had only been rolled out to half of their contracted users, and Phil was worried about scaling. “I need you to look into this right away. This is a great opportunity for you to show me how you can handle big responsibilities, Les!”
Les welcomed the opportunity to prove himself to the VP. He started by cracking open the ASP.NET Web.config file to see if anything obvious stabbed him in the eye. Les discovered the Debug Mode flag was set to “true”. Someone had ignored the obvious comment, auto-inserted by Visual Studio, that said “Only enable Debug Mode during Development”. Les switched the flag to “false”, and made a few other minor tweaks. The resource usage instantly turned around and things were back to normal.
Despite the quick resolution, Les was bewildered by how this could have happened. Frank, such a nit-picker, never would have let something like that slip through. Unless… it was an intentional sabotage when he knew he’d be leaving the company? Les and Phil were the only other people with production access and Phil wouldn’t know what to do in a web config file. That had to be the reason. Nice try, Frank! Since the website was working, Les left it alone and headed home, glad that it wasn’t a more complicated issue.
The next morning, Les checked the web server to make sure performance was still golden. It wasn’t; the processor and memory usage of the site were through the roof again. “How the hell…?” Les opened the config file again. He went straight to the Debug Mode setting to find it set back to “true”. The Last Modified date of the file showed it had been changed earlier that morning. He deduced that either Frank had broken back in to the building and hosed their web.config again or Phil had something to do with it.
Phil greeted Les upon entry to his office, “Good morning, buddy! Great job figuring out that performance issue last night. What can I do ya for?”
“Thanks, but the issue cropped up again this morning,” Les replied. “I know this might sound weird, but did you change any settings on the website? I know you don’t normally…”
“Oh, I sure did!” Phil interrupted, sounding surprisingly proud. “I’m going to let you in on a little secret. Since I’m a huge fantasy football player, it always bugged me that those firewall eggheads blocked us from getting to fantasy sports websites. Before Frank left, he set up this nifty little report hidden in our website that only I can see! So now I just log in, click on the magic report and I can see all my stats!”
Puzzled, Les said, “OK, but what does this have to do with you changing the configuration of the website?”
“Oh, that’s the best part!” Phil said, beaming. “I have so many fantasy teams that the report was taking forever to pull up. I did a little Googling and found a solution on this site called Stack Overbite, or whatever it’s called. It said to turn on Debug mode in the web.config file. After I did that, the report ran instantly! Pretty smart for a VP, huh?”
Les resisted the urge to give himself an atomic face-palm, and began slowly explaining to Phil why he shouldn’t do that. He then demonstrated the quick performance turnaround of their website as soon as Debug Mode was disabled. “I see your point, Les, but how am I supposed to see my fantasy scores during the day any more? You need to make my report work.” Just as Phil finished his sentence, his smartphone buzzed on the desk. This gave Les an idea.
Les spent the next hour showing Phil how to download a Fantasy Football app on his smartphone, log in to see his teams, and keep up with his precious statistics. Phil was so impressed that he agreed to let Les remove the hidden report from the website so it would never screw up performance again.
“This is so cool, Les! I had no idea my phone could get on the web. I’m going to need some more time of yours for you to show me how to access everything else from my computer on this phone here.”
Les instantly regretted his decision upon realizing he’d opened Pandora’s Box.