Recent Articles

Aug 2008

Assembles Elucidation

by in Error'd on

"This is the 'user manual' that came with a USB drive caddy I bought a little while ago," Adny H wrote, "I'm so glad to have it since my previous removable drive wasn't so good with my machine plank, no matter how I conjunctioned the hard dish."


We Burned the Poop

by in Feature Articles on

Erik was in his robe, brushing his teeth and getting ready for bed when the doorbell rang. As he walked downstairs to see who it was, he was thinking that it was odd to have a late-night guest, especially on such a rainy night.

Standing at the door was his boss, holding a large cardboard box. Both he and the box were soaked, his eyes sad and his lip quivering. He stood there, motionless for several seconds, before opening his mouth to say, "Take some CDs. Take all the CDs you want."


2.20: The Onshore Team

by in Mandatory Fun Day on


When In Doubt, Choose "C"

by in Feature Articles on

“Wait a sec,” the Edutron Systems rep interrupted, cutting off the principal of River City High, “your students still use pencils and paper to take exams!?” The rep insincerely chuckled, adding “don’t tell me you’re still using slide rules to teach arithmetic!”

As shifty as the sales rep was, he did have a good point. It was 1993, after all, and the information superhighway was on the verge of explosive growth. If the principal knew one thing, it was that he – and most certainly, his students – did not want to be left in the dust. And if nothing else, Edutron Systems could help point River City High towards the onramp.


Encrypted For Your Security

by in CodeSOD on

"I have been helping a guy with a project," seebs wrote, "I wasn't originally involved, but when the three-month project was six-months late, I got called in to start on the other half. I still remember the sick feeling in the pit of my stomach when the developer told me "all fields are varchar for simplicity...'"

"There's a database of users who can log in. Now, we all know that you always store the password encrypted, right? Perfect, it's stored as MD5. Here's the three relevant fields in the database:


It Depends & Too Good To Be True

by in Tales from the Interview on

It Depends (from David)

Several years back, a "small startup on the verge of explosive growth" emailed me back after I had sent over my resume. They were interested in an interview. I went there, and their "office" was an old house in some shady downtown neighborhood that had four home-built computers jumbled together on an improvised table in the dining room with two guys in wooden chairs sitting around it. For a startup, I didn't think it was that bad, as many start up that way.


2.19: The New PM

by in Mandatory Fun Day on


SUSBSTITUTE_CODE

by in CodeSOD on

"Not too long after starting at my new job," Franc wrote, "I came across a rather unique way of noting what code needed to be fixed."

"This was the message came up when I went to build."


Whoops!

by in Error'd on

"This web design company should try and be a little more careful with their screenshots," writes Jeremy, "especially when advertising such quality icons like their Divine Mother icon."


(full-sized image)


It's Just a Truck

by in Best of the Sidebar on

Originally posted on the sidebar by "North Bus"...

Having just graduated with an electronics engineering Masters degree, I have been interviewing for jobs in my field from coast to coast. The most interesting interview so far, however, was actually from a major defense contractor...


Not in the Mood

by in Feature Articles on

Updates to the decades-old internally-developed bank management application had gone as smoothly as they could. No major issues moving from text screens on dumb terminals to text screens on Windows 3.1 to a GUI frontend in Windows 95. And now it was time for another major update; to give it the best GUI ever to appear in a decades-old internally-developed bank management application! And thanks to some good planning, respect for standard software development procedures, good tools, and a happy environment, the upgrade was going great!

That is, until the killjoys at Initrode Business Quotients threw a wrench in the operation. The application was actually more of a multi-application environment, all of which had to be able to talk to one another. As such, IBQ had to update its reporting application to work in the new environment. While their updates had gone almost as smoothly as those for the main application, they'd left out one feature.


2.18: A Breakdown in Negotiations

by in Mandatory Fun Day on


Unix? With QuikBill?!

by in Feature Articles on

“I’ve got an interesting little project for you,” Simon’s boss said as he stopped by Simon’s cubicle. He dropped a several-page document on desk and continued, “take a look at this letter we just got from EBS. We’d better jump on this soon.”

Dear Vendor,

As I’m sure you’re aware, our primary focus at Enterprise Business 
Systems is to enable our clients to formulate key objectives through 
strategic initiatives to develop a comprehensive strategy that will 
provide the critical foundation for creating a proactive, synergy
-driven directive for utilizing technological approaches to achieve 
cross-departmental   -- snip --

As such, beginning October 1, 1993, all vendors must submit invoices 
electronically through EBS QuikBill™, the latest in our suite of EDI 
products. Invoices not received in this manner will be discounted 2% 
and extended 60-90 days. Please contact your procurement officer 
immediately to get set up with EBS QuikBill™.

Sincerely,
Accounts Payable
Enterprise Business Systems

Error Error Everywhere

by in Error'd on

I have no idea how this happened," Barkin wrote, "but this is what greeted me when I came back from lunch one day on my dual-monitor Windows machine."


(full-size image, makes a great desktop background)


Doing the Heavy Lifting

by in Feature Articles on

After six years, Todd D. couldn't take the tedium anymore — his company refused to change with the times, and Todd wanted something more engaging. Seeing an opening at a publishing company, it sounded like the ideal change. He'd be going from a big software company to a more progressive publishing company with a software department; a good place for him to show his chops and actually make a difference. He aced his interview, as did the company — they'd proudly told Todd that they were happy to work with cutting-edge technology, had brand-new hardware, and a near-zero turnover rate. It was a no-brainer for him to accept their offer.

As he was about to head in to his first day of work, he got a call from HR. "Hi, Todd? I forgot to mention the dress code earlier. You'll have to wear a jacket and tie." Ugh, he thought, wondering if his suit was in presentable shape. At his last job he'd show up in a t-shirt and shorts. I guess I'll have to go shopping tonight. He dusted off his old suit, found a tie that didn't completely clash, and hopped in his car. If having to wear a suit would be the worst thing about his new job, it wouldn't be so bad.


2.17: The Viking Way

by in Mandatory Fun Day on


Deleted Software

by in Error'd on

At the top of the must-peruse list at Walmart – right after the bargain DVD bin – is the bargain software bin. There’s all kind of straight-to-jewel-case classics like “Slumber Party Su-Doku 3D,” “Microsoft Word ’98 Tutor,” and “Terror: Alpha Zero Midnight.”

Eric Brandel’s Walmart in Texas apparently took this one step further. Below the bargain bin is the worst of the worst: Deleted Software, which you shouldn’t even bother installing in the first place.


pider Detection

by in CodeSOD on

"I came across this snippet in our header file," wrote David, "it's a basic webspider detector that is used later on to record certain actions differently if $is_spider was set to 1."

"Rather than check the difference between 0 and FALSE (or use a more appropriate function), the original developer just dropped the first letter of each crawler name so that strpos doesn't return 0."


Poor Bananas

by in Error'd on

"Awww," Jay wrote, "those poor bananas."


A Barely Accessible System

by in Feature Articles on

Calculating the true cost of downtime is almost impossible. There's not only the obvious loss of labor to consider, but all sorts of indirect losses like missed opportunity, repair expenses, customer frustration and so on. Fortunately for Eric M.'s company, the management knows exactly how many real dollars it will cost them when their system -- "MCL," as I'll call it -- goes down. Eric's employer is a logistics service provider with a sole customer: a major U.S. automaker. His company is primarily responsible for getting the right auto parts to the right areas in the right plants, on time. Any unexpected delay or shipment error and the entire assembly line can shut down -- and when that happens, the service provider gets to foot the bill to the tune of $5,000 per minute.

To manage this mission-critical distribution operation, the logistics service provider trusts MCL. The MCL system is also responsible for running the rest of the company's mission-critical operations. As each of the 500-per-day trucks pull up to the company's massive warehouse with inbound material, MCL tracks and directs them to one of the 200 or so loading docks. Similarly, when the 300 or so crates on the trucks come in, their order number is scanned and the contents moved.


2.16: Giving In

by in Mandatory Fun Day on


Hot, Hot, Hot!, The Last Interview, and A Wrinkle in Time

by in Tales from the Interview on

Hot, Hot, Hot! (from Rob Sutherland)
In the mid 80s, a headhunter found me a good lead for a coding position at a (now-defunct) auto manufacturer. When I showed up to the headhunter's office, a very large and very scary looking woman took me out to the cafeteria so she could smoke during the interview. Different times, the 80s.

I could tell right away that she wasn't impressed with me. She lit up a cigarette, blew a cloud of smoke across the table, picked up my résumé, looked at it, grunted, flipped the page, grunted again, and tossed the résumé to the middle of the table. After another grunt, she glared at me and said "get a haircut!"


Are You Sure?

by in CodeSOD on

"There was a minor bug in one of my company's applications," Craig M wrote, "for whatever reason, it just hung after the 'Are you sure?' prompt."

"In an attempt to try and track down the problem, I popped my head into our UserInput class to ensure that the code was correctly validating the input. That's when I came across this..."


A Software Problem, A Marketing Solution

by in Feature Articles on

For Jason R., it was an exciting time. His company was trying to break into the telecom market with a new product that they'd get to build almost entirely from scratch. The only part that he wasn't excited about was that the major customers had very specific requirements that his team would have to meticulously follow. In this case, some bigtime POTS operators demanded that all servers must come from Sun, and any databases must be built on Oracle 8i.

One of the applications they were building had to interface with the clients' call data records (or CDRs). The most important use of CDRs is for phone bill calculation, so naturally they were stored in properly designed and indexed tables. The CDRs were stored alongside all billing records, and were frequently accessed by mission-critical internal applications, and they weren't prepared to expose all of that to a third party. So instead, Jason's company would have to construct CDRs on their own from the signaling message flow. Because the CDRs would be processed right away, they wouldn't even need to store them. The tentative architecture called for an Oracle database for CDR pipelining from the front end to the application backend.


2.15: A Very Hostile Takeover

by in Mandatory Fun Day on


Packing Done Right

by in Error'd on

Submitted anonymously, one of our readers' companies uses a lot of CMOS batteries from Dell. To save time and money, they asked for fifty spare batteries instead of having them delivered individually. Dell was happy to oblige, sending one giant box with fifty small boxes inside; each with one neatly-packed CMOS battery. I can't help but be reminded of a similar incident from the past.


More Entropy, Please

by in CodeSOD on

As we learned in Random Stupidity, developers don't really trust rand(), random(), Random.GetNext(), etc. Nor should they. The documentation, after all, clearly states that the function "generates a pseudo-random number." That's right, pseudo. Who wants pseudo?

The neat thing about pseudo-randomness is that, if you think about it -- and you don't think too much about it -- you can actually generate a real random number by pseudo-randomizing a pseudo-randomizer a pseudo-random number of times. It's kind like how two wrongs (either wrongly done for the right reason or rightly done for the wrong reason) make a right. Really, it's simple math.


Makin' It Fit

by in Souvenir Potpourri on

Ever since the first Free Sticker Week ended back in February '07, I've been sending out WTF Stickers to anyone that mailed me a SASE or a small souvenir. Nothing specific; per the instructions page, "anything will do." Well, here goes anything, yet again! (previous: Survival Edition).


"I work in a moped shop," Jeremy J Starcher (Tallmadge, OH) wrote, "and we, too, see our share of unexplainable things. A customer brought in a bike that had the wrong spark plug. REALLY the wrong plug. It didn't fit in the hole, so they used a series of spacers to "pad it out" about where the plug should be. The larger plug is included so you can see the difference."


What Do You Want on your Tombstone?

by in Feature Articles on

In an effort to gain marketshare, Initrode quietly built a new product — a network management appliance that out-featured and out-performed the competition's nearest equivalents. The R&D, testing, production, infrastructure, trade shows, demos, trials, last-minute feature additions, sales, and late nights had taken their toll on Chris W. and his colleagues, but they had built something they were genuinely proud of in the end.

The launch went smoothly from a technical perspective, though initial sales were underwhelming. After several months, their sales were paltry.


2.14: But Why?

by in Mandatory Fun Day on


The Dream Customer

by in Feature Articles on

"It's the strangest thing — I can't connect to the wireless anymore. I can still use the Microsoft but not the email."

The Microsoft was a key phrase that let Jay L. know that the woman on the line wasn't exactly what you'd call a power user. "I'll be happy to help. First, can you tell me what router you're connecting to?


Please Drive Thru

by in Error'd on

"I took this picture from my cell phone at the Wendy's drive-thru," Chris Jones noted. "Somehow, the total still came out correct."


Sampo Uh-Oh

by in Feature Articles on

Over the course of 100-plus years, Sampo Bank had grown into one of the largest banks in Finland. Since its founding in 1887, Sampo stayed ahead of the technology curve, introducing the first modern payment system -- the postal giro -- in 1939, becoming Finland's first adopter of IBM's "electronic brain" in 1958, and amassing nearly one million users of its online banking service by 2006.

But alas, in today's acquire-or-be-acquired world, Sampo was swallowed up by Denmark giant Danske Bank. On Nov. 9, 2006, Danske announced not only the acquisition, but that it would integrate all IT platforms -- online banking, merchant processing, account management and so on -- in 1 year, 4 months and 15 days, by Easter weekend of 2008. And come hell or high water, they would meet that date.


2.13: The Demo

by in Mandatory Fun Day on


Traffic Enfarcement Camera

by in Error'd on

I’m not a fan of traffic enforcement cameras, especially as they're implemented here in Ohio and other states. There’s just something that seems a bit off about turning a criminal infraction into a “civil violation” so that some company can issue, process, and offer even offer an administrative “appeal procedure” for these violations, all while getting a large cut of each one.

Of course, maybe I’m just a bit too cynical about this. After all, proponents say that cameras keep us safe and that the millions of dollars in extra revenue is just gravy. Besides, computer systems don’t lie and there are always trusted personnel issuing these violations to ensure that justice is served… right?


Please Think Twice

by in CodeSOD on

"While reviewing some of our older code," Rob Jacobs wrote, "I stumbled upon this."

// NOTE: Please think twice before changing the next line of code ;-D
// Store float binary in char array
*((unsigned int*)(&x[4])) = *((unsigned int*)(&value)); 

Follow-up: Redirection with Smoke And ... Smoking

by in Feature Articles on

Back in August of 2006, I published Redirection with Smoke And ... Smoking. Among other things, the article described what the experience was like for visitors to Marlboro.com:

If you were using something other than Internet Explorer, you likely experienced a familiar sight: a blank page as a result of the site being coded for IE only. In and of it self, that's not too big of a deal, even for #20 on the Fortune 500 List, Altria.

The fun part, however, was why Marlboro.com only worked in IE. To redirect visitors to actual content, they programmatically set the HREF property of a hyperlink on the page and then executed the (IE-Only) click() method on that hyperlink. That meant a noticible redirect for Internet Explorer and a dead page for everyone else.


Connect Over What!?

by in Error'd on

No thanks, MSN Messenger, I'd rather not.


(submitted by Kamil K.)