Skip to content

Instantly share code, notes, and snippets.

View jongio's full-sized avatar

Jon Gallant jongio

View GitHub Profile
@jongio
jongio / github-copilot-model-not-supported-error-fix.md
Created November 3, 2025 14:26
Fix for model not supported error in GitHub Copilot

Manual Fix for GitHub Copilot Chat "Model Not Supported" Error

This guide shows how to manually apply the fix to remove the x-onbehalf-extension-id header from the GitHub Copilot Chat extension.

Manual Fix Steps

1. Locate the GitHub Copilot Chat Extension

Windows:

@jongio
jongio / PhotoOrganizer.ps1
Created March 3, 2021 15:34
A PowerShell script to organize photos by date taken
Param(
[string]$source,
[string]$dest,
[string]$format = "yyyy/yyyy_MM/yyyy_MM_dd"
)
$shell = New-Object -ComObject Shell.Application
function Get-File-Date {
[CmdletBinding()]
// Originally from: https://community.powerbi.com/t5/Community-Blog/Aggregating-Duration-Time/ba-p/22486
Duration =
// Duration formatting
// * @konstatinos 1/25/2016
// * Given a number of seconds, returns a format of "hh:mm:ss"
//
// We start with a duration in number of seconds
VAR Duration = [Change this value to the name of your column that contains your seconds value]
// There are 3,600 seconds in an hour
VAR Hours =
@jongio
jongio / azure-rest-apis-with-postman-pre-request-script.js
Created February 28, 2021 22:43
Postman Collection Bearer Token Pre-Request Script
if (!pm.collectionVariables.get("bearerToken") || Date.now() > new Date(pm.collectionVariables.get("bearerTokenExpiresOn") * 1000)) {
pm.sendRequest({
url: 'https://login.microsoftonline.com/' + pm.collectionVariables.get("tenantId") + '/oauth2/token',
method: 'POST',
header: 'Content-Type: application/x-www-form-urlencoded',
body: {
mode: 'urlencoded',
urlencoded: [
{ key: "grant_type", value: "client_credentials", disabled: false },
{ key: "client_id", value: pm.collectionVariables.get("clientId"), disabled: false },
pm.sendRequest({
url: 'https://login.microsoftonline.com/' + pm.environment.get("tenantId") + '/oauth2/token',
method: 'POST',
header: 'Content-Type: application/x-www-form-urlencoded',
body: {
mode: 'urlencoded',
urlencoded: [
{key: "grant_type", value: "client_credentials", disabled: false},
{key: "client_id", value: pm.environment.get("clientId"), disabled: false},
{key: "client_secret", value: pm.environment.get("clientSecret"), disabled: false},
@jongio
jongio / delete-yelp-reviews.js
Created April 2, 2022 02:08
How to delete yelp reviews with JavaScript in Browser Tools
// 1. Go to https://www.yelp.com/user_details_reviews_self
// 2. Open dev tools F12
// 3. Copy and paste this code into Console and hit enter.
// 4. This will delete the first review. You'll need to repeat #3 for every review.
$('.icon--18-trash').each(function(){$( this ).click();setTimeout(function(){$('input[value=reason_other]').click();setTimeout(function(){$('#js-delete-button').click();},500);},500);});
@jongio
jongio / azure-iot-hub-device-twin-rest-apis-postman-newman.js
Last active November 5, 2021 08:50
Azure IoT Hub SAS Token JavaScript CryptoJS
// See this doc for details: https://docs.microsoft.com/en-us/azure/iot-hub/iot-hub-devguide-security
var resourceUri = encodeURIComponent(postman.getGlobalVariable("hubName") + '.azure-devices.net'); // The resource uri
var expiry = Math.ceil((Date.now() / 1000) + postman.getGlobalVariable("expiresInMins") * 60); // Expire the token 60 minutes from now
var uriExpiry = resourceUri + '\n' + expiry; // this is the string format to gen signature from
var decodedKey = CryptoJS.enc.Base64.parse(postman.getGlobalVariable("signingKey")); // The SHA256 key is the Base64 decoded version of the IoT Hub key
var signature = CryptoJS.HmacSHA256(uriExpiry, decodedKey); // The signature generated from the decodedKey
var encodedUri = encodeURIComponent(CryptoJS.enc.Base64.stringify(signature)); // The url encoded version of the Base64 signature
// Construct authorization string (shared access signature)
var token = "SharedAccessSignature sr=" + resourceUri + "&sig=" + encodedUri + "&se=" + expiry;
@jongio
jongio / ssh-info-docker-vm-windows.sh
Last active November 3, 2021 07:36
It's not technically SSH, but here's how you can get root access to the VM that runs Docker on your Windows host.
docker run --privileged -it -v /var/run/docker.sock:/var/run/docker.sock jongallant/ubuntu-docker-client
docker run --net=host --ipc=host --uts=host --pid=host -it --security-opt=seccomp=unconfined --privileged --rm -v /:/host alpine /bin/sh
chroot /host
@jongio
jongio / azure-rest-apis-with-insomnia-workspace.json
Last active February 26, 2021 15:55
Azure REST APIs with Insomnia Workspace
{
"_type":"export",
"__export_format":4,
"__export_date":"2021-02-26T15:46:44.984Z",
"__export_source":"insomnia.desktop.app:v2020.5.2",
"resources":[
{
"_id":"req_7bbaa70817c34e55bf70f64a26c0eff2",
"parentId":"fld_e3ddc403c123493a9bdd56aa59192655",
"modified":1614354317200,
class MyTokenCredential implements coreHttp.TokenCredential {
public token: string;
public expiresOn: number;
constructor(token: string, expiresOn?: Date) {
this.token = token;
this.expiresOn = expiresOn
? expiresOn.getTime()