Skip to content

Instantly share code, notes, and snippets.

View cmmartin's full-sized avatar

Charlie Martin cmmartin

  • Founderpath
  • Brooklyn, NY
View GitHub Profile
@cmmartin
cmmartin / pullall
Created March 13, 2014 21:41 — forked from oztune/pullall
#!/bin/bash
for file in *
do
if [ -d $file ]
then
cd $file
echo Pulling `pwd` `git branch 2>/dev/null | grep -e '^*' | sed -E 's/^\* (.+)$/(\1) /'`
git pull
cd ../
@cmmartin
cmmartin / cm-mixins.js
Last active August 29, 2015 14:13
My collection of Underscore.js mixins
_.mixin({
// _.contains for strings with optional case sensitivity
hasSubstring: function (stringA, stringB, caseSensitive) {
if (caseSensitive) return stringA.indexOf(stringB) >= 0;
return stringA.toLowerCase().indexOf(stringB.toLowerCase()) >= 0;
},
// Get the difference between two arrays - shallow only
diffArrays: function (a, b) {
@cmmartin
cmmartin / upgrade-node.sh
Created April 7, 2015 19:50
Upgrade node.js using n
#!/bin/bash
# Updates your version of node.js using the version control system "n"
# @param a version (default is latest stable)
# https://github.com/tj/n
sudo npm cache clean -f
sudo npm install -g n
version=`node -v`
@cmmartin
cmmartin / cover-image.css
Last active August 29, 2015 14:23
CSS background image cover
background: url('https://placeholdit.imgix.net/~text?txtsize=72&txt=background%20image&w=1020&h=860') no-repeat center center fixed;
-webkit-background-size: cover;
-moz-background-size: cover;
-o-background-size: cover;
background-size: cover;
@cmmartin
cmmartin / stream-view.js
Last active August 29, 2015 14:27
An example of streaming html to the browser in ES2015
// An example of streaming html to the browser in ES2015
// inspired by https://github.com/koajs/examples/tree/master/stream-view
// *** Usage ***
// const app = koa()
// app.use(function* () {
// this.type = 'html'
// this.body = new StreamView(this)
// })
// app.listen(3000)
@cmmartin
cmmartin / server.js
Last active August 29, 2015 14:27
Streaming server middleware
import koa from 'koa'
import router from 'koa-route'
import streamView from './stream-view'
const app = koa()
const toJS = str => JSON.parse(str)
const toJSON = js => JSON.stringify(js)
// stream an html page with asynchronous data
app.use(router.get('/html/:title', streamView('html', function* (title) {
@cmmartin
cmmartin / .bash_profile
Created October 5, 2015 21:43
Never accidentally commit console.log again
gitadd() {
git diff | grep "console.log" || git add $1
}
@cmmartin
cmmartin / dokku_deploy.sh
Created October 19, 2015 17:14
A simple script for deploying to various dokku instances
#!/bin/bash
readonly user="my_dokku_username"
readonly host="my_hostname"
readonly targets=(
# git branch | project name | virtual host
# list your dokku instances here...
)
# execute from the project root
@cmmartin
cmmartin / BufferStream.js
Last active November 17, 2015 05:54
Convert a stream to a Buffer in Node.js
import { Writable } from 'stream'
/**
* Create a Buffer from a stream (warning: loads all chunks into memory)
* Usage: myStream.pipe(new BufferStream(buffer => {}, err => {}))
*/
export default class BufferStream extends Writable {
data = []
@cmmartin
cmmartin / MusicalNotes.swift
Created December 11, 2015 04:23
Musical notes mapped to their frequencies in Hz
let musicalNotes = [
// name + octave: frequency (Hz)
"C0": 16.35,
"C#0": 17.32,
"D0": 18.35,
"D#0": 19.45,
"E0": 20.60,
"F0": 21.83,
"F#0": 23.12,
"G0": 24.50,