I wasn’t sure how I’d like to begin this blog post. Instead of writing a long and boring introduction that drives my point, I’ll just dump all that boiled inside me for quite a while. Sarcasm and bitterness ahead!
As part of transitioning to a new API, I wanted a way to mark the old API as obsolete, so that Visual Studio (or ReSharper) would flag using of the old API as an error.
After my previous blog post on the subject, my good friend Avi Pinto asked if it was possible to teach ReSharper to treat an ASP.NET MVC
HtmlHelper extension method to understand and navigate to relative paths within the project. I’m happy to report that not only this is possible, it also requires almost no effort at all!
While working with a client to create a new version of their software, one of the tasks was creating a service that talked to a hardware laser tracker, a device which allows tracking certain points (targets) over a large distance.
While running some of my tests today, I suddenly got an
IndexOutOfRangeException, with the following stack trace:
My colleague was annoyed that pressing Win-Enter on Windows 8 would pop open Windows Narrator, and there was seemingly no way to disable it. He told me that the answer he found on one of the forums suggested removing the execute permission from the Narrator.exe file, howeverÂ since this involves preventing file execution, this led me to an idea to try and use my old friend Image File Execution Options, which I’m happy to report, worked!
Let’s get this out of the way first: I hate #regions! It’s a construct that was introduced to C# 1 to help separate generated code in WinForms from the actual user code (there was no support for .Designer or partial classes yet). Regions became an abuse, where developers would simply hide huge code behind regions, instead of following SRP and keeping classes small. I actually voted and suggested that ReSharper will not generate any regions by default.
It is often said that all problems in computer science can be solved by another layer of indirection. All, except performance problems. Typically, when performance problems occur, it’s best to approach them like peeling an onion – removing abstractions one by one.
Every once in a while, for reasons unknown, the Solution Platforms combo box, which contains the AnyCPU, x86, etc. disappears. And every time when I need to restore it, I spend a good few minutes in the options. Here are the steps to bring it back: