Code Review Checklist

Code reviews are necessary to ensure your application is consistent. We live in an age of copy-and-paste craftsmen, so making sure that the bits that do get copied are correct is imperative for this approach to keep on working! There are many articles out there telling you why code reviews are important, why you should…

Coding Concepts – Cyclomatic Complexity

Cyclomatic what? Even spell check doesn’t recognise the word, but it’s a super useful software metric for understanding how your software works. Having read about it a few years ago, it apparent use seems to have deteriorated. I feel it’s a very valuable tool in a developer’s arsenal, and something that should be used in…

No Frills Keyboard Shortcuts (with Gifs) every Developer Should Follow

Shortcuts for me are the most productive thing that a developer can add to their repertoire that will aid them through their entire career. Learning how to use your system and tools will improve your productivity and in general make traversing all your windows and apps a breeze. The mouse is a great, tool, but…

Coding Concepts – Reflection

Reflection – What you need to know. In computer science, reflection is the ability of a computer program to examine, introspect, and modify its own structure and behavior at runtime.[1] So what does that mean? Reflection is a term thrown around every now and again and but do you really know what it means? Why…

Coding Concepts – Anonymous Methods

What is an Anonymous Method, and when should we use them?   Definition Anonymous Functions – In computer programming, an anonymous function (function literal, lambda abstraction, or lambda expression) is a function definition that is not bound to an identifier. Anonymous functions are often[1] arguments being passed to higher-order functions, or used for constructing the result of a higher-order function that needs to return a function. If the…

Coding Concepts – Understanding Generics

What are Generics, and why should we use them? Generic programming is a style of computer programming in which algorithms are written in terms of types to-be-specified-later that are then instantiated when needed for specific types provided as parameters. This approach, pioneered by ML in 1973,[1][2] permits writing common functions or types that differ only in the set of types on which they operate when used, thus reducing duplication. Such software entities are known…

Moving from .Net to Salesforce. My thoughts and the challenges so far.

Having spent nearly a decade in the Microsoft eco-system, I decided it was time for a change. I’ve developed a range of web applications and tools using the Microsoft stack using some fantastic, far flung and now pretty outdated platforms/technologies such as: Web/Windows forms, WPF,  Silverlight, SQL Server, Web API, MVC, VSTO, Powershell, TFS & VSTS. These were/are…

Microservice based applications – What you need to know. Autonomy and the challenges you will face.

Looking through the challenges faced by developers when implementing microservices and distributed data solutions.

Google HashCode Programming Competition 2017

This week is the latest iteration of the yearly Google HashCode event. Google ask developers from all across  Europe, Africa and the Middle East  to take part in a simultaneous programming competition. It begins at 18:30GMT on Thursday 23rd February with an online qualification round. The best teams from this will  then be invited to…

How to deploy your code? Stack Overflow tell us their approach…

It’s a major part of coding, it’s all good it working on your machine, your version of SQL, your local single IIS box, but how do you take the single web site and get it out to the general public, or out to your testers? What’s the most efficient way, what requires the least amount…