Recent Feature Articles

Feb 2007

Hallway ERP

by in Feature Articles on

In the early 80s, the server room at MegaCorp (as we'll call them) was cutting edge. Humming along to A Flock of Seagulls and occasionally taking breaks to solve Rubik's cubes, the engineers installed servers, networking equipment, and a main air conditioning unit. Their infrastructure was among the best in the business.

Sadly, some 25 years later in 2005, the server room wasn't doing so great. Winston S. witnessed firsthand the first cracks as they began appearing (literally).


Impossible, Impractical, and Too Expensive

by in Feature Articles on

A. Thompson didn’t realize it at the time, but he had taken a job as a Third-Class Programmer. For those unfamiliar with this class, those in it are considered to be even lower than Contractors (i.e., the second-class). They have far less responsibilities, no latitude to make any decision at any level, and always get assigned the “dirty work.” In fact, some even consider it an act of charity to call these poor folks “programmers” at all.

A.’s new job was at a company I’ll call Herald Media Services. At the time, they were the largest (in fact, one of the only) suppliers of cable television listing data. Although Herald did all sorts of interesting things with this information, A’s department focused entirely on “new headend setup.” They didn’t do any of the fun stuff like configuring headend equipment; they simply had to generate a pipe-delimited information file containing locale-specific channel information. And as Third-Class Programmers, they had to generate this file by hand.


Announcement: Free Sticker Week!

by in Feature Articles on

The bad news is that, judging by recent comments, everyone has stopped reading since I changed our name to "Worse Than Failure." The good news is that I’m giving out free stickers to the dozen or so of you that decided to stick around! Simply be one of the first hundred to fill out this form and I'll mail you a sticker for free. Don’t worry if you miss today’s; I'll be giving out a hundred each day (UPDATE: Starting at Noon, EST) through Friday this week. Enjoy.

Well, that was fun! A lucky 668 of you managed to fill out the form and will be sent a free sticker. As for everyone else, you can still get one, you'll just have to cover the postage. Details Here.


Announcement: Website.RenameTo(“Worse Than Failure”)

by in Feature Articles on

Final Update: thankfully this is all nothing but an embarrassing memory.

As you can probably tell by now, The Daily WTF is now named Worse Than Failure. Don’t worry – nothing else is changing – it’s still the same ole’ WTF.


GRG and the Mystery of the High Test Scores

by in Feature Articles on

One thing I miss about working at a large organization is watching the blame game get played out. It always amazed me how much more effort went into explaining why a problem wasn’t someone’s fault (and most certainly not his responsibility to solve) than actually solving the problem itself. The larger the issue got and the more experienced players that got involved, the chance of actually solving the problem became nil.

At a certain government agency -- whom I'll call them the National Intelligence Bureau -- several different agents had been involved in a few “high profile” incidents of the international variety. This resulted in a public outcry and strict orders from the top to rectify the problem. As an IT contractor working for the NIB, G.R.G. had a chance to watch the whole thing play out from the inside.


Immaculate Backup

by in Feature Articles on

Murphy's Law 198§44: the more complete a backup/recovery solution becomes, the less likely it is to ever be used.

With nearly half a century of experience using computers to run their business, Chris M's company knew that law all too well. Ever since that fateful Wednesday -- still known throughout the company as The Crash of ‘68 -- they swore, Never Again. And forty years later, they’ve kept their promise.


Roll Your Own Clustered Index

by in Feature Articles on

It was a slow day for Levi C. His company had an excellent staff and meticulous development and testing procedures, so calls for maintenance were rare. He was beginning to feel like the Maytag repairman of maintenance programmers. Fortunately, he was delighted to get a call from one of his favorite clients.

"Hi Levi, if you have any spare time, could you check out this report that's running slow? It's for a system we had developed by another company. It's really no big deal, just if you have a second..." Bored and eager to help, he got all the information he could about the issue. He tried running the report for the previous month, and it was indeed running slow. He ran the report again for the past two months, and it timed out.


Bunker Buster

by in Feature Articles on

“Hope I’m not waking ya up, but we need a huge favor.” It was just past dawn on a Saturday morning, and Jack’s new boss was on the line. “We need you to replace some servers for the portal system.”

Earlier that week, Jack started working as a subcontractor to maintain and “fix up” a certain government agency’s web portal that was used by thousands of branch offices around the country. Jack’s boss, a tech-savvy businessman who had mostly setup the web portal by himself, was training users and demonstrating the product, and noticed they had a serious problem: their system was running ridiculously slow.


The Bank Has Spoken!

by in Feature Articles on

Ask any developer at a bank about their deployment process and you'll hear about User Acceptance Testing (UAT). Many of us have felt the sting of code changes working in one or two environments, only to fail when it finally hits QA. Maybe it's just me.

Our anonymous submitter (we'll call him "Steve") felt this sting, too. He'd carefully and methodically developed a module that worked beautifully in the bank's development and test environments, but failed UAT. Testers had discovered a bug in the module that they couldn't reproduce. The official description was that the module caused "weird things" to happen.


Cut, Paste, Destroy

by in Feature Articles on

We live in an advanced age of computing which gives us the convenience of cut, copy, and paste. I'm not being sarcastic; long gone are the days of copying and pasting working only within the scope of one application at a time, but now the sky is the limit! With great power, though, comes great responsibility.

T. B. was working on a system that was being gradually ported to .NET. A lot of progress had been made, but there were still some legacy components. By reading some of the old VB code, you could actually see the learning curve. Early modules had code comparable to crude cave paintings of stick figures throwing spears at boars, while more recently developed modules were more like slightly less crude cave paintings of stick figures throwing spears at boars.


A Case of the MUMPS

by in Feature Articles on

You may not realize it, but the majority of us developers have been living a sheltered professional life. Sure, we’ve got that living disaster of a C++ application and that ridiculous interface between PHP and COBOL written by the boss, but I can assure you, that all pales in comparison to what many, less fortunate programmers have to work with each day. These programmers remain mostly forgotten, toiling away at a dead-end career maintaining ancient information systems whose ridiculously shoddy architecture is surpassed only by the tools used to create it. Bryan H lived in such a world for over two years. Specifically, he worked at a “MUMPS shop.”

With no experience and a three-week old college diploma, Bryan was pretty happy to land his first programming job. He had never heard of the programming language that the company used, but he was assured that he’d receive plenty of training and should have trouble picking it up. And they weren’t joking about “plenty of training.” Bryan’s first three months were spent entirely in a classroom filled with other recent grads, all learning about what the next forty years of their lives had in store: MUMPS, MUMPS, more MUMPS, and, if they were extra lucky, a dash of Visual Basic.


Practice Makes Perfect

by in Feature Articles on

Most of us IT professionals have come to learn just how cautious one must be when upgrading third-party components. Some of us have learned the hard way, first proclaiming, pssh, big deal, it's just Service Pack 3; it couldn't possibly break our application, and then learning that, in fact, Service Pack 3 was a big deal and did break the application. Others are naturally cautious and try to make sure planning, testing, and all those other things are done prior to any upgrades.

Database upgrades can be especially risky. A new version means different query optimization, new language constructs, and, in Oracle's case, the introduction of VARCHAR3 and subsequent deprecation of VARCHAR2. This is why, when Kevin's company decided to upgrade their database from SQL Server 2000 to SQL Server 2005, they put him in charge of formulating a schedule for a six-to-twelve month upgrade plan.


The Accidental Hire

by in Feature Articles on

Doghouse Insurance (as we'll call them) was not a pleasant place to work. Despite being a very successful player in their industry, the atmosphere inside Doghouse was filled with a constant, frenzied panic. If Joe Developer didn't delay his upcoming vacation and put in those weekend hours, he might risk the timely delivery of his team's module, which might risk delaying the entire project, which might risk the company's earnings potential, which might risk the collapse of the global economy. And that's just for the Employee Password Change Webpage project; I can't even begin to fathom the overarching devastation that would ensue from a delayed critical project.

To make matters worse, the primary business application that poor souls like Vinny maintained was a complete nightmare. It was developed during the company's "database simplification" era and consisted of hundreds of different "virtual attribute tables" stuffed into four real tables; it was a classic case of The Inner-Platform Effect. But amidst all this gloom and despair was an upbeat fellow named Chris who accidentally became a part of the Doghouse Insurance team.


The Intentional Slowdown

by in Feature Articles on

Despite being a very successful product, the core application maintained by N. L.’s company was completely proprietary, and I mean proprietary. It used its own database; you know, kind of like a normal relational database. Its proprietary database had its own proprietary querying language; you know, kind of like SQL. The application had its own scripting language; you know, kind of like VB. Planning ahead to version 2.0’s big new proprietary features, the company was excited to learn about the possibility of creating a parallel universe so that the physics the company operated under, too, could be proprietary.

It was time for a change. The application was maintenance hell – not just because of confusing, undocumented code, but because finding, training, and keeping staff on was near impossible. The company decided that the application would be ported to .NET and SQL Server. The problem, of course, is that it wouldn’t have that home-built feel. No heart. Just another .NET app, built on standard practices and reliable technologies. No, they had to do something to make the application more unique.


O Draconian Devil! Oh, Lame Professor!

by in Feature Articles on

Most universities have it rough. If they’re not ivy league, they have a lot of work to do to impress visitors. Sure, Baron von Ivyleague, clad in a Mr. Peanut-esque monocle and tophat, can give students a ride in his flying yacht, but a tenured professor for Uncle Marty’s Community College has to make do with substantially fewer resources.

Your typical college is a sales atmosphere. Campus tours require the guide to embellish a relaxing pond (south-campus swamp area), beautiful performing arts center (cafeteria, chairs removed), and their recently-updated high-tech computing facility (small network of Pentium 200 MMX computers). All it takes, though, is one crazy tenured professor to ruin the sales pitch.


The Direct Approach

by in Feature Articles on

"Good morning," said Florian, an unshaven twentysomething in need of a haircut, as he approached the security desk outside of the hospital's datacenter. Sporting a tame metal T-shirt and bleached blue-jeans, he could have easily passed as a hippie. Or as a quintessential IT worker from the dot-com-era. The security guard looked up from his newspaper to see what Florian wanted: "I'm here to pick up the PRDSEC08 server."

The data center that Florian stood outside of housed all of the hospital's electronic records. We're talking employee data, payroll data, operations data, and most importantly, patient data. Ever since the passage of that ominous body of patient privacy regulation known as HIPAA, hospitals have been extra careful to ensure that patient records are physically and electronically secure. While the hospital that Florian was at did not create an impregnable fortress accessible only through a series of twenty-ton blast doors, they were very serious about data center security: hardened steel locks, security cameras, card readers, and round-the-clock security personnel monitoring the area.


A Fleet of Temps

by in Feature Articles on

Ahh, print publications. Remember those? You'd go to the store, open a magazine, await the avalanche of cards that would fall out, fish one card out of the pile, fill it out, send it in, then camp out by the mailbox awaiting your first issue. Jim T participated in an internship on the IT staff for a popular magazine in Chicago. I know what you're thinking, but no, it's not a nature magazine, though bunnies are involved. Subtlety!

Anyhow, he was tasked with interfacing his magazine's site with a fulfillment house's site, allowing people to subscribe online. Everything was in place, so it couldn't be simpler.