Skip to content

Instantly share code, notes, and snippets.

View jroyalty's full-sized avatar

James Royalty jroyalty

View GitHub Profile
@jroyalty
jroyalty / frugal.py
Created June 2, 2016 20:26
Python implemention of frugal streaming algorithms for estimating quantiles. See: http://arxiv.org/abs/1407.1121
class frugal1_estimator(object):
def __init__(self, qtile):
self.qtile_target = qtile
self.m = 0.0
def add(self, new_data):
r = random.random()
if new_data > self.m and r > (1.0 - self.qtile_target):
self.m += 1
elif new_data < self.m and r > self.qtile_target:
@jroyalty
jroyalty / nfqlistener.py
Created December 28, 2016 20:14
Twisted listener for NFQ
import logging
import socket
from twisted.internet import abstract, address, interfaces, defer
from zope.interface import implementer
try:
import netfilterqueue
except:
netfilterqueue = None
@jroyalty
jroyalty / CMakeLists.txt
Created May 5, 2017 04:23
Little CMake config for LMDB
# vim: set ai ts=4 expandtab:
# ::=========================================================================::
cmake_minimum_required(VERSION 3.5 FATAL_ERROR)
# The following must be set BEFORE doing project() or enable_language().
if (NOT CMAKE_BUILD_TYPE)
message(STATUS "No build type defined; defaulting to 'Debug'")
set(CMAKE_BUILD_TYPE "Debug" CACHE STRING
"The type of build. Possible values are: Debug, Release, RelWithDebInfo and MinSizeRel.")
@jroyalty
jroyalty / one_pass_wrs.py
Last active August 16, 2019 20:18
One-pass weighted random sample (without replacement). Based on *Weighted Random Sampling* (2005; Efraimidis, Spirakis) [https://utopia.duth.gr/~pefraimi/research/data/2007EncOfAlg.pdf]. Longer treatment here: https://krlmlr.github.io/wrswoR/articles/internal/wrswoR.html
import math
import random
class Item(object):
def __init__(self, label, weight):
self.label = label
self.weight = weight
self.nonce = 0.0