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
# The schema is versioned so that we can establish code paths differently in the future if we need to change this.
version: 1
# Templates are a small amount of information supporting a template URL. Each template is selectable at the project-creation step.
info:
# Unique machine name, prefaced by a vendor or organization identifier
id: Bearer/Pizzly
# The human-readable name of the template.
name: Pizzly
# Human-readable descriptive text for the template. Supports limited HTML.
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()
@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}'

Keybase proof

I hereby claim:

  • I am mrkschan on github.
  • I am mrkschan (https://keybase.io/mrkschan) on keybase.
  • I have a public key whose fingerprint is E55A 36A8 E3E5 CBD6 467F F8FC 8530 7567 FE26 5CC9

To claim this, I am signing this object: