Endjin - Home

Alice Waddicor's Blog

This month, I’ve completed my three year apprenticeship at endjin – a big landmark in a journey that started with enrolling on a computing MSc several years ago. Endjin’s apprenticeship is a custom programme which aims to bridge the gap between new entrant and competent developer. The scheme was set up in recognition of the […]


This post explains how to create a PowerBI report which sources data from two separate Azure SQL Databases. PowerBI offers two data access mechanisms; Import and DirectQuery. DirectQuery provides a range of benefits, the chief of which is that data is automatically refreshed. DirectQuery doesn’t import any data into PowerBI, instead it queries the data […]


In February 2016, I completed my second year of endjin’s three year custom apprenticeship scheme. This blog is a chance for me to reflect on what was learnt over the year – hopefully others will find it useful too. Year one had involved a very steep learning curve as I transitioned from student to graduate […]


A short while ago, I was trying to classify some data using Azure Machine Learning, but the training data was very imbalanced. In the attempt to build a useful model from this data, I came across the Synthetic Minority Oversampling Technique (SMOTE), an approach to dealing with imbalanced training data. This blog describes what I […]


Azure data services part 3: Azure Machine Learning

by Alice Waddicor

In parts 1 and 2 of this mini-series, I wrote brief intros to HDInsight and Stream Insight, Azure’s offerings for big data analytics and real-time analytics. Next up, Azure Machine Learning. What it’s for: Azure Machine learning provides a GUI with drag and drop pre-built components for carrying out predictive analytics. You can also plug […]


Azure data services part 2: Stream Insight

by Alice Waddicor

This blog is part of a series where I’m writing up my notes from a training session on Azure’s data services. The previous post dealt with Azure’s Hadoop implementation, HDInsight. This week, I’m going to write about Stream Insight. What it’s for: Stream Insight is an Azure service for real-time event processing. Use cases for […]


Azure data services part 1: HDInsight

by Alice Waddicor

Last Autumn, Richard Kerslake and I were lucky enough to land in the warmth of Barcelona, for a Microsoft Analytics training event. The sessions gave an introduction to Azure’s HDInsight, Stream Analytics and Machine Learning services. I’m going to write up a quick summary of what I learned about each service, starting with HDInsight. What […]


With Power BI now in public preview everywhere, you don’t need to be a “data scientist” to do data science! Power BI is a powerful tool for visualising performance, user interactions and other data for your applications. There is so much useful data sitting passively in various storage accounts, hiding interesting trends or unwanted behaviour. […]


I sometimes find myself in a situation where I want to include some, but not all changes in a file in a Git commit. For example, a colleague uses Visual Studio 2015, whereas I use 2013, so when I open a solution to help out on their project, the .sln file is updated to show […]


I recently needed to style a dropdown menu which was part of a set of elements inserted into the DOM by a third party JavaScript library (CK Editor) when another element was clicked. To style the dropdown, I needed to have a look at the DOM elements for the dropdown. However, this was tricky because […]


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. […]