Skip to content

Instantly share code, notes, and snippets.

@swordfish6975
swordfish6975 / JBL Flip 5 Stereo.ino
Last active February 21, 2025 00:03
JBL Flip 5 Stereo Mode FIX using ESP32
#include "BLEDevice.h"
//#include "BLEScan.h"
//Operating procedure
//1. Power on only the JBL Flip 5 you want to connect to the "master of the two speakers"
//2. It is ok to have it connected to your (phone/laptop/TV etc) or not at this stage
//3. Plug in or reset your ESP32 with this code in it
//4. Built in LED should be solid from startup, if it shuts off for two seconds the master Flip 5 was found and set to RIGHT channel mode
//5. Press the ♾️ on the master speaker
//6. Power on the slave speaker
@swordfish6975
swordfish6975 / Program.cs
Created September 14, 2023 02:11
Extract the Function App Settings your looking for from all of Azure (that you have access to)
using Azure.Identity;
using Azure.ResourceManager;
using Azure.ResourceManager.AppService;
using Newtonsoft.Json;
namespace AzureSettingsFinder
{
internal class Program
{
#!/usr/bin/python
import sys, os, json
sys.path.append('/storage/.kodi/addons/script.module.requests/lib/')
sys.path.append('/storage/.kodi/addons/script.module.urllib3/lib/')
sys.path.append('/storage/.kodi/addons/script.module.chardet/lib/')
sys.path.append('/storage/.kodi/addons/script.module.certifi/lib/')
sys.path.append('/storage/.kodi/addons/script.module.idna/lib/')
sys.path.append('/storage/.kodi/addons/virtual.rpi-tools/lib/')
@swordfish6975
swordfish6975 / PuppeteerTableExample.cs
Created November 6, 2019 11:44
Puppeteer Table Example
await new BrowserFetcher().DownloadAsync(BrowserFetcher.DefaultRevision);
var browser = await Puppeteer.LaunchAsync(new LaunchOptions
{
Headless = true
});
var page = await browser.NewPageAsync();
await page.GoToAsync("https://www.w3schools.com/html/html_tables.asp");
var rows = await page.EvaluateExpressionAsync<JArray>("Array.from(document.querySelectorAll('table')[3].querySelectorAll('tbody > tr')).map(a => Array.from(a.querySelectorAll('th, td')).map(z=> z.innerHTML))");