In computer programming the proliferation of both software and hardware means that it is not uncommon to encounter interface and compatibility problems. This can be at the most basic connection level but also extends to specific coding issues as well.