Skip to content

Instantly share code, notes, and snippets.

View rfong's full-sized avatar

rfong rfong

View GitHub Profile
@rfong
rfong / record.scpt
Last active December 11, 2015 05:38
applescript for quicktime recording. with OSX 10.6 or below, run in 32 bit mode "arch -i386 osascript record.scpt"
tell application "QuickTime Player"
activate
start (new audio recording)
end tell
@rfong
rfong / domain_finder.py
Last active December 3, 2019 23:45 — forked from stepchowfun/domain_finder.py
Fork of boyers's domain name n-gram generator that lets user specify initial prefix, or fallback on other domain extensions
#!/usr/bin/python -O
from optparse import OptionParser
import random
import string
import subprocess
import threading
import time
import re
# get a list of words with only ASCII characters, and surround them with ^ and $ to demarcate the word boundaries
@rfong
rfong / cprofile.py
Last active November 6, 2021 21:02
Django profiling decorator
import cProfile
import pstats
from django.utils.functional import wraps
def cprofile(sort_by='cumulative', n=20):
"""Decorator to profile a function."""
def decorator(func):
@wraps(func)
@rfong
rfong / django_filters.py
Last active February 22, 2017 19:29
Django queryset convenience filters I wrote to make Locu data quality go round, but probably useful anywhere your DB schema gets unnecessarily complicated
"""
Reusable Django queryset filters. Useful for filtering on complex rule sets,
and determining independent reasons why an object fails to pass said rules.
"""
from collections import namedtuple
class FilterSpec(
namedtuple('FilterSpec', ['message', 'kwargs', 'exclude', 'distinct'])):
@rfong
rfong / angular-object.js
Created July 14, 2015 18:16
object oriented JS with angular factories
var app = angular.module('someObject', []);
app.factory('SomeObject', function($http) {
var SomeObject = function(someObject) {
angular.extend(this, someObject);
var self = this;
this.initialize = function() {
// pass
};
@rfong
rfong / angular-misc.js
Last active December 3, 2019 23:44
miscellaneous useful angular stuff that was mildly annoying to figure out
// Change angular templating for var interpolation
app.config(['$interpolateProvider', function($interpolateProvider) {
$interpolateProvider.startSymbol('{[');
$interpolateProvider.endSymbol(']}');
}]);
app.run(function($rootScope, $http, $cookies) {
$http.defaults.headers.post['X-CSRFToken'] = $cookies.csrftoken;
});
@rfong
rfong / .osx_bashrc
Last active December 19, 2019 20:08
nonsensitive parts of my OSX bash profile
#!/bin/bash
### WHEREAMI
# Useful prompt
export PS1='$(whoami)@$(hostname):$(pwd)$ '
# Rename a tab
function title {
@rfong
rfong / models.py
Created August 4, 2015 23:58
django object manager
from django.db import models
from django.db.models import Q
class MyModelManager(models.Manager):
"""Define methods on MyModel.objects."""
def get_queryset(self):
return MyModelQuerySet(self.model)
def __getattr__(self, name, *args):
@rfong
rfong / portmanteau.py
Last active October 12, 2016 18:11
use this to generate portmanteaus, or maybe celebrity couple names for your friends
from optparse import OptionParser
import sys
vowels = 'aeiou'
def is_vowel(c):
return len(c) == 1 and c in vowels
def is_consonant(c):
@rfong
rfong / utilipy.py
Last active February 2, 2016 02:00
useful python stuff I lug around
import itertools
def printable_percent(numerator, denominator, precision=2):
"""Truncated readable percentage"""
return ('%.' + str(precision) + 'f') % (numerator * 100.0 / denominator)
def generate_all_binary_states(keys):
"""