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`..
View Marx for

Marx for Millennials

November 18, 2013

By Andrew Seal

I saw the best minds of my generation recruited by McKinsey, Goldman Sachs, and Bridgewater. The rest of us became Marxists. There have now been quite a few attempts to account for a sudden "resurgence" of Marxism—or at least a new openness to anticapitalism—among people of my generation. (A representative example, an article in Tablet, was subtitled "For those too young to remember the cold war but old enough to be trapped by the Great Recession, Marxism holds new appeal.") Given the dire economic times, especially for twenty- and thirtysomethings, some leftward shift was expected. But this recursion to Marx seems inexplicable, anachronistic, even cavalier. Why Marx? Why Marx now? Common explanations go something like this: Those of us who reached intellectual maturity in the early and mid-2000s spent much of that time feeling adrift, politically torpid, uncompelled by the aging classics of the Theory Era, yet unable to generate anything d