Technology Toolbox

Your technology Sherpa for the Microsoft platform

Jeremy Jameson - Founder and Principal



February 2012 Blog Posts

Import website (IIS) logs into SQL Server using Log Parser and PowerShell

Here's a little PowerShell script I whipped up to import the log files into a SQL Server database for some "quick and dirty" analysis.

Why I chose not to programmatically filter errors reported by ELMAH

If you think that programmatically filtering errors in ELMAH is as easy as specifying filters in Web.config, you might be in for a surprise.

Unit tests for filtering errors in ELMAH

In my previous post, I briefly mentioned the unit tests I created while trying to figure out why my ELMAH filter was not working as expected. Well, here they are for your enjoyment (or idle curiosity).

Filter ELMAH email messages to avoid getting spammed by hackers

I finally got around to configuring an ELMAH filter for the website (so I wouldn't be bothered by frequent email messages due to failed hack attempts). During the process, I also discovered a couple of bugs in ELMAH (and learned a lot more about the internal workings of ELMAH).

Packaging a code sample using PowerShell

Here is the PowerShell script I developed to avoid accidentally including "junk" in code samples I create for my blog.

Zip a folder using PowerShell

There are a couple of options for creating a zip file for a specific folder. You can either use a third-party solution (like the PowerShell Community Extensions) or do it all with "out-of-the-box" functionality.

Use PowerShell to alleviate the pain of code coverage analysis in Visual Studio 2010 and .NET 3.5 solutions (e.g. SharePoint 2010)

This PowerShell script makes it much easier to perform code coverage analysis in Visual Studio 2010 and .NET Framework 3.5 solutions (e.g. SharePoint 2010).

Code coverage analysis with Visual Studio 2010 and .NET 3.5 solutions (e.g. SharePoint 2010)

It takes a little more work than expected, but you actually can "have your cake and eat it too" when it comes to Visual Studio 2010 code coverage analysis and .NET Framework 3.5 solutions (e.g. SharePoint 2010).

Use protocol-relative URLs to avoid mixed mode content

Here's a great tip I picked up from Phil Haack a few weeks ago for avoiding those pesky warnings like "Only secure content is displayed."

HTML-to-PDF converters

Looking for a solution to convert from HTML to PDF? Here is a list of the products I discovered during my research as well as the results of the head-to-head competition.

Website style guide, custom CSS classes, and HTML snippets

If, like me, you use Expression Web to author HTML content, then I hope you take advantage of the "Snippets" feature.

Using Microsoft Excel to open numerous Web pages

Think you can just add a HYPERLINK column in Excel and easily open dozens of Web pages at a time? Think again.

Stop putting shortcuts on my Windows desktop!

It is 2012 and there are still software applications that insist on creating shortcuts on your Windows desktop. Pathetic.

Be careful when using the SharePoint PublishingPage.Url property

Intellisense isn't helpful when the underlying XML documentation in the code is wrong.

Supporting both "" and "" (a.k.a. Building, part 23)

Can visitors browse your website using "" as well as ""? Is this documented in your test spec? It should be -- as I found out...the hard way.

Is directory browsing enabled or disabled on your website?

Starting with IIS 6, directory browsing is disabled by default -- but are you really sure this is the way your website is configured?

Implementing Google Analytics (a.k.a. Building, part 22)

In yesterday's post, I described how I integrated Google Site Search into the Technology Toolbox website. This post provides a similar walkthrough for implementing Google Analytics.

Implementing Google Site Search (a.k.a. Building, part 21)

In this post, I provide another step-by-step walkthrough of a feature, this time sharing the details of how I implemented the search functionality on

Creating a simple "Contact" form in ASP.NET (a.k.a. Building, part 20)

In this post, I explain the iterative approach used to create the "Contact" form for the Technology Toolbox website. Through a sequence of 9 discrete steps, I describe my typical development process from initial concept to what I call "feature complete."