The Daily WTF logo

The Daily WTF

by Alex Papadimoulis http://thedailywtf.com/

The Daily WTF, also known as "Worse than Failure" during most of 2007, is a humorous blog dedicated to "Curious Perversions in Information Technology". The blog, run by Alex Papadimoulis, "offers living examples of code that invites the exclamation 'WTF!?'" and "recounts tales of disastrous development, from project management gone spectacularly bad to inexplicable coding choices."


In addition to horror stories, The Daily WTF "serves as a repository of knowledge and discussion forums for inquisitive web designers and developers" and has introduced several anti-patterns, including Softcoding and the Inner-Platform Effect.

Similar to Snail Mail

When you work in IT, your family turns to you as the ultimate computer expert. Since Reggie worked in IT for the direct mail industry, not only did he get carpet bombed with the usual computer questions, but also with questions about the piles of junkmail his family received. "Why do they send so many? How do they afford that?" "Is the furniture store really going out of business?" "I got the same thing twice. Do you think I can double up the coupons?"

Classic WTF: Prisoner of Process

When Eric C. arrived at his new job, it was with a huge sense of relief. His old workplace had been a haven for cowboy coders and anarchic hackers, where the only semblance of consistency was in everyone's preference to modify code directly in production.

"Finally," Eric thought as he flipped through the Developer's Handbook. "Real processes!"
It's not as if Eric was a paper-pushing Process Nazi. He was just happy to see a bit of structure. But as he delved deeper into the handbook Eric grew worried. The processes seemed designed for a behemoth organization that had user advocates working with defect analysts to assess and manage issues in their software. But this company was a small financial services firm with no more than 30 employees.

Classic WTF: The Pie T Department

Many years ago, Dan B. worked at a large accounting firm that had several small, satellite offices spread throughout the world.
The offices shared data -- mostly email -- via a dial-up based file synch operation that would run several times throughout the day. Since these offices were so small, they didn't need IT support on staff; instead, they'd rely on the IT staff at the central office for help.
The file synching had been going well for months, but the process began failing when attempting to synch with one of the Australian offices.

Classic WTF: Anything You Can Do Lyle Can Do Better

If Lyle could be summed up in one word, it'd be "competitive." If he could be summed up in three words, it'd be "ultra-competitive jackass."
If you had $21.00 on you, Lyle would make it a point to have $21.50. If you estimated that a task would take you twelve hours, it'd take Lyle eleven hours and 45 minutes. If a distant relative died, somehow two of Lyle's distant relatives died.

Reality Support, Telephatic Support, and New Thing Support

Many, many years ago I used to be on-call support for the local hospital and emergency department. The IT system consisted of Wyse serial terminals connected to a Sun system running RealityDB. The software was PMS, the Patient Management System, and I dealt with PMS every day, all day.
I should note, RealityDB had the best error message I have ever seen in my career: “Reality is corrupted”. And also my favorite confirmation message: “Are you sure you wish to destroy Reality?”

CodeSOD: Avoiding the Exception

"I found this interesting tidbit while making some changes to a .NET application," Tim Kowalski writes.
"Although the original developer claims to 'spend 9/10ths on the rule and not the exception', I would argue it's more like 5/10ths on the excuse, 4/10ths on the rule, and 1/10th avoiding the exception."

Pipe Up

Amit checked his latest code in and turned to more interesting work. It didn't take much to be more interesting than writing a CSV parser. That was kid's stuff, really. With the low-hanging fruit out of the way, Amit could focus on the more mission critical aspects that were on tight deadlines. He had designed the module with a little extra polish; it was generic and should be easy to modify in the future. That was a smart decision, as a few days later the requirements changed. The application also needed to be able to handle pipe (|)<!-- Look! A BUTT! --> separated values data. Since Amit was tied up on more important work, his manager stopped by to ask a few questions.

"How difficult do you think this would be?" John asked.

"It's really easy. There's a constant, DATA_SEPARATOR, someone could turn that into a variable expression. From there, it's just a matter of making the module configurable," Amit explained.

"So, you think Tony could handle it?"

A first year CS student should

Venting Frustration

It takes ambition and funding to build the "best datacenter in the world". Bi-located on the East and West coast, with multiple fat pipes, doubly-redudant power generation, armed security guards, and a Network Operations Center with giant plasma screens scrolling network statuses that are monitored by a 24/7 staff always looking busy, such a datacenter would serve only the highest-end clients. It takes one more key ingredient though: timing. <!-- Why yes, that does sound rather pornographic. Rule 34, I'm sure there's datacenter porn. Also: "Timing? That's what SHE said!"-->Building a high-end datacenter in the middle of the deepest recession in decades isn't the recipe for success. Only a handful of clients ever moved in, and they were moving back out when the datacenter decided to shut down operations for good. Nearly everyone had been laid off, which left Ryan as the lone IT guy.
It was a lonely, and slightly creepy, position. Day after day, he sat alone in an abandoned office buildi

Critically Conditioned

Beep. .... Beep. .... Beep. .... Peter stared aimlessly at the heart monitor above his wife’s hospital bed, watching the green lines zig... then zag. Then zig... then zag. It was calmingly hypnotic, especially after five long hours of sitting by her side in the cardiac unit, waiting around for test results.
Suddenly, the steady pace of beeps increased and Peter snapped out of his daze. Looking around, he spotted the culprit: the doctor was in route and was making his way towards the bed. “I just wanted to let you know that we’re still waiting on the final enzyme analysis,” the doctor said as he flipped through papers on his clipboard, “the first tests were… hmm… inconclusive. So, it shouldn’t be much longer.”

Benched

When Sally graduated from college, she had aspirations of finding a career in project management. And much to her delight, she landed a great position with a large, internationally-based consulting firm. In addition to billing out fresh college graduates at obscenely high rates, the company developed obscenely expensive software for large enterprises.
With the vast majority of the firm’s software development being performed at the other end of the world, they relied heavily on teams at the client’s site to define application requirements and act as the “face” for the offshore developers. Sally was hired to work on these types of teams and, and to her, it seemed like a perfect fit.
Soon after being brought on, Sally was given a thorough “onshoring” training course at the company’s US headquarters. Basically, it was everything one needed to know to be a highly-paid consultant: proper protocol for communicating between the various groups, the importance of good documentation, and a crash

On the Job Training

"None of our customers' web servers are online!" was not the kind of thing Ryan wanted to hear in the morning.  Nor was it the kind of question Ryan wanted to hear from the 15 different department heads and administrators all shouting on the conference call that morning.  Luckily (for everyone but Ryan), Ted from Net Operations was on the call. Ted was one of those hands-off system administrators who found that it was far easier to delegate work to someone else and leave early for a bar.
After 10 minutes of bickering, Ted announced that he had found the root cause of the problem: Ryan. He announced to the group that Ryan, in his ignorance and naivety, had deleted all of the customers' web servers from production.  In shocked realization that today might be his last day on the job, Ryan was unable to speak at first, but one detail gnawed at him - throughout it all, he had followed the steps that Ted had given him to the letter.  Ryan needed answers - if Ted said that he did indeed wreck

Tales from the Interview: The Interupting Rebutter, The Final Word, and The Jury Rig

The Interupting Rebutter
The job sounded right up my alley: it was in a field that I was experienced in, offered a laid-back environment, and employed a young and hip workforce. After passing a few programming brainteasers and describing my experience in the field, I thought I was a star candidate. That is, until the interviewer asked me specific details about my previous job.
"So, you were a front-end developer of the web application," he asked, "how was the back-end organized?"
"Well," I answered, "they used a Java framework using JBoss and —"
"JBoss?!" the interviewer jumped in, "why didn't they use Tomcat, if they were going to use Java?"

Secured Typing

Gary's company has an "enterprise" application, and like any enterprise application, it was built to be all things for all people, by people that didn't have a clear picture of which things it was supposed to be to whom. While a customer could, in theory, install and configure it on their own, pretty much everyone paid for a consultant to handle the setup for them. Gary was one of those consultants.

Gary was scheduled to be at the client site for a week, which was plenty of time for the basic install and configuration. But before he could even get three steps through the door, the company "Security Czar", Norman, tackled him and then locked him in a dingy, windowless room with a two foot tall stack of forms.

Surpassing the Master

Jibran turned in some questionable programming code when he was a student in college. Then again, who didn't? It's a student's sacred right to drive instructors to drink. There are no WTFs in student code; everyone has to learn sometime.

Unfortunately, Dr. Talbot's 100-level Java class focused more on providing barriers to learning. Talbot's voice had a nasal drone that would make bagpipes cringe but was so monotonous it could put an elephant under. Nor did he have any ability to organize a classroom session; he delivered material in a haphazard ramble that only covered half of the the outline.

Liberal Leave

It’s hard to believe that it’s almost summer. Actually, that’s not true; summer basically comes at the same time every year, and it’s slowly transitioned to through a period known as “spring.” But what is hard to believe is that just three short months ago, we experienced the most brutal winter ever.
Dubbed The Snowpocalypse and Snowmaggedon, the 2010 blizzards dumped an obscene amount of snow on the Washington DC area. So much that even the monstrous machines dedicated to clearing said snow were no match. “Due to blizzard conditions and near-zero visibility on the roadways,” emergency services announced after one storm, “to protect the safety of city employees and residents, all snowplowing operations have been temporarily suspended until weather conditions improve.” Now that’s some serious snow.
Although weather forecasts predicted that there’d be some kind of big storm, they didn’t quite predict that scale. Still, many companies preemptively addressed the “snow day” questions with i

It's Business Critical!

"Let me guess" started Justin with a wry smile, "Mr. Van Halen is on 'strike' because he found a brown M&M, right?"
With a beleaguered look, Brian glared back over the rim of his glasses "If only - check your email."
Justin's manager had forwarded to him and Brian a very long running email thread involving the product group, his director, the VP of IT, and the new consultant for the E-Business group. Famous for his often insane requests (like refusing to even start work until he was given a window office, personal coffee maker, and unblocked Internet access) he encouraged everybody to call him Eddie, but outside of planning meetings, everybody just referred to him by his more appropriate rock star moniker.
The email thread was a jumbled mess of back-and-forth negotiation, but in a nut shell, all design and development was on hold until a specific Enterprise Source Control Management System was put in place. Clearly, eSCM was "clearly superior" to the SVN server they had in place.
Despi

Code Refuse

Jeff was excited by his new project. His company wanted to add an ASP.NET interface to the same database used by one of their Windows Forms applications. For this company, "application integration" meant that two programs looked at the same database. Any change to a database and every application using it had to be updated, individually.

Astigmatism

Greg bought the promises of the startup. They wanted him to step in and take a mentoring role on a cutting edge, object oriented, SaaS project that was promised to be "a game changer". There would be stock options, a friendly workplace, and a savvy CEO that was deeply involved in the design process. Despite the buzzword-bingo, it sounded promising, and the interviews went well.

A Terminal Condition

In the late nineties, Eric started on his journey from being an engineer to being a programmer.
As part of the transition, Eric was assigned to work on an application that he and many of his fellow engineers were very familiar with - a program that created thermodynamic models used to design heat exchangers. Born and raised completely in-house, it was used in the design process of all of their company's products.

CodeSOD: The Power of True

Most computer scientists could rattle off their powers of 2 just as easily as their powers of 10.
Unfortunately in this instance, Daniel has discovered that possessing such "power"ful knowledge could prove dangerous when it comes to validation.

Tales from the Interview: The Raybinator, Copy & Paste Error, and Yes I Do

Got tales from your own interview? Then share them, why don'tcha!

The Raybinator (from Ray Smith)
My first interview after university was with a small local finance company applying for the position of "database engineer". Having only a little experience with Access, SQL Server and MySQL, I wasn't too hopeful of getting the job, but figured that the both the general interview experience and getting an idea of what would be expected from database work in the workplace would be worthwhile anyway.
Surprisingly I got an interview the following week and turned up on the day in the usual straight-out-of-school ill-fitting suit. I was greeted by a giant of a man who met me with a handshake, a crude joke about a prostitute in a bar, and a manly slap on the back that nearly knocked me over. A little odd, but I guess that's just the crazy world of business, thought my young naive mind.
We went through into his office and I sat down on the chair opposite him, across his stereotypical "big boss

CodeSOD: The Tautology Type

Consider the tautology: an unnecessary construct that adds no meaning, context, or understanding and may as not exist. In linguistics, it can come in the form of superfluous modifiers such as adequate enough and true fact. In procedural code, it’s simply wrapping code in an “if (true) {…}” block.

Missing Something

With Zach's technical knowledge and an excellent track record of handling large projects within the corporation, it was of little surprise when he received the task of estimating the amount of effort to create, in-house, the company's new web portal.
You see, in Zach's workplace, whenever an outside vendor was being considered to develop any in-house app, a "second opinion" would be obtained to see what it would cost to perform the same task using the company's existing available resources. The reasoning was simple - whichever side was the cheapest go the task.

Bring Your Own Code: Krypto and 24

As a kid, I was never a fan gambling away my hard-earned allowance. Heck, even playing poker with M&M’s meant that maybe — just maybe — I’ll walk away with less chocolate than I came to the table with, and that was an anxiety worth not experiencing. Fortunately, I’ve since come to my senses, but I’ll never forget the game my risk-averse friends and I would play when we came across a deck of playing cards.

While most kids reached in their pockets for coins to ante up, we’d pulled the face and joker cards out of the deck, shuffle the rest, and deal out six cards, face-up, in the middle of the table with one of the cards a few inches from the rest.

8♥   5♦   2♣   10♥   5♣       3♠

Our goal was to race to see who could make a mathematical equation using only the four basic arithmetic expressions and parenthesis.

5♣ - (8♥ * 5♦ / 10♥) + 2♣   =   3♠

The first to solve (which, almost never was me) kept the five cards as points, and play continued until we ran out of cards.
We’d also play a

Minefield

Peter watched the Newton's Cradle clack away on his desk while contemplating this most recent problem. HR had just handed him a resume for a C# developer named Bobbie. The resume was stellar, her references glowing, And thanks to the negotiations with the placement company, she could start on Monday. Bobbie wasn't just qualified, she was over-qualified. She could do Peter's job in a snap.

Poke a Dot

The phone rang. Jason stared at it for a long moment before answering. He held the handset away from his ear, as if it might leak something vile on him.

"DocGen is crashing," the caller complained. "And I've got 1,500 mailings that have to get out before the 6PM post."

Something vile indeed.

When you install a development suite on every user's desktop, eventually one of them decides they're qualified to make use of it. MS Office, of course, is one such tool. Slowly but surely, they start churning out various macros and forms and piling up layers of kludge. There's nothing unusual about this, but after a certain point, this code ceases to be "just crappy VBA macros" and becomes "MISSION CRITICAL SOFTWARE OMG!"
That was DocGen. Tens of thousands of lines of VBA that handled every single document that passed through his organization. Nothing could get to a printer without passing through some leg of this code.

Fortunately for Jason, his job was to replace this blob with real document

What's Gone and What's Past Help

Lennart wasn't quite out of college yet. He still had a semester to go after his co-op job, and he had used everything he'd learned from his Career Integration course to land a job with a respectably-sized, multi-national corporation. The position was end-user support for the company's Oracle installs. It wasn't an ideal position, especially considering some sentiments he agreed with-- but given the dry job market, he couldn't complain.
On his first day, he was given a desk, and a dust-coughing beige box. It was just like a computer, only slower. He spent the better part of the morning uninstalling a plethora of memory-hoggers. That, and rebooting. So much rebooting. Each uninstall brought him one logarithmic step closer to a usable computer.
He'd just uninstalled Oracle Instant Client and was about to install the full blown Administrator-Client, when the support phone rang.
"The database is gone!" said the frantic voice on the other end.
What's gone and what's past help
"I understand

CodeSOD: sp_getNothing

"I was working on cleaning up some old code from a system I inherited," writes Anthony Mattas, "the system is an old ASP.NET application that has been around for a while, but won’t be replaced because it generates the staff meeting template for our CEOs weekly leadership meeting."

I'm Givin' Ye All She's Got!

"And this is Colossus," Eric said with a dramatic sweep of his hand.

It was an impressive sight. The PDP-11/70 was a beast of a machine: one megabyte of memory, up to 63 concurrent jobs, and a control panel straight out of straight out of Star Trek.

There's Always Time

The list of things the Canadian government's IT group didn't like to see was a long list. High up on that list was "thirty-five contract developers sitting idle around a box of Tim Hortons donuts and racking up billable hours because they couldn't do any development with the DEV database out of commission".

The Corruption of Dennis

During water cooler conversation with his co-workers, whenever Dennis mentioned that he was responsible for supporting the Month End Closing system, reaction varied from a wide-eyed, agape look to a snide chuckle. 

The Month End Closing system had a reputation throughout the department of being an ancient and legacy application that management had refused to upgrade over the years.

Mr. Keyboard, Mr. Internet, and Support from Mr. James

Mr. Keyboard (from Derek)
I used to be a Genius™. Not an actual genius, mind you, but just a tech support guy who worked at the Apple Store and, therefore, got the prestigious title of Genius™.

One day, a gentleman came in with his brand-spanking-new Mac complaining of keyboard troubles. He had just set his computer up, and from the moment he took it out of the box, the keyboard never worked properly. Whenever he tried to type, seemingly random gibberish appeared.

CodeSOD: Java Destruction

“It can be difficult to develop complicated, J2EE software without a fundamental understanding of how Java works,” Vladimir writes, “difficult… but not impossible.”

It's a Linear Failure Structure

When applying, Rick appreciated Steve's interviewing style. They had a half-hour chat over coffee and he walked out with a job offer. It seemed pleasant and homey, an inviting workplace. After getting hired, Steve proved to be a smart, hands-off boss, who was a pleasure to work for. He was The perfect chief for a ramshackle web shop.
Mostly.

Announcing APDB: The World's Fastest Database

The Relational Database is dead.
It had a long, distinguished life that started in 1970 with Dr. Edgar F. Codd, but it has since seen its day. Like the sextant, slide rule, and punch card, relational databases are becoming relics of the past as the industry moves towards better, faster, and awesomer.
Setting aside the fact that relational databases are incredibly, mind numbingly slow, they have a much more fundamental problem: they do not model reality.

Crashing the Proxy

“HEY! YOU!” barked a frantic and unfamiliar fellow in a frumpled collared shirt who barged into Daniel’s cramped little office.

“Are you running...," he asked while consulting a clipboard, “Google Desktop??”

Daniel started to formulate an affirmative answer, but before he could complete the word “Yes”, his interloper interjected “WHAT!? TURN IT OFF!! It’s crashing the proxy server!!”

CodeSOD: The Incrementing Bit Column

"I consider myself to be a fairly inquisitive guy," Aaron writes, "I tend to not just dive in and start changing code without understanding the system architecture and a general understanding of the business rules."

"At my most recent job, this quest for knowledge has proven to be just about futile. No one seems to know exactly what the application does, let alone how the system is designed...

Tales from the Interview: All Over the Map, Odd Shaped Container, and The Ideal Pair Programmer

<p><b><u>All Over the Map</u></b> (from Peter Banner)<br />
On paper, the candidate looked like a perfect fit. He had a very impressive résumé and seven years of experience in C#, C++, VB .NET, SQL, Oracle, and pretty much every other technology under the sun. Obviously, I had high expectations, as did my co-interviewer.</p>
<p>However, five minutes into the interview, I got the feeling that the candidate’s résumé was a just a bit padded. For instance, when I asked him why he enjoyed programming in C# more than VB .NET, he answered “I like those things… the… umm… you know!” and then proceeded to draw a couple curly braces in the air with his forefinger.</p>
<p>Feeling cheated, I began to lose interest in asking any further tech questions, and let my colleague take it from there. After an excruciating twenty additional minutes, with each and every question answered with “well I know so much, so what can I say…”, I asked him if he had any questions for us.</p>
<p>To his credit, he could

CodeSOD: The Sorry Server

There are a lot of things that that you can tell about a codebase by looking only at its comments. Seeing things like “// ask Jim for details” imply overly-complex logic that no human (aside from Jim) could understand, while “increment the counter by 1” shows a certain degree of repetitiveness that probably means lots of copy/paste-style code reuse.

The Certified DBA

“I’m not questioning your expertise,” Paul cautiously said to the Certified DBA, “it’s just that I’m just not used to requests with… this level of detail.”
Paul should have done what he was asked, exactly how he was asked to do it. After all, he was not an expert but just a lowly systems administrator. Fortunately, the Certified DBA made sure to keep him in his place.

Classic WTF: Meaninglessness

As you may or may not know, my day job is a Software Developer at Inedo, and I work on a pretty cool application called BuildMaster that helps software teams build, configure, and deploy <em>their</em> software applications. Years before, however, Inedo was a custom-software firm that was primarily focused on building all sorts of businessy software that does all sorts of businessy things for all sorts of businessy, erm, businesses. Bank stuff, manufacturing stuff, health care stuff, you name it. Most days, it was a challenging and satisfying job; I’d go home thinking, I accomplished something today. But every once in a while, I couldn’t help but wonder, why am I spending my life building cold, meaningless business applications?

Scaling Project Mountain

When Hassan joined Meteor's IT department in 2006, he was pleasantly surprised to find everyone abuzz with excitement.

Months earlier, the previous CIO retired, and a new Head of IT had just been appointed, bringing with him the mandate that old Pentium III PCs that sat on each desk had to go. With 128MB, they struggled to keep up with Windows NT 4.0 and Office 97. He had persuaded the board to allocate millions to replace every workstation and server, and upgrade the infrastructure to match. The company would move on up to the heady delights of Windows XP SP2, Office 2007 and Exchange 2003.

CodeSOD: Should Be Enough

“It seems every other week,” Samuel writes, “there’s a story about outsourcing gone bad. Maybe we’ve been lucky, but for the past decade or so, we simply couldn’t have survived without our friendly team of offsite developers.”
“You see, I work for a manufacturing company, and our main campus is located a good half-hour away from the outskirts of a suburb of a sparsely populated Midwestern city. Every business in town – from the dry cleaners to the restaurants – is owned or subsidized by the company. Just about every resident works, worked, or will work for the company. ”

A More Permanent Join

"Half the world's IT people hate our company's guts," Aaron told the HR lady. "For once, can we hire someone from the other half?"
"The last round of consultants didn't hate us," she replied.
"Unbridled hatred is the only reason to inflict Crystal Reports on someone."

The Single Sign On

“It’s impossible,” Gerald said in a matter-of-fact tone, “simply impossible.”
“Now just so we’re clear,” Craig responded, “by ‘impossible’, you actually mean ‘a big pain in the ass’, but you’re a smart guy who can make it happen, right?” That drew a few chuckles from the handful of other coworkers who joined them in the conference room, but Gerald just sighed.

More Best of the EmaiL

It's time once again for Share Your Bizarre Email day! mail in or post your favorite emails in the comments. Here's three to get started...

Alex's Soapbox: Patterns of Failure

Not too long ago, I was at a client site, working to understand and improve their development process.
From a birds-eye view, their development organization was a lot like many other Corporate IT set-ups: they had a sizable portfolio of proprietary applications that were built for and used by different business groups. Some of these applications were “mission critical” and had highly formalized promotion and deployment processes, while others were ancillary and were hardly ever used.

Problematic Problem, Problem supply, and a Text-Destroying Problem

Way back when, I was responsible for doing on-site support for a fairly complex ERP solution that our company sold. My support radius was 100 miles, which meant I was on the road a lot and traveled to places I wasn't all that familiar with. My trusty navigation aide was a compass and a Rand McNally map book. Fancy, online mapping services weren't around yet, let alone super-fancy GPS units.

Testing the Path to Pain

Test plan development. Regression analysis. Systems documentation creation. Test case execution. Regression testing.

If you're anything like me, then those words may as well have been boring, tedious, mind-numbing, tiresome, dreary, and the-worst-thing-in-the-world. Sure, they're all important and necessary, but you found out that, due to budgetary constraints, you couldn't personally do any of those things and could only focus on coding, you probably wouldn't complain. Julien G. certainly didn't mind, especially since the "drudge work" would still get done by the overseas team while everyone state-side was fast asleep.

Naturally, many of the other developers were upset that their work was being sent overseas. Emotions ranged from annoyed to absolute outrage, and some were angered to the point of resignation. Eventually, things cooled down and developers bought management's pitch that "the world-class, high-quality engineers" would be good for "synergizing and strategizing the bottom line."

Where's Our Webserver?

“HERE IT IS!” exclaimed Miha’s boss with a victorious look. “See! I told you that I’d find you a computer! Now we can get you doing something other than fetching coffee!” he chuckled.

The ‘new’ desktop was a rather outdated SGI Indy with a brownish patina that made it seem like it had been tucked away in a closet for years. But it was better than nothing! Up until this point, Miha had been doing nothing more than reading through outdated manuals for the one product that the company he was interning at developed and supported. He welcomed the lil’ blue marvel.

Bessy Keeps You Safe

For some reason, Violet K. couldn't show her sex video to the class.
Though the YouTube-posted "Mammalian Reproduction Systems" had loaded for last period's grade 10 biology class, all that came up now was an all-too-familiar screen: Content Blocked

Enough was enough! Something had to be done about Bessy.

The Great Cascade

It was not the best start to a Monday morning. When Chris K. got in, the entire IT department was in full-panic mode because the Linux mail server that he administered was unresponsive.

CodeSOD: Quite Contrary

Mike writes, "Oh, the things that I find in our codebase."
"I have no idea who put this in, or why it was put in. But it's there, and it's somehow called in a few places. As tempted as I was to investigate how it was used, I figured I'd spare my sanity."

Tales from the Interview: The Missing Interview, Infantile Expectancies, & More

The Missing Interview (from Charles Ross)
I went for an interview to work as a junior IT support Engineer at a certain Royal bank here in Scotland. It was a late interview, around 4:45 in the afternoon, and I turned up at 4:30, sharply dressed, and with all the documents I'd been requested to bring. Since this was a bank and security was a must, I had a full five year history sitting in front of me.

Emergency Faxes

As far as technologies go, faxing is ancient. It predates the telephone by over a decade and, despite vast advances in scanning and email technology, the fax still remains a standard form of communication.

Passed Around

The rejection had taken three months to arrive, and now somebody, somewhere, owed Luis K an explanation.

Why had a required feature been rejected? He couldn't tell from the cryptic jumble of control codes and received/forwarded stamps that overflowed the "office use only" box. The internal trouble-ticket system just showed "handled externally".

Classic WTF: The Network Batch File Virus

The Network Batch File Virus was originally published on March 15, 2007.

The early 90s were exciting. Tim Berners-Lee invented HTML and created the first of the many internets we have today. A bunch of dancing dudes in foil costumes built the first Pentium processor. And who can forget Eritrea gaining independence from Ethiopia? Well, I could, but I wasn't following Ethiopian politics so much those days.

Nobody Does Business on December 31st!

Steve's phone gave its distinctive internal ring.

"Steve! Hey! Happy New Year, man! Jeff here from Corporate AR!" the caller was speaking a mile a minute. "I sent you a critical email. Did you get it yet?"

"Nothing yet, but let me refresh Outlook," Steve S. clicked Send-and-Receive and waited for a moment. "Okay... yeah, I see it. Go ahead."

Bad Code Offsets: Open Web Innovation

By now I'm sure you've heard of the Bad Code Offsets project. I announced it here back in November and gave a pretty exciting update in December, where we were able to give a whole bunch of money to some great open source projects. But what was especially exciting was the The $500 Good Code Grant.

Bring Your Own Code: Avoiding the Splice

One mistake that rookie carpenters will often make is to measure for trim molding – baseboard, casing, crown, etc – by the linear foot. Take the casing on a 7’ door, for example. Each leg of the door requires 84” of trim and the header needs 32”. If your house has 16 doors, and each side of the door needs 200” of trim, then that adds up to 533’ 4” (16 x 2 x 200”). And since you can get casing in 16’ boards, you’d need to order 34 boards to get the job done, right?

The Russian Plan

"If you want My Space or American-On Line web pages," Dmitri confidently told the Wall Street executive before taking another long drag on his cigarette, “then hire New York programmer to build.” He exhaled, filling the air in the posh Moscow bar with even more smoke, then leaned in to say, “but if you need real, smart, mathematically strong system, then you hire Russian. Who you think build Google? Russian!”

Dmitri’s words were mostly redundant. Even before flying to Moscow, the executive was convinced that The Russian Plan was the only way to go. As Dmitry put it, the perfect storm of a bankrupt Russian trading house, mixed with contract disputes, Kremlin intervention, and an untimely death or two, allowed him to acquire the source code and intellectual property rights to an advanced, realtime foreign exchange trading system.

Almost Any Key, Screwed By Dell, and More Support Stories

The CFO stormed in my office, with an unmistaken look of frustration on her face. "I just spent half an hour on the phone with T-Mobile," the grumbled, "I can't get my new BlackBerry to check my email!"

"Okay, let's see," I said, "Is it giving you an error?"

She tossed the BlackBerry on my desk, "it says my password is no good!"

Indeed, it was a password error. "Well," I responded, "I can change your email password if you'd like?"

Test No Software Before it Ships!

During the 1990's, Advanced Technology Solutions (ATS) was one of those companies that dabbled in several different buzzword-worthy markets: dial-up Internet service, custom system configuration, web development, to name a few. None of these were complete disasters, mind you, but none could be considered all that successful either.

Tales from the Interview: I Guess So, Computer Skills, and The Temporary Offices

The company I worked for was hiring a C++ developer, and I was assigned the job of hiring the candidates. When the scheduled start time of 1:30PM came and went, I went to the lobby to see if there was a scheduling mix up. At around 1:50, while I was chatting with the receptionist, a disheveled fellow walked in the door. "Is this Omni-tech?" he asked.

The Little Red Switch

On the back of your desktop computer, somewhere on the power supply unit, there might be a little red switch that toggles between 110/115 and 220/230 volts. You’ve probably never had to use that little switch, and you’ve likely avoided flipping it unnecessarily, lest bad things might happen. In fact, had it not been for the preceding sentences, you might not have even thought of that switch for at least a few more years. That had certainly been the case for Byron Schield, until he took a new job as an “IT Generalist” for a burgeoning logistics provider.

Classic WTF: The Chief Development Manager

"Wait a sec," whispered Chris’s coworker David, "he can’t possibly think this will solve the Build Problem? His idea is completely absurd!"

Classic WTF: It Doubles as a Saw Horse

A little more than a decade ago, John Rudd was a Computer Science student at the Georgia Institute of Technology. He worked closely with the university's IT department and played a vital role in the creation of a new state-of-the-art data center: he unplugged and labeled cables before the movers relocated the servers and plugged them back in at their new location. There was one thing that struck John as being a bit different: the data center wasn't fully built yet.

Maybe I Needing Later

You get what you pay for. Ondra M didn’t use those exact words, but that’s effectively what told his friend and colleague, Derrick. “There’s a reason it costs one tenth as much to build in Kerbleckistan,” were Ondra’s exact words, “there’s not only the language barrier, but time zone differences, cultural diff—”

The Proven Fix

There are lots of ways to ruin a batch of steel.
Just like making a cake, add in too much of one ingredient, add an ingredient at the wrong time, or heat everything to the wrong temperature, and it could all end in disaster. But in the case of a steel mill, we're talking about a 150 ton cake made of red-hot molten iron that's worth millions of dollars. Obviously, the risk of messing things up is a little bit higher.

Classic WTF: Lacking Knowledge Essentials

Between The Alliance / Bad Code Offsets, helping out the advertising team for Stack Overflow, the day job, and a new special project that Mark and I have taken on (to be announced soon), I have once again fallen behind on today's The Daily WTF article. But that's where I was hoping you might be able to help out.

Tales from the Interview

Not too long ago, TaxQuik announced major layoffs at the company, and I found myself to be one of the unfortunate few to be without a job. Nervous about being out of work, I found myself responding to just about every job posting that was remotely related to technology. Including a Monster job ad for a "Web site developer".

A Bit Off Kilter

There was something that seemed a bit off kilter about Victor C’s new boss. He was a nice guy and all, but his social skills seemed to be somewhat lacking. There weren’t any glaring red flags, but Victor noticed a few things in the interview – nervous leg bouncing, awkward small talk, and a way-too-frequent throat-clearing – that weren’t exactly typical. Then again, it was Victor’s first real job, so he hardly had a frame of reference. Maybe all programmer-turned-CEO’s had a few quirks like that?

Bad Code Offsets: An Update

Two weeks ago, I announced the Bad Code Offsets project. It's a way to undo the bad code you/other people have written without actually replacing the bad code.

Much like carbon offsets, money used to buy Bad Code Offsets goes towards open-source projects which not only produce good code, but produce software that helps developers build good software.

Special Delivery

Brad's phone rang with the telltale tone of an inner-office call. "Yeah," he briskly blurted out as he picked up the phone, "what'cha ya need?" That was actually his nice way of answering the phone. As the senior trader at Execor, one of the world's largest energy trading companies, Brad didn't need to impress anyone and, in his mind, displaying anything less than vicious hubris would be a sign of weakness.

Classic WTF: Smooth, Like a Factory

It's Black Friday! For those of you stuck at work (or not in the US), here's a fun classic. Smooth, Like a Factory was originally published on November 9th, 2006.

Daren S knew that his days were numbered. He was a troublemaker bent on changing The Way Things Were and The Director was hot on his tail. Though Daren worked discreetly, improving his coworkers' productivity a little bit at a time, it only was inevitable that The Director would eventually find out. One does not become The Director by letting such things slide.

Immutable Invoices

Back in the late-1990s, the Internet Service Provider where Simon C. worked was a mere micro-sized version of what they are today. Their website's original e-commerce system only needed to sell one thing — domain names, and a limited subset of them at that — so the shopping basket and invoicing parts of the system didn't need to be all that intelligent. They simply looped through each item ordered by the customer, displayed the description and prices of each one, and worked out the totals at the end. The whole process was so simple in fact that it made sense to the original developer to write the system so that the shopping cart and invoicing pages shared the same code.

CodeSOD: Starring The Admin

We've all been there before. You spend all this time building a kick-ass, ultra-awesome, super-sweet web application and then you realize you need to build some stupid "administration" module that needs to do the boring, run-of-the-mill things like maintain users, groups, privileges, and so on.

Introducing Bad Code Offsets

I have never written a bad line of code.

When I tell people that, they often scoff and offer replies like “so you’re not a programmer then?” and “let me guess, you’re a coding deity or something?” Well let me say, I am a programmer and I am not Codethulu, but in the same manner that Al Gore can fly around the world in a private jet without polluting, I have negated my bad code footprint through the purchase of Bad Code Offsets.

The Standard Way

Michael P. was feeling pretty tense – and really, who could blame him?

Today was no ordinary day. He was in the hot seat, presenting to the Software Advisory Committee - a multi-disciplinary group responsible for rubber stamping any and all new production application installations at MegaBank.

Posts