What is the Dependency Inversion Principe (DIP) The Dependency Inversion Principle (often referred to as DIP) is one of the five basic principles of object orientated programming and design known as SOLID. The principle states: A. High-level modules should not depend on low-level modules. Both should depend on abstractions. B. Abstractions should not depend on... Continue Reading →
The Open Source vs Commercial Development Myth
The two can Co-Exist Looking around the internet you could believe that open source software development, and commercial software development, are opposing forces that can never meet or work well together. All experienced software developers know this is simply untrue, and yet the myth seems to perpetuate anyway. By being careful, and being keeping with the... Continue Reading →
C# Code Guidelines
Coding Guidelines Every development team or software development team need guidelines to follow to help them write consistent code that keeps maintenance costs low, and development productivity and code reuse high. I recently updated the ones I use with my team, and though I'd share them to save others having to create their own. Feel... Continue Reading →
17 Years of Porting Software… Finally Solved
A History of Porting Software I've been involved in creating and maintaining commercial and open source software for as long as I can remember, reaching back to 1996 when the world wide web was in its infancy, and Java wasn't even a year old. I was attracted to the NetBSD project because of its focus on having... Continue Reading →
Google Glass – time to make your applications wearable
Wearable Technology I've been having a bit of fun with Google Glass recently. If you haven't come across Google Glass before, I'd describe it as a pair of glasses you can wear that give you personal, voice controlled, simple computer. Now I don't personally believe Google Glass is a product that is going to go mass-market... Continue Reading →
Flexible API Documentation with ApiDoc (http://apidoc.codeplex.com)
What is ApiDoc ApiDoc is a tool for creating a set of technical API documents to help developers using your libraries or classes. As a .NET developer you've probably used the MSDN references for various .NET classes on a regular basis. But how do you make the same style of documentation available to your team... Continue Reading →
Object.ToStringSafe()
If like me you've worked with C# and the .NET framework for years then you will probably have written variations on following code hundreds of time when trying to display values on screen or save values into text based files or SQL statements: The code itself is simple enough to get right first time, and easy... Continue Reading →
Installing the Mvpc Visual Studio Add-in and Nuget Feed
Getting Involved with Mvpc The Mvpc reference libraries used by all developers in Ambidect are also available to invited partners and developers. If you are interested in working with the Mvpc libraries yourself or within your company drop me an email and we'll see if we can get you building cross-platform multi-device applications too. Using the... Continue Reading →
Async extension method wrappers
Asynchronous APIs are becoming more popular thanks in part to the focus on asynchronous user interface design requirements on platforms such as Windows Store Applications for Windows 8 and Windows RT. This attempt to change the way developers think about long or unpredictable operations is welcome and necessary as databases and files slowly migrate into... Continue Reading →