Recent Articles

Sep 2006

Coded Smorgasbord: The Pilot Episode

by in Coded Smorgasbord on

It's time for a new series: The Coded Smorgasbord. Inspired by the Pop-up Potpourri, the examples presented here aren't necessarily "bad" code nor do they imply the miserable failure that we're all used to reading here. Like previous "bunch o' code" articles, the examples are more-or-less fun snippets of code like ones that we've all written at one time or another. Enjoy!


Let's start things off with Miki Watts, who came across this line in some API examples provided by an ERP software vendor. J., we're all behind you on this: we hope it's not a bug, too ...


Define Failure As Success

by in Feature Articles on

Sorry everyone, I don't have a story of massive failure to share with you today. Instead I thought it'd be fun to share this simple story of success -- or at least, success as defined by a vendor at Jamie's company.

A few months back, Jamie's company ran into a Serious Production Issue with their system. I'm sure you're all familiar with the SPI routine: the overhead lights dim; metal sheaths slam down, covering the windows; red SPI lights are activated; an ominous voice repeats "serious production issue" over the PA system; and a special forces team is assembled to solve the problem. At least, that's my company's procedure. Well, with the exception of the PA voice. We hired Majel Barrett (voice of Star Trek's onboard computers) for all of our automated announcements.


It's A Java.Net Exception

by in Feature Articles on

Paul admits that he should never have been hired. In fact, I think his exact words were, "I should have never been hired." But he was, and there wasn't a whole lot he could do about it. Given what he was up against, I doubt many of us would have had a different fate.

The first obstacle Paul came across was the Executive Vice President, also known as the soon-to-be Father-In-Law. Mr. Howell (as I'll call him) knew that Paul was a programmer. He also knew that his company employed programmers. He did the math and approached his soon-to-be Son-In-Law about working at his company.


Now That's A Neat Trick

by in Feature Articles on

Brian was excited to join an organization that boasts managing data for "93% of all health care facility inspections." That's important stuff, after all: inspections are essential to maintaining the integrity of facilities and can make the difference between life and death of its patients. But after eight months working there, Brian now looks for facilities in the "other 7%" for his personal health care needs.

While most companies measure the quality of their product with the ratio of bugs to lines-of-code, Brian's employer uses their own, unique metric called The Cleverness Scale. Utilized primary by upper management (also known as, the Original Coders of the system), code and design techniques are rated as follows:


Consulting The Consultants

by in Feature Articles on

Dustin was recently tasked with being the technical liaison for a new vendor: a start-up company that provides web-based reporting capabilities. The start-up touts itself as a "small, agile consultancy" lead by "five gurus" with "over twenty-five years combined experience working at Oracle Corporation." It was Dustin's responsibility to ensure that the consultants had whatever they needed to implement their reporting solution. Following is the email conversation resulting from the consultants' first request:

Hi Dustin,

We need your database in order to develop the reports 
and triggers against it. Could you send a copy of your 
production database?

Thanks,
Edward

-----------------------------------------------------------

Edward:

Our production database is a bit big (4TB) and I believe
that OTS regulations prohibit us from sharing production
data. We could get you our QA Database.

Dustin

-----------------------------------------------------------

Dustin,

That'd be great! Could you ship your QA server to us:
  [mailing address]

Thanks,
Edward

-----------------------------------------------------------

Edward:

The server? No, I meant that we can export the 
QA database and send the file to you via FTP.

Dustin

The Fully Automated Manual System

by in Feature Articles on

It was to be the perfect system: requested by an IT-friendly internal client, managed by a competent project manager, described by insightful business analysts, designed by an experienced architect, built by intelligent programmers, and perfected by thorough testers. Its goal was hefty but noble: replace the current manual billing system with a fully automated process that tracks jobs, hours, accounting, and payroll. It was to save employees across the organization a lot of time and save the company a lot of money by bringing payroll processing in-house. But alas, it was confronted by an obstacle it just could not overcome: the Chief Technology Officer.

At D. Travis North's company, the CTO prides himself on being a "developer friendly" type of guy. He even manages to keep up with his prided developer certifications. At least, so he believes. A quick trip to his office would show his latest pride and joy: a Microsoft-Certified Visual Basic 4.0 Expert certificate from a little more than a decade ago.


Persistence Gets the Job Done

by in Feature Articles on

Kristopher has the pleasure of working with Robert, The Infallible Programmer. Robert (his earthly name) is actually one of the world's two programmers who have never coded a single bug. The other bug-free programmer, though not infallible, is the guy who writes all of those "Hello World" examples.

This is not to say that the Code of Robert is bug-free. As a worldly programmer, Robert is constrained to worldly tools created by fallible programmers, and it is within these tools that the defects exist, and not His code. To Him, nothing is "real" in the sense of, "if we used a REAL database, this would work," or "if we used a REAL operating system, this wouldn't crash." But alas, He contends that no "real" tools exist on the marketplace yet: "everything out there is made by a bunch of idiots!"


Not Another DLL!

by in Feature Articles on

As a consultant, Josh Assing's role is to assess problems, share experience, and recommend solutions for his clients. It's also his job to do what the client wants, even when it goes against his advice, and then gracefully apologize without a single "told ya' so" when the client's plan goes terribly wrong.

Several years back, Josh came across a prospective client who needed some help with a FoxPro-based application that they were selling. Like other niche-market applications, this one was originally created by a non-programmer and hacked over the years by salespeople, marketing folks, and the janitorial crew. It was the exact type of job that Josh had no interest in taking, especially since he didn't care for FoxPro too much. He turned it down.


Legendary Configuration

by in Feature Articles on

Not too many of us are lucky enough to work side-by-side with a living Software Legend. Joe D is pretty close: he works with Scott, a self-proclaimed former Software Legend. You might wonder how exactly one becomes a former legend. Scott is always eager to explain: he was one of the world's best programmers back in the late 70's but has since been surpassed by all the extremely intelligent people who have entered the field lately. Okay, so it's not much of an explanation, but Scott swears by it.

Though he's not a current Software Legend, Scott is certainly legendary within his organization: he only writes code in C while everyone else uses Java because, as he claims, C is actually more object-oriented; he somehow manages to always schedule his vacations starting the day his code goes into production; and he has never been de-hired.


Surgical Module Changes

by in Feature Articles on

First and foremost, I'd like to thank Raymond Chen, Mike Gunderloy, Tom Kyte, Eric Sink, and Blake Ross for providing some excellent articles while I was away last week. I'd also like to thank you, the readers, for filling out the Reader Survey and giving an insight into how educated you are (78% have or working towards a college degree), how old you are (80% are 22 to 40), your income (58% earn at least $50k/year), and your excellent taste in websites (100% of you read The Daily WTF).

I thought it'd be nice to start this week out with Tom's experience on the Client Management Module. Despite its name, the CMM is not actually a module; it's a fully contained application. But that's not why the developers have avoided maintaining it over the years. They've avoided it because all of the developers before them avoided it. And the developers before them avoided it because their predecessors avoided it.


Blake Ross on Popup Suppression

by in Feature Articles on

Hi all, Blake Ross here. Alex asked me to guest write a post this week because he's a fan of the Firefox project, which I cofounded. Before Firefox, I worked at Netscape throughout high school on its 6.x and 7.x releases. It was my first experience in a professional programming shop. I'm writing this now from my therapist's couch.

It's hard for me to write a WTF, not because I can't remember one, but because I remember too many. Netscape was one giant WTF, or as they called it back then, AOL. The company had grown so inept that "WTF" became just another thing we said each day, like "Hey" or "What time is it?" or "We just lost another 5%" or "Marketing wants to replace the Back button with an ad for Bowflex". In fact, as I'm sure you know, the Mozilla movement itself was born when Jim Barksdale looked at the old Netscape 4.x codebase and announced, with tremendous gusto and wondrous pride: WTF?


Eric Sink on EricSink()

by in Feature Articles on

[Note: Today’s article is courtesy of Eric Sink, graciously covering for Alex while he is on vacation this week]

I have always found more benefit in making fun of myself than in making fun of others. So when Alex asked me to be Guest Editor on The Daily WTF for a day, I figured it wouldn't be hard to come up with something of my own that deserves public ridicule.


Tom Kyte on The Ultimate Extensibility

by in Feature Articles on

Hey, this is Tom Kyte from Oracle's AskTom and The Tom Kyte Blog filling in for Alex Papadimoulis since he is on vacation.

After reviewing many of the historical (or is that hysterical?) database WTF's, I settled in on one that reminded me of an old AskTom thread. The original WTF is JOIN ON WTF, in all of its glory. The goal of the "architects" of that system was simply stated:


Mike Gunderloy on Access Perfection

by in Feature Articles on

[Note: Today's article is courtesy of Mike Gunderloy, graciously covering for Alex while he is on vacation this week]

There was a time when Microsoft Access was my life (don't look at me that way; at the time, consulting in Access was flying me all over the country and paying for quite a nice lifestyle, and what more could a single guy want?). One day I was approached by a potential new client, a consultant himself, with a novel proposition: he wanted to hire someone to fix the deficiencies in Access.


Raymond Chen on Sleep() Deprivation

by in Feature Articles on

[Note: Today's article is courtesy of Raymond Chen, graciously covering for Alex while he is on vacation this week]

Hi, everybody. It's me, Raymond Chen, author of The Old New Thing. A bunch of friends and I bought the copy of Small Business Server that runs this site, so we feel partly responsible for the pain and suffering all you readers out there have had to endure for nearly two years now. If it weren't for us, you wouldn't have had the urge to gouge your own eyes out after reading The Brillant Paula Bean. If I were a better person, I'd apologize, but instead, I'm just going to prolong the torture.


Pop-up Potpourri: Perpetually in Beta

by in Pop-up Potpourri on

For many, many more, check out the previous article from the series, Pop-up Potpourri: Givin' It 120%


I suppose it's for the better that Octoshape errored out on Michael Hirsh. They may seem primitive, but the natives -- they're peaceful, really!


That is Off-Limits As Well

by in Feature Articles on

I hope you don't mind me re-running this classic from two years ago; I've been a bit busy with next week's vacation plans and what not. Anyway, here's today's story, straight from Mohammamd Abdulfatah ... 


We were outside the main gate, waiting for security to come down and escort us to the deepest sanctums of the complex. We had been waiting for nearly two hours. At last, two guards came for us, their pace a slouch more than a march.


How Many Consultants Does It Take To Turn On A LAMP?

by in Feature Articles on

When one pays a consultant $150/hour for his services, he expects a few things: a complete and thorough Expertise of the subject matter, utmost Professionalism throughout the business relationship, and top-notch Quality in all aspects of work performed. Usually, the highly-paid consultants featured here manage to strike out on one or two of these qualities; Jesper Angelo's company managed to find an outsourcing partner that's 0 for 3 ...

Jesper: Okay, we run everything here on LAMP.


Secret Enterprise Security

by in Feature Articles on

Nate was excited. He landed his first "Fortune 500" contract at, not just a Fortune 500 company, but a Fortune 50 one. It was a fairly small project and a great foot in the door. Today an interactive brochure website, tomorrow a global content management system that leverages collective synergy to drive "outside of the box" thinking and formulate key objectives into a win-win game plan with a quality-driven approach that focuses on empowering key players to drive-up their core competencies and increase expectations with an all-around initiative to drive up the bottom-line. Nate could almost taste the enterpriesy goodness.

Though Nate's application didn't utilize any security or authentication, it was part of The Extranet and needed to follow a "strict set of Enterprise Security guidelines." No big deal. The guidelines were straight forward and mostly common sense: avoid SQL Injection, don't assume client-side code will run, etc. The only thing Nate needed was the "SecurityInclude.asp" file that all pages were required to include.


Laboring Holiday

by in Feature Articles on

Today is Labor Day: a United States holiday mourning the end of summer, marking the last weekend for cookouts, and celebrating the economic and social achievements of workers around the country. And being a federal holiday, I don't post new content. Instead of posting a classic article, I thought I'd share this email that I.Y. received last week; looks like not all of us Americans will be enjoying the long weekend ...


The Java Wizard

by in Feature Articles on

Back in the year 2000, Frank slaved away as a peon for fairly large consulting organization. Though his title technically was "Programmer", he did very little actual programming. His job mostly consisted of creating test data scripts, writing technical documentation, and analyzing code to see what the actual programmers might need to change. It wasn't very exciting work, but having experience at that particular company provided an excellent ROR (Return On Resume).

As the months progressed, more projects were being commissioned and resources were being stretched thin. Frank was finally placed on the development team for a project, where he'd finally get the change to do some actual development. It was very exciting.