Browse our archives by topic…
Blog
Browse our blogs activity over the years…
C# Design Patterns - Iterator - The Pattern
Explore the iterator design pattern in C#, its importance in programming, and learn how to implement it.
Architecture Decision Records
Explore the benefits of Architecture Decision Records (ADRs) in technical design, with real-world examples applied to different scenarios.
Copilot: Unleashing AI in Self-Service Analytics
Explore AI-powered self-service reporting with tools like Copilot in Power BI and Microsoft Fabric, balancing benefits and pitfalls.
Agile teams often get their planning and priorities wrong
Do you struggle to manage conflicting demands from multiple stakeholders, even when they have agreed about the relative priority of their requests? Apply a budgeting methodology to agile projects for better planning and communication with the team and wider stakeholders.
Microsoft Fabric: Announced
Microsoft Fabric unifies Power BI, Data Factory & Data Lake on Synapse infrastructure, reducing cost & time while enabling citizen data science.
What is OneLake?
Explore OneLake, Microsoft Fabric's core storage for data in Azure & other clouds. Discover its role in Fabric workloads, the OneDrive equivalent for data storage.
Azure Synapse Analytics vs Microsoft Fabric: side-by-side comparison
In this Microsoft Fabric vs Synapse comparison we examine how features map from Azure Synapse to Fabric.
Intro to Microsoft Fabric
Microsoft Fabric unifies data & analytics, building on Azure Synapse Analytics for improved data-level interoperability. Explore its offerings & pros/cons.
Rx.NET v6.0 Now Available
Rx.NET v6.0 is here — the first major release in 2.5 years, supporting .NET 7, .NET 6, .NET Standard 2.0, and .NET Framework 4.7.2
Notebooks in Azure Synapse Analytics
Discover the use of Synapse Notebooks in Azure Synapse Analytics for data analysis, cleaning, visualization, and machine learning.
Version Control in Databricks
Explore how to implement source control in Databricks notebooks, promoting software engineering best practices.
Exploring OpenChain: From License Compliance to Security Assurance
Open-source software has become an essential part of many organisation's software supply chain, however, this poses challenges with license compliance and security assurance.
Using Cloud CI/CD in Zero Trust Environments
Performing certain deployment operations from a cloud-based CI/CD agent against resources that are only accessible via private networking are problematic. The often-cited solution is to use your own hosted agents that are also connected to the same private networks, however, this introduces additional costs and maintenance overhead. This post discusses an approach that combines the use of cloud-based CI/CD agents with 'just-in-time' allow-listing as an alternative to operating your own private agents.
C# 11.0 new features: Span<char> pattern matching
C# 11.0 lets you pattern-match string constants against Span<char> and ReadOnlySpan<char> directly, enabling high-performance allocation-free text matching.
Right questions to get data insights projects back on track
Learn about the thinking behind endjin's Power BI Maturity assessment by applying Wardley Doctrine, and asking more questions.
SQLbits 2023 - The Best Bits
This is a summary of the sessions I attended at SQLbits 2023 in Newport Wales, which is Europe's largest expert led data conference.
Working with JSON in Pyspark
Use PySpark's explode() to flatten deeply nested JSON into tabular DataFrames: preserving cluster parallelism while handling complex document structures.
Playwright C# SDK to automate 2FA authentication for AAD and MSA
Learn to configure AAD or MSA 2FA profiles for UI automation testing with Time-based One-Time Passwords.
Creating Pester Unit Tests in PowerShell
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 introduces list patterns and slice patterns, letting you match arrays and lists declaratively. Ian explains the new syntax with examples.
Data validation in Python: a look into Pandera and Great Expectations
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
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
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 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 adds various improvements to string literals. In this post, Ian explains how we can now create UTF-8 string literals.