Skip to content

Instantly share code, notes, and snippets.

View sticks-stuff's full-sized avatar
🥺
👉👈

sharlot sticks-stuff

🥺
👉👈
View GitHub Profile
import socket
import json
from obswebsocket import obsws, requests
GAME_SCENE = "Game"
NOT_GAME_SCENE = "Not-Game"
OVERLAY_NAME = "Overlay"
SWITCH_IP = ""
SWITCH_PORT = 4242
function FindReact(dom, traverseUp = 0) { //https://stackoverflow.com/a/39165137
const key = Object.keys(dom).find(key=>{
return key.startsWith("__reactFiber$") // react 17+
|| key.startsWith("__reactInternalInstance$"); // react <17
});
const domFiber = dom[key];
if (domFiber == null) return null;
// react <16
if (domFiber._currentElement) {

BILD/262

NZS 4202, Standard of Method of Measurement of Building Works (Standards of New Zealand, 2006).

Rawlinson's New Zealand Construction Handbook, 21st Edition (Rawlhouse Publishing).

Ferry, D.J., et al, Cost Planning of Buildings, 7th Edition (Oxford: Blackwell Science, 2007). TH435F399C 8ed.

Ivory H. Seeley, Building Quantities Explained 5th Edition. TH435 S452 B9.

ACCY130
ACCY131
ACCY223
ACCY225
ACCY231
ACCY302
ACCY306
ACCY308
ACCY314
ACCY330
@sticks-stuff
sticks-stuff / parseSus.js
Created December 23, 2020 10:38
Get timestamps out of Jerma !sus strings
const date = require('date-and-time');
const day_of_week = require('date-and-time/plugin/day-of-week');
const meridiem = require('date-and-time/plugin/meridiem');
date.plugin(meridiem);
date.plugin(day_of_week);
var { DateTime } = require('luxon');
var stringToParse = 'You cast SUS! You sense the next stream starting on Friday the 11th around 3pm PST';
var splitString = stringToParse.split(" ");
var currentDate = DateTime.local().setZone('America/Los_Angeles'); //you can comment out .setZone to use your local time
@sticks-stuff
sticks-stuff / Google Drive Folder to Direct Zip DL.js
Created December 9, 2020 01:29
Requires jszip and FileSaver and an API key
var files = [];
var counter = 0;
async function getFileFromUrl(url, filename, callback){
const response = await fetch(url);
const data = await response.blob();
blobToBase64(data, function (dataURL) { callback(dataURL, url, filename); })
console.log(data);
}
var urls = [
'./song.ini',
'./notes.chart',
'./album.png',
'./ch.dat',
'./song.ogg',
];
var images = [];
var counter = 0;
// From http://stackoverflow.com/questions/6150289/how-to-convert-image-into-base64-string-using-javascript
@sticks-stuff
sticks-stuff / PRAW_RateLimit_Wrapper.py
Created October 10, 2020 23:47
PRAW RateLimit Wrapper - Auto-retry functions that get rate-limited by reddit after the ratelimit is over - wrap your functions in handle_ratelimit()
def handle_ratelimit(func, *args, **kwargs):
while True:
try:
func(*args, **kwargs)
break
except praw.exceptions.RedditAPIException as exception:
totalLength = str(exception.items[0].message).split('you are doing that too much. try again in ', 1)[1]
minutesToSleep = totalLength[0].partition("minutes.")[0]
secondsToSleep = int(minutesToSleep) * 60
print("Sleeping for " + str(secondsToSleep) + " seconds")
@sticks-stuff
sticks-stuff / email-new-conservatives.py
Created July 16, 2020 11:01
A dumb script I wrote in about an hour to send furry porn to the New Conservative Party of NZ
import smtplib, ssl
from email.mime.text import MIMEText
from email.mime.multipart import MIMEMultipart
import praw
import config
import os
import re
import shutil
import random
import sys
#base robot_giant.pop
#base robot_standard.pop
WaveSchedule
{
StartingCurrency 400
RespawnWaveTime 5
CanBotsAttackWhileInSpawnRoom no
AddSentryBusterWhenDamageDealtExceeds 0