There will be zombies | Cypress Semiconductor
There will be zombies
I am a big movie buff. Not a true movie nerd like Quentin Tarentino, but I like seeing as many as possible and probably think about them too much. I also like to read, every day. Although I read few "true" classics, I don't just read mindless stuff either: some sci-fi, some fantasy, but also thrillers and other mysteries, and if it has a hint of science, all the better. Some of each genre I consume could be called classics.
I have noticed that year after year new books and movies come out featuring the once-dead-but-not-so-much-now -> Zombies. Never just one either (book, movie or zombie). And while on the surface you might dismiss these releases as just more of the same theater-seat-filling drivel, why do they keep being made and consumed? Because there is always another way to tell the story. And like any good story, it will fail or succeed in the telling.
Just like all classic stories/plots, including the classic romance; 1) boy meets girl, 2) boy loses girl, 3) boy wins girl back (exchange any/all instances of boy or girl as you wish), the zombie story line is also predictable: 1) dead rise from graves and seek living humans, 2) a small band of the living battles the undead, while one or more gets bit, turns zombie and must be terminated, 3) a much smaller band of remaining humans gets the upper hand and wins the day - at least one more day.
As with all formulas, someone will try to bust it by changing some elements, often in the third act ("Shawn of the Dead" is awesome at this [SPOILER ALERT]- in the end Shawn's best friend has become a zombie and Shawn keeps him on a chain in the garden shed so they can still play video games together [END SPOILER]).
In the course of less than a month I saw 2 zombie movies (Shawn of the Dead and Dance of the Dead) and read a book called Xombies ("X" sounds the same as "Z") and while I subconsciously knew the above sequence would play out, and when I was done watching/reading I could see how it had, all three experiences were enjoyable because they succeeded despite their formula. These stories succeed by telling this tired, formulaic story better, introducing unique twists along the way. One zombie movie I saw in the last year really thrives in the formula while at the same time being extremely fresh: the Norwegian movie called Dead Snow. This movie includes Norwegian punk rock music and WWII Nazi zombies along with other twists. You can watch it dubbed into English or in original Norwegian with subtitles.
So what's this have to do with design? Simply that the same (tired? old?) patterns play out time and time again in our projects (for instance, if you have two asynchronous processes or tasks, a race condition is highly likely), and the better you recognize the pattern, the better and more efficient you can "tell" the story with your code (with 2 asynchronous tasks, a semaphore is required or a really intelligent design that won't need a semaphore, and a known reason why not).
If you, like the cast in the movie Dead Snow, seems to flaunt the elements of one of these pattern (Dead Snow mocks it's predecessors "The Evil Dead" movies), you can get blindsided by not paying attention to the rules of the formula - until they bite you, and now you are simply a plot element in Act 2 of your own zombie tale.