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 / moment-filter.js
Last active July 31, 2019 09:01
A generic Moment.js date filter for Angular.js
// REQUIRES:
// moment.js - http://momentjs.com/
// USAGE:
// {{ someDate | moment: [any moment function] : [param1] : [param2] : [param n]
// EXAMPLES:
// {{ someDate | moment: 'format': 'MMM DD, YYYY' }}
// {{ someDate | moment: 'fromNow' }}
@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 / javascript-lies.js
Last active May 7, 2021 05:24
Javascript lies
null + null === 0 // true
[] + [] === '' // true
null + 1 === 1 // true
isNaN(null) // false
NaN === NaN // false
@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