Writing Testable Code - It's all about dependencies

Following on from my post about why you should write automated tests, I wanted to talk about how to write code that is testable. Unfortunately, unless you explicitly know how to write testable code, and are familiar with the SOLID principles (which from my experience, the average developer isn't!) -…

My 2015 in Review

Well, 2015 was definitely quite an interesting year - with two job changes, and the start of my own company! But far more importantly - we had the very exciting news that we're going to have another little baby boy mid 2016! Our current son Jack is now almost two.…

The end of a great team ...

Seven weeks ago we were told that our company was going into administration due to financial difficulties. Whilst at the time, this didn't necessarily mean the company was closing down, and there was chance of finding a buyer, unfortunately on Friday we were informed that the decision had been made…

The Interactive Rebase

My last post was focused around a problem in Git which occurs when the rebase command isn't used, and developers blindly use pull/push. The problem is that it creates pointless merge commits, and also stops the Git history from being linear, ie. the branches are diverging and remerging back…

The erroneous Git Merge Commit ...

I'm a huge fan of Git, but have certainly found it has a bit of a learning curve when first starting off. Whilst I now feel extremely confident using it, there were quite a few 'aha' moments required to get here. Git gives you a huge amount of power and…

Don't email me my password!

I'm sorry, but this post has been born purely our of frustration. Yesterday, as part of a support ticket with my domain provider about an old account, they sent me my login details... Including my password. In plain text. You can see where this is going! I'm not going to…

Automated Testing Series - Part 1 - What and Why?

Over the past year or so I've been getting more and more interested in the various forms of automated testing. I've been a developer for verging on 20 years, and yet it's only been these past few years where I've seen a much larger interest in automated testing in the…

Favourite Podcasts

A month or so ago, I tweeted my favourite audio podcasts, and realised that it was worth a blog post. I mostly listen to podcasts on the way to and from work in the car. Some of them I've listened to for quite a while, and some I've only recently…

Git Hooks and Banned Words

I quite often use keywords surrounded in parenthesis in my code as temporary todo markers for Resharper's Todo Explorer. One common keyword I use a lot is (nocommit) to indicate something is temporary and shouldn't be committed to source control. This is where Git hooks come in very handy to…

Code Snippets... again!

So, I've written a few posts in the past about storing code snippets and my various attempts at finding the right tool for the job. I've tried plain text, TWiki, and Evernote in the past. However, I've now finally(?) settled on Workflowy for both this as well as many other…