Skip to content

Instantly share code, notes, and snippets.

View fawkesley's full-sized avatar

Paul Fawkesley fawkesley

View GitHub Profile
@fawkesley
fawkesley / utm_params_notes.md
Last active December 7, 2021 15:22
utm_medium / utm_source / utm_campaign
  • utm_medium required - can be e.g. referral, social, email
  • utm_source is required - e.g. facebook.com
  • utm_campaign is optional e.g. june-giveaway

Use these utm_* parameters in these scenarios:

facebook ad (boosted post / ad)

@fawkesley
fawkesley / change.md
Created February 7, 2020 15:51
change a booking date

booking server:

select * from bookings where primary_email='<EMAIL>';

(write down the booking UUID, game UUID)

update bookings SET date='', game_url='', sent_joining_instructions=false WHERE uuid = '';
@fawkesley
fawkesley / logger.go
Created May 22, 2022 16:58
Golang logger with custom colour support
package logger
import (
"errors"
"fmt"
"os"
"path/filepath"
"runtime"
"strings"
"sync"
@fawkesley
fawkesley / poweroffat80percent.sh
Last active May 23, 2022 01:27
poweroffat80percent.sh - wait for laptop battery to drain to 80% then power off. save battery lifetime.
#!/bin/sh -eu
while true
do
sudo whoami > /dev/null
BATT_PERCENT=$(cat /sys/class/power_supply/BAT0/capacity)
@fawkesley
fawkesley / scrubEmailsAndNamesOfGamesStartedOver90DaysAgo.js
Created November 15, 2023 16:30
Google Sheets Apps Script to redact certain columns for rows older than 90 days (for use with Google Forms)
function scrubEmailsAndNamesOfGamesStartedOver90DaysAgo() {
const sheetName = 'responses';
const ss = SpreadsheetApp.getActiveSpreadsheet();
const sheet = ss.getSheetByName(sheetName);
if(!sheet) {
throw new Error('failed to get sheet `' + sheetName + '`');
}
const data = sheet.getDataRange().getValues();