Skip to content

Instantly share code, notes, and snippets.

pipeline = [
{
"$match": {
"$and": query
}
},
{"$group": {"_id": "$user_id", "user_id": {"$sum": 1}}}
]
import socket
import threading
from StringIO import StringIO
import paramiko
HOST, PORT = 'localhost', 2222
HOSTKEY = """
-----BEGIN EC PRIVATE KEY-----
MHcCAQEEINnMNKzog0Cbnun+EKuFu4kcpc0iKJALw5LkC1E1x+9EoAoGCCqGSM49
AwEHoUQDQgAEt11fabDR77CPL/1OUfayQ/m3C1uRI/039pBmYagk4zQ4Mxwow6L6
import signal
import Queue
def handler(signum, frame):
q.put(None)
signal.signal(signal.SIGTERM, handler)
signal.signal(signal.SIGINT, handler)
q = Queue.Queue()
import signal
import Queue
def handler(signum, frame):
global shutdown
# Don't log here, not reentrant
shutdown = True
signal.signal(signal.SIGTERM, handler)
signal.signal(signal.SIGINT, handler)
@rectalogic
rectalogic / q.py
Last active December 11, 2015 17:55
import threading
import socket
import Queue
def accept():
s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
s.setsockopt(socket.SOL_SOCKET, socket.SO_REUSEADDR, 1)
s.bind(("", 65021))
s.listen(5)
s.accept()
@rectalogic
rectalogic / scale.py
Last active September 15, 2015 15:09
bounds_w = 100
bounds_h = 100
im_w, im_h = im.size
scales = (bounds_w / im_w, bounds_h / im_h)
if scale_type == "meet":
scale = min(scales)
elif scale_type == "fill":
scale = max(scales)
class Enum(object):
def __init__(self, **kwargs):
self._values = set()
for k, v in kwargs.items():
setattr(self, k, v)
self._values.add(v)
def validate(self, values):
return set(values).issubset(self._values)
from abc import ABCMeta
class ListLike:
__metaclass__ = ABCMeta
ListLike.register(list)
ListLike.register(tuple)
ListLike.register(_FieldSequence)
>>> isinstance([], ListLike)
struct tm time;
strptime("1934-11-02T10:45:11", "%FT%T%z", &time);
long ts = timegm(&time);
NSDate *d = [NSDate dateWithTimeIntervalSince1970:ts];
NSLog(@"%@", d);
@rectalogic
rectalogic / results
Last active August 29, 2015 14:10
limit sort
[aw@jello tmp] $ python sort-slice.py
45920256
[aw@jello tmp] $ python sort-heapq.py
5808128