- .Net 3
- Microcontroller 3
- Azure 3
- Entity Framework 2
- Algorithm 2
- Power Apps 2
- Google Assistant 2
- AudioStation 2
- Synology 2
- Http 1
- OAuth 1
- Web.Api 1
- Security 1
- Algorithms 1
- Angular 1
- ReadyNAS 1
- Machine Learning 1
- Library 1
- Crypto 1
- Dynamics 1
- Power Automate 1
- Git 1
- DevOps 1
- KeeWeb 1
- Blob Container 1
.Net
Create Task Asynchronous style calls from Event Handlers
If you find yourself dealing with a lot of legacy asynchronous code that uses event handlers. You may want to wrap these legacy event calls using the new .Net Task Asynchronous style wrappers.
How-to seed data in an Entity Framework Core 2.0 project
The data seeding mechanism in Entity Framework Core has changed from the implementation in EF6. This is a quick-start method to implement data seeding in your projects.
How-to Setup OpenIDConnect in OWIN MVC project
Open ID Connect, is a protocol that extends OpenAuth with basic profile support. Implementing it in an OWIN (Open Web Interface for .NET) MVC project comes down to a series of steps.
Microcontroller
Bluetooth connected Navigation display
The goal of this project is to create a low cost display that can be mounted to the handlebars or fairing of any motorcycle to provide a display of the riders route navigation. GPS navigation is performed via an app running on the users smart phone. Directions are communicated over Bluetooth from the the phone to the display module discussed below. The display is designed to be minimally distracting and provides the following information to the rider:
Homebrew Gear Position Indicator
Sometimes you can’t buy the exact thing you want from a store, this is a wonderful opportunity where we can play with some new tools. Let me show you a hardware project where I designed the circuit and coded the firmware so that I could add a gear position indicator to my Motorbike.
Create a simple graphing voltage meter using a Digispark board
Graphing meters are a tool that record voltage levels over time. I only needed one for a short time, so I turned a DigiSpark into one.
Azure
KeeWeb Azure blob container storage
Use azure blob storage to store KeePass files that can be shared among multiple users within your organization.
Tagging Git History from Azure DevOps Release pipelines
In order to generate a tag in git that marked the commit of the source code that was actually released to my Production Environment. I create this small powershell command that is able to mark the commit using the Azure rest API. The benefit of this approach is that I don’t need to clone the repository in my Release pipeline and no external components or dependencies are required.
How to implement the Queue Collector within an Azure function
Whilst working with Azure functions you may come across a situation where you need
to return multiple items to a queue, it isn’t immediately obvious how to do that. Placing a message on the queue from within an
Azure Function typically involves placing the attribute
[return: Queue("function2Queue")]
on the main function body. But to add many messages
you must add a parameter decorated with
[Queue("function1Queue")] ICollector<__type__>
to the definition of the Run method.
Entity Framework
Implement IAuditEntity to automatically audit your entities
Apply the audit information for your Entity Framework entities automatically as part of the SaveChanges() method, doing so ensures you remove the possibility that this crucial information is not managed consistently.
One simple trick for deleting entities using Entity Framework
I want to show you a simple extension method that can be used to make your Entity Framework code more readable.
Algorithm
.Net Library for DLS & NTS Survey systems used in Western Canada
Working with Oil and Gas well location data in Western Canada is challenging due to the prevalence of many different identifier types that are used to represent the location of a given well, we have DLS, NTS & UWI. I developed a library that contains types that represent the various grid systems. These types perform validation of input values to ensure that the values are valid. The types can also perform conversion between geographic locations and the survey system locations.
.Net Library for Finite Element Analysis
Finite element analysis is a really cool technique that can be applied to solve lots of engineering problems. Imagine that you’re job is to model how a structural part will react when a force is applied to it. Within the material there could be trillions of atoms that are interacting with each other, some pushing and some pulling one another, how would you begin to compute those areas that are high stress? That is what finite element analysis does for us, we can break down the impossibly large problem into smaller pieces by meshing the physical structure and then computing the interactions of each node in our mesh, think of it as eating the elephant one byte at a time.
Power Apps
Canvas App can’t see ModelDrivenFormIntegration.Item at App Start
I started working on a canvas app using the Microsoft Power Platform. My application is placed on a Model driven form as a custom control. It was supposed to integrate with data provided by the Model Driven form and then prompt the user to either edit or create the data, presenting a separate screen for each task. At first I thought that the OnDataRefresh event would fire at the time that the model driven data finished loading in the background. It turned out that it isn’t possible to navigate to another screen from within the OnDataRefreshAction, so I needed to come up with another way.
Passing parameters to Power Automate from CanvasApp
Recently while developing a CanvasApp using the Microsoft Power Platform I came across an error message at the point that I was calling a Power Automate workflow. The workflow had been working up until this point but I added a new parameter, and now things weren’t working.
Google Assistant
How-to use Google Assistant to control AudioStation on your home NAS
IMPORTANT! Google has decided to sunset Conversational Actions on June 13, 2023, as a result this configuration in its current form will cease to operate at that time.
Investigate Audio Station API
Synology Voice Assistant API for Audio Station
AudioStation
How-to use Google Assistant to control AudioStation on your home NAS
IMPORTANT! Google has decided to sunset Conversational Actions on June 13, 2023, as a result this configuration in its current form will cease to operate at that time.
Investigate Audio Station API
Synology Voice Assistant API for Audio Station
Synology
How-to use Google Assistant to control AudioStation on your home NAS
IMPORTANT! Google has decided to sunset Conversational Actions on June 13, 2023, as a result this configuration in its current form will cease to operate at that time.
Investigate Audio Station API
Synology Voice Assistant API for Audio Station
Http
Using HTTP Content-Range headers to resume file uploads
Resumable file transfers are sometimes necessary in situations where a large amount of data must be sent over a network that experiences intermittent outages. This could be the case when a remote worker at a rural job site has tethered their laptop via a weak cellular signal and needs to upload a large file package back to home office. In many cases using an FTP server may not be an option due to corporate policy or perhaps you are building a service that must perform addiational processing at the ment that a file is completely transfered.
OAuth
How-to Setup OpenIDConnect in OWIN MVC project
Open ID Connect, is a protocol that extends OpenAuth with basic profile support. Implementing it in an OWIN (Open Web Interface for .NET) MVC project comes down to a series of steps.
Web.Api
How-to setup Basic Authentication filter in an Asp.Net Web API
When combined with TLS security Basic Authentication can be useful in situations where interfacing with another party may dictate this choice for you.
Security
How-to setup Basic Authentication filter in an Asp.Net Web API
When combined with TLS security Basic Authentication can be useful in situations where interfacing with another party may dictate this choice for you.
Algorithms
Levenshtein Edit Distance Algorithm
There are many algorithms in Computer Science that help us to understand our data in meaningful ways. Edit distance algorithms are one such set of tools. They tell us the minimum number of edits that must be made in order to turn a source input string into a destination string, thus the ‘distance’ from out source to our destination.
Angular
Configure your Angular applications with Server Environment Variables
To configure an angular client to receive environment variables as set on the host Server. This allows us to promote our code base between environments without altering our client files. This could also be used in a scenario where we take advantage of Azure slotting to provide slot persistent settings to the client during a swap.
ReadyNAS
How-To: Install Home Assistant on a Netgear ReadyNAS
A quick reference guide for how to perform the necessary steps to install homeassistant on a NetGear ReadyNAS. The purpose of this guide is to record the steps required to install Home Assistant on a NetGear ReadyNAS running OS 6.9.3.
Machine Learning
Notebook: What I learned designing a neural network that plays an arcade game
My goal for this project was to become more familiar with how neural networks operate, and to understand the sorts of problems that they can be applied to for future projects. That is why for this project I opted not to use the a prebuilt machine learning library framework, but instead opted for an approach where I build up the math types using raw c#. Luckily I had a project left over from many years ago in which I developed a Matrix type and coded many of the math operators. I felt that going down this road gave me a deeper insight into how a neural network works at the bare metal.
Library
.Net Library for DLS & NTS Survey systems used in Western Canada
Working with Oil and Gas well location data in Western Canada is challenging due to the prevalence of many different identifier types that are used to represent the location of a given well, we have DLS, NTS & UWI. I developed a library that contains types that represent the various grid systems. These types perform validation of input values to ensure that the values are valid. The types can also perform conversion between geographic locations and the survey system locations.
Crypto
Validate JWT Token signed with RS256 for use within Microsoft Dynamics 365 CRM
How to secure an external web API call for use within Microsoft Dynamics 365 CRM Portals. With the April 2019 release of Microsoft Dynamics a new feature was added that provides an endpoint that can be used to obtain secure access tokens that contain user identity information. The addition of this feature provides a solution that can be used to call external Web API’s on behalf of the user that is logged into the CRM application.
Dynamics
Validate JWT Token signed with RS256 for use within Microsoft Dynamics 365 CRM
How to secure an external web API call for use within Microsoft Dynamics 365 CRM Portals. With the April 2019 release of Microsoft Dynamics a new feature was added that provides an endpoint that can be used to obtain secure access tokens that contain user identity information. The addition of this feature provides a solution that can be used to call external Web API’s on behalf of the user that is logged into the CRM application.
Power Automate
Passing parameters to Power Automate from CanvasApp
Recently while developing a CanvasApp using the Microsoft Power Platform I came across an error message at the point that I was calling a Power Automate workflow. The workflow had been working up until this point but I added a new parameter, and now things weren’t working.
Git
Tagging Git History from Azure DevOps Release pipelines
In order to generate a tag in git that marked the commit of the source code that was actually released to my Production Environment. I create this small powershell command that is able to mark the commit using the Azure rest API. The benefit of this approach is that I don’t need to clone the repository in my Release pipeline and no external components or dependencies are required.
DevOps
Tagging Git History from Azure DevOps Release pipelines
In order to generate a tag in git that marked the commit of the source code that was actually released to my Production Environment. I create this small powershell command that is able to mark the commit using the Azure rest API. The benefit of this approach is that I don’t need to clone the repository in my Release pipeline and no external components or dependencies are required.
KeeWeb
KeeWeb Azure blob container storage
Use azure blob storage to store KeePass files that can be shared among multiple users within your organization.
Blob Container
KeeWeb Azure blob container storage
Use azure blob storage to store KeePass files that can be shared among multiple users within your organization.