Skip to content

Instantly share code, notes, and snippets.

@bboe
bboe / umail_delete.py
Created September 22, 2011 06:06
Empty UCSB's umail inbox. Run via: ./umail_delete.py -u <USERNAME> -d
#!/usr/bin/env python
import getpass, imaplib, sys
from optparse import OptionParser
def main():
parser = OptionParser()
parser.add_option('-s', '--save', help='file to save contents to')
parser.add_option('-d', '--delete', action='store_true',
help='delete contents')
@bboe
bboe / tether.sh
Created October 20, 2011 20:18
OSX Lion tether to Android script using Azilink and Tunnelblick
#!/bin/bash
#
# azilink for OS X Lion
# based on http://pastie.org/405289 but works with Tunnelblick only
# (no need to install a separate copy of OpenVPN2 from macports
# or building from source by hand, thankfully)
# Requires:
# - azilink running on android phone (http://code.google.com/p/azilink/)
# (run the app and check the box to start the service).
# - adb on system path (comes with the Android SDK;
@bboe
bboe / comment_loop_test.py
Last active June 7, 2021 06:26
Python Reddit API Comment Loop Test
#!/usr/bin/env python3
import logging
import sys
import time
import praw
def configure_logging():
logger = logging.getLogger("praw")
@bboe
bboe / job_manager.c
Created February 23, 2012 20:15
Process-based Job Management in C
#include <errno.h>
#include <signal.h>
#include <stdlib.h>
#include <string.h>
#include <sys/select.h>
#include <sys/wait.h>
#include "job_manager.h"
volatile sig_atomic_t multiprocess_running = 0;
@bboe
bboe / deploy.sh
Last active December 14, 2015 12:19
PyPi package deployment script. Depends on having an available pgp key to sign packages and the tag.
#!/bin/bash
if [ $# -ne 1 ]; then
echo "Usage: $(basename $0) package_name"
exit 1
fi
package=$1
status=$(git status | head -n 1)
@bboe
bboe / redditor_save.py
Created June 16, 2013 19:02
Saves all the available comments and submissions for a given user.
#!/usr/bin/env python
import cPickle
import praw
import sys
PERIODS = ['all', 'year', 'month', 'week', 'day', 'hour']
PERIOD_VIEWS = ['controversial', 'top']
VIEWS = [{'sort': x, 't': y} for x in PERIOD_VIEWS for y in PERIODS]
VIEWS.insert(0, {'sort': 'new'})
@bboe
bboe / rabbit_admin.py
Created October 17, 2014 20:12
Tool to interact with rabbitmq queues. Depends on docopt and pika (pip install docopt pika).
#!/usr/bin/env python
"""Usage: rabbit_admin [options] delete QUEUE
rabbit_admin [options] add QUEUE <KEY:VALUE>...
rabbit_admin [options] dump QUEUE
-D --not-durable don't use a durable queue
-h --help show this
-H --host HOST rabbitmq host [default: localhost]
"""
@bboe
bboe / parse_email_list.js
Last active January 22, 2024 15:02
Javascript email list parser with display name
function display_name(text) {
/* Remove all quotes
Remove whitespace, brackets, and commas from the ends. */
return text.replace(/(^[\s,>]+)|"|([\s,<]+$)/g, '');
}
function emails(addr_list) {
/* Regex source:
https://html.spec.whatwg.org/multipage/forms.html#valid-e-mail-address
*/
@bboe
bboe / reddit_oauth.py
Created June 5, 2015 05:49
Create permanent reddit oauth tokens
#!/usr/bin/env python
"""Script to generate permenant OAuth tokens for the desired reddit scope."""
from __future__ import print_function
import os
import praw
import sys
from pprint import pprint
@bboe
bboe / image_attachment_downloader.py
Last active August 29, 2015 14:23
Email image attachment download (POP3 support only for now)
#!/usr/bin/env python
from __future__ import print_function
from functools import wraps
from getpass import getpass
from hashlib import sha512
from poplib import POP3_SSL, error_proto
import email
import os
import socket
import sys