Skip to content

Instantly share code, notes, and snippets.

View elgreg's full-sized avatar
💭
Inside

Greg Lavallee elgreg

💭
Inside
View GitHub Profile
@eirikbacker
eirikbacker / addEventListener-polyfill.js
Created June 3, 2012 19:30
addEventListener polyfill for IE6+
//addEventListener polyfill 1.0 / Eirik Backer / MIT Licence
(function(win, doc){
if(win.addEventListener)return; //No need to polyfill
function docHijack(p){var old = doc[p];doc[p] = function(v){return addListen(old(v))}}
function addEvent(on, fn, self){
return (self = this).attachEvent('on' + on, function(e){
var e = e || win.event;
e.preventDefault = e.preventDefault || function(){e.returnValue = false}
e.stopPropagation = e.stopPropagation || function(){e.cancelBubble = true}
@taylor
taylor / gist:2968566
Created June 21, 2012 21:12
fix ca cert on centos 5

this sucks, but it works. centos should really just build the damn ca-certificates package for centos5 found on centos6

cp /etc/pki/tls/certs/ca-bundle.crt /root/ca-bundle.crt-old
curl http://curl.haxx.se/ca/cacert.pem -o /etc/pki/tls/certs/ca-bundle.crt
@thesharp
thesharp / ML, Python and virtualenv.md
Created July 25, 2012 22:56
Quick virtualenv fix on Mountain Lion

Quick virtualenv fix on Mountain Lion

Overview

It appears that Apple somehow broke Python in Mountain Lion, so even with the latest Command Line Tools and Xcode 4.4 virtualenv won't properly work. During virtual environment creation it will try to install easy_install inside /Library hierarchy. So let's give it a quick workaround. Let's install custom python into your $HOME-directory using pythonbrew!

Installing proper Command Line Tools

Without the Apple Mac Developer account you won't even see the proper download link for the latest CL Tools and the old one won't work on ML. So here's the link: http://goo.gl/iBTXh. It points towards the Apple website so don't worry.

@tjluoma
tjluoma / skitch-edits.html
Created September 21, 2012 13:10
Skitch 1.0.7 and preventing the Mac App Store from prompting you to upgrade to 2.0
<h1>
Stop the App Store upgrade prompt</h1>
<p>
Fortunately I saved my copy of Skitch (version 1.0.12) after hearing <a href="http://twitter.com/danielpunkass">Daniel Jalkut</a> (developer at <a href="http://www.red-sweater.com/">Red Sweater Software</a> best known for <a href="http://www.red-sweater.com/marsedit/">MarsEdit</a> and <a href="http://www.red-sweater.com/fastscripts/">FastScripts</a>) mention that a brief stint with Skitch 2.0 had sent him back to Skitch version 1.</p>
<p>
The only problem is that the Mac App Store app kept telling me that Skitch needs to be updated. I even went into my Purchases list and '&quot;hid&quot; Skitch, but still the App Store kept telling me that it wanted to update Skitch.</p>
<p>
I seem to have found a solution, which was to quit Skitch.app, and then locate the app in /Applications/ using the Finder. Once there, I control-clicked on the app and chose &quot;Show Package Contents&quot;:</p>
<p style="text-align:center">
<img alt="" border="0" height="143" src="htt
@desandro
desandro / add-event.js
Created November 15, 2012 03:04
add/remove event with handleEvent helper
// modified John Resig's http://ejohn.org/projects/flexible-javascript-events/
var div = document.createElement('div');
var addEvent, removeEvent;
if ( div.addEventListener ) {
addEvent = function( elem, type, fn ) {
elem.addEventListener( type, fn, false );
};
@paulirish
paulirish / gist:4158604
Created November 28, 2012 02:08
Learn JavaScript concepts with recent DevTools features

Learn JavaScript concepts with the Chrome DevTools

Authored by Peter Rybin , Chrome DevTools team

In this short guide we'll review some new Chrome DevTools features for "function scope" and "internal properties" by exploring some base JavaScript language concepts.

Closures

Let's start with closures – one of the most famous things in JS. A closure is a function, that uses variables from outside. See an example:

@les2
les2 / gist:5454567
Created April 24, 2013 18:53
async api callback - there might be bugs
var asyncApi = asyncApi || (function(win) {
var asyncApi = function(globalName, queueName, createGlobal) {
var global = win[globalName];
if(!global && createGlobal) {
global = win[globalName] = {};
}
if(global) {
var queue = global[queueName] || [];
@drinks
drinks / CoffeeScript-scope.coffee
Created September 9, 2013 20:17
Note to future self: This is how scoping works in coffeescript.
class Foo
@_cattr =
"a": "apple"
"b": "banana"
"c": "cherry"
"d": "dragonfruit"
@classCattrGet: ->
@_cattr
@plentz
plentz / nginx.conf
Last active June 25, 2025 06:48
Best nginx configuration for improved security(and performance)
# to generate your dhparam.pem file, run in the terminal
openssl dhparam -out /etc/nginx/ssl/dhparam.pem 2048
@ib-lundgren
ib-lundgren / refresh_example.py
Last active May 7, 2022 06:15
Work in progress example of how to do oauth 2 token refresh in a web application. Requires python modules oauthlib master - pip install -e git+https://github.com/idan/oauthlib#egg=oauthlib requests-oauthlib latest from pip (don't think master is needed) flask & requests
from json import dumps
from flask import Flask, request, redirect, session, url_for
from flask.json import jsonify
from requests_oauthlib import OAuth2Session
app = Flask(__name__)
# Ignore this, only used as basic doc string template creator.
def docstring_templator(f):