Skip to content

Instantly share code, notes, and snippets.

View jmcmullen's full-sized avatar
🇦🇺

Jay McMullen jmcmullen

🇦🇺
  • Sydney, Australia
View GitHub Profile
@jmcmullen
jmcmullen / 1-racquet-clubs-integration.md
Created December 18, 2025 11:33
Racquet Clubs ticketing integration - docs & demo

Racquet Clubs Ticketing Integration

Embed event ticketing on your website using the Session Services API and web component.


Ticketing Widget

Add the ticket purchasing widget to any page.

@jmcmullen
jmcmullen / search.ts
Created January 7, 2025 09:08
OpenSearch SST v3 Config
export const vpc = new sst.aws.Vpc("Vpc", {
nat: "ec2",
bastion: true,
});
const vpcEndpoint = new aws.opensearch.ServerlessVpcEndpoint("VpcEndpoint", {
name: "search-vpc-endpoint",
subnetIds: vpc.privateSubnets,
securityGroupIds: vpc.securityGroups,
vpcId: vpc.id,
@jmcmullen
jmcmullen / convert.sh
Created July 19, 2024 06:13
Convert all FLAC files in a directory to AIFF
#!/bin/bash
# Check if ffmpeg is installed
if ! command -v ffmpeg &> /dev/null
then
echo "Can't find ffmpeg, please install it first."
exit
fi
@jmcmullen
jmcmullen / countries.json
Created September 18, 2023 16:23
A list of countries with name, country code, calling codes and flags as emoji.
{
"AF": {
"currency": [
"AFN"
],
"callingCode": [
"93"
],
"name": "Afghanistan",
"emoji": "🇦🇫"
@jmcmullen
jmcmullen / Progress.tsx
Created November 25, 2022 14:55
Next 13 appDir NProgress Bar
"use client";
import { useEffect } from "react";
import NProgress from "nprogress";
type PushStateInput = [
data: any,
unused: string,
url?: string | URL | null | undefined
];
#!/bin/bash
if [[ -z "$NGROK_TOKEN" ]]; then
echo "Please set 'NGROK_TOKEN'"
exit 2
fi
if [[ -z "$USER_PASS" ]]; then
echo "Please set 'USER_PASS' for user: $USER"
<template>
<div>
<button
class="border-2 p-1 rounded-full flex justify-start border-white items-center cursor-pointer w-15 focus:outline-none focus:border-teal-100 transition-switch"
:class="buttonStyles"
@click="onChange"
@keydown.enter="onChange"
>
<span
class="rounded-full border-2 w-6 h-6 shadow-inner border-white bg-white shadow border-4 transition-all transition-duration-300 ease-in-out"
import { useState, useEffect } from 'react';
function useDebounce<T>(
initialValue: T,
time: number
): [T, T, React.Dispatch<T>] {
const [value, setValue] = useState<T>(initialValue);
const [debouncedValue, setDebouncedValue] = useState<T>(initialValue);
useEffect(() => {
http://www.libimobiledevice.org
On macOS:
brew install libimobiledevice
## to disable iCloud backups
idevicebackup2 cloud off
## if you want encrypted backups (native encryption)
idevicebackup2 encryption on -i
Set WshShell = WScript.CreateObject("WScript.Shell")
Comandline = "C:\Users\Jay\AppData\Roaming\Spotify\Spotify.exe"
WScript.sleep 500
CreateObject("WScript.Shell").Run("spotify:user:21exgkdi3qaoc23wvwlbpikza:playlist:7u1cfxjN5qhgyrx5wtT6zF")
WScript.sleep 3000
WshShell.SendKeys " "