Skip to content
An Overview of the Azure CNAB Quickstarts Library

An Overview of the Azure CNAB Quickstarts Library

Howard van Rooijen

The Azure CNAB Quickstarts Library helps you get up and running with CNAB and Porter. We've built quickstarts covering solutions like WordPress, Ghost, Mattermost, and data platforms like Apache Airflow, SQL Server AlwaysOn clusters and Kubernetes features like an nginx ingress controller and an Azure AD enabled OAuth2 Proxy. We've condensed all our learnings from the past 9 months of working on the project and turned them into a 10 minute video which explains all the key concepts. We hope this video helps accelerate your own CNAB & Porter epiphanies!
Introducing the Azure CNAB Quickstarts Library

Introducing the Azure CNAB Quickstarts Library

Mike Evans-Larah

In partnership with Microsoft, we have released Azure CNAB Quickstarts Library on GitHub. CNAB (Cloud-Native Application Bundle) is a new specification designed for facilitating the packaging, installation, upgrading and uninstallation of cloud-native solutions in the cloud, on-premise or on the edge. We've created a number of quickstarts covering Apache Airflow, Azure Kubernetes Service, Ghost, Kubeflow, SQL Server Always On and Wordpress to help demonstrate the power of CNAB and Porter.
Help for the new CTO: IR35 and hiring developers

Help for the new CTO: IR35 and hiring developers

Matthew Adams

It has been a staple of IT projects to make liberal use of short-term contract staff. Upcoming changes in IR35 for medium to larger employers is seriously disrupting the IT recruitment market, and you should understand the impact bt
Five quick tips for public speaking

Five quick tips for public speaking

Carmel Eve

We all get nervous in the run up to a public speaking event. However, there are things we can do which help alleviate some of the pressure. Here are 5 quick tips around preparing for a talk!
A brief introduction to GTD (Getting Things Done)

A brief introduction to GTD (Getting Things Done)

Mike Evans-Larah

Boost productivity & reduce stress with GTD workflow. Mike Larah shares insights from a recent course on this effective time management method.
Exposing legacy batch processing code online using Azure Durable Functions, API Management and Kubernetes

Exposing legacy batch processing code online using Azure Durable Functions, API Management and Kubernetes

Jonathan George

Discover how Kubernetes, Azure Durable Functions, and Azure API Management transform legacy batch processing code into a RESTful API.
Azure Analysis Services - How to query all the measures in a model from .NET

Azure Analysis Services - How to query all the measures in a model from .NET

James Broome

Explore .NET querying methods for integrating Azure Analysis Services beyond data querying into dynamic UIs and APIs.
Azure Analysis Services: How to open a connection from .NET

Azure Analysis Services: How to open a connection from .NET

James Broome

Learn to integrate Azure Analysis Services in apps by establishing server connections. Follow this guide with code samples for essential scenarios.
NDC London 2020 - My highlights

NDC London 2020 - My highlights

Ed Freeman

Ed attended NDC London 2020, along with many of his endjin colleagues. In this post he summarises and reflects upon his favourite sessions of the conference including; "OWASP Top Ten proactive controls" by Jim Manico, "There's an Impostor in this room!" by Angharad Edwards, "How to code music?" by Laura Silvanavičiūtė, "ML and the IoT: Living on the Edge" by Brandon Satrom, "Common API Security Pitfalls" by Philippe De Ryck, and "Combatting illegal fishing with Machine Learning and Azure - for less than £10 / month" by Jess Panni & Carmel Eve.
NDC London Day 1

NDC London Day 1

Ian Griffiths

In this post, Ian describes some of the highlights from the NDC London conference
NDC London Day 3 Retrospective - from personal projects to developer comedy

NDC London Day 3 Retrospective - from personal projects to developer comedy

Jonathan George

Along with several of my endjin colleagues, I attended NDC London in January this year - here's a run through of the sessions I attended on Day 3 and my thoughts. This final day was a mixed bag, taking in talks on drumming and AKKA.net, as well as something a bit more close to home - a session from endjin's own Jess Panni and Carmel Eve on our recent project for OceanMind.
Mental health and managing the challenges of remote working

Mental health and managing the challenges of remote working

Carmel Eve

Remote working has many benefits. It allows us a huge amount of freedom, especially around managing our personal and professional lives. But alongside these benefits it also brings challenges. When you combine these challenges with certain aspects of mental health it can sometimes be difficult to manage. However, there are also ways in which remote work can enable us to control our environments in a way that would be extremely difficult if working from a conventional office. We have been a fully remote company now for over two years, and in this post Carmel shares some of her experiences of managing mental health whilst remote working.
NDC London Day 2 Retrospective - Full Stack, from SPAs to high performance .NET Core via Websockets

NDC London Day 2 Retrospective - Full Stack, from SPAs to high performance .NET Core via Websockets

Jonathan George

Along with several of my endjin colleagues, I attended NDC London in January this year - here's a run through of the sessions I attended on Day 2 and my thoughts. This day was UI heavy, with sessions on Vuejs and UI testing, but I also learned more about GraphQL and writing high performance C# code.
NDC London Day 1 Retrospective - dangerous AI, microservices, diagnostics and Blazor

NDC London Day 1 Retrospective - dangerous AI, microservices, diagnostics and Blazor

Jonathan George

A retrospective of my first day at NDC London 2020, taking in sessions on AI and Machine Learning, Capability Mapping, Micro Frontends, Diagnostics and Blazor.
NDC London - A dive into responsible and inclusive technology

NDC London - A dive into responsible and inclusive technology

Carmel Eve

NDC London day 1 was mainly focused around the responsibility we all face when developing new technology. As developers we cannot absolve ourselves of the consequences of not considering diversity and inclusivity when designing our solutions.
Azure Analysis Services - integration options using .NET, REST APIs and PowerShell

Azure Analysis Services - integration options using .NET, REST APIs and PowerShell

James Broome

Explore Azure Analysis Services in custom apps using SDKs, PowerShell cmdlets & REST APIs. Learn to choose the right framework in this guide.
Azure Analysis Services: 8 reasons why you might want to integrate into a custom application

Azure Analysis Services: 8 reasons why you might want to integrate into a custom application

James Broome

Explore Azure Analysis Services' versatility in bespoke analysis products & processes, and learn how it can unlock data insights beyond traditional BI.
AI for Good Hackathon

AI for Good Hackathon

Ian Griffiths

Endjin attended Microsoft's AI for Good hackathon at the IET in London, highlighting the potential of tech to amplify good deeds.
Careers in software development - different paths into the industry

Careers in software development - different paths into the industry

Carmel Eve

There are many different paths into the tech industry, Carmel has been speaking at some local schools about joining the industry from a scientific background. In this post she discusses the crucial tools which science gives you which can help you succeed in tech!
Building a secure data solution using Azure Data Lake Store (Gen2)

Building a secure data solution using Azure Data Lake Store (Gen2)

Carmel Eve

In this blog we discuss building a secure data solution using Azure Data Lake. Data Lake has many features which enable fine grained security and data separation. It is also built on Azure Storage which enables us to take advantage of all of those features and means that ADLS is still a cost effective storage option!This post runs through some of the great features of ADLS and runs through an example of how we build our solutions using this technology!

Speaking at NDC London: Combatting illegal fishing with Machine Learning and Azure

Carmel Eve

In January 2020, Carmel is speaking about creating high performance geospatial algorithms in C# which can detect suspicious vessel activity, which is used to help alert law enforcement to illegal fishing. The input data is fed from Azure Data Lake Storage Gen 2, and converted into data projections optimised for high-performance computation. This code is then hosted in Azure Functions for cheap, consumption based processing.
Troubleshooting "NotImplemented / Access is denied" error when integrating Azure App Service with Azure Virtual Network (VNet)

Troubleshooting "NotImplemented / Access is denied" error when integrating Azure App Service with Azure Virtual Network (VNet)

Ed Freeman

Are you configuring your Azure App Service to use a VNet? The regional VNet integration for an Azure App Service is a preview feature, and so comes with some quirks. One of the documented limitations of this preview feature is that "The feature is only available from newer App Service scale units that support PremiumV2 App Service plans." This has interesting implications as to how you need to deploy your App Service, otherwise you could end up with a rather perplexing pattern of errors. Read about how we came about this error, and how we ended up fixing it.
C# 8 Positional Patterns Custom Deconstructor Pitfall

C# 8 Positional Patterns Custom Deconstructor Pitfall

Ian Griffiths

Discover 'positional patterns' in C# 8, their interaction with custom desconstructors, and unexpected behaviors.

Survey: Expression Trees use cases in .NET

Howard van Rooijen

Expression Trees are one of .NET's super powers; but they are hugely overlooked and misunderstood. They can be used for on-the-fly code generation; building DSLs, and producing high performance computational algorithms. I'm trying to gather evidence about how you are using them, to make a case for future investments in the Expression Tree subsystem in .NET Core / .NET 5.0
C#, Span and async

C#, Span and async

Ian Griffiths

Explore how ref struct types like Span<T> in C# enhance performance but pose async method challenges, and learn mitigation techniques.