Skip to content

Instantly share code, notes, and snippets.

Happy Today!

Minho Ryang minhoryang

Happy Today!
View GitHub Profile
isaacs /
Last active Oct 10, 2021
Use one of these techniques to install node and npm without having to sudo. Discussed in more detail at Note: npm >=0.3 is *safer* when using sudo.
echo 'export PATH=$HOME/local/bin:$PATH' >> ~/.bashrc
. ~/.bashrc
mkdir ~/local
mkdir ~/node-latest-install
cd ~/node-latest-install
curl | tar xz --strip-components=1
./configure --prefix=~/local
make install # ok, fine, this step probably takes more than 30 seconds...
curl | sh
sublee / README.rst
Created Sep 28, 2010
Finger Binary ASCII art generator for Python
View README.rst

Finger Binary

What's Finger Binary?

Here is a description of `Finger Binary in Wikipedia`_.

Finger binary is a system for counting and displaying binary numbers on the
hcooper /
Created Feb 7, 2011
Script to automate creating new OpenVPN client certificates and make them easy to download
#! /bin/bash
# Script to automate creating new OpenVPN clients
# The client cert and key, along with the CA cert is
# zipped up and placed somewhere to download securely
# H Cooper - 05/02/11
# Usage: <common-name>
# Set where we're working from
dahlia / gist:879076
Created Mar 21, 2011
LEP 11 — 서비스 애플리케이션 배포 표준
View gist:879076

LEP: 11
LEP-Scope: lunant
Title: 서비스 애플리케이션 배포 표준
Author: Hong MinHee
Status: Active
Content-Type: text/x-markdown; charset=utf-8
Content-Language: ko-kr
Created: 04-Aug-2010

서비스 애플리케이션 배포 표준

spicycode / tmux.conf
Created Sep 20, 2011
The best and greatest tmux.conf ever
View tmux.conf
# 0 is too far from ` ;)
set -g base-index 1
# Automatically set window title
set-window-option -g automatic-rename on
set-option -g set-titles on
#set -g default-terminal screen-256color
set -g status-keys vi
set -g history-limit 10000
joeshaw /
Created Sep 20, 2011
super-hacky flask proxy
# coding:utf-8
# Copyright 2011 litl, LLC. All Rights Reserved.
import httplib
import re
import urllib
import urlparse
from flask import Blueprint, request, Response, url_for
from werkzeug.datastructures import Headers
raphael-riel /
Created Sep 29, 2011
Screenshot of X11 Window, every Y seconds.
import -window $(xwininfo -root | grep -Po 'Window id: .*? ' | grep -Po '0x.* ') screenshot.jpg
bradland /
Last active Aug 31, 2021
SSH known_hosts tools
# This is a short collection of tools that are useful for managing your
# known_hosts file. In this case, I'm using the '-f' flag to specify the
# global known_hosts file because I'll be adding many deploy users on this
# system. Simply omit the -f flag to operate on ~/.ssh/known_hosts
# Add entry for host
ssh-keyscan -H >> /etc/ssh/ssh_known_hosts
# Scan known hosts
ssh-keygen -f /etc/ssh/ssh_known_hosts -F
gregburek /
Created Dec 7, 2011
Rate limiting function calls with Python Decorators
import time
def RateLimited(maxPerSecond):
minInterval = 1.0 / float(maxPerSecond)
def decorate(func):
lastTimeCalled = [0.0]
def rateLimitedFunction(*args,**kargs):
elapsed = time.clock() - lastTimeCalled[0]
leftToWait = minInterval - elapsed
if leftToWait>0:

A good commit message looks like this:

Header line: explaining the commit in one line

Body of commit message is a few lines of text, explaining things
in more detail, possibly giving some background about the issue
being fixed, etc etc.

The body of the commit message can be several paragraphs, and
please do proper word-wrap and keep columns shorter than about