The night before Labour Day weekend. Domus
In less than 8 hours the students would flood in to pick up their welcome packages. The office lobby had been rearranged in anticipation of the heavy traffic. Arrays of boxes of envelopes were sorted and ready to be headed out. Move-in day, bring it on!
Then came along a surprise, which could have delayed the entire operation. The locksmith replaced all the keys of a newly constructed apartment. All the keys were stamped with random codes, and we were presented with scores of look up sheets.
If we were to use the standard approach, we'd pick up a key, look through the lists and attach the key to a designated key chain. There were about 250 keys, which would require up to 250 full scans of all the sheets. Given all the other prep work we had to do, we simply did not have the time to sort the keys.
The solution was to create a simple look-up database. We divided the lists among two workers and entered the data in 20 minutes. Then a makeshift workstation was setup for a team of four workers to sort the keys. This textbook example of divide and conquer accomplished the task in under an hour.
The story is not yet over. We soon ran into another issue. We found a box of 50 undocumented
keys! These were entry keys to each unit. The keys that were sorted were room keys. We could
go to the property and physically test out each key, if only we had the time. There had to be a better way.
Luckily, we had a database at our disposal.
We arranged the data in various ways that exposed hidden patterns. We also tested possible placements and made sure there were no logical conflicts. In the end, we managed to match all the keys without having to step out of the office. The key that's stamped "35aa", for example, was predicted to be the entry key for Unit 601. We can also see, from the "keyid" column, that the data was entered in a non-sequential fashion. The look-up database saved us a tremendous amount of detective work.
Although we were fairly confident about our reasoning, we chose to test a few keys on site.
We inserted the key to one of the units. The key was turned. Moment of truth. We cranked the lever and the door did not open. Puzzled, we turned the key the other way, and the door opened! It turned out that the unit door, for some strange reason, was left unlocked to start with.
We then headed back to the office and completed the database, before the remaining keys were physically sorted.