Identifying my daughters toys using AI - Part 4, using the models offline on Android

In the first part of this series I used the Azure Custom Vision service to create an image classifier to allow me to easily identify my daughters cuddly toys. Once created I tested it by uploading an image and seeing what tags the classifier found for the image. In the second part I accessed this model from a Xamarin app, so that I could use the ca…

Read More

Identifying my daughters toys using AI - Part 3, using the models offline in iOS

In the first part of this series I used the Azure Custom Vision service to create an image classifier to allow me to easily identify my daughters cuddly toys. Once created I tested it by uploading an image and seeing what tags the classifier found for the image. In the second part I accessed this model from a Xamarin app, so that I could use the ca…

Read More

Identifying my daughters toys using AI - Part 2, using the model

In the first part of this post I used the Azure Custom Vision service to create an image classifier to allow me to easily identify my daughters cuddly toys. Once created I tested it by uploading an image and seeing what tags the classifier found for the image. Although this works, it's a long winded way of using the model. Ideally I'd want it in a…

Read More

Hiding API keys from Git

I've been working on a Xamarin app using Azure Cognitive Services to do image recognition, and one of the stumbling blocks I've faced is what to do with my API keys. I want to make the app open source as an example of how to use these services, but don't want to check my API keys into Git to be available to all - after all, bad things can happen. I…

Read More

Identifying my daughters toys using AI - Part 1, creating the model

Prefer to watch instead of read? - https://youtu.be/3sjInlJcpBs It's currently just after Christmas, and my 4 year old daughter has received a fair few cuddly toys from Santa. These bring her total collection up to way too many, and like most parents I have a hard time remembering all their names, especially the least favorite ones that rarely come…

Read More

Getting a users Facebook profile after Authenticating your Xamarin app with Azure

I've recently been looking at the authentication offered by Azure for use in a mobile app, specifically using social auth providers like Facebook to allow a user to sign up for my app. The auth setup is incredibly easy, with Azure taking care of a lot of the hard stuff. There are also loads of great docs on how to get it set up - including the Micr…

Read More

Creating Visual Studio project and solution templates - Part 3, VS for Mac extension

In the first part of this set of posts I looked at creating a dotnet new project template, and in the second part I showed how you could easily add this to a Visual Studio for Windows extension. Lets now look at adding it to a Visual Studio for Mac extension, so that our template is available everywhere. It's really easy to create extensions for VS…

Read More

Creating Visual Studio project and solution templates - Part 2, VS for Windows extension

In the first part of this set of posts I looked at creating a dotnet new project template. These are great if you like the cli, but if, like me, you'd rather be able to do File->New then dotnet new is not much use. Instead you need a Visual Studio extension that provides a new project or solution type to the IDE. The good news is that you can easil…

Read More

Creating Visual Studio project and solution templates - Part 1, dotnet new

I've recently updated my MvvmCross templates to support .NET Standard to be ready for the awesome future. Unfortunately this meant a complete rewrite of my templates as the out of the box Visual Studio project template extensions on both Windows and Mac don't support .NET Standard. As it turned out though, this rewrite was a blessing in disguise as…

Read More

Hitting refresh on my career

Inspired by Satya Nadella's Hit Refresh, a book well worth reading, I thought I'd write about my Hit Refresh moment. Hit Refresh is inspired by refreshing your browser - it doesn't reload everything, instead it just reloads part of the page. This is reflected in how we can change our lives, not by a complete change, but by refreshing a part. In my…

Read More

Introduction to UI Testing with Xamarin

This article is an excerpt from Xamarin in Action. Save 37% off the cover price using code fccbennett at http://xam.jbb.io. One of the great things about the MVVM design pattern is that it allows us to maximize the code in our cross-platform model and view-model layers. This means we’ve written the bulk of our code and we’ve also written u…

Read More

Firewall issues with iOS simulators

I keep getting an annoying issue with my iOS simulators. When I run an app in a simulator that needs any form of network connection I get a dialog box popup from the built in Mac firewall asking if I want to allow incoming connections. Even though I click 'allow', I get asked this every time and it's getting tedious. The issue seems to be in the…

Read More