Recent Articles

Apr 2008

The Super Hacker

by in Feature Articles on

As a junior network administrator at a small local ISP, Kiefer R.'s job is pretty mundane. Aside from the occasional bandwidth problem investigating, cable laying, and spline reticulating, there's not too much excitement.

One morning, Kiefer's boss said he was going to come down for a chat, so Kiefer loaded up a bandwidth monitoring utility and pretended to be busy. "Kiefer," Mike began, "I just wanted to give you a heads up. We're having a guy come down next week to run some security checks on our systems here. Particularly our main web server."


Oh, XML

by in CodeSOD on

"Having worked in the Computer industry for about twenty years now," Matt writes, "I rarely get the chance to actually write code. But I do get the joy of other people's problems landing at my feet when things go wrong."

"Not too long ago, one of our newer techies emailed me, complaining that he couldn't get load image data from a WebService created by another developer. Given that all of the XML serialization and deserialization is handed through our enterprisey library, it was only when I visted the WebService address in my browser that I was able to see the 'raw' data:


Up or Out: Solving the IT Turnover Crisis

by in Alex's Soapbox on

If you’ve worked at enough companies in the IT industry, you’ve probably noticed that the most talented software developers tend to not stick around at one place for too long. The least talented folks, on the other hand, entrench themselves deep within the organization, often building beachheads of bad code that no sane developer would dare go near, all the while ensuring their own job security and screwing up just enough times not to get fired.

Earlier this month, Bruce F. Webster aptly named this phenomenon the Dead Sea Effect. Today, I’ll discuss a solution to overcoming it. In short: embrace turnover, encourage separation, and don’t even think about saying “careers, not jobs.” Oh yes, it’s Employment 2.0.


Know your Audience

by in Error'd on

Whereas most ads for search engines list something boring like "hotels" or "pet grooming" as an example, Live Search knows what the average internet user actually searches for.


(submitted by Rob G.)


Best f**king censorship ever

by in Best of the Sidebar on

Originally posted by "rc_pinchey"...

A friend of mine recently started a new job, and we were having a conversation via email. Unexpectedly, she tells me that my latest email has been blocked by their automated filtering system — instead of receiving my email, she was sent this:


The Nightly Session Drop

by in Representative Line on

“Shortly after joining my new company,” writes Rajesh Subramanian, “they introduced me to The Monster: a massive, incomplete framework written in C++. Its documentation consisted of a few sparse, often contradictory comments. It was designed to be multithreaded, but always crashed with more than one thread. It was expected to run on different operating systems, but never quite made it past Windows 2000 SP3. And naturally, it’s filled with friendly variable names like s, t, pp1, pp2, and so on.”

“One of my first tasks – an ‘easy one’ – was to fix The Nightly Session Drop. For as long as anyone could remember, The Monster would disconnect at exactly midnight and reconnect a moment later. This would occasionally lead to ‘really bad things’ that could take all day to fix. So, after a half day of diving head first into The Monster, I found this line of code complete with comment…”


Random Assortment Transfer

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! (first one here, second one here)


Tuuli Mustasydan (Edmonton, CA) finally figured out something to do with his random assortment of souvenirs from around the world.


The Mother of all Interfaces

by in Feature Articles on

Back in the early 1990's, G.R.G. worked at a certain university as a programmer. In addition to breaking into server rooms and deafening cute little chinchillas, G.R.G. built one of the university's first web applications. It was a fairly simple CGI program that provided web-access to the student registration known as Old Yeller.

Even in those days, the university’s student registration system was considered to be ancient. Running on an System/370 that had long since seen its day, Old Yeller was based off of an off-the-shelf system and customized over the years with various COBOL and Assembler patches. Though it wasn't too pretty, Old Yeller reliably handled 85,000 registrations each semester and brought in about $400 Million a year. And all in less than a megabyte of RAM.


Thank you, Javascript

by in Best of the Sidebar on

Originally posted by "Charles Capps"...

I was having a very, very difficult afternoon. After over a year of pondering, we finally had an excuse to wedge a date widget into our web-based intranet app. Unfortunately, the Javascript library that we chose doesn't exactly have a plethora of widget options unless you're also using the underlying platform the library likes. Yes, I'm talking to you, Prototype. Stop that, it's annoying.


Halfway in the Digital Age

by in Feature Articles on

Bug tracking software? Who needs it! I was confident in my ability to maintain several Outlook folders of bug reports, flagging completed ones 'orange' — or was it 'green' that meant done? No, wait, I think it was purple. My system was perfect. Then Alex came along and ruined it all. I can't pinpoint exactly when I started regularly using the bug tracking software that he liked, but it may've had something to do with being held at gunpoint. You probably thought Alex was kidding in that article. "You don't have a choice in this. Use the software," Alex suggested. After the threat encounter training session with Alex, I called my loved ones, then started copying the unresolved bugs (yellow flags) from my Outlook manual bug tracking system. Wait, crap, blue flags.

I guess what I'm trying to say is that change — such as introducing a bug tracking system — is gradual. Byron's team had reluctantly installed and began using Bugzilla, which ironically appeared to be full of bugs. His team would report updating and resolving issues, but these updates were not appearing in the system.


Immature CAPTCHA

by in Error'd on

Real mature. What hilarious and edgy word will it pick next? BOOB? FART?


(submitted by Johan)


How Can You Expect This?!

by in Tales from the Interview on

How Can You Expect This?! (from K.D.)

I was interviewing candidates for a Unix system administrator position. One of the "broad" questions I tended to ask was purely intended to get insight into the candidate's problem-solving abilities, but also a way to see what tools and techniques they might suggest (rather than the old "here's a list of tools, have you ever used them?" type of questions, since invariably every candidate would insist they had used them all).


Seven Twisty Little Code Files, All Alike

by in CodeSOD on

"I started working at my company about four years ago," Craig F. writes. "When I started here there were a number of applications developed and floating around for use by the staff, all written by a contractor whom I've never met, but whose name I curse regularly.

"Over the years I've re-written a number of the smaller applications he wrote. Usually because the users wanted new functionality, and I didn't want to (or couldn't) delve into the classic ASP code that they were made of. There is one application, however, that continues to haunt me.


I'll be back...

by in Best of the Sidebar on

Originally posted by "JukeboxJim" ...

Deep within the bowls of a large financial institution lurks a monstrous system that was originally written by a single, Highly Paid Consultant. Today, there is a dedicated army of Oompa Loompas needed to support this system. Innocent souls must be routinely sacrificed into the meat grinder to keep the beast operating.


A Numbers Game

by in Error'd on

L Young writes, "I'm pretty sure that there isn't a number that falls between this range..."


The Stored Procedure Solution

by in CodeSOD on

Things started simply enough. In the first version of the now years-old ColdFusion application that Lindsay L maintains, all database queries were hard-coded.

<cfquery name="get_products" ds="#datasource#>
    select * from products where customer_id=#customer_id#
</cfquery>

The Defect Black Market

by in Feature Articles on

When Damon's coworker stopped by his cubicle for a chat, Damon wondered if they should have met in a dark alley somewhere. Damon, a developer, and his coworker in quality assurance were meeting to trade bugs on the newly created Defect Black Market.

It all started a week before, when the CTO of Damon's midsize warehousing and transportation company in Northern California announced an innovative program to motivate employees and boost the quality of their logistics software. For every bug found by a tester and fixed by a programmer, both would get $10.

Bonus Plan in Operation


Ummm.. 2V3Xg9MPr0Q?

by in Error'd on

Brad P had a difficult time solving this limo company's (UPDATE: now fixed) CAPTCHA. I wonder if they've ever considered why no one is emailing them...


Toppling the Stack

by in Feature Articles on

When programmers disagree, generally one of two things happens. One, they talk it over like mature adults and agree on a solution that works for everybody. Two, they have a swearing match that ends on an angry compromise, then the programmers go off and do their own thing anyway and blame the whole mess on a "miscommunication."

Guess which path was taken by Skip S.'s predecessors.


Deep Copy

by in Representative Line on

A little more than a year ago, Nathan T's company decided to outsource a large portion of certain project to a certain country many thousands of miles away. "Even if the code quality isn't as good," one manager would often say, "we'll just pay them to rewrite it and rewrite it again. It'll still be less expensive."

Extended that logic even further, management decided to not only outsource overseas, but outsource to the cheapest overseas firm they could find. Eventually, they'd end up with solid code, right?


Oklahoma Leaks Tens of Thousands of Social Security Numbers, Other Sensitive Data

by in Feature Articles on

One of the cardinal rules of computer programming is to never trust your input. This holds especially true when your input comes from users, and even more so when it comes from the anonymous, general public. Apparently, the developers at Oklahoma’s Department of Corrections slept through that day in computer science class, and even managed to skip all of Common Sense 101. You see, not only did they trust anonymous user input on their public-facing website, but they blindly executed it and displayed whatever came back.

The result of this negligently bad coding has some rather serious consequences: the names, addresses, and social security numbers of tens of thousands of Oklahoma residents were made available to the general public for a period of at least three years. Up until yesterday, April 13 2008, anyone with a web browser and the knowledge from Chapter One of SQL For Dummies could have easily accessed – and possibly, changed – any data within the DOC’s databases. It took me all of a minute to figure out how to download 10,597 records – SSNs and all – from their website:


Waiting by the Mailbox

by in Error'd on

Andrea is never going to get her refund...


A Clean Install

by in Best of the Sidebar on

Originally posted by "Dirk"...

A friend of mine recently bought a product called PrintMaster. He had some trouble installing the software and called me up for some tech support. He was receiving an Error 1305, for which a quick Google search lead me towards the following:


They're Useful... In General

by in CodeSOD on

"I've lost the will to live," Reacher writes, "or at the very least, debug my coworker's code."

"Whenever this coworker works on a new project, he always insists upon adding in Utils.cs. It's a collection of static methods that he's been building up since a CS class at university, and contains all sorts of useful helpers like this...


Announcement: Content Survey Results

by in Feature Articles on

Thank you all for participating in last week's survey! I crunched the numbers and read through the 150+ printed pages of comments, and learned some pretty neat things along the way:

  • Quite a number of readers missed the invisible <AprilFools> tag, and hate the new4 name The Daily WTH.
  • Not too many paid attention to the distinction between features (like Code SOD, Error'd, etc).
  • The non-coders usually don't understand the code snippets, and they're OK with that. Some would prefer an explanation in the comments, though.
  • The general consesus for the comic (MFD) was that, while the idea of having a comic here is good, MFD isn't quite "there" yet. It does show some potential, but in the mean time, the reader-submitted comics are "where it's at." There was also a lot of very helpful constructive critisism.
  • Despite hating the content here, and especially disliking me, some of you still visit on regular basis and actually take the time to leave survey comments. I'm flattered. Especially by you, Survey Taker #2883:
    • Alex, please stop trying to be funny. You are completely devoid of any sort of sense of humour and impervious to being told this. Your idea of an April Fool's joke was to pretend to rename the site what, three months after actually renaming it and renaming it back? That's not funny. You don't know what funny is. You don't get it, and no matter how much you're told, you *won't* get it. When three thousand people call you an ass, start looking for a saddle. I don't want your worthless prose, your insipid writing, or your mean-spirited forays into OS/platform wars. Basically, any time your personality creeps through, we all suffer.
  • For those of you who asked about another programming contest: yes, soon!

Of course, my analysis of the numbers is limited by complete lack of any statistical skills, so I've put together a CSV file (data only - no comments/ip) and a basic page that explains what the fields are. So here's your challenge: I will send out the official, extra-large 15'oz WTF mug to whoever comes up with the most interesting analysis (post in the comments).


Pascal Strings

by in Best of the Sidebar on

Originally posted by "JukeboxJim"...

Extracts from a "Pascal Strings" class inside a Java project... for when Java strings just aren't fast enough for you:


Design Me A House

by in Tales from the Interview on

Design me a House (by David J)

Like most sane people, I absolutely despise the whole Job Interview 2.0 thing. Now, I'm usually good at sniffing these types of companies out before wasting their time and mine with an interview, but recently I got caught up in one when looking for a Java position at a mid-sized consulting company.


Getting Mixed Messages

by in Error'd on

"Your password has been changed" *picks flower petal* "your password has been changed not" *picks flower petal*


I Think I'm Going To Be Sick

by in Feature Articles on

For the most part, it was like any other sales meeting. Robert sat in a dark conference room with the potential client's CTO, COO and a few other managers. A projector lit up the whiteboard with PowerPoint slides and screenshots from their in-house billing system. Janice, the CTO, went over the automated billing application and related processes so that Robert, an IT consultant, and his team could develop a proposal for maintaining it.

One thing seemed off, however. Janice spoke in absolutes, "When you start the contract ..." At first, Robert figured he was just that good in his pitch, and that she had already made a decision. But as Janice presented the Web application and its history, Robert realized it was something else. She was trying to sell him on taking the contract.


A Method by Any Other Name

by in CodeSOD on

K. K. sent in an example of his company's naming conventions for methods, in which if you have a method that's used frequently, you repeat part of its name for dramatic effect.


The Service Awards Ceremony

by in Feature Articles on

The store was abuzz leading up to the most gala event that Computer Czar store 893 would have the honor and privilege of hosting. After the big night, they'd have to wait an agonizing three months until the next one. It was time for the Quarterly Computer Czar Store 893 Service Recognition Award Ceremony.

To even be considered for such an honor required a strength of will and determination that only a small number of the employees lacked. Not only did you have to not get fired or quit, but you had to continue to not get fired or quit for one, five, or ten years!


The Road to CHECK FILE

by in Error'd on

Where's this bus going, Mike C. ponders. Hopefully the driver knows.


Halifax Bank Security

by in Best of the Sidebar on

Originally posted by "Tann San"...

Not too long ago, my Halifax ATM card got deactivated because I misentered the PIN number three times in a row. So, the next day, I went into the main bank branch to get some cash from a teller.


The RedirectException

by in CodeSOD on

Hannes writes, "I'm currently working on maintaining rewriting an application from the early days of ASP.NET (c. 2001) to be all AJAXy and Web 2.0. One of the first things I stumbled over when I first fired up the debugger was a strange exception - the RedirectException - that got thrown on almost every page. Sometimes, it was thrown more than once in the page lifecycle, but it never made it up to the front-end.

"I quickly found out the developer didn't quite get the concept of exceptions.


Jan-48

by in Best of the Sidebar on

Originally posted by Spikeles...

I ordered a software product last year from a company in the US. They're a great company with really smart people who produce really good software.


The Test of Truth

by in Representative Line on

A few years back, Randy A took a contract as a maintenance developer on a wretched abomination of an application. Like those who've stared into the heart of the Great Codethulhu, Randy's retinas are forever burned with code from the system. One line that continues to haunt his dreams is as clear as the day he first encountered it...

return (test == true)? ( (test == false)? false : true) : ((test == false) ? false : true);

Tech Support Heck

by in Feature Articles on

I'm sure many of you have had or are currently working in a tech support position. Consider yourself fortunate if you've never had experiences like these.

Duly Noted from Ed


Discount calculation

by in Best of the Sidebar on

Originally posted by Zecc...

Just bumped against this code on my current project:


168.168.2.40 Now Boarding

by in Error'd on

Jason snapped this at the Ann Arbor Hands on Museum on one of their "fitness" machines.


Announcement: Content Survey

by in Feature Articles on

Yeah, yeah, yeah: Yet Another Survey on The Daily WTF. However, unlike the recent survey from December, this one is not so much about you, but about what you think about the content here.

You see, as editor and lead writer here, it’s a bit of a challenge to figure out exactly what you come here to read. Sure, there are page views, referrers, visit paths, and all sorts of other statistics and numbers I could try to distill, but nothing beats just asking you directly.


Penny-Wise, Pound-Foolish

by in Feature Articles on

Lee B. was ready to impress. The night before his first day on the contract he laid out his outfit for the day, ironed his clothes, and made sure to get a good night's sleep. He wanted to leave a great impression, and had planned and visualized exactly how he would do so.

On the drive to the bank where he'd be working, he couldn't help but smile. The radio said that it would be cold and that there was stormy weather ahead, but that didn't phase him — he had a feeling that everything would be coming up Lee.


1.25: Last Day

by in Mandatory Fun Day on

Pop Quiz, Hotshot

by in CodeSOD on

Something different for today — a multiple choice CodeSOD! Assume the following:

(CASE WHEN "Help Desk Attributes".Priority = '3-Medium' AND ("Help Desk Attributes"."TAT To Close - Days" - (Case WHEN "- Open Date"."Day in Week" = 1 AND "Help Desk Attributes"."TAT To Close - Days" = 0 THEN 0 WHEN "- Open Date"."Day in Week" = 1 AND "Help Desk Attributes"."TAT To Close - Days" <= 5 THEN 1 WHEN "- Open Date"."Day in Week" = 1 AND "Help Desk Attributes"."TAT To Close - Days" = 6 THEN 2 WHEN "- Open Date"."Day in Week" = 1 AND "Help Desk Attributes"."TAT To Close - Days" <= 12 THEN 3 WHEN "- Open Date"."Day in Week" = 1 AND "Help Desk Attributes"."TAT To Close - Days" = 13 THEN 4 WHEN "- Open Date"."Day in Week" = 1 AND "Help Desk Attributes"."TAT To Close - Days" <= 19 THEN 5 WHEN "- Open Date"."Day in Week" = 2 AND "Help Desk Attributes"."TAT To Close - Days" BETWEEN -1 AND 4 THEN 0 WHEN "- Open Date"."Day in Week" = 2 AND "Help Desk Attributes"."TAT To Close - Days" = 5 THEN 1 WHEN "- Open Date"."Day in Week" = 2 AND "Help Desk Attributes"."TAT To Close - Days" <= 11 THEN 2 WHEN "- Open Date"."Day in Week" = 2 AND "Help Desk Attributes"."TAT To Close - Days" = 12 THEN 3 WHEN "- Open Date"."Day in Week" = 2 AND "Help Desk Attributes"."TAT To Close - Days" <= 18 THEN 4 WHEN "- Open Date"."Day in Week" = 3 AND "Help Desk Attributes"."TAT To Close - Days" BETWEEN -1 AND 3 THEN 0 WHEN "- Open Date"."Day in Week" = 3 AND "Help Desk Attributes"."TAT To Close - Days" = 4 THEN 1 WHEN "- Open Date"."Day in Week" = 3 AND "Help Desk Attributes"."TAT To Close - Days" <= 10 THEN 2 WHEN "- Open Date"."Day in Week" = 3 AND "Help Desk Attributes"."TAT To Close - Days" = 11 THEN 3 WHEN "- Open Date"."Day in Week" = 3 AND "Help Desk Attributes"."TAT To Close - Days" <= 17 THEN 4 WHEN "- Open Date"."Day in Week" = 4 AND "Help Desk Attributes"."TAT To Close - Days" BETWEEN -1 AND 2 THEN 0 WHEN "- Open Date"."Day in Week" = 4 AND "Help Desk Attributes"."TAT To Close - Days" = 3 THEN 1 WHEN "- Open Date"."Day in Week" = 4 AND "Help Desk Attributes"."TAT To Close - Days" <= 9 THEN 2 WHEN "- Open Date"."Day in Week" = 4 AND "Help Desk Attributes"."TAT To Close - Days" = 10 THEN 3 WHEN "- Open Date"."Day in Week" = 4 AND "Help Desk Attributes"."TAT To Close - Days" <= 16 THEN 4 WHEN "- Open Date"."Day in Week" = 5 AND "Help Desk Attributes"."TAT To Close - Days" BETWEEN -1 AND 1 THEN 0 WHEN "- Open Date"."Day in Week" = 5 AND "Help Desk Attributes"."TAT To Close - Days" = 2 THEN 1 WHEN "- Open Date"."Day in Week" = 5 AND "Help Desk Attributes"."TAT To Close - Days" <= 8 THEN 2 WHEN "- Open Date"."Day in Week" = 5 AND "Help Desk Attributes"."TAT To Close - Days" = 9 THEN 3 WHEN "- Open Date"."Day in Week" = 5 AND "Help Desk Attributes"."TAT To Close - Days" <= 15 THEN 4 WHEN "- Open Date"."Day in Week" = 6 AND "Help Desk Attributes"."TAT To Close - Days" BETWEEN -1 AND 0 THEN 0 WHEN "- Open Date"."Day in Week" = 6 AND "Help Desk Attributes"."TAT To Close - Days" = 1 THEN 1 WHEN "- Open Date"."Day in Week" = 6 AND "Help Desk Attributes"."TAT To Close - Days" <= 7 THEN 2 WHEN "- Open Date"."Day in Week" = 6 AND "Help Desk Attributes"."TAT To Close - Days" = 8 THEN 3 WHEN "- Open Date"."Day in Week" = 6 AND "Help Desk Attributes"."TAT To Close - Days" <= 14 THEN 4 WHEN "- Open Date"."Day in Week" = 7 AND "Help Desk Attributes"."TAT To Close - Days" BETWEEN -1 AND 0 THEN 0 WHEN "- Open Date"."Day in Week" = 7 AND "Help Desk Attributes"."TAT To Close - Days" = 1 THEN 1 WHEN "- Open Date"."Day in Week" <= 7 AND "Help Desk Attributes"."TAT To Close - Days" <= 76 THEN 2 WHEN "- Open Date"."Day in Week" = 7 AND "Help Desk Attributes"."TAT To Close - Days" = 7 THEN 3 WHEN "- Open Date"."Day in Week" = 7 AND "Help Desk Attributes"."TAT To Close - Days" <= 13 THEN 4 WHEN "- Open Date"."Day in Week" = 7 AND "Help Desk Attributes"."TAT To Close - Days" = 14 THEN 5 WHEN "- Open Date"."Day in Week" = 7 AND "Help Desk Attributes"."TAT To Close - Days" <= 20 THEN 6 ELSE 0 END)) <= 5 THEN 1 WHEN "Help Desk Attributes".Priority = '4-Low' AND ("Help Desk Attributes"."TAT To Close - Days" - (Case WHEN "- Open Date"."Day in Week" = 1 AND "Help Desk Attributes"."TAT To Close - Days" = 0 THEN 0 WHEN "- Open Date"."Day in Week" = 1 AND "Help Desk Attributes"."TAT To Close - Days" <= 5 THEN 1 WHEN "- Open Date"."Day in Week" = 1 AND "Help Desk Attributes"."TAT To Close - Days" = 6 THEN 2 WHEN "- Open Date"."Day in Week" = 1 AND "Help Desk Attributes"."TAT To Close - Days" <= 12 THEN 3 WHEN "- Open Date"."Day in Week" = 1 AND "Help Desk Attributes"."TAT To Close - Days" = 13 THEN 4 WHEN "- Open Date"."Day in Week" = 1 AND "Help Desk Attributes"."TAT To Close - Days" <= 19 THEN 5 WHEN "- Open Date"."Day in Week" = 2 AND "Help Desk Attributes"."TAT To Close - Days" BETWEEN -1 AND 4 THEN 0 WHEN "- Open Date"."Day in Week" = 2 AND "Help Desk Attributes"."TAT To Close - Days" = 5 THEN 1 WHEN "- Open Date"."Day in Week" = 2 AND "Help Desk Attributes"."TAT To Close - Days" <= 11 THEN 2 WHEN "- Open Date"."Day in Week" = 2 AND "Help Desk Attributes"."TAT To Close - Days" = 12 THEN 3 WHEN "- Open Date"."Day in Week" = 2 AND "Help Desk Attributes"."TAT To Close - Days" <= 18 THEN 4 WHEN "- Open Date"."Day in Week" = 3 AND "Help Desk Attributes"."TAT To Close - Days" BETWEEN -1 AND 3 THEN 0 WHEN "- Open Date"."Day in Week" = 3 AND "Help Desk Attributes"."TAT To Close - Days" = 4 THEN 1 WHEN "- Open Date"."Day in Week" = 3 AND "Help Desk Attributes"."TAT To Close - Days" <= 10 THEN 2 WHEN "- Open Date"."Day in Week" = 3 AND "Help Desk Attributes"."TAT To Close - Days" = 11 THEN 3 WHEN "- Open Date"."Day in Week" = 3 AND "Help Desk Attributes"."TAT To Close - Days" <= 17 THEN 4 WHEN "- Open Date"."Day in Week" = 4 AND "Help Desk Attributes"."TAT To Close - Days" BETWEEN -1 AND 2 THEN 0 WHEN "- Open Date"."Day in Week" = 4 AND "Help Desk Attributes"."TAT To Close - Days" = 3 THEN 1 WHEN "- Open Date"."Day in Week" = 4 AND "Help Desk Attributes"."TAT To Close - Days" <= 9 THEN 2 WHEN "- Open Date"."Day in Week" = 4 AND "Help Desk Attributes"."TAT To Close - Days" = 10 THEN 3 WHEN "- Open Date"."Day in Week" = 4 AND "Help Desk Attributes"."TAT To Close - Days" <= 16 THEN 4 WHEN "- Open Date"."Day in Week" = 5 AND "Help Desk Attributes"."TAT To Close - Days" BETWEEN -1 AND 1 THEN 0 WHEN "- Open Date"."Day in Week" = 5 AND "Help Desk Attributes"."TAT To Close - Days" = 2 THEN 1 WHEN "- Open Date"."Day in Week" = 5 AND "Help Desk Attributes"."TAT To Close - Days" <= 8 THEN 2 WHEN "- Open Date"."Day in Week" = 5 AND "Help Desk Attributes"."TAT To Close - Days" = 9 THEN 3 WHEN "- Open Date"."Day in Week" = 5 AND "Help Desk Attributes"."TAT To Close - Days" <= 15 THEN 4 WHEN "- Open Date"."Day in Week" = 6 AND "Help Desk Attributes"."TAT To Close - Days" BETWEEN -1 AND 0 THEN 0 WHEN "- Open Date"."Day in Week" = 6 AND "Help Desk Attributes"."TAT To Close - Days" = 1 THEN 1 WHEN "- Open Date"."Day in Week" = 6 AND "Help Desk Attributes"."TAT To Close - Days" <= 7 THEN 2 WHEN "- Open Date"."Day in Week" = 6 AND "Help Desk Attributes"."TAT To Close - Days" = 8 THEN 3 WHEN "- Open Date"."Day in Week" = 6 AND "Help Desk Attributes"."TAT To Close - Days" <= 14 THEN 4 WHEN "- Open Date"."Day in Week" = 7 AND "Help Desk Attributes"."TAT To Close - Days" BETWEEN -1 AND 0 THEN 0 WHEN "- Open Date"."Day in Week" = 7 AND "Help Desk Attributes"."TAT To Close - Days" = 1 THEN 1 WHEN "- Open Date"."Day in Week" <= 7 AND "Help Desk Attributes"."TAT To Close - Days" <= 76 THEN 2 WHEN "- Open Date"."Day in Week" = 7 AND "Help Desk Attributes"."TAT To Close - Days" = 7 THEN 3 WHEN "- Open Date"."Day in Week" = 7 AND "Help Desk Attributes"."TAT To Close - Days" <= 13 THEN 4 WHEN "- Open Date"."Day in Week" = 7 AND "Help Desk Attributes"."TAT To Close - Days" = 14 THEN 5 WHEN "- Open Date"."Day in Week" = 7 AND "Help Desk Attributes"."TAT To Close - Days" <= 20 THEN 6 ELSE 0 END)) <= 10 THEN 1 ELSE 0 END)


Front-Ahead Design

by in Feature Articles on

In the past, I didn’t mix TDWTH and work too often, but with the tweaked name and tweaked direction on content, I knew this article would be a perfect fit.

As some of you know, I fill two important roles in my day job at Inedo, LLC. Not only am I a software developer, but I’m also the Chief Front-Ahead Design Evangelist. In this latter role, it’s my duty to spread and champion the revolutionary software development methodology known as Front Ahead Design (FAD).


Announcement: Website.RenameTo("The Daily WTH")

by in Feature Articles on

As you can probably tell by now, The Daily WTF is now named The Daily WTH, as in The Daily What The Heck. Don’t worry, though – nothing else has changed. Okay, that’s not entirely true: a few other things are changing, but they’re all mostly minor. Really, you won’t even know the difference.