May 30, 2008
@ 09:09 AM

I was at a client's last week, we were discussing a project that we are assisting with. We had just reached the point in the conversation where I asked how the project was doing.

There was a thump sound from the window, we turned to look and there were 2 buzzards sitting on the ledge outside the 10th floor window!

IMAGE_031

Should we infer anything about the project based on this!

Cheers,

Robert Porter


 
Categories: Misc


May 15, 2008
@ 11:19 AM

There is a Code Camp event being hosted and sponsored by the Enterprise Developers Guild in Charlotte NC. A co-worker, Adam Mckee, and I will be attending.

The session tracks and schedule are available here, and I believe there are still seats available if you are interested in attending.

Registration is free, and lunch is provided. It's an all day event and looks like it should be very informative.

I have included a snap shot of the schedule, click for a larger image, but of course you should check the site for last minute changes, additions etc.

image

If you are planning on being there and would like to meet leave a comment or send me an email or phone call, my contact details are on my main blog page.  http://www.rp2c.com/blogofbob

Cheers,

Robert Porter


 
Categories: Programming | User Group


Beta versions of SP1 for both Visual Studio 2008 and the .NET 3.5 Framework are now available. Check ScottGu's Blog post here for more information.

For the record, I am holding off on installing these for a couple days, I will probably wait for the shipping versions, but if you are a bleeding edge type they are available!

Cheers,

Robert Porter


 
Categories: Programming | Visual Studio


It's not really SP1, it is a hotfix rollup that addresses a number of issues in Visual Studio 2008. It can be downloaded from here.

Check the installation instructions, particularly if you are running on Vista with UAC enabled, here.

The issues addressed in this hotfix include:

HTML Source view performance

  • Source editor freezes for a few seconds when typing in a page with a custom control that has more than two levels of sub-properties.
  • “View Code” right-click context menu command takes a long time to appear with web application projects.
  • Visual Studio has very slow behavior when opening large HTML documents.
  • Visual Studio has responsiveness issues when working with big HTML files with certain markup.
  • The Tab/Shift-Tab (Indent/Un-indent) operation is slow with large HTML selections.

Design view performance

  • Slow typing in design view with certain page markup configurations.

HTML editing

  • Quotes are not inserted after Class or CssClass attribute even when the option is enabled.
  • Visual Studio crashes when ServiceReference element points back to the current web page.

JavaScript editing

  • When opening a JavaScript file, colonization of the client script is sometimes delayed several seconds.
  • JavaScript Intellisense does not work if an empty string property is encountered before the current line of editing.

Web Site build performance

  • Build is very slow when Bin folder contains large number of assemblies and .refresh files with web-site projects.

Cheers,

Robert Porter


 
Categories: .NET | Visual Studio


May 12, 2008
@ 11:32 PM

An updated version of the original "Shift Happens" video. Well worth watching if you have not seen it, and even if you have it is worth another look. Mind blowing information.

Cheers,

Robert Porter


 
Categories: Misc | Ramblings


It seems I keep having the same conversation when it comes to BPM, Content Management and Workflow. Everyone has a different idea what each one means, how they relate (or don't relate) to each other. And of course there is always the "what exactly is <insert term from above>" question and debate.

Remember the saying "One man's code is another man's data.", well that same thought process applies to Content Management, Process Management and Workflow.

#1. Content folks will tell you that Process and Workflow exist in order to accommodate CONTENT.

Content Management 

#2. While folks from the Process Management pool will tell you that content and workflow are just aspects of THE PROCESS.

process

#3. Then there are the Workflow centric types who will gladly explain that without WORKFLOW there can be no process and content will have no meaning.

Workflow

So what conversation do I keep having? From my own experience and point of view all 3 of the above views combine to make a whole. Content in and of itself is just so much data. Workflow, while it can exist without content is usually the way that content gets consumed by, wait for it, a process!

Each of the 3 components, Content, Workflow, and Process, can exist in their own right. (Although I would tend to argue that a "workflow" is a process by definition.)

But from a very real world point of view (after all IT systems are primarily a way to model the "real" world right?), most process's are enriched by and contain content and workflow's. Even if they are not formally identified as such. For example, take buying a house, from the buyers perspective.

There is a fairly standardized process to buying a home. Once the offer is accepted, you enter the final phases of that process culminating in a sub process called a closing.

Some of the steps, workflow anyone, in that process are having the home inspected, having the home appraised, having a termite inspection, acquiring an insurance binder, checking the title, etc. Some of these steps are independent and can proceed asynchronously, other aspects are serial or synchronous in nature. (Appraisal first then check on Insurance etc.)

How about some content in this process? My last home purchase generated somewhere in the neighborhood of 500+ pages of reports, inspections, loan documents, insurance documents, tax information etc, etc. Talk about content! A home purchase is swimming in content.

So there is a real world process that requires both content and workflow in order to come to a successful conclusion. The content alone would do me little good without a process to give it context, and without a workflow to give it meaning and order.

So my conversation is usually something to the effect that Process Management, includes Process, Content, and Workflow. And that they are all interdependent on, and mutually beneficial to, each other. So lets all quit trying to shoehorn everything into a <insert part here> centric view.

So, to use another well used phrase; Can't we all just get along?

Cheers,

Robert Porter


 
Categories: Programming | Ramblings


If you get this error trying to set and hit a breakpoint, there are a couple of things to look for to resolve it. Typically what this error means is that the compiler cannot find debug information for the file you are trying to set a breakpoint in.

The first thing to check is that you have compiled the assembly in debug mode.

image

If you build the assembly in Release mode it will not generate the necessary debug information. Also be aware that there are two modes the compiler can use to generate the necessary program database (pdb) file for debugging, but only one of them actually enables incremental linking of the debug info.

/debug:full or /debug:pdbonly. Building with /debug:full generates debuggable code. Building with /debug:pdbonly generates PDBs but does not generate the DebuggableAttribute that tells the JIT compiler that debug information is available.

Depending on how you are building your solution you either need to look at the msbuild file or if you are building from within Visual Studio you can right click the project file and select properties. Then select the Build tab, and then the Advanced button. You will get the following dialog (VS2008, 2005 may look slightly different.)

image

Notice under Output the line for Debug Info, make sure this is set to full. The other values available are none, and pdb-only. Neither of the latter two values will result in debuggable code.

The next most common cause is that the [assemblyname].pdb file is not being copied or updated correctly to the bin folder of the startup project in a multi project solution.

You can manually copy the assembly file and the pdb file from the bin folder of the assembly you want to debug into the bin folder of the startup or calling project. Or into the web application bin folder if you are calling the assembly from a web application.

Thanks to Adam McKee of Ironworks who recently reminded me of the fix for this problem. I have put the information here to hopefully help the next person.

Cheers,

Robert Porter


 
Categories: .NET | C# | Debugging | Programming | VB.NET | Visual Studio


May 10, 2008
@ 07:04 PM

There are a number of add-on's for Fiddler, and every time I have to install Fiddler on a new machine I am always surprised when I go to use an inspector only to find out it is not there.

The best source of information for Fiddler Add-On's is the Fiddler Web Site itself. There is an Add-On link from the home page.

My favorites are:

The Syntax View Inspector

syntaxview

This add-on shows you syntax colored views of the captured session traffic.

 

The Web View Inspector

WebView

This inspector shows you the session data as it would be rendered via IE's rendering engine.

These are only two of the many available add-on's for Fiddler. But they give you a feel for what is available, and of course if there is a feature you want or need that is not already available, you can always write your own inspector!

Step by step instructions on building your own inspector are available here. Fiddler can be extended with .NET code or by using it's own built in Fiddler Script engine.

Cheers,

Robert Porter


 

I love Fiddler, it is a great aide in developing web applications, web tests and in general figuring out what is happening between your browser and server.

That said, it can be rather frustrating to get Fiddler working under certain circumstances. Over the years I have collected the following answers to the most common annoyances. Most of the following information I found on blogs, forum posts, and newsgroups. I have collected it here for convenience.

Two of the most common errors and fixes when trying to use Fiddler for a proxy debugger.

1. [Fiddler] Connection to localhost. failed:

[Fiddler] Connection to localhost. failed.
Exception Text: No connection could be made because the target machine actively refused it

Go to Fiddler Options and uncheck 'enable IPv6'

image

The alternative would be to configure your local IIS to listen to IPv6 traffic but this won't help if you are using the built in dev server that comes with Visual Studio

2. If you are not seeing any traffic on your local machine:

IE7 and the .NET Framework are hardcoded not to send requests for Localhost through any proxies, and as a proxy, Fiddler cannot intercept such traffic. There are several fixes to this problem.

The quickest fix is to substitute your machine name for localhost in the url so instead of http://localhost:1841/MyPage.aspx use http://mymachinename:1841/MyPage.aspx.

Another fix is to insert a '.' (period) right after the localhost in the url. e.g. http://localhost.:1841/MyPage.aspx

You can also edit your local hosts file to alias 127.0.0.1 to something like 'local'

A great deal of information on specific configuration issues in a variety of client systems is available on the Fiddler web site on the Configuring Clients page.

Enjoy!

Robert Porter