Endjin - Home

endjin blogs

Think Smarter

Explicit interface implementation

by Ed Freeman

A big part of endjin’s apprenticeship is the structured training each apprentice has to undertake. Time is set aside during the working day to do this training – we aren’t obliged to complete our training outside of our contracted hours, unlike what I’ve heard from some of my friends who work in certain financial institutions… […]

Category: Uncategorized

We’re currently building a Data Governance Platform product that enables UK Financial Services organisations to discover and manage the life-cycle, usage, risk and compliance requirements of data assets across the organisation. Much of the core functionality is delivered using Cosmos DB’s Gremlin API to model data lineage and other relationships best represented by a graph […]


In case you missed it… Here’s a link to my last blog on understanding Rx (luckily this blog has an internal buffer so if you’re just tuning in now, you’ve not missed your chance)! OnNext(Understanding of the Rx operators) Now one of the most exciting things about Rx is that it has its own implementation […]


Use-case Here’s the background to this blog: I’ve always found getting csv files into a SQL Server instance much more convoluted than seems necessary. The manual tools provided in SSMS have caused me hours of pain in the past, trying to match-up data types from source and sink. I never seemed to get it right. […]


This has been sitting in my “blogs” folder for some time, with little more in it than a first sentence about the fact that I haven’t written this blog yet. Whilst going over C#, reactive extensions have been one of the things that I have struggled to get my head around the most. I think […]


Overflowing with dataflow part 2: TPL Dataflow

by Carmel Eve

Edit: In case you missed it! Here’s a link to part 1, a general overview of dataflow as a processing technique! The specific implementation of dataflow that I want to talk about is the TPL dataflow library. The task parallel library is a .NET library which aims to make parallel processing and concurrency simpler to […]


Overflowing with dataflow part 1: An overview

by Carmel Eve

In a recent project, I was asked to produce a tool for importing a fairly large amount of data at once, this data then needed to be processed and exported. After much refactoring, I achieved a solution I was satisfied with which used TPL dataflow to execute the processing in parallel. Before I talk specifically […]

Category: Architecture, Big Data

Last week I attended Microsoft Future Decoded in London. There were a huge range of speakers, and I thoroughly enjoyed being immersed in the world of tech. However, an issue that was at the forefront of my mind as I wandered around the expansive halls of the Excel centre was the ongoing conversation surrounding women […]

Category: Culture 1 Comment

When I am learning something new and it’s programming related I normally find the best way to learn is to write my own implementation. I have been reading a lot about dependency injection so I thought it would be worthwhile to create my own DI framework so I could see how it actually works. I […]

Category: Development

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

1 2 3 16