Houston TechFest 2007 — Is this thing on?

The Houston TechFest has come and gone in a flurry of activity that I would say was widely regarded as a success. There were, of course, a few v1.0 type glitches as to be expected from an inaugural event as large as this one. Nonetheless, for an event of this size to be coordinated so well the first time is a big accomplishment, so kudos to Michael Steinberg and the others from the Houston .NET User Group (HDNUG) for putting this show together.

Lobby AreaThe 7 track extravaganza had about 500 participants and covered some of the most talked about topics in technology today including DotNetNuke, LINQ, WF, TFS, Silverlight, WCF and Acropolis. The gathering was also opened up to a more diverse audience with an entire track dedicated to Java based content. I can’t speak for any of the sessions that I missed, but here are my thoughts on the sessions I did attend:

Keynote on Silverlight

Brad Abrams is a terrific speaker, and the upbeat Microsoft promotional video had the crowd going from the very beginning. Silverlight shows well, and a charismatic delivery like the one provided by Brad make this new presentation technology very intriguing. The 10 year blue badge alternated demos between his Mac book and PC to lay to rest OS compatibility issues. He even used FireFox on the PC 🙂 Big RoomBrad posted a great summary that has interactive demos of the content on his blog. Be sure to check out the Silverlight airlines demo — how friggin’ cool would it be to book flights this way!

SQL Server 2005 Performance Dashboard

Jeremy Gaige from Idera walked us through the SQL Server 2005 Performance Dashboard that comes free in the current version of Microsoft’s RDMBS. This tool is pretty sweet, and I had cursory exposure to it going into the session. Unfortunately, Jeremy didn’t have his machine configured correctly to do the demo. I found this odd as he knew that he was doing a demo on this technology and it didn’t sound like a last minute problem. Idera had enough time to set up a booth and point out why their database tools were better than the free options that came with SQL Server, but they didn’t have time to help people understand what they had signed up for. Despite the delivery issues, Jeremy knew his stuff and had some great slides that helped me to see more about what is offered out of the box.

Exploring .NET 3.0 Workflow Foundation (WF)

At the speakers’ meet and greet dinner Friday night, I got to spend some time with HDNUG webmaster and experienced technologist John Ebeling. Although the live band at the Armadillo Palace was blasting Texas country music in our ears, I was able to learn that John has a wide range of experience in delivering software. This was helpful in the second session as I had to imagine what the presentation would have been like without technical difficulties. John ended up having had slides, but no demo. This was 2 in a row! Did I just pick the wrong sessions or were there similar issues across the board? John did an excellent job of covering for the glitch, and his ability to deliver the presentation without having a display on his machine showed his level of comfort with the subject matter. Afterward, there was a lengthy, but cozy Q&A session on the technology. Past project compadres Meng Lan and Phani Potturu joined me in picking John’s brain during the lunch break.

ORM and NHibernate

I was expecting good things from Ben Scheirman’s Object Relational Mapping (ORM) session as I had seen a terrific overview of advanced CSS and Javascript that he delivered at the HDNUG meeting on 6/14. Not only that, but Ben explained that in the morning session he had gracefully recovered from yet another technical glitch in the form of a projector failure. Of course, this was human induced as he was delivering to a packed room of about 100 and somebody pulled the power cord out of the socket. Prior to this NHibernate talk, I had heard of the tool on various podcasts such as Hanselminutes and .NET Rocks, but it took Ben’s expertise to understand the strength of this object relational mapper. A consistent example of a blogging application was carried through the demo to describe the various types of relationships between entities, how they are mapped, special considerations due to impedance mismatch, etc. Ben did a bang-up job of delivering the content, and to my relief there was much more demo than powerpoint. Ben showed a number of different ways to interact with the DB without writing SQL, and had a number of NUnit tests that were run to show how the coding approach supports a TDD methodology (Ben is a huge TDD proponent). Some common gotchas such as proper handling of the Equals override were stressed so that experimenters like myself didn’t end up struggling with some of the problem areas of NHibernate. I plan to try it out in rebuilding OurNextGame.com as it is still using classic ASP and the site seems like a perfect candidate for this technology. Be sure to check out Ben’s account of the TechFest.

Microsoft Windows Communication Foundation (WCF)

Just after lunch, I got to meet David Walker whom I was planning on listening to during the 2:45pm session on WCF. I am currently stepping through Michele Leroux Bustamante’s book on the topic, and there are many opportunities for me to use WCF in my day job. David was very modest in noting that he is the organizer of the Tulsa TechFest, which was spoken highly of throughout the geek community. David’s presentation was very professional, and had the right mix of .ppt and demo content. He showed the simplicity in creating WCF services, and pointed out that upgrading your existing .asmx services would be trivial in most cases. I am sure we will see more great stuff from David as he is now a Microsoft MVP.

All Builds Are Good with Continuous Integration

And finally we have my 75 minute primer on how to automate your build, test, and deployment processes with continuous integration. It was more work than I thought to put together the presentation content since everything needed to be installed locally. Small RoomThe discussion of CruiseControl.NET, NAnt, and NUnit walked the group through the tools describing how each can be gradually added to a technical environment to increase stability, decrease risk, and eventually provide software that has fewer bugs in it. The audience participation was great, and I appreciated the thoughts and questions people offered. Most of the group had not implemented any type of CI on their project, and we even had one guy who was still trying to convince his boss that source control is a good thing! Wrap-up comments included a good one that Microsoft’s Team Foundation Server provides a nice alternative to the open-source CI stack (Insert clever acronym like LAMP, WIMP, REST, etc here). Not having any experience with TFS, I can not say whether it is better or worse, but I do know that you can’t beat the price for the solutions I presented 🙂

See the Continuous Integration dedicated page of this blog for links to resources and the slides.

It was great to meet so many smart people who have such a passion for software development. If you attended the Houston TechFest, please leave a comment or link to another post to let me know what you thought.

Updating WCF Service Descriptions

I have been reading Michele Leroux Bustamante’s book on WCF as this is a topic that has been very interesting to me lately.  She has been a guest on .NET rocks and other interesting podcasts several times, and her jovial personality on air intrigued me as to what her books would be like. 

Her book (so far) is great, and I feel that I have learned a lot from the lab examples that walk you though creating host and client solutions that gradually move from the simple to the real world.  I would highly recommend this book, especially if you want to understand all aspects of WCF including security.

Call to SSPI Failed

While going through the labs in chapter 2, I received the following unhandled SecurityNegotiationException:

A call to SSPI failed, see inner exception. 

 InnerException text read:

The Local Security Authority cannot be contacted

The bummer part was that I was on a plane and couldn’t search for what the heck this error meant.  Additionally, I do not have MSDN installed locally, so I was dead in the water.

After arriving at my destination, I posted a question on the MSDN forms (which it turns out Bustamante is the moderator for!) to see if that would provide an answer.  Unfortunately I didn’t give anyone enough time to respond as the answer came in analyzing what is happening when you add a service to your project.

Update Service ReferenceMy first thought was to update the service definition once I got connected to the Internet again.  Maybe my cached credentials woud somehow get jarred and things would start working.  It was a shot in the dark, but worth trying.  So I used the handy right-click option to refresh the reference of my WCF service.  While watching the output window, I noticed that there were 2 files being generated when I would have only expected the single .cs C# file:

  • localhost.cs

  • newapp.config

Since I figured at this point the problem must be in the config file, I looked to see what exactly was in the app.config file of the GigEntry project.  Sure enough, there was an XML element called <identity> that had my domain and username baked into it (seemingly from the CodeGen associated with the proxy).  Here is an example of what the configuration section looked like:


          <userPrincipalName value=<domain>\<username> />


I am not exactly sure what the ramifications are, but I do know that deleting that section allowed the example code to work.  Maybe Michele will reply to my post with some more info? Only after knowing what some keywords to search on were did I find some other interesting reads such as: http://msdn2.microsoft.com/en-us/library/aa702636.aspx