Author: Dave Fancher

Dave Fancher is a Lead Software Engineer at Vibenomics in Fishers, Indiana, a Microsoft MVP Visual Studio & Development Technologies, author of The Book of F# from No Starch Press, and Pluralsight author. He has been building software with the .NET Framework since version 1.1. Dave is active within the Indiana software development community as a member of IndySA, a speaker at user groups throughout the state, and a two-time contributor to Indy GiveCamp. When not writing code he enjoys spending time with his family, watching movies, photography, and gaming on on his Xbox One.

Speaking in Fort Wayne

Ok, this should be the last post about speaking engagements for a while ;)  I have something else in the works that’s going to take a lot of my attention for some time (more on that on Friday). 

I’m pleased to announce that I’ll be returning to Fort Wayne in June to talk about the Microsoft Fakes framework (formerly the Moles framework).  In this talk I’ll introduce the Fakes framework, discuss the use cases for the different isolation techniques, and show how to take advantage of them in your unit tests.

The meeting will be held on Tuesday, June 12 at the Northeast Indiana Innovation Center.  Pizza and drinks will be available at 6:00 with the presentation starting at 6:30.  For more information please check the NUFW site.

Theoris Innovation Series

On April 20, 2012 from 1:00 – 4:00 PM Theoris IT Services is hosting the next installment of its Theoris Innovation Series.  For this event Alex Gheith and I will be discussing many of the modern features of C# including:

  • LINQ
  • Dynamic Programming
  • Parallel Programming (including the upcoming async and await keywords)

This is a free event but please note that space is limited to the first 40 respondents.  For more information, please check the event site.

Speaking in Bloomington

A new .NET User Group has formed at Indiana University and I have the honor of being their first speaker.  Join us on Thursday, April 19 from 2:00 – 4:00 PM in room CG 2061 at the Kelley School of Business in Bloomington.  For this event I’ll be covering Parallel Programming in .NET 4. We may even look at a few examples of the upcoming async and await keywords – time permitting, of course.

Be sure to check the IU .NET User Group page for logistics information including a remote viewing location and streaming information.

I hope you can attend!

TortoiseSVN: Extended Context Menu

I’ve been using TortoiseSVN for years.  One place I’ve found it lacking in the past though was when I wanted to remove unversioned files from my working copy.  This has generally been a nuisance but I’ve dealt with it.  A few days ago, I needed to recover from a merge gone wrong and got serious about finding a better way.

(more…)

VS2010: Web Standards Update and the CSS Editor

I’ve been doing a bit of Web UI work recently and everything was going fairly smooth until yesterday when I tried opening one of my CSS files in Visual Studio and was promptly greeted with a dialog reading “The operation could not be completed. Unspecified error” and the editor never opened.  A little hunting for the error message and “CSS editor” revealed that the Web Standards Update for Microsoft Visual Studio 2010 SP1 was likely to be the culprit and uninstalling should resolve the issue.

I closed Visual Studio, uninstalled the update, and sure enough, when I reopened my project the CSS file opened just fine. I haven’t reinstalled the update yet. Maybe I’ll try again soon but it seems from the comments on the component’s page that this is a common issue.

More information:

Nesting Files in Visual Studio

A neat trick that I’ve used a few times to help organize files in a project is nest some under a related “master” file just like an aspx file and its code-behind.  I’ve mostly done this to group some page-specific JavaScript files with the page but also to group some partial classes for a WCF service together under a single “master” file.  This is hardly new (I think I did it for the first time with a project file from VS2008 and I know it has been around even longer than that) but every once in a while it comes up in a conversation so I thought it was worth sharing.
(more…)

JustDecompile – One More Time

I’ve looked at JustDecompile a few times over the past year, following its progress from its early beta stages.  When I saw that it was officially released yesterday (14 Feb 2012) I remembered telling Vladimir Dragoev from the JustDecompile team that I’d give it another look.  I’ve been very critical of this product in the past but given that everything I’ve looked at so far has been pre-release software it’s only fair that I give it one more chance to redeem itself.  Can this version finally handle my tests?

(more…)

Operation could destabilize the runtime

Today I was trying to run the code for a project I’ve just been assigned to.  I’d brought down the code from SVN, built the common libraries, and punched F5.  Build succeeded.  Before long the browser loaded and the beautiful new UI stared back and virtually begged me to start clicking around.  Before I could do anything though Visual Studio rudely interrupted with an unhandled exception dialog.  This one looked nasty, particularly since I’d never seen it before: System.Security.VerificationException – Operation could destabilize the runtime…

I found a Stack Overflow question about this that pointed to Json.NET as a possible culprit.  Sure enough, the source of the exception was Newtonsoft.Json.  It seems that Visual Studio Ultimate’s IntelliTrace didn’t like something Json.NET was doing and would throw that exception.  The issue is said to be resolved as of release 6 but I haven’t upgraded the assembly yet.

For the time being I’ve added a rule to exclude *Newtonsoft.* from the IntelliTrace modules list as recommended by in the Stack Overflow answer.  Since excluding the assembly I haven’t seen the problem again.

IndyNDA – Testing Code From The Pit Of Despair

It’s the second week of February so if you read this blog with any frequency you know what that means.  That’s right, IndyNDA is this Thursday (9 February)!  This month we’re fortunate to have Phil Japikse returning to discuss testing legacy code.

Michael Feathers defines Legacy Code as any code that doesn’t have automated tests, and you agree that automated tests are an important facet of successful software development. Then it happens – you get your next assignment, and it’s your worst nightmare! You have to maintain and enhance a large application that has no tests in place, and there are parts that are just plain scary. Where do you start? Traditional Test Driven Development techniques don’t typically work, since they focus on an inside-out development paradigm.

I will show you the patterns and practices that will help you turn the scary big ball of mud into a tested code base.

I’m excited to have Phil back.  I’ve heard him speak many times and have always found his talks both informative and entertaining.

This month we’re meeting in the 2nd floor conference room at 900 E. 96th Street.  Registration begins at 5:30 and the main event kicks off at 6:00.  Snacks and soft drinks will be provided.

I hope to see you there!

Book Review: Driving Technical Change

Driving Technical Change

Driving Technical Change

A few nights ago I was over at my local Fry’s looking for a battery charger and a new Compact Flash card for my camera when I stumbled upon the book Driving Technical Change by Terrance Ryan.  I think it was the distinctive look of a Pragmatic Bookshelf title that caught my eye.  I picked it up, glanced over a few pages, said “what the hell,” and bought it.  The book weighs in a bit under 150 pages so it’s a pretty quick read.  Even with my slow reading pace and note taking I managed to make it through the book in just a few hours.

(more…)