git clone git@github.com:YOUR-USERNAME/YOUR-FORKED-REPO.git
cd into/cloned/fork-repo
git remote add upstream git://github.com/ORIGINAL-DEV-USERNAME/REPO-YOU-FORKED-FROM.git
git fetch upstream
<!-- | |
- Unfortunately, Microsoft has added a clever new | |
- "feature" to Internet Explorer. If the text of | |
- an error's message is "too small", specifically | |
- less than 512 bytes, Internet Explorer returns | |
- its own error message. You can turn that off, | |
- but it's pretty tricky to find switch called | |
- "smart error messages". That means, of course, | |
- that short error messages are censored by default. | |
- IIS always returns error messages that are long |
# to generate your dhparam.pem file, run in the terminal | |
openssl dhparam -out /etc/nginx/ssl/dhparam.pem 2048 |
FROM ubuntu | |
MAINTAINER David Weinstein <david@bitjudo.com> | |
# install our dependencies and nodejs | |
RUN echo "deb http://archive.ubuntu.com/ubuntu precise main universe" > /etc/apt/sources.list | |
RUN apt-get update | |
RUN apt-get -y install python-software-properties git build-essential | |
RUN add-apt-repository -y ppa:chris-lea/node.js | |
RUN apt-get update | |
RUN apt-get -y install nodejs |
function ls --description 'List contents of directory' | |
command ls -lFG $argv | |
end | |
function subl --description 'Launches sublime text in a new window' | |
command subl -n $argv | |
end | |
function code --description 'Launches visual code studio in a new window' | |
command code -n $argv |
# Path to boto config file, needed by gsutils | |
BOTO_CONFIG="/etc/boto.cfg" | |
# Path in which to create the backup (will get cleaned later) | |
BACKUP_PATH="/mnt/data/dump/" | |
# DB name | |
DB_NAME="mydatabase" | |
# Google Cloud Storage Bucket Name |
// Promise.all is good for executing many promises at once | |
Promise.all([ | |
promise1, | |
promise2 | |
]); | |
// Promise.resolve is good for wrapping synchronous code | |
Promise.resolve().then(function () { | |
if (somethingIsNotRight()) { | |
throw new Error("I will be rejected asynchronously!"); |
The standard way of understanding the HTTP protocol is via the request reply pattern. Each HTTP transaction consists of a finitely bounded HTTP request and a finitely bounded HTTP response.
However it's also possible for both parts of an HTTP 1.1 transaction to stream their possibly infinitely bounded data. The advantages is that the sender can send data that is beyond the sender's memory limit, and the receiver can act on
Service Worker - offline support for the web
Progressive apps - high-res icon, splash screen, no URL bar, etc.