Skip to content

Instantly share code, notes, and snippets.

View binarymax's full-sized avatar
👻
for(;1;){work();eat();rest();}

Max Irwin binarymax

👻
for(;1;){work();eat();rest();}
View GitHub Profile
@binarymax
binarymax / parseCIDRRange.js
Last active July 30, 2021 11:03
JavaScript function to parse a CIDR Range string into beginning and ending IPv4 Addresses
//MIT License
//Copyright (c) 2013, Max Irwin
//Parses a CIDR Range into beginning and ending IPv4 Addresses
//For example: '10.0.0.0/24'
//Returns ['10.0.0.0', '10.0.0.255']
var parseCIDR = function(CIDR) {
//Beginning IP address
var beg = CIDR.substr(CIDR,CIDR.indexOf('/'));
@binarymax
binarymax / elosim.js
Last active December 24, 2015 19:59
Elo rating simulation
/*********************************
*
* Elo Rating Simulation
* Copyright (c) 2013, Max Irwin
* MIT License
*
*********************************/
(function(){
var players = [];
/*
2D ARRAY
0 1 2 3 4 (x)
0 [ ][ ][ ][ ][ ]
1 [ ][ ][#][ ][ ]
2 [ ][ ][ ][ ][ ]
3 [ ][ ][ ][ ][ ]
4 [ ][ ][ ][ ][ ]
@binarymax
binarymax / CraftyChess.txt
Last active November 29, 2015 22:00
Compile Crafty Chess on Mac OSX
Compiling crafty chess on MacOS, you get the following error:
-------------------------------------------------------------
~/apps/crafty/crafty-23.4:$ make darwin
/Applications/Xcode.app/Contents/Developer/usr/bin/make target=FreeBSD \
CC=gcc CXX=g++ \
CFLAGS='-Wall -pipe -O3' \
CXFLAGS='-Wall -pipe -O3' \
LDFLAGS= \
LIBS='-lstdc++' \
opt='' \
@binarymax
binarymax / Bitmap.js
Last active January 22, 2025 13:42
Javascript bitmap data structure
//------------------------------------------
//Compact bitmap datastructure
//Memory efficient array of bool flags
var Bitmap = function(size){
this._cols = 8;
this._shift = 3;
this._rows = (size>>this._shift)+1;
this._buf = new ArrayBuffer(this._rows);
this._bin = new Uint8Array(this._buf);
};
@binarymax
binarymax / keybase.md
Created March 19, 2015 22:37
keybase.md

Keybase proof

I hereby claim:

  • I am binarymax on github.
  • I am binarymax (https://keybase.io/binarymax) on keybase.
  • I have a public key whose fingerprint is F29D 3138 8A07 0E93 3EB1 0FF6 3231 DE37 8B23 41B5

To claim this, I am signing this object:

@binarymax
binarymax / GUID.js
Created April 5, 2015 20:05
8 char GUID
//Easy 8 char Base-36 GUID
var GUID = function() {
var char = function(){return Math.floor(Math.random()*36).toString('36')};
return char() + char() + char() + ((new Date())-0).toString('36').substr(3);
};
@binarymax
binarymax / TheListServeSolution.js
Created April 29, 2015 18:10
Solution to The ListServe puzzle
((function(f){"use strict";var bdy=window.top.document.body;bdy.innerHTML="";bdy.style.backgroundRepeat="repeat";var c=document.createElement("canvas");var d=c.getContext('2d');var e="";c.width=f;c.height=f;var g=d.createImageData(f,f);var h=[f*f];var i=[];var j=function(z){var a=g.data;for(var x=0;x<f;x++){for(var y=0;y<f;y++){var b=(x+y*f)*4;a[b+0]=(h[b].r*z)%255;a[b+1]=(h[b].g*z)%255;a[b+2]=(h[b].b*z)%255;a[b+3]=255}}d.putImageData(g,0,0);e=c.toDataURL();i.push('url('+e+')')};var k=0,dir=1;var l=function(){bdy.style.backgroundImage=i[k];k+=dir;if(k===f)dir=-1;if(k===0)dir=1};for(var x=0;x<f;x++){for(var y=0;y<f;y++){var m=(x+y*f)*4;h[m]={r:parseInt((x^y)),g:parseInt((x|y)),b:parseInt((x&y))}}}for(var z=0;z<f;z++){j(z)}setInterval(l,200)})(300))
@binarymax
binarymax / hn2vec.js
Last active May 22, 2016 08:59
Parses news.ycombinator.com comment archive into word2vec digestable format.
#!/usr/bin/env node
var linestream = require('line-stream');
var htmldecode = require('htmldec');
var s = linestream();
var numbers = "zero,one,two,three,four,five,six,seven,eight,nine".split(',');
var reletter = /[a-z_]/i;
var renumber = /[0-9]/;
var reclose = /\<\/[^\>]+\>/g;
Starting training using file 10m.txt
Vocab size: 305432
Words in train file: 565170189
Alpha: 0.000045 Progress: 99.91% Words/thread/sec: 107.57k
real 174m19.955s
user 1315m35.661s
sys 3m27.011s
---------------------------