Skip to content

Instantly share code, notes, and snippets.

View mrkschan's full-sized avatar
😀

KS Chan mrkschan

😀
View GitHub Profile
@mrkschan
mrkschan / collision.py
Last active February 2, 2022 12:38 — forked from zadam/collision.py
Calculate birthday paradox (chance of collision) for very large numbers
#!/usr/bin/python3
# This is used for calculating of birthday paradox for large values
# We're using approximation explained here: http://preshing.com/20110504/hash-collision-probabilities/
# Beware that approximation isn't very precise at smaller params N and K, but gets more precise with large numbers
# see https://docs.python.org/3/library/decimal.html#module-decimal
from decimal import *
# setting decimal precision
python3 -c 'import math; yr=3; rate=1.75; print(math.exp(math.log(rate)/yr))'
docker run -e HOME -e AWS_ACCESS_KEY_ID -e AWS_SECRET_ACCESS_KEY -e SSH_AUTH_SOCK -v /tmp:/tmp -v "/run/user/$UID":"/run/user/$UID" -v "$HOME":"$HOME" -w "$(pwd)" --rm -i -t <image> <command>
@mrkschan
mrkschan / fcgi.py
Last active February 5, 2021 04:27
fastcgi client in python
'''
Modified from https://github.com/wuyunfeng/Python-FastCGI-Client
'''
from urlparse import urlparse as parse_url
import random
import socket
import sys
@mrkschan
mrkschan / Dockerfile
Last active December 6, 2018 03:06
docker build -t sandpit:stretch
FROM debian:stretch
RUN set -ex; \
apt-get update; \
apt-get install -y --no-install-recommends \
build-essential \
curl \
python-pip python-setuptools python-virtualenv \
; \
rm -rf /var/lib/apt/lists/*
@mrkschan
mrkschan / timedlock.go
Created November 5, 2018 03:48
Self expirying lock in golang
package main
import (
"fmt"
"sync"
"time"
)
type TimedLock struct {
mutex chan (uint)
@mrkschan
mrkschan / httpecho.py
Last active September 15, 2022 09:33
import http.server
import socketserver
PORT = 8080
class H(http.server.SimpleHTTPRequestHandler):
def do_GET(self):
self.send_response(200)
self.end_headers()
@caseywatts
caseywatts / 0 push to talk.md
Last active September 21, 2023 13:55
Push To Talk - Google Meet Bookmarklet

Short link to this page: http://caseywatts.com/ptt

Other gists & tricks: http://caseywatts.com/gists-and-tricks

Unrelated update: my book is out! Debugging Your Brain is an applied psychology / self-help book

Push To Talk in a Google Hangout (Meet)

  1. Save this bookmarklet. Right-click on boomarks toolbar Add Page...
  • Name: PTT (push to talk) or whatever you'd like (maybe short so it stays on your bookmarks toolbar)
@mrkschan
mrkschan / curld
Last active April 22, 2020 03:29
curl -v -k -s -o /dev/null -w 'remote_ip=%{remote_ip}, total=%{time_total}, dns=%{time_namelookup}, connect=%{time_connect}, appconnect=%{time_appconnect}, pretransfer=%{time_pretransfer}, redirect: %{time_redirect}, starttransfer: %{time_starttransfer}'
@brablc
brablc / postfix_grok_pattern
Last active September 27, 2020 20:10
Logstash example configuration for parsing Postfix mail log files
# Postfix stuff based on https://gist.github.com/jbrownsc/4694374:
QUEUEID (?:[A-F0-9]+|NOQUEUE)
EMAILADDRESSPART [a-zA-Z0-9_.+-=:]+
EMAILADDRESS %{EMAILADDRESSPART:local}@%{EMAILADDRESSPART:remote}
RELAY (?:%{HOSTNAME:relayhost}(?:\[%{IP:relayip}\](?::[0-9]+(.[0-9]+)?)?)?)
POSREAL [0-9]+(.[0-9]+)?
DELAYS (%{POSREAL}[/]*)+
DSN %{NONNEGINT}.%{NONNEGINT}.%{NONNEGINT}
STATUS sent|deferred|bounced|expired