Remy Porter

Computers were a mistake, which is why I'm trying to shoot them into space. Editor-in-Chief for TDWTF.

Nov 2014

Genderize

by in CodeSOD on

If someone suggested that you write a function which, given a person’s name, tells you what gender they are, you might caution that this is a hard problem. You might suggest a solution like a Bayesian classifier, which could be trained, or you might say, “Maybe we should just let the users tell us.”

There are a few things you almost certainly wouldn’t suggest. You wouldn’t suggest using ColdFusion , because CF is constructed out of sin and unicorn tears. And you certainly wouldn’t suggest trying to use regexes to do this job.


What a SAP

by in Feature Articles on

On day one of the project, Kenneth was given a single rule that was to be followed under all circumstances. “You do not talk to the SAP contractors. They’re too busy, and their time is too valuable. They do not have time for front-end developers.”

As a front-end dev, Kenneth was used to being told to take his crayons and get back to work. A front-end dev forbidden from talking to the developers behind the back-end? What could go wrong.
Gift box icon
What’s in the box? And why does it smell so bad?

The product was a “redeem points for cool products” system. A customer could purchase a gift-box. The outside of the box was labeled with a public code, and the inside was labeled with a private code. A user could enter both codes into the system to redeem points. Those points could then be used to buy tchotchkes from their web store.


Citizen Blaine (Pt 2)

by in Feature Articles on

Citizen Blaine is the story of one genius developer’s career. Last time, we saw the start of his arc of success. He started by accomplishing the seemingly impossible, and moved on to design the impossible system.
We last left Rich, the desparate developer on a deadline, trying to trace the mystery of Blaine’s last word- “Rosebud”. His search brought him to Dave, the salty and rude developer who maintains SLED, part of Blaine’s legacy.

“So, Blaine leaves the SLED team to go start his supply-chain crapfest, right?” Dave said. “And allllll of the problems with SLED are somebody else’s fault.” Dave’s eyes picked up an evil gleam as he turned to Rich. “He was home free… until Franz came in.”

SLEDding Uphill


Citizen Blaine

by in Feature Articles on

Rich had a five-alarm project. Six months ago, the legal department became aware that government regulations on labeling would change. That information slowly ground its way through the intestines of the company, until a pile of poorly documented, barely specified changes landed on Rich’s desk. If he didn’t implement those changes in the next 48 hours, a half-million units of commodity chemicals were about to pour out of a processing plant and be illegal to ship.

The problem was confounded by the nature of the labeling system. It was tied into a home-grown, supply-chain management system. Theoretically, it was a one-stop shop for everything- formulations, MSDSes. In reality, it was a complicated thicket of unrelated applications which dragged data around between various silos, and usually crashed in the process. Rich had no idea what this change was going to involve. Only one person, the head of the Supply-Chain IT team, could point him in the right direction: Blaine.
Rosebud, the sled
Blaine’s office was normally crammed with the awards, trophies, and various “atta-boy” certificates which honored him for a job well done around the company. Today, the walls were bare, and all of those meaningless honors were piled up in a box on his desk. Blaine ignored Rich, and finished packing his box.


Brick by Brick

by in CodeSOD on

Jannik worked for a company known for a line of building products . They were an international company, which meant they had to make sure their website supported multiple languages. They embedded this information into the URL, eg http://company.com/eng/orders.

They tracked the list of valid languages in an array: