Skip to content
Do robots dream of counting sheep?

Do robots dream of counting sheep?

Barry Smart

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?

Configuration in Azure Functions - What's in the box?

Jonathan George

The first in a series of posts talking about how to best work with configuration in Azure Functions
How to safely reference a nullable activity output in Azure Synapse Pipelines and Azure Data Factory

How to safely reference a nullable activity output in Azure Synapse Pipelines and Azure Data Factory

Ed Freeman

Did you know that there's a null-safe operator in Azure Data Factory's expression syntax? No? Well, now you do. Here's how you can safely reference an activity output that might not always exist.
How to trigger an Azure Synapse pipeline run from C#

How to trigger an Azure Synapse pipeline run from C#

Jonathan George

A rundown of how to trigger an Azure Synapse pipeline run from C# code.
Learning from Covid-19

Learning from Covid-19

Barry Smart

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

Installing Mattermost using the Azure CNAB Quickstart Library

Mike Larah

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

How Azure Synapse unifies your development experience

Ian Griffiths

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

Design patterns in C# - The Proxy Pattern

Carmel Eve

This blog is part of a series around design patterns. This post focuses on the proxy pattern. The proxy pattern is used to restrict and control access to underlying objects. It is useful in communicating with remote servers, or in adding extra functionality on object access.
How to consume a NuGet package in PowerShell

How to consume a NuGet package in PowerShell

Ed Freeman

Sometimes the logic for the bit of work you're doing in PowerShell won't be packaged into a handy PowerShell module with cmdlets to perform the operations you need to perform. But what if there is a .NET package listed on NuGet that does contain the assemblies you need for your work? How can we import that into PowerShell and make use of its classes and methods? This blog explains how to do just that, avoiding current pitfalls in PowerShell's implementation of the NuGet package provider.
How to update credentials for an on-prem Power BI data source using PowerShell

How to update credentials for an on-prem Power BI data source using PowerShell

Ed Freeman

Automating the updating of Power BI data source credentials is a common requirement in the application lifecycle management of a Power BI solution. However, on-premises data sources throw an extra spanner in the works: you must encrypt your credentials using the RSA-OAEP encryption algorithm before sending off the request to update the data source. There is currently no PowerShell module that encapsulates this logic into a set of handy cmdlets, so you must either implement the algorithm's logic yourself, or you can use the helper classes in the existing .NET SDK to do all the heavy lifting for you. This blog shows how to do the latter.
When C# 9.0 patterns go wrong: mechanism over intent

When C# 9.0 patterns go wrong: mechanism over intent

Ian Griffiths

C# 9 makes welcome additions to the language's increasingly powerful pattern matching capabilities. However, with great power comes a temptation to make a great big mess. In this post, Ian Griffiths urges us not to get carried away.
Does your GitHub Repo need 'Code Operations'?

Does your GitHub Repo need 'Code Operations'?

James Dawson

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

Design patterns in C# - The Facade Pattern

Carmel Eve

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.