Jim Bennett

Senior Cloud Developer Advocate at Microsoft, Xamarin Certified Developer, author of Xamarin In Action, blogger, speaker, father and lover of beer, whisky and Thai food. Opinions are my own.

  Reading, UK

See me soon at:

NDC London

My book:

Xamarin In Action

My podcast:

The Jim And Tonic Show
The Jim And Tonic Show on iTunes

Contact me:

  Xamarin In Action
  Twitter
  The Jim And Tonic Show
  GitHub
  LinkedIn
  YouTube
  Email
  CV

Open anything in VS Code using a MacOS quick action

I've been getting fed up with the long winded process to open things in VS Code - you know, typing in the terminal, opening VS Code and dragging folders in, that sort of long, manual process... #FirstWorldProblems 😜 I thought it would be fun to automate the whole thing, using Automator! If you haven't used Automator, it's a great little tool. You…

Read More

Controlling an IoT device from your phone

I've just finished watching the latest episode of Five Things, where Suz Hinton talks with Burke about Goo Goo Clusters and IoT devices. One of the devices Suz showed was the Azure IoT DevKit - an arduino compatible board made by MXChip that works beautifully with Azure, even down to having an Azure LED on board to show when it is connecte…

Read More

Trust

Thought I'd repost a blog post I wrote 4 1/2 years ago on Medium onto this blog - be interested in what readers think. Shouldn’t our default position be to trust first? I was having a conversation with a friend of mine recently about his current work situation. His team leader has a default state of not trusting in the knowledge and abilities of th…

Read More

Debugging multiple Azure Functions apps at the same time

Dentists don't want you to know these 5 tips that show how easy it is to run multiple Azure Functions apps locally and debug them all at the same time! Number 3 will shock you! Enough ClickBait nonsense, on to the post. I recently built a demo app that has two Azure Functions projects in it - one using the new V2 Functions runtime and written i…

Read More

Updating your google-service.json from an AppCenter environment variable

I've been working on an app that needs push notifications, but also needs to be open source. This led me to a problem - the google-services.json file. This file is needed to sign up for Firebase messaging to implement push on Android, but it also contains my API keys, values I do NOT want to be public. So - what to do? Well I'm building and distrib…

Read More

Binding the Cognitive Services Android Speech SDK - Part 3 - Java 8 fun

In the first part of this post, I showed how to get started binding the Microsoft Cognitive Services speech API. In the second part I showed how to make the code look more C#-like. In this part, I'll show how to use it and fix up a nasty issue with the Android compiler and using jars created with the latest versions of Java. Using the SDK To use th…

Read More

Binding the Cognitive Services Android Speech SDK - Part 2, making the code more C#-like

In the first part of this post, I showed how to get started binding the Microsoft Cognitive Services speech API. In this part I show how to make the code look more C#-like. In the third part I'll show how to use it and fix up a nasty issue with the Android compiler and using jars created with the latest versions of Java. Making the namespaces more…

Read More

Binding the Cognitive Services Android Speech SDK - Part 1, binding the library

As part of the Microsoft Cognitive Services speech API, there is a native Java Android SDK available as an .aar file. I wanted to use this in a Xamarin app, so I created a binding project for it. The code for this is available in my GitHub. Binding an SDK is a four step process: Create the binding project with the relevant jar or aar file Make any…

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

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

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

Stay warm with Microsoft & Xamarin!

For those in New Zealand, Microsoft and Xamarin have announced some cool events: Brr! It’s getting cold outside. Microsoft has a plan to get you through winter with some awesome Xamarin events and competitions and apparel! Are you ready to sharpen your skills in a fun, fast-paced environment? Microsoft is hosting FREE Xamarin training events around…

Read More
 

Open anything in VS Code using a MacOS quick action

I've been getting fed up with the long winded process to open things in VS Code - you know, typing in the terminal, opening VS Code and dragging folders in, that sort of long, manual process... #FirstWorldProblems 😜 I thought it would be fun to automate the whole thing, using Automator! If you haven't used Automator, it's a great little tool. You…

Read More

Controlling an IoT device from your phone

I've just finished watching the latest episode of Five Things, where Suz Hinton talks with Burke about Goo Goo Clusters and IoT devices. One of the devices Suz showed was the Azure IoT DevKit - an arduino compatible board made by MXChip that works beautifully with Azure, even down to having an Azure LED on board to show when it is connecte…

Read More

Trust

Thought I'd repost a blog post I wrote 4 1/2 years ago on Medium onto this blog - be interested in what readers think. Shouldn’t our default position be to trust first? I was having a conversation with a friend of mine recently about his current work situation. His team leader has a default state of not trusting in the knowledge and abilities of th…

Read More

Debugging multiple Azure Functions apps at the same time

Dentists don't want you to know these 5 tips that show how easy it is to run multiple Azure Functions apps locally and debug them all at the same time! Number 3 will shock you! Enough ClickBait nonsense, on to the post. I recently built a demo app that has two Azure Functions projects in it - one using the new V2 Functions runtime and written i…

Read More

Updating your google-service.json from an AppCenter environment variable

I've been working on an app that needs push notifications, but also needs to be open source. This led me to a problem - the google-services.json file. This file is needed to sign up for Firebase messaging to implement push on Android, but it also contains my API keys, values I do NOT want to be public. So - what to do? Well I'm building and distrib…

Read More

Binding the Cognitive Services Android Speech SDK - Part 3 - Java 8 fun

In the first part of this post, I showed how to get started binding the Microsoft Cognitive Services speech API. In the second part I showed how to make the code look more C#-like. In this part, I'll show how to use it and fix up a nasty issue with the Android compiler and using jars created with the latest versions of Java. Using the SDK To use th…

Read More

Binding the Cognitive Services Android Speech SDK - Part 2, making the code more C#-like

In the first part of this post, I showed how to get started binding the Microsoft Cognitive Services speech API. In this part I show how to make the code look more C#-like. In the third part I'll show how to use it and fix up a nasty issue with the Android compiler and using jars created with the latest versions of Java. Making the namespaces more…

Read More

Binding the Cognitive Services Android Speech SDK - Part 1, binding the library

As part of the Microsoft Cognitive Services speech API, there is a native Java Android SDK available as an .aar file. I wanted to use this in a Xamarin app, so I created a binding project for it. The code for this is available in my GitHub. Binding an SDK is a four step process: Create the binding project with the relevant jar or aar file Make any…

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

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

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

Stay warm with Microsoft & Xamarin!

For those in New Zealand, Microsoft and Xamarin have announced some cool events: Brr! It’s getting cold outside. Microsoft has a plan to get you through winter with some awesome Xamarin events and competitions and apparel! Are you ready to sharpen your skills in a fun, fast-paced environment? Microsoft is hosting FREE Xamarin training events around…

Read More