Monday, March 24, 2014

Team Foundation Server – TF30162 - Task "WITs" from Group "WorkItemTracking" failed

March 24, 2014 Posted by Jason No comments

I ran into the following error this evening when attempting to create a “new” (more to follow…) Team Project via Visual Studio 2013:

Event Description: TF30162: Task "WITs" from Group "WorkItemTracking" failed

While it looked at first like an issue related to work item tracking templates, the stacktrace in the project creation log (located in your %temp% folder) provided some insight:

Event Description: TF30162: Task "WITs" from Group "WorkItemTracking" failed

Exception Type: Microsoft.TeamFoundation.Client.PcwException

Exception Message: TF24016: Cannot find team project ‘TestProject’.

Stack Trace:

at Microsoft.VisualStudio.TeamFoundation.WorkItemTracking.WitPcwPlugin.PcwPluginComponentCreator.Execute(ProjectCreationContext ctxt, XmlNode taskXml)

at Microsoft.VisualStudio.TeamFoundation.PCW.ProjectCreationEngine.TaskExecutor.PerformTask(IProjectComponentCreator componentCreator, ProjectCreationContext context, XmlNode taskXml)

at Microsoft.VisualStudio.TeamFoundation.PCW.ProjectCreationEngine.RunTask(Object taskObj)

A noteworthy piece of background is that I was actually re-creating a deleted project on our test TFS box. Essentially we’re running migrations which requires iterative creation, testing and deletion of projects. So the project I was trying to create (fictitiously called TestProject above) used to exist on the box, but was recently deleted. I was creating a project with the same name. Apparently project details are being cached locally (it stands to reason), so once I deleted the TFS project on our test box and tried to recreate it from Visual Studio, Visual Studio got confused.


  • Close Visual Studio
  • Delete everything from the cache folder. On Windows 7:
    • C:\Users\{user}\AppData\Local\Microsoft\Team Foundation\{version}\Cache
  • Rerun project creation

Friday, March 21, 2014

Review: Douglas Crockford JavaScript Master Class

March 21, 2014 Posted by Jason , No comments

Disclosure: I received a review copy of this title from O’Reilly

Douglas Crockford JavaScript Master Class


The Douglas Crockford JavaScript Master Class is a 14 part video series (running almost 6 hours in length) recorded in 2009. In the series, Mr. Crockford, long-time JavaScript developer/speaker/writer, the creator of JSLint and commonly recognized as the father of JSON, provides a deep-dive into the JavaScript language. Along the way he often leverages his insight to provide relevant historical references, explaining how language features evolved, where W3C members took divergent routes and why so often we end up writing different code for different browsers. While it’s a matter of taste, and some people prefer only technical content, I found the historical annotations to be deeply interesting and beneficial when arguing for or against the use of a specific language feature or construct.

The series begins with an overview of the language, before moving onto inheritance (pseudoclassical, prototypal and functional), the DOM, security, JSON and other and other higher level mechanisms.The technical content is excellent and I probably know more about the JavaScript language (warts and all) than I ever wanted to. Mr. Crockford is clearly an expert in his field and, unlike many other authors on the subject, he is often prescriptive in his approach. Throughout the series he is explicit in his guidance, telling the viewer which language constructs should be preferred and which should be completely avoided. In an industry where “it depends” is a common refrain, I found this very refreshing. It is also very beneficial to hear definitive instruction for a change and he even identified a few bad habits that I’ve picked up over the years that need attention. While the content could easily have been dry and boring the speaker possesses a sardonic wit, dishing out admonishments when required. To his credit, he never falls into the trap of becoming a Microsoft-basher. He’s pretty even-handed throughout and doesn’t pull punches when talking about any browser vendor, language designer, W3C or even himself.

There isn’t much negative I can say about this video set. The videos were recorded in 2009, therefore some content is a little outdated. That said, the videos focus on core language concepts, not breakthrough technologies so, for the most part, they are no less relevant today than 5 years ago. Because the videos aren’t as recent the quality of video is not as crisp or clear as more recent O’Reilly offerings. You won’t miss anything, but the difference is noticeable if you’re a fan of O’Reilly’s products.

I’d recommend this series to just about anyone developing web-based applications. Novices will learn quite a bit about JavaScript fundamentals and pitfalls to avoid throughout their careers (the more I think about it, the better a foundation this course seems). More advanced developers will undoubtedly learn some new tricks or, more likely, fix some bad habits.