I hereby claim:
- I am patridge on github.
- I am patridge (https://keybase.io/patridge) on keybase.
- I have a public key ASCKUpBrk6PnSerOrfBdBcjh8ZjyzZeQzEU8UP-Q2q0tago
To claim this, I am signing this object:
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>(); |
public static class NetworkHelpers | |
{ | |
public static async Task GetWebPageViaHttpClient(string uri) | |
{ | |
Console.WriteLine($"Requesting {uri} - {DateTime.Now}"); | |
using (var client = new HttpClient()) | |
{ | |
try | |
{ |
# 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 |
// 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 { |
# 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 | |
# |
{ | |
"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" ], |
# FlatRedBall (FRB) .gitignore | |
# https://gist.github.com/patridge/46a9e6f410499e47fdbfc6d81c7c92f0/ | |
*.Generated.cs | |
*.csvSettings | |
*.cachefile | |
*.Generated.Event.cs | |
*.gvwx | |
*.aeproperties |
# 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) |
I hereby claim:
To claim this, I am signing this object: