Ruminations of idle rants and ramblings of a code monkey

.NET Dojo: Silverlight!

.NET Stuff | Community | Events
We’ve got the next .NET Dojos scheduled - Todd Anglin will be presenting Silverlight! There will be a dojo in Austin as well as Houston. Here are the details: Overview: Microsoft officially released Silverlight 2.0 in October 2008 as a platform for .NET developers to build rich internet applications (RIAs) that run cross-browser and cross-platform. Silverlight 2.0 introduces a whole new way of developing .NET applications. It is blurring the lines between what it means to develop for the web and the desktop, enabling .NET developers to rethink how they build and distribute applications. Topics covered include: Silverlight tools, Silverlight controls, Silverlight APIs, data access, and some security. What you will learn: Todd Anglin will guide you through a combination of lecture and hands-on labs where you will learn everything you need to know to get started with Silverlight 2.0. Specifically, you’ll learn how to work with Silverlight in Visual Studio and Expression Blend, how to use Silverlight controls, how to interact with the HTML DOM, how to access and manipulate data, how to use isolated storage, and secure your Silverlight applications. We’ll go from Silverlight 101 to 301 in about 4 hours and you’ll leave with all the essential tools you need to start building real applications with Silverlight today. Prerequisites: To fully participate in this workshop, attendees will need a laptop with the following: ·        Visual Studio 2008 Professional or higher (trial is okay) with Service Pack 1 installed ·        Expression Blend 2.0 or higher (trial is okay) with Service Pack 1 installed ·        Silverlight Tools for Visual Studio 2008 SP1 installed (free) ·        Deep Zoom Composer installed (free) ·        Silverlight Toolkit December 2008 or higher (available on CodePlex) Times, dates and registration links: Austin (Microsoft Office): March 9, 2009 1:00 – 5:00 PM. Register now. Houston (Microsoft Office): March 13, 2009 1:00 PM – 5:00 PM. Register now.

Presentation content posted!

Community | Events
Finally getting caught up on getting my presentation content posted. First, there’s the “Building your First Cloud Service” that I delivered at the Aggieland .NET User Group and the North Houston .NET User Group. Next, there are 2 presentations from Houston TechFest: The OWASP Top Ten Review and the ASP.NET Url Routing demo. Enjoy!

TechFest Sessions

Community | Events | User Groups
Sessions, that is, that I’m doing or participating in. :-) First, I’ll be participating in Zain’s session on VIrtual Worlds and Virtual World Evangelism. I’ll only be showing a bit of stuff for a few minutes … really just to showcase some of the things that can be done in Second Life. Next … the one that I signed up for originally … the OWASP Top Ten. This will review the vulnerabilities on the OWASP Top 10 (duh!), explaining each one and explaining how the .NET (and ASP.NET) platform can help you mitigate these vulnerabilities. It’s been very well received when I’ve done it on other occasions and it’s security … something that I’m pretty passionate about. Finally … this just in and HOT off the presses (as in, I just finished writing the demo!) … I’ll be doing a session on add Url Routing (from Fx 3.5 SP1) to existing applications. It’s already the magic goo behind MVC and Dynamic Data … but there’s no reason that you can’t use it for your current apps to provide clean, purty Urls in your applications. I’ll start at the very beginning with an ASP.NET app with all kinds of ugly Urls - they grew organically, so there’s no consistency in the names which, of course never happens in the Real World(tm). Then I’ll add routing in step by step by step … culminating in adding in a configurable (as in, from the web.config), reusable routing component for adding to these types of applications. Should be pretty cool. I’ll post the code for this when I’m done and I’m certainly using this in CSK. So … with that, I’m outta here and I’ll see (some of) you tomorrow at TechFest!!

New Houston User Group: Houston D2Sig (Silverlight/WPF)

Events | User Groups
Hello Houston … we have a new user group in town. After some delay due to an unwelcome visitor whose name begins with “I”, the Houston Developer 2 Designer (D2) SIG is holding its inaugural meeting this Thursday. Regular meetings will be on the first Tuesday of the month, but this first one was moved to Thursday so that it didn’t prevent anyone from voting (which you are doing, right???). Inaugural Houston-Area D2 SIG Meeting for Silverlight & WPF Designers and Developers Announced (Free) When: First Tuesday of Each Month 6:00 – 8:00 PM (First meeting is Thursday, November 6, due to Election Day) Where: Microsoft-Houston Offices (2000 West Sam Houston Parkway) This special interest group (SIG) is a community effort open to all interested participants. Each month, a different presenter from various organizations will present to interested attendees. The group is dedicated to exploring modern user experiences (UX) which are part computer programming and part artistic design. While traditionally there has been little overlap in the two disciplines, users now expect a good experience with a professional look. Covered topics will range from development in Silverlight, WPF and related technologies such as Microsoft Surface to design of rich interactive experience for graphical designers. The group strives to provide a good balance of content that appeals to both developers and designers. The inaugural meeting, to be held on Nov. 6th, 2008 introduces the SIG and the covered topics and technologies in general, before proceeding into this month’s presentation delivered by industry renowned expert, author, speaker, MVP, President of EPS Software Corp., and Publisher of CoDe Magazine, Markus Egger. Markus’ presentation will include the following topics: Introduction to Silverlight ans WPF (Windows) Creating a Silverlight Application Silverlight and WPF news from PDC! A first look at Microsoft Surface RSVP Requested Attendance of the SIG meetings is free. To allow us to plan the meetings better and to judge interest ahead of time, we ask people to RSVP here. (Signup through VPF Conversion is temporary and will be replaced in the future with


.NET Stuff | Events | Web (and ASP.NET) Stuff
First, what's this .Net Dojo stuff? Well, here it is ... it is a new series of events (I'm hoping monthly) that we will be having monthly to help developers hone and sharpen their .Net Kung Fu. It will be a combination of lecture and hands-on labs ... lecture to explain the concepts (of course) and hands-on to let you get your fingers dirty playing with the technology. Since it is hands-on, you will need to bring a laptop to do the labs and (possibly) install some additional prerequisites before the session (these will be listed, of course). They will be held at the Houston Microsoft office from 1:00 PM to 5:00 PM and cover a wide range of .Net topics. I'm also hoping to be able to get some of the technical leaders here in Houston to deliver some of the sessions ... so that you'll be learning from the best around. Ben Scheirman of Sogeti has volunteered to deliver the very first .Net Dojo on the ASP.NET MVC Framework. (Didn't I tell you that I wanted to get the best around?) Here are the details: Overview: ASP.NET MVC is one of the key new features that will be included in .NET Framework 3.5 Service Pack1. It provides a framework that enables you to easily implement the model-view-controller (MVC) design pattern in your web applications, helping you build loosely-coupled, pluggable components for application design, logic and display. While not a replacement for traditional ASP.NET WebForms, ASP.NET MVC does provide a compelling alternative for developing web applications and better facilitates test driven development (TDD) in web applications. This workshop will dig into what ASP.NET MVC is, what it does, and how it is different from WebForms. What you will learn: Through a combination of lecture and hands-on labs, attendees will learn how to create ASP.NET MVC applications using Visual Studio 2008 and how to work with the key components of an ASP.NET MVC application. Additionally, they will learn how to test their MVC components and applications using TDD principles. Prerequisites: To fully participate in this workshop, attendees will need the following: An open mind A working knowledge of ASP.NET, C#, HTML and CSS. A laptop with: Visual Studio 2008 Professional or higher (Trial is OK) ASP.NET MVC Preview 4 (available as a separate download. A CD-ROM drive to load additional components and lab files. Sign up here ... but hurry ... space is limited!Hope to see you there ...

A Gaming User Group?

Events | User Groups
Well ... something like that but not exactly. There's a new user group starting up here in Houston that's going to focus on gaming ... not playing games, but creating them. They are going to focus on the tools, techniques and tips that the average developer needs to create games for XBox or Windows using the XNA toolkit.  It's called the Houston Gaming and Media User Group (HGMUG); you can check out their web site at or out on CodeZone at   There's also a Facebook Group that you can join (if you are on Facebook, that is) at They'll be meeting for the first time this coming Thursday (5/22/2008) at the Houston Microsoft office where they'll get started with some history, current theory and some best practices for game development in addition to an overview of the XNA toolkit. And, yes, there will be a death match to cap off the evening (it wouldn't be a gaming user group without it, now would it??). Hope to see ya there!

Austin Code Camp ...

Events | User Groups
Well, I'm heading up to the Austin Code Camp on Saturday. Looking forward to it ... I'll be giving a talk on Linq performance at 1:00 PM. I've been doing some more tests (after the previous blog entry) and I've noticed some pretty interesting things about Linq performance versus traditional ADO.NET. I won't go into detail here ... that'd be spoiling the surprise ... but some of the results were certainly not what I was expecting. And ... since it looks like it's going to be a beautiful day, I'll be riding my lovely Ninja up there! :-) I won't go into the details of what I found just yet ... I'm going to leave that for the code camp ... but I will post the results here over the next week or two. There will be separate articles about each of the different tests and some of the interesting things that I found as I dug around with Sql Profiler to see exactly Linq for Sql was doing in the background.

Launch in Second Life ...

Events | Second Life
This Saturday at 9:00 AM SLT (that's Second Life Time ... or Pacific Time), we will be having the Visual Studio 2008/Windows Server 2008/Sql Server 2008 Launch event in Second Life. This is the first event of its kind ... yeah, there have been user group meetings, but nothing quite this big, quite this dramatic or ground-breaking. This is a full-on launch event held in a Virtual World with folks from around the globe participating. It's pretty exciting stuff.  I won't repeat all the details ... Zain has done that already, so just hop on over to his blog and check it out. 

Some stuff from Zain's session today

.NET Stuff | Events
Hung out today to watch my buddy Zain deliver his Microsoft Across America presentation today. Cool stuff and he did an awesome job (as always)! So ... some resources that were mentioned out there today: OWASP (Open Web Application Security Project): All kinds of great stuff here.  Houston OWASP Group: David Nester runs this.  Great guy ... and great content. For completeness, two other great resources for security stuff: Microsoft Security Central:  One place for all kinds of security related content, from end-user to advanced administrator. MSDN Security Developer Center: Good resources for security-conscious devs, including how-to videos and more. Also has a link to Michael Howard's blog where you'll find all kinds of good security stuff. He's one of the authors of Writing Secure Code. And that book changed my life. I am not kidding there. It was eye-opening and terrifying the first time I read it. When removing all of the modules in IIS 7, it returns an HTTP 401 (Unauthorized). This is different from HTTP 403 (Forbidden). With 401, authentication will make no difference. Here is the raw response: HTTP/1.1 401 UnauthorizedServer: Microsoft-IIS/7.0Date: Fri, 11 Jan 2008 01:51:02 GMTContent-Length: 0 I got this from Fiddler. Now, why it didn't work for Zain, I can't say. I think he was jinxed. ASP.NET Membership Provider Stuff Here's where the Access Providers live:  There is also a bunch of good stuff for creating providers there. Here's a web cast that goes through it as well: And, if you are going to do your own provider, keep your eyes here. I'm going to talk about hashing shortly ... this is the best way to store passwords! Adding users to ASP.NET membership in code (like when you need to import several thousand records): System.Web.Security.Membership.CreateUser() There a few overloads for this that have different options (of course).  Now ... the other thing that you can do is to create a membership provider that uses the existing database. There's a couple of ways to skin that cat. (Poor kitty!) I think that's all ... I'm out!

ASP.NET Perf Tips: Second Life

Events | Second Life | Web (and ASP.NET) Stuff
I just finished my presentation on ASP.NET Performance Tips for the Second Life .NET User Group. I must say ... it went very well! The feedback from the attendees was very positive and I think everyone learned something ... if not several things. In fact, I did have one attendee say "I didn't think I'd learn anything here, but I did!". That just makes me feel all warm and fuzzy inside. So ... some links ... First, Fritz Onion's blog with the perf results that I referred to (there are actually 2 entries): And ... the PowerPoint deck and a sample of Async Tasks:  One note: this is the deck that I use for RL presentations.  I trimmed some of the text from it so it would rez better in-world.  But I think the additional notes will be helpful.