How to know when the garbage collector is not helping you

A while back I did an experiment where it turned out that allocating objects was better than pooling them. Since then I have encountered a few times where allocating actually turned out to be a bad thing. I’ve never seen this being a problem in a client application, but in servers allocating a lot of…


Using T4 to eliminate maintenance

I like to abstract diagnostics (logging and performance counters) into a separate interface or abstract class. But it becomes tedious to manually keep the fake diagnostics (used to test that that proper diagnostics calls are made), dummy diagnostics (when I just need something to pass around), console loggers (used for command line applications) and production…


Analyzing logs from Azure web sites

I recently played around with Azure web sites and wanted to analyze the IIS logs generated by azure but none of the tools I tried could parse the file I downloaded. Turned out that the header line of the file that looks like this: # date time s-sitename cs-method … That is apparently not correct…


TestInitialize execution order

This was brought to my attention and I was blown away by the fact that somebody would mark classes as TestClass without any tests in them just to reuse some setup code. And that they then make any assumptions on in which order the methods are called. If you really want to do that the…


Adopt a chaos monkey

Remember the Netflix Chaos Monkey? Last week they released the source code for it. maybe we’ll see a port to .Net and Azure on codeplex soon?


Listening to port 80 without being admin

If you’re writing integration or so called end-to-end tests for web services you typically need to spin up a service locally just for a few tests. Or maybe you’re just interested in doing some manual testing locally. In both cased you likely need to be an administrator to be able to listen to the desired…


Stress testing with Fiddler

If you’re developing REST based services, Fiddler should not be news to you. But there might be a little trick you can use to do some simple stress testing. If you select one or more sessions in the Web Sessions pane and then hit shift+R you get a little dialog asking for number of times…


Identifying IIS worker processes

The other day I had to debug a running IIS process. There was a nifty little command to figure out which process to attach to:C:\Windows\System32\Inetsrv\appcmd list wpApart from the terrible fact that I had to debug a running IIS process this was a useful command.


One thing you probably want to write in your code review

Just for the record I think face to face code reviews (or pair programming) is a much better idea than sending off a code review with an electronic tool and get some feedback back. But reality is that most teams use a tool where the reviewer and reviewee doesn’t necessary talk to each other, just…


Choosing the right tool for deployment in Twitter datacenter

This is an interesting story of how the twitter datacenter improved their deployment time from 40 minutes to 12 seconds using the right tool for the job. And twitter are not alone. Let that inspire you!