Recent Articles

Feb 2013

A Simple Misunderstanding

by in Coded Smorgasbord on

Some terrible code arises out of terrible business rules which no one truly understands. Some terrible code arises from laziness, sloppiness, or the need to just get it done now.

But there’s a special class of awful code that arises for a complete misunderstanding of how the language is supposed to work. That gives us things like the loop Rasmus found:


The Seven Year Itch

by in Tales from the Interview on

Say what you will about the life of a contractor, it's full of surprises. A seasoned veteran of the work-for-hire world, Don knew every gig came with a new environment and new people. So even though Inverness is no Edinburgh or Glasgow (it's more like the Scottish equivalent of Boise, Idaho), Don put his CV in for an IT manager role out there anyway. He was ready for anything... except his first phone call with Gordon, the company's hiring manager.

"I'm sorry," Gordon interrupted Don in mid-sentence, "you're a contractor?"


A CSV is as Good as RAM, Right?

by in CodeSOD on

Matt had heard the argument before. "Scientists can write code just as well as CS majors," his new supervisor at the research laboratory was saying. "As long as the language is mature, Turing-complete, and well-documented."

"Like MATLAB," Matt said.


Poor Planning

by in Feature Articles on

It began like any other day for Tim. He got his morning coffee and settled in. As he drained the cup, the bright mood drained from the day, as a dark cloud moved in to swallow up the office of the web solutions company. The CEO of Super Mega Foods, their largest client, was on the phone with his CEO. Everything Super Mega Foods did online was coded and built by Tim’s team. Their account generated enough revenue to pay half the IT staff’s salary.

Tim's CEO had a red light over his office door that lit when he was on the phone. It seemed especially bright today, as if burning a hole straight through Tim’s retinas. The longer The Light shone, the more Tim started to worry over his own work for Super Mega Foods. “Did I really get all the database changes synced?” “Have I misread the design specs?” “Do I need to update my resume?”


Black Hole Sun

by in Error'd on

"It's been unseasonably warm lately. Which is strange since the Sun has burned out," writes Runar Ovesen Hjerpbakk.


Inexception

by in CodeSOD on

Exceptions are a great source of stress and suffering. Each exception thrown by our application must be caught handled before the user sees it. Failing to do disturbs the balance of our application. We can use a generic exception handler, but we never can be truly certain we’ve found the true exception. So often the Truth is hidden within an inner exception. It may also be hidden within that exception’s inner exception .

To find truth, how deep must we go?


Best of Email: Automated Insecurity, Outdated Vacancy, and a Burnt Tongue

by in Feature Articles on

Automated (In)Security (from Carl Witthoft)

Here's a recent notice from our corporate security department. I'd face-palm except that it might set off the motion-detectors.


Invasion of the Consultants

by in Feature Articles on

The tension in the conference room was thicker than black pudding and twice as vile. Marc and his boss, Greg, sat on one side of the table. Across from them were the Consultancy Drones, each in a grey suit with a Bluetooth ear-piece pinned to their ears. At the head of the table sat Judy, the project sponsor. Projected on the wall behind her were Gantt charts and dashboards and metrics.

Much of what was on the screen glowed a baleful red.


Internet.toLowerCase

by in CodeSOD on

Parsing HTML is no walk in the park. With the possibility of unclosed tags and mismatched quotation marks on any given page, it’s a veritable minefield of horrible hypertext. However, there are dozens of reliable libraries that a developer could use to do the heavy lifting.

But the heads of the project that Pedro worked on had chosen the worst library they could find.


Base64 encoding is actually Finnish?

by in Error'd on

"Hold up GMail, you mean that Base64 encoding is actually Finnish? Consider my mind blown." wrote Steven Mocking.


Everybody Out of the (Hiring) Pool

by in Feature Articles on

In mid-2003, David was a naive student in his final year of university. But when he applied to the Belgian government's three new pools of French-language IT candidates (Belgium's other official language being Dutch), he wasn't surprised by the results. After two written tests and an interview for each pool, he was ranked top of the list for the Sysadmin and Programmer pools, and bottom of the list for Project Management.

Merely applying to the pools didn't guarantee anything, though: it only made you eligible for the positions that arose at a variety of government departments. It wasn't until October that David got a bite: L'Agence des Départements was offering an Oracle DBA position. Everything went like clockwork. Hands were shaken, questions were answered, evaluations were evaluated, and David was ranked top man.


Fork and Log

by in CodeSOD on

A few years back, Adam C. was brought in to help with some performance problems that appeared while load testing a VXML Platform. The project was already well behind and they couldn't figure out why the system kept falling over under a very slight load. To make matters worse, Adam had absolutely no prior knowledge of the system or its software other than Wikipedia’s definition of what VXML is.

A veteran to these sorts of situations, Adam grabbed a coffee, a donut, and then started picking through the application logs to get a feel for what the system is doing and where something might be going wrong.


A Burning Sensation

by in Feature Articles on

FireThe lights went out, and plunged the windowless confines of the IT offices into darkness. Monitors blinked off, fans spun down, hard-drive heads clacked into their safe positions. Not a single idiot light remained standing.

Robert peered into the darkness, looking for his co-workers. The room was abruptly lit by the dreaded, red, emergency light. The office turned into a photographic darkroom- the Darkroom of Death, as shouts and screams erupted from the corridors.


Security by Obsqwerty

by in CodeSOD on

Duane was thrilled to be starting his new job. He was already five years into his development career and while he had worked in a number of different areas, he hadn't spend any "professional" time in the one area he was most passionate about: security.

This is not to say that he hadn't spent a lot of his spare time learning as much as he could about various aspects of security. But it is difficult to find a job in the security field when the only mention of 'security' on your resume is in the "Hobbies" section.


More Zeroes...More Problems

by in Error'd on

Andy Miller wrote, "There should be enough free space, but I suppose, depending on how you look at it, that 427.90000000000003 is bigger than just 710.0."


ConFoo & QCon London

by in Announcements on

I know I've been a bit quiet on the writing front lately (big things happening at the day job and all), but I wanted to let you know about a couple upcoming events I'll be at. It's always fun to meet-up and give away these TDWTF mugs.

On February 27, I'll be speaking at the ConFoo  web technology conference, which is being held up in Montreal, Canada. There's  a tonne of sessions and a whole lotte of local and international speakers. Here's the talk I'll be giving.

Think Before You Code


Purchasing Enterprise Examiner

by in Feature Articles on

Managing a long supply chain involves keeping thousands of moving parts in lock-step. From purchasing to order management, demand planning to operations, even the smallest hiccup in the chain can have massive impacts.

So when lowly IT drone Tony got a phone call from the VP of Global Purchasing, he knew there was one hell of a hiccup. “We can’t find records for a thousand product codes in the system!” the VP shrieked down the phone. “We can’t place orders if we don’t know what we need! We’re trying to plan our vendor projects for the next quarter and-”


Encapsulation in the Hot Seat

by in CodeSOD on

Santosh K. had seen all the emails about the upcoming code audit.


Human Heat Sink

by in Feature Articles on

RadiatorAndrew nearly choked on his chicken noodle soup. "The research notes are due tonight?" He had been sick with a cold, out of the loop from the rest of the lab for a few days.

"That’s right," Dr. Steinbrenner, his lab mentor, said. "Look, do you want the explanation about the funding committee, the committee that formed the funding committee, the president flying to see his sick daughter--"


None for All

by in CodeSOD on

Hans used less XML, and now he had two problems.

He was used to the reporting webservices not working. The application had its own special ways of doing security. Often it could be traced back to forgetting the Important Special Code: a http header needed in every request.


19th Century MSDN Subscription

by in Error'd on

"MSDN subscriptions were great in the 19th century. Once the 1900's rolled around, I never bothered to renew it," wrote Josh Einstein.