Skip to content

Instantly share code, notes, and snippets.

@kylegibson
kylegibson / dynupdate.sh
Created Oct 9, 2011
Simple bash script to update a dyndns host entry
View dynupdate.sh
#!/bin/bash
HOST=foo.example.com
USER=
PASS=
IPADDR=$(wget -q -O - checkip.dyndns.org|sed -e 's/.*Current IP Address: //' -e 's/<.*$//')
RESULT=$(wget -q -O- "https://$USER:$PASS@members.dyndns.org/nic/update?hostname=$HOST&myip=$IPADDR&wildcard=NOCHG&mx=NOCHG&backmx=NOCHG")
View profile_each_line.py
from decorator import decorator
from line_profiler import LineProfiler
@decorator
def profile_each_line(func, *args, **kwargs):
profiler = LineProfiler()
profiled_func = profiler(func)
try:
profiled_func(*args, **kwargs)
finally:
@kylegibson
kylegibson / queue.py
Created Jul 5, 2020
Distributed Memcache Linked List (Queue)
View queue.py
from contextlib import contextmanager
# cache = ...
class DistributedLinkedList(object):
def __init__(self, cache_key_name, cache_timeout=86400):
self.cache_key_name = cache_key_name
self.cache_timeout = cache_timeout
self.head_key_ref = f'distributed-list-{cache_key_name}-head'
self.tail_key_ref = f'distributed-list-{cache_key_name}-tail'
View max_tree_height_iterative.py
from bs4 import BeautifulSoup
def max_tree_height(html):
'''
Calculate the number of HTML tag levels, iteratively
>>> max_tree_height('')
0
>>> max_tree_height('<div></div>')
@kylegibson
kylegibson / capitalone.user.js
Last active Oct 13, 2016
Parse transactions in capitalone and print into console
View capitalone.user.js
// ==UserScript==
// @name capitalone
// @namespace kyle
// @require http://ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.min.js
// @include https://servicing.capitalone.com/*
// @grant none
// ==/UserScript==
//
$(function() {
View xbmc-duplicate-rar-media-fixer.py
from urllib2 import quote, unquote
import sqlite3
def fix_the_things(name):
name = name[6:]
name = quote(unquote(name), '-_.!()')
name = name.replace('.rar%2F', '.rar/')
bits = name.split('%')
res = [bits[0]]
View ignore_moves.py
#!/usr/bin/env python
"""
ignore_moves.py v0.2
Filter relocated lines from a unified diff format stream.
Offered under the terms of the MIT License at github.com
Taken from http://stackoverflow.com/questions/1380333/
"""
import sys
from optparse import OptionParser
@kylegibson
kylegibson / setup_slave.sh
Last active Oct 11, 2015 — forked from jlward/setup_slave.sh
Configure Jenkin slave
View setup_slave.sh
#!/bin/sh
main() {
configure_ssh_known_hosts
configure_mysql_ram_disk
configure_idle_tracking
}
configure_ssh_known_hosts() {
echo configuring ssh known hosts
@kylegibson
kylegibson / gist:3437984
Created Aug 23, 2012
facebook-like selection style
View gist:3437984
%form.form-horizontal{method:'post'}
%fieldset
%legend Select Users to Assign
.control-group
%label.control-label
These users or groups
.controls
.tokenizer
.tokenarea
%span.label.label-info.removeable.token{title:'Yippie'}
View gist:3375720
import pyev
class FiveSecondTimer(object):
def __init__(self, data):
self.data = data
def __call__(self, watch, revents):
print 'foo', data
loop = pyev.default_loop()