Skip to content

Instantly share code, notes, and snippets.

View kylegibson's full-sized avatar

Kyle Gibson kylegibson

View GitHub Profile
@kylegibson
kylegibson / queue.py
Created July 5, 2020 22:11
Distributed Memcache Linked List (Queue)
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'
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 / faked-list-scenarios.txt
Created May 14, 2015 21:49
Faked-list scenarios
## Nested lists using tabs:
1. FOO
2. FOO
[tab]a. FOO
[tab]b. FOO
[tab][tab]i. FOO
[tab][tab]ii. FOO
3. FOO
4. FOO
@kylegibson
kylegibson / fermat.c
Created March 5, 2015 17:38
Fermat near miss finder
/*
Fermat Near-Miss Finder
Written by David X. Cohen
February 3, 1998, 3:24 AM.
This program generated the equation:
3987^12 + 4365^12 = 4472^12
@kylegibson
kylegibson / urllib_quote_qunicode.py
Created July 31, 2014 16:17
Unicode issue with urllib quote and unquote
from urllib import unquote, quote
a = u'\u2022'
print a
b = a.encode('utf-8')
print b
c = quote(b)
print c
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]]
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:
#!/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 October 11, 2015 12:28 — forked from jlward/setup_slave.sh
Configure Jenkin slave
#!/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 August 23, 2012 16:00
facebook-like selection style
%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'}