Skip to content

Instantly share code, notes, and snippets.

Elixir, React, Phoenix, Rust.

Anders Ytterström madr

Elixir, React, Phoenix, Rust.
View GitHub Profile
EmilHernvall /
Last active Mar 8, 2018
Transparent proxy for rewriting web pages to include The Hoff
Install twisted (pip install twisted) and PIL (pip install PIL), and run the script.
On your gateway, run the following commands:
iptables -t nat -A PREROUTING -i br0 -s ! -p tcp --dport 80 -j DNAT --to
iptables -t nat -A POSTROUTING -o br0 -s -d -j SNAT --to
iptables -A FORWARD -s -d -i br0 -o br0 -p tcp --dport 8080 -j ACCEPT
Substitute for the computer running the proxy.
View characters.js
var ಠ_ಠ = eval,
ლ_ಠ益ಠ_ლ = 42,
λ = function() {},
oneQuarter = "¼",
oneHalf = "½",
threeQuarters = "¾";
// ☺
// ¯\_(ツ)_/¯
// ಠ~ಠ
madr / site.less
Last active Feb 14, 2016
LESS boilerplate
View site.less
/*csslint box-model: false, box-sizing: false, universal-selector: false */
All projects
should have nice
Arood / watch
Created Apr 21, 2013
Watches for changes in JavaScript and Sass-folders
View watch
madrobby / gist:4161897
Created Nov 28, 2012
Retina screen media query
View gist:4161897
@media (min--moz-device-pixel-ratio: 1.5),
(-o-min-device-pixel-ratio: 3/2),
(-webkit-min-device-pixel-ratio: 1.5),
(min-device-pixel-ratio: 1.5),
(min-resolution: 144dpi),
(min-resolution: 1.5dppx) {
/* Retina rules! */

Avoid jQuery When Possible

jQuery does good jobs when you're dealing with browser compatibility. But we're living in an age that fewer and fewer people use old-school browsers such as IE <= 7. With the growing of DOM APIs in modern browsers (including IE 8), most functions that jQuery provides are built-in natively.

When targeting only modern browsers, it is better to avoid using jQuery's backward-compatible features. Instead, use the native DOM API, which will make your web page run much faster than you might think (native C / C++ implementaion v.s. JavaScript).

If you're making a web page for iOS (e.g. UIWebView), you should use native DOM APIs because mobile Safari is not that old-school web browser; it supports lots of native DOM APIs.

If you're making a Chrome Extension, you should always use native APIs, not only because Chrome has almost the latest DOM APIs available, but this can also avoid performance issue and unnecessary memory occupation (each jQuery-driven extension needs a separate

derpston /
Created May 24, 2012
Python libusb interface for getting key up/down events from USB HIDs like keyboards.
import sys
import time
import usb
class Button:
def __init__(self, vendor_id, device_id):
Find and open a USB HID device.
erikh /
Created Mar 31, 2012 — forked from DAddYE/
OSX For Hackers
#!/usr/bin/env sh
# This is script with usefull tips taken from:
# install it:
# curl -sL | sh
kennethreitz42 /
Created Mar 13, 2012 — forked from lstoll/
MongoHQ w/ pymongo on Heroku
import os
import pymongo
MONGO_URL = os.environ.get('MONGOHQ_URL')
# Get a connection
conn = pymongo.Connection(MONGO_URL)
# Get the database
rob-ot-dot-be / 0_selector_hacks.scss
Created Dec 23, 2011 — forked from chriseppstein/0_selector_hacks.scss
This gist demonstrates some uses of the new sass feature: Passing content blocks to mixins.
View 0_selector_hacks.scss
@mixin ie6 { * html & { @content } }
#logo {
background-image: url("/images/logo.png");
@include ie6 { background-image: url("/images/logo.gif"); }
You can’t perform that action at this time.