Skip to content

Instantly share code, notes, and snippets.

View deckerego's full-sized avatar

John Ellis deckerego

View GitHub Profile
@deckerego
deckerego / test_logging.py
Last active September 8, 2016 17:30
Sensibly log things in Python, using console stdout when necessary
import logging
RED='\033[0;31m'
CYAN='\033[0;36m'
GREEN='\033[0;32m'
NC='\033[0m'
logger = logging.getLogger('myapp')
logfile = logging.FileHandler('warnings.log')
@deckerego
deckerego / fx_spotlight - Alarm 0
Last active July 29, 2016 01:43
Shine a spotlight over a scene in GameMaker
self.fadeIn += fadeStep;
if(fadeIn < fadeMax) {
alarm[0] = fadeSpeed;
}
@deckerego
deckerego / syndicate_data.py
Created June 29, 2016 20:08
Extract data from a database table, format it as a CSV and upload it to S3
#!/usr/bin/python
import MySQLdb
import csv
from boto.s3.connection import S3Connection
from boto.s3.key import Key
query = "\
select id, name, gross_amt \
from cafeteria \
@deckerego
deckerego / NES30 Keyboard Map - Player 1
Last active September 12, 2023 13:15
Keyboard mappings for the NES30 series of gamepad controllers, in Bluetooth keyboard mode.
DPAD Up -> c
DPAD Down -> d
DPAD Left -> e
DPAD Right -> f
L Analog Left -> Left Arrow
L Analog Right -> Right Arrow
L Analog Up -> Up Arrow
L Analog Down -> Down Arrow
@deckerego
deckerego / convert_mp4.bash
Last active November 23, 2015 01:37
Transcode all archived music in a directory to MP4, preserving base directory layouts
#!/bin/bash
DEST_DIR="/home/iPod"
FULL_PATH="$1"
ALBUM=$(basename "$FULL_PATH")
NEW_PATH="$DEST_DIR/$ALBUM"
echo "Transcoding into $NEW_PATH"
mkdir "$NEW_PATH"
@deckerego
deckerego / send_io.sh
Created November 15, 2015 21:29
Send Adafruit IO data using curl
#!/bin/sh
curl -H 'X-AIO-Key: feedfacedaedbeef' -H 'Content-Type: application/json' -X POST https://io.adafruit.com/api/feeds/myfeedname/data.json -d'{"value": 17}'
@deckerego
deckerego / jabtest.py
Created September 25, 2015 23:29
An example of using Jabber/XMPP communication with Python
import sleekxmpp
class Jabber(sleekxmpp.ClientXMPP):
def __init__(self, username, password, instance_name=None):
jid = "%s/%s" % (username, instance_name) if instance_name else username
super(Jabber, self).__init__(jid, password)
self.instance_name = instance_name
self.add_event_handler('session_start', self.start, threaded=False, disposable=True)
self.add_event_handler('message', self.receive, threaded=True, disposable=False)
@deckerego
deckerego / wifi
Created September 23, 2015 16:05
Monit 5.8 configuration to re-start network interfaces when they lose their link
check host gateway with address 192.168.1.1
start "/usr/sbin/service networking start"
stop "/usr/sbin/service networking stop"
if failed icmp type echo count 5 with timeout 10 seconds
then restart
if 4 restarts within 5 cycles
then exec /sbin/reboot
@deckerego
deckerego / html5conv.bash
Created September 16, 2015 17:04
Transcode a video to be HTML5 compliant
#!/bin/bash
FILE_PATH="$1"
FILE_DIR=$(dirname "$FILE_PATH")
FILE_NAME=$(basename "$FILE_PATH")
FILE_BASE="${FILE_NAME%.*}"
avconv -i "$FILE_PATH" -vcodec h264 -acodec aac -strict -2 "$FILE_DIR/$FILE_BASE.mp4"
rm -r -f "$FILE_PATH"
@deckerego
deckerego / ReadSensor.java
Last active November 10, 2015 04:40
Read data from an Adafruit Trinket over USB
import java.nio.*;
import org.usb4java.*;
public class ReadTrinket {
public static void main(String args[]) {
Context context = init();
DeviceHandle trinketHandle = openDevice();
try {
int result = LibUsb.claimInterface(trinketHandle, (short) 0x00);