Skip to content

Instantly share code, notes, and snippets.

@melanke
melanke / MultiGetSet.js
Created June 19, 2012 20:53
MultiGetSet.JS - Quickly generate getters and setters for multiple attributes
var MultiGetSet = function(opt){
var getType = function(o) {
return ({}).toString.call(o).match(/\s([a-zA-Z]+)/)[1].toLowerCase()
};
if(!opt.public || !opt.private)
return opt.public;
if(opt.handler && opt.handler.init)
@nicdaCosta
nicdaCosta / gridBuilder.css
Created August 6, 2012 09:38
This was something i quickly created in "response" to Mootool's JavaScript weekly challenge ( # 1 ) [ http://mootools.net/blog/2012/07/25/javascript-challenge-1/ ] to build a spiraling grid. A live examaple can be seen here - http://jsfiddle.net/TpfCL/
.block{
position:fixed;
display:inline-block;
width:3em;
height:3em;
padding:1em;
margin:0;
background:pink;
border:0.1em solid black;
text-align:center;
@paulrouget
paulrouget / scratchpad.js
Created August 25, 2012 13:43
How to add custom CSS rules via Scratchpad
/**
* Appends CSS code to an existing stylesheet.
* @param styleSheetURL: URL of an existing styleSheet;
* @param code: CSS code to append.
*/
function appendCSS(styleSheetURL, code) {
let DOMUtils = Cc["@mozilla.org/inspector/dom-utils;1"].getService(Ci.inIDOMUtils);
Cu.import("resource://gre/modules/NetUtil.jsm");
@johan
johan / resolveURL.js
Created October 19, 2012 00:17
Resolves a relative url against a base_url using browser internals not exposed to you in API form.
function resolveURL(url, base_url) {
var doc = document
, old_base = doc.getElementsByTagName('base')[0]
, old_href = old_base && old_base.href
, doc_head = doc.head || doc.getElementsByTagName('head')[0]
, our_base = old_base || doc_head.appendChild(doc.createElement('base'))
, resolver = doc.createElement('a')
, resolved_url
;
our_base.href = base_url;
@paulrouget
paulrouget / scratchpad.js
Created November 2, 2012 17:59
Floating scrollbars in Firefox
/**
* How to have floating scrollbars in Firefox (Linux, Windows & Mac).
* Screenshot: http://i.imgur.com/bn44L.png
* You need Firefox > 18. Just run this code in a browser-scratchpad:
*
* Ping me on Twitter (@paulrouget) if you run into problems.
*
* 1. Go to about:config - Set devtools.chrome.enabled to true
* 2. Starts Scratchpad (Shift-F4)
* 3. In Scratchpad's menubar, check "Environment > Browser"
@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:

anonymous
anonymous / gist:4285679
Created December 14, 2012 14:05
Adding a Toolbar Button in a Bootstrapped Firefox Extension
function addButton(toolbarId, buttonId, label, iconPath, firstRun) {
var toolbar = document.getElementById(toolbarId);
var toolbarButton = document.createElement("toolbarbutton");
toolbarButton.setAttribute("id", buttonId);
toolbarButton.setAttribute("type", "button");
toolbarButton.setAttribute("removable", "true");
toolbarButton.setAttribute("class",
"toolbarbutton-1 chromeclass-toolbar-additional");
toolbarButton.setAttribute("label", label);
toolbarButton.style.listStyleImage = "url(" + iconPath + ")";
@albrow
albrow / Rakefile
Last active March 20, 2025 09:04
An excerpt from the Rakefile I use to deploy my blog. http://blog.alexbrowne.info
# ...
desc "Deploy website to s3/cloudfront via aws-sdk"
task :s3_cloudfront => [:generate, :minify, :gzip, :compress_images] do
puts "=================================================="
puts " Deploying to Amazon S3 & CloudFront"
puts "=================================================="
# setup the aws_deploy_tools object
config = YAML::load( File.open("_config.yml"))
@SlexAxton
SlexAxton / .zshrc
Last active June 6, 2025 19:18
My gif workflow
gifify() {
if [[ -n "$1" ]]; then
if [[ $2 == '--good' ]]; then
ffmpeg -i $1 -r 10 -vcodec png out-static-%05d.png
time convert -verbose +dither -layers Optimize -resize 600x600\> out-static*.png GIF:- | gifsicle --colors 128 --delay=5 --loop --optimize=3 --multifile - > $1.gif
rm out-static*.png
else
ffmpeg -i $1 -s 600x400 -pix_fmt rgb24 -r 10 -f gif - | gifsicle --optimize=3 --delay=3 > $1.gif
fi
else
@paulrouget
paulrouget / functions.html
Last active August 3, 2017 16:44
Defining JavaScript functions, the ES6 way
<!DOCTYPE html>
<meta charset=utf-8 />
<title>Defining JavaScript functions, the ES6 way</title>
<h1>Defining JavaScript functions, the ES6 way</h1>
<em>Use Firefox 22 (Firefox Nightly)</em>
<script>