raganwald
(This is a snapshot of my old weblog. New posts and selected republished essays can be found at raganwald.com.)

Monday, October 22, 2007
  Mea Culpa


At one time I was just scraping by selling my own classified advertising software for desktop publishers. One user was XTRA, Canada’s largest newspaper for the Gay community.

Naturally, their database of customers and ads was sensitive. But I needed to take it home from time to time to debug things. So I wrote a “scramble” routine that shuffled names around, changed all the phone numbers to 555-xxxx, changed the credit card numbers randomly, and so forth. When I needed to take the database off-site, I would log out, duplicate the database, log back in, and run the scramble routine on the dup.

The menu item for this routine was called “Fruit Salad,” and it only appeared when I logged in. One day I was at their office debugging something, and their manager saw the menu item.

“What’s that?” He asked. I was embarrassed, it suddenly occurred to me that my little joke was inappropriate and insensitive. “Uh, nothing…” I stalled, and while I tried to make up a good explanation, he grabbed the mouse and selected it.

On the live database.
 

Comments on “Mea Culpa:
OMFG!
That is too funny! I don't know whether I should laugh at you for sticking your foot in your mouth or feel sorry because you lost all your data on the live database! Either way you must have had lots of "'xplainin' to do"
 
Holy crap! When I read that my body immediately reacted, like it had just happened to me: I got the pit in my stomach, the adrenaline rush/tingling sensation all over, etc. *shudder*
 
Holy cow.

Were there backups of the database?
 
> On the live database.

No, no, NOOOOOO!!!

Pfew, it was a nightmare, I was just reading a blog,...

Thanks for the thrill!
 
Reminds me of many a Dilbert strip and Shark Tank story…
 
If I had had a recent backup of the database, this story wouldn't be interesting.

Sigh.
 
At least you were able to demonstrate why you'd called it Fruit Salad. Wait, you were calling it Fruit Salad because it's purpose was to mix things up, weren't you?
 
I almost wish I had done something that stupid just so I could have the pleasure of retelling the story.

Almost.

Sorry, did I call you stupid? My mistake.
 
Why didn't the link also do the backup procedure?

That way you could guarentee that you never worked on the live db.

Oh, and no matter how private some functionality is, it should have a proper name.
 
A more descriptive name would have been Salad Tosser, except, wait...
 
Did you have a backup of the data? What did you do ? come on you got to tell us what happened.
 
Ooh, I feel bad for you. Did you know that there's a Vancouver gay radio show named 'Fruit Salad'?
 




<< Home
Reg Braithwaite


Recent Writing
Homoiconic Technical Writing / raganwald.posterous.com

Books
What I‘ve Learned From Failure / Kestrels, Quirky Birds, and Hopeless Egocentricity

Share
rewrite_rails / andand / unfold.rb / string_to_proc.rb / dsl_and_let.rb / comprehension.rb / lazy_lists.rb

Beauty
IS-STRICTLY-EQUIVALENT-TO-A / Spaghetti-Western Coding / Golf is a good program spoiled / Programming conventions as signals / Not all functions should be object methods

The Not So Big Software Design / Writing programs for people to read / Why Why Functional Programming Matters Matters / But Y would I want to do a thing like this?

Work
The single most important thing you must do to improve your programming career / The Naïve Approach to Hiring People / No Disrespect / Take control of your interview / Three tips for getting a job through a recruiter / My favourite interview question

Management
Exception Handling in Software Development / What if powerful languages and idioms only work for small teams? / Bricks / Which theory fits the evidence? / Still failing, still learning / What I’ve learned from failure

Notation
The unary ampersand in Ruby / (1..100).inject(&:+) / The challenge of teaching yourself a programming language / The significance of the meta-circular interpreter / Block-Structured Javascript / Haskell, Ruby and Infinity / Closures and Higher-Order Functions

Opinion
Why Apple is more expensive than Amazon / Why we are the biggest obstacles to our own growth / Is software the documentation of business process mistakes? / We have lost control of the apparatus / What I’ve Learned From Sales I, II, III

Whimsey
The Narcissism of Small Code Differences / Billy Martin’s Technique for Managing his Manager / Three stories about The Tao / Programming Language Stories / Why You Need a Degree to Work For BigCo

History
06/04 / 07/04 / 08/04 / 09/04 / 10/04 / 11/04 / 12/04 / 01/05 / 02/05 / 03/05 / 04/05 / 06/05 / 07/05 / 08/05 / 09/05 / 10/05 / 11/05 / 01/06 / 02/06 / 03/06 / 04/06 / 05/06 / 06/06 / 07/06 / 08/06 / 09/06 / 10/06 / 11/06 / 12/06 / 01/07 / 02/07 / 03/07 / 04/07 / 05/07 / 06/07 / 07/07 / 08/07 / 09/07 / 10/07 / 11/07 / 12/07 / 01/08 / 02/08 / 03/08 / 04/08 / 05/08 / 06/08 / 07/08 /