My family is in the midst of downsizing a bit and moving to a new house. While digging around in our attic I discovered a set of Alagad promotional backpacks. Personally, I love mine. It has about a bazillion pockets, is very well made, and can easily hold a 17” laptop. Over the last few years I’ve given a number of these away and everyone who has one raves about them.
I don’t plan to sponsor any conferences any time soon and so I thought I should come up with a way to give these backpacks away. (I’ve only got so many backs, myself.) What better way to do this than to have a contest?
My son loves word search puzzles. He loves them enough that I’ve often considered writing a simple application to generate word search puzzles for him. In my minds eye I see an application where I can provide various options I can choose from such as:
- How many letters wide and tall a puzzle should be.
- A maximum length for and number of words to choose randomly from a dictionary.
- An option to provide your own words and title.
- Directionality settings. Such as forward, down, down at an angle, backwards, backwards at an angle, up, etc. These would control how words would be hidden in the puzzle.
Clicking a button would spit out a word search that I could print out and do with a pen. I’m sure you could come up with many of your own ideas for how a simple word search generator might work.
Of course there are already a wide number of word search puzzle generators on the web, but as a programmer I was interested in the challenge. And so, here is my challenge to the community in general: Create a word search generating application.
And here’s the twist: Create the word search genrator in any language (or technology) you don’t already know. If I were to write this right now I’d probably choose NodeJS since I’m interested in its capabilities and it’d be fun to do something more than just a hello world application in it.
Your application can be as complex or simple as you want. Complexity doesn’t guarantee a win and neither does simplicity. What I’m going to be looking for is the uniqueness of the language you choose and how well written the application is from my personal perspective. For example, I’ll be more interested in a well-written Clojure application than a poorly written one in Ruby or C. Yes, it’s entirely subjective, but I’m less familiar with Clojure (and bet most of my readers are too) and therefore would be more interested in seeing what can be learned.
Submissions are due a week from now. I’ll start reviewing them on Tuesday the 26th. Depending on how loudly people complain I may push this deadline back.
Once I’ve had a chance to review the entries I’ll pick three winners, each of whom will get one Alagad backpack. I’ll then write a blog entry (or three) about the entries, the languages used, and the approaches taken in building the applications. Assuming it’s practical, I’ll also host the applications so the whole world can play around with them. Furthermore, I’ll publish a SVN or GIT repository where people can download the source code.
Every time I do one of these contests I forget something important. So, if you have any questions or concerns please add them in the comments. I’ll reply and clarify.