Article PQK8 Dual Helix

Dual Helix

by
Erik Gern
from The Daily WTF on (#PQK8)

Bruce B., a recent high school graduate in need of a job, thought it was a good opportunity. A friend had set him up with a job at a one-man development shop. His new boss, Louis, would provide on-the-job training, and it paid well for an entry-level position.

Louis met Bruce at the former's house and led him to a basement office. "Your friend told me a lot about you, Bruce," Louis said. He had a smile like Jack Torrance from The Shining. "Is it true you can already program?"

DNA_helix-structures.jpg

"Oh, sure," Bruce said. "I've been coding C# for a while now. I've learned how to use classes and interfaces-"

"C#? What a useless language." Louis waved his hand. "I've got the real deal."

Louis led Bruce an Apple LC. On the screen were displayed rounded rectangles, with labels such as "Unique" and "If/Then/Else", linked together by arrows. It was as if someone had created a flowchart using children's wooden letter blocks.

"Helix," Louis announced. "The pinnacle in computer programming languages."

A Normalized Genome

Double Helix, Louis explained, was the most advanced version of a series of database management systems, using a fully-graphical programming language for its procedural code. Introduced early in the 1980s, Helix became a niche product by the end of the decade, overtaken by dbase and other, less GUI-reliant relational databases.

"I'll give you an ebook that will teach you the language," Louis said. He stared longingly at the screen. "It's truly a magnificent piece of software."

Bruce shook off the cultish feeling that afternoon before reading Louis's email. He had attached a PDF of Riding the Helix Express. Bruce stayed up all night, reading it in morbid fascination.

The next day he mentioned a passage on normalization to Louis. "The book doesn't go into much detail. What do you use for normalization?"

"What? Forget that." Louis waved his arms around. "In fact, delete that book. It's no good. Helix doesn't need old-fashioned normalization. It has its own way of normalizing data."

Bruce didn't remember that part from Riding the Helix Express, but Louis had already moved on. He put Bruce to work correcting some records in a car dealership's database.

Flowchart DNA

None of the data, Bruce discovered, had been normalized. Salespeople would routinely mistype IDs and other fields, filling the database with mismatched data. In fact, there was no validation on any fields. As Bruce worked on other databases Louis had created, he found similar data integrity issues.

Louis's Helix code, which Bruce routinely had to troubleshoot, was worse. Those block-like flowcharts were much harder to follow than a regular, typed programming language, exacerbated by Louis's spaghetti coding patterns. Fixing it was like untangling Christmas lights.

But the money was good, so Bruce kept coming into work.

Meanwhile, Louis showed growing disappointment in his new hire. "Bruce, I don't know why I put up with you. You're always critizing my work, you don't follow my advice, and I've seen you reading that ebook I told you to delete. I really need you to shape up, or I'll have to let you go."

Unwound Helix

One day, Bruce arrived in the basement to find Louis in a huff.

"I've put up with your shenanigans all summer, Bruce. 'Normalization,' 'indexing,' it's just one excuse after another with you!" He pointed at his screen. "Now, this procedure isn't working. Show me you're still capable of doing this job."

Bruce sighed, sat at his computer, and tried to make sense of Louis's code. It was the worst tangle that he had seen since he started working for Louis. Worse, Bruce had skipped his coffee that morning, leaving him unable to concentrate.

"I don't think I-"

"Gaaah!" Louis pushed Bruce aside and sat himself in front of the computer. He started playing with the blocks, teasing apart the code. Bruce, sitting nearby, watched in silence, listening to the clock ticking on the wall, the click-click of the mouse, Louis's little groans of frustration. The Helix code swam in front of his eyes, filling the room, enveloping him-

Bruce woke just before he hit the floor. He had fallen asleep and slipped out of his chair.

Louis, caught up in his work, hadn't even noticed.

As his boss continued to untangle his own Helix code, Bruce quietly wrote a resignation note and left it on his desk. In his opinion, Double Helix should never have left the 1980s.

inedo50.png[Advertisement] Use NuGet or npm? Check out ProGet, the easy-to-use package repository that lets you host and manage your own personal or enterprise-wide NuGet feeds and npm repositories. It's got an impressively-featured free edition, too! TheDailyWtf?d=yIl2AUoC8zAZNFSbCI2RDM
External Content
Source RSS or Atom Feed
Feed Location http://syndication.thedailywtf.com/TheDailyWtf
Feed Title The Daily WTF
Feed Link http://thedailywtf.com/
Reply 0 comments