Memoization using generics – Part 2
This is Part 2 of my series on Memoization. In Part 1 I described the basic principles behind memoization, and showed some examples on how to create an effective generic method to do memoization of methods with zero and one parameter. In this post I will show how to do memoization of methods with two parameters
Log4Net for noobs
Log4Net is a fairly old framework for logging, but it still serves it's purpose well! A couple of years back I wrote a tutorial on how to use Log4Net, today I stumbled across it, and I am quite pusseled that it is still as relevant today as it was back then. For those looking for a quick tutorial on how to use Log4Net, enjoy:
Debugging an application hang or freeze
A sudden freeze in an application can in some cases be a rather cumbersome problem to solve. Many times we don't have any indications why the application freezes no matter if is a Java, C# or C++ application, web site or dll. In some cases we might have a log file to help us look for the source of the hang or freeze, but in many cases we don't have any indications of problem until we suddenly run in Release mode and far from our dev env!
Here I will try to give some guidelines on how to attack this problem.
The future of Caliburn. Is Caliburn dead?
Those who have followed Caliburn over the past 6-8 months have probably heard alot about Caliburn.Micro as well. Whenever somebody has tweeted about getting started with Caliburn, Rob Eisenberg has quickly guided them to Caliburn.Micro. You don't need to be a rocket scientist to figure out that he has his reasons!
Code segments and syntax highlighting in Confluence
Yesterday during a documentation session I wanted to add several SQL-queries in a Confluence post. Of course Confluence supports code segments with highlighting etc through the Confluence New Code Macro. It's easy enough to get started with the macro, but specifying parameters turned out to be very poorly documented. This post will hopefully help fill some of the gap!
Whats new in ReSharper 6
With the introduction of ReSharper 6, JetBrains proves once again that they are able to surprise us with new and exciting features we just got to have! Lets look at some of the new functionality that's available in ReSharper 6.
Patching or updating a single dll in a release
Ever had the need to update a release with a minor change to one dll? These steps allow you to update a single dll in a installation from msi etc. Note that all steps are necessary to avoid problems with mismatch in dll references, manifests etc. Trying to update a single dll without these steps normally results in the following error:
Could not load file or assembly MyAssembly, Version=2.0.0.0, Culture=neutral, PublicKeyToken=null' or one of its dependencies. The located assembly's manifest definition does not match the assembly reference. (Exception from HRESULT: 0x80131040)
To avoid these kind of problems you have to make sure your dll's have the correct versions, and that all references are to the correct versions of all the assemblies (Normal problem whene using "1.0.*" as AssemblyVersion"
- Open you Visual Studio solution for the point of the release or todays date if there are no or few changes in the dll you want to update.
- Add you fix or change to your source code
- Go to references in the project you want to update (called project A)
- Delete all the references to projects in your solution (remember the names)
- Copy the same dll's from step 3 som programfiles or wherever you have the release installed. Copy the dll's to the bin/release folder of project A.