Friday, December 11, 2009

MS Project TFS binding improves tracking.

Just a few days ago, I setup a binding between TFS work items and MS Project Plan. It required me to use the TFSFieldMapping utility and modify some mappings based on the custom work item definitions we have in TFS. I am now able to better track work items assigned to my team. I would really recommend this for a project using TFS & MPP.

Thursday, July 16, 2009

Excel Type mismatch error when adding Pivot Table.

When creating a pivot table from an Excel ListObject, it is important to use the R1C1 format when passing the range information to Excel's PivotCaches.Add method. Failure to do so will cause the method call to fail with the message "Type Mismatch" when the number of rows exceeds 65,536.

Friday, July 3, 2009

Performance counters to monitor ASP.NET web site performance.

I found it useful to track the following performance counters when monitoring the performance of a web application.

\.NET CLR Interop(WebDev.WebServer)\# of marshalling
\.NET CLR Jit(WebDev.WebServer)\% Time in Jit
\.NET CLR LocksAndThreads(WebDev.WebServer)\Contention Rate / sec
\.NET CLR Memory(WebDev.WebServer)\# Bytes in all Heaps
\.NET CLR Memory(WebDev.WebServer)\Large Object Heap size
\.NET CLR Security(WebDev.WebServer)\% Time in RT checks
\ASP.NET Applications(__Total__)\Requests/Sec
\ASP.NET\Request Execution Time
\ASP.NET\Requests Queued
\Distributed Transaction Coordinator\Transactions/sec
\Memory\Available MBytes
\Memory\Pages/sec
\PhysicalDisk(_Total)\Avg. Disk Queue Length
\Process(sqlservr)\% Processor Time
\Process(WebDev.WebServer)\% Processor Time
\Processor(_Total)\% Processor Time
\SQLServer:Exec Statistics(Average execution time (ms))\DTC calls
\SQLServer:Locks(Database)\Lock Waits/sec
\System\Context Switches/sec
\System\Processor Queue Length
\Web Service(Default Web Site)\Anonymous Users/sec
\Web Service(Default Web Site)\ISAPI Extension Requests/sec

Caching in Outlook

A very informative KB article on Offline Address books in Outlook. Must read for anyone designing offline support in an application.

Outlook.sharing.xml.obi contains RSS subscription names.
extend.dat is an internal cache file used by Outlook to store paths to all DLL files used for Outlook extensions.

Sunday, June 28, 2009

Interesting articles on Green Computing

http://green-broadband.blogspot.com/2007_12_01_archive.html
http://www.environmentalleader.com/2008/05/08/cutting-the-internets-carbon-footprint/
http://technology.newscientist.com/channel/tech/dn13831-delaying-data-could-cut-nets-carbon-footprint.html
http://www.zdnetasia.com/news/business/0,39044229,62042955,00.htm
http://mashable.com/2007/08/14/green-toolbox/
http://www.triplepundit.com/pages/offsetting-your-websites-carbo-003500.php
http://orangecounty.craigslist.org/cps/877592813.html
http://software.intel.com/en-us/articles/creating-energy-efficient-software-part-4
http://www.processor.com/editorial/article.asp?article=articles%2Fp3032%2F23p32%2F23p32.asp
http://www.climatesaverscomputing.org/tools/applications/
http://cultureofchemistry.blogspot.com/2007/05/carbon-footprint-of-that-computer.html
http://www.viapc-1.com/index.php?option=com_content&task=view&id=526
http://blog.tmcnet.com/green-blog/2007/07/the-real-carbon-footprint-of-a-web-page.html
http://www.internetnews.com/reporters_notebook/article.php/3690411

Useful developer links for .NET

1. Customizing the places bar in Visual Studio: Allows you to quickly access frequently used folders.
2. Copy Source as HTML for Visual Studio 2008
3. Smart Client Software Guidance
4. Microsoft Network Monitor
5. Team Foundation Power tools
6. Process Monitor
7. VSTO Power tools

Thursday, June 11, 2009

Relation between Excel Range Locked property and Sheet Protection.

Sheet/Workbook State

Range Locked Property

Result

Protected

True (Default is true)

Range is read-only

Protected

False

Range is editable.

Unprotected

True

Range is editable.

Unprotected

False

Range is editable.

Thursday, May 21, 2009

Listing only directory or file names using the Dir command

The following command can be used from the DOS command prompt to only see the list of filenames/folders in a given directory.

Dir /d /b

Monday, May 4, 2009

Skipping strong name signature verification

I built a VSTO project on my dev box and received the following error when Excel opened up.

Customization could not be loaded because the application domain could not be created.

************** Exception Text **************
Microsoft.VisualStudio.Tools.Applications.Runtime.CannotCreateCustomizationDomainException: Customization could not be loaded because the application domain could not be created. ---> System.IO.FileLoadException: Could not load file or assembly or one of its dependencies. Strong name signature could not be verified. The assembly may have been tampered with, or it was delay signed but not fully signed with the correct private key

One way to get around this exception is to use the sn.exe utility with the 'Vr' flag.

sn –Vr <assembly>

You can use the Vl flag to see the list of assemblies registered for strong name verification.

What is success?

The journey of life takes us through varied experiences like landing an admission at a prestigious college, earning a degree, getting hired,...