Don't Get Me Started - Sing a Song of Silicon
McAndrew's Hymn, the Rudyard Kipling poem celebrating the great steamships of the day, holds a lot of meaning for developers.
The Working Programmer - How To Be MEAN: Exploring ECMAScript
Test Run - Lightweight Random Number Generation
Despite the existence of the easy to use .NET Random class, there are times you’ll want to write your own random number generator. In this article, James McCaffrey presents four different algorithms for doing so.
ASP.NET Core - Real-World ASP.NET Core MVC Filters
Filters are a great, often underutilized feature of ASP.NET MVC and ASP.NET Core MVC. They provide a way to hook into MVC’s action invocation pipeline, which makes them great for pulling common, repetitive tasks out of your actions, as Steve Smith explains.
ASP.NET Core - Write Apps with Visual Studio Code and Entity Framework
This article explains how developers working on any platform can write data-oriented Web applications that run on Linux, Mac OS X, and Windows leveraging the new ASP.NET Core 1.0 and the Entity Framework, using Visual Studio Code as the development environment.
DevOps - Commit to Git: Source Control in Visual Studio 2015
Visual Studio 2015 includes full support for Git, the enormously popular source code management system that has upended many traditional options. In this article, Jonathan Waldman covers how Git differs from Team Foundation version control; how to place source code into a Git repository; and how to pull, commit and push code.
DevOps - Applying DevOps to a Software Development Project
DevOps isn't just for mobile. This article explores the role that a DevOps culture can play in a software project and guides readers through DevOps stages, from planning, continuous integration and deployment, to monitoring and learning excursion.
Mobile DevOps - From Code to Customer: Exploring Mobile DevOps
The first article in a multipart series looks at the release pipeline for mobile apps and explores how the Microsoft DevOps stack comes into play at each stage.
Data Points - EF Core Change-Tracking Behavior: Unchanged, Modified and Added
Julie Lerman examines how the change-tracking behavior of Entity Framework Core differs from that of EF6, pointing out that while much of the syntax and behavior has been replicated, EF Core is a brand new API and should be treated accordingly.
Cutting Edge - Beyond CRUD: Commands, Events and Bus
In a simple CRUD system, each business event is pertinent to a single aggregate and only rarely the same event touches on multiple aggregates. However, when this happens, and aggregates and events are too numerous, the complexity of the resulting software grows considerably.
Editor's Note - DevOps Directive
Writing good software is hard. Managing the process of writing, maintaining and delivering good software is even harder. Which is why DevOps is such a hot topic at Microsoft right now.
Editor's Note - Bad Medicine
Over 18 months from 1985 to 1987, the Therac-25 radiation therapy system overdosed six patients, killing at least two. And poor software design was directly at fault.
Cutting Edge - Reflections on Code First, Persistence and Domain Modeling
Code First is about persistence of an object-oriented model through an aptly created set of tables. Domain modeling is about implementing business rules and workflows through an object-oriented model. Logically speaking, the two models are distinct, but sometimes they can be considered just one.
Data Points - The New Azure DocumentDB Node.js SDK
Over the past year, Julie Lerman has been developing a sample app that uses Aurelia on the front end, a server-side API written in Node.js, and Azure DocumentDB for its data store. But all these parts have changed, so it’s time for an update.
Data Binding - A Better Way to Implement Data Binding in .NET
Data binding can be a powerful approach for developing UIs in the Microsoft .NET Framework: It makes it easier to separate view logic from business logic, and easier to test the resulting code. However, despite the various toolkits that aim to help, implementing data binding is typically painful and tedious. Mark Sowul shows you a better way.
Xamarin - Working with Local Databases in Xamarin.Forms Using SQLite
Learn how to store and query local data in your Android, iOS, and Universal Windows apps with SQLite databases using Xamarin Forms and Visual Studio 2015.
CQRS - Leverage CQRS to Create Highly Responsive Systems
Peter Vogel reviews how Domain-Driven Design (DDD) integrates with CQRS in a real-world sales system that requires fast response times.
C# - Applying AI to a Multi-Agent 'Mini-Basketball' Game
In this article you'll learn the basics of AI in a mini-basketball game. Explore intelligent agents and their various architectures (reactive, pro-active) as you learn the basics of multi-agent systems and the traditional approach for game AI behavior modeling through finite state machines.
Test Run - Matrix Inversion Using C#
Matrix inversion is a fundamental technique in machine learning, but the .NET Framework doesn't seem to have a matrix inversion method. James McCaffrey remedies this with a method that uses an algorithm called Crout's LU decomposition.
The Working Programmer - How To Be MEAN: Let's Be DEAN
Ted Neward examines the work required to replace the M in MEAN (MongoDB) with another non-relational database--DocumentDB running in Microsoft Azure. This flexibility lets developers take advantage of DocumentDB's enterprise-friendly capabilities, including server-side code execution and SQL-like query language.