Skip to content

Instantly share code, notes, and snippets.

Avatar
💣
New releases are coming soon!

chris mckenzie kristopolous

💣
New releases are coming soon!
View GitHub Profile
@kristopolous
kristopolous / simple-datepicker-react.js
Last active Jan 25, 2022
simple datepicker using Intl.DateTimeFormat
View simple-datepicker-react.js
// this is more a guide than working code.
constructor(props) {
super(props);
let minimum_age = 21;
this.endyear = (new Date().getYear() + 1900) - minimum_age;
this.state = {
dob_year: this.endyear,
dob_month: 0
@kristopolous
kristopolous / generate-words.py
Created Jan 5, 2022
No solution word search
View generate-words.py
#!/usr/bin/env python3
# Here's the prompt:
#
# Construct a "word search" N x M letter grid where:
#
# * There are NO possible words horizontal or vertical
# * The letters appear random with no trivial patterns
# * The frequency distribution of letters is close to English prose
#
# This is a naive implementation
@kristopolous
kristopolous / transp.py
Last active Sep 20, 2021
transposition die roll example
View transp.py
#!/usr/bin/env python3
import random
def encode(plain):
plain = list(plain)
cypher = ''
while len(plain) > 0:
# Roll a die, add 3 to the result
step = random.randint(4,9)
# start at the beginning of the remaining string
View gist:d3211dfb395bbb922fee14665dd941cb
#/bin/bash
# /etc/init.d/xdm: Login Procedure for Bob480
# Edited Sept-2001; Contact Author: cjm@ucdavis.edu
n=$1
n=$n"."
[ $n == "stop." ] && exit
moveon=0
set PATH="/bin:/usr/bin:/sbin"
View process.py
#!/usr/bin/python
import sys
import png
import os
import numpy as np
import json
import math
import time
import random
View gist:40943f2babfcaa6fdb48953192fb352b
#!/usr/bin/python
import sys
import png
from pprint import pprint
cx = 0
width = 4000
height = 4000
image = [ [ 0 for y in range ( width ) ] for x in range( height ) ]
View gist:7f607acf218db8339b2910a48a5e3bf9
import sys, math
width=14400
height=10800
image = [ [ 0 for y in range ( width ) ] for x in range( height ) ]
maxval = 7
delta_lng = .9
delta_lat = delta_lng * 28/40
lng_low = -118.8
lng_high = lng_low + delta_lng
@kristopolous
kristopolous / tcpdump-on-device.md
Created May 31, 2017
tcpdump on a device without disk space
View tcpdump-on-device.md

On the device to capture from we set up a FIFO that will be pushed off to another device on the network with disk, in this case we are using 192.168.1.11 as the "host"

On the host, we start up netcat that will be pushed into a capture file that we can analyze later, in this instance, we are listening on port 5001 $ nc -l -p 5001 > capture.cap

In a terminal on the device we make a fifo and then push it out over the network through netcat $ mknod /tmp/fifo p $ cat fifo | nc 192.168.1.11 5001

@kristopolous
kristopolous / simple-us-regex-phone-formatter
Created May 9, 2017
simple us regex phone formatter in JS
View simple-us-regex-phone-formatter
function phoneFormat(str) {
return str.replace(/[+1]*(\d{3})(\d{3})(.*)/, '1 ($1) $2-$3');
}
@kristopolous
kristopolous / Random selection from weighted set
Created Nov 22, 2016
An effecient random selector observing weighted sets
View Random selection from weighted set
(function(){
function verify(weights, chosen, trialCount) {
var variance = 0, ttl = chosen.length;
for(var ix = 0; ix < ttl; ix++) {
console.log(weights[ix], chosen[ix] / trialCount);
variance += Math.sqrt(Math.abs(Math.pow(weights[ix], 2) - Math.pow(chosen[ix] / trialCount, 2)));
}
console.log(variance / ttl);
}