How To Push Updates to Raspberry Pi UWP Apps in Prod
Updating Raspberry Pi apps in the field can be tricky. This post covers the general problem and address some specific side-loading problems you are likely to run into. The (Re)Deployment Problem...
View ArticleContinuous Integration Logic: 4 Hidden Costs
Continuous Integration servers like Team City or Visual Studio Team Services can provide an incredible amount of power. They can distill a breathtaking range of devops complexity to a few checkboxes...
View ArticleIntro to Cake: Cross Platform Build Automation in C# [video]
This is a version of my "Intro to Cake" presentation redone for YouTube. In case you aren't aware (or missed my post Why Use Cake? 4 Reasons.), Cake is fantastic tool for automating the compilation,...
View ArticleHow to Increase Quality with a Code Coverage Hack
In this post I'll summarize what code coverage is, how it can be abused, but also how it can be leveraged to gently increase design and architecture quality, reduce bug regressions, and provide...
View ArticleCode Coverage is Finally Easy in .Net Core
A couple of months ago calculating code coverage on the command line was quite challenging in ASP.Net Core. Fortunately, as of last month and Visual Studio 15.8, generating the metric is easy....
View ArticleHow to Make Printed Circuit Boards 101
I just posted Episode 18 of Code Hour. In this one I show how to build a Printed Circuit Board (PCB) from prototype, to design, to manufacture.I demonstrate how to populate a board with LED's,...
View ArticleShare Code Like a Boss Part 1 - Private NuGet Feeds in Azure DevOps
If you've ever tried to share code like an API proxy, math calculations, or validation logic between multiple projects, you'll know there are many options. In this post I'll summarize the most common,...
View ArticleCode Sharing Part 2: Automatic Semantic Versioning of NuGet Deploys
How to automatically incorporate semantic version information into NuGet libraries during building, packaging, and publishing of .Net libraries to private NuGet feeds. In my last code sharing post I...
View ArticleBe a Hero on Day 1 with ASP.Net Boilerplate
ASP.Net Boilerplate is a web framework you've likely never heard of, but probably should have. Fortunately, I just published a new episode of Code Hour where I give an overview of it.In the episode I...
View ArticleFighting File Downloads and Dinosaurs with NSwag (via ASP.Net Boilerplate)
Technically it was the dinosaurs, approximately 240 million years ago, that first solved downloading files from web servers. So doing it with a modern tech stack with an auto-generated client-side...
View Article3 Ways To Refactor EF Linq Queries w/o Killing Perf
Extracting a method from an Entity Framework LINQ query can quietly kill performance. Here are three easy solutions including: Expressions, Extension Methods, and LinqKit.Embed from Getty...
View ArticleStored Procedures in ASP.Net Boilerplate
Using stored procedures in ASP.Net Boilerplate is a little trickier than you might imagine. There's the problem of getting them into the database with EF Code-First migrations. Then there's the issue...
View ArticleMulti-Tenancy is Hard: ASP.Net Boilerplate Makes it Easy
If you're liable to start a new web project that even might need multi-tenancy, you should probably use ASP.Net Boilerplate (ABP). As I've blogged about previously, ABP will save weeks of dev time on...
View ArticleConquer ASP.Net Boilerplate Query Performance in LINQPad, (Announcing...
Ever made it to production only to realize your code fails miserably at scale? When performance problems rear their gnarly head and there name is EntityFramework, there is but one blade to slice that...
View ArticleStrongly Typed, Dependency Managed Azure in C#: Introducing Cake.AzureCLI
The story, nay legend, of providing strongly typed, cross platform, dependency managed access to all 2,935 Azure CLI commands in C#. You can now have strongly typed, cross platform, dependency managed...
View ArticleABP CRUD Cheat Sheet: The Distilled, Essential Steps to Add an Entity in...
While the process of making Create, Read, Update, and Delete (CRUD) pages in ASP.Net Boilerplate is well documented on their website, and while I did a detailed walk through in my video E19: Be a Hero...
View ArticleMastering External Web API's in ASP.Net Core and ABP with Swagger,...
Embed from Getty ImagesRecently a customer asked me to build out a small end user facing web API in addition to the existing one used by my SPA (Angular) app. A few weeks later someone asked me how to...
View ArticleSecure External APIs with API Keys - and Keep the Villains at Bay
Suppose you've written a web app and exposed an external REST API based on Swagger and Swashbuckle in an ASP.Net Core site. Perhaps you blindly followed some rando's recent blog post about it,...
View Article800+ Subscribers: A Tale of Inspiration (via Hanselminutes) and Pivot (Eric...
Three years ago last month Scott Hanselman recorded an episode of Hanselminutes he's undoubtedly already forgotten. I haven't. I wasn't looking for inspiration the day I stumbled on that episode, but...
View ArticleBlazor WebAssembly vs Angular: Client Side Clash
Think quick: you're starting a new project, which single page application (SPA) technology should you use: That shiny Blazor WebAssembly you've heard so much about or something more mature like...
View Article