Endjin - Home

endjin blogs

Think Smarter

Async pitfalls: deferred work and resource ownership

by Ian Griffiths

Asynchronous code has many traps for the unwary. In fact, it has plenty of ground that’s treacherous even for pathologically careful coders. For example, certain ways of using asynchrony can reduce the control you have over concurrency and ordering. This can result in subtle bugs, particularly when the asynchronous work operates on shared underlying resources. […]


(TL;DR This month I learnt a lot about the importance of package management, maintenance and the minimisation of dependencies.) It’s been a little while since my last blog, I’ve been pretty bogged down in a world of packages, .NET frameworks and testing. And it all started with what I thought would be a simple update […]


I’m very excited that Ian Griffiths has joined endjin as a “Technical Fellow”. This is a new career pathway branch we created especially for Ian, as he didn’t really fit into any of our existing roles; his skills and expertise exemplify a pathway that many software engineers desire, but few have the opportunity to achieve […]


Disclaimer: This is not an in-depth overview of encryption and data management, more a slice of the concepts I’ve come across as a relative newcomer to this world (i.e. I’m new, please forgive my relative ignorance). A brief introduction to hashing In order to talk about cryptography, we first need to understand hashing. In a […]

Category: Open Source, Technology

Joining endjin as a Technical Fellow

by Ian Griffiths

I am very excited to announce that after 21 years as a freelance consultant, I am finally settling down: this month, I am joining endjin as a full time employee. I’ve been an endjin associate for over 7 years now, so this isn’t a huge leap, but our trajectories have aligned in such a way […]

Category: Culture 1 Comment

After four years of university, you’d think I’d have this whole research thing down. However, I must admit that in my somewhat limited university experience of writing essays (us scientists tended to prefer the Greek alphabet), most of my “research” was done after the fact. I would spend the last day before a deadline frantically […]

Category: Technology

I’m Jonathan and I’ve just joined endjin as an Apprentice Software Engineer, I have been hacking together Java since I was 15 and recently completed my degree in Computer Science from the University of Lincoln. I’m using this blog to introduce myself and to allow others to see what it was like to join endjin, […]

Category: Culture

Not coming from a background in computer science, the inner workings of a computer have always been somewhat of a mystery to me. This is something I’ve always meant to remedy but never quite gotten around to. When I transitioned from C++ to C# my main thought surrounding memory management was “well thank god I […]


I’m back! Hi everyone. It’s been a long while since my last blog. *Bows head in shame* Blogging is one of those things I know I should do more often, but I’m still not in the routine in which one needs to be in order to do it regularly. As a consequence, what usually happens […]


Recently, Jess and I were looking at a Power BI report we produced for one of our clients. On the ‘overview’ page, we have numerous high-level visuals: Total Sales, Previous Year Sales, % Change YoY etc. Something struck me as odd, though. As I’m sure many of you who have spent days on a report […]


It’s been a pretty big week for me in a lot of ways, I’ve moved halfway across the country, started a “new” job, and used my brain for the first time in about six months. But I am so excited to be able to say that I have started back, on a permanent basis, with […]

Category: Culture 1 Comment

OpenAPI Document Converters for Visual Studio 2017

by Howard van Rooijen

In my previous post I documented a technical spike I carried out to see how I could take the OpenAPI.NET SDK and create a Custom Tool in Visual Studio, in particular a Single-File Generator, that could be used to improve the Azure Functions v1 local development experience. Since then the OpenAPI.NET SDK reached v1.0 and while I was […]

Category: Cloud, Open Source

Becoming an endjineer – week 1

by Jonathan George

How did I end up here? On 16th April this year I started a new stage in my career by joining endjin. In one way, it’s been a couple of months in the making, but in another it’s been more like 8 years! Back in 2010 myself, Howard van Rooijen (one of endjin’s founders) and […]

Category: Culture

OpenAPI code generators for Visual Studio

by Howard van Rooijen

Building RESTful APIs is a common activity at endjin. If you’ve seen our API Maturity Matrix, you’ll realise that we spend quite a lot of time thinking about the strategy, governance, legal, commercial, and operational side of building APIs along with the standard concerns of design, development, quality, infrastructure and support. One of the most […]


While you cannot yet use SpecFlow with netcore or netstandard projects, you can use new-style (dotnet) test projects that target net461, and reference netstandard projects-under-test from there. We like to use XUnit as the underlying test provider in this scenario, and we do the following: Install the current SpecFlow VS 2017 extension into VS 2017 […]

Category: Uncategorized

Using Python inside SQL Server

by Ed Freeman

Hello everyone. Before Christmas I played around with SQL Server 2017’s inline Python integration capability. This capability was announced early last year, with the corresponding integration with R already being possible for a number of months. The main benefits from this are the abilities to: Eliminate data movement (having to transfer data samples from a database to […]


Hello again, everyone. For those who read my blog a couple of months ago, you may well have been expecting to hear from me a little sooner. Well – I was hoping that would be the case, but it turns out my body had other ideas. I was off for 8 weeks after my appendix […]

Category: Uncategorized

One of the great benefits of Azure (and the Cloud in general) is the simplicity with which you can create and scale resources. The downside to this is that you can easily lose track what you’ve got deployed, or accidentally create expensive items and leave them running. We wanted a way to track our spending […]


We’re talking about Cosmos DB at Future Decoded 2017!

by Howard van Rooijen

We’re very excited to announce that at Future Decoded on 01 November from 11:30 – 12:30 in L3 – Session Room 11, we’re going to be sharing our experiences with Cosmos DB! Co-presenting with Microsoft’s Phil Harvey, endjin’s Director of Engineering, James Broome and Engineer Mike Larah are going to provide an overview of Cosmos […]

Category: Uncategorized

Over the last few week’s I’ve been catching up on my reading backlog and serendipity meant that I read Simon Sinek’s “Start With Why: How Great Leaders Inspire Everyone To Take Action” which was published in 2009, shortly followed by Satya Nadella’s “Hit Refresh: The Quest to Rediscover Microsoft’s Soul and Imagine a Better Future […]

Category: Strategy, Technology

1 2 3 15