diff --git a/commands/misc.ipynb b/commands/misc.ipynb index 5b1c42e..199dcef 100644 --- a/commands/misc.ipynb +++ b/commands/misc.ipynb @@ -1,358 +1,374 @@ { - "metadata": { - "name": "", - "signature": "sha256:c39bbf32494020a300d424ed24cb9891d891ab8e67fe4c3162296bad4385c933" - }, - "nbformat": 3, - "nbformat_minor": 0, - "worksheets": [ + "cells": [ { - "cells": [ - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "# Misc Commands\n", - "\n", - "* Anaconda\n", - "* IPython Notebook\n", - "* Git\n", - "* Ruby\n", - "* Jekyll\n" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "

Anaconda

" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "[Anaconda](https://store.continuum.io/cshop/anaconda/) is a scientific python distribution containing Python, NumPy, SciPy, Pandas, IPython, Matplotlib, Numba, Blaze, Bokeh, and other great Python data analysis tools." - ] - }, - { - "cell_type": "code", - "collapsed": false, - "input": [ - "# See Anaconda installed packages\n", - "!conda list\n", - "\n", - "# Create Python 3 environment\n", - "!conda create -n py3k python=3 anaconda\n", - "\n", - "# Activate Python 3 environment\n", - "!source activate py3k\n", - "\n", - "# Deactivate Python 3 environment\n", - "!source deactivate\n", - "\n", - "# Update Anaconda\n", - "!conda update conda\n", - "\n", - "# Update a package with Anaconda\n", - "!conda update ipython" - ], - "language": "python", - "metadata": {}, - "outputs": [] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "

IPython Notebook

" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "[IPython Notebook](http://ipython.org/notebook.html) is a \"web-based interactive computational environment where you can combine code execution, text, mathematics, plots and rich media into a single document.\"" - ] - }, - { - "cell_type": "code", - "collapsed": false, - "input": [ - "# Start IPython Notebook\n", - "ipython notebook\n", - "\n", - "# Start IPython Notebook with built-in mode to work cleanly \n", - "# with matplotlib figures\n", - "ipython notebook --pylab inline\n", - "\n", - "# Start IPython Notebook with a profile\n", - "ipython notebook --profile=dark-bg\n", - "\n", - "# Load the contents of a file\n", - "%load dir/file.py\n", - "\n", - "# Time execution of a Python statement or expression\n", - "%timeit\n", - "%%time\n", - "\n", - "# Activate the interactive debugger\n", - "%debug\n", - "\n", - "# Write the contents of the cell to a file\n", - "%writefile\n", - "\n", - "# Run a cell via a shell command\n", - "%%script\n", - "\n", - "# Run cells with bash in a subprocess\n", - "# This is a shortcut for %%script bash\n", - "%%bash\n", - "\n", - "# Run cells with python2 in a subprocess\n", - "%%python2\n", - "\n", - "# Run cells with python3 in a subprocess\n", - "%%python3" - ], - "language": "python", - "metadata": {}, - "outputs": [] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "| Command | Description |\n", - "|-----------|------------------------------------------|\n", - "| ? | Intro and overview of IPython's features |\n", - "| %quickref | Quick reference |\n", - "| help | Python help |\n", - "| object? | Object details, also use object?? |" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "

Git

" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "[Git](http://git-scm.com/) is a distributed revision control system." - ] - }, - { - "cell_type": "code", - "collapsed": false, - "input": [ - "# Configure git\n", - "!git config --global user.name 'First Last'\n", - "!git config --global user.email 'name@domain.com'\n", - "!git init\n", - "\n", - "# View status and log\n", - "!git status\n", - "!git log\n", - "\n", - "# Add or remove from staging area\n", - "!git add [target]\n", - "!git reset [target file or commit]\n", - "!git reset --hard origin/master\n", - "\n", - "# Automatically stage tracked files, including deleting the previously tracked files\n", - "!git add -u\n", - "\n", - "# Delete files and stage them\n", - "!git rm [target]\n", - "\n", - "# Commit\n", - "!git commit -m \u201cAdd commit message here\u201d\n", - "\n", - "# Add new origin\n", - "!git remote add origin https://github.com/donnemartin/ipython-data-notebooks.git\n", - "\n", - "# Set to new origin\n", - "!git remote set-url origin https://github.com/donnemartin/pydatasnippets.git\n", - " \n", - "# Push to master, -u saves config so you can just do \"git push\" afterwards\n", - "!git push -u origin master\n", - "!git push\n", - "\n", - "# Diff files\n", - "!git diff HEAD\n", - "!git diff --staged\n", - "!git diff --cached\n", - "\n", - "# Undo a file that has not been added\n", - "!git checkout \u2014 [target]\n", - "\n", - "# Create a branch\n", - "!git branch [branch]\n", - "\n", - "# Check branches\n", - "!git branch\n", - "\n", - "# Switch branches\n", - "!git checkout [branch]\n", - "\n", - "# Merge branch to master\n", - "!git merge [branch]\n", - "\n", - "# Delete branch\n", - "!git branch -d [branch]\n", - "\n", - "# Clone\n", - "!git clone git@github.com:repo folder-name\n", - "!git clone https://donnemartin@bitbucket.org/donnemartin/tutorial.git\n", - " \n", - "# Update a local repository with changes from a remote repository\n", - "# (pull down from master)\n", - "!git pull origin master\n", - "\n", - "# Configuring a remote for a fork\n", - "!git remote -v\n", - "!git remote add upstream [target]\n", - "!git remote -v\n", - "\n", - "# Syncing a fork\n", - "!git fetch upstream\n", - "!git checkout master\n", - "!git merge upstream/master\n", - "\n", - "# Create a file containing a patch\n", - "# git format-patch are like normal patch files, but they also carry information \n", - "# about the git commit that created the patch: the author, the date, and the \n", - "# commit log message are all there at the top of the patch.\n", - "!git format-patch origin/master\n", - "\n", - "# GitHub tutorial:\n", - "!http://try.github.io/levels/1/challenges/9\n", - "\n", - "# BitBucket Setup\n", - "!cd /path/to/my/repo\n", - "!git init\n", - "!git remote add origin https://donnemartin@bitbucket.org/donnemartin/repo.git\n", - "!git push -u origin --all # pushes up the repo and its refs for the first time\n", - "!git push -u origin --tags # pushes up any tags\n", - "\n", - "# Open Hatch missions\n", - "!git clone https://openhatch.org/git-mission-data/git/dmartin git_missions" - ], - "language": "python", - "metadata": {}, - "outputs": [] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "

Ruby

" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "[Ruby](https://www.ruby-lang.org/en/) is used to interact with the AWS command line and for Jekyll, a blog framework that can be hosted on GitHub Pages." - ] - }, - { - "cell_type": "code", - "collapsed": false, - "input": [ - "# Update Ruby\n", - "!rvm get stable\n", - "\n", - "# Reload Ruby (or open a new terminal)\n", - "!rvm reload\n", - "\n", - "# List all known RVM installable rubies\n", - "!rvm list known\n", - "\n", - "# List all installed Ruby versions\n", - "!rvm rubies\n", - "\n", - "# Install a specific Ruby version\n", - "!rvm install 2.1.5\n", - "\n", - "# Set Ruby version\n", - "!rvm --default ruby-2.1.5\n", - "\n", - "# Check Ruby version\n", - "!ruby -v" - ], - "language": "python", - "metadata": {}, - "outputs": [] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "

Jekyll

" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "[Jekyll](http://jekyllrb.com/) is a blog framework that can be hosted on GitHub Pages.\n", - "\n", - "In addition to donnemartin.com, I\u2019ve started to build up its mirror site donnemartin.github.io to try out Jekyll. So far I love that I can use my existing developer tools to generate content (SublimeText, Terminal, and GitHub).\n", - "\n", - "Here are other features I like about Jekyll:\n", - "\n", - "* Converts Markdown to produce fast, static pages\n", - "* Simple to get started, no backend or manual updates\n", - "* Hosted on GitHub Pages\n", - "* Open source on GitHub" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "Many Jekyll themes require a Ruby version of 2 and above. However, the AWS CLI requires Ruby 1.8.7. Run the proper version of Ruby for Jekyll:" - ] - }, - { - "cell_type": "code", - "collapsed": false, - "input": [ - "!rvm --default ruby-2.1.5" - ], - "language": "python", - "metadata": {}, - "outputs": [] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "Build and run the localy Jekyll server:" - ] - }, - { - "cell_type": "code", - "collapsed": false, - "input": [ - "# => The current folder will be generated into ./_site\n", - "!bundle exec jekyll build\n", - "\n", - "# => A development server will run at http://localhost:4000/\n", - "# Auto-regeneration: enabled. Use `--no-watch` to disable.\n", - "!bundle exec jekyll serve" - ], - "language": "python", - "metadata": {}, - "outputs": [] - } - ], - "metadata": {} + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# Misc Commands\n", + "\n", + "* Anaconda\n", + "* IPython Notebook\n", + "* Git\n", + "* Ruby\n", + "* Jekyll\n" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "

Anaconda

" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "[Anaconda](https://store.continuum.io/cshop/anaconda/) is a scientific python distribution containing Python, NumPy, SciPy, Pandas, IPython, Matplotlib, Numba, Blaze, Bokeh, and other great Python data analysis tools." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "collapsed": false + }, + "outputs": [], + "source": [ + "# See Anaconda installed packages\n", + "!conda list\n", + "\n", + "# Create Python 3 environment\n", + "!conda create -n py3k python=3 anaconda\n", + "\n", + "# Activate Python 3 environment\n", + "!source activate py3k\n", + "\n", + "# Deactivate Python 3 environment\n", + "!source deactivate\n", + "\n", + "# Update Anaconda\n", + "!conda update conda\n", + "\n", + "# Update a package with Anaconda\n", + "!conda update ipython" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "

IPython Notebook

" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "[IPython Notebook](http://ipython.org/notebook.html) is a \"web-based interactive computational environment where you can combine code execution, text, mathematics, plots and rich media into a single document.\"" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "collapsed": false + }, + "outputs": [], + "source": [ + "# Start IPython Notebook\n", + "ipython notebook\n", + "\n", + "# Start IPython Notebook with built-in mode to work cleanly \n", + "# with matplotlib figures\n", + "ipython notebook --pylab inline\n", + "\n", + "# Start IPython Notebook with a profile\n", + "ipython notebook --profile=dark-bg\n", + "\n", + "# Load the contents of a file\n", + "%load dir/file.py\n", + "\n", + "# Time execution of a Python statement or expression\n", + "%timeit\n", + "%%time\n", + "\n", + "# Activate the interactive debugger\n", + "%debug\n", + "\n", + "# Write the contents of the cell to a file\n", + "%writefile\n", + "\n", + "# Run a cell via a shell command\n", + "%%script\n", + "\n", + "# Run cells with bash in a subprocess\n", + "# This is a shortcut for %%script bash\n", + "%%bash\n", + "\n", + "# Run cells with python2 in a subprocess\n", + "%%python2\n", + "\n", + "# Run cells with python3 in a subprocess\n", + "%%python3" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "| Command | Description |\n", + "|-----------|------------------------------------------|\n", + "| ? | Intro and overview of IPython's features |\n", + "| %quickref | Quick reference |\n", + "| help | Python help |\n", + "| object? | Object details, also use object?? |" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "

Git

" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "[Git](http://git-scm.com/) is a distributed revision control system." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "collapsed": false + }, + "outputs": [], + "source": [ + "# Configure git\n", + "!git config --global user.name 'First Last'\n", + "!git config --global user.email 'name@domain.com'\n", + "!git init\n", + "\n", + "# View status and log\n", + "!git status\n", + "!git log\n", + "\n", + "# Add or remove from staging area\n", + "!git add [target]\n", + "!git reset [target file or commit]\n", + "!git reset --hard origin/master\n", + "\n", + "# Automatically stage tracked files, including deleting the previously tracked files\n", + "!git add -u\n", + "\n", + "# Delete files and stage them\n", + "!git rm [target]\n", + "\n", + "# Commit\n", + "!git commit -m “Add commit message here”\n", + "\n", + "# Add new origin\n", + "!git remote add origin https://github.com/donnemartin/ipython-data-notebooks.git\n", + "\n", + "# Set to new origin\n", + "!git remote set-url origin https://github.com/donnemartin/pydatasnippets.git\n", + " \n", + "# Push to master, -u saves config so you can just do \"git push\" afterwards\n", + "!git push -u origin master\n", + "!git push\n", + "\n", + "# Diff files\n", + "!git diff HEAD\n", + "!git diff --staged\n", + "!git diff --cached\n", + "\n", + "# Undo a file that has not been added\n", + "!git checkout — [target]\n", + "\n", + "# Create a branch\n", + "!git branch [branch]\n", + "\n", + "# Check branches\n", + "!git branch\n", + "\n", + "# Switch branches\n", + "!git checkout [branch]\n", + "\n", + "# Merge branch to master\n", + "!git merge [branch]\n", + "\n", + "# Delete branch\n", + "!git branch -d [branch]\n", + "\n", + "# Clone\n", + "!git clone git@github.com:repo folder-name\n", + "!git clone https://donnemartin@bitbucket.org/donnemartin/tutorial.git\n", + " \n", + "# Update a local repository with changes from a remote repository\n", + "# (pull down from master)\n", + "!git pull origin master\n", + "\n", + "# Configuring a remote for a fork\n", + "!git remote -v\n", + "!git remote add upstream [target]\n", + "!git remote -v\n", + "\n", + "# Syncing a fork\n", + "!git fetch upstream\n", + "!git checkout master\n", + "!git merge upstream/master\n", + "\n", + "# Create a file containing a patch\n", + "# git format-patch are like normal patch files, but they also carry information \n", + "# about the git commit that created the patch: the author, the date, and the \n", + "# commit log message are all there at the top of the patch.\n", + "!git format-patch origin/master\n", + "\n", + "# GitHub tutorial:\n", + "!http://try.github.io/levels/1/challenges/9\n", + "\n", + "# BitBucket Setup\n", + "!cd /path/to/my/repo\n", + "!git init\n", + "!git remote add origin https://donnemartin@bitbucket.org/donnemartin/repo.git\n", + "!git push -u origin --all # pushes up the repo and its refs for the first time\n", + "!git push -u origin --tags # pushes up any tags\n", + "\n", + "# Open Hatch missions\n", + "!git clone https://openhatch.org/git-mission-data/git/dmartin git_missions" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "

Ruby

" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "[Ruby](https://www.ruby-lang.org/en/) is used to interact with the AWS command line and for Jekyll, a blog framework that can be hosted on GitHub Pages." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "collapsed": false + }, + "outputs": [], + "source": [ + "# Update Ruby\n", + "!rvm get stable\n", + "\n", + "# Reload Ruby (or open a new terminal)\n", + "!rvm reload\n", + "\n", + "# List all known RVM installable rubies\n", + "!rvm list known\n", + "\n", + "# List all installed Ruby versions\n", + "!rvm rubies\n", + "\n", + "# Install a specific Ruby version\n", + "!rvm install 2.1.5\n", + "\n", + "# Set Ruby version\n", + "!rvm --default ruby-2.1.5\n", + "\n", + "# Check Ruby version\n", + "!ruby -v" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "

Jekyll

" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "[Jekyll](http://jekyllrb.com/) is a blog framework that can be hosted on GitHub Pages.\n", + "\n", + "In addition to donnemartin.com, I’ve started to build up its mirror site donnemartin.github.io to try out Jekyll. So far I love that I can use my existing developer tools to generate content (SublimeText, Terminal, and GitHub).\n", + "\n", + "Here are other features I like about Jekyll:\n", + "\n", + "* Converts Markdown to produce fast, static pages\n", + "* Simple to get started, no backend or manual updates\n", + "* Hosted on GitHub Pages\n", + "* Open source on GitHub" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Many Jekyll themes require a Ruby version of 2 and above. However, the AWS CLI requires Ruby 1.8.7. Run the proper version of Ruby for Jekyll:" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "collapsed": false + }, + "outputs": [], + "source": [ + "!rvm --default ruby-2.1.5" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Build and run the localy Jekyll server:" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "collapsed": false + }, + "outputs": [], + "source": [ + "# => The current folder will be generated into ./_site\n", + "!bundle exec jekyll build\n", + "\n", + "# => A development server will run at http://localhost:4000/\n", + "# Auto-regeneration: enabled. Use `--no-watch` to disable.\n", + "!bundle exec jekyll serve" + ] } - ] -} \ No newline at end of file + ], + "metadata": { + "kernelspec": { + "display_name": "Python 2", + "language": "python", + "name": "python2" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 2 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython2", + "version": "2.7.9" + } + }, + "nbformat": 4, + "nbformat_minor": 0 +}