Browse our archives by topic…
Blog
Browse our blogs activity over the years…
A week in the life of a (graduate) endjineer
During our last few months of recruitment, one of the main questions that we were asked during this process is 'what does your average day look like'. The extremely varied work at endjin made this quite a tricky question to answer, so we expanded the question to be slightly broader - 'what does your average week look like?'
Enable intra-business comms with user stories, BDD & ubiquitous language
Endjin uses user stories, BDD specs, and a ubiquitous language to bridge the communication gap between stakeholders and tech teams.
Deploy a Vue app to Azure Static Web Apps using Azure DevOps & YAML
Deploy a VueJS app on Azure Static Web Apps using a YAML-defined Azure DevOps pipeline with Microsoft's hosting solution for static web applications.
New LinkedIn Learning Course AZ-204: Developing Solutions for Azure
Carmel has recently released an exam tips course on preparing for the AZ-204 exam: Developing solutions for Microsoft Azure! The course gives an overview of the syllabus, some tips on what you'll need to know for each section, and some examples of common question types.
Data is the new soil
Thinking of data as the new soil is useful in highlighting the key elements that enable a successful data and analytics initiative.
C# serialization with JsonSchema and System.Text.Json
Learn how code generation can build on System.Text.Json and JSON Schema to create a great experience for C# developers.
Azure Synapse SQL Serverless: connect Data Lake and Power BI
TL;DR - Using Azure Synapse SQL Serverless, you can query Azure Data Lake and populate Power BI reports across multiple workspaces.
How to test Azure Synapse notebooks
Explore data with Azure Synapse's interactive Spark notebooks, integrated with Pipelines & monitoring tools. Learn how to add tests for business rule validation.
Power BI deployment pipelines: enabling DevOps for analytics
Power BI deployment pipelines manage collaboration, change management, and testing of reports, enabling DevOps for analytics solutions.
Do robots dream of counting sheep?
Some of my thoughts inspired whilst helping out on the farm over the weekend. What is the future of work given the increasing presence of machines in our day to day lives? In which situations can AI deliver greatest value? How can we ease the stress of digital transformation on people who are impacted by it?
Configuration in Azure Functions - What's in the box?
The first in a series on Azure Functions configuration — what IConfiguration, environment variables, and the runtime give you out of the box, with a sample.
Safely reference nullable activity output in Synapse / ADF
Discover Azure Data Factory's null-safe operator for referencing activity outputs that may not always exist. Learn to use it effectively.
How to trigger an Azure Synapse pipeline run from C#
Trigger an Azure Synapse pipeline run from C# code in an Azure Function using the Azure.Analytics.Synapse.Artifacts SDK — parameters, PipelineClient, auth.
Learning from Covid-19
Summary of key themes from the Doing Data Together conference hosted virtually by The Scotsman newspaper and Edinburgh University in November 2020. The conference agenda was pivoted to focus on the use of data to help tackle the Covid-19 pandemic. It provided a fascinating insight into the lessons learned.
Installing Mattermost using the Azure CNAB Quickstart Library
Get started with Mattermost on Azure using the Mattermost on AKS quickstart from the Azure CNAB Quickstart Library.
How Azure Synapse unifies your development experience
Modern analytics requires a multi-faceted approach, which can cause integration headaches. Azure Synapse's Swiss army knife approach can remove a lot of friction.
Design patterns in C# - The Proxy Pattern
The proxy pattern controls access to an underlying object: restricting callers, adding caching, enabling lazy loading, or representing remote resources through a local stand-in.
Update credentials for on-prem Power BI data source via PowerShell
Learn to automate Power BI data source credential updates using RSA-OAEP encryption and .NET SDK helper classes for on-premises data sources.
How to consume a NuGet package in PowerShell
Learn how to import .NET packages from NuGet into PowerShell and utilize their classes/methods, while avoiding PowerShell NuGet provider pitfalls.
When C# 9.0 patterns go wrong: mechanism over intent
C# 9.0 enhances pattern matching, but new operators like 'and', 'or', 'not' tempt overuse. Ian Griffiths shows when expressive intent beats clever mechanism.
Does your GitHub Repo need 'Code Operations'?
CodeOps enables you to layer standards, automation, and governance to your source control repositories, decreasing manual effort and increasing productivity.
Design patterns in C# - The Facade Pattern
This blog is part of a series around design patterns. This post focuses on the facade pattern. The facade pattern provides an interface into a complex system, in order to simplify access to the functionality.
How do I know if my data solutions are accurate?
Data insights are useless, and even dangerous (as we've seen recently at Public Health England) if they can't be trusted. So, the need to validate business rules and security boundaries within a data solution is critical. This post argues that if you're doing anything serious with data, then you should be taking this seriously.
The importance of specific & immutable dependency versions
This post describes the reasons for choosing specific & immutable dependency versions in your software.
C# 8.0 nullable references: defeating the point with empty strings
Enabling C# 8's nullable references feature often produces a lot of warnings. Avoid the temptation to make some go away by initializing properties to empty strings.