Jim Bennett

Senior Cloud 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.

  Redmond, WA, USA

My book:

Xamarin In Action

Contact me:

  Xamarin In Action
  Twitter
  GitHub
  LinkedIn
  YouTube
  Email
  CV

Flying long haul with young children

A discussion came up at work the other day on flying long-haul with very young children (toddler age), so I though it would be good to share the tips that I shared with the discussion. My daughter is 6 and has been on over 40 flights, including a lot of long haul as a toddler so I've managed to build up a selection of tips that have worked well for…

Read More

Fabulous Santa Tracker

'Twas the night before Christmas, and all through the house... For millions of people worldwide, Christmas eve is a time of magic. Children are excited and unable to sleep because... Santa is coming tonight!!!! This is the one night of the year you want a stranger to come into your house whilst you sleep. He'll magic his way in (cos who has…

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. Yo…

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 connected. Thi…

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 t…

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…

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 distr…

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 t…

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 a…

Read More

Running AI models on iOS, Android and Windows using Xamarin

I created a NuGet package a while ago to allow you to run models exported from the Azure Custom Vision service on iOS and Android in Xamarin apps from your cross-platform code. You can read about this here. Since then, the Custom Vision service has added ONNX export, meaning you can now run these models on-device on Windows as well. This meant it…

Read More
 

Flying long haul with young children

A discussion came up at work the other day on flying long-haul with very young children (toddler age), so I though it would be good to share the tips that I shared with the discussion. My daughter is 6 and has been on over 40 flights, including a lot of long haul as a toddler so I've managed to build up a selection of tips that have worked well for…

Read More

Fabulous Santa Tracker

'Twas the night before Christmas, and all through the house... For millions of people worldwide, Christmas eve is a time of magic. Children are excited and unable to sleep because... Santa is coming tonight!!!! This is the one night of the year you want a stranger to come into your house whilst you sleep. He'll magic his way in (cos who has…

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. Yo…

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 connected. Thi…

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 t…

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…

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 distr…

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 t…

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 a…

Read More

Running AI models on iOS, Android and Windows using Xamarin

I created a NuGet package a while ago to allow you to run models exported from the Azure Custom Vision service on iOS and Android in Xamarin apps from your cross-platform code. You can read about this here. Since then, the Custom Vision service has added ONNX export, meaning you can now run these models on-device on Windows as well. This meant it…

Read More

Running custom vision models on a Windows device

Recently I wrote about creating AI models using the Azure Custom Vision Service. In these posts I looked at creating and training models, running them online, then finally exporting the models to run on iOS using CoreML and Android using TensorFlow. Recently Microsoft announced another way to export models - as ONNX models that can be run using Wi…

Read More

Setting iOS permission descriptions in Visual Studio 2017

I spend most of my developer day using Visual Studio for Mac, but occasionally I flip back to Visual Studio 2017 on Windows. Last time I flipped back I tried to build an app that uses the camera and I got stuck on one simple thing - setting the camera usage description. If you double click on the info.plist file in an iOS app project, it will open…

Read More