DevDisasters

The 'Groundbreaking and Revolutionary' Update

For MegaCorp's end-of-quarter presentation, the vice president of marketing arranged a demo for a feature that he had contracted an outside consultant to add to the new version of the company's customer-facing online application.

The new feature, described as "groundbreaking and revolutionary," had caused quite a stir within the organization. This was mostly because, when implemented, it would allow customers to receive updates sent directly to their cell phones -- and, interestingly enough, it would work with every cell phone carrier in the United States.

Equally impressive was the widely circulated rumor that the VP had paid the consultant around $50,000 for his troubles. Many people at MegaCorp viewed it as an attempt to upstage the technical expertise of the internal engineering group, which included Jared's application development team.

Something Missing
Soon after the demo, Jared's team received the application code to include in the next build. Expecting a large project that would include the contingencies for each possible cellular carrier, the team was shocked to receive only a single C# source file, which acted as a wrapper for the following function:

private object GetEmailBasedOnCarrier()
{
  string text1 = " ";
  switch (this.MobileCarrier)
  {
    case SMS.EnumMobileCarrier.T_Mobile:
      text1 = "tmomail.net";
      goto Label_005B;

    case SMS.EnumMobileCarrier.Virgin_Mobile:
      text1 = "vmobl.com";
      goto Label_005B;

    case SMS.EnumMobileCarrier.Cingular:
      text1 = "cingularme.net";
      goto Label_005B;

    case SMS.EnumMobileCarrier.Sprint:
      text1 = "messaging.sprintpcs.com";
      break;

    case SMS.EnumMobileCarrier.Verizon:
      text1 = "vtext.com";
      goto Label_005B;

    case SMS.EnumMobileCarrier.Nextel:
      text1 = "messaging.nextel.com";
      goto Label_005B;
  }
  Label_005B:
  return (this.PhoneNumber + "@" + text1); 
}

The engineering group was stunned. They collectively wondered: Coding "style" aside, surely this wasn't all of it ... Where was the rest of the application?

About an hour after sending an e-mail to the VP of marketing, Jared and the rest of the engineering group received a reply from the hired gun.

Whoops! Wrong Version
Indeed, the consultant had sent an older, inferior version that was neither groundbreaking nor revolutionary. The updated version, which was attached, was far superior, utilizing direct "IP Calls" to send the data and "not using e-mails" anymore.

Curious, Jared opened the new code, but felt a little let down after seeing that using an "IP Call" really meant replacing the server domain name of the destination message with its IP address and keeping everything else the same.

After closing the source file, Jared did the only thing he could do: He checked the code into source control and waited for the next round of groundbreaking and revolutionary changes.

About the Author

Mark Bowytz is a contributor to the popular Web site The Daily WTF. He has more than a decade of IT experience and is currently a systems analyst for PPG Industries.

comments powered by Disqus

Featured

  • Compare New GitHub Copilot Free Plan for Visual Studio/VS Code to Paid Plans

    The free plan restricts the number of completions, chat requests and access to AI models, being suitable for occasional users and small projects.

  • Diving Deep into .NET MAUI

    Ever since someone figured out that fiddling bits results in source code, developers have sought one codebase for all types of apps on all platforms, with Microsoft's latest attempt to further that effort being .NET MAUI.

  • Copilot AI Boosts Abound in New VS Code v1.96

    Microsoft improved on its new "Copilot Edit" functionality in the latest release of Visual Studio Code, v1.96, its open-source based code editor that has become the most popular in the world according to many surveys.

  • AdaBoost Regression Using C#

    Dr. James McCaffrey from Microsoft Research presents a complete end-to-end demonstration of the AdaBoost.R2 algorithm for regression problems (where the goal is to predict a single numeric value). The implementation follows the original source research paper closely, so you can use it as a guide for customization for specific scenarios.

  • Versioning and Documenting ASP.NET Core Services

    Building an API with ASP.NET Core is only half the job. If your API is going to live more than one release cycle, you're going to need to version it. If you have other people building clients for it, you're going to need to document it.

Subscribe on YouTube