Skip to content

Instantly share code, notes, and snippets.

View gatspy's full-sized avatar

CG.gatspy gatspy

View GitHub Profile
@gatspy
gatspy / namedtuple.py
Created May 2, 2017 06:28 — forked from aliles/namedtuple.py
Implementation of collections.namedtuple without using exec.
"collections.namedtuple implementation without using exec."
from collections import OrderedDict
from keyword import iskeyword
from operator import itemgetter
import itertools
import sys
__all__ = ['NamedTuple', 'namedtuple']
@gatspy
gatspy / gist:a549ab5fd8729824929f938199872897
Created April 24, 2017 17:05 — forked from CristinaSolana/gist:1885435
Keeping a fork up to date

1. Clone your fork:

git clone [email protected]:YOUR-USERNAME/YOUR-FORKED-REPO.git

2. Add remote from original repository in your forked repository:

cd into/cloned/fork-repo
git remote add upstream git://github.com/ORIGINAL-DEV-USERNAME/REPO-YOU-FORKED-FROM.git
git fetch upstream
@gatspy
gatspy / current-dir-in-iterm-tab-title.sh
Created April 24, 2017 10:01 — forked from phette23/current-dir-in-iterm-tab-title.sh
Set the iTerm tab title to the current directory, not full path.
# put this in your .bash_profile
if [ $ITERM_SESSION_ID ]; then
export PROMPT_COMMAND='echo -ne "\033];${PWD##*/}\007"; ':"$PROMPT_COMMAND";
fi
# Piece-by-Piece Explanation:
# the if condition makes sure we only screw with $PROMPT_COMMAND if we're in an iTerm environment
# iTerm happens to give each session a unique $ITERM_SESSION_ID we can use, $ITERM_PROFILE is an option too
# the $PROMPT_COMMAND environment variable is executed every time a command is run
# see: ss64.com/bash/syntax-prompt.html
@gatspy
gatspy / README-Template.md
Created April 7, 2017 16:43 — forked from PurpleBooth/README-Template.md
A template to make good README.md

Project Title

One Paragraph of project description goes here

Getting Started

These instructions will get you a copy of the project up and running on your local machine for development and testing purposes. See deployment for notes on how to deploy the project on a live system.

Prerequisites

<!doctype HTML>
<meta charset = 'utf-8'>
<html>
<head>
<link rel='stylesheet' href='data:text/css;base64,Ci8qKioqKioqKioqKioqKioqKioqKgogKiBIVE1MIENTUwogKi8KCgouY2hhcnRXcmFwIHsKICBtYXJnaW46IDA7CiAgcGFkZGluZzogMDsKICBvdmVyZmxvdzogaGlkZGVuOwp9CgoKLyoqKioqKioqKioqKioqKioqKioqCiAqIFRPT0xUSVAgQ1NTCiAqLwoKLm52dG9vbHRpcCB7CiAgcG9zaXRpb246IGFic29sdXRlOwogIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMjU1LDI1NSwyNTUsMSk7CiAgcGFkZGluZzogMXB4OwogIGJvcmRlcjogMXB4IHNvbGlkIHJnYmEoMCwwLDAsLjIpOwogIHotaW5kZXg6IDEwMDAwOwoKICBmb250LWZhbWlseTogQXJpYWw7CiAgZm9udC1zaXplOiAxM3B4OwoKICB0cmFuc2l0aW9uOiBvcGFjaXR5IDUwMG1zIGxpbmVhcjsKICAtbW96LXRyYW5zaXRpb246IG9wYWNpdHkgNTAwbXMgbGluZWFyOwogIC13ZWJraXQtdHJhbnNpdGlvbjogb3BhY2l0eSA1MDBtcyBsaW5lYXI7CgogIHRyYW5zaXRpb24tZGVsYXk6IDUwMG1zOwogIC1tb3otdHJhbnNpdGlvbi1kZWxheTogNTAwbXM7CiAgLXdlYmtpdC10cmFuc2l0aW9uLWRlbGF5OiA1MDBtczsKCiAgLW1vei1ib3gtc2hhZG93OiAwIDVweCAxMHB4IHJnYmEoMCwwLDAsLjIpOwogIC13ZWJraXQtYm94LXNoYWRvdzogMCA1cHggMTBweCByZ2JhKDAsMCwwLC4yKTsKICBib3gtc2hhZG93OiAwIDVweCAxMHB4IHJnYmEoMCwwLDAsL
@gatspy
gatspy / homebrew.md
Created February 20, 2017 09:21 — forked from indiesquidge/homebrew.md
How to and Best of Homebrew

Homebrew

How To

Homebrew is a package management system for OS X. You can read more about it here, or simply run

ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"

to install it.

@gatspy
gatspy / API.md
Created January 17, 2017 10:45 — forked from iros/API.md
Documenting your REST API

Title

<Additional information about your API call. Try to use verbs that match both request type (fetching vs modifying) and plurality (one vs multiple).>

  • URL

    <The URL Structure (path only, no root url)>

  • Method:

@gatspy
gatspy / nvd3-labels-multibarchart.js
Created January 9, 2017 15:08 — forked from topicus/nvd3-labels-multibarchart.js
Add labels to MultiBarCharts in NVD3
// You need to apply this once all the animations are already finished. Otherwise labels will be placed wrongly.
d3.selectAll('.nv-multibar .nv-group').each(function(group){
var g = d3.select(this);
// Remove previous labels if there is any
g.selectAll('text').remove();
g.selectAll('.nv-bar').each(function(bar){
var b = d3.select(this);
var barWidth = b.attr('width');
@gatspy
gatspy / Mac Dev Setup.md
Created December 15, 2016 19:13 — forked from ogrrd/Mac Dev Setup.md
Installing nginx, PHP and MySQL on OS X Mavericks

Installing a Web Developer setup on OS X Mavericks

Install Command Line Tools

This is a requirement for brew in the next step. You can install XCode and then install Command Line Tools through the XCode preferences, or you can install just the Command Line Tools.

Install Command Line Tools

$ xcode-select --install
@gatspy
gatspy / lazy-load-nvm.sh
Created December 6, 2016 18:13
NVM lazy loading script
#!/bin/bash
#
# NVM lazy loading script
#
# NVM takes on average half of a second to load, which is more than whole prezto takes to load.
# This can be noticed when you open a new shell.
# To avoid this, we are creating placeholder function
# for nvm, node, and all the node packages previously installed in the system
# to only load nvm when it is needed.