View await-async.js
// async / await
* Resolve a truthy value, reject a falsy value.
* @param {any} value Any Javascript primative type.
* @param {Number} timeout Time n milliseconds before function returns.
* @returns {Promise} a Promise.
let isTruthy = function(value, timeout) {
return new Promise((resolve, reject) => {
View laughing-man.svg
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.

Whether you're trying to give back to the open source community or collaborating on your own projects, knowing how to properly fork and generate pull requests is essential. Unfortunately, it's quite easy to make mistakes or not know what you should do when you're initially learning the process. I know that I certainly had considerable initial trouble with it, and I found a lot of the information on GitHub and around the internet to be rather piecemeal and incomplete - part of the process described here, another there, common hangups in a different place, and so on.

In an attempt to coallate this information for myself and others, this short tutorial is what I've found to be fairly standard procedure for creating a fork, doing your work, issuing a pull request, and merging that pull request back into the original project.

Creating a Fork

Just head over to the GitHub page and click the "Fork" button. It's just that simple. Once you've done that, you can use your favorite git client to clone your repo or j


Copied from

Basic HTML Meta Tags

<meta charset='UTF-8'>
<meta name='keywords' content='your, tags'>
<meta name='description' content='150 words'>
<meta name='subject' content='your website's subject'>
<meta name='copyright' content='company name'>

Bash Cheatsheet

Movement, keyboard commands and shortcuts for the GNU Bourne-Again SHell.


Command Keyboard Character
View app.js
var http = require('http');
var s = http.createServer( function( request, response ) {
response.writeHead(301, {
'Content-Type': 'text/plain; charset=utf8',
'Location': 'view-source://'
response.write( 'hello world\n' ); '[INFO]', 'user-agent', request.headers['user-agent'] );
} );

Atom keyboard commands and shortcuts

Some commonly used keys using Atom editor.


Command Character

Certificate Signing Request generation with OpenSSL

The following command lines avoid specifying parameters as much as possible hoping that your version of OpenSSL will make the best choices for the current time and that it will allow this recipe to stay up-to-date as long as possible.

Private key

Generate a 4096 bits long key using the RSA algorithm using the SHA2 hash.

openssl req -nodes -newkey rsa:4096 -sha256 -keyout <domain.tld>.key -out <doman.tld>.csr
# Generate release notes from last MINOR release tag, crediting each author per commit.
git log `git describe --abbrev=0 --tags`.. --pretty=format:"* %s - @%an"
# Generate release notes from last MINOR release tag, rollup commits to each author
git shortlog `git describe --abbrev=0 --tags`..