Recent Articles

Jun 2008

Silent But Deadly

by in Best of the Sidebar on

From René V...

“Recently, a customer came in who was apparently just as overheated as his computer. When we cracked it open, it was pretty evident that it had something to do with his “quieting modifications. We now recommend better, quieter components.


Rigid XML Parsing

by in CodeSOD on

Sure, we've chronicled horrible methods of storing data in XML, but what about when you want to retrieve said data? If you're into .NET, you're probably thinking of something in the System.Xml namespace. If you're a Ruby developer, you're probably thinking of REXML. If you're using PHP, the XML Parser extension. If you're a COBOL programmer, then you're probably praying for death.

Well, if you consider yourself a senior-level XML developer, here's a new technique you can add to your repertoire, courtesy of Paul. Here's an example of a technique dubbed Case-Sensitive Replacement-Based Element Parsing, suitable for all* of your XML documents!


DR on a (near) daily basis

by in Best of the Sidebar on

Originally posted to the Sidebar by "jetcitywoman"...

"A Bit More Dire" started me reminiscing about the dispatch center where I used to work. I LOVED working there and hated to leave. It was a consolidated county 911 dispatch center, where consolidated means that they had all the dispatchers for the county and every city — fire and police — together in one room. Working off one system. They were busy, one police dispatcher for the largest city typically worked/monitored abour 30 units (cops) at a time during the afternoons. It was hectic, dynamic, and doing the computer support for them was terrible at the time, but after I'd left I really missed it. Here are the highlights.


This Application Sucks

by in CodeSOD on

When Michelle M. started her new job, she feared the worst, but hoped for the best. She'd be maintaing an app that had been around since the 1980s and made an impressive tour of technologies — from Clipper to VB to VB.NET and finally to C#. So I guess she didn't so much fear the worst as expect the worst.

That faint little ray of hope she had that the code wouldn't be so bad was shattered when she met the senior developer. The first thing he said to her was "the application sucks." Michelle smiled slightly, unsure if he was kidding (he wasn't). "I mean it really sucks," he reiterated.


The Detention Wizard

by in Feature Articles on

Thanks to a generous anonymous donation, Hudson High (as we'll call it) was finally able to trebuchet themselves into the 21st century. In addition to buying new computers for the teachers and staff, they found a contractor that would build them the ultimate system to maintain every function in the school, top to bottom. After a few months the system was built and deployed.

As one of the school's sysadmins, part of Jason L.'s job was to support the software. And it didn't take long for his eagerness to learn the software to turn into confusion, and it didn't take long after that for his confusion to turn into horror.


2.2: The Offshore Coordinator

by in Mandatory Fun Day on


Lyle Can Do Anything Better Than You

by in Feature Articles on

Lyle was displeased. Despite all he had going for him — being the most handsome guy in the office, the smartest guy on the team, having the best all-terrain tires throughout the whole department, and trouncing the competition in a recent laser tag game, his team didn't seem to work well together.

Clearly, Lyle wasn't the problem. He was the best manager, the best leader, hell, the best human being there had ever been. And it was up to him to make his team happy. The laser tag game could have been a good first step if James W. hadn't ruined everything by exposing Lyle as a cheater. To his team's delight, Lyle sent out an email that he'd be at the regional office for a few days on management training. Lyle must have been doing something right, because as soon as he left the office got more productive.


It Happens

by in Error'd on

To think, if Ash had spent infinity hours playing the original EverQuest instead of Warcraft, Ash would be close to level 25 by now.


(submitted by Jason M.)


The Stalled Server Room

by in Feature Articles on

A few months back, Jen Frickell's company was given some bad news. When their lease ended, they'd have to move out of their second-floor suite. The good news, however, was that a suite would be available on the first floor. All they'd need to do was pack up and move downstairs.

It was a fairly reasonable request, so the company's executives signed a new lease and prepared to move. There was, however, just one, small hitch. The nice little server room they built in the back of their office - equipped with air conditioning units, ventilation, dedicated power, backup power, and so on - could not be relocated. Not only would it cost too much, but there was simply no room for it. The server room would just have to remain upstairs.


2.1: Ahoy!

by in Mandatory Fun Day on


The Exemption Pass

by in Best of the Sidebar on

Originally posted to the sidebar by "compaqdrew"...

At my old public high school, the District (maybe even the State) mandated that every class must have a final exam, and it must account for 20% of the student's grade. Of course, this fails to explain how it is even possible to give a final in, say, Vocal Music. The teachers hated it and even the principal sympathized, and thus was born the Exemption System.


Announcement: Alex Sells Out!

by in Feature Articles on

As you may have noticed, there are now advertisements on The Daily WTF. Well, technically, I've been running ads here since October of 2004… but I just realized that I never bothered announcing it. So, there you have it dear readers: I have officially sold out.

Normally, the Sell Out announcement goes something like this. I really hate ads. I know you do, too. But my blog takes soooo much time and cost sooo much money, I have no choice but to put up ads. Besides, everyone else is doing it. So technically, it’s them selling out, not me. Please don’t hate me.


A Dubious Honor

by in CodeSOD on

"At my workplace, we have a wiki for the 'WLC' — the Worst Line Competition," Kirk writes. "We post lines of code that the lead developers have decided were good additions to the applications that we port. Here is one of the better ones:"

patno -= ((((((((((((((((40+1)+1)+1)+1)+1)+1)+1)+1)+1)+1)+10)+1)+('Z'-'A'))+1)+1)+1);

Application Lifecycle Mismanagement

by in Feature Articles on

If there's one thing that the new development manager has, it's tenacity. Joshua has been maintaining his company's overly complex software for a while now, and found Dave's eagerness and dedication to learn admirable.

Dave's training was fast and brutal. On his first day he was thrust into a task that only the QA lead had done before — deploying the latest software to the build server. He had to learn it, as he'd function as the backup when the QA lead was out (and, coincidentally, he was out on Dave's first day).


Are You Cool, Man? and More

by in Tales from the Interview on

Are You Cool, Man? (from Scott)
The interview I was conducting was going great — the candidate answered technical questions well and was honest when he didn't know the answer. I'd decided that he would make the short list for an offer and began wrapping up the interview.

"So, do you have any questions about the company, or about the job as a Senior Linux Sysadmin?" I asked.


It Gets Worse Each Year

by in CodeSOD on

"A while back," Steven Victor wrote, "I was asked to look at an issue where numerical data 'kept getting more and more inaccurate' in newer versions of a software product."

"After some searching, I came across some code that converted an integer into a string representation of the value. It used the common "itoa" function, and since it was pretty run-of-the mill data meant to be interpreted by humans, the string was supposed to a base-ten representation.


The Source Control Shingle

by in Feature Articles on

The year was 1999 and the dot-com boom was going full-throttle. Companies everywhere were focused on building revolutionary applications using nothing but top-shelf hardware and state-of-the-art software tools. Developers everywhere were trying to figure out if they should play more foosball, more air hockey, or sit back down on their Aeron and write more code. Everywhere, that is, except Boise, Idaho. Or at least, Dave's small corner of it.

At Dave's company, developers worked at a solid pace, using reliable tools, for a stable industry. They were sub-sub-contractors on a giant project commissioned by the U.S. Navy to condense naval vessel documentation. Generally speaking, the complete documentation required for a modern warship-from the GPS calibration instructions to the giant 130-millimeter cannon repair guide-is measured in tons. By condensing the documentation into the electronic equivalent, they could not only save tremendous physical space, but they could make it much easier to navigate.


Early Bird Upcharge

by in Error'd on

A. T. registered early, saving a cool -$1,500.00.


The Quake Server

by in Best of the Sidebar on

Originally posted by "Da' Man"...

It was in the good ol' days of the dot.com era. I worked as a web programmer for this really sleek web and design agency — that is, not much pay, but lots of great parties. Cool chicks, too... well, not too bad altogether, at least in my memory.


Survival Edition

by in Souvenir Potpourri on

Ever since the first Free Sticker Week ended back in February '07, I've been sending out WTF Stickers to anyone that mailed me a SASE or a small Souvenir. Nothing specific, per the instructions page, "anything will do." Well, here goes anything, yet again! (previous: Random Assortment Transfer).


After reading about the dire lunch situation here at Inedo, Markus Holzer (Germany) sent the Best Souvenir Ever: a lunch survival kit from Germany.


Firefox Deletes Printers, and More Support Stories

by in Feature Articles on

Firefox Deletes Printers! from Arthur

Back when I did tech support, one of my customers was a master of BSing. Well, more an apprentice — he has all the words down, but couldn't quite string them together into anything coherent. He's told me to "double delete the TCP stack" more than once. Also, he claims to program operating systems in his spare time and to be one of the inventors of the internet. Something about his support calls leads me to believe he may be exaggerating...


Perfectly Adequate Productivity

by in Feature Articles on

Allen F occasionally feels out of place. As a software developer in a large, scientific research lab, he's one of the few people not running around in a lab coat, mumbling about things like how to stabilize the latest batch of tretonin, or how only an idiot would name it isoprovalyn instead of hydrozapam. In fact, Allen doesn't even get to wear a lab coat.

Despite not being one of the PhD'd researchers, Allen's work is pretty important. He's the one that develops simulation programs that the biologists and chemists use to save countless weeks of research time. Of course, just as Allen is unsure of exactly how the researches use the data his programs generate, the researchers really have no idea what it takes to write the programs.


Please Pay $0.00

by in Error'd on

Terry Solid writes, "I tried to do a direct debit in the amount of $0.00, but the eBay system told me I was an idiot and had to deposit a minimum of $1.00. To add insult to injury, it took a full twenty-five minutes of explanation before the eBay rep realized that there was, in fact, no way for one to transfer $0.00 to unhold my account


A Bit More Dire

by in Feature Articles on

As a junior-level sysadmin at his university, Alcari had gotten used to frantic, middle-of-the-night support calls. Whether it was a mail proxy server freezing up, a replication process getting out of sync, or some application deadlocking, Alcari's solution was almost always the same: reboot the problem server. On a recent 4:00AM emergency call, however, the situation was a bit more dire.

"Ummm," the student working the graveyard shift at the helpdesk started, "I think the network is down. I'm getting calls from everyone, everywhere. Can you, like, check into this. Now?"


HTTP 414: Way Too F#%&ing Long

by in Representative Line on

Most of us web developers will never encounter an HTTP 414 Error. According to the W3C, 414 means:

Request-URI Too Long - The server is refusing to service the request because the Request-URI is longer than the server is willing to interpret. This rare condition is only likely to occur when a client has improperly converted a POST request to a GET request with long query information, when the client has descended into a URI "black hole" of redirection (e.g., a redirected URI prefix that points to a suffix of itself), or when the server is under attack by a client attempting to exploit security holes present in some servers using fixed-length buffers for reading or manipulating the Request-URI.


Do You Believe In Magic... Online

by in Feature Articles on

Originally posted in the Sidebar, "AlpineR" shares this interesting story about Wizards of the Coast's Magic Online 3.0...

You may have heard of a collectible card game called Magic: The Gathering.  It's sold in packs of 15 cards for $4.  Each card represents a creature, artifact, magic spell, or resource.  You choose sixty cards from your collection to build a deck and duel with another player, drawing from your deck to summon creatures and attack your opponent.


Announcement: Get the Mug

by in Feature Articles on

Good news, everyone. The official The Daily WTF mugs have finally arrived! Well, technically, the mugs have been sitting here in my office for months, but the intern who will mail them out has finally arrived! Either way, now's the time to get your own.


IBM Survivor, The High Road, & Find the Function!

by in Tales from the Interview on

IBM Survivor (from Reid Maynard)
In the middle of the dot-com bust, I interviewed at IBM for a contract position. I can't remember exactly what the position was, but I'll never forget the interview.

My first clue that the interview was a bit different the fact that another candidate was waiting in the lobby, and was scheduled for an interview at the same time I was.


wtflib.php

by in CodeSOD on

"While updating on some delightfully unorganized PHP code (no indentation at all, split over hundreds of randomly named files, many included dozens of times), I kept running across comparisons such as:

if (MatchField($login->Value("admin"), "==", "1")) {

Do Not Fold, Spindle, or Mutilate… or Duplicate

by in Feature Articles on

By the 1970's, computers were practically everywhere. They starred on TV, were the brains behind Cold War Doomsday devices, and had even reached “cliché” status in many science fiction circles. Of course, being that they cost upwards of $1,000 – per hour – the computers themselves weren’t everywhere, only their ominous presence. And nothing said “welcome to the computer era” quite like the ubiquitous punch card.

Although punch cards had been used since the 1890’s to store and tabulate data, the 1960’s brought a new, creative use of the medium. The punch card itself – as in, its physical form and its transference from one person to another – became an integral part of the information system process. Since each card could store 80 bytes of data, and writing that data required nothing more than a simple punch machine, “computerized data” could originate anywhere and transfer to whomever, all without the need for an expensive computer.


On a Scale of 1052 to 1057

by in Error'd on

Nick L. was impressed by DO NOT USE's firey, inspired performance in 2 Fast 2 Furious...


Deploy! Deploy! Deploy!

by in Feature Articles on

It was the calm before the storm. Brokers were sitting at their desks in silence, watching the clock. The market was going to open in minutes, and huge volume orders would start pouring in. The developers working for the firm – a mid-size proprietary trading outfit on Wall Street – were already busy; an order from the previous day should’ve expired automatically, but didn’t. It was manually fixed moments after it was discovered.

“Huh,” Daniil shrugged, “I wonder if this has anything to do with the latest release.” They’d just rolled out a minor update to their proprietary trading system. Daniil had overheard his boss barking at a junior developer that they needed the feature in two days – testing, review, standard processes be damned. “Done” had a higher priority than “working.” Any objections raised by the developers were met with the same reaction you’d get from a dog after explaining the Pythagorean Theorem – blank, drooling faces.


There Will Be Some Benefit

by in Best of the Sidebar on

Originally posted to the Sidebar by "ServZero"...

I do a bunch of contract web-development and received this lead in my inbox this morning: 


More Randomer

by in CodeSOD on

John B. saw some strange code that prompted him to investigate.

Dim rNumber As Integer = 0
rNumber = RandomNumber(13, 1)
Select Case rNumber
Case 0
Me.hl_logo.ImageUrl = "~/sysimages/header.jpg"
Case 1
Me.hl_logo.ImageUrl = "~/sysimages/header2.jpg"
Case 2
Me.hl_logo.ImageUrl = "~/sysimages/header.jpg"
Case 3
Me.hl_logo.ImageUrl = "~/sysimages/header.jpg"
Case 4
Me.hl_logo.ImageUrl = "~/sysimages/header2.jpg"
Case 5
Me.hl_logo.ImageUrl = "~/sysimages/header2.jpg"
Case 6
Me.hl_logo.ImageUrl = "~/sysimages/header.jpg"
Case 7
Me.hl_logo.ImageUrl = "~/sysimages/header.jpg"
Case 8
Me.hl_logo.ImageUrl = "~/sysimages/header2.jpg"
Case 9
Me.hl_logo.ImageUrl = "~/sysimages/header2.jpg"
Case 10
Me.hl_logo.ImageUrl = "~/sysimages/header.jpg"
Case 11
Me.hl_logo.ImageUrl = "~/sysimages/header2.jpg"
Case 12
Me.hl_logo.ImageUrl = "~/sysimages/header.jpg"
Case Else
Me.hl_logo.ImageUrl = "~/sysimages/header2.jpg"
End Select