WebFormViewEngine Path Defaults Seem Broken

This post is about 60% fact and 40% opinion. Not a bad ratio. I’ve been working a lot in ASP.NET MVC lately building up a set of classes to be reused across multiple sites in the near future. A few of these legos are small view classes that inherit from WebFormViewEngine. They all do small things, like adding additional file search paths, loading views from resources and fetching views from remote storage. Since you can stack view engines in ViewEngines.Engines, you can add and number of these engines together to get the functionality you want on a site per site … Continue Reading

Template Toolkit for .NET

A while back I got the urge the waste time on yet another project. This time, it’s a version of Template Toolkit for .NET. As usual, you can find the project on GitHub.

Not knowing anything about what it takes to convert a template language to .NET I started from ground up learning how to use ANTLR to create a lexer/parser automatically from a grammar definition. As if that wasn’t enough, my parser output is an Abstract Syntax Tree, which I then use another grammar to template it into C# code using StringTemplate templates, which ANTLR supports natively.

It’s … Continue Reading

Writing ReSharper 4.5.x Macros

While working on the MVC Marathon, I decided to try out ReSharper and write some good templates to make my time unit testing in ASP.NET MVC a little quicker. I soon realized that I needed a macro that would turn the unit test class name (HomeControllerTests) into the name of the controller being tested (HomeController).

Continue Reading

Macbook Pro Go Boom

Slowly over the last couple of weeks, my Macbook Pro started going downhill. It started with a big bad pixel in the top middle of the screen. Nothing worth pursuing since there was only one. Then Saturday while doing some full screen editing in Textmate I noticed a rash of speckles on the right side. I thought it was dirt. Of course, it didn’t come off when I cleaned the screen. Continue Reading

Monitoring Local Directories with Siphon

This is the third in a series of posts about Siphon, a set of data monitoring utilities for .NET under the MIT license. The source code can be found on GitHub.
Continue Reading

Siphon Configuration

This is the second in a series of posts about Siphon, a set of data monitoring utilities for .NET under the MIT license. The source code can be found on GitHub.
Continue Reading

An Introduction To Siphon

This is the first in a series of posts about Siphon, a set of data monitoring utilities for .NET under the MIT license. The source code can be found on GitHub.
Continue Reading

So Long Parallels. Hello VirtualBox.

Back when my XP laptop died and I finally bought a MacBook Pro, Parallels was one of my first purchases so I could run multiple VMs to do Perl software testing. At the time, that was Parallels version 3. Everything was snappy and life was good.

Then came the upgrade to Parallels 4. From day 1, I’ve had nothing but problems. It was most definitely much slower just to boot XP. Even a fresh install of the software and even an new XP VM fixed nothing. It was still slow. Even more entertaining was that when running XP in VGA mode, … Continue Reading

Brother MFC-490CW Multi Function Printer

Last year, I bought the wife a new Dell Studio 17″ laptop to replace her dead laptop and her old crusty desktop. New laptops don’t come with parallel ports any more. This makes my 13 year old faithful HP LaserJet 6P very lonely. After 13 years, I’ve only had to replace the toner cartridge once. It’s been workhorse.
Continue Reading

Always Set Href In Javascripted Links

When using javascript in links onclick event to open windows or perform other navigation related tasks, always set href just like you would if javascript didn’t exist. If javascript is broken, links still work.

<a href=”http://example.com/” onclick=”doStuff(this.href);”>Open</a>