Recent Articles

Feb 2011

Functionally Functional

by in CodeSOD on

Microsoft's Active Server Pages (ASP) technology (or, Classic ASP as it's called these days) was designed to an easy way to build web applications: just code some HTML and sprinkle some VBScript between <'% ... %> blocks. It was (and, for the most part, still can be) a decent, simple tool for building simple things.

Of course, there's one big problem with simple tools: they're simple, and certain developers are too smart for simple. And that brings us to Catherine P, who's found herself maintaining a sprawling mess of a Classic ASP system that should have been retired years ago. Of the many "innovative and unique" patterns introduced by the original developer is "limiting the amount of JavaScript sent to the browser." As to how is this wizardy is accomplished... there is code like this is in the header of each page.


Web 0.1 Bus Signage

by in Error'd on

"It would appear that not only being content with screenshotting a MS word document (the green and red spell check highlighting on the bottom gives it away)," Geordie writes, "they also decided to do something to the top half at an enlarged scale, paste it over the bottom half using a very Web 0.1 method, but then proceed to get a bus number wrong and correct that manually, using an entirely different font."


Dropping a Log

by in Feature Articles on

"A bunch of orders out of Winnipeg haven't been sending MSDSes!"

"I'm on it," Rick said. He grabbed his six-guns (er, six-pack of soda) and hopped on his horse (er, ergonomic office chair), and went to clean up Dodge (er, Winnipeg).


The Interface

by in Representative Line on

"I was (once again) re-assigned to another old project for upkeep 'n such," Johnny D writes, "and as it so happened, there was a bug. "

"A bug usually isn't that big of a deal... but this project had layers. And layers. And layers. And none of them are documented or commented in any manner.


Abusing the FTP

by in Feature Articles on

When any new employee is hired at Repinski’s Furniture Express, on their first day, he or she receives a personalized “grand tour” of the main headquarters given by none other than Mr. Repinski – the company’s owner and CEO. During his tour, Adam was introduced to the financing group, the warehouse supervisor and his crew, the ladies who ran most of the front office, and other supporting personnel. After meeting with the PC technician, Mr. Repinski showed Adam the place where he would be spending much of his time - the server room.

Knowing that the Junior System Administrator position would involve Active Directory, Windows Server maintenance, some light SQL Server database administration, Adam expected that it would be a great way to learn the ropes. After all, being fresh out of college with only some help desk experience under his belt, he needed all the real world experience he could get!


Number 15

by in CodeSOD on

With the addition of Josh M., he was now officially the 15th developer in the past 7 years to work on the small company’s HUGE PHP/MySQL web app.

The whole site seemed to be a WTF, and yet one part stuck out like a sore WTF-thumb. It was the 'static text' table.


Random Recommendations

by in Error'd on

"I found this in my local newspaper," wrote Tomas Olander, "and no matter how hard I looked, I couldn't find the Utilities menu."


Genital Syncing, Accentricity, & More Support Stories

by in Feature Articles on

Genital Syncing (from Erik Trent)
I work for a company that makes software for the high-speed video and data industry. Recently, we've started to include the ability for playback of data as audio for clients in the medical field that needed that, and have had a few support emails crop up as a result.

I recently received the following message.


Adding a Column

by in CodeSOD on

"Generally speaking," Brian H writes, "I'm a pretty good judge of how challenging a feature will be to implement. Take add column X to report Y for example: first ensure that data is available, then modify the report's query, and then finally tweak the report layout. Easy peasy, and worse case, you'll have to battle with how to fit everything on a page."

"And then of course there are those times where I'm completely wrong. The following is but a glimpse into the pain that was needed to add column X to report Y."


Gaming the System

by in Feature Articles on

Frank slammed his axe into his co-worker's skull. Ernest grunted and raised his double-barreled shotgun in reply. "Merry Christmas!" he shouted as he fired both barrels. Frank exploded into several gore-colored polygons.

"Jerk," Frank grumbled as he waited for his respawn. It was late Decemeber, 1997, an era of before thumb-drives and when Quake was the best deathmatch money could buy. Normally, such lunch-time and break-time violence was frowned upon, but it was the holidays. When most of the office is on vacation, and the people that aren't just need to keep the lights on and not make trouble, you can get away with those sorts of things, so long as you uninstall it after the New Year. They Quaked away through the holidays.


The Marshal

by in CodeSOD on

When Eli accepted a position nicknamed The Marshal, he knew he’d be in for a challenge. For many years, the company’s culture was dominated by cowboy coders and a frontiersmen attitude of just get’er done. Though many of the code-slingers had long since retired, the spirit of the Wild West still remained.

Strewn across the vast corporate expanse were dozens and dozens of ghost applications that weren’t on any IT Systems map, yet were still used by various business units. Some were small, living on an old workstation under a desk, while others were large, forgotten systems that once were fertile pastures of development.


Sponsor Appreciation, The Server Room Switch, Woody, and More

by in Feature Articles on

Please take a moment to check out the companies that sponsor The Daily WTF.

TDWTF Sponsors

ChangeVision   ChangeVision - makers of astah*, a comprehensive modeling toolset that works with UML, ERD, DFD and mind mapping models within the same integrated platform. There's both a free trial and a free community edition available. They also put out a pretty unique guide called Zen and The Art of User Requirements that's worth a quick read.
BuildMaster   BuildMaster - a new and unique platform that applies the rigor of source control and the discipline of issue tracking to the rest of the application lifecycle. By integrating with numerous best-of-breed development tools, BuildMaster automates and faciliates everything from build management to workflow-driven approvals to database change scripts to production deployments.
SoftLayer   SoftLayer - serious hosting provider with datacenters in three cities (Dallas, Seattle, DC) that has plans designed to scale from a single, dedicated server to your own virtual data center (complete with racks and all)

 

Community Conferences

Not sponsors... but some fun conferences that I'll be going to this year. Got any suggestions? Drop me a line!
Code PaLOUsa   Code PaLOUsa - a two-day development conference revolving around Microsoft, Java, Ruby, PHP, and Clojure; along with sessions on higher, platform-agnostic levels. As announced earlier, if you book now with code TDWTF, you'll save $25 off registration and get a free The Daily WTF mug. I'll be doing a talk ("Infinitely Extensible"), and the whole thing looks like be a great way to spend March 4th-5th in Louisville, KY.
NOTACON   NOTACON - the annual conference held in Cleveland, Ohio, that explores and showcases technologies, philosophy and creativity often overlooked at many "hacker cons". There are over 40 presentations which are a mix of hands-on workshops and lecture style presentations, contests such as "Anything but Ethernet", prize giveaways and a whole lot of who-knows-what. Anything can happen, and usually does. My talk: Hacking the Workplace: How to Make the Most with the Least

Squeaky-Clean HTML

by in CodeSOD on

Sami's company developed Yet Another Proprietary CMS and, like many home-grown systems, they've had to reinvent many wheels.

Naturally, their wheels aren't perfectly circular... and often times, they won't even fit into the most liberal definition of "round". But to their credit, the developers do try their best to be as thorough as possible. And they take cleaning HTML very seriously.


Fallen Dynasty

by in Feature Articles on

Credit: Daquella manera @ flickr“Now you’re just being humble,” the CEO said with a wide smile that disappeared into his double chin, “I know you can fix it. Tell ya’ what, I’ll owe ya’ a huuuuge favor, how ‘bout that?”

Eric wasn’t exactly sure how to respond, or even what to think. This was his very first conversation with the CEO – in fact, it was the very first time he had even seen the CEO. At least, in person: his corporate photo presented a much less portly and a much less balding man. It’s not that it was a huge company (they were about 200 strong), but it was his third day on the job, and his job title wasn’t exactly helpdesk technician.


Annual Y2K

by in CodeSOD on

Those of us who lived through Y2K remember that, after all was said and done, it was little more than an inconvenience. Fix a couple of reports displaying “19100” here and correct some validation logic there. Although Sherman wasn’t there to experience all of the Y2K fun, as a maintenance programmer, he has had the pleasure of experiencing exactly what it was like, each and every year.

In fact, his very first assignment was to fix a Y2.007K bug in an application developed the previous year: the original developer simply hard-coded 2006 as the year. And it wasn’t the only Y2.007 bug.


Mall Floor Fail

by in Error'd on

"From the geniuses who brought you the mall floor ad campaign," Ian wrote, "the mall floor force close!


Code PaLOUsa 2011

by in Announcements on

Mark your calendars for March 4th and 5th. There's a brand new by-developers/for-developers conference called Code PaLOUsa. Inspired by the instantaneously-sold-out CodeMash (including the non-profit part), Code PaLOUsa is in downtown Louisville, KY at the Seelbach Hotel.

There are a whole bunch of great speakers lined up, including Douglas Crockford and Eric Sink. And for some reason, they even let me in.

My Talk: Infinitely Extensible


(Less) Screwed-up Packaging

by in Feature Articles on

Green packaging is here, and it's here to stay. And that's definitely good thing. As much as we all love having that giant wooden crate dropped off to our front porch, it can be expensive and a bit wasteful. Smaller packaging that doesn't require a crowbar to open saves money, time, and best of all, the environment.

Of course, none of this is news to Dell. For years, they've worked hard to develop efficient packaging for their computers and peripherals. Even back in 2007, when "green" was little more than a waxy crayon in the ol' Crayola box, Dell was going green.


Sturdy Switch

by in CodeSOD on

"Without a web framework," William I. writes, "developing AJAX-based code can be a bit tricky. Mostly, because of the way X (XmlHttpRequest) deals with A (Asynchronous): you have to 'listen' to the onreadystatechange and act when the readyState is 4."

"Of course, most folks deal with this using a simple if (readyState == 4) statement. Some coders... well... they do this."


Toying Around

by in Feature Articles on

The original version of this article contained some keywords not suitable for the workplace. Knowing that many of our readers visit the site from their workplaces, this article has been edited for content as a courtesy to our readers.

Alistair's IT department was in the midst of a long, hard move to new facilities. In addition to the regular pains of a growing company, their existing server room was ancient enough that security routinely had to chase Indiana Jones out of there. For IT, it was less, "move everything" and more "run two separate installations while we figure out what gets thrown away in the old one." At this point, everything remaining in the old office was going to get stuffed in the bin.