Skip to content

Instantly share code, notes, and snippets.


Jim Bennett jimbobbennett

View GitHub Profile
jimbobbennett / ObservableExtensions.cs
Last active Aug 29, 2015
Pausable IObservable stream
View ObservableExtensions.cs
public static class ObservableExtensions
/// <summary>
/// Creates a stream that can be paused and resumed. Whilst paused any updates to the source stream will be saved in a replay stream.
/// Once the stream is resumed, the items saved in the replay stream will be published to the ouput stream.
/// The stream can be paused and resumed by publishing a bool to the isPausedStream - true to pause, false to resume.
/// By default the stream starts as paused, but this can be overridden by setting the isPausedOnStart parameter.
/// </summary>
/// <typeparam name="T">The object that provides notification information.This type parameter is covariant. That is, you can use either the type you specified or any type that is more derived. For more information about covariance and contravariance, see Covariance and Contravariance in Generics.</typeparam>
/// <param name="sourceStream">The stream to read from and either republish or save whilst the strea
jimbobbennett / GetColourForBeacon
Created Jun 24, 2015
Code to get a UIColour to match the BeaconColor enum for Estimote iBeacons
View GetColourForBeacon
public UIColor GetColourForBeacon(BeaconColor beaconColor)
switch (beaconColor)
case BeaconColor.Blueberry:
return UIColor.FromRGB(72, 61, 139);
case BeaconColor.Mint:
return UIColor.FromRGB(173, 255, 47);
case BeaconColor.Ice:
return UIColor.FromRGB(72, 209, 204);
jimbobbennett / BeaconRanging
Created Jun 28, 2015
Ranging using the default Estimote iBeacon UUID
View BeaconRanging
var uuid = new NSUuid ("B9407F30-F5F8-466E-AFF9-25556B57FE6D");
var region = new BeaconRegion(uuid, "MyRegion");
jimbobbennett / lock.ps1
Created Jul 2, 2015
Code to put an exclusive lock on a file
View lock.ps1
#Open the file in read only mode, without sharing (I.e., locked as requested)
$file = []::Open($fileName, 'Open', 'Read', 'None')
#Wait in the above (file locked) state until the user presses a key
Write-Host "Press any key to continue ..."
$null = $host.UI.RawUI.ReadKey("NoEcho,IncludeKeyDown")
#Close the file
jimbobbennett / NearablesViewController.cs
Created Oct 8, 2015
Nearables example that doesn't work
View NearablesViewController.cs
public override void ViewDidLoad()
var beaconManager = new BeaconManager();
beaconManager.AuthorizationStatusChanged += (s, e) =>
var manager = new NearableManager();
View AddInBuild.log
Cleaning: XamarinStudio.TechTalk.SpecFlow (Debug)
Build started 5/16/2016 7:32:50 PM.
Project "/Users/JimBennett/GitHub/SpecFlow/IdeIntegration/XamarinStudioIntegration/XamarinStudio.TechTalk.SpecFlow.csproj" (Clean target(s)):
Initial Properties:
__CF_USER_TEXT_ENCODING = 0x1F5:0x0:0x0
Apple_PubSub_Socket_Render = /private/tmp/
jimbobbennett /
Last active May 2, 2019
Useful links for the Basingstoke Big IoT Hack

Free Azure account

Sign up here -

  • 12 months of free services
  • £150 credit
  • Other services always free

You need a credit card for verification only - we do not charge you unless you choose to upgrade to a Pay as You Go subscription. We just need to verify you are not a bot!

jimbobbennett /
Last active Jan 10, 2020
Azure for students link