If you don't count the kids running around causing havoc, G was otherwise in her element, a master (or mistress, I guess) of her realm - seven (!!!) extra-large washers simultaneously running simultaneously, later followed by six dryers. Quite a sight to behold. Total time: about two hours. Total cost: about $35 (a.k.a. about 140 quarters), not counting the takeout chinese (cost, $14). Happy wife.... priceless.
But that is not what this story is really about. Two days later, we still had not unpacked the clean laundry (stored in large woven poly bags) and dispatched it to its proper locations. I volunteered one evening to do towels - how hard can that be?
Well, as it turns out, it DOES take a rocket scientist (or at least my wife). She just can't understand what is so hard about it. After all, in her NT way, she has a process - of course we never doubted it. I asked her to tell me this process so I could record it for posterity (and to use as a survival skill).
First, she listed the destinations by type of thing - we will call the "requirements elicitation by example" - I wrote down a list that works pretty well, but ... well, it sort of drove her nuts thinking about it.
So, to express herself (she doesn't have a "compile" button on her forehead), she wrote me an excel spreadsheet. This was very pretty, and a good representation of her process (complete with speedup optimizations), but still a bit hard for my sequential-language mind to follow.
I took the spreadsheet, and translated it to pseudocode. She then inspected this against her original process, and has blessed it as being CORRECT.
Here it is in rough pseudocode form - have fun (sorry about the crazy formatting) !!!
-----------------------------------------------------------------------------------------
If (form == flatCloth)
Switch (color)
redTracer: Dest = kitchenDrawer
greenTracer: Dest = MasterBathDrawer
greyTracer: Dest = foyerBathroom
other: Dest = LaunryCleaningCloth // all white is all that is left
Else if (form == terrycloth)
If ((color == darkGreen) OR (color == paisley)) // early cull test, for efficiency
Dest = masterBathLedge // i.e. all sizes
Else if (colorClass = white)
If (border == NotEmbroidered)
Dest = LaundryCleaningCloth
Else if (border == Embroidered)
Dest == KidsBathroom
Else // non-white towel….
If (size == VeryLargeTowel)
Dest = LinenCloset
Else if (size == smallTowel)
Switch (color)
NavyGreyFingertipApplique: dest = FoyerBathroom
Lime, Red: dest = KidsBathroom
Other: dest = LinenCloset
Else if (size == babyWashCloth)
Dest == KidsBathroom
Else if (size ==standardWashCloth)
Dest = MasterBathroomLedge
Else // standard size towels should be all that is left…
If (color == LimeOrRedOrNavyOrDuckOrFish)
Dest = kidsBathroom
Else
Dest = LinenCloset
6 comments:
Now, really, how hard is that?
;-)
with love from the wife
thanks, guys! i really enjoyed reading this (pictured the scene in my head) :)
I'm laying 20-to-1 odds that the towels still aren't away.
You can that code? Where's your formatting? How deep do you plan on nesting those IF's??! Man, see what happens when you architect all day long?
Wow, this brings back my programming nightmares!!!
Elaine
Am a bit worried by the fact that I understand your code so easily Chuck!!!
BTW my method is simply to fold and put the towels away - or if not - then rewash after a few weeks in the basket forgetting the previous wash event.
Best regards,
Stephanie
Post a Comment