Skip to content

Instantly share code, notes, and snippets.

View jibbius's full-sized avatar

Jack Barker jibbius

View GitHub Profile
@jibbius
jibbius / move_humble_downloads.ps1
Created September 23, 2023 22:22
Reorganise Humble Bundle Book downloads
# Step 1
# ------
# Open Powershell ISE
# - If you encounter permissions errors, Run as Administrator, then use the command:
# Set-ExecutionPolicy RemoteSigned
# Step 2
# ------
# Download everything using this FireFox plugin:
# - https://addons.mozilla.org/en-US/firefox/addon/humble-bundle-downloader/
@jibbius
jibbius / drop_table_like.sql
Created May 16, 2013 15:43
MySQL - Drop Tables WHERE tablename like();
/*
* MySQL - Drop Tables WHERE tablename like();
*/
SET @tables = NULL;
SELECT GROUP_CONCAT(table_schema, '.', table_name) INTO @tables FROM information_schema.tables
WHERE table_schema = 'db_1' AND
(
table_name LIKE BINARY 'wp_bp_%'
@jibbius
jibbius / helpers.php
Last active January 5, 2021 00:38
name-directory/helpers.php
<?php
/**
* This file is part of the NameDirectory plugin for WordPress
*/
// I have only updated the name_directory_get_directory_names() function.
/**
* Get the names of given directory, maybe only with the char?
* @param $directory
#!/usr/bin/env python
##################################
# Simple Raspberry Pi Photo Booth
##################################
# (for a more advanced photo booth, visit: https://github.com/jibbius/raspberry_pi_photo_booth)
#Imports
from time import sleep
import os, datetime, errno, picamera
@jibbius
jibbius / camera.py
Last active April 28, 2018 06:17
Attempt to add sound to photo booth
#!/usr/bin/env python
#Imports
import datetime
import os
from time import sleep
from PIL import Image
import RPi.GPIO as GPIO
import picamera
@jibbius
jibbius / picamera_sleep_demo.py
Created August 8, 2017 21:23
How to add a delay between the button press, and PiCamera taking a photo, using sleep().
from time import sleep
import RPi.GPIO as GPIO
import picamera
#... etc.
# Refer related gists, for how to setup the camera ...etc.
#Wait for someone to push the button
while True:
@jibbius
jibbius / Axure-RemoveAnnotations-Bookmarklet
Last active June 1, 2016 11:46
Add to your browser as a bookmarklet; Causes annotations within Axure wireframes to be removed.
javascript:(function(){var iframe=document.getElementById('mainFrame');if(iframe){ var innerDoc=iframe.contentDocument || iframe.contentWindow.document; }else{ var innerDoc=document; } var head=innerDoc.getElementsByTagName('head')[0];var link=innerDoc.createElement('link');link.rel='stylesheet';link.type='text/css';link.href='https://rawgithub.com/jibbius/AxureReannotate/master/src/css/removeAnnotations.css';link.media='all';head.appendChild(link);})();
@jibbius
jibbius / Axure-Flatten.js
Last active June 1, 2016 04:05
Script that can be run from Inspector Console; Flattens Axure Wireframe site into a text file with hyperlinks to pages (can be side-loaded into other tooling if required).
// Get Sitemap
var axureNodes = $axure.document.sitemap.rootNodes;
// Parse sitemap for URLs
var key = 'url';
var normalisedAxureNodes = function getValues(obj, key) {
var objects = [];
for (var i in obj) {
if (!obj.hasOwnProperty(i)) continue;
if (typeof obj[i] == 'object') {
javascript:(function(){var axureNodes = $axure.document.sitemap.rootNodes;var key = 'url';var normalisedAxureNodes = function getValues(obj, key) { var objects = []; for (var i in obj) { if (!obj.hasOwnProperty(i)) continue; if (typeof obj[i] == 'object') { objects = objects.concat(getValues(obj[i], key)); } else if (i == key) { objects.push(obj[i]); } } return objects;}(axureNodes, key);var myfilecontents = function buildTextFile(my_values){ var textfilecontents = ''; for (var i in my_values) { if(my_values[i] != '') textfilecontents += 'http://' + window.location.hostname + '/' + my_values[i] + '\n'; } return textfilecontents;}(normalisedAxureNodes);var url = 'data:text;charset=utf8,' + encodeURIComponent(myfilecontents);window.open(url, '_blank');window.focus();})();
@jibbius
jibbius / Axure-Reannotate-Bookmarklet
Last active June 1, 2016 03:51
Add to your browser as a bookmarklet; Causes annotations within Axure wireframes to be numbered.
javascript:(function(){var iframe=document.getElementById('mainFrame');var innerDoc=iframe.contentDocument || iframe.contentWindow.document;var head=innerDoc.getElementsByTagName('head')[0];var link=innerDoc.createElement('link');link.rel='stylesheet';link.type='text/css';link.href='https://rawgithub.com/jibbius/AxureReannotate/master/src/css/axureReannotate.css';link.media='all';head.appendChild(link);var annoID=1;var annoArray; var annoArray = new Array;jQuery('#mainFrame').contents().find('div.annnoteimage').each(function(){var that = jQuery(this);annoArray.push( [that.offset().top , that[0].id]);});annoArray.sort(function(a, b){return a[0]-b[0]});var anno;while(anno = annoArray.pop()){jQuery('#mainFrame').contents().find('#'+anno[1]).html('<INPUT VALUE=\''+(annoArray.length+1)+'\'></INPUT>');}})();