May 2019

Volume 34 Number 5

C\# 8.0 - Pattern Matching in C\# 8.0

[C# 8.0]

Pattern Matching in C# 8.0

Filip Ekberg

Pattern matching was introduced in C# 7.0 and changed the way we look at identifying the patterns and traits of our types. The changes in C# 8.0 make this even more intuitive and improve both flexibility and readability. How do you apply these new principles and patterns in your code, and what does it mean to introduce things like a switch expression?

Data Points - EF Core in a Docker Containerized App, Part 2Column

[Data Points]

EF Core in a Docker Containerized App, Part 2

Julie Lerman

In the second in a series on using EF Core and Docker together to build a containerized app and add a data persistence mechanism, Julie Lerman looks at production-worthy solutions for targeting SQL Server when publishing an API inside of a Docker image.

XAML - Custom XAML Controls


Custom XAML Controls

Jerry Nixon

Don’t Repeat Yourself (DRY) isn’t just for classes and code. UIs repeat throughout XAML applications. User controls and custom controls in Windows Presentation Foundation (WPF) and Universal Windows Platform (UWP) allow developers to extend the standard UI, providing consistent XAML visuals and codebehind logic through varying strategies of encapsulation.

The Working Programmer - Coding Naked: Naked CollectionsColumn

[The Working Programmer]

Coding Naked: Naked Collections

Ted Neward

In the latest in his series on the Naked Object Framework, Ted Neward discusses NOF collections—how a given domain object can have references to more than one of something.

.NET Core 3.0 - Create a Centralized Pull Request Hub with WinForms in .NET Core 3.0

[.NET Core 3.0]

Create a Centralized Pull Request Hub with WinForms in .NET Core 3.0

Eric Fleming

.NET Core 3.0 enables support for Windows Forms applications, which means self-contained applications, access to .NET Core-specific implementations, the .NET Core CLI and more. Take a look at how to build a sample .NET Core 3.0 WinForms application and easily package it for deployment.

Cutting Edge - Routing and Route Templates in BlazorColumn

[Cutting Edge]

Routing and Route Templates in Blazor

Dino Esposito

The router is a crucial element in the architecture of client-side frameworks and the engine that maps incoming URLs to the actual processing code. While the Blazor router today provides a basic set of routing capabilities, more will come in the near future.

Machine Learning - Using Survival Analysis for Predictive Maintenance

[Machine Learning]

Using Survival Analysis for Predictive Maintenance

Zvi Topol

Developers and machine learning engineers can benefit from improved understanding of survival regression and its application in scenarios such as predictive maintenance of Industrial Internet of Things (IIoT) devices. This article walks through estimating the time until a machine should be serviced or maintained as a function of different explanatory variables.

Test Run - Weighted k-NN Classification Using C\#Column

[Test Run]

Weighted k-NN Classification Using C#

James McCaffrey

James McCaffrey shows how to implement the k-nearest neighbors classification technique, one of the simplest of machine learning algorithms where the predicted class of a new item is determined by examining the distance of the item to data points with known class values.

Don't Get Me Started - Calc or Stats?Column

[Don't Get Me Started]

Calc or Stats?

David S. Platt

Why are most college-bound students required to take calculus, when even workers in technical fields like medicine and software development rarely—if ever—use it? David Platt says it’s time we all got statistical.

Editor's Note - Flight of FailureColumn

[Editor's Note]

Flight of Failure

Michael Desmond

Commercial aviation has become significantly—even remarkably—safer over the past 30 years, but when accidents do happen, it’s often at the intersection of automated systems and the pilots who command them. Now the investigation into the crash of two Boeing 737 MAX aircraft is producing hard questions and even harder lessons about the role of software and automation in flight.