Programmer Time Translation Table

An experienced project manager I used to work with claimed that he took the programmers’ time estimates, multiplied by pi and converted to the next time magnitude to get the true number. 1 day converts to 3.14 weeks. He had learned the hard way that programmers are bad at estimating times. To get a more… Continue reading Programmer Time Translation Table

Bitten by yield return

I like the simplicity of creating enumerations with iterator blocks through yield return. Even though I regularly do it, I was bitten by a nasty bug a few weeks ago and it was entirely my own fault. I had been working hard on my bar management system, which includes a service to book a bar… Continue reading Bitten by yield return

Impossible to Read MS License Agreement

I don’t like reading license agreements. I doubt any programmer does. Even though I don’t like it, I usually quickly skim through the agreements to check that I don’t inadvertently approve something that I shouldn’t. Today I installed the .NET Framework 4 Update 3, to get support for workflow state machines. During installation I found… Continue reading Impossible to Read MS License Agreement

Emulating Multiple Inheritance with Extension Methods

Last week I showed some ways to utilize extension methods. In this post I’ll go on with a more advanced example and also discuss some of the limitations. Method-Only Multiple Inheritance A combination of interfaces and extension methods can be used to partly work around the single inheritance limitation of C#. Assume that I have… Continue reading Emulating Multiple Inheritance with Extension Methods