Recent Feature Articles

May 2007

Classic WTF: Integration Nation

by in Feature Articles on

Integration Nation was originally published on August 24, 2005.


Dylan Tusler's official job title is Integration Analyst, so he was not surprised to be called in to look at the setup for one of their major new corporate applications. He had held hopes that this new application would herald a new age in integration at their organization. The vendors (Intertrode and Initech) promised that they would be implementing a fabulous new Enterprise Nervous System in order to support their new Service Oriented Architecture (and I'm sure what ever else is "in" these days).


Announcement: The Finalists Have Been Selected

by in Feature Articles on

Last month, I announced The Olympiad of Misguided Geeks at Worse Than Failure Programming Contest and challenged you to solve a simple problem (build a four-function calculator) using the most obscenely convoluted way imaginable.

In the three weeks that followed, readers submitted all sorts of incredibly creative calculators. In the three weeks that followed that, we went through all 350+ entries. Each entry was individually configured, compiled, and tested (thanks Intern Boyd!). Afterwards, Jake, Intern Boyd, and I sat around the conference table for nearly three full days while we ran each valid calculator on the projector, reviewed the code, and tried to narrow down the entries to five finalists. We did not succeed: there was simply no way to narrow it down to five finalists.


Lost in the Jungle

by in Feature Articles on

For me, a trip to the company's server room was exciting. The cold air, the hum of the servers, and the rows of servers with fun blinking lights would make me feel like I was Harrison Ford in Firewall, ready to download confidential data on a MacGuyver-ified iPod. The sad reality, though, was that trips to the server room generally meant I needed one of the administrator's signatures on some stupid paperwork.

John Smith (which I think is his real name) was luckier than me. His duties often required him to be in the server room, though he didn't go into detail about his daily responsibilities in his submission. He was probably in charge of keeping Harrison Ford and iPods out of the server room.


One-and-a-Half-Tiered Application Design

by in Feature Articles on

There are several types of bad code; there's lazy code, frantic code, unaware-of-a-better-way code, and aware-of-a-better-way-but-too-apathetic-to-do-it code, to name a few. Then there're amalgamations of different types of bad code.

Môshe encountered such an amalgam when his company was trying out a new delivery service. Môshe spent some time evaluating the IE-only web interface, and was curious about some JavaScript errors he was getting. Strangely, he noticed variables named dateSQL, newSQLTag, and modeSQL.


Playground Fun

by in Feature Articles on

Although today was technically supposed to be only Classics, I couldn't resist not sharing this fun submission from Kevin Cazabon

"Having moved overseas to Belgium a few years ago, from time to time I'm reminded that good, effective icon design is an artform best left to the true professionals. This is especially true when you consider that your software may be used across the world, and what may seem like common sense to you may befuddle a Belgian... or the other way around.


Unconfigurables Configurables

by in Feature Articles on

Bill S wrote in to share some code from an ancient billing system still in use to this very day...

My first assignment was to make the billing system’s code Y2K compliant. Fortunately, management had given us ample time to prepare: two full months.


RTFM on BCC

by in Feature Articles on

It's inappropriate and immature to make fun of old people struggling with technology, which is why I won't do so here. However, old people are often forced into stumbling adorably through totally foreign (to them) technology, which is what I want to discuss today.

Victor started his IT career years ago at his university, helping a neuroscience professor keep after his lab. His work involved mundane tasks, like taking care of a small LAN, tracking down experiment results, and preparing graphs and such. At the time, his professor was 84 years young.


The Indexer

by in Feature Articles on

A few kilometers left on Ruta Nacional 128, a brief stop at a control policial, a short trip down the unpaved Calle 33, and just like that, Sergio was at his destination. It was a top-secret Argentinean Government Facility.

Now, before you get all excited, let me say that this was not the fun type of Top Secret. There were no alien spaceships, super weapons, or mind control devices. No, there were just maps. Lots and lots and lots of maps. Sergio’s job was to help digitize them.


slammer.SCR

by in Feature Articles on

You may remember Tim from the sad tale of Hung, The Incidental Expert. Today, he brings us a story of the "Not Invented Here" philosophy and its ramifications.

In 1996 preperations were underway for the Olympics in Atlanta. And despite plans for Celine Dion to open the ceromony with "The Power of the Dream," people still managed to be excited. America was proud, and many profoundly American companies (e.g. those that sell apple pie, SUVs, beer, or guns) were happy to sponsor the games.


Configuration Disfiguration

by in Feature Articles on

In .NET, there are generally two types of information in config files: application-specific and environment-specific. The problem with this setup, though, is managing changes to configuration parameters; it's up to the developer to remember to update config files for each environment.

Fortunately, parameters can be easily overridden using the configSource element in web.config, eliminating the need to manually change files for each deployment, not to mention reducing the risk of having to recreate a config file after accidentally overwriting one. Of course, we're talking about software development here, where the simplest solution is often ignored.


L.T.'s Bonus

by in Feature Articles on

Being that Worse Than Failure is a web site, just about every story submission we receive comes in through the vast series of tubes known as the “Internet.” Sure, every once in a while the tubes get clogged up with material and cause all sorts of delays, but for the most part the “Internet” is more reliable, much faster, and a lot cheaper than the alternative: the postal system. But I will say that it’s certainly not as fun, as this very first Snail Mail submission from L.T. shows…


Job Interview 2.0: Now With Riddles!

by in Feature Articles on

Some years ago, someone at Microsoft noticed that they were having a bit of a Resources problem. A Human Resources problem to be specific. There were a whole lot of job openings (thousands, in fact) and a whole lot of applications (hundreds of thousands, in fact), and no easy way to match the right applicants with the right jobs. So they decided to reinvent the Job Interview.

Traditionally, job interviews are used to ascertain two things: how competent the candidate is and how well his personality (or lack thereof) will fit in with the organization. With their introduction of Job Interview 2.0, Microsoft included both of those features and added one additional: how the candidate responds when presented with asinine, utterly pointless, and completely ridiculous brainteaser questions.


Reggie X. Preston

by in Feature Articles on

At the time, it seemed like a good idea. When a fatal error would occur in a batch program, a message would be sent to the operator’s console that notified him of the error and prompted him to terminate the program. From there, the operator would call the program’s support contact (generally a programmer) and ask him what to do. Management figured that someone with some knowledge of the program should be the one that decides, not just some operator.

Of course, as the years passed by, management learned three things about this policy. First, the support contact’s answer was always “it’s a fatal error! What can I possibly do from home at 2:00 AM? Just terminate it!” Second, after years and years of developing batch programs for internal clients, there were a whole lot of batch programs (about 20,000 in all) and a whole lot of programmers that were called in the middle of the night. And third, because the operator notification would block until an answer was received, subsequent programs would be delayed while the operator tried to get a hold of the responsible programmer, who would occasionally disconnect his phone at night to avoid the inevitable call. Obviously, something had to be done.


Classics Week: A Case of the MUMPS

by in Feature Articles on

A Case of the MUMPS was originally published February 13, 2007. And yes, MUMPS (or M (or Cache)) is still alive and kicking... and just might be lurking as the "database" at your next job in the healthcare industry...


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.”


Classics Week: Hacking Made Easy

by in Feature Articles on

Hacking Made Easy was originally published on March 01, 2007.


Hopefully after getting out of college, most of us have matured past drawing dude parts on passed-out roommates. Now, I don't mean to imply that I've matured beyond that point, just that I hope you have.


Classics Week: The Contractor's Note

by in Feature Articles on

The Contractor's Note was originally published on January 29, 2007.


The easiest and most popular place for Incompetents to hide is within the ranks of professional contractors. It's an easy job. Generally, the first few weeks are slow; everyone is so busy (hence the need for a contractor in the first place) that they have no time to train someone new. The next few weeks are equally slow, as only small and easy-to-understand tasks are dolled out. By the time anyone discovers the gross incompetence (if it's discovered at all), there's only a week or two left in the contract and they just let slide. And then The Incompetent moves on to his next contact.


Announcement: WTF in Russian!

by in Feature Articles on

I am very excited to announce the launch of Worse Than Failure: Russian Edition at ru.WorseThanFailure.com.

The Russian Edition is headed up by Evgeniy Vigovskiy, a systems administrator over at the Russian Federal Tax Service in Moscow. Evgeniy will periodically publish translated articles and original content on the site. The RSS feed is located here: http://syndication.thedailywtf.com/WTF/RU.


Classics Week: Immaculate Backup

by in Feature Articles on

Immaculate Backup was originally published on February 21, 2007.


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


Classics Week: The Call of Codethulhu

by in Feature Articles on

What better way to start Classic Week then how we ended 2006? Originally published on Wednesday, December 20, 2006, The Call of Codethulhu is a personal favorite of mine, especially with the illustration from George E. McDougall. And speaking of that, expect to see more of George's work here soon ...


It seemed like any other job: "Java/J2EE contractors needed for a one-to-three month contract to maintain proprietary supply-chain management software." Sure, James C could have waited around to find something more interesting, but the pay was fantastic and, being such a short term contract, he figured he had little to lose. That is, until he came face to face with Codethulhu.


Corporate E-mail on the Road, 1990's Style

by in Feature Articles on

First and foremost, I wanted to remind everyone about the first-ever Olympiad of Misguided Geeks at Worse Than Failure (or OMGWTF for short) Programming Contest. The entries have been streaming in and are looking really fun and interesting. There’s plenty of time left to get started, so go hack up something and submit your own entry! Who knows, you might very well win the Grand Prize of a High-Resolution JPEG of an OMGWTF First Prize Trophy and a brand-new laptop to view your highly-valuable JPEG.

So, without any further ado, here is Corporate E-mail on the Road, 1990's Style, the story of Owen Morgan’s very first professional programming experience...


The Loony BIN

by in Feature Articles on

Call me a Skeptical Sally (actually, don't), but whenever I hear someone complaining of random file corruption, I don't really believe them. Of course, it's a wonderful excuse if you don't know why your code doesn't work or you just slacked off and didn't get some Word document done; maybe you've even used it a few times. Still, that doesn't change the fact that random file corruption rarely never happens.

File corruption that results from inexperience (or poor training) is the real danger. Today's story comes to us anonymously, and is about an IT guy that we'll call Ness. Ness got a call from a client, who was justifiably concerned about some major problems they were experiencing with their production database. Ness did some digging and found that the database was so corrupt that the only option he could think of was restoring from the most recent backup.