"Spend A Day With .NET" Coding Contest (with prizes and everything!)

Midnight to Midnight, August 30th, 2002

Brad Abrams, Lead Program Manager on the Microsoft .NET Framework team, said something that inspired me the other day. He was being broadcast along with Chris Andersen (another lead PM) on The .NET Show on the topic of Understanding the Framework. Brad and Scott spent almost the entire show talking about how the various benefits of .NET, e.g. productivity, reliability, security, backwards compatibility with Win32 and COM, being able to recompile your C++ code in managed mode to use and expose .NET components without changing any of the code or losing noticeable efficiency (apparently they didn't ship until they could do this with Word), the consistency and universality of the Framework Class Libraries, and on and on, all without mentioning "web services." He did say that .NET was hands down the best platform for doing web services, but even if you're not doing web services, .NET enhances your programming experience across the board for the existing kinds of applications and components that you're developing now. Normally I'm not into this kind of hyperbole, but in this case, I absolutely agree with Brad and wish that Microsoft would push these features for things you're doing right now as well as web services for the future. Microsoft, in their interminable marketing wisdom, has completely undersold the rest of .NET, at the expense of developers the world over, still stuck in the old unmanaged world.

So, in the spirit of freedom and happiness for developers everywhere, I hereby declare Friday, August 30th to be International, Pan-Galactic, Cross-Universe "Spend A Day with .NET" Day. On that day, I'm calling for all developers everywhere to spend up to 24-hours, midnight to midnight, building a .NET application of some kind or another. I don't care if you have to bootleg a copy of VS.NET from your friend or download the freely available .NET Framework SDK and write your code while you pretend to work, lie to your boss or take a sick day, but I want developers around the globe to spend all day doing nothing but writing something in .NET. It can be absolutely anything, e.g. web site, web service, NT service, component, control, VS.NET add-in, shell extension, game, utility, graphics demo, etc, so long as you build it with .NET. Feel free to spend from now until then researching .NET with any number of books, articles, whitepapers, conferences, mailing lists, bits of online documentation, sample projects, 3rd party components, etc, but all .NET code must written on August 30th. And then when you're done at 11:59pm, I want you to send me what you built and my team of judges will decide who's deserves the prizes.

The Prizes (updated!)

In the spirit of one of the many things that .NET does very well, the Grand Prize is a free pass to the Web Services DevCon. These are the other prizes, in no particular order, based on what I have at my immediate disposal to offer. If anyone would like to contribute a prize, let me know.

The Rules

  1. Thou shall sign this agreement before submission. In a nutshell, it says that you own the code you're submitting, that you wrote it in a 24-hour period on August 30th and that you won't sue me over it.
  2. Thou may use existing unmanaged code via MC++ "IJW" (It Just Works) technology or via Win32 or COM interop, but the lines of unmanaged code may consist of no more than 49% of the total lines of code in the submission.
  3. Thou may use 3rd party libraries.
  4. Thou may work in teams, but prizes may need to be split between submitters.
  5. Thou shall include instructions for building and exercising your submission simple enough that even our judges can follow them. A description of why your code is cool is highly recommended.
  6. Thou shall check these rules again before making your submission in case I think of any more (engineers are tricky).

The Judging Criteria

So long as the rules are met, the judges are looking strictly for the completely subjective "cool" factor. Any time you can make a judge say "wow," or "I didn't know you can do that in .NET," that's good. If you do decide to use existing unmanaged code or 3rd party libraries, the added functionality of your code should outshine the functionality of the code you didn't write, or you will be judged accordingly. If there is some doubt that you actually wrote the code in the single 24-hour period of August 30th, the judges may ask for further confirmation and will need to be convinced, e.g. don't send a managed word processor including hyphenation rules unless you've got a signed affidavit from a notary.

The Submission

If you're planning to send in a submission, please let me know. This helps me to arrange prizes, judges, etc. The community response has been overwhelming, with lots of blog coverage of this event, along with lots of prize donations. So far, I've gotten about a dozen folks promising submissions that represent individuals or teams. Some have even been from within Microsoft, so submissions should be pretty cool (I guess even guys inside of MS don't get enough coding time : ).

At 11:59pm on August 30th, send me an URL to your submission, including full source. If you have a prize preference along with whether you mind me posting your source on my site or not. At the very least, I'd like to host the binaries for the winners on my site so that visitors can see what .NET can really do in just a day.

The Rest

If you've got any questions or comments or you'd like to sponsor this event or send along a prize or whatever, drop me a line.