Skip to content

Instantly share code, notes, and snippets.


James Montemagno jamesmontemagno

Block or report user

Report or block jamesmontemagno

Hide content and notifications from this user.

Learn more about blocking users

Contact Support about this user’s behavior.

Learn more about reporting abuse

Report abuse
View GitHub Profile
View gist:23ef2a942eef771045f366e3ce85536a
var eventAsObservable = Observable.FromEvent<PropertyChangedEventHandler, PropertyChangedEventArgs>(
ev => this.PropertyChanged += ev,
ev => this.PropertyChanged -= ev)
.Where((e, b) => e.PropertyName == nameof(Text));
.Subscribe(e =>
//do stuff
View gist:c3dedd5bfb800c1b09744afdf9ae1d58
=== Visual Studio Community 2019 for Mac ===
Version 8.0.4 (build 0)
Installation UUID: 6289573f-1da9-40b9-a50a-33e7dfcbb82b
GTK+ 2.24.23 (Raleigh theme)
Xamarin.Mac (d16-0 / 040682909)
Package version: 518010003
=== Mono Framework MDK ===

Here is my live stream setup kit :)

I recommend only streaming to a single service such as Twitch. It is better for community building and easier on the streamer. Additionally, if you become an affiliate you are locked into a platform anyways.

I recommend streaming from a Windows computer as it is the best.

How my setup works is that I have my main Desktop PC that has my streaming software, chat, alerts, music, and such all running on it. I have a second surface book that has HDMI out into the capture card in my Desktop PC. I do this because often when you compile apps it may freeze up your computer and stream :(. I have 2 sets of keyboards and mice and 2 monitors that I work off of. This works for me, but you do you :)


  • OBS: Your main go to for streaming software. It works on every OS :). If you want something with everything baked in take a look at Streamlabs OBS.
View gist:a14a259c965a6e37301a0231d2fd1365
inting3D.Printing3DContract.winmd" /reference:"C:\Program Files (x86)\Windows Kits\10\References\10.0.16299.0\Windows
.Networking.Connectivity.WwanContract\\Windows.Networking.Connectivity.WwanContract.winmd" /reference:"C:\Prog
ram Files (x86)\Windows Kits\10\References\10.0.16299.0\Windows.Services.Store.StoreContract\\Windows.Services
.Store.StoreContract.winmd" /reference:"C:\Program Files (x86)\Windows Kits\10\References\10.0.16299.0\Windows.Servic
es.TargetedContent.TargetedContentContract\\Windows.Services.TargetedContent.TargetedContentContract.winmd" /r
eference:"C:\Program Files (x86)\Windows Kits\10\References\10.0.16299.0\Windows.System.Profile.ProfileHardwareTokenC
ontract\\Windows.System.Profile.ProfileHardwareTokenContract.winmd" /reference:"C:\Program Files (x86)\Windows
ileSharedModeContract.winmd" /reference:"C:\Program Files (x86
jamesmontemagno / DistanceConverter.cs
Last active Jul 24, 2018
Essentials Location Methods
View DistanceConverter.cs
using System;
using Xamarin.Essentials;
namespace LocationDistance
public static class DistanceConverter
public static void ConvertDistance()
#region showme
View nuget.csproj
<PackageLicenseUrl>LINK TO LICENSE</PackageLicenseUrl>
<PackageProjectUrl>LINK TO PROJECT</PackageProjectUrl>
<RepositoryUrl>LINK TO PROJECT</RepositoryUrl>
<PackageReleaseNotes>RELEASE NOTES</PackageReleaseNotes>
<PackageIconUrl>ICON URL</PackageIconUrl>
<PackageTags>xamarin, windows, ios, android, xamarin.forms,</PackageTags>
View base.csproj
<Project Sdk="MSBuild.Sdk.Extras/2.0.29">
<!--Update with your target such as: Xamarin.iOS10 or MonoAndroid80 or Xamarin.Mac20-->
<!--To Multi-target you can do this-->
View gist:5d09014410e29b9813c7a6fa1ce380be
/t:restore;build;pack /p:PackageVersion=$(Build.BuildNumber)-beta /p:PackageOutputPath=$(build.artifactstagingdirectory)/beta /p:AssemblyFileVersion=$(Build.BuildNumber)

Hey! Are you going to Build? We should hang out.

Let's grab a coffee, chat over lunch, and take some of our sweet Merge Conflict stickers!



  • 12 - 1PM: LUNCH with CDAs/Xamarins: Find our cool signs in the lunch area
  • 2:00 - 2:20 PM: SESSION THR2438 Start building mobile apps in 5 minutes with Xamarin Live Player
View GooglePlayCheck.cs
public bool IsPlayServicesAvailable ()
int resultCode = GoogleApiAvailability.Instance.IsGooglePlayServicesAvailable (this);
if (resultCode != ConnectionResult.Success)
if (GoogleApiAvailability.Instance.IsUserResolvableError(resultCode))
You can’t perform that action at this time.