Recent Articles

Oct 2008

What the Ad?

by in Feature Articles on

A few weeks ago, TDWTF contributor Mark Bowytz shared some fun classic computer ads. Apparently, Mark has an entire attic filled with Byte magazine and other '80s computer magazines, and has dug through them to pull out some more. Stay tuned for more What the Ad?...


Here, Mr. Shatner says, in his smoothest voice, "Buy a Commodore, you know you want to. Look at the features - appreciate the value. I know technology. I know computers, I'm. the. Captain. Of. The. Enterprise!!"


One In 3.4*10^38

by in CodeSOD on

Jonathan did a double-take when he glanced over this function:

Public Sub KillTheChildren()
   Dim objIntegrationAccount As IntegrationAccount

   For Each objIntegrationAccount In mcolItems
      Set objIntegrationAccount = Nothing
   Next

   Set objIntegrationAccount = Nothing
End Sub

Persistence is Key and The Nightmare Dream Job

by in Tales from the Interview on

Persistence is Key

After two years, Thomas B. had become somewhat bored with his job. He was the first developer the small TV station had ever hired, and while he enjoyed building a PHP-based CMS that they'd use internally, over time his job had essentially been reduced to babysitting the web site. He accepted another offer and told his boss about his plans to leave.

Since the CMS had been built from the ground up and Thomas was the only one who knew everything about the system, he was an integral part of the interviewing and hiring process. His boss delivered him six résumés and told him that all six of those candidates would be in that day. Thomas hadn't been given much time to review the résumés, so he just had an opportunity to skim them before the first candidate arrived.


Floor -1

by in Error'd on

“A popular job interview question goes something like, ‘program me an elevator control system,’” Stephen writes, "apparently, the elevator company never thought to ask their programmers that question."


Effective Immediately

by in Feature Articles on

Photo Credit: sparktography @ FlickrEvery job has its quirks. That’s what Kirk reassuringly told himself on his first day of work after meeting the company’s most egregious quirk, The Colonel. Kirk wasn’t quite sure if the impeccably-dressed man’s gruff introduction – which solely consisted of looking Kirk up, then down, then up again, and scoffing “that’s a pretty sad excuse for a Double Windsor” – was in jest or contempt, so he stuck with a the more palatable label of quirky. Fortunately, by the time Kirk realized that deranged was much more appropriate than quirky, he knew that he’d never have to personally work with The Colonel: the chain-of-command simply wouldn’t allow for it.

Having spent the larger part of his life in the military, The Colonel faithfully chose the same rigid structure for his civilian venture, a technology start-up that developed real-time logistics tracking systems. The “high-discipline” company worked well for the first year or so, as The Colonel had only hired ex-military employees and had only solicited to the military. However, when it came time to expand into the private industry, a few concessions were needed to attract the less-disciplined civilian talent: health benefits, sixty-minute lunch breaks, casual Fridays, etc. Of course, the company’s core values – chain-of-command, strict rules, top-of-the-line accommodations for executives, and so on – would never change.

A Good Problem to Have


Where'd param3 Go?

by in CodeSOD on

When I'm creating a function, I try to make sure it passes two simple tests:

  1. Using the function should require less code than just duplicating what the function does, and
  2. whatever the function does shouldn't be the same as a built-in operator

That said, this code that Paul G. sent in doesn't meet my criteria.


The Ralph Code

by in Feature Articles on

Ralph's rage was the stuff of legend – and it was equaled only by his anal-retentiveness.

Ben had heard horror stories about Ralph and shrugged them off as exaggerations fostered by years of oral tradition. If the rumors were to be believed, Ralph could breathe fire and was the height of three men. Probably the stereotypical Nick Burns-esque IT guy, he reasoned.


No Peas for Me, Thanks

by in Error'd on

Matt K., I really hope you didn't eat these.


Extensive Date Parsing

by in CodeSOD on

If I had a dollar for every time I've seen someone doing custom date and time parsing, I'd have somewhere between eight and ten dollars. It's just not something you see much of these days. All major programming languages have built-in support for parsing dates, times, currency, etc., and programmers are pretty good about using them.

When I have to parse a date, I take the simplest approach I can – something like Date.Parse(dateString). This is because I am a programmer and not an engineer. An engineer on Benjamin B.'s team uses a different approach. It works incredibly well! It says so right in the snippet below!


Cached Out

by in Feature Articles on

As a development manager at a midsize custom software shop, Kyle had seen his share of sticker shock. Fooled by the "Custom Apps, Only $499.99" -- type ads seen in the back of popular tech magazines, naive entrepreneurs would occasionally approach Kyle in the hopes that his company could build the next dot-com wonder-site overnight for $1,000, or maybe $2,000.

For this reason, Kyle had learned to start things off by reminding the seemingly less-serious prospects that custom software is often a five- to seven-figure investment. But before learning this trick, he found out the hard way that many companies have no intention of spending that much on software, no matter how productive their businesses will become or how much money they'll save.


What is <3?

by in Error'd on

"I thought I'd be a little geeky-romantic with my girlfriend and write a sweet note to her," Jonathan writes, "however, it seems Amazon.com did not really like the idea and suspected '<3' as being malicious."


The Receptionist Test

by in Tales from the Interview on

"When you work in computing services for a university, you spend about as much time on high-minded development as you do un-jamming printers and resetting passwords for faculty," Ed G. writes. "It's not ideal, but it's a living." It was time to get some new staff, and after being burned by some previous employees that could talk the talk, but not walk the walk, they devised a new litmus test for potential hires, called "The Receptionist Test."

It's quite simple, really. When an applicant arrives for an interview, (s)he spends at least five minutes waiting in reception. During this time, the receptionist stages a minor tech support problem and asks for the applicant's help.


Math.Min(x, x - 0) = ?

by in CodeSOD on

Call it confirmation bias, call it superstition, but as developers and human beings, we're all susceptible to it. Say you're working on a particularly tricky bit of code, so you've fallen back on the "try all kinds of crazy crap until it passes the specific test case" method, an invaluable tool for all developers. You find an approach that works, and while you're not sure exactly why it worked, you keep it in mind for the future.

In Robert L.'s case, he found the snippet below:


The Blight

by in Feature Articles on

Photo Credit: sparktography @ Flickr It was 11:30 in the morning, and Dante (as we'll call him) was more than ready for lunch. His stomach let out a low growl to remind him that he'd skipped breakfast and had a light dinner the previous night. Embarrassed, he leaned forward to stifle the growl. Just 30 more minutes. Dante wished he could go to lunch right then, but his colleague that he was going with was in a meeting until noon. He tried to keep his thoughts on other things, but couldn't stay focused. His pencil cup looked like it was full of pretzels, his wall clock looked like a cake, and the nearby receptionist looked like ham. His hallucinations were interrupted by the phone.

"Yeah, Dante, this is *SNORT* Earl. Gonna need you to *HACK* come down by my office for a bit." His caller then spit what could only be described as a phlegmy disaster. The kind of horror that defies otomotopeia.


Almost All-Electronic

by in Error'd on

"I've signed up for online, 'All-Electronic' billing," Dave H writes, "and no matter what I do, they continue to send me monthly notifications in the mail telling me that my bill is now available online. "


TODO: Better Name

by in CodeSOD on

Reminder: Survey Time! Please take a few moments to fill out the brief The Daily WTF Reader Survey. Thanks!


"About halfway through an important project at Initrode," wrote Pat P., "the consultant team was augmented by a new member. Nothing notable you might say except for one fact: she was a girl. And not just any girl. She was attractive. Very very attractive. And if it wasn’t unjust enough that all developers were tormented by the daily sight of something so charming and yet elusive, Rachelle - the new team member, proved to be a very competent and effective programmer."


Yo Ho, Yo Ho, A Pirate's Life for Lee

by in Feature Articles on

Survey Time! Please take a few moments to fill out the brief The Daily WTF Reader Survey. Thanks!


On Steve J.'s second day on the job, he wasn't quite sure what to make of Lee. Steve had only briefly met Lee the day before while he was getting his first day rites of humiliation — awkward introductions to all sorts of people with the typical mutual feigned interest. Lee was different, though. Lee's back was to them, he had a pair of headphones on and was nodding his head to the beat, gently drumming his fingers on the keyboard.


CAN'T READ

by in Error'd on

Survey Time! Please take a few moments to fill out the brief The Daily WTF Reader Survey. Thanks!


"My boss showed me his new AARP card," R Handorf wrote, "I guess I wasn't the only one who noticed that he started wearing bifocals."


Anatomii of a Hack

by in Feature Articles on

In the 1980's we loved Nintendo. And even better, in the 1980's Nintendo loved us. They gave us games, we played them. They gave us cereal that was basically Kix with fun Nintendo-themed boxes, and we ate it and pretended to like it. They gave us movies like Super Mario Bros., widely considered the greatest film in the history of filmmakingcitation needed. We watched the cartoons, learned how to Do the Mario (ideal if the Macarena is too complex for you), slept in the sheets, memorized the codes, subscribed to Nintendo Power, and hooked up all manner of ridiculous equipment to our TVs.

Lately, though, Nintendo has all but turned its back on us. Mainstream acceptance of the Wii has resulted in less core games like Pikmin and F-Zero, and more casual games like Big Brain Academy, WiiFit, Babyz Party, and Bob Ross Painting. And seriously, who wants those? I'm pretty sure the Big Brain Academy isn't accredited, we're not 40 year old women, parties attended only by babies are just awkward, and Bob Ross... actually, that game sounds pretty rad. Still, Nintendo hasn't been servicing the core gamer as much as they did in the SNES days, so many of us have moved on to the Xbox 360 and the PStriple. Hector Martin, however, is more ambitious, and set out to do what any real geek would. Try to hack the thing!


For Security Purposes, Of Course

by in Feature Articles on

If you think back to the last job you regretted taking, there’s probably at least one non-defining moment that you wish you had paid more attention to. To any outsider, that harbingering moment – be it when the boss asked you to pick up his drycleaning (jokingly, of course) or when your coworker gave you the “First Day Hug” – would have immediately sounded the something-is-seriously-wrong alarm. But, blinded by optimism of the job opportunity, that moment – and many subsequent other moments – get simply written off as “quirks of the new job.” For Leigh, who had recently started as a development manager at a small software shop, that first non-defining moment was on her first day, when she met Shredder.

Shredder didn’t get his moniker by wearing a spiked helmet, purple cape, and blade-covered metal pauldrons. In fact, he even had a soft spot for ninja turtles. As it turned out, Shredder’s name came from the fact that his job entailed feeding sheet after sheet of paper into the company’s relatively-small paper shredder. That, and tech support.


A Low-(null) Diet

by in Error'd on

Eric Lizotte's wife bought some granola from Wild Oats because it fits in to their low-null diet.


Won't Somebody Please Think of the Children?

by in CodeSOD on

I can't imagine a world without content filtering. Just think of all innocent children, parents, and grandparents that would be irreparably harmed from seeing those certain vile combinations of letters that we call "swear words." While I've been forever changed by seeing such words, I long for the days when I thought that "f...ing" was just a short way of writing floccinaucinihilipilificating. And I truly believe that it's my duty to protect the innocent from being exposed to those dastardly words and let them believe that an f-bomb simply refers to a friendly-bomb, as in, a shower of hugs and kisses.

Paul G. is in a similar position. When their application was moving to a new architecture, he was in charge of migrating the content filtering code. Since he hadn't had to look at that code in a while, he searched the entire codebase for the regular expression "f..king." OK, fine, he searched for the actual word; I'm just pulling it out for those of you with content filters at work. Anyway, his search led him to the following:


A Book Review: 2000 Insults for All Occasions

by in Off Topic on

One of my all-time favorite pastimes is saleing. Garage saleing, yard saleing, rummage saleing, you name it. If there’s a large pile of household junk that someone’s selling, then I’ll be there, picking through it. It’s hard to explain; there’s just something sublime about finding stuff that I definitely don’t need and then incessantly haggling over its price.

Like all passionate salers, I dream that one day I’ll find that Joseph Decker original worth a cool million and actually fork over a full $5.00 for it. But until then, I’m perfectly content with the “lesser treasures” that I’ll come across, such as Louis A. Safian’s 1965 masterpiece entitled 2000 Insults for All Occasions.


The .NET Bridge to Nowhere

by in Feature Articles on

For as long as The City (as I'll call it) has supplied water to its residents, it has had one big headache called "The Annual Water Survey." Like residents of all large metropolises, The City's residents want to make sure the water they drink has only a miniscule amount of the "bad stuff," such as heavy metals and pathogens, and just the right amount of the "good stuff" -- chlorine, fluoride, etc. The water survey -- a 100-plus-page report that details test after test after test -- was their vote of confidence.

Compiling the survey had always been a long and tedious process. At first, field technicians would take samples from across The City, add drops of various indicator chemicals and record the results in their logbooks. From there, lab technicians would transcribe the numbers and use special slide rules to create tables of meaningful results. Typists would then compile the various tables into a giant binder and send it off for duplication.


Sensitive Computers

by in Error'd on

"I took this picture at the local post office," George writes, "I guess they must have installed the same computers they use in airplanes and hospitals."


Routers, Routers, Everywhere

by in Tales from the Interview on

CommQuack hires like crazy. They hire in good times, they hire in bad times. They hire before, during, and after periods of massive layouts. Only one department was sheltered from the endless churn of hirings and layoffs — HR. For a company of ten thousand people, the fact that one thousand of them worked in HR should tell you something.

And the HR staff was busy. Résumés came in by the hundreds, and those that weren't referrals from existing employees were fiercely fought over so that the first person to grab it could claim the bounty. The HR staff were paid near-minimum wage rates, and like time-share salesmen, they were paid primarily on commission. Each referred employee that turned into a hire netted the referrer a cool $5,000.00. The upshot of this is that this meant that if you were qualified but not referred by someone in HR, you didn't get hired. The upshot of this is that a lot of unqualified boobs got hired. After interviews from HR, the candidates would be sent to the departments they hoped to work for, which meant that Grig L. had to conduct many of the interviews.

The Applicants


Out of All the Possible Answers...

by in CodeSOD on

 

"When we interview people," cablecar wrote on the Sidebar, "we give them simple programming tasks to test their ability. The below code was an attempt to solve a problem I found on Project Euler. It's from a candidate for a senior development position with '10 years of PHP' experience.


The CEO's Sycophant

by in Feature Articles on

No one really liked Martin P. This is not to say that Martin was unlikeable per se, it’s just that everyone seemed to have a hard time getting over his unofficial title: the CEO’s sycophant.

In all fairness to Martin, he never really aspired to become the CEO’s sycophant. Or anyone’s sycophant for that matter. He simply saw a job advertisement – Windows Software Engineer – applied for it, interviewed, and accepted the offer. Little did he know that he’d be the company’s first non-UNIX developer. Or that he’d report directly to the Head of Research & Development instead of one of the several development managers. Or that the Head of Research & Development also happened to be the CEO.


A Bit More Involved

by in Error'd on

"Looking back," Nathan Redding wrote, "I really should have taken advantage of this offer. I'm not quite sure we'll see 0% interst rates with $0.00/month payments again any time soon..."


Code Dendrochronology

by in CodeSOD on

As the seasons change and years pass, trees accumulate rings that can be used to determine the age of the tree. This is a result of seasonal growth — the inner section of each ring is formed in the early part of the rapid growth season; this wood is called "early wood" (*snicker*). Then as the temperature changes and growth slows, the darker outer portion of the ring forms ("late wood"). And who can forget the classic scene from Vertigo in which Kim Novak's character hints at a passion for dendrochronology as she finds the years of her birth and death on the rings of a tree. Why do I bring this up? Because seeing bits of the past frozen in time is fascinating.

Nathan B. was called for help when an internal Access application was hanging. After some tinkering, he found that it wasn't hanging, as three reports had successfully printed and the fourth was on its way — it was just taking three times longer than it usually did. Sadly, the reports had to be done that day, and at this pace, they'd still be printing until 6:00 the next morning.


A Completely Different Game

by in CodeSOD on

For several years, Clint's company has been working on a game that's undergone several engine and tool changes. And I'll stop you right there- it's not Duke Nukem Forever because this game exists, and has been released.

If you've ever seen or worked in a codebase that has seen significant change, you know that the replaced component is seldom completely exorcised. Little hooks from it remain in some random function that need to stay there or else everything breaks. To give you an idea of some of the changes this game's codebase has seen, have a look at this:


The Hot Room

by in Feature Articles on

For as long as anyone could remember, there had always been two server rooms: the Cool Room and the Hot Room. The Cool Room was exactly what you’d expect a server room at a mid-sized technology services firm to be: floor-to-ceiling racks along the walls filled with various servers, battery backups, monitors, and KVMs, all tied together with Ethernet and power cables that were neatly tucked in their trays. And, of course, it was a cool 65°F thanks to a pair of dedicated air conditioning units.

The Hot Room, on the other hand, was more like a server closet. It was a cramped 8’ by 10’ room that housed core telecommunications equipment including the firewalls, routers, switches, VPN concentrators, and the PBX system. This room also served as the central hub for the facility’s wiring and had hundreds of cat5 cable running through countless junction boxes. And, of course, it was a sweltering 98°F thanks to all of the equipment that had become even hotter to the touch.


Unprepared For Divide_By_Zero

by in Error'd on

"All I want to do was take out some cash at the Huntsville, Alabama airport," Monty wrote, "unfortunately, I wasn't quite prepared and my brain threw a Divide_By_Zero error."


Meet Burt

by in Feature Articles on

"Root beer guy." That's what Dale had always called Burt in his internal monologue. He occupied a similar space in Dale's mind with "Too much makeup" lady, "I always go tanning" guy, and "I always talk about horses" lady. Burt was one of the ever-present background characters of the office, his only differentiating trait a bottle of root beer. And even though he was a net-admin and Dale worked helpdesk, their paths had never really crossed.

That all changed one day when groups from the two departments went out together for lunch. This moniker Dale had assigned to Burt was reinforced when the both lined up when they were about to buy their tacos. "Anything to drink?" the taco-hawking seductress asked.


The Substandard Standard

by in CodeSOD on

Michael F. arrived to an ugly sight — an inbox full of messages with the same subject line. "ERROR: Invalid data near '<Carrier '" And that could only mean one thing. The shipping software company had released a patch to their web service. Having suffered through updates of ClearPath Logistics' software before, he knew exactly how this was going to go.

First, he typed up his usual message that boils down to (and I'm paraphrasing here) "WTF?" He had a contact, Dogan, that he usually alerted when their patches broke things.