Mark Bowytz

Besides contributing at @TheDailyWTF, I write DevDisasters for Visual Studio Magazine, and involved in various side projects including child rearing and marriage.

Feb 2010

Testing the Path to Pain

by in Feature Articles on

from user'Jinx!' on FlickrTest plan development. Regression analysis. Systems documentation creation. Test case execution. Regression testing.

If you're anything like me, then those words may as well have been boring, tedious, mind-numbing, tiresome, dreary, and the-worst-thing-in-the-world. Sure, they're all important and necessary, but you found out that, due to budgetary constraints, you couldn't personally do any of those things and could only focus on coding, you probably wouldn't complain. Julien G. certainly didn't mind, especially since the "drudge work" would still get done by the overseas team while everyone state-side was fast asleep.


Where's Our Webserver?

by in Feature Articles on

“HERE IT IS!” exclaimed Miha’s boss with a victorious look. “See! I told you that I’d find you a computer! Now we can get you doing something other than fetching coffee!” he chuckled.

The ‘new’ desktop was a rather outdated SGI Indy with a brownish patina that made it seem like it had been tucked away in a closet for years. But it was better than nothing! Up until this point, Miha had been doing nothing more than reading through outdated manuals for the one product that the company he was interning at developed and supported. He welcomed the lil’ blue marvel.


The Great Cascade

by in Feature Articles on

It was not the best start to a Monday morning. When Chris K. got in, the entire IT department was in full-panic mode because the Linux mail server that he administered was unresponsive.

And to make matters worse, he couldn't even get to the bottom of the issue. Almost every other minute, his phone would ring with someone, somewhere asking for a status update. When he turned his phone off, people started showing up at his desk. And then there were the status meetings where all he could report was "still broken." Finally, in desperation, Chris reserved an all-day “meeting” in one of the lesser used conference rooms, undocked his laptop and ducked for cover.


Phishing for a Refund

by in CodeSOD on

As I'm sure is the case with many of you, I sure do love me some tax refund. Once my W2's and other year-end tax forms documents come in the mail, I get my e-File in and wait for my refund to be direct deposited.

Now, since the whole refund process involves computers and the internet, of course, it's a prime target for spammers and phishers who want nothing more than to ignite a little FUD and get some of your hard earned cash.


Emergency Faxes

by in Feature Articles on

As far as technologies go, faxing is ancient. It predates the telephone by over a decade and, despite vast advances in scanning and email technology, the fax still remains a standard form of communication.

When a transmission goes out, the occasional telecommunication ‘hiccup’ or line noise can corrupt the fax. Most modern fax machines have some rudimentary error handling that will alerts the user that the fax should be resent.


Almost Counting Past 100

by in CodeSOD on

"At the contract shop where I work," writes John S., "I have been assigned to a new web-enabled mapping program to help take a look at some of the issues they've been having."

"When an item is added to a map, it is given a label, such as Item #1, Item #2, etc., with the number on the label incrementing for each new item. We had been having a problem where map labels were not being assigned uniquely when there were more than 100 items per map. It was always starting at Item #100 when reloading the map from the database. This was causing issues since it was the map label name that was being used for the unique identifier (don't get me started on that). Curious, I took a look at the code to decipher how the label ids were being assigned."

setCount: function(label) {
        var layer;
        var count;
        if (label.charAt(label.length - 2) == ' ' ) {
                layer = label.substring(0, label.length - 2);
                count = label.substring(label.length -1) * 1;
        } else {
                layer = label.substring(0, label.length - 3);
                count = label.substring(label.length - 2) * 1;
        }
       
        if (this[layer] < count) {
                this[layer] = count ;
        }
}