Best. Soup. Ever.

2014-09-19

"Mmmm...Nothing hits the spot quite like a big bowl of Cream of SQL Soup," writes Andrew J.

If you talk to employers about what it's like trying to attract and retain IT talent the answer is usually the same - IT'S NEAR FRICKIN' IMPOSSIBLE!! Even if you treat employees right, offer a bucket of cash, unlimited vacation, and a hammock in every cubicle, then only maybe will you attract the talent you want. So, based on this logic, you'd think that employers should treat their employees as best as possible, right? Well, by the looks of things, forum favorite Blakeyrat, found an employer that is lacking in common sense.


Failure to Leap

2014-09-17

When you're a developer like Joe, and your clients all have dedicated servers, and they all call at the same time to complain that their servers have gone down, you can't help but start hoping there was an earthquake. Unless the data center housing all that dedicated hardware was wiped off the face of the earth, the bug was going to be in your software. And sure enough, in the midst of the legacy C++ module responsible for processing the day's transactions, Joe found this:

bool done = false;
while(!done)
{
    try
    {
        //I'm not sure if having a log entry for the irregular
        //Febuary[sic] 29th will destroy everything else.
        //To be on the safe side, we'll just wait 'til tomorrow instead
        Date *currentDate = new Date();
        int DOY = currentDate->dayOfYear();
        if( DOY == 60 && //day 60 is feb 29
            ( lastDigit(currentDate->year()) == 0 ||
              lastDigit(currentDate->year()) == 4 ||
              lastDigit(currentDate->year()) == 8))
        {
            while(currentDate->dayOfYear() == 60) { currentDate = new Date(); }
        }
        else
        {
            //SNIP: code that actually runs part of the maintenance
            done = true;
        }
    }
    catch(...) {} //If we failed we need to try again until we succeed
}

Dropping a Load

2014-09-16

Bryan is a highly paid consultant in a position as a senior architect at a really big company. In the first part of his assignment, he concentrated heavily upon gathering requirements and designing a high-level architecture. In the latter part of his assignment, development tasks were thrown at the inexpensive offshore team.

Documents for architecture, detailed design specifications and development guidelines were written. Specifications for defining major interfaces and mocking up external systems (e.g.: databases, web services, etc.) for unit tests were written up, each with specific examples of what library to use, and how to use it to perform a given type of test. It was even explicitly stated that no external system was to be accessed from unit tests; everything was to be mocked. Real testing could be done in an integration environment.

The Erlking

2014-09-15

Visual Basic’s error handling is its own special WTF in itself. For those that haven’t had to suffer through it, you can set the error-handling mode with a special On Error statement. For example, On Error Resume Next, is a delightful statement that tells Visual Basic to simply ignore errors, and continue execution. A good programmer will know to check errors with conditional statements.

More common, is the On Error Goto ErrHandler approach. As the code implies, when an error occurs, this simply executes a goto to jump to a specific label, with all of the fun that goto statements normally include.

Robert H. writes, "I'm not sure if I'm interested in a new product called 'Internal Server Error'."

XXL XML

2014-09-11

At his day job, Peter writes code for the manufacturing industry and, in doing so, works a lot with PLCs from GE. As of late, he's been working on an application that processes XML configuration files exported from GE's main programming IDE "Machine Edition" to generate extremely complex diagnostic information that the IDE doesn't provide. You know, things like, "Has that variable that you are using in a calculation ever been initialized?"

As he was looking through a 23,000 line configuration file that described the hardware setup of a particular project, Peter discovered 8,000 lines like the following that were used to store binary blob data.

John worked for an MSP with a broad range of clients. An hour after arriving home from work one day, he received a call from a local doctor’s office. Kelly, the office manager, barely let him finish his “Hello.”

“I’m so glad you’re there! I think someone’s hacked Dr. Gates’ computer!” she cried. “He’s trying to enter patient notes, and someone else is typing on his screen- like, no joke, I’m watching it happen! I thought it might be our software developer, Jason, but he’s on vacation this week and this doesn’t make any sense. Did someone hack in? Could they do that?"

Clevelanders*! Mark and Remy will be visiting my hometown this Friday (Sept 12), and we thought it'd be a opportune time to hold a Cleveland TDWTF get-together.

If you'll be in the area, please drop me a line and we'll figure out the specifics. There's an especially good chance I'll remember to bring swag this time!

Ancient Daze

2014-09-09

Although we're professionals now, we all started out as humble students - wide-eyed and innocent of the ways of proper coding practices in the corporate world. Back then, everything was new, and we had no real way of knowing whether what we were looking at was wizardry or WTF.

When C. T. was still in school, he ran across a routine for validating dates. It was written in lowly assembler. He found it fascinating, and spent a great deal of time examining its innards. It was designed to run on a 32-bit machine that lacked multiply or divide instructions. It also did something else unusual for the day: it worked on four digit years.

View Article Archives >>