Archive for June, 2008
Have you ever wished your dictionary of <K,V> was in fact of <V,K>? I might be the last person to figure this out, but with LINQ (and a couple lambdas) you can do this with one magical line of code:
var newDict = oldDict.ToDictionary(l => l.Value, l => l.Key);
I really really hate it. Every time I try to do anything USEFUL with it, like try out an idea in a new branch and then merge the bits of that branch that worked out back to my main line, it barfs all over me with totally crap-ass error messages that nobody could ever, EVER understand.
Also, despite their claims to the contrary in the documentation, svn will happily shit all over your working copy when a switch fails. So much for atomic operations.
I’ve had it. I’m switching to Mercurial.
If you work in C# or VB.net on a regular basis, you really owe it to yourself to try out Resharper. This tool saves me countless hours.
He hasn’t covered the features that make it a boon for test driven development yet, but there’s another great screencast that shows that off, and this post provides some additional details on “coding in reverse” with Resharper.
Sometimes I can be such a buffoon. When programming with threads, one must be sure to lock and unlock in the correct order. Also, one must be sure not to do things explicitly marked as no-nos while in a “critical section.”
I just lost two hours to this, so I felt the need to whine.