September 15, 2002 fun

“Spend A Day With .NET” Winning Entries

“Spend A Day With .NET” Winning Entries

Sorry it took so long to judge the entries, but I was overwhelmed. That’ll teach me to host an international, pan-galactic, cross-universe coding contest. : )

Grand Prize Winner and Best Developer Tool: Stoyan Damov

Stoyan wins the grand prize of free admission to the Web Services DevCon. His entry is shown here:

KbView allows the user to pick a technology or set of technologies that s/he is interested in and see what’s new in that space. Once the articles are fetched, they’re listed on the right hand side, where they can be shown directly in the text viewer below or they can be hosted in a separate IE window. Also, once the article has been downloaded, it’s cached for quick access for next time. This is an app that I will use. Great work, Stoyan!

Best Rookie: Sorin Jianu

Sorin wins a year subscription to MSDN Universal for his submission:

Sorin’s submission is a functional proxy server and represents his first .NET project ever. It’s fully asychronous and uses non-blocking I/O. It’s quite a testament to what can be done in .NET in a single day.

Most Polished: Jeff Braunstein

Jeff wins a 12-month subscription (5 points) to Safari Tech Books Online for his entry:

Jeff’s entry was the most polished I got, both in the UI as shown above, but also in the documentation, which included a market justification. I can see Jeff selling a version of this tool soon. The UI above is a front end to an NT service, also written in .NET, that takes jobs off of an MSMQ queue for batch dispatch. Because of the flexible architecture, these jobs can be spawned on a single machine or across multiple machines.

Best VS.NET Add-In: Igal Ioffe

Igal wins a signed box copy of Visual Studio .NET for his VS.NET add-in:

Igal’s submission is simple, but effective. I often mail snippets of code around and now I can do it with the context menu from without VS.NET.

Best Consumption of XML: Dejan Jelovic

Dejan won his pick of a combination of things, but I couldn’t talk him into taking anything — he just wanted to compete. His application is a fully functional RSS reader:

Dejan’s RSS reader has two tabs, one for the RSS feed administration itself, persisted between sessions, and one for the combination of the content for all of your feeds in a single web page, cached between sessions.

Best Use of SQL: Simon E.P. Wilson, Markus Burri & Thomas Schwarz

Simon, Markus and Thomas win a 10-user copy of rmTrack for their SQL Stored Procedure code generator:

Once the settings are chosen, the generated code lets the user make calls into the stored procedure from their .NET language of choice almost as if the function was a native .NET method:

class MyApp {
    static void Main(string[] args) {
        // Create Connection
        SqlConnection conn = new SqlConnection(@"...");
        conn.Open();      

        // Invoke the Stored Procedure
        SalesByCategory.Result res = SalesByCategory.Invoke(conn, "Beverages", "");

        // Show Results
        foreach (SalesByCategory.Row row in res.Rows) {
            Console.WriteLine("{0} : {1}", row.ProductName, row.TotalPurchase);
        }
        conn.Close();
    }
}

Honorable Mention

There were so many other great entries that I couldn’t narrow it to just the big prize winners. The following were each awarded their pick of a book or a free software package:

  • Best Use of XML, Adam Cogan: This entry was cool because it used a smart client to gather information about a user’s system, email to deliver it and XML to make server-side processing a snap (screen shot).
  • Best Web Service Client, Darrel Miller: I liked Darrel’s application because of the nice mix of a smart client front-end to capture all settings to make a single, atomic web service call and the production of a web site based on the posted data (screen shot 1, screen shot 2).
  • Best Technical Insight, Gert Lombard: Gert’s command line parser was near and dear to me for two reasons. One, he’d built a command line parser based on .NETs Reflection, just like I’ve done in Genghis with the CommandLineParser class, and two, he built it because he fell in love with Reflection, just like I did (screen shot, source).
  • Best Game Library, Richard Caetano: Richard’s entry wasn’t quite complete, but I love Poker as much as I love .NET, so I thought I’d point out that he’s provided a complete managed card drawing library, in case anyone needs one (screen shot and source).
  • Best Entry From High School Student, Ryan Dawson: I’m not sure I should be encouraging such behavior, but I certainly spent my fair share alone in my parent’s basement with my computer and I turned out all right (didn’t I?!?), so I thought I’d mention that Ryan was the only high school student (that I know of) that submitted an entry. Also, he used my pi calculator to calculate 20K digits of pi for extra credit, so clearly things are working out for him. Remember to cite your sources, Ryan! : )
September 15, 2002 fun

“Spend A Day With .NET” Winning Entries

“Spend A Day With .NET” Winning Entries

Sorry it took so long to judge the entries, but I was overwhelmed. That’ll teach me to host an international, pan-galactic, cross-universe coding contest. : )

Grand Prize Winner and Best Developer Tool: Stoyan Damov

Stoyan wins the grand prize of free admission to the Web Services DevCon. His entry is shown here:

KbView allows the user to pick a technology or set of technologies that s/he is interested in and see what’s new in that space. Once the articles are fetched, they’re listed on the right hand side, where they can be shown directly in the text viewer below or they can be hosted in a separate IE window. Also, once the article has been downloaded, it’s cached for quick access for next time. This is an app that I will use. Great work, Stoyan!

Best Rookie: Sorin Jianu

Sorin wins a year subscription to MSDN Universal for his submission:

Sorin’s submission is a functional proxy server and represents his first .NET project ever. It’s fully asychronous and uses non-blocking I/O. It’s quite a testament to what can be done in .NET in a single day.

Most Polished: Jeff Braunstein

Jeff wins a 12-month subscription (5 points) to Safari Tech Books Online for his entry:

Jeff’s entry was the most polished I got, both in the UI as shown above, but also in the documentation, which included a market justification. I can see Jeff selling a version of this tool soon. The UI above is a front end to an NT service, also written in .NET, that takes jobs off of an MSMQ queue for batch dispatch. Because of the flexible architecture, these jobs can be spawned on a single machine or across multiple machines.

Best VS.NET Add-In: Igal Ioffe

Igal wins a signed box copy of Visual Studio .NET for his VS.NET add-in:

Igal’s submission is simple, but effective. I often mail snippets of code around and now I can do it with the context menu from without VS.NET.

Best Consumption of XML: Dejan Jelovic

Dejan won his pick of a combination of things, but I couldn’t talk him into taking anything — he just wanted to compete. His application is a fully functional RSS reader:

Dejan’s RSS reader has two tabs, one for the RSS feed administration itself, persisted between sessions, and one for the combination of the content for all of your feeds in a single web page, cached between sessions.

Best Use of SQL: Simon E.P. Wilson, Markus Burri & Thomas Schwarz

Simon, Markus and Thomas win a 10-user copy of rmTrack for their SQL Stored Procedure code generator:

Once the settings are chosen, the generated code lets the user make calls into the stored procedure from their .NET language of choice almost as if the function was a native .NET method:

class MyApp {
    static void Main(string[] args) {
        // Create Connection
        SqlConnection conn = new SqlConnection(@"...");
        conn.Open();      

        // Invoke the Stored Procedure
        SalesByCategory.Result res = SalesByCategory.Invoke(conn, "Beverages", "");

        // Show Results
        foreach (SalesByCategory.Row row in res.Rows) {
            Console.WriteLine("{0} : {1}", row.ProductName, row.TotalPurchase);
        }
        conn.Close();
    }
}

Honorable Mention

There were so many other great entries that I couldn’t narrow it to just the big prize winners. The following were each awarded their pick of a book or a free software package:

  • Best Use of XML, Adam Cogan: This entry was cool because it used a smart client to gather information about a user’s system, email to deliver it and XML to make server-side processing a snap (screen shot).
  • Best Web Service Client, Darrel Miller: I liked Darrel’s application because of the nice mix of a smart client front-end to capture all settings to make a single, atomic web service call and the production of a web site based on the posted data (screen shot 1, screen shot 2).
  • Best Technical Insight, Gert Lombard: Gert’s command line parser was near and dear to me for two reasons. One, he’d built a command line parser based on .NETs Reflection, just like I’ve done in Genghis with the CommandLineParser class, and two, he built it because he fell in love with Reflection, just like I did (screen shot, source).
  • Best Game Library, Richard Caetano: Richard’s entry wasn’t quite complete, but I love Poker as much as I love .NET, so I thought I’d point out that he’s provided a complete managed card drawing library, in case anyone needs one (screen shot and source).
  • Best Entry From High School Student, Ryan Dawson: I’m not sure I should be encouraging such behavior, but I certainly spent my fair share alone in my parent’s basement with my computer and I turned out all right (didn’t I?!?), so I thought I’d mention that Ryan was the only high school student (that I know of) that submitted an entry. Also, he used my pi calculator to calculate 20K digits of pi for extra credit, so clearly things are working out for him. Remember to cite your sources, Ryan! : )
September 13, 2002

Never Send An Email In Anger

Here. My proposal for an Outlook Add-In that notices and warns you when this is about to happen...
September 13, 2002

TechEd2002 Sessions / MS Videos

Here. From Jesse Ezell: If you are looking for a place to brush up on your .NET skills and missed TechEd this year, you can see the TechEd 2002 sessions (like 200+ sessions with slides, video, and audio) from here, as well as check out some great Balmer videos like the infamous "developers! developers! developers!" chant. Definately a top notch resource.
September 13, 2002 .net

QuickCode for .NET

Here. QuickCode is a VS.NET add-in that expands phrases into code, e.g. prop int test would expand to an entire property implementation. It works for C# and VB.NET and appears to be very flexible.
September 13, 2002 spout

Never Send An Email In Anger

Never Send An Email In Anger

I learned how to write good emails at the foot of the master — Don Box. Whenever we’d decide we wanted something, he’d grab his computer and say, Let’s write the email” and it would be done.

One of the most important things that I’ve ever learned about high-tech communications is to never, ever write an email in anger. Or, to be more precise, never *send* an email in anger. I encourage you to actually write it. It always makes me feel better. But don’t address it, because you want that email to first end up in your Drafts folder and go from there to your Deleted folder. If you address it and mean to press Ctrl+S to Save but manage to press Alt+S to Send by mistake, you might well be looking for work in another industry. If you don’t address it, however, Outlook complains and you can breathe a sigh of relief. Frankly, I wish there was an add-in that protected me even if I ignore my own advice:

Of course, this spouting could only occurred after I’ve violated my own advise, as I’ve often done over the years, always to my determent. When you’re angry, all you care about is making sure that your anger comes through. If I give myself an hour or two to think on it, when I come back to read that angry email, it always makes me flinch. Writing an email once I’m done being angry always yields the nicest, most thoughtful emails that I can write. Those I find to be *much* more effective.

September 12, 2002

DevelopMentor Developer Resources

Here. The list of tools and samples from recognized experts across technologies has grown to monstrous proportions at the new DevelopMentor Developer Resources page. Highly recommended.
September 12, 2002 .net

KDE To Support .NET

Here. "The KDE Project has emerged as possibly the first real-world adopter of Project Mono for application development. Mono is an open source alternative to .NET for Unix and Linux desktops, initiated in July 2001 by Ximian Inc." The reason that this is interesting for Windows developers is that with both of the major Linux desktops, i.e. Gnome and KDE, supporting .NET, it's possible that a simple .NET application or component could actually work across Windows, Gnome and KDE. Now .NET becomes the OS. Shades of Java, which failed in this space I know, but still interesting...

← Newer Entries Older Entries →