Skip to content

Instantly share code, notes, and snippets.

Avatar

Kyle Gibson kylegibson

View GitHub Profile
@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>')
View faked-list-scenarios.txt
## 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 Mar 5, 2015
Fermat near miss finder
View fermat.c
/*
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 Jul 31, 2014
Unicode issue with urllib quote and unquote
View urllib_quote_qunicode.py
from urllib import unquote, quote
a = u'\u2022'
print a
b = a.encode('utf-8')
print b
c = quote(b)
print c
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 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:
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'}
You can’t perform that action at this time.