Saturday, August 14, 2004

Is anybody besides me becoming an RSS junkie? Actually, that was a loaded question as it seems to be affecting many people. As part of the upcoming Mobility Day I’ve been putting together a variety of different samples to show. I started doing a simple feed reader to show some concepts of the Compact Framework, ADO and XML usage. It quickly became much more and finally evolved into a quite useful application. When I combined this application with my recent OS upgrade and the T-Mobile all you can eat data plan for my Pocket PC Phone, I was completely hooked. Both I and several others have been testing it over the last week and have given very positive feedback. I wanted to open it up to others and hope that they will use it and provide some feedback. What do you like? What do you hate? What do you want?

I designed the interface to take advantage of several different areas of the Compact Framework. I definitely ran into some of the short comings of the Compact Framework. The good news is that these are being added in 2.0. The most important problem was rendering HTML within my application. Well no worries, the folks at OpenNETCF solved that problem. Definitely, have some great stuff!

I wanted to do a quick introduction to News Reader an RSS reader written entirely using the Compact Framework 1.0.

Here is the startup screen

Here is the Read screen

Here is the message screen

Here is a short list of some of the features that I wanted to highlight

  1. Maintains the last download date for feeds.
  2. Maintains a local XML file with your posts.
  3. Allows the deletion of individual messages or an entire feed.
  4. Automatic retrieval of feed information based on an RSS URL.
  5. Multiple feed retrieval based on selection
  6. Able to consume both RSS 1.0 and RSS 2.0 feeds.
  7. Maintains the local feed list using OPML

Please feel free to download the following files and let me know your feedback, bugs or comments that you may have.

Here are the links for download:

Pocket PC/Pocket PC Phone (Complete package)

Other CAB Files (CABs only)

OpenNETCF CABS (CABs only)

Installation instructions:

  1. Extract the device specific zip files into a directory on your local machine.
  2. You will need two CAB files. One is for the News Reader application. The second is for the OpenNETCF controls.
  3. Copy these two files to your device.
  4. Tap the two CAB files. This will install the application and remove the local copies of the CAB files.

10:09:17 PM    
 Saturday, August 07, 2004

Question: I am trying to understand the dataset and how I can use it. It looks like a really powerful feature but it has an incredible amount of objects. It seems to me that I should be able to do simple things like create and edit values. But for the life of me I can’t seem to figure out how it works. Do you have some simple example that show how you can create a dataset and then update the individual rows?


Answer: Sure – here are some examples.


  1. The following creates a dataset that we can use in the later examples.

' create the item table

Dim tblitem As DataTable = New DataTable("item")

Dim itemid As DataColumn = New DataColumn("itemno", _ Type.GetType("System.Int32"))

Dim colititle As DataColumn = New DataColumn("title", _ Type.GetType("System.String"))

Dim colipubdate As DataColumn = New DataColumn("pubdate", _ Type.GetType("System.String"))

Dim colidesc As DataColumn = New DataColumn("description", _ Type.GetType("System.String"))

Dim colilink As DataColumn = New DataColumn("link", _ Type.GetType("System.String"))

‘ create the columns






‘ add it to the dataset



  1. Create a datatable from the dataset and insert a datarow.

Dim dt As DataTable = ds.Tables("item")

' get the datarow

Dim dtrow As DataRow

dtrow = dt.NewRow()

dtrow("itemno") = 10

dtrow("link") = ""



  1. Select the new row and edit the value

Dim dr As DataRow() = dt.Select("itemno=10")

If dr.Length > 0 Then

    dr(0).Item("link") = ""

End If


11:00:34 PM    
 Thursday, July 22, 2004

*********CALL FOR SPEAKERS*********


Developer Code Camp II: The Return!

October 16/17, 2004


October 16 – 8:30 AM – 9PM

October 17 – 8:30 AM – 4PM


Microsoft Waltham



General Call for Speakers

Code Camp II is looking for speakers and session leaders.


Code Camp II: The Return is looking to be even bigger and better than anything we have done before. The secret is you! This is a New England developer community based event that requires both speakers and attendees. The continuing goal of the Code Camps series is to provide an intensive developer to developer learning experience that is fun and technically stimulating. The primary focus is on delivering programming information and sample code that can be used immediately. The event is free and all slides, manuals and demo code are provided free!


This two day camp is hosted in our Waltham facility. As a community based event this is a general call for speakers and session leaders to help make this event a success. Based on your feedback, Code Camp II will now feature two types of 1.5 hour sessions and three defined tracks


Do you have something to say?


Requested Session Types:

Code focused presentation – These are presentations that include both power points and code demos. Given the audience that is attending it is important that a large amount of the presentation is focused on code and coding related techniques. Sample topics include How To and Best Practice Sessions.


Chalk Talks – These are new to the Code Camp. These sessions are designed as a facilitated discussion around a specific topic. No pre-canned demos, or pre-prepared code samples allowed! They are presented as a free form facilitated discussion that leverages the expertise of the presenter and the combined knowledge of the group to explore a specific topic.


Additionally, based on feedback we are sponsoring the following three tracks. All presentations must fall into these tracks to be considered. One of the strongest pieces of feedback from the last Code Camp was to provide a better organized set of tracks:


Code Camp Tracks:


Smart Client – This track is designed for presentations or chalk talks on topics related to Smart Client related development topics. This includes Windows Forms applications, Microsoft Office or mobile devices.


Web Track – This track is designed for presentations or chalk talks about Web based development that includes ASP.NET and Web Services.


Data Track – This track is designed for presentation and chalk talks about data storage technologies that includes SQL Server and XML.



********Submit Your Sessions********


Please complete the following and return it to by September 15.


Once your session abstract is received we will review and provide scheduling for the selected sessions by October 1. All slides and code samples for the presentation must be delivered by October 14. If we are unable to fill all the time slots for the two days, the code camp will be shortened. It is the community that makes this event a success!










Session Type:

Chalk Talk/Presentation (Select one)


Web/Smart Client/Data (Select one)



Session Name:


Session Description:



11:20:34 AM    
 Sunday, July 11, 2004

Finally, got a chance to build an image using Visual Studio 2005 Beta 1. While writing some code I ran across something that I hadn’t seen in any of the documentation that I have read so far. I would typically use the following line to add a parameter to the SQL Command object.


        sqlCmd = New SqlCommand


        With sqlCmd

            .Connection = sqlConn

            .CommandTimeout = 30

            .CommandType = CommandType.StoredProcedure

            .CommandText = "spInsertFeedback"

            .Parameters.Add("@EvaluatorName", EvaluatorName)

        End With


According to the Intellisense that popped up, the Parameters.Add functionality has been made obsolete and now becomes.

        sqlCmd = New SqlCommand


        With sqlCmd

            .Connection = sqlConn

            .CommandTimeout = 30

            .CommandType = Data.CommandType.StoredProcedure

            .CommandText = "sp_GetCompanyName"

            .Parameters.AddWithValue("@CustomerID", CustomerID)

        End With


8:38:25 PM    
 Wednesday, July 07, 2004

For this who read the .NET Developers Journal they have just published an article that I co-wrote this article with Raheel Retiwalla on SQL Server 2005 and ADO 2.0.

Or you can pick it up at the local newstands.

Accessing the Structure with XML
We were listening to a CIO explain how two years ago his company had instituted a mandatory XML policy for the IT staff. Senior management had decided that XML offered too great a competitive advantage for them to pass up using it. The use of XML, he explained, allowed them to quickly change and share their core business structures. The development staff had easily found ways to use XML within their applications.

6:42:50 PM    
 Tuesday, July 06, 2004

For those attending my presentation tonight on Building Custom Controls with ASP.NET at our office in Waltham, I wanted to upload the slides and code samples for those interested. They can be found here.

10:40:29 AM    
 Thursday, July 01, 2004

I think we all have been trying to get a better handle on things like Indigo and some of the next generation technologies. If you are interested in this here is a great short video from the folks at Channel 9.

For those that haven't checked out Channel 9 - a definate place to see!

7:06:28 PM