Skip to content

Instantly share code, notes, and snippets.

@kurrik
kurrik / paste.js
Last active August 29, 2015 13:58
Paste in Chrome addressbar and add "javascript:" to the front to enable resizing of textareas on the page
Array.prototype.forEach.call(document.querySelectorAll('textarea'), function(el) { el.setAttribute('style', 'resize: vertical');});
@kurrik
kurrik / queryparams.js
Created April 16, 2014 00:16
EC5 querystring parsing in the most obnoxiously functional way possible
var queryparams = (window.location.href.split("?")[1] || "")
.split("&")
.map(function(param) {
return param.split("=")
.map(function(part) { return decodeURIComponent(part); });
})
.reduceRight(function(prev, curr) {
if (curr.length == 2) { prev[curr[0]] = curr[1]; }
return prev;
},{});
@kurrik
kurrik / .vimrc
Created May 10, 2014 01:09
Set up :Fmt command to autoformat JavaScript files in Vim
" JavaScript formatting.
" Install https://github.com/rdio/jsfmt - npm install -g jsfmt
function! Jsformat()
let regel=line(".")
%!jsfmt --format=true
call cursor(regel, 1)
endfunction
autocmd BufRead,BufNewFile *.js setfiletype javascript
autocmd Filetype javascript command! Fmt call Jsformat()
var input = document.getElementById('myfileinput');
var files = input.files;
var file = files[i];
var xhr = new XMLHttpRequest();
xhr.open('post', '/path/to/destination', true);
xhr.onreadystatechange = function() {
if (this.readyState != 4) { return; }
// request finished - handle response
};
@kurrik
kurrik / eyeball.html
Created August 11, 2011 22:07
Renders an eyeball via CSS
<!DOCTYPE html>
<!-- Based off of the infinity symbol from http://css-tricks.com/examples/ShapesOfCSS/ -->
<html>
<head><title>CSS Eyeball</title>
<style>
#eyeball {
position: relative;
width: 140px;
height: 100px;
}
@kurrik
kurrik / gist:1928436
Created February 28, 2012 01:43
Problem installing multiple libs from same github project
[kurrik@ ~/workspace/golibs/twurlrc] (master) 105$ goinstall github.com/kurrik/golibs/oauth1a
[kurrik@ ~/workspace/golibs/twurlrc] (master) 106$ goinstall github.com/kurrik/golibs/twurlrc
goinstall: github.com/kurrik/golibs/twurlrc: open /Users/kurrik/src/go/src/pkg/github.com/kurrik/golibs/twurlrc: no such file or directory ($GOPATH not set)
@kurrik
kurrik / streaming.go
Created May 10, 2012 15:49
Hand-wavy streaming method
func (c *Connection) Read(output chan string) error {
var err error
if err = c.connect(); err != nil {
return err
}
defer c.conn.Close()
if err = c.readHeaders(); err != nil {
return err
}
err = c.readChunkedData(output) // Blocks until stream ends
@kurrik
kurrik / proxy.sh
Created June 1, 2012 23:11
Proxy HTTPS requests through http://localhost:8080
#!/bin/bash
# From http://en.wikipedia.org/wiki/Netcat
# Proxy HTTPS requests through http://localhost:8080
# That way, Wireshark can sniff the traffic.
# Example usage:
# ./proxy.sh www.twitter.com
mkfifo tmp
mkfifo tmp2
nc -k -l 8080 > tmp < tmp2 &
@kurrik
kurrik / negate-bitmask.go
Created August 26, 2012 10:13
How to negate bits in a bitmask in Go
package main
import "fmt"
func main() {
foo := 4 | 2 | 16
foo &= (511 ^ 4)
fmt.Printf("%b", foo)
}
@kurrik
kurrik / anim.go
Created August 27, 2012 02:11
My favorite code from this weekend
// I couldn't have come up with this sober / well rested
const (
FACING_LEFT = 1 << iota
FACING_RIGHT = 1 << iota
PLAYER_STOPPED = 1 << iota
PLAYER_WALKING = 1 << iota
PLAYER_JUMPING = 1 << iota
)
a := map[int]*Animation{