Browse our archives by topic…
Blog
Browse our blogs activity over the years…
Json Schema Patterns in .NET - Extending a base type
Extend an open JSON Schema type with new properties using $ref — similar to deriving from a base class in C#. Corvus.JsonSchema combines both schemas into one type.
Json Schema Patterns in .NET - Open vs. Closed Types
JSON Schema objects are open by default, allowing extra properties for forwards compatibility — use unevaluatedProperties to close them for strict validation.
Json Schema Patterns in .NET - Reusing Common Types
Use $ref and $defs to extract shared schema definitions and reuse them across properties. Corvus.JsonSchema generates a single shared .NET type, eliminating duplication.
Json Schema Patterns in .NET - Data Object Validation
Add required fields, string length limits, and numeric range constraints to a JSON Schema data object — and see how Corvus.JsonSchema enforces them in C#.
Json Schema Patterns in .NET - Data Object
Define a simple data object in JSON Schema and generate strongly typed C# with Corvus.JsonSchema — properties, implicit conversions, and fast serialization.
.NET JsonElement and Schema Validation
Corvus.JsonSchema enables safe use of the very high performance JSON parsing offered by .NET's System.Text.Json.
Data is a socio-technical endeavour
Our experience shows that the the most successful data projects rely heavily on building a multi-disciplinary team.
ASP.NET Core + Razor + HTMX + Chart.js
Build modern interactive web apps with ASP.NET Core, Razor, and HTMX — bridging HTMX hypermedia to Chart.js JSON APIs using HATEOAS-style stateful links.
adr: A .NET Tool for Creating & Managing Architecture Decision Records
Architectural Decision Records (ADRs) capture context, options, decisions, and consequences. dotnet-adr is a .NET tool for managing ADRs.
Data & AI Engineering Maturity: fix issues before the buffers hit
As data and AI become the engine of business change, we need to learn the lessons of the past to avoid expensive failures.
SQLbits 2024 - The Best Bits
This is a summary of the sessions I attended at SQLbits 2024 - Europe's largest expert led data conference. This year SQLBits was hosted at Farnborough IECC, Hampshire.
How to Build Navigation into Power BI
Explore a step-by-step guide on designing a side nav in Power BI, covering form, icons, states, actions, with a view to enhancing report design & UI.
Accessing multi-select choice labels in Synapse Link for Dataverse
Learn how to access multi-select choice column choice labels from Azure Synapse Link for Dataverse using PySpark or SQL.
Introduction to Python Logging in Synapse Notebooks
The first step on the road to implementing observability in your Python notebooks is basic logging. In this post, we look at how you can use Python's built in logging inside a Synapse notebook.
No-code/Low-code is software DIY - how do you avoid DIY disaster?
No-code/Low-code democratizes software development with little to no coding skills needed. But how do you evaluate if software DIY is the right choice for you?
.NET JsonElement Error Handling
.NET's System.Text.Json offers very high performance JSON parsing. However, JsonElement's text parsing methods offer a trap for the unwary
Analysing WPF Performance Using ETW and PerfView
This post walks through the process of using PerfView to analyse ETW data to get to the bottom of a performance issue in a WPF application.
Wardley Mapping - Exploring the Mining Value Chain
The article explores the opportunities that the AI, digital technology and data present for the mining industry using a technique known as Wardley Mapping.
Developing a new JSON Schema Brand and Website
Discover Paul's guide on expanding brand collateral for organizations through effective website development and design strategies.
Learn Reactive Programming: Intro to Rx.NET 2nd Edition (2024)
Learn Reactive Programming with our free book, Introduction to Rx.NET 2nd Edition (2024), available in PDF, EPUB, online, and GitHub.
Analyzing WPF performance by enabling ETW
WPF makes extensive performance instrumentation available through ETW. However, in modern .NET, it's not obvious how to get hold of it. This blog shows how
How to access choice labels: Azure Synapse Link for Dataverse with SQL
Learn how to access the choice labels from Azure Synapse Link for Dataverse using T-SQL through SQL Serverless and by using Spark SQL in a Synapse Notebook.
Styling and Enhancing Model Driven Apps in Power Apps
Discover a concise guide on improving Model Driven Power Apps styles with step-by-step instructions for a polished user experience.
ASP.NET Core 8.0 uses C# 12.0 experimental interceptors for AOT
C# 12 includes an experimental 'interceptors' feature. If you use trimming or AOT publishing in ASP.NET Core 8.0, you're already using this.
Power Query - Where can you use it? - Power BI
In this series of posts, we look at all the places where you can integrate Power Query as part of your data solutions. Here we look at Power BI.