Skip to content

Instantly share code, notes, and snippets.

from drizzle import libdrizzle as _libdrizzle
libdrizzle = _libdrizzle.Drizzle()
def connect(*args, **kwargs):
connection = Connection(*args, **kwargs)
connection._connect()
return connection
class Connection:
@chromakode
chromakode / karmabot.py
Created November 8, 2009 00:41
IRC bot to keep track of descriptions of words and their karma.
import sys
import random
import re
import time
from twisted.words.protocols import irc
from twisted.internet import reactor, protocol, ssl
from twisted.python import log
try:
@chromakode
chromakode / skirmish.py
Created May 8, 2009 19:30
IMCS wrapper script -- incomplete
import sys
import os.path
import socket
import subprocess
from urlparse import urlparse, ParseResult
from optparse import OptionParser
BUF_SIZE = 1024
DEFAULT_IMCS_PORT = 3589
VERBOSE = False
@chromakode
chromakode / IRCTriviaHelper.py
Created January 16, 2009 03:11
There's a running complaint in #reddittrivia that people are using Google to cheat, so here's a simple proof of concept using the Yahoo search API to even the playing field a little.
import re
import string
import readline
import textwrap
from yahoo.search.web import WebSearch
APP_ID = "IRCTriviaHelper"
def bullet(lines):
return ["\n".join(textwrap.wrap(line, 77, initial_indent=" - ", subsequent_indent=" ")) for line in lines]
@chromakode
chromakode / gist:42198
Created January 1, 2009 06:48
Storing IP addresses in a tree using a lightweight defaultdict implementation.
function defaultdict(default) {
this._default = default;
};
defaultdict.prototype = {
get: function(key) {
if (!key in this) { this[key] = this._default(key); }
return this[key];
}
}
@chromakode
chromakode / gist:4cbcc6da0418c0235b4a
Created December 3, 2014 01:29
jsio require preprocessor
var importExpr = /^(\s*)(import\s+[^=+*"'\r\n;\/]+|from\s+[^=+"'\r\n;\/]+)(;|\/|$)/gm;
function replaceImport(raw, p1, p2, p3) {
if (!/\/\//.test(p1)) {
return p1 + 'jsio(\'' + p2 + '\')' + p3;
}
return raw;
}
var requireExpr = /^(.*)require\(['"]([^=+*"'\r\n;]+)['"]\)(;|\/|$)/gm;
@chromakode
chromakode / gist:e6baee16d87cad494921
Created July 8, 2014 02:50
salt-ssh pillar data workaround
# salt-ssh doesn't support sending pillar data, so we have to embed it in the state files...
/etc/openvpn/server.key:
file.managed:
- contents: |
{{ pillar['openvpn']['server_key'] | indent(8) }}
- user: root
- group: root
- mode: 600