Skip to content

Instantly share code, notes, and snippets.

View JustinGrote's full-sized avatar

Justin Grote JustinGrote

View GitHub Profile
@JustinGrote
JustinGrote / snippet-schema.json
Created December 4, 2023 22:22
Snippet JSON Schema Attempt
{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"properties": {
"any": {
"anyOf": [
{ "$ref": "#/definitions/tabstop" },
{ "$ref": "#/definitions/placeholder" },
{ "$ref": "#/definitions/choice" },
{ "$ref": "#/definitions/variable" },
@JustinGrote
JustinGrote / PodBeanTranscription.psm1
Last active May 2, 2024 00:50
Podbean Podcast Transcription to Storage Account
#requires -module Az.CognitiveServices
using namespace Microsoft.Azure.Commands.Management.CognitiveServices.Models
function Get-PodBeanPodcast ($Name = 'powershellpodcast') {
Invoke-RestMethod https://feed.podbean.com/$Name/feed.xml
}
#region Base
function Connect-AzSpeech {
[OutputType([AzSpeechContext])]
@JustinGrote
JustinGrote / paxwatch.ps1
Last active May 31, 2023 15:27
PAX Watcher Script
Write-Host -fore green '===PAX CHECKER==='
Write-Host -fore green '===This will open a browser to the ticket window if PAX goes on sale==='
$result = $null
do {
[Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Tls12
Write-Host -fore gray "$(Get-Date): Checking ShowClix for PAX"
$paxEvents = (Invoke-RestMethod -Headers @{'Cache-Control' = 'max-age=0'} 'https://www.showclix.com/rest.api/Partner/48/events').psobject.properties.value |
Where-Object { $PSItem.event -match 'PAX' -and $PSItem.event -notmatch 'BYOC|Special|Media|Exhibitor' }
$result = $paxEvents |
Where-Object {
@JustinGrote
JustinGrote / settings.json
Last active December 23, 2023 09:11
Justin Grote's Visual Studio Code Settings
{
"[bicep]": {
"editor.defaultFormatter": "ms-azuretools.vscode-bicep",
"editor.suggest.showWords": false,
"editor.suggest.snippetsPreventQuickSuggestions": false,
"editor.suggestSelection": "first",
"editor.wordBasedSuggestions": false,
"files.insertFinalNewline": true
},
"[csharp]": {
@JustinGrote
JustinGrote / MSBuild.xsd
Last active April 18, 2023 20:58
MSBuild XSD Schema for VSCode Validation including some missing options
<?xml version="1.0" encoding="utf-8"?>
<xs:schema targetNamespace="http://schemas.microsoft.com/developer/msbuild/2003"
xmlns:xs="http://www.w3.org/2001/XMLSchema"
xmlns:msb="http://schemas.microsoft.com/developer/msbuild/2003"
elementFormDefault="qualified">
<!-- =================== IMPORT COMMON SCHEMA =========================== -->
<xs:include schemaLocation="https://raw.githubusercontent.com/dotnet/msbuild/main/src/MSBuild/Microsoft.Build.xsd"/>
<!-- ========= ADD CUSTOM ITEMS, PROPERTIES, AND TASKS BELOW ======= -->
@JustinGrote
JustinGrote / pingometer.json
Created April 12, 2023 16:55
Scoop Package Manifest for PingoMeter
{
"version": "0.9.9",
"description": "A small portable program that show your ping in Windows system tray.",
"homepage": "https://github.com/EFLFE/PingoMeter",
"license": "MIT",
"url": "https://github.com/EFLFE/PingoMeter/releases/download/0.9.9/PingoMeter_r0.9.9.zip",
"hash": "065C609C9AE945F55AA9476195091BE0A8D8D112B8ABDAB9392CE400981C88E4",
"extract_dir": "PingoMeter",
"shortcuts": [
[
@JustinGrote
JustinGrote / CodeTunnel.ps1
Last active April 20, 2024 05:30
Visual Studio Code Tunnel bootstrap via PowerShell (works in Azure Cloud Shell)
#require -version 5.1
#Usage: iwr https://tinyurl.com/VSCodeServer | iex
#Parameterized usage: & ([ScriptBlock]::Create((iwr https://tinyurl.com/VSCodeServer))) -Your -Options
param(
#Path to install the vscode binary to. This defaults to a folder in your Local AppData path. Must be writable by your current user without sudo
[ValidateNotNullOrEmpty()]
[string]$InstallPath = $(Join-Path -Path ([System.Environment]::GetFolderPath('LocalApplicationData')) -ChildPath 'vscode-cli'),
#Installation architecture. This is normally autodetected.
$Arch,
$OS,
@JustinGrote
JustinGrote / Get-ScriptModules.ps1
Last active February 16, 2024 15:48
Find the module names for all commands used in a script
#requires -version 7
using namespace System.Management.Automation.Language
using namespace Collections.Generic.Queue
function Get-ScriptModules {
<#
.SCRIPTBLOCK
Given a script, returns a list of all the modules it uses.
#>
@JustinGrote
JustinGrote / EasyFormat.ps1
Created March 9, 2023 16:40
A proxy for Format-Table to apply the resultant view or save it as a format definition
using namespace System.Management.Automation
using namespace System.Collections
function ConvertFrom-Format {
<#
.SYNOPSIS
Converts Format-Table output to a format that can be used with Add-FormatTable
#>
param(
#The name of the format view definition assigned to the format data. Default is 'CustomTableView
[ValidateNotNullOrEmpty()][string]$Name = 'CustomTableView',
@JustinGrote
JustinGrote / settings.jsonc
Created February 22, 2023 21:12
Enable Intellisense for .csproj files in Visual Studio Code
//NOTE: Your .csproj file MUST have a dummy <Target Name='MakeSchemaHappy' /> to satisfy the schema or you will get an error
{
"xml.fileAssociations": [
{
"pattern": "**/*.csproj",
"systemId": "https://raw.githubusercontent.com/dotnet/msbuild/main/src/MSBuild/Microsoft.Build.xsd"
}
],
"xml.validation.namespaces.enabled": "onNamespaceEncountered"
}