Getting Started with Knockout js
I like to keep a list of new, interesting or important technologies which I would like to learn more about. Currently my list is dominated by javascript-related libraries and frameworks, including the...
View ArticleI Hate My Code
I recently listened to a great podcast – Lessons from Code Reviews with Shawn Wildermuth on .NET rocks. My favourite quote from the show was by Shawn: “No matter how good you are, your code will look...
View ArticleTake a Break
I returned home yesterday following a week-long holiday in Barbados. It’s a beautiful island, but more importantly having a week off work gave my brain, and the rest of me, a chance to rest and...
View ArticleThe Liskov Substitution Principle: Keep Your Promises
All programmers should be familiar with the five SOLID design principles. Along with Design Patterns, these are the most important things to understand for anyone wishing to design good (i.e. loosely...
View ArticleCertification? Not For Me
Microsoft offer a wide range of certifications for developers working with their stack. These are divided into five categories: 1. Server - Windows Server, Exchange Server, Lync, Sharepoint 2. Desktop...
View ArticleCode Smell Confessions
Code smells offer us a convenient way to identify, classify and address bad code. The phrase was first coined by Kent Beck, while helping Martin Fowler with his famous book, Refactoring. A code smell...
View ArticleI Choose JavaScript
Recently I’ve been thinking a lot about choosing a niche in software development. The idea has always been at the back of my mind, but now the time feels right to take a gamble and pick a technology...
View ArticleLearning How to Learn
If you want to learn something about programming which may help you in your career, you are faced with two decisions: what to learn, and how to learn it. And with each decision you are faced with a...
View ArticleSomething Like “this”
Few people learn JavaScript as a first programming language. Typically people will start with an object-oriented language such as C#, Java or C++. These languages have a few things in common, such as...
View ArticleInformation Hiding in JavaScript
A key concept in object-oriented programming is information hiding. It refers to the practice of declaring some parts of a class public, and others private, depending on what we want clients of the...
View ArticleLife Without Resharper
I recently (finally) upgraded to visual studio 2013. One unfortunate consequence of this was that the version of Resharper I was using (v7) was no longer supported. I was disappointed to find that my...
View ArticleIs Contracting For You?
I have been contracting for around two and a half years now. This isn’t long at all in the grand scheme of things, nevertheless I thought I would share some thoughts on contracting compared with...
View ArticleFive Lessons From JavaScript: The Good Parts
I have just finished reading JavaScript: The Good Parts by Douglas Crockford. It is a quite illuminating book, from which I learnt a number of interesting and useful lessons about JavaScript. I have...
View ArticleKeep Your Blood Flowing
One of the drawbacks of life as a programmer, along with most other professions, is that we are required to spend most of our day sat at a desk. There have been a lot of studies indicating that this...
View ArticlePareto Programming
One of my favourite principles is the Pareto Principle, also known as the 80-20 rule. The principle states that frequently, around 80% of the effects come from 20% of the causes. I love this principle...
View ArticleAdvice to My Younger Self
In professional terms, at the age of 33 I am still relatively young. I have more of my career ahead of me than behind me. Nevertheless, when I look back, I can see that my perspective has changed...
View ArticleA Tale of Optimization (part 1)
I intended for this article to be contained within a single post, but it turned out to be too long for that. The second part will be posted next week. Introduction Over the past couple of days I have...
View ArticleA Tale of Optimization (part 2)
Click here for Part 1 Chapter 3: The Select n + 1 Problem The Select n + 1 problem describes a situation where you are hitting the database many times unnecessarily, specifically once for each object...
View ArticleB-tree Indexes
You probably know that database indexes are a means for improving database performance. But surprisingly few people understand the different types of indexes there are, how they work, and how to...
View ArticleMy 3 Favourite Productivity Tools
Over the years I have been something of a productivity tool junky. Like many programmers I love trying out new productivity tools and utilities, but 90% of them don’t stand the test of time. I will...
View Article
More Pages to Explore .....