Skip to content

Instantly share code, notes, and snippets.

View mtrbean's full-sized avatar

Eric Wong mtrbean

  • San Francisco, CA
View GitHub Profile
@mtrbean
mtrbean / uuid.php
Last active August 29, 2015 14:14
PHP UUID v4
function UUIDv4()
{
$data = openssl_random_pseudo_bytes(16);
$data[6] = chr(ord($data[6]) & 0x0f | 0x40); // set version to 0100
$data[8] = chr(ord($data[8]) & 0x3f | 0x80); // set bits 6-7 to 10
return vsprintf('%s%s-%s-%s-%s-%s%s%s', str_split(bin2hex($data), 4));
}
@mtrbean
mtrbean / hdi.py
Created March 16, 2015 18:15
Highest Density Interval
def hdi(frozen_dist, alpha=0.05, **args):
""" Highest density interval for a unimodel distribution """
# freeze distribution with given arguments
def interval_width(hdi_pt_l):
return frozen_dist.ppf(alpha + hdi_pt_l) - frozen_dist.ppf(hdi_pt_l)
# find hdi_pt_l that minimizes interval_width
hdi_pt_l = fmin(interval_width, 1-alpha, ftol=1e-8, disp=False)[0]
# return interval as array([low, high])
return frozen_dist.ppf([hdi_pt_l, alpha + hdi_pt_l])
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<style>
body{
font-family: sans;
padding: 10px;
}
svg path{
@mtrbean
mtrbean / mysql_date_trunc
Last active February 2, 2021 21:18
MySQL date_trunc equivalent
DATE_TRUNC('week', now()) === STR_TO_DATE(CONCAT(YEARWEEK(now(), 2), ' Sunday'), '%X%V %W')
DATE_TRUNC('month', now()) === DATE_FORMAT(now(), '%Y-%m-01')
@mtrbean
mtrbean / tfn.py
Last active August 29, 2015 14:25
Owen's T function
def tfn(x, fx):
"""
TFN calculates the T-function of Owen.
Adapted from http://people.sc.fsu.edu/~jburkardt/c_src/asa076/asa076.html
Author:
Original FORTRAN77 version by JC Young, Christoph Minder.
C version by John Burkardt.
@mtrbean
mtrbean / cdfplot.py
Created March 24, 2016 05:50
CDF Plot
import numpy as np
from pylab import plot
def cdfplot(data=None, show_plot=True):
n_bins = len(unique(data))
counts, bin_edges = np.histogram(data, n_bins, normed=True)
ecdf = np.cumsum(counts)
ecdf = ecdf/ecdf.max()
if show_plot:
plot(bin_edges[1:],ecdf)