Skip to content

Instantly share code, notes, and snippets.

New releases are coming soon!

chris mckenzie kristopolous

New releases are coming soon!
View GitHub Profile
View gist:d3211dfb395bbb922fee14665dd941cb
# /etc/init.d/xdm: Login Procedure for Bob480
# Edited Sept-2001; Contact Author:
[ $n == "stop." ] && exit
set PATH="/bin:/usr/bin:/sbin"
import sys
import png
import os
import numpy as np
import json
import math
import time
import random
View gist:40943f2babfcaa6fdb48953192fb352b
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
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 /
Created May 31, 2017
tcpdump on a device without disk space

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 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 5001

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 / Random selection from weighted set
Created Nov 22, 2016
An effecient random selector observing weighted sets
View Random selection from weighted set
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);
kristopolous /
Last active Jul 22, 2016
Getting Input to work in laravel5

Laravel 5 decided to remove the global Input class. What are the implications to existing code bases? As usual the answer is "eh who cares? fuck em."

How does a responsible adult deal with a bunch of finickey novelty-obsessed designers who change specs and pull the rug out from you every 6 months?

Unfortunately I have no general answer to this confounding and dumbfounding lack of even the most basic discipline, but in the case of Input I do!

Adding a backwards-compatible Input into your laravel5 project

This can be reliably achieved through middleware.

This probably isn't the "right" way of doing things, but if you are one of those dweebs advocating to break every thing every month then sorry, you don't get a seat at the table.

kristopolous / priority_queue.js
Created Mar 10, 2016
A Javascript Priority Queue based on Array
View priority_queue.js
var Priority = (function(){
function sort(pri) {
if(pri.dirty) {
var sorted = pri.sort(function(a, b) {
return 1000000 * (b.priority - a.priority) + 0.0001 * ( -;
pri.dirty = false;
pri.splice.apply([], [0, 0].concat(sorted));
kristopolous / hn_seach.js
Last active Mar 3, 2021
hn job query search
View hn_seach.js
function query() {
// HN is done with very unsemantic classes.
job_list ='.c5a,.cae,.c00,.c9c,.cdd,.c73,.c88')),
query_list =,
shown = 0, total = job_list.length;
// Traverses up the dom stack trying to find a match of a specific class
function up_to(node, klass) {
if (node.classList.contains(klass)) {