Skip to content
C# 12.0: inline arrays

C# 12.0: inline arrays

Ian Griffiths

A new feature in C# 12.0 enables data types to define fixed-size arrays that don't require separate array objects on the heap. Learn how this is useful in performance-oriented and interop scenarios.
There's something wrong with the Pandas API on Spark

There's something wrong with the Pandas API on Spark

Carmel Eve

Fix the following issues: Errors converting large datasets to pandas, pandas for Spark is very slow, and pandas for Spark column reduction doesn't reduce data.
How .NET 9.0 boosted JSON Schema performance by 32%

How .NET 9.0 boosted JSON Schema performance by 32%

Matthew Adams

We benchmarked endjin's JSON Schema library on .NET 9.0 and saw large performance gains. There are even more gains to be had with new System.Text.Json features.
How .NET 9.0 boosted AIS.NET performance by 9%

How .NET 9.0 boosted AIS.NET performance by 9%

Ian Griffiths

.NET 9.0 has shipped, and for the fourth year running, we benchmarked endjin's AIS.NET library and were very happy to see substantial performance gains, with no extra work required.
Carbon Optimised Data Pipelines - minimise CO2 emissions through intelligent scheduling (Next Steps)

Carbon Optimised Data Pipelines - minimise CO2 emissions through intelligent scheduling (Next Steps)

James Broome

Intelligently scheduling cloud data pipelines based on carbon impact can optimize both environmental sustainability and operational efficiency.
Carbon Optimised Data Pipelines - minimise CO2 emissions through intelligent scheduling (Pipeline Definition)

Carbon Optimised Data Pipelines - minimise CO2 emissions through intelligent scheduling (Pipeline Definition)

James Broome

Intelligently scheduling cloud data pipelines based on carbon impact can optimize both environmental sustainability and operational efficiency.
Modern Compute: Compute-Intensive Workloads

Modern Compute: Compute-Intensive Workloads

Ian Griffiths

We have a wide range of computational mechanisms at our disposal, some of which emerged thanks to recent advances in AI. In this post, we look at the kinds of workloads that can take advantage of these.
C# 12.0: primary constructors

C# 12.0: primary constructors

Ian Griffiths

C# 12.0's most prominent new feature is the primary constructor syntax. This post describes how it works, and looks at some pros and cons.
Carbon Optimised Data Pipelines - minimise CO2 emissions through intelligent scheduling (Architecture Overview)

Carbon Optimised Data Pipelines - minimise CO2 emissions through intelligent scheduling (Architecture Overview)

James Broome

Intelligently scheduling cloud data pipelines based on carbon impact can optimize both environmental sustainability and operational efficiency.
Carbon Optimised Data Pipelines - minimise CO2 emissions through intelligent scheduling (Introduction)

Carbon Optimised Data Pipelines - minimise CO2 emissions through intelligent scheduling (Introduction)

James Broome

Intelligently scheduling cloud data pipelines based on carbon impact can optimize both environmental sustainability and operational efficiency.
Modern Compute: Unavoidable Practicalities

Modern Compute: Unavoidable Practicalities

Ian Griffiths

Thanks in part to recent advances in AI, we have a range of computational mechanisms at our disposal. However, certain universal truths apply to all of them.
How to step into external code when debugging a Python Behave test in VS Code

How to step into external code when debugging a Python Behave test in VS Code

Liam Mooney

Learn how to configure VS Code to enable stepping into external code when debugging a Python Behave test
C# 11.0 new features: ref fields and the scoped keyword

C# 11.0 new features: ref fields and the scoped keyword

Ian Griffiths

C# 11.0 expanded high-performance, low-allocation functionality. This post describes the importance of the added support for ref fields, and how the scoped keyword relates.
After the AI Storm: Modern Compute

After the AI Storm: Modern Compute

Ian Griffiths

Recent huge investment in AI has changed the modern computational landscape. Whatever the value of recent AI developments ultimately proves to be, we have some new hardware capabilities as a side effect. What else do these enable?
Why Power BI developers should care about the Power BI enhanced report format (PBIR)

Why Power BI developers should care about the Power BI enhanced report format (PBIR)

Jessica Hill

Power BI's new PBIR format enhances collaboration, version control, and efficiency for developers. Learn key benefits and future implications.
Why Power BI developers should care about Power BI projects (PBIP)

Why Power BI developers should care about Power BI projects (PBIP)

Jessica Hill

Power BI Projects are a game changer for teams building reports; offering a source-control friendly format, CI/CD support, and the ability to edit in a code editor.
Per-Property Rows from JSON in Spark on Microsoft Fabric

Per-Property Rows from JSON in Spark on Microsoft Fabric

Ian Griffiths

Spark doesn't always interpret JSON how we'd like. For example, if each key/value pair in a JSON object is conceptually one item, Spark won't give you a row per item by default. This article shows how to nudge Spark in the right direction.
C# Design Patterns - Iterator - Language Features

C# Design Patterns - Iterator - Language Features

Liam Mooney

This post examines .NET's native support for iterators: IEnumerator<T>, IEnumerable<T>, and IAsyncEnumerable<T>.
Launchpad to Success: Building and Leading Your Data Team

Launchpad to Success: Building and Leading Your Data Team

Barry Smart

This guide captures the essential points that leaders should consider when setting up a new data team.
Observe File System Changes with Reactive Extensions for .NET

Observe File System Changes with Reactive Extensions for .NET

Howard van Rooijen

Use Reactive Extensions for .NET to transform FileSystemWatcher events into a powerful and easy-to-use event stream to deal with file system idiosyncrasies.
Json Schema Patterns in .NET - Mapping input and output values

Json Schema Patterns in .NET - Mapping input and output values

Matthew Adams

Common patterns with C# and JSON Schema - using conversions to map automatically between arbitrary types.
Json Schema Patterns in .NET - Maps of strings to strongly typed values

Json Schema Patterns in .NET - Maps of strings to strongly typed values

Matthew Adams

Common patterns with C# and JSON Schema - using unevaluatedProperties to create maps of strings to strongly typed values.
Json Schema Patterns in .NET - Numeric enumerations and pattern matching

Json Schema Patterns in .NET - Numeric enumerations and pattern matching

Matthew Adams

Common patterns with C# and JSON Schema - using oneOf to create numeric enumerations and dispatch with pattern matching.
Json Schema Patterns in .NET - Enumerations and pattern matching

Json Schema Patterns in .NET - Enumerations and pattern matching

Matthew Adams

Common patterns with C# and JSON Schema - using enum to create enumerations and dispatch with pattern matching.
Json Schema Patterns in .NET - Polymorphism with discriminator properties

Json Schema Patterns in .NET - Polymorphism with discriminator properties

Matthew Adams

Common patterns with C# and JSON Schema - using const to create discriminator properties for polymorphic types.