Endjin - Home

Alice Waddicor's Blog

Year 1 as an endjin software engineering apprentice

by Alice Waddicor

Year one of my apprenticeship with endjin has gone incredibly quickly. I came to endjin having completed the taught modules of a Computer Science conversion MSc (the project was completed this year). When I look back on what I’ve learnt, it’s not just technical facts, but also the skills to deal with common issues, a […]


This blog is an addendum to Richard’s recent post about using Azure Automation to run VMs during office hours only. As Richard explains, you can use Azure Automation to create runbooks which contain PowerShell Workflows with the functionality you want to implement (e.g. starting and stopping a virtual machine or cloud service), and link those […]


This blog describes two tools I used last year to take some of the work out of a repetitive refactor. The tools were Visual Studio’s Find tool, with a regex, and Resharper’s Search by Pattern feature – I compare my experiences with the two here. The refactor – adding a class to certain html elements […]


This blog explains how you can use the Git client SmartGit to follow the GitFlow model, which Howard described in his series a step by Step Guide to using GitFlow with TeamCity. GitFlow GitFlow specifies a standard branch structure and workflow for moving changes between branches, which standardise the way a team uses Git, and […]


Using SemanticMerge to fix Git merge conflicts

by Alice Waddicor

Part 4 of my series of posts about Git for .NET deals with merge conflicts, and describes how to resolve them using the command line, Visual Studio and SmartGit. Both Visual Studio and SmartGit offer built in conflict resolution tools. However, it’s also possible to solve conflicts with specialist third party conflict resolution tools. A […]


Following on from the previous post in this series which dealt with branching and pushing your changes, this post looks at how you can deal with merge conflicts. I’ll describe when conflicts occur and how they can be dealt with using Visual Studio, and third party Git client SmartGit. The next post in the series […]


Understanding dependency injection

by Alice Waddicor

Dependency Injection (DI) was one of the areas I had to get to grips with when I began my apprenticeship with endjin. Because DI deals with something as fundamental as the creation of new objects, it has been used by all of the applications I’ve encountered here. This blog post sums up what I’ve learnt […]


This is part three of a set of blogs I’m writing as I learn about Git. In part one, I talked about Git’s distributed architecture, its approach to version management, and its support for frequent branching and merging. In part two, I looked at some of the tools we use to work with Git at […]


This is part two of a series of blogs which I’m writing as I learn about Git, an open source distributed version control system, and find out how it can be used for .NET development. In part one I talked about Git’s distributed architecture, its approach to version management, and its support for frequent branching […]


Using Git for .NET development part 1 – what’s Git?

by Alice Waddicor

The first few weeks of my apprenticeship involved a crash course on source control with Git. I’ll be sharing what I learned in a series of blogs, looking at Visual Studio’s Git extension, and the Git client SmartGit. In this blog, I start off with a tour of the fundamentals of version control with Git. […]