EvoLving the Design

I decided to update the theme again.  The last one was getting a bit stale, and didn’t take advantage of a lot of the new WordPress features.  I had been considered styling my own for some time now, but just haven’t had the time.  Also, why spend the time designing my own look and feel when there are so many existing designs out there.

So my look isn’t original.  I can deal with that.  It gives me more time to spend on writing. 😛

Reading about HTML5

I just picked up the Lawson/Sharp book Introducing HTML5 (Voices that Matter) and, so far, I like what I’ve read.  The book is authored by a couple of developers (Lawson and Sharp) who can relate to the struggles that the rest of us have with regards to learning a new technology, and they write about the topic with pragmatism in mind.  They also lace the content with a wit that keeps you engaged and entertained in the material – a struggle sometimes when it comes to writing about language topics.

Introducing HTML5 It’s not often you’ll find “WTF” references in a technical book.

This is the second New Riders Voices That Matter book that I’ve purchased and have been pleased with (the other being Jeffrey Zeldman’s Designing with Web Standards).  Whether its due to the author or the publisher, these books tend to do a good job presenting technical material in a fun way that makes you actually want to keep reading.

Hard to consider the idea of a page-turning technical book…

So if you’re interested in finding out about this new technology that is HTML5, I’d definitely recommend the Lawson/Sharp book.  Pick up a copy today.

Certified Again

Last year, I mentioned passing my first Microsoft certification exam to get certified in the .NET 3.5 Framework (exam 70-536). Earlier this month, I took one step closer to getting my web development MCPD by passing – nay, acing – exam 70-562.  And with this exam completed, I can now create a fancy little logo for my accomplishment.  (It’s the little things…):

MCTS ASP.NET 3.5 Framework Certified

With any luck, I’ll have the third exam under my belt in the next month and be done with it… until it’s time to upgrade.

Visual Studio Tip: Using the Task List Pane

I was in a meeting the other day and a question came up about the purpose of the Visual Studio Task List. A couple of the developers had never used it before, so I thought it’d be a good topic for the blog.

Task List tab in Visual Studio

The Task List, by default, appears in the bottom left window pane of Visual Studio (the same place where build errors and warnings appear). Alternatively, you can find it under the View menu. Microsoft provides some basic documentation on the Task List feature here. However, the documentation glosses over some developer best practices, so I thought I’d expand on that a little.

NOTE: Before I go further, I want to preface everything by saying that the task list should not replace more robust issue tracking systems, like TFS Work Item Tracking, Microsoft Project or another 3rd party product backlog or issue tracking solution. That being said, the Task List can be beneficial in defining more granular programming tasks that may not be appropriate in a higher-level work tracking system.

Code Comments vs. User Tasks

Two types of tasks can be captured in the Task List pane: User Tasks and Code Comments.

User Tasks provide generic notes that a developer may want to remember during development. They work pretty much like Outlook Tasks do, except without any of the features that make Outlook Tasks useful. After about five minutes, you’ll quickly realize just how limited User Tasks are. I usually stay away from them because

  • Most of what I have used them for, I should be putting in an Issue Tracking / Work Item Tracking system.
  • User Tasks are not stored in version control; therefore, other developers cannot see them and I lose them if I ever move or delete my local working environment.

Let me spend a moment longer on that last bullet, because I think that’s an important point.

User Tasks are stored in the developer’s *.suo file, which is not stored in source control by default (nor should it be). The *.suo file contains user-specific preferences, such as the state of the Solution Explorer, which should not be shared across developers. When another developer opens a solution for the first time, a new *.suo file will be created automatically.

This leads us to Code Comments, which are much more useful. Code comments are literally comments in your code (hence the name) that have been prefaced with a pre-defined keyword. Creating code comments is a very straight-forward activity:

    'some code here
Catch ex as Exception
    'TODO: Need to implement roll-back feature in transaction.
End Try


// C#
Try {
    // some code here
Catch ex as Exception {
    //TODO: Need to implement roll-back feature in transaction.
    throw ex;

By preceding a comment with “TODO”, it automatically appears in the Task List. As you can see below, it is possible to see all code comments within your project/solution at once:

Image of task list pane

Task List pane with all-important programming tasks

Code Comments improve upon User Tasks in a variety of ways. For example, code comments allow you to “bookmark” your code in case you need to come back to it later for refactoring or a re-design. Also, code comments are in source code. Source code is stored in version control and shared among the development team. See where I’m going with this?

I hope this helped shed some light on another little feature of the Visual Studio IDE.