most of these require logout/restart to take effect
# Enable character repeat on keydown
defaults write -g ApplePressAndHoldEnabled -bool false
# Set a shorter Delay until key repeat| DO WHAT THE FUCK YOU WANT TO PUBLIC LICENSE | |
| Version 2, December 2004 | |
| Copyright (C) 2011 Jed Schmidt <http://jed.is> | |
| Everyone is permitted to copy and distribute verbatim or modified | |
| copies of this license document, and changing it is allowed as long | |
| as the name is changed. | |
| DO WHAT THE FUCK YOU WANT TO PUBLIC LICENSE |
| /** | |
| * Originally from http://davidwalsh.name/convert-xml-json | |
| * This is a version that provides a JSON object without the attributes and places textNodes as values | |
| * rather than an object with the textNode in it. | |
| * 27/11/2012 | |
| * Ben Chidgey | |
| * | |
| * @param xml | |
| * @return {*} | |
| */ |
| #!/bin/sh | |
| # Use git to push to deploy (aka git push to prod) | |
| # Use 'git push remote master' to push to deploy | |
| # This script only deploys on pushes to master. | |
| # | |
| # HOWTO: | |
| # On your server to deploy, create a bare git directory | |
| # (somewhere like /var/git/<gitProject>) | |
| # Your depoly directory (like /var/www) should be somewhere other than your git repo. |
| /** | |
| * Fancy ID generator that creates 20-character string identifiers with the following properties: | |
| * | |
| * 1. They're based on timestamp so that they sort *after* any existing ids. | |
| * 2. They contain 72-bits of random data after the timestamp so that IDs won't collide with other clients' IDs. | |
| * 3. They sort *lexicographically* (so the timestamp is converted to characters that will sort properly). | |
| * 4. They're monotonically increasing. Even if you generate more than one in the same timestamp, the | |
| * latter ones will sort after the former ones. We do this by using the previous random bits | |
| * but "incrementing" them by 1 (only in the case of a timestamp collision). | |
| */ |
| /* bling.js */ | |
| window.$ = document.querySelector.bind(document); | |
| window.$$ = document.querySelectorAll.bind(document); | |
| Node.prototype.on = window.on = function(name, fn) { this.addEventListener(name, fn); }; | |
| NodeList.prototype.__proto__ = Array.prototype; | |
| NodeList.prototype.on = function(name, fn) { this.forEach((elem) => elem.on(name, fn)); }; |
I've been asked a few times over the last few months to put together a full write-up of the Git workflow we use at RichRelevance (and at Precog before), since I have referenced it in passing quite a few times in tweets and in person. The workflow is appreciably different from GitFlow and its derivatives, and thus it brings with it a different set of tradeoffs and optimizations. To that end, it would probably be helpful to go over exactly what workflow benefits I find to be beneficial or even necessary.
All of the below properties or methods, when requested/called in JavaScript, will trigger the browser to synchronously calculate the style and layout*. This is also called reflow or layout thrashing, and is common performance bottleneck.
Generally, all APIs that synchronously provide layout metrics will trigger forced reflow / layout. Read on for additional cases and details.
elem.offsetLeft, elem.offsetTop, elem.offsetWidth, elem.offsetHeight, elem.offsetParent| <?php | |
| header("Cache-Control: no-store, no-cache, must-revalidate, max-age=0"); | |
| header("Cache-Control: post-check=0, pre-check=0", false); | |
| header("Pragma: no-cache"); | |
| ob_end_flush(); | |
| $pid = getmypid(); | |
| $secs = 10; | |
| $cmd = "kill -3 $pid"; |
| // Licensed under a CC0 1.0 Universal (CC0 1.0) Public Domain Dedication | |
| // http://creativecommons.org/publicdomain/zero/1.0/ | |
| // HTML files: try the network first, then the cache. | |
| // Other files: try the cache first, then the network. | |
| // Both: cache a fresh version if possible. | |
| // (beware: the cache will grow and grow; there's no cleanup) | |
| const cacheName = 'files'; |