Skip to content

Instantly share code, notes, and snippets.

View benbuckman's full-sized avatar

Ben Buckman benbuckman

View GitHub Profile
@benbuckman
benbuckman / intercept-stdout.js
Created May 20, 2012 15:42 — forked from pguillory/gist:729616
Hooking into Node.js stdout, pipe stdout to telnet
var _ = require('underscore'),
util = require('util');
// intercept stdout, passes thru callback
// also pass console.error thru stdout so it goes to callback too
// (stdout.write and stderr.write are both refs to the same stream.write function)
// returns an unhook() function, call when done intercepting
module.exports = function interceptStdout(callback) {
var old_stdout_write = process.stdout.write,
old_console_error = console.error;
@benbuckman
benbuckman / remove-unwanted-networks.sh
Created June 5, 2023 15:48
MacOS Remove unwanted preferred wifi networks
networksetup -listpreferredwirelessnetworks en0 | tail -n +2 | awk '{$1=$1};1' > ./wifi-networks-all.txt
cp ./wifi-networks-all.txt ./wifi-networks-keep.txt
# ... manually remove networks we DON'T want from wifi-networks-keep.txt ...
grep -Fvxf ./wifi-networks-keep.txt ./wifi-networks-all.txt > ./wifi-networks-remove.txt
networksetup -listallhardwareports
# ^ find wifi - probably `en0`
<?php
// force download of CSV
// simulate file handle w/ php://output, direct to output (from http://www.php.net/manual/en/function.fputcsv.php#72428)
// (could alternately write to memory handle & read from stream, this seems more direct)
// headers from http://us3.php.net/manual/en/function.readfile.php
header('Content-Description: File Transfer');
header('Content-Type: application/csv');
header("Content-Disposition: attachment; filename=FILENAME.csv");
header('Cache-Control: must-revalidate, post-check=0, pre-check=0');
@benbuckman
benbuckman / elevators.js
Created July 20, 2012 13:48
Elevator dispatch algorithm in javascript
/*
Elevator algorithm
by Ben Buckman, for a job interview process 7/18/12
*/
// == INSTRUCTIONS ==
// Iterate through the elevators list and return the elevator that is:
// closest, AND
// moving in the right direction (or idle),
// - [ben] this could mean 2 things:
@benbuckman
benbuckman / ca10-results.rb
Last active November 11, 2018 23:11
CA-10 vote tally watcher (Nov 2018, Josh Harder vs Jeff Denham)
#! /usr/bin/env ruby
require 'net/http'
require 'json'
# Periodically check the vote tallies in CA-10
# (Nov 2018 midterms, Jash Harder vs Jeff Denham)
class CA10Checker
URL = 'https://api.sos.ca.gov/returns/us-rep/district/10'
@benbuckman
benbuckman / logged-bash-script-example.sh
Created July 29, 2013 06:10
tee stdout to log inside bash script
#! /bin/bash
# concept from http://stackoverflow.com/a/3403786/267224
#############
# log to file
LOGFILE=/home/user/log/script.log
exec > >(tee -a $LOGFILE)
exec 2>&1
############
@benbuckman
benbuckman / pig-latin.js
Created July 20, 2012 13:45
Pig Latin Interpreter in javascript/node.js
/*
Pig Latin interpreter
by Ben Buckman, July 20 2012
Rules:
- All words beginning with a consonant have their first letter moved to the end of word followed by 'ay'.
Example: Hello -> Ellohay
- All words beginning with a vowel have their first letter moved to the end moved to the word followed by 'hay'.
Example: Another -> Notherahay
@benbuckman
benbuckman / 1-process-uncaughtException.js
Last active December 22, 2015 11:19
Catching uncaught exceptions with node v0.10.13
// this catches the error (good) but still crashes (bad)
// was process.uncaughtException already deprecated?
// (shouldn't have been yet - http://nodejs.org/api/process.html#process_event_uncaughtexception)
process.on('uncaughtException', function(error) {
return console.error("CAUGHT uncaughtException", error);
});
throw new Error("A big error!");
@benbuckman
benbuckman / 1--messed-up-scope.coffee
Last active December 21, 2015 04:39
Surprising scoping confusion with coffeescript constructors
_ = require 'lodash'
class CrazyParentView
events:
'mousedown .thing': ->
class CrazyChildView extends CrazyParentView
constructor: ->
@benbuckman
benbuckman / results-docusign-sentinel.log
Last active December 16, 2015 17:19
Testing/understanding various node.js redis-sentinel implementations
Using test hash test-sentinel-662038
sentinel client [no role] [no port] got 'end' { '0': undefined, '1': undefined, '2': undefined, '3': undefined }
sentinel client [no role] [no port] got 'connect' {}
sentinel client master 5379 got 'ready' {}
---- knock 1 ----
1 Set? true
1 check integrity: all good
---- knock 2 ----
2 Set? true
2 check integrity: all good