Endjin - Home

Richard Kerslake's Blog

Diagnostic logging with Azure SDK 2.5

by Richard Kerslake

Azure SDK 2.5 was announced on November 12th 2014.  Among other changes, the SDK includes Azure Diagnostics Client Library 1.3, which has significant and breaking changes since previous versions (Azure SDK 2.4 and previous versions used Diagnostics 1.0). One of the primary reasons for the change is to move from a plugin model to an […]


Using Azure Automation to run VMs during office hours only

by Richard Kerslake

There is an updated version of this post. Please read the new version, which guides you through similar steps using the latest and greatest Azure Portal and Azure Automation features: Using Azure Automation to run VMs during office hours only – using graphical runbooks   Endjin have been using Microsoft Azure to host our ALM infrastructure […]


Elasticsearch gotchas and tips – part 2

by Richard Kerslake

It has been some time since my last post giving tips on the hardware and software requirements for installing and running Elasticsearch on Azure. This post is a further series of gotchas and tips that I’ve picked up on during my journey using Elasticsearch. It is split into 3 broad categories covering various configuration items, […]


Troubleshooting Twilio with New Relic

by Richard Kerslake

Recruitment Genius asked endjin to develop an automated, telephony-based candidate interviewing system, using Twilio and Microsoft Azure. After it went live, Recruitment Genius started receiving a number of support calls from users who were having trouble logging into the system. Troubleshooting involved a series of laborious steps to manually tally Twilio logs with logs from the rest […]


Gotchas when installing an Elasticsearch cluster on Azure

by Richard Kerslake

Elasticsearch is an open source distributed search server, based on Lucene. It provides full-text search via a RESTful interface and JSON documents. It is ideally suited for running on cloud platforms like Azure. This is not a step-by-step guide to using Elasticsearch and running it on Azure. I’m assuming you already have some basic knowledge […]


At the moment, endjin are working hard on a new Azure based content management system. It is an exciting and modern solution that is rapidly approaching an alpha release. A large part of how this product works is through the use of plugins. As part of creating an excellent developer experience, we wanted to create […]


How to retry commands in PowerShell

by Richard Kerslake

Recently while working on a set of scripts to provision some infrastructure in Azure, I needed to be able to retry various commands in case of intermittent failures. With remote infrastructure in particular it is worth considering retry logic, because you never know when you might have trouble reaching it, or internal problems in the […]


Event stream manipulation using Rx – Part 2

by Richard Kerslake

In Part 1 of this post we became familiar with the Observer pattern, the Rx framework, and using marble diagrams to represent and think about sequences of events. In this post we will use a few of these ideas to write some code and produce something. Let’s get started! An example scenario and requirements Imagine […]


Event stream manipulation using Rx – Part 1

by Richard Kerslake

In a previous post I started talking about semantic logging and using the ETW and Tx technologies to assist in doing that. ETW and the EventSource package enable you to write trace events directly to tracing sessions and the Windows Event Log. Tx builds on Rx and LINQ to allow querying of raw event sources […]


Getting started with semantic logging

by Richard Kerslake

Semantic Logging A more traditional style of logging is to write a line of text for any significant event deemed worthy of recording. If there is an issue with the application which requires analysis of the logs, it largely requires someone to scan through the log files (of which there could be many) line by […]