Skip to content

Instantly share code, notes, and snippets.

View karanlyons's full-sized avatar

Karan Lyons karanlyons

View GitHub Profile
@karanlyons
karanlyons / keybase.md
Created March 13, 2015 02:59
Keybase Proof

Keybase proof

I hereby claim:

  • I am karanlyons on github.
  • I am karanlyons (https://keybase.io/karanlyons) on keybase.
  • I have a public key whose fingerprint is 58E3 3A33 462A 60BC AB6E 8E86 69B3 9688 5CB5 219B

To claim this, I am signing this object:

@karanlyons
karanlyons / partial_object.py
Last active August 29, 2015 14:18
PartialObject (as functools.partial is to functions)
#!/usr/bin/env python2.7
# -*- coding: utf-8 -*-
from __future__ import division, absolute_import, print_function, unicode_literals
import inspect
from collections import OrderedDict
class PartialManager(type):
@karanlyons
karanlyons / duct.py
Created May 28, 2012 15:47
duct(): Almost like dict(), but worse.
#!/usr/bin/env python
# -*- coding: utf-8 -*-
import copy
class _DuctView(object):
"""
*Almost* like `DictView`, but worse.
"""
@karanlyons
karanlyons / gevent_fib.py
Created June 4, 2012 14:52
Node vs. Gevent (Sync and Async)
#!/usr/bin/env python
# encoding: utf-8
# $ brew install libev
# $ pip install http://gevent.googlecode.com/files/gevent-1.0b2.tar.gz
# $ chmod +x ./gevent_fib.py
# $ ./gevent_fib.py
import time
@karanlyons
karanlyons / thesaurus.py
Last active December 14, 2015 03:09
For when a dictionary is too boring.
#!/usr/bin/env python2.7
# -*- coding: utf-8 -*-
from decimal import Decimal
from difflib import get_close_matches
class Thesaurus(dict):
'''
For when a dictionary is too boring.
@karanlyons
karanlyons / stupid_django_search.py
Last active December 24, 2015 13:09
Because setting up haystack would just be silly.
# -*- coding: utf-8 -*-
from __future__ import division, absolute_import, print_function, unicode_literals
import operator
from django.contrib.admin.util import lookup_needs_distinct
from django.contrib import admin
from django.db.models import Q
#!/usr/bin/env python2.7
# -*- coding: utf-8 -*-
from __future__ import division, absolute_import, print_function, unicode_literals
from copy import deepcopy
from django.db import models
#!/usr/bin/env python2.7
# -*- coding: utf-8 -*-
from __future__ import division, absolute_import, print_function, unicode_literals
from contextlib import contextmanager
from os import getpid
from random import getrandbits
@karanlyons
karanlyons / tail_call_decorator.py
Last active May 29, 2016 10:40
Tail Call Decorator for Python
#!/usr/bin/env python
# -*- coding: utf-8 -*-
try:
from sys import _getframe
except ImportError:
import sys
try:
@karanlyons
karanlyons / sha512.cpp
Created July 4, 2017 08:35
SHA-512 in C“++”
#include <algorithm>
#include <cstdint>
#include <cstdio>
#include <cstring>
using namespace std;
const uint64_t k[] = {
UINT64_C(0x428a2f98d728ae22), UINT64_C(0x7137449123ef65cd), UINT64_C(0xb5c0fbcfec4d3b2f), UINT64_C(0xe9b5dba58189dbbc),