Skip to content

Instantly share code, notes, and snippets.

View aaronmccall's full-sized avatar

Aaron McCall aaronmccall

  • METER Group, Inc. USA
  • Kennewick, WA
View GitHub Profile
@aaronmccall
aaronmccall / findWhere.js
Created March 24, 2014 23:19
Simple implementation of findWhere
// returns first matching list member
function findWhere(list, props) {
var idx = 0;
var len = list.length;
var match = false;
var item, item_k, item_v, prop_k, prop_val;
for (; idx<len; idx++) {
item = list[idx];
for (prop_k in props) {
// If props doesn't own the property, skip it.
@aaronmccall
aaronmccall / update_package.sh
Last active August 29, 2015 13:57
bash script to npm i --save-exact an npm package/module in every repo in a directory
#!/bin/bash
if [ $# -lt 2 ]; then
echo "Usage: update_package <directory> <package> [optional: <version>]"
exit 1
fi
if [ "$3" ]; then
version=$3
else
@aaronmccall
aaronmccall / repo_status.sh
Last active August 29, 2015 13:57
bash script to show git changed/new status of repos in a directory
#!/bin/bash
reset=$(tput sgr0)
green=$(tput setaf 2)
cyan=$(tput setaf 6)
magenta=$(tput setaf 5)
bold=$(tput bold)
for arg in $( ls | egrep '^dsm-' ); do
(
cd "$arg"
if [ -e "./package.json" ]; then
@aaronmccall
aaronmccall / datepicker.html
Created September 22, 2014 17:24
init jquery ui widget on first click
<input class="addDatepicker" name="date">
@aaronmccall
aaronmccall / readme.md
Last active August 29, 2015 14:07
Script to see what top-level packages are outdated and then update them

Install

  1. Save the script below as update-outdated in your path.
  2. run chmod +x /path/to/update-outdated
  3. run update-outdated from the root of your project
  4. if you'd like to auto-update and save updated versions to your package.json, run again like so update-outdated -f
@aaronmccall
aaronmccall / debug.js
Last active August 29, 2015 14:13
some useful &.js debugging utils
var each = require('amp-each');
var isFunction = require('amp-is-function');
function debugMethods(prototype, handler) {
each(prototype, function (prop, name) {
if (isFunction(handler)) return handler(prop, name);
if (isFunction(prop)) {
prototype[name] = addLogger(prop, name);
}
});
// How to create a setTimeout-based incrementer that is self-calling
(function() {
var i = 0;
function incrementer(undefined) {
if (i !== undefined && i < 10) {
i++;
console.log('i is %s', i);
setTimeout(incrementer, 500);
}
}
@aaronmccall
aaronmccall / zippy.html
Created November 12, 2011 02:39
One approach to reducing data over the wire...
<!DOCTYPE html>
<html>
<head>
<title>Zippy Test</title>
<script type="text/javascript" src="zippy.js"></script>
<script type="text/javascript">
console.profile();
var kv_str = 'foo,bar,baz|1,2,3,4,5,6,7,8,9',
zippy_list = string_to_zippy(kv_str, true),
zippy_json = JSON.stringify(zippy_list);
@aaronmccall
aaronmccall / most_used_commands.txt
Created December 31, 2011 19:43
My most popular shell commands
history|awk '{print $2}'|awk 'BEGIN {FS="|"} {print $1}'|sort|uniq -c|sort -r
95 node
82 git
37 ./manage.py
35 ls
35 cd
25 pip
22 jshint
18 brew
@aaronmccall
aaronmccall / README.md
Created January 4, 2012 00:54
Convention-based nginx+django dev environment bootstrapping for Mac OS

Conventions

dev_env.sh

  • Groks nginx installed via MacPorts or Homebrew (/opt/local or /usr/local)
  • Follows the Ubuntu sites-available/sites-enabled convention

runserver.sh

  • Expects top-level project folders to exist in ~/Sites