Skip to content
Using the Playwright C# SDK to automate 2FA authentication for AAD and MSA

Using the Playwright C# SDK to automate 2FA authentication for AAD and MSA

Howard van Rooijen

Learn to configure AAD or MSA 2FA profiles for UI automation testing with Time-based One-Time Passwords.
Creating Pester Unit Tests in PowerShell

Creating Pester Unit Tests in PowerShell

Charlotte Gayton

Why you should make writing unit tests a regular practice and how they will improve your code. This blog explains how to write unit tests in PowerShell using Pester.
C# 11.0 new features: list pattern matching

C# 11.0 new features: list pattern matching

Ian Griffiths

C# 11.0 adds some new pattern matching features. In this post, Ian shows the new support for matching lists.
Data validation in Python: a look into Pandera and Great Expectations

Data validation in Python: a look into Pandera and Great Expectations

Liam Mooney

Implement Python data validation with Pandera & Great Expectations in this comparison of their features and use cases.
How to setup Python, PyEnv & Poetry on Windows

How to setup Python, PyEnv & Poetry on Windows

James Dawson

Explore using Python virtual environments & Poetry on Windows for smoother workflows, with a script & guide to enhance your dependency management experience.
My Year in Industry so far

My Year in Industry so far

Charlotte Gayton

Charlotte is studying for a Bachelor of Engineering - BEng (Hons), Computer Science at the University of York. She was part of our 2021 internship cohort, and is spending her Year in Industry placement with endjin too. In this post she reflects on her first 6 months.
C# 11.0 new features: newlines in string interpolation expressions

C# 11.0 new features: newlines in string interpolation expressions

Ian Griffiths

C# 11.0 enhances string literals with new features. Discover how multiline interpolated strings boost readability in Ian's insightful post.
C# 11.0 new features: UTF-8 string literals

C# 11.0 new features: UTF-8 string literals

Ian Griffiths

C# 11.0 adds various improvements to string literals. In this post, Ian explains how we can now create UTF-8 string literals.
Adventures in GitHub Actions: Episode 1 - Goodbye Azure DevOps, Hello GitHub Actions

Adventures in GitHub Actions: Episode 1 - Goodbye Azure DevOps, Hello GitHub Actions

James Dawson

This series will follow our ongoing journey of migrating the CI/CD pipelines for our many Open Source repositories, from Azure DevOps to GitHub Actions.
How To Implement Continuous Deployment of Python Packages with GitHub Actions

How To Implement Continuous Deployment of Python Packages with GitHub Actions

Liam Mooney

Discover using GitHub Actions for auto-updates to Python packages on PyPI, assessing its role in Continuous Deployment.
How to develop an accessible colour palette for Power BI

How to develop an accessible colour palette for Power BI

Paul Waller

Explore how we developed an accessible color palette for Power BI reports, considering color vision deficiency and data visualization.
Adventures in Dapr: Episode 5 - Debugging Containers with Visual Studio

Adventures in Dapr: Episode 5 - Debugging Containers with Visual Studio

James Dawson

Explore Dapr for cloud migration & use Visual Studio container tools to debug containerized services.
C# 11.0 new features: raw string literals

C# 11.0 new features: raw string literals

Ian Griffiths

C# 11.0 adds various improvements to string literals. In this post, Ian explains how raw string literals can make your code more readable.
How to design APIs for Accessibility

How to design APIs for Accessibility

Matthew Adams

Learn how accessibility-aware API design creates a great experience for all developers, not just those with accessibility needs.
Correctly configuring ASP.NET Core MVC authentication when hosting in Azure Container Apps

Correctly configuring ASP.NET Core MVC authentication when hosting in Azure Container Apps

Jonathan George

A short rundown of why you need the ForwardedHeadersMiddleware when using Azure Container Apps to host an ASP.NET Core MVC app requiring authentication
My first year as an apprentice software engineer at endjin

My first year as an apprentice software engineer at endjin

Jessica Hill

Jessica joined endjin as part of the Software Engineering Apprenticeship 2021 cohort. In this post, Jessica reflects on her first year.
Lazy and once-only C# async initialization

Lazy and once-only C# async initialization

Ian Griffiths

Performing lazy and/or just-once initialization is a simple optimization. But what if the initialization is async?
Bye bye Azure Functions, Hello Azure Container Apps: Conclusions

Bye bye Azure Functions, Hello Azure Container Apps: Conclusions

Jonathan George

In the sixth and final post we draw our conclusions about migrating an application from Azure Functions to Azure Container Apps.
The OpenChain specification explained

The OpenChain specification explained

Charlotte Gayton

When implementing OpenChain, understanding the specification will help guide your organisation to having processes in place to review and manage open-source software
What are the risks with open-source software?

What are the risks with open-source software?

Charlotte Gayton

The key risks associated with open-source software, from whether you use it minimally, to using it throughout all your systems.
What is OpenChain?

What is OpenChain?

Charlotte Gayton

With much of the modern world is built upon software, organisations need to understand and manage the legal and security risks associated with open-source software.
An Overview of the Corvus.Retry Library

An Overview of the Corvus.Retry Library

Liam Mooney

Corvus.Retry is an open source repository that provides functionality for building policies and strategies for handling transient faults. This post provides a spotlight on the repository.
How to sign your git commits

How to sign your git commits

Charlotte Gayton

Signing git commits proves that you are the author of the code you are pushing up to GitHub, and helps protect the integrity of your software supply chain.
An Overview of the Corvus.Globbing Library

An Overview of the Corvus.Globbing Library

Liam Mooney

Corvus.Globbing is an .NET open source library that provides high performance, zero allocation functionality for working with globs.
Retrospecting on my first year at endjin

Retrospecting on my first year at endjin

Liam Mooney

Liam joined endjin as part of the Software Engineering Apprenticeship 2021 cohort. In this post he looks back on his fist year and uses the post to introspect and look ahead to his second year.