Skip to content

Instantly share code, notes, and snippets.

View michaelstonis's full-sized avatar
🦥

Michael Stonis michaelstonis

🦥
View GitHub Profile
@michaelstonis
michaelstonis / vsts_git_changelog.sh
Last active June 29, 2018 23:12
VSTS Bash Script that builds release notes for the last weeks worth of commits
#!/bin/bash
# Generates changelog day by day
# Based on sample from https://stackoverflow.com/questions/2976665/git-changelog-day-by-day
BRANCH=${BUILD_SOURCEBRANCHNAME}
FILE=${BUILD_STAGINGDIRECTORY}/releasenotes.md
TMP=$(mktemp)
TODAY=$(date +%Y-%m-%d)
YESTERDAY=$(date -v-1d +%Y-%m-%d)
THIS_WEEK=$(date -v-7d +%Y-%m-%d)
@michaelstonis
michaelstonis / ReactiveAndroidTransitionPage.cs
Created October 6, 2016 02:39
An enhanced version of Android's ViewPager.PageScrolled event using Reactive Extensions
Observable.FromEventPattern<ViewPager.PageScrolledEventArgs> (
x => _viewPager.PageScrolled += x,
x => _viewPager.PageScrolled -= x)
.Select (args => args.EventArgs)
.StartWith(new ViewPager.PageScrolledEventArgs(0, 0, 0))
.PairWithPrevious()
.Skip(1)
.Select(args => {
var scrollDirection =
args.Item1.Position != args.Item2.Position
@michaelstonis
michaelstonis / PageScrolledRx.cs
Created October 6, 2016 02:37 — forked from winnicki/PageScrolledRx.cs
An enhanced version of Android's ViewPager.PageScrolled event using Reactive Extensions.
Observable.FromEventPattern<ViewPager.PageScrolledEventArgs> (
x => _viewPager.PageScrolled += x,
x => _viewPager.PageScrolled -= x)
.Select (args => args.EventArgs)
.StartWith(new ViewPager.PageScrolledEventArgs(0, 0, 0))
.PairWithPrevious()
.Skip(1)
.Select(args => {
var scrollDirection =
args.Item1.Position != args.Item2.Position
@michaelstonis
michaelstonis / LayoutExtensions.cs
Created March 29, 2016 20:10
Xamarin.Forms layout extensions that allow you to do Layout.Add instead of Layout.Children.Add because iOS ViewControllers ruined me on this
using System;
using Xamarin.Forms;
using System.Linq.Expressions;
namespace EightBot.XamForms.Extensions
{
public static class LayoutExtensions
{
public static void Add(this StackLayout sl, View item) {
sl?.Children?.Add (item);
@michaelstonis
michaelstonis / xamarin_iOS_control_id_generator.cs
Last active August 29, 2015 14:17
Xamarin.iOS Control ID Generator
public static void GenerateViewNames(this UIViewController viewController, bool forceExecution = false){
if(!forceExecution
&&
(
ObjCRuntime.Runtime.Arch != ObjCRuntime.Arch.SIMULATOR
||
!UIDevice.CurrentDevice.CheckSystemVersion(8, 0)
))
return;