Code Camp Events Related Posts by ThinqLinq

INETA Community Champion for 2012 Q4

INETA Community Champions I’ve been active in the technology community since 2000 when .Net was just announced. This started with doing some small talks at user group meetings and helping to update their web site. It didn’t take long before I was running meetings and networking with other groups.

Over the years, I’ve gradually increased my reach by speaking at events increasingly far from my home base, including events as far away as London, Las Vegas, and Redmond. Prior to it’s being disbanded, my speaking involvement lead me to being selected as a member of the INETA Speaker Bureau. I continue to work with INETA as a member of their more localized version, the INETA Community Speakers program.

I’ve also continued reaching out to help mentor other user group leaders through being an INETA Membership Mentor for a number of years. I also participate in UG Leader summits when I’m able.

Recently, I was honored to be recognized by my peers as an INETA Community Champion for Q4 2012. While I never aspired for such recognition, it’s a privilege to have my efforts recognized by the community at large. Having received this award doesn’t mean the work is done. I continue to share my experiences with others to help grow the community as much as I can. Who knows what the future might bring, but I hope I can continue to bring the love of technology to others, just as my mentors have done for me in the past.

Posted on - Comment
Categories: Code Camp -

devLINK RxJs and Async session materials available

I would like to thank everyone who came out to my DevLINQ sessions this week. The materials for both of the sessions are not available on the Files tab  of this site. In addition, here are the descriptions and direct links to each of these downloads:

  • Reactive Extensions for JavaScript (RxJs)
  • The Reactive Extensions allow developers to build composabile, asynchronous event driven methods over observable collections. In web applications, you can use this same model in client side processing using the RxJs framework. We'll show you how you can take advantage of this framework to simplify your complex asynchronous client side operations.

    Includes slides and samples demonstrating some of the uses of the Reactive Extensions for JavaScript (RxJs). The samples illustrate using RxJs for LINQ style queries, Timer based web page rotator, Mock observable sensor, Mouse drag drop, Dictionary Suggest, and Bing Translator over multiple languages.

  • Async Programming in .Net
  • While .Net 4 added parallel programming capabilities, these tools primarily help when your application is CPU bound. In many cases, parallel processing doesn't address IO Latency issues. In these cases, we need to provide the perception of responsive applications by using asynchronous programming tools. We will explore some of these options including Delegates, Callbacks, Iterators, Observers, and the new C# Async/Await keywords.

    Includes slides and samples demonstrating ways of performing Asynchronous operations from .Net 1.0 through .Net 5.0. In addition to the standard Visual Studio 2010 install, you will also need to download and in stall the following libraries to use these samples:

Posted on - Comment
Categories: Code Camp - C# - Rx - JQuery -

Geek Give TechEd Style

TechEd2011 - GeekGive is cleaning up!

Join Matt and I on Saturday, May 14th to help GeekGive make a difference in our local Atlanta community. We’re going to be picking up trash on streets and cleaning up a park. Not just any park, we’re going to be helping the Peopletown Revitalization Corporation to clean Atlanta’s first public beltline park on the day of its dedication ceremony!

Registration for volunteers is now open and we badly need volunteers!

Register at teched2011 - GeekGive

Posted on - Comment
Categories: Code Camp -

Upcoming Speaking engagements

Things are really gearing up for me over the next several months. Here’s a list of the talks I’m scheduled to give at this time. If you’re in the area, make sure to stop by and let me know what you Thinq.

1/14-15: CodeMash: Sandusky, OH

  • Building Dynamic Data Driven Applications (Part 1 & 2)

1/23/2010: Alabama Code Camp: Mobile Alabama

  • LINQ to SQL Tricks and Tips
  • LINQ Tools

1/30/2010: Columbia Code Camp: Columbia South Carolina

  • LINQ Scalability
  • LINQ to SQL Tricks and Tips
  • LINQ Tools

2/4/2010: INETA talk for the New England Visual Basic Professionals

  • Building dynamic data driven applications with the Entity Framework

3/15-3/19: DevWeek 2010 – London

  • Migrating from LINQ to SQL to the Entity Framework
  • What’s new in Managed Languages
  • LINQ to SQL Tricks and Tips
  • Building Dynamic Data Driven Applications (full day Post-Con)
Posted on - Comment
Categories: Code Camp -

LINQ tools on the Toolshed

This summer at the Jacksonville Code Camp, I had the pleasure of being part of the taping of Russ' Fustino’s Toolshed. Finally, the episode has  been posted on Channel9 for you to enjoy. Here’s the overview of the episode.

Toolshed: Episode 5 - Its All About The Tools TV Show

Episode 5 has killer content on Deep Zoom, Expression Web 3, a codeplex project on a Snippet Editor for Visual Studio, LINQ Tool Samples, LINQ Pad, Link To Twitter, Expression Blend 3 Importing Adobe assets, and an incredible codeplex project must see on a solid Silverlight website starter kit using best practices!  This is Russ's Tool Shed's best effort yet! Grab a beer and hope you enjoy this most educational, enlightening and entertaining instant classic video!

The LINQ Tools segment starts at 44:35 if you want to jump ahead.

Posted on - Comment
Categories: LINQ - Code Camp -

LINQ Bootcamp coming to Birmingham, AL

If you are in the Birmingham, AL area on July 25-26, consider signing up for the free two day LINQ Bootcamp event. I'm hoping to be there to help answer your questions as well. If you're interested in more information, here's a copy of the original announcement:

…The upcoming LINQ Bootcamp [will be] on July 25th and 26th. To register for this great event please go to . Seating is limited to this free event. We still need volunteers for presenting, currently more than half the chapters are still available. Your participation is needed to make this event a success so be ready to pick out a chapter when you arrive, first come first serve. You can also e-mail us at to volunteer or get more info.

Update: as of 7/6/09 Chapters 3, 9, 10, 11, and 12 have been volunteered for, other chapters are still open to potential presenters. All presenters will get a free copy of the book.

Unfortunately, the book in question isn't "LINQ in Action", but it should be a good event regardless.

Posted on - Comment
Categories: LINQ - Code Camp -

LINQ Tools coming to Russ Tool Shed

Russ Fustino and Stan Schultes have recently started bringing their popular Russ' Tool Shed show to the internet. If you want to check out the show, head on over to They also have all of the resources, including source code, slides, and demo scripts available at I was there when they recorded the first episode at the South Florida code camp as an attendee.

We're hoping to do a recording at one of the upcoming Florida Code Camps to look at LINQ related tools. I'm planning on covering the following tools.

All of these tools are free (a requirement of the Code Camp manifesto). I may add a couple tools, but only have 10 minutes to cover everything. Let me know if you have a favorite tool that's not on this list.

Posted on - Comment
Categories: LINQ - Code Camp -

Upcoming Speaking engagements

The speaking scene in the South East has been quiet for a bit but is starting to pick up. Here's a quick list of my upcoming speaking engagements starting this weekend. If you're near one of these, stop by and say hi.

If you attended any of these talks and didn't fill out an evaluation from the conference organizers, I would appreciate it if you let me know what you thought about the talk at Make sure to include comments so that I can make future talks better.

Posted on - Comment
Categories: Code Camp -

The real power of LINQ

LINQ PowerAt the Atlanta Code Camp, Michael Neal introduced me to something I didn't know about LINQ before. Since a picture says 1000 words, I thought I would just share the picture with everyone else. For those who haven't seen it yet, here's the true POWER of LINQ.

Posted on - Comment
Categories: Code Camp - LINQ -

Delegates and Lambdas in VB 10

Yesterday, I had the pleasure of demonstrating Delegates, Lambdas and Expressions at the Alabama Code Camp. This is not the first time I presented this. The original demo project is still available in the Downloads section of this site. This time however, I was able to round off the VB set of the demos to demonstrate all of the abilities available in C# 3.0 due to the new Statement and Multi-line Lambda language enhancements coming in VB 10. The complete VB 10 version of the project is available to download now as well.

Here are some of the added methods. (Note, this has been tested against the October 2008 beta release of Visual Studio 2010. Be aware of the evaluation time bomb in this release if you intend to use it.) The DoTrick method takes an Action delegate which means that it takes no parameters and returns no values. In VB this equates to a Sub and in VB 10 is refered to as a Statement Lambda.

'Anonymous delegate
animal.DoTrick(Sub() Console.WriteLine("Anonymous Method"))

' Lambda expression as a variable
Dim LiftOneLeg As TrickAction =
      animal.LegsOnGround -= 1
   End Sub

'Lambda expression inline
      animal.LegsOnGround += 3
   End Sub)

'Multi-line lambda
      animal.LegsOnGround = 0
      Console.WriteLine("I'm Jumping now!")
      animal.LegsOnGround = 4
   End Sub)

I also included a nice consise combination of VB 9 function lambdas with VB 10 Statement lambdas. In this case, I find the animals that have broken business rules (Predicates which are delegates that return a boolean) and then iterate over them using the ForEach method that takes an Action delegate which can be fulfilled with a statement lambda.

animals _
   .Where(Function(item) Not item.IsValid).ToList _
   .ForEach(Sub(item) Console.WriteLine(item.ToString))

For this update, I also include a demonstration of a common use of Lambda's, particularly in Silverlight applications where all data access is asynchronous. Since all delegates actually inherit from MultiCastDelegate, all delegates by default offer asynchronous BeginInvoke/EndInvoke possibilities in addition to the Synchronous Invoke method.

With BeginInvoke, we use a lambda that takes an IAsynchResult object as a parameter. In the past we had to declare the call back as a separate method. With the inclusion of multi-line statement lambdas, we can now declare the callback directly inline with the BeginInvoke request as follows:

Public Sub BeginTrick(ByVal trick As Action)
         Console.WriteLine("...Trick Completed for " & ToString())
      End Sub, Me)
End Sub

If you missed this presentation, I'll be doing it again at the South Florida Code Camp next week. Come on down and check it out.

Posted on - Comment
Categories: Code Camp - VB Dev Center - VB -

PDC Content comes to Atlanta

In case you missed the PDC, don't miss the opportunity to get some of the content for a greatly reduced cost. Microsoft touring the country with their MSDN Developer Conference  and are coming to Atlanta on December 16th at the Westin Peachtree Plaza.

I'll be among the who's who list of local experts presenting the content. For my part, I'll be showing you the language enhancements that are coming for C# 4.0 and VB 10.0. This release is more about parity than ground-breaking advances like we had with LINQ in the last release. There are a number of nice features which should make programming a bit easier.

In addition to the language session, Glen has a full writeup including the speakers and sessions. There's also a number of cool give-aways. Sign-up today for a great event.

Posted on - Comment
Categories: Code Camp - Visual Studio -

TechDays 08 Atlanta

If you haven't signed up for Tech Days '08 Atlanta, what are you waiting for. Run on over to and sign up for 1, 2, or all 3 days.

In addition to the posted conference, there's a series of chalk talks that are not on the official schedule. These are great ways to interact with experts at a level that is typically deeper than you get in the standard lecture type presentation.  There are some interesting sessions which Glen has outlined on his blog.

Here's the quick rundown:

Tuesday, 9/23:
8:30 AM - Developing Applications for Windows Mobile - Rob Cameron (Microsoft)
9:45 AM - XNA Game Studio Development for Zune - Rob Cameron (Microsoft)
11:00 AM - Introduction to Microsoft Robotics Developer Studio - Brian Johnson (Microsoft)

Wednesday, 9/24:
8:30 AM - Can we use SharePoint for That? - Doug Ware (Elumenotion)
9:45 AM - Deep Dive into the ASP.NET AJAX Update Panel - Wallace McClure, Scalable Development)
11:00 - LINQ Deep Dive - Jim Wooley (Yours truly)

Thursday, 9/25:
9:00 AM - Overview of Visual Studio Team System "Rosario" - David Scruggs (Microsoft)
10:30 AM - ALM Open Space (Panel)

You don't have to be registered for these chalk talks to attend. These should be great talks and highly worth the cost of admission (free). I would highly recommend taking MARTA to get there as parking is not included

Posted on - Comment
Categories: LINQ - Code Camp -

LINQ Kinq on Dot Net Rocks

After DevLink a number of us organizers, speakers and attendees went to the bar to wind down. While there, Carl Franklin and Richard Campbell pulled out a mic and started recording people's reaction to the show. It may not have a lot of technical content, but is an entertaining listen anyway. Check the show #372 on DotNetRocks.Com. If you listen carefully, you can find out my twitter account as well.

While at DevLinq (er DevLink), I also had the opportunity to sit back in the rocking chairs with Keith and Woody to record an upcoming episode. I'll let you know how you can access that show when it is posted.

Posted on - Comment
Categories: Code Camp -

ThinqLinq at TechEd Developers 2008

If you're at Tech Ed Developer in Orlando, make sure to find me. If you miss me on the convention floor, I'll also be participating in Speaker Idol on Wednesday 6/4 at noon. In addition, I will be doing a book signing in the store at 1:00 on Thursday, 6/5. As you can see from this picture, they have a couple copies of the book that you can buy if you didn't bring your copy. I look forward to meeting you.
Posted on - Comment
Categories: LINQ - Code Camp -

ThinqLinq at Teched Developers

If you're going to be at TechEd Developer '08, make sure to say hi if you see me. I'll be hanging out in the VB area of the Technology Learning Center for some of the conference. In addition, I'll be one of the contestants in Speaker Idol and appreciate all of my peeps coming out to show your support.

One of the other great things about this year's TechEd is the inclusion of a community lead weekend between TechEd Developer and TechEd IT. There are quite a number of different events, including a Tweener Weekend code camp put on by Dave Norderer and the South Florida guys. I'm honored to be speaking as part of this event on some more advanced features that LINQ to SQL offers to developers beyond the basic drag and drop experience of the designer.

I hope to see some of you at the event (or the various parties that come with these kinds of events.)

Posted on - Comment
Categories: Code Camp -

Geek Speak discusses LINQ Migration Strategies

Tomorrow, Wednesday 4/2/2008, I will be the guest speaker on the Geek Speak webcast. We will be discussing strategies for beginning to incorporate LINQ into your existing application infrastructure. In many cases, that does not mean replacing your entire data stack, but rather using pieces of LINQ to add functionality and in new components. Please join us. The Geek Speak webcasts are often driven by attendee questions. The more questions, the better the event.

When: Wednesday, April 02, 2008 12:00 -1:00 PM (GMT-08:00) Pacific Time (US & Canada) or 3:00 - 4:00 PM Eastern Time.
Where: Live Meeting
Registration URL:
Posted on - Comment
Categories: LINQ - Code Camp -

Code Camp 2007 downloads

I've uploaded the files for my presentations for the fall Code camp season which I just presented last weekend at the Birmingham, Alabama code camp. If you missed the talks, you can pick up the downloads at the following links. Also, I will be at the Charleston, South Carolina code camp this coming weekend (10/13) so you can catch me there. Additionally, the ThinqLinq talk is still available on the Links to all three parts of the webcasts are available on the file download page.

Below are the links to each of the downloads for my three talks.

These and all of my demos are available via my downloads page.

Posted on - Comment
Categories: Code Camp - LINQ - VB - VS 2008 -

Atlanta MS Pros Cutting Edge VB Study group

Please join us on Monday, October 1 at 6:30 PM for the monthly Atlanta Cutting Edge .NET / MsPros / VB Study Group meeting.

Note, for this meeting we will be meeting at Turner in midtown (1015 Techwood Drive) rather than the usual Microsoft offices. If you haven't attended meetings in the past due to location, here's your chance to let us know if this facility is better. Scroll to the bottom of this message for directions to the meeting.

To register for this event, please go to Registration for this meeting is required in order to get you through Turner's security.

Presentation Topics

  • Speaker: Steve Porter
    Topic: Windows Workflow Rules Engine
    Summary: This talk explores creating, maintaining and executing business rules using the Windows Workflow (WF) rules engine.

  • Speaker: Rik Robinson
    Topic: Deep Dive CSS for the ASP.NET Developer

    This will be a thorough discussion of all that is CSS.  Whether you know it as the necessary evil or the great enabler (that just hasn’t quite clicked for you yet), you should walk away with something valuable from this discussion.  I will begin with the basic box model and travel all the way to the holiest of grails (the no tables here, two and three column ASP.NET Master Page layout…yours to take home for free!).  Along the way, we’ll touch on some CSS Best Practices and gotchas in ASP.NET and take a look at the new CSS tools in Visual Studio 2008 (Orcas).   

    Rik Robinson is an Independent Consultant in the Atlanta GA area.  He holds the following certifications (all .NET Framework 2.0):  MCPD –Enterprise Applications, MCTS-Web, MCTS-Windows, MCTS-Distributed Applications.  He really hates that he has to type this in third person like someone else wrote it.  Rik is supposed to maintain his blog at   He will soon, I’m sure.  Rik’s focus is always on the User Experience (both the end user’s and the developer’s).  

NOTE: Different location! We will be meeting at the Turner Broadcasting in Atlanta

Directions to Techwood

Marta Rail System: Midtown Stop on the North/South Line


  • Travel North on I-75 and I-85.
  • Take 10th Street/14th Street/Techwood Drive/Georgia Tech exit (Exit #250)
  • Turn left at first red light, onto Tenth Street (heading West)
  • Turn right onto Techwood Drive and left into the visitor entrance.
  • Pull up to window of the Gate House and Security Officers will direct you to visitor parking
  • Take the parking deck elevator to the 1st floor of the 1000 Bldg and check in with the receptionist in the lobby. Tell them you are with the Atlanta MS Pros.


  • Travel South on I-75 or I-85.
  • Take Techwood Drive/Tenth Street/Fourteenth Street exit (Exit #84)
  • Go straight ahead and the exit ramp turns into Techwood Drive
  • Cross 14th Street and stay in the right lane.
  • Turn right into the visitor entrance on Techwood Drive
  • Pull up to window of the Gate House and Security Officers will direct you to visitor parking
  • Take the parking deck elevator to the 1st floor of the 1000 Bldg and check in with the receptionist in the lobby. Tell them you are with the Atlanta MS Pros.

Thanks, and I hope to see everyone at this month's meeting!

Posted on - Comment
Categories: Code Camp -

Linq Geek Speak available

A couple weeks ago, I had the privledge of discussing my favorite topic, LINQ, in an MSDN Geek Speak. If you missed it, they posted a recording of it today. Check it out at Also, you can check out the LINQ Links at (Yes, I know they spelled my name wrong in the URL.)

Speaking of names, what do you think about a moniker Kinq Of Linq? Is it too over the top or just provocative enough?

Posted on - Comment
Categories: LINQ - Code Camp -

Atlanta Code Camp rocked!

I had the pleasure of helping to organize and run the Atlanta Code Camp version 3.0 this past weekend. From all accounts, it was an unqualified success. We estimate we had around 290 attendees which is up by 50 from last year. Nearly every room was full for every session which speaks to the quality and diversity of the speakers in that all topics are equally popular. The contributors really stepped up as well, including Cizer who contributed nearly $250,000!

We had speakers scheduled from 6 states, including GA, FL, AL, SC, NC, and even Seattle Washington. I also did a quick poll of the attendees at the beginning and we had people from the above states and also Tennessee and New Jersey. That's a heck of a trip just to attend a community event. I hope that they got their money worth. If it is any indication, I didn't have anyone ask for a refund. (To those of you unfamiliar with Code Camps, they are free events). I had the pleasure of speaking at 6 of these events last year and must say that this was the most diverse group I have seen geographically so far. I humbly offer that we set a high bar for the rest of the year to live up to.

For those of you who attended (and those who were unable to attend as well), I have already begun posting the speaker's slides and demos on the AtlantaCodeCamp site. More will be coming as I receive them. In addition, we had several WROX affiliated speakers record their sessions. I'll post a link to those once they are ready.

Altnough it was a great time, I'm glad that the event is over so that I can have a chance to sit back and rest a bit. I'm sure this won't be the only code camp I can be seen at this year. I'll see you out there sometime.


Posted on - Comment
Categories: Code Camp -

Geek Speak this Wednesday

Local Community Champion, Glen Gordon convinced me to share my LINQ insights in an open chat forum this Wednesday, 1/10. If you are interested in LINQ, sign-up for the talk at and check it out. Here's the link to the annoucment on their blog:

Posted on - Comment
Categories: LINQ - Code Camp -

Atlanta Code Camp 2007 Registration is OPEN

Fellow Code Campers,

I hope you all had a wonderful holiday season and I want to wish everyone a Happy New Year.

Registration for the 3rd annual Atlanta Code Camp is now open. Please register on the Click to Attend website to guarantee your spot at the Code Camp.

Here's the link:

Just a reminder. The 3rd annual Atlanta Code Camp will take place on January 20th. The event is completely free and lunch is included. Doors open at 7:30am at the Decatur campus of DeVry University

250 North Arcadia Ave
Decatur , GA 30030

If you are coming in from out of town, we have a recommended hotel near the event. Call the Holiday Inn and ask for the DeVry University rate to get a $99/night rate. Parking is extra and costs $7/day

Holiday Inn

130 Clairemont Ave
Decatur, GA 30030

During the Code Camp, lunch will be provided at no cost to you. After the event, we are planning on gathering in a local eatery to continue any discussions which we were not able to complete by our 5:30 pm end time. Location information will be made available at the event.

The Atlanta Code Camps have historically "sold out" extremely rapidly and we don't expect this time to be any different. Please register quickly to lock in your spot as we are capping registration and attendance due to facility limitations.

Posted on - Comment
Categories: Code Camp -

Atlanta Code Camp 2007 Call for Speakers

Are you a Dotnet rockstar or do you want to become one? This is your opportunity to start the new year with a bang and share your talents at the Atlanta Code Camp 2007 which will be held on January 20. Call for speakers is OPEN. If you are interested in participating, head on over to the Atlanta Code Camp site and fill in the registration form.

Send your completed form to

Posted on - Comment
Categories: Code Camp -

Montgomery Code Camp Files available

I had the pleasure of heading over to Alabama for my last code camp of the year last month. I posted the files from my presentation but neglected to post a link to the files here. The VB 9/C# 3 talk was the same that I have given over the past year. This time, I also presented my first look at LINQ to SQL (formerly DLINQ). You are free to download the slides and demos at

You get everything from the presentation except for the 30,000 recipes in my database that I used as a demo project. (No, I didn't include the recipe for White Chocolate Lasagna in the download).

 Let me know if you see any changes I should make for future presentations as I will likely be presenting versions of this talk over the upcoming months in the area, including my most contensious presentation for DBA's that will come in January for the Atlanta Microsoft Database Forum.

Posted on - Comment
Categories: LINQ - Code Camp -

More Atlanta developer opportunities

As if there aren't enough opportunities in the Atlanta area for developers to stretch their wings, our local developer Evangelist, Doug Turnure has teamed up with Wintellect's Todd Fine to put together a set of lunch events focusing on Dotnet 3.0. They'll be meeting the third Monday of each month at noon. What a better way to counter the Monday morning blues than to geek out. Check out Doug's annoucement on his blog for more details.
Posted on - Comment
Categories: Code Camp -

Dotnet University comes to Atlanta

Atlanta Visual Basic Study Group

AVBSG is proud to present .NET University as a 4-part series during this winter’s meetings! If you don't live in the area, you can get the course materials at the DotNet University web site and run one in your area.

Join us to get an overview of the next version of the .NET Framework (.NET 3.0), including Windows Communication Foundation, Windows Presentation Foundation, Windows Workflow Foundation, and Windows CardSpace. All topics are covered at a 100-level, and labs will be included with the courseware. Upon completion, registered attendees who attend all sessions will receive their official .NET University alumni T-Shirt and a Certificate of completion. Space is limited, so register now at to get your seat at .NET University! Even if you can't commit to attending all 4 sessions, feel free to come to those that you can. You won't get the shirt and certificate, but you will get some quality learning on these new technologies.

Schedule of upcoming sessions

11/15/2006 - Dotnet University: Workflow Foundation
Noah Subrin will present the first session of our Dotnet university track on Microsoft Workflow Foundation (WF).

12/20/2006 - Windows Presentation Foundation
John Crawford will present the second of our Dotnet univeristy classes on Windows Presentation Foundation (WPF).

1/17/2007 - Windows Communication Foundation
We will kick off 2007 with our third Dotnet university class on Windows Communication Foundation (WCF). (Speaker TBD)

2/21/2007 - Windows Cardspace
Our final class will cover the new security model called Cardspace. (Speaker TBD)


Time and Location:
As usual, the meeting will begin at 6:30 and last until about 9:00.
This meeting will be held at the Alpharetta Campus of Devry University which is located at 2555 Northwinds Pkwy in Alpharetta. Click here for a map to the location. For the first two sessions, we will meet in room 263.

We are currently looking for speakers, so if you have something to present or want to learn about a topic, contact us.

Posted on - Comment
Categories: Code Camp -

Using LINQ to XML to generate a RSS feed from the event log

The Jacksonville Code Camp tried a new concept which was very well received. In it they asked people to bring "cool code" and show it in 7 minutes. Personally, I'm not sure what can be cooler than VB 9's XML literals, so I decided to give it a shot. In the end, I came up with a ONE LINE solution which can iterate over the event log and generate an XML string in the format of a RSS feed which is served up to the Response stream. When I showed the one line, some were skeptical. Granted, there are a couple of line continuation characters, but it is indeed a single function call (which happens to take up 18 lines when formatted for readability...) Anyway, here's the one line:

Private Sub WriteRss()
If EventLog.Exists(LogName) Then _
<title>Event Log from <%= Environment.MachineName %></title>
<description>Events logged in the system's <%= LogName %> Event Log</description>
<copyright>This RSS feed is copyright (c) <%= Now.Year.ToString %>.</copyright>
<publisher>Your Name</publisher>
<author>you Lastname</author>
<%= From entry In New EventLog(LogName).Entries.Cast(Of EventLogEntry)() _
Where (FilterType Is Nothing OrElse FilterType.ToUpper = entry.EntryType.ToString.ToUpper) And _
(EventSourceName Is Nothing OrElse EventSourceName.ToUpper = entry.Source.ToUpper) _
Select <item>
<title><%= entry.EntryType.ToString() & ": " & entry.Source %></title>
<guid isPermaLink="false"><%= Environment.MachineName & "/" & LogName & "/" & entry.Index %></guid>
<description><%= GetItemText(entry) %></description>
<pubDate><%= entry.TimeWritten.ToUniversalTime().ToString() %></pubDate>
<date><%= entry.TimeWritten.ToString() %></date>
<creator><%= entry.UserName %></creator>
</item> %>

End Sub

I acknowledged to Vinay, that I would accept that this could be considered as 18 lines, but still think it is way cool code. Evidently, I wasn't alone as the judges awarded it 3rd place and it won the audience's choice as coolest code. If you want the complete code (less than 100 lines of code including comments) it is available for download as well.

My original intention was to extract and serve emails, but writing the POP3 or MAPI wrapper would have pushed the solution out more than I wanted for the purpose of this contest. It would be easy to convert this code to serve those purposes as well.

Posted on - Comment
Categories: Linq to XML - Code Camp -