Skip to content

Instantly share code, notes, and snippets.

@mmaelzer
mmaelzer / gist:92570feecd925d8eb827
Created September 23, 2014 19:51
Logging on an object's methods
var protos = Object.getPrototypeOf(this);
Object.keys(protos).forEach(function(key) {
if (typeof this[key] === 'function' && key !== 'constructor') {
var fn = this[key];
this[key] = function() {
var name = this.name ? this.name + '.' : '';
var identity = name + key;
console.time(identity);
var ret = fn.apply(this, arguments);
console.timeEnd(identity);
@mmaelzer
mmaelzer / keybase.md
Created September 24, 2014 05:04
keybase.md

Keybase proof

I hereby claim:

  • I am mmaelzer on github.
  • I am mmaelzer (https://keybase.io/mmaelzer) on keybase.
  • I have a public key whose fingerprint is 9936 1A28 13D1 8F50 0B07 3659 5817 EAB8 2585 81F4

To claim this, I am signing this object:

@mmaelzer
mmaelzer / gist:39bc2cacaf5f3ee50a23
Created March 5, 2015 21:48
mjpeg-camera + socket.io
var MjpegCamera = require('mjpeg-camera');
var WriteStream = require('stream').Writable;
var app = require('express')();
var http = require('http').Server(app);
var io = require('socket.io')(http);
var camera = new MjpegCamera({
user: 'username',
password: 'password',
url: 'http://camera-ip-address',
import csv
import json
import sys
jsonfile = open(sys.argv[2], 'w')
with open(sys.argv[1]) as csv_file:
reader = csv.DictReader(csv_file)
for row in reader:
json.dump(row, jsonfile)
#!/usr/bin/env python
from datetime import datetime
import os
from os import path, walk
import shutil
import sys
import time
if len(sys.argv) < 3:
print 'Usage: filesort.py [src] [dest]'
@mmaelzer
mmaelzer / resume
Created June 25, 2015 20:35
mike maelzer's resume
Mike Maelzer
============================================================
+ email: mmaelzer@gmail.com
+ website: [mikemaelzer.com](http://mikemaelzer.com)
+ phone: 865.310.1793
+ github: mmaelzer
Experience
------------------------------------------------------------
@mmaelzer
mmaelzer / benchmark.txt
Last active November 5, 2015 17:23
node.js vs go on deserlizing/serializing 1k json
~/code/http-bench
// go GOMAXPROCS=1 go run webserver.go
// go 1.5
❯ wrk -d10s -t10 -spost_json.lua http://127.0.0.1:8080
Running 10s test @ http://127.0.0.1:8080
10 threads and 10 connections
Thread Stats Avg Stdev Max +/- Stdev
Latency 2.35ms 8.83ms 141.01ms 98.36%
Req/Sec 737.67 232.61 6.24k 90.63%
73018 requests in 10.10s, 84.75MB read
@mmaelzer
mmaelzer / go_node_json_bench.md
Last active November 22, 2015 04:46
go vs node with 20k of json

Setup

http-bench

$ git clone git@github.com/mmaelzer/http-bench

wrk (on mac)

$ brew install wrk
@mmaelzer
mmaelzer / gist:5945996
Created July 8, 2013 03:18
jQuery - get percentage scrolled from top/bottom
$.fn.percentScrolledTop = function() {
var vals = [];
this.each(function() {
vals.push(+($(this).scrollTop() / this.scrollHeight));
});
return vals.length === 1 ? vals[0] : vals;
};
$.fn.percentScrolledBottom = function() {
var vals = [];
@mmaelzer
mmaelzer / gist:8e6eda9bd9750921bb01
Created June 24, 2015 04:18
mjpeg-camera + socket.io
/** =========================== SERVER =================================== */
var io = require('socket.io')(server);
var MjpegCamera = require('mjpeg-camera');
server.listen(3000);
// Create an MjpegCamera instance
var camera = new MjpegCamera({
name: 'backdoor',
url: 'http://192.168.7.1/video'