Starting maybe five years ago, our group of close friends started doing a Secret Santa gift exchange every year for Christmas. Our first thought was to draw out of a hat which was feasible back then as we were all still single in the group and exclusions (people you can’t ‘get’ as your secret santa such as spouse, brother, child, etc.) would be very minimal. Nowadays, the group has grown significantly as far as significant others go and, more recently, children (three in the last couple of years). Since we’re pretty much all coders of some sort, we considered the idea of drawing from a hat about 2 minutes and quickly moved on to the option where we wrote an application to manage it all.
I think our friend Bob wrote the first program for this and it was probably the one with the coolest ‘experience.’ He’s the 3d game developer in the group so his was seriously visual and had images of all of us participating, etc. The following year it was my turn and I wrote a quick C# app (I just realized it was probably before C# was even out yet) to do it but this time we had the program email everyone who they got. This made it so no one in the group knew anyone else’s and it didn’t require all of us to get together for the initial drawing. We’ve used that program ever since now and each year I go in and tweak the folks participating, their exclusions, email addresses, etc. It’s worked really well so far.
Which leads me to today when I considered polishing it up a bit and making it consumable by anyone. Luckily, I did a quick search before embarking on the required code changes and found that there seem to be several options nowadays online that perform the same task and would seem to meet our requirements. Some of the ones I found are Elfster and Secret Gift Exchange. I think I’ll be giving Elfster a shot next year.
It’s funny also that one of the blogs I read by a fellow softie, Steve Rowe, just yesterday posted about the actual algorithm for the code and how it’s actually NP-Complete. I guess it’s the season where everyone breaks out their secret santa code.


Comments
Post a comment here