This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
using System; | |
using System.Threading; | |
using System.Threading.Tasks; | |
using Meadow.Hardware; | |
namespace MeadowHelpers { | |
public static class IWiFiNetworkAdapterExtensions { | |
public static async Task<NetworkConnectionEventArgs> WaitForNetworkConnection(this IWiFiNetworkAdapter wifiAdapter, string? ssid = null, string? password = null, TimeSpan timeout = default(TimeSpan), CancellationToken cancellationToken = default(CancellationToken)) | |
{ | |
var tcs = new TaskCompletionSource<NetworkConnectionEventArgs>(); |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
public static class NetworkHelpers | |
{ | |
public static async Task GetWebPageViaHttpClient(string uri) | |
{ | |
Console.WriteLine($"Requesting {uri} - {DateTime.Now}"); | |
using (var client = new HttpClient()) | |
{ | |
try | |
{ |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
# When GoPro recordings fill a 4GB file, they continue into additional sequential files differentiatedby the second and third characters, such as "GH010136.MP4" to "GH040136.MP4" when recording "0136" spans four files (GH01, GH02, GH03, GH04). | |
# Group all MP4 files of that GH*.MP4 format by the recording number (last four numbers) and filter by any grouping that contains more than one file, indicating it spans multiple files. | |
# TODO: Edit for your own FFmpeg install location | |
$ffmpegLocation = "C:\ProgramData\chocolatey\bin\ffmpeg.exe" # Default Chocolatey install location | |
$outputCombinedVideoSuffix = "-combined" | |
# Get all appropriate GoPro video segments without getting any previously generated combined video files (`-Exclude`). | |
foreach ($group in (Get-ChildItem GH*.MP4 -Exclude GH*${outputCombinedVideoSuffix}.MP4 | Group-Object -Property { $_.Name.Substring($_.Name.Length - ".MP4".Length - 4, 4) } | ? { ($_.Group | Measure-Object).Count -gt 1 })) { | |
# The ffmpeg utility can concatenate a bunch of video |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
# To view any current aliases, run this: | |
git config --get-regexp alias | |
# `git tree` (and press Q to quit): Display a nice tree with branches. | |
git config --global alias.tree "log --graph --decorate --pretty=oneline --abbrev-commit --all" | |
# `git showtrackedignored`: Display normally tracked files currently being ignored. | |
git config --global alias.showtrackedignored "ls-files -i --exclude-standard" | |
# Push the current branch to my personal remote name choice (by default, technically configurable, but everyone should push to patridge too, apparently) | |
alias.pushu !git push --set-upstream ${1-patridge} $(git branch --show-current) |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
# FlatRedBall (FRB) .gitignore | |
# https://gist.github.com/patridge/46a9e6f410499e47fdbfc6d81c7c92f0/ | |
*.Generated.cs | |
*.csvSettings | |
*.cachefile | |
*.Generated.Event.cs | |
*.gvwx | |
*.aeproperties |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
// e.g., inject something whenever iterating a list | |
const arr = [ 1, 2, 3 ]; | |
arr[Symbol.iterator] = function () { | |
let i = 0; | |
let arr = this; | |
return { | |
next: function () { | |
if (i >= arr.length) { | |
return { done: true }; | |
} else { |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
# Command line calls that don't fit elsewhere (e.g., PowerShell Experiments: https://github.com/patridge/PowerShellExperiments) | |
# Check for global NPM packages with updates available | |
npm outdated -g --depth=0 | |
# |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
{ | |
"Microsoft Docs image": { | |
"prefix": [ "image", "img" ], | |
"body": [ | |
":::image source=\"$1\" alt-text=\"$0\":::" | |
], | |
"description": "Microsoft Docs-style image syntax (':::image …:::')." | |
}, | |
"Microsoft Docs decorative/icon image": { | |
"prefix": [ "image", "img" ], |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
NSObject keyboardShowObserver; | |
NSObject keyboardHideObserver; | |
public override void ViewWillAppear(bool animated) { | |
base.ViewWillAppear(animated); | |
keyboardShowObserver = NSNotificationCenter.DefaultCenter.AddObserver(UIKeyboard.WillShowNotification, (notification) => { | |
NSValue nsKeyboardBounds = (NSValue)notification.UserInfo.ObjectForKey(UIKeyboard.BoundsUserInfoKey); | |
RectangleF keyboardBounds = nsKeyboardBounds.RectangleFValue; | |
float height = View.Bounds.Height - keyboardBounds.Height; | |
if (NavigationController != null && NavigationController.TabBarController != null && NavigationController.TabBarController.TabBar != null) { |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
// Xamarin.iOS (using MonoTouch.UIKit;) | |
static Random rand = new Random(); | |
public static UIColor GetRandomColor() { | |
int hue = rand.Next(255); | |
UIColor color = UIColor.FromHSB( | |
(hue / 255.0f), | |
1.0f, | |
1.0f); | |
return color; | |
} |
NewerOlder