Tuesday, April 14, 2009

Towel sorting process

Last week we got so behind on laundry, with probably two weeks backlog on standard stuff plus bedding and fleece, that we decided to have a night at the laundromat instead of trying to do 15 loads of laundry over three+ days. So, we packed the laundry and the kids in two cars, brought their homework, and headed towards Perinton Plaza.

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