http://git-wip-us.apache.org/repos/asf/mahout/blob/01522230/developers/github.html
----------------------------------------------------------------------
diff --git a/developers/github.html b/developers/github.html
new file mode 100644
index 0000000..24fe0e2
--- /dev/null
+++ b/developers/github.html
@@ -0,0 +1,464 @@
+
+
+<!DOCTYPE html>
+<!--
+
+    Licensed to the Apache Software Foundation (ASF) under one or more
+    contributor license agreements.  See the NOTICE file distributed with
+    this work for additional information regarding copyright ownership.
+    The ASF licenses this file to You under the Apache License, Version 2.0
+    (the "License"); you may not use this file except in compliance with
+    the License.  You may obtain a copy of the License at
+
+       http://www.apache.org/licenses/LICENSE-2.0
+
+    Unless required by applicable law or agreed to in writing, software
+    distributed under the License is distributed on an "AS IS" BASIS,
+    WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+    See the License for the specific language governing permissions and
+    limitations under the License.
+-->
+
+<html xmlns="http://www.w3.org/1999/xhtml"; xml:lang="en" lang="en"><head><meta 
http-equiv="Content-Type" content="text/html; charset=UTF-8">
+  <title>Apache Mahout: Scalable machine learning and data mining</title>
+  <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
+  <meta name="Distribution" content="Global">
+  <meta name="Robots" content="index,follow">
+  <meta name="keywords" content="apache, apache hadoop, apache lucene,
+        business data mining, cluster analysis,
+        collaborative filtering, data extraction, data filtering, data 
framework, data integration,
+        data matching, data mining, data mining algorithms, data mining 
analysis, data mining data,
+        data mining introduction, data mining software,
+        data mining techniques, data representation, data set, datamining,
+        feature extraction, fuzzy k means, genetic algorithm, hadoop,
+        hierarchical clustering, high dimensional, introduction to data 
mining, kmeans,
+        knowledge discovery, learning approach, learning approaches, learning 
methods,
+        learning techniques, lucene, machine learning, machine translation, 
mahout apache,
+        mahout taste, map reduce hadoop, mining data, mining methods, naive 
bayes,
+        natural language processing,
+        supervised, text mining, time series data, unsupervised, web data 
mining">
+  <link rel="shortcut icon" type="image/x-icon" 
href="https://mahout.apache.org/images/favicon.ico";>
+  <!--<script type="text/javascript" src="/js/prototype.js"></script>-->
+  <script type="text/javascript" 
src="https://ajax.googleapis.com/ajax/libs/prototype/1.7.2.0/prototype.js";></script>
+  <script type="text/javascript" 
src="/assets/themes/mahout-retro/js/effects.js"></script>
+  <script type="text/javascript" 
src="/assets/themes/mahout-retro/js/search.js"></script>
+  <script type="text/javascript" 
src="/assets/themes/mahout-retro/js/slides.js"></script>
+
+  <link href="/assets/themes/mahout-retro/css/bootstrap.min.css" 
rel="stylesheet" media="screen">
+  <link href="/assets/themes/mahout-retro/css/bootstrap-responsive.css" 
rel="stylesheet">
+  <link rel="stylesheet" href="/assets/themes/mahout-retro/css/global.css" 
type="text/css">
+
+  <!-- mathJax stuff -- use `\(...\)` for inline style math in markdown -->
+  <script type="text/x-mathjax-config">
+  MathJax.Hub.Config({
+    tex2jax: {
+      skipTags: ['script', 'noscript', 'style', 'textarea', 'pre']
+    }
+  });
+  MathJax.Hub.Queue(function() {
+    var all = MathJax.Hub.getAllJax(), i;
+    for(i = 0; i < all.length; i += 1) {
+      all[i].SourceElement().parentNode.className += ' has-jax';
+    }
+  });
+  </script>
+  <script type="text/javascript">
+    var mathjax = document.createElement('script'); 
+    mathjax.type = 'text/javascript'; 
+    mathjax.async = true;
+
+    mathjax.src = ('https:' == document.location.protocol) ?
+        
'https://c328740.ssl.cf1.rackcdn.com/mathjax/latest/MathJax.js?config=TeX-AMS-MML_HTMLorMML'
 : 
+        
'http://cdn.mathjax.org/mathjax/latest/MathJax.js?config=TeX-AMS-MML_HTMLorMML';
+       
+         var s = document.getElementsByTagName('script')[0]; 
+    s.parentNode.insertBefore(mathjax, s);
+  </script>
+</head>
+
+<body id="home" data-twttr-rendered="true">
+  <div id="wrap">
+   <div id="header">
+    <div id="logo"><a href="/"><img src="/assets/img/mahout-logo-brudman.png" 
alt="Logos for Mahout and Apache Software Foundation" /></a></div>
+  <div id="search">
+    <form id="search-form" action="http://www.google.com/search"; method="get" 
class="navbar-search pull-right">    
+      <input value="http://mahout.apache.org"; name="sitesearch" type="hidden">
+      <input class="search-query" name="q" id="query" type="text">
+      <input id="submission" type="image" src="/assets/img/mahout-lupe.png" 
alt="Search" />
+    </form>
+  </div>
+ 
+    <div class="navbar navbar-inverse" 
style="position:absolute;top:133px;padding-right:0px;padding-left:0px;">
+      <div class="navbar-inner" style="border: none; background: #999; border: 
none; border-radius: 0px;">
+        <div class="container">
+          <button type="button" class="btn btn-navbar" data-toggle="collapse" 
data-target=".nav-collapse">
+            <span class="icon-bar"></span>
+            <span class="icon-bar"></span>
+            <span class="icon-bar"></span>
+          </button>
+          <!-- <a class="brand" href="#">Apache Community Development 
Project</a> -->
+            <!--<div class="nav-collapse collapse">-->
+<div class="collapse navbar-collapse" id="main-navbar">
+    <ul class="nav navbar-nav">
+        <!-- <li><a href="/">Home</a></li> -->
+        <li class="dropdown"> <a href="#" class="dropdown-toggle" 
data-toggle="dropdown">General<b class="caret"></b></a>
+            <ul class="dropdown-menu">
+                <li><a href="/general/downloads.html">Downloads</a>
+                <li><a href="/general/who-we-are.html">Who we are</a>
+                <li><a 
href="/general/mailing-lists,-irc-and-archives.html">Mailing Lists</a>
+                <li><a href="/general/release-notes.html">Release Notes</a>
+                <li><a href="/general/books-tutorials-and-talks.html">Books, 
Tutorials, Talks</a></li>
+                <li><a href="/general/powered-by-mahout.html">Powered By 
Mahout</a>
+                <li><a href="/general/professional-support.html">Professional 
Support</a>
+                <li class="divider"></li>
+                <li class="nav-header">Resources</li>
+                <li><a href="/general/reference-reading.html">Reference 
Reading</a>
+                <li><a href="/general/faq.html">FAQ</a>
+                <li class="divider"></li>
+                <li class="nav-header">Legal</li>
+                <li><a href="http://www.apache.org/licenses/";>License</a></li>
+                <li><a href="http://www.apache.org/security/";>Security</a></li>
+                <li><a href="/general/privacy-policy.html">Privacy Policy</a>
+            </ul>
+        </li>
+        <li class="dropdown"> <a href="#" class="dropdown-toggle" 
data-toggle="dropdown">Developers<b class="caret"></b></a>
+            <ul class="dropdown-menu">
+                <li><a href="/developers/developer-resources.html">Developer 
resources</a></li>
+                <li><a href="/developers/version-control.html">Version 
control</a></li>
+                <li><a href="/developers/buildingmahout.html">Build from 
source</a></li>
+                <li><a href="/developers/issue-tracker.html">Issue 
tracker</a></li>
+                <li><a href="https://builds.apache.org/job/Mahout-Quality/"; 
target="_blank">Code quality reports</a></li>
+                <li class="divider"></li>
+                <li class="nav-header">Contributions</li>
+                <li><a href="/developers/how-to-contribute.html">How to 
contribute</a></li>
+                <li><a href="/developers/how-to-become-a-committer.html">How 
to become a committer</a></li>
+                <li><a href="/developers/gsoc.html">GSoC</a></li>
+                <li class="divider"></li>
+                <li class="nav-header">For committers</li>
+                <li><a href="/developers/how-to-update-the-website.html">How 
to update the website</a></li>
+                <li><a href="/developers/patch-check-list.html">Patch check 
list</a></li>
+                <li><a href="/developers/github.html">Handling Github 
PRs</a></li>
+                <li><a href="/developers/how-to-release.html">How to 
release</a></li>
+                <li><a href="/developers/thirdparty-dependencies.html">Third 
party dependencies</a></li>
+            </ul>
+        </li>
+        <li class="dropdown"> <a href="#" class="dropdown-toggle" 
data-toggle="dropdown">Mahout-Samsara<b class="caret"></b></a>
+            <ul class="dropdown-menu">
+                <li><a href="/users/sparkbindings/home.html">Scala &amp; Spark 
Bindings Overview</a></li>
+                <li><a href="/users/sparkbindings/faq.html">FAQ</a></li>
+                <li><a 
href="/users/flinkbindings/playing-with-samsara-flink.html">Flink Bindings 
Overview</a></li>
+                <li class="nav-header">Engines</li>
+                <li><a href="/users/sparkbindings/home.html">Spark</a></li>
+                <li><a 
href="/users/environment/h2o-internals.html">H2O</a></li>
+                <li><a 
href="/users/flinkbindings/flink-internals.html">Flink</a></li>
+                <li class="nav-header">References</li>
+                <li><a 
href="/users/environment/in-core-reference.html">In-Core Algebraic DSL 
Reference</a></li>
+                <li><a 
href="/users/environment/out-of-core-reference.html">Distributed Algebraic DSL 
Reference</a></li>
+                <li class="nav-header">Tutorials</li>
+                <li><a 
href="/users/sparkbindings/play-with-shell.html">Playing with Mahout's Spark 
Shell</a></li>
+                <li><a href="/users/environment/how-to-build-an-app.html">How 
to build an app</a></li>
+                <li><a 
href="/users/environment/classify-a-doc-from-the-shell.html">Building a text 
classifier in Mahout's Spark Shell</a></li>
+            </ul>
+        </li>
+        <li class="dropdown"> <a href="#" class="dropdown-toggle" 
data-toggle="dropdown">Algorithms<b class="caret"></b></a>
+            <ul class="dropdown-menu">
+                <li><a href="/users/basics/algorithms.html">List of 
algorithms</a>
+                <li class="nav-header">Distributed Matrix Decomposition</li>
+                <li><a href="/users/algorithms/d-qr.html">Cholesky QR</a></li>
+                <li><a href="/users/algorithms/d-ssvd.html">SSVD</a></li>
+                <li><a href="/users/algorithms/d-als.html">Distributed 
ALS</a></li>
+                <li><a href="/users/algorithms/d-spca.html">SPCA</a></li>
+                <li class="nav-header">Recommendations</li>
+                <li><a 
href="/users/algorithms/recommender-overview.html">Recommender Overview</a></li>
+                <li><a 
href="/users/algorithms/intro-cooccurrence-spark.html">Intro to 
cooccurrence-based<br/> recommendations with Spark</a></li>
+                <li class="nav-header">Classification</li>
+                <li><a href="/users/algorithms/spark-naive-bayes.html">Spark 
Naive Bayes</a></li>
+            </ul>
+        </li>
+        <li class="dropdown"> <a href="#" class="dropdown-toggle" 
data-toggle="dropdown">MapReduce Basics<b class="caret"></b></a>
+            <ul class="dropdown-menu">
+                <li><a href="/users/basics/algorithms.html">List of 
algorithms</a>
+                <li><a href="/users/basics/quickstart.html">Overview</a>
+                <li class="divider"></li>
+                <li class="nav-header">Working with text</li>
+                <li><a 
href="/users/basics/creating-vectors-from-text.html">Creating vectors from 
text</a>
+                <li><a href="/users/basics/collocations.html">Collocations</a>
+                <li class="divider"></li>
+                <li class="nav-header">Dimensionality reduction</li>
+                <li><a 
href="/users/dim-reduction/dimensional-reduction.html">Singular Value 
Decomposition</a></li>
+                <li><a href="/users/dim-reduction/ssvd.html">Stochastic 
SVD</a></li>
+                <li class="divider"></li>
+                <li class="nav-header">Topic Models</li>
+                <li><a 
href="/users/clustering/latent-dirichlet-allocation.html">Latent Dirichlet 
Allocation</a></li>
+            </ul>
+        </li>
+        <li class="dropdown"> <a href="#" class="dropdown-toggle" 
data-toggle="dropdown">Mahout MapReduce<b class="caret"></b></a>
+            <ul class="dropdown-menu">
+                <li class="nav-header">Classification</li>
+                <li><a href="/users/classification/bayesian.html">Naive 
Bayes</a></li>
+                <li><a 
href="/users/classification/hidden-markov-models.html">Hidden Markov 
Models</a></li>
+                <li><a 
href="/users/classification/logistic-regression.html">Logistic Regression 
(Single Machine)</a></li>
+                <li><a 
href="/users/classification/partial-implementation.html">Random Forest</a></li>
+                <li class="nav-header">Classification Examples</li>
+                <li><a 
href="/users/classification/breiman-example.html">Breiman example</a></li>
+                <li><a href="/users/classification/twenty-newsgroups.html">20 
newsgroups example</a></li>
+                <li><a 
href="/users/classification/bankmarketing-example.html">SGD classifier bank 
marketing</a></li>
+                <li><a 
href="/users/classification/wikipedia-classifier-example.html">Wikipedia XML 
parser and classifier</a></li>
+                <li class="nav-header">Clustering</li>
+                <li><a 
href="/users/clustering/k-means-clustering.html">k-Means</a></li>
+                <li><a 
href="/users/clustering/canopy-clustering.html">Canopy</a></li>
+                <li><a href="/users/clustering/fuzzy-k-means.html">Fuzzy 
k-Means</a></li>
+                <li><a 
href="/users/clustering/streaming-k-means.html">Streaming KMeans</a></li>
+                <li><a 
href="/users/clustering/spectral-clustering.html">Spectral Clustering</a></li>
+                <li class="nav-header">Clustering Commandline usage</li>
+                <li><a 
href="/users/clustering/k-means-commandline.html">Options for k-Means</a></li>
+                <li><a 
href="/users/clustering/canopy-commandline.html">Options for Canopy</a></li>
+                <li><a 
href="/users/clustering/fuzzy-k-means-commandline.html">Options for Fuzzy 
k-Means</a></li>
+                <li class="nav-header">Clustering Examples</li>
+                <li><a 
href="/users/clustering/clustering-of-synthetic-control-data.html">Synthetic 
data</a></li>
+                <li class="nav-header">Cluster Post processing</li>
+                <li><a href="/users/clustering/cluster-dumper.html">Cluster 
Dumper tool</a></li>
+                <li><a 
href="/users/clustering/visualizing-sample-clusters.html">Cluster 
visualisation</a></li>
+                <li class="nav-header">Recommendations</li>
+                <li><a 
href="/users/recommender/recommender-first-timer-faq.html">First Timer 
FAQ</a></li>
+                <li><a href="/users/recommender/userbased-5-minutes.html">A 
user-based recommender <br/>in 5 minutes</a></li>
+                <li><a 
href="/users/recommender/matrix-factorization.html">Matrix 
factorization-based<br/> recommenders</a></li>
+                <li><a 
href="/users/recommender/recommender-documentation.html">Overview</a></li>
+                <li><a 
href="/users/recommender/intro-itembased-hadoop.html">Intro to item-based 
recommendations<br/> with Hadoop</a></li>
+                <li><a href="/users/recommender/intro-als-hadoop.html">Intro 
to ALS recommendations<br/> with Hadoop</a></li>
+            </ul>
+        </li>
+        <!--  <li class="dropdown"> <a href="#" class="dropdown-toggle" 
data-toggle="dropdown">Recommendations<b class="caret"></b></a>
+          <ul class="dropdown-menu">
+
+          </ul> -->
+        </li>
+    </ul>
+</div><!--/.nav-collapse -->
+        </div>
+      </div>
+    </div>
+
+</div>
+
+ <div id="sidebar">
+  <div id="sidebar-wrap">
+    <h2>Twitter</h2>
+       <ul class="sidemenu">
+               <li>
+<a class="twitter-timeline" href="https://twitter.com/ApacheMahout"; 
data-widget-id="422861673444028416">Tweets by @ApacheMahout</a>
+<script>!function(d,s,id){var 
js,fjs=d.getElementsByTagName(s)[0],p=/^http:/.test(d.location)?'http':'https';if(!d.getElementById(id)){js=d.createElement(s);js.id=id;js.src=p+"://platform.twitter.com/widgets.js";fjs.parentNode.insertBefore(js,fjs);}}(document,"script","twitter-wjs");</script>
+</li>
+       </ul>
+    <h2>Apache Software Foundation</h2>
+    <ul class="sidemenu">
+      <li><a href="http://www.apache.org/foundation/how-it-works.html";>How the 
ASF works</a></li>
+      <li><a href="http://www.apache.org/foundation/getinvolved.html";>Get 
Involved</a></li>
+      <li><a href="http://www.apache.org/dev/";>Developer Resources</a></li>
+      <li><a 
href="http://www.apache.org/foundation/sponsorship.html";>Sponsorship</a></li>
+      <li><a 
href="http://www.apache.org/foundation/thanks.html";>Thanks</a></li>
+    </ul>
+    <h2>Related Projects</h2>
+    <ul class="sidemenu">
+      <li><a href="http://lucene.apache.org/";>Apache Lucene</a></li>
+      <li><a href="http://hadoop.apache.org/";>Apache Hadoop</a></li>
+      <li><a href="http://bigtop.apache.org/";>Apache Bigtop</a></li>
+      <li><a href="http://spark.apache.org/";>Apache Spark</a></li>
+         <li><a href="http://flink.apache.org/";>Apache Flink</a></li>
+    </ul>
+  </div>
+</div>
+
+  <div id="content-wrap" class="clearfix">
+   <div id="main">
+
+    <h1 id="github-setup-and-pull-requests-prs">Github Setup and Pull Requests 
(PRs)</h1>
+
+<p>There are several ways to setup Git for committers and contributors. 
Contributors can safely setup 
+Git any way they choose but committers should take extra care since they can 
push new commits to the master at 
+Apache and various policies there make backing out mistakes problematic. 
Therefore all but very small changes should 
+go through a PR, even for committers. To keep the commit history clean take 
note of the use of –squash below
+when merging into apache/master.</p>
+
+<h2 id="git-setup-for-committers">Git setup for Committers</h2>
+
+<p>This describes setup for one local repo and two remotes. It allows you to 
push the code on your machine to either your Github repo or to 
git-wip-us.apache.org. 
+You will want to fork github’s apache/mahout to your own account on github, 
this will enable Pull Requests of your own. 
+Cloning this fork locally will set up “origin” to point to your remote 
fork on github as the default remote. 
+So if you perform “git push origin master” it will go to github.</p>
+
+<p>To attach to the apache git repo do the following:</p>
+
+<div class="highlighter-rouge"><div class="highlight"><pre 
class="highlight"><code>git remote add apache 
https://git-wip-us.apache.org/repos/asf/mahout.git
+</code></pre></div></div>
+
+<p>To check your remote setup</p>
+
+<div class="highlighter-rouge"><div class="highlight"><pre 
class="highlight"><code>git remote -v
+</code></pre></div></div>
+
+<p>you should see something like this:</p>
+
+<div class="highlighter-rouge"><div class="highlight"><pre 
class="highlight"><code>origin    https://github.com/your-github-id/mahout.git 
(fetch)
+origin    https://github.com/your-github-id/mahout.git (push)
+apache    https://git-wip-us.apache.org/repos/asf/mahout.git (fetch)
+apache    https://git-wip-us.apache.org/repos/asf/mahout.git (push)
+</code></pre></div></div>
+
+<p>Now if you want to experiment with a branch everything, by default, points 
to your github account because ‘origin’ is default. You can work as normal 
using only github until you are ready to merge with the apache remote. Some 
conventions will integrate with Apache Jira ticket numbers.</p>
+
+<div class="highlighter-rouge"><div class="highlight"><pre 
class="highlight"><code>git checkout -b mahout-xxxx #xxxx typically is a Jira 
ticket number
+#do some work on the branch
+git commit -a -m "doing some work"
+git push origin mahout-xxxx # notice pushing to **origin** not **apache**
+</code></pre></div></div>
+
+<p>Once you are ready to commit to the apache remote you can merge and push 
them directly or better yet create a PR.</p>
+
+<h2 id="how-to-create-a-pr-committers">How to create a PR (committers)</h2>
+
+<p>Push your branch to Github:</p>
+
+<div class="highlighter-rouge"><div class="highlight"><pre 
class="highlight"><code>git checkout mahout-xxxx
+git push origin mahout-xxxx
+</code></pre></div></div>
+
+<p>Go to your mahout-xxxx branch on Github. Since you forked it from 
Github’s apache/mahout it will default
+any PR to go to apache/master.</p>
+
+<ul>
+  <li>Click the green “Compare, review, and create pull request” 
button.</li>
+  <li>You can edit the to and from for the PR if it isn’t correct. The 
“base fork” should be apache/mahout unless you are collaborating 
+separately with one of the committers on the list. The “base” will be 
master. Don’t submit a PR to one of the other 
+branches unless you know what you are doing. The “head fork” will be your 
forked repo and the “compare” will be 
+your mahout-xxxx branch.</li>
+  <li>Click the “Create pull request” button and name the request 
“MAHOUT-XXXX” all caps. 
+This will connect the comments of the PR to the mailing list and Jira 
comments.</li>
+  <li>From now on the PR lives on github’s apache/mahout. You use the 
commenting UI there.</li>
+  <li>If you are looking for a review or sharing with someone else say so in 
the comments but don’t worry about 
+automated merging of your PR–you will have to do that later. The PR is tied 
to your branch so you can respond to 
+comments, make fixes, and commit them from your local repo. They will appear 
on the PR page and be mirrored to Jira 
+and the mailing list.</li>
+</ul>
+
+<p>When you are satisfied and want to push it to Apache’s remote repo 
proceed with <strong>Merging a PR</strong></p>
+
+<h2 id="how-to-create-a-pr-contributors">How to create a PR (contributors)</h2>
+
+<p>Create pull requests: [<a 
href="https://help.github.com/articles/creating-a-pull-request";>1</a>].</p>
+
+<p>Pull requests are made to apache/mahout repository on Github. In the Github 
UI you should pick the master 
+branch to target the PR as described for committers. This will be reviewed and 
commented on so the merge is 
+not automatic. This can be used for discussing a contributions in progress.</p>
+
+<h2 id="merging-a-pr-yours-or-contributors">Merging a PR (yours or 
contributors)</h2>
+
+<p>Start with reading [<a 
href="https://help.github.com/articles/merging-a-pull-request#merging-locally";>2</a>]
 (merging locally).</p>
+
+<p>Remember that pull requests are equivalent to a remote github branch with 
potentially a multitude of commits. 
+In this case it is recommended to squash remote commit history to have one 
commit per issue, rather 
+than merging in a multitude of contributor’s commits. In order to do that, 
as well as close the PR at the 
+same time, it is recommended to use <strong>squash commits</strong>.</p>
+
+<p>Merging pull requests are equivalent to a “pull” of a contributor’s 
branch:</p>
+
+<div class="highlighter-rouge"><div class="highlight"><pre 
class="highlight"><code>git checkout master      # switch to local master branch
+git pull apache master   # fast-forward to current remote HEAD
+git pull --squash https://github.com/cuser/mahout cbranch  # merge to master 
+</code></pre></div></div>
+
+<p>–squash ensures all PR history is squashed into single commit, and allows 
committer to use his/her own
+message. Read git help for merge or pull for more information about <code 
class="highlighter-rouge">--squash</code> option. In this example we 
+assume that the contributor’s Github handle is “cuser” and the PR branch 
name is “cbranch”. 
+Next, resolve conflicts, if any, or ask a contributor to rebase on top of 
master, if PR went out of sync.</p>
+
+<p>If you are ready to merge your own (committer’s) PR you probably only 
need to merge (not pull), since you have a local copy 
+that you’ve been working on. This is the branch that you used to create the 
PR.</p>
+
+<div class="highlighter-rouge"><div class="highlight"><pre 
class="highlight"><code>git checkout master      # switch to local master branch
+git pull apache master   # fast-forward to current remote HEAD
+git merge --squash mahout-xxxx
+</code></pre></div></div>
+
+<p>Remember to run regular patch checks, build with tests enabled, and change 
CHANGELOG.</p>
+
+<p>If everything is fine, you now can commit the squashed request along the 
lines</p>
+
+<div class="highlighter-rouge"><div class="highlight"><pre 
class="highlight"><code>git commit --author &lt;contributor_email&gt; -a -m 
"MAHOUT-XXXX description closes apache/mahout#ZZ"
+</code></pre></div></div>
+
+<p>MAHOUT-XXXX is all caps and where <code class="highlighter-rouge">ZZ</code> 
is the pull request number on apache/mahout repository. Including 
+“closes apache/mahout#ZZ” will close the PR automatically. More 
information is found here [<a 
href="https://help.github.com/articles/closing-issues-via-commit-messages";>3</a>].</p>
+
+<p>Next, push to git-wip-us.a.o:</p>
+
+<div class="highlighter-rouge"><div class="highlight"><pre 
class="highlight"><code>push apache master
+</code></pre></div></div>
+
+<p>(this will require Apache handle credentials).</p>
+
+<p>The PR, once pushed, will get mirrored to github. To update your github 
version push there too:</p>
+
+<div class="highlighter-rouge"><div class="highlight"><pre 
class="highlight"><code>push origin master
+</code></pre></div></div>
+
+<p><em>Note on squashing: Since squash discards remote branch history, 
repeated PRs from the same remote branch are 
+difficult for merging. The workflow implies that every new PR starts with a 
new rebased branch. This is more 
+important for contributors to know, rather than for committers, because if new 
PR is not mergeable, github
+would warn to begin with. Anyway, watch for dupe PRs (based on same source 
branches). This is a bad practice.</em></p>
+
+<h2 id="closing-a-pr-without-committing-for-committers">Closing a PR without 
committing (for committers)</h2>
+
+<p>When we want to reject a PR (close without committing), we can just issue 
an empty commit on master’s HEAD 
+<em>without merging the PR</em>:</p>
+
+<div class="highlighter-rouge"><div class="highlight"><pre 
class="highlight"><code>git commit --allow-empty -m "closes apache/mahout#ZZ 
*Won't fix*"
+git push apache master
+</code></pre></div></div>
+
+<p>that should close PR <code class="highlighter-rouge">ZZ</code> on github 
mirror without merging and any code modifications in the master repository.</p>
+
+<h2 id="apachegithub-integration-features">Apache/github integration 
features</h2>
+
+<p>Read [<a 
href="https://blogs.apache.org/infra/entry/improved_integration_between_apache_and";>4</a>].
 Comments and PRs with Mahout issue handles should post to mailing lists and 
Jira.
+Mahout issue handles must be in the form MAHOUT-YYYYY (all capitals). Usually 
it makes sense to 
+file a jira issue first, and then create a PR with description</p>
+
+<div class="highlighter-rouge"><div class="highlight"><pre 
class="highlight"><code>MAHOUT-YYYY: &lt;jira-issue-description&gt;
+</code></pre></div></div>
+
+<p>In this case all subsequent comments will automatically be copied to jira 
without having to mention 
+jira issue explicitly in each comment of the PR.</p>
+
+
+   </div>
+  </div>     
+</div> 
+  <footer class="footer" align="center">
+    <div class="container">
+      <p>
+        Copyright &copy; 2014-2016 The Apache Software Foundation, Licensed 
under
+        the <a href="http://www.apache.org/licenses/LICENSE-2.0";>Apache 
License, Version 2.0</a>.
+        <br />
+                 Apache Mahout, Mahout, Apache, the Apache feather logo, and 
the elephant rider logo are either registered trademarks or trademarks of <a 
href="http://www.apache.org/foundation/marks/";>The Apache Software 
Foundation</a> in the United States and other countries.
+      </p>
+    </div>
+  </footer>
+  
+  <script src="/assets/themes/mahout-retro/js/jquery-1.9.1.min.js"></script>
+  <script src="/assets/themes/mahout-retro/js/bootstrap.min.js"></script>
+  <script>
+    (function() {
+      var cx = '012254517474945470291:vhsfv7eokdc';
+      var gcse = document.createElement('script');
+      gcse.type = 'text/javascript';
+      gcse.async = true;
+      gcse.src = (document.location.protocol == 'https:' ? 'https:' : 'http:') 
+
+          '//www.google.com/cse/cse.js?cx=' + cx;
+      var s = document.getElementsByTagName('script')[0];
+      s.parentNode.insertBefore(gcse, s);
+    })();
+  </script>
+</body>
+</html>
+

http://git-wip-us.apache.org/repos/asf/mahout/blob/01522230/developers/githubPRs.html
----------------------------------------------------------------------
diff --git a/developers/githubPRs.html b/developers/githubPRs.html
new file mode 100644
index 0000000..9627917
--- /dev/null
+++ b/developers/githubPRs.html
@@ -0,0 +1,376 @@
+
+
+<!DOCTYPE html>
+<!--
+
+    Licensed to the Apache Software Foundation (ASF) under one or more
+    contributor license agreements.  See the NOTICE file distributed with
+    this work for additional information regarding copyright ownership.
+    The ASF licenses this file to You under the Apache License, Version 2.0
+    (the "License"); you may not use this file except in compliance with
+    the License.  You may obtain a copy of the License at
+
+       http://www.apache.org/licenses/LICENSE-2.0
+
+    Unless required by applicable law or agreed to in writing, software
+    distributed under the License is distributed on an "AS IS" BASIS,
+    WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+    See the License for the specific language governing permissions and
+    limitations under the License.
+-->
+
+<html xmlns="http://www.w3.org/1999/xhtml"; xml:lang="en" lang="en"><head><meta 
http-equiv="Content-Type" content="text/html; charset=UTF-8">
+  <title>Apache Mahout: Scalable machine learning and data mining</title>
+  <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
+  <meta name="Distribution" content="Global">
+  <meta name="Robots" content="index,follow">
+  <meta name="keywords" content="apache, apache hadoop, apache lucene,
+        business data mining, cluster analysis,
+        collaborative filtering, data extraction, data filtering, data 
framework, data integration,
+        data matching, data mining, data mining algorithms, data mining 
analysis, data mining data,
+        data mining introduction, data mining software,
+        data mining techniques, data representation, data set, datamining,
+        feature extraction, fuzzy k means, genetic algorithm, hadoop,
+        hierarchical clustering, high dimensional, introduction to data 
mining, kmeans,
+        knowledge discovery, learning approach, learning approaches, learning 
methods,
+        learning techniques, lucene, machine learning, machine translation, 
mahout apache,
+        mahout taste, map reduce hadoop, mining data, mining methods, naive 
bayes,
+        natural language processing,
+        supervised, text mining, time series data, unsupervised, web data 
mining">
+  <link rel="shortcut icon" type="image/x-icon" 
href="https://mahout.apache.org/images/favicon.ico";>
+  <!--<script type="text/javascript" src="/js/prototype.js"></script>-->
+  <script type="text/javascript" 
src="https://ajax.googleapis.com/ajax/libs/prototype/1.7.2.0/prototype.js";></script>
+  <script type="text/javascript" 
src="/assets/themes/mahout-retro/js/effects.js"></script>
+  <script type="text/javascript" 
src="/assets/themes/mahout-retro/js/search.js"></script>
+  <script type="text/javascript" 
src="/assets/themes/mahout-retro/js/slides.js"></script>
+
+  <link href="/assets/themes/mahout-retro/css/bootstrap.min.css" 
rel="stylesheet" media="screen">
+  <link href="/assets/themes/mahout-retro/css/bootstrap-responsive.css" 
rel="stylesheet">
+  <link rel="stylesheet" href="/assets/themes/mahout-retro/css/global.css" 
type="text/css">
+
+  <!-- mathJax stuff -- use `\(...\)` for inline style math in markdown -->
+  <script type="text/x-mathjax-config">
+  MathJax.Hub.Config({
+    tex2jax: {
+      skipTags: ['script', 'noscript', 'style', 'textarea', 'pre']
+    }
+  });
+  MathJax.Hub.Queue(function() {
+    var all = MathJax.Hub.getAllJax(), i;
+    for(i = 0; i < all.length; i += 1) {
+      all[i].SourceElement().parentNode.className += ' has-jax';
+    }
+  });
+  </script>
+  <script type="text/javascript">
+    var mathjax = document.createElement('script'); 
+    mathjax.type = 'text/javascript'; 
+    mathjax.async = true;
+
+    mathjax.src = ('https:' == document.location.protocol) ?
+        
'https://c328740.ssl.cf1.rackcdn.com/mathjax/latest/MathJax.js?config=TeX-AMS-MML_HTMLorMML'
 : 
+        
'http://cdn.mathjax.org/mathjax/latest/MathJax.js?config=TeX-AMS-MML_HTMLorMML';
+       
+         var s = document.getElementsByTagName('script')[0]; 
+    s.parentNode.insertBefore(mathjax, s);
+  </script>
+</head>
+
+<body id="home" data-twttr-rendered="true">
+  <div id="wrap">
+   <div id="header">
+    <div id="logo"><a href="/"><img src="/assets/img/mahout-logo-brudman.png" 
alt="Logos for Mahout and Apache Software Foundation" /></a></div>
+  <div id="search">
+    <form id="search-form" action="http://www.google.com/search"; method="get" 
class="navbar-search pull-right">    
+      <input value="http://mahout.apache.org"; name="sitesearch" type="hidden">
+      <input class="search-query" name="q" id="query" type="text">
+      <input id="submission" type="image" src="/assets/img/mahout-lupe.png" 
alt="Search" />
+    </form>
+  </div>
+ 
+    <div class="navbar navbar-inverse" 
style="position:absolute;top:133px;padding-right:0px;padding-left:0px;">
+      <div class="navbar-inner" style="border: none; background: #999; border: 
none; border-radius: 0px;">
+        <div class="container">
+          <button type="button" class="btn btn-navbar" data-toggle="collapse" 
data-target=".nav-collapse">
+            <span class="icon-bar"></span>
+            <span class="icon-bar"></span>
+            <span class="icon-bar"></span>
+          </button>
+          <!-- <a class="brand" href="#">Apache Community Development 
Project</a> -->
+            <!--<div class="nav-collapse collapse">-->
+<div class="collapse navbar-collapse" id="main-navbar">
+    <ul class="nav navbar-nav">
+        <!-- <li><a href="/">Home</a></li> -->
+        <li class="dropdown"> <a href="#" class="dropdown-toggle" 
data-toggle="dropdown">General<b class="caret"></b></a>
+            <ul class="dropdown-menu">
+                <li><a href="/general/downloads.html">Downloads</a>
+                <li><a href="/general/who-we-are.html">Who we are</a>
+                <li><a 
href="/general/mailing-lists,-irc-and-archives.html">Mailing Lists</a>
+                <li><a href="/general/release-notes.html">Release Notes</a>
+                <li><a href="/general/books-tutorials-and-talks.html">Books, 
Tutorials, Talks</a></li>
+                <li><a href="/general/powered-by-mahout.html">Powered By 
Mahout</a>
+                <li><a href="/general/professional-support.html">Professional 
Support</a>
+                <li class="divider"></li>
+                <li class="nav-header">Resources</li>
+                <li><a href="/general/reference-reading.html">Reference 
Reading</a>
+                <li><a href="/general/faq.html">FAQ</a>
+                <li class="divider"></li>
+                <li class="nav-header">Legal</li>
+                <li><a href="http://www.apache.org/licenses/";>License</a></li>
+                <li><a href="http://www.apache.org/security/";>Security</a></li>
+                <li><a href="/general/privacy-policy.html">Privacy Policy</a>
+            </ul>
+        </li>
+        <li class="dropdown"> <a href="#" class="dropdown-toggle" 
data-toggle="dropdown">Developers<b class="caret"></b></a>
+            <ul class="dropdown-menu">
+                <li><a href="/developers/developer-resources.html">Developer 
resources</a></li>
+                <li><a href="/developers/version-control.html">Version 
control</a></li>
+                <li><a href="/developers/buildingmahout.html">Build from 
source</a></li>
+                <li><a href="/developers/issue-tracker.html">Issue 
tracker</a></li>
+                <li><a href="https://builds.apache.org/job/Mahout-Quality/"; 
target="_blank">Code quality reports</a></li>
+                <li class="divider"></li>
+                <li class="nav-header">Contributions</li>
+                <li><a href="/developers/how-to-contribute.html">How to 
contribute</a></li>
+                <li><a href="/developers/how-to-become-a-committer.html">How 
to become a committer</a></li>
+                <li><a href="/developers/gsoc.html">GSoC</a></li>
+                <li class="divider"></li>
+                <li class="nav-header">For committers</li>
+                <li><a href="/developers/how-to-update-the-website.html">How 
to update the website</a></li>
+                <li><a href="/developers/patch-check-list.html">Patch check 
list</a></li>
+                <li><a href="/developers/github.html">Handling Github 
PRs</a></li>
+                <li><a href="/developers/how-to-release.html">How to 
release</a></li>
+                <li><a href="/developers/thirdparty-dependencies.html">Third 
party dependencies</a></li>
+            </ul>
+        </li>
+        <li class="dropdown"> <a href="#" class="dropdown-toggle" 
data-toggle="dropdown">Mahout-Samsara<b class="caret"></b></a>
+            <ul class="dropdown-menu">
+                <li><a href="/users/sparkbindings/home.html">Scala &amp; Spark 
Bindings Overview</a></li>
+                <li><a href="/users/sparkbindings/faq.html">FAQ</a></li>
+                <li><a 
href="/users/flinkbindings/playing-with-samsara-flink.html">Flink Bindings 
Overview</a></li>
+                <li class="nav-header">Engines</li>
+                <li><a href="/users/sparkbindings/home.html">Spark</a></li>
+                <li><a 
href="/users/environment/h2o-internals.html">H2O</a></li>
+                <li><a 
href="/users/flinkbindings/flink-internals.html">Flink</a></li>
+                <li class="nav-header">References</li>
+                <li><a 
href="/users/environment/in-core-reference.html">In-Core Algebraic DSL 
Reference</a></li>
+                <li><a 
href="/users/environment/out-of-core-reference.html">Distributed Algebraic DSL 
Reference</a></li>
+                <li class="nav-header">Tutorials</li>
+                <li><a 
href="/users/sparkbindings/play-with-shell.html">Playing with Mahout's Spark 
Shell</a></li>
+                <li><a href="/users/environment/how-to-build-an-app.html">How 
to build an app</a></li>
+                <li><a 
href="/users/environment/classify-a-doc-from-the-shell.html">Building a text 
classifier in Mahout's Spark Shell</a></li>
+            </ul>
+        </li>
+        <li class="dropdown"> <a href="#" class="dropdown-toggle" 
data-toggle="dropdown">Algorithms<b class="caret"></b></a>
+            <ul class="dropdown-menu">
+                <li><a href="/users/basics/algorithms.html">List of 
algorithms</a>
+                <li class="nav-header">Distributed Matrix Decomposition</li>
+                <li><a href="/users/algorithms/d-qr.html">Cholesky QR</a></li>
+                <li><a href="/users/algorithms/d-ssvd.html">SSVD</a></li>
+                <li><a href="/users/algorithms/d-als.html">Distributed 
ALS</a></li>
+                <li><a href="/users/algorithms/d-spca.html">SPCA</a></li>
+                <li class="nav-header">Recommendations</li>
+                <li><a 
href="/users/algorithms/recommender-overview.html">Recommender Overview</a></li>
+                <li><a 
href="/users/algorithms/intro-cooccurrence-spark.html">Intro to 
cooccurrence-based<br/> recommendations with Spark</a></li>
+                <li class="nav-header">Classification</li>
+                <li><a href="/users/algorithms/spark-naive-bayes.html">Spark 
Naive Bayes</a></li>
+            </ul>
+        </li>
+        <li class="dropdown"> <a href="#" class="dropdown-toggle" 
data-toggle="dropdown">MapReduce Basics<b class="caret"></b></a>
+            <ul class="dropdown-menu">
+                <li><a href="/users/basics/algorithms.html">List of 
algorithms</a>
+                <li><a href="/users/basics/quickstart.html">Overview</a>
+                <li class="divider"></li>
+                <li class="nav-header">Working with text</li>
+                <li><a 
href="/users/basics/creating-vectors-from-text.html">Creating vectors from 
text</a>
+                <li><a href="/users/basics/collocations.html">Collocations</a>
+                <li class="divider"></li>
+                <li class="nav-header">Dimensionality reduction</li>
+                <li><a 
href="/users/dim-reduction/dimensional-reduction.html">Singular Value 
Decomposition</a></li>
+                <li><a href="/users/dim-reduction/ssvd.html">Stochastic 
SVD</a></li>
+                <li class="divider"></li>
+                <li class="nav-header">Topic Models</li>
+                <li><a 
href="/users/clustering/latent-dirichlet-allocation.html">Latent Dirichlet 
Allocation</a></li>
+            </ul>
+        </li>
+        <li class="dropdown"> <a href="#" class="dropdown-toggle" 
data-toggle="dropdown">Mahout MapReduce<b class="caret"></b></a>
+            <ul class="dropdown-menu">
+                <li class="nav-header">Classification</li>
+                <li><a href="/users/classification/bayesian.html">Naive 
Bayes</a></li>
+                <li><a 
href="/users/classification/hidden-markov-models.html">Hidden Markov 
Models</a></li>
+                <li><a 
href="/users/classification/logistic-regression.html">Logistic Regression 
(Single Machine)</a></li>
+                <li><a 
href="/users/classification/partial-implementation.html">Random Forest</a></li>
+                <li class="nav-header">Classification Examples</li>
+                <li><a 
href="/users/classification/breiman-example.html">Breiman example</a></li>
+                <li><a href="/users/classification/twenty-newsgroups.html">20 
newsgroups example</a></li>
+                <li><a 
href="/users/classification/bankmarketing-example.html">SGD classifier bank 
marketing</a></li>
+                <li><a 
href="/users/classification/wikipedia-classifier-example.html">Wikipedia XML 
parser and classifier</a></li>
+                <li class="nav-header">Clustering</li>
+                <li><a 
href="/users/clustering/k-means-clustering.html">k-Means</a></li>
+                <li><a 
href="/users/clustering/canopy-clustering.html">Canopy</a></li>
+                <li><a href="/users/clustering/fuzzy-k-means.html">Fuzzy 
k-Means</a></li>
+                <li><a 
href="/users/clustering/streaming-k-means.html">Streaming KMeans</a></li>
+                <li><a 
href="/users/clustering/spectral-clustering.html">Spectral Clustering</a></li>
+                <li class="nav-header">Clustering Commandline usage</li>
+                <li><a 
href="/users/clustering/k-means-commandline.html">Options for k-Means</a></li>
+                <li><a 
href="/users/clustering/canopy-commandline.html">Options for Canopy</a></li>
+                <li><a 
href="/users/clustering/fuzzy-k-means-commandline.html">Options for Fuzzy 
k-Means</a></li>
+                <li class="nav-header">Clustering Examples</li>
+                <li><a 
href="/users/clustering/clustering-of-synthetic-control-data.html">Synthetic 
data</a></li>
+                <li class="nav-header">Cluster Post processing</li>
+                <li><a href="/users/clustering/cluster-dumper.html">Cluster 
Dumper tool</a></li>
+                <li><a 
href="/users/clustering/visualizing-sample-clusters.html">Cluster 
visualisation</a></li>
+                <li class="nav-header">Recommendations</li>
+                <li><a 
href="/users/recommender/recommender-first-timer-faq.html">First Timer 
FAQ</a></li>
+                <li><a href="/users/recommender/userbased-5-minutes.html">A 
user-based recommender <br/>in 5 minutes</a></li>
+                <li><a 
href="/users/recommender/matrix-factorization.html">Matrix 
factorization-based<br/> recommenders</a></li>
+                <li><a 
href="/users/recommender/recommender-documentation.html">Overview</a></li>
+                <li><a 
href="/users/recommender/intro-itembased-hadoop.html">Intro to item-based 
recommendations<br/> with Hadoop</a></li>
+                <li><a href="/users/recommender/intro-als-hadoop.html">Intro 
to ALS recommendations<br/> with Hadoop</a></li>
+            </ul>
+        </li>
+        <!--  <li class="dropdown"> <a href="#" class="dropdown-toggle" 
data-toggle="dropdown">Recommendations<b class="caret"></b></a>
+          <ul class="dropdown-menu">
+
+          </ul> -->
+        </li>
+    </ul>
+</div><!--/.nav-collapse -->
+        </div>
+      </div>
+    </div>
+
+</div>
+
+ <div id="sidebar">
+  <div id="sidebar-wrap">
+    <h2>Twitter</h2>
+       <ul class="sidemenu">
+               <li>
+<a class="twitter-timeline" href="https://twitter.com/ApacheMahout"; 
data-widget-id="422861673444028416">Tweets by @ApacheMahout</a>
+<script>!function(d,s,id){var 
js,fjs=d.getElementsByTagName(s)[0],p=/^http:/.test(d.location)?'http':'https';if(!d.getElementById(id)){js=d.createElement(s);js.id=id;js.src=p+"://platform.twitter.com/widgets.js";fjs.parentNode.insertBefore(js,fjs);}}(document,"script","twitter-wjs");</script>
+</li>
+       </ul>
+    <h2>Apache Software Foundation</h2>
+    <ul class="sidemenu">
+      <li><a href="http://www.apache.org/foundation/how-it-works.html";>How the 
ASF works</a></li>
+      <li><a href="http://www.apache.org/foundation/getinvolved.html";>Get 
Involved</a></li>
+      <li><a href="http://www.apache.org/dev/";>Developer Resources</a></li>
+      <li><a 
href="http://www.apache.org/foundation/sponsorship.html";>Sponsorship</a></li>
+      <li><a 
href="http://www.apache.org/foundation/thanks.html";>Thanks</a></li>
+    </ul>
+    <h2>Related Projects</h2>
+    <ul class="sidemenu">
+      <li><a href="http://lucene.apache.org/";>Apache Lucene</a></li>
+      <li><a href="http://hadoop.apache.org/";>Apache Hadoop</a></li>
+      <li><a href="http://bigtop.apache.org/";>Apache Bigtop</a></li>
+      <li><a href="http://spark.apache.org/";>Apache Spark</a></li>
+         <li><a href="http://flink.apache.org/";>Apache Flink</a></li>
+    </ul>
+  </div>
+</div>
+
+  <div id="content-wrap" class="clearfix">
+   <div id="main">
+
+    <h1 id="handling-github-prs">Handling Github PRs</h1>
+
+<hr />
+
+<h2 id="how-to-create-a-pr-for-contributers">how to create a PR (for 
contributers)</h2>
+
+<p>Read [<a 
href="https://help.github.com/articles/creating-a-pull-request";>1</a>].</p>
+
+<p>Pull requests are made to apache/mahout repository on Github.</p>
+
+<h2 id="merging-a-pr-and-closing-it-for-committers">merging a PR and closing 
it (for committers).</h2>
+
+<p>Remember that pull requests are equivalent to a remote branch with 
potentially a multitude of commits. 
+In this case it is recommended to squash remote commit history to have one 
commit per issue, rather 
+than merging in a multitude of contributer’s commits. In order to do that, 
as well as close the PR at the 
+same time, it is recommended to use <strong>squash commits</strong>.</p>
+
+<p>Read [<a 
href="https://help.github.com/articles/merging-a-pull-request#merging-locally";>2</a>]
 (merging locally). Merging pull requests are equivalent to merging 
contributor’s branch:</p>
+
+<div class="highlighter-rouge"><div class="highlight"><pre 
class="highlight"><code>git checkout master      # switch to local master branch
+git pull apache master   # fast-forward to current remote HEAD
+git pull --squash https://github.com/cuser/mahout cbranch  # merge to master 
+</code></pre></div></div>
+
+<p>In this example we assume that contributor Github handle is “cuser” and 
the PR branch name is “cbranch” there. We also 
+assume that <em>apache</em> remote is configured as</p>
+
+<div class="highlighter-rouge"><div class="highlight"><pre 
class="highlight"><code>apache  
https://git-wip-us.apache.org/repos/asf/mahout.git (fetch)
+apache  https://git-wip-us.apache.org/repos/asf/mahout.git (push)
+</code></pre></div></div>
+
+<p>Squash pull ensures all PR history is squashed into single commit. Also, it 
is not yet committed, even if 
+fast forward is possible, so you get chance to change things before 
committing.</p>
+
+<p>At this point resolve conflicts, if any, or ask contributor to rebase on 
top of master, if PR went out of sync.</p>
+
+<p>Also run regular patch checks and change CHANGELOG.</p>
+
+<p>Suppose everything is fine, you now can commit the squashed request</p>
+
+<div class="highlighter-rouge"><div class="highlight"><pre 
class="highlight"><code>git commit -a
+</code></pre></div></div>
+
+<p>edit message to contain “MAHOUT-YYYY description <strong>closes 
#ZZ</strong>”, where ZZ is the pull request number. 
+Including “closes #ZZ” will close PR automatically. More information [<a 
href="https://help.github.com/articles/closing-issues-via-commit-messages";>3</a>].</p>
+
+<p>push apache master</p>
+
+<p>(this will require credentials).</p>
+
+<p>Note on squashing: Since squash discards remote branch history, repeated 
PRs from the same remote branch are 
+difficult for merging. The workflow implies that every new PR starts with a 
new rebased branch. This is more 
+important for contributors to know, rather than for committers, because if new 
PR is not mergeable, github
+would warn to begin with. Anyway, watch for dupe PRs (based on same source 
branches). This is a bad practice.</p>
+
+<h2 id="closing-a-pr-without-committing">Closing a PR without committing</h2>
+
+<p>When we want to reject a PR (close without committing), just do the 
following commit on master’s HEAD 
+<em>without merging the PR</em>:</p>
+
+<div class="highlighter-rouge"><div class="highlight"><pre 
class="highlight"><code>git commit --allow-empty -m "closes #ZZ *Won't fix*"
+git push apache master
+</code></pre></div></div>
+
+<p>that should close PR without merging and any code modifications in the 
master repository.</p>
+
+<h2 id="apachegithub-integration-features">Apache/github integration 
features</h2>
+
+<p>Read [<a 
href="https://blogs.apache.org/infra/entry/improved_integration_between_apache_and";>4</a>].
 Issue handles mentioned in comments and PR name should post to mailing lists 
and Jira.</p>
+
+
+   </div>
+  </div>     
+</div> 
+  <footer class="footer" align="center">
+    <div class="container">
+      <p>
+        Copyright &copy; 2014-2016 The Apache Software Foundation, Licensed 
under
+        the <a href="http://www.apache.org/licenses/LICENSE-2.0";>Apache 
License, Version 2.0</a>.
+        <br />
+                 Apache Mahout, Mahout, Apache, the Apache feather logo, and 
the elephant rider logo are either registered trademarks or trademarks of <a 
href="http://www.apache.org/foundation/marks/";>The Apache Software 
Foundation</a> in the United States and other countries.
+      </p>
+    </div>
+  </footer>
+  
+  <script src="/assets/themes/mahout-retro/js/jquery-1.9.1.min.js"></script>
+  <script src="/assets/themes/mahout-retro/js/bootstrap.min.js"></script>
+  <script>
+    (function() {
+      var cx = '012254517474945470291:vhsfv7eokdc';
+      var gcse = document.createElement('script');
+      gcse.type = 'text/javascript';
+      gcse.async = true;
+      gcse.src = (document.location.protocol == 'https:' ? 'https:' : 'http:') 
+
+          '//www.google.com/cse/cse.js?cx=' + cx;
+      var s = document.getElementsByTagName('script')[0];
+      s.parentNode.insertBefore(gcse, s);
+    })();
+  </script>
+</body>
+</html>
+

http://git-wip-us.apache.org/repos/asf/mahout/blob/01522230/developers/gsoc.html
----------------------------------------------------------------------
diff --git a/developers/gsoc.html b/developers/gsoc.html
new file mode 100644
index 0000000..86df60a
--- /dev/null
+++ b/developers/gsoc.html
@@ -0,0 +1,369 @@
+
+
+<!DOCTYPE html>
+<!--
+
+    Licensed to the Apache Software Foundation (ASF) under one or more
+    contributor license agreements.  See the NOTICE file distributed with
+    this work for additional information regarding copyright ownership.
+    The ASF licenses this file to You under the Apache License, Version 2.0
+    (the "License"); you may not use this file except in compliance with
+    the License.  You may obtain a copy of the License at
+
+       http://www.apache.org/licenses/LICENSE-2.0
+
+    Unless required by applicable law or agreed to in writing, software
+    distributed under the License is distributed on an "AS IS" BASIS,
+    WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+    See the License for the specific language governing permissions and
+    limitations under the License.
+-->
+
+<html xmlns="http://www.w3.org/1999/xhtml"; xml:lang="en" lang="en"><head><meta 
http-equiv="Content-Type" content="text/html; charset=UTF-8">
+  <title>Apache Mahout: Scalable machine learning and data mining</title>
+  <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
+  <meta name="Distribution" content="Global">
+  <meta name="Robots" content="index,follow">
+  <meta name="keywords" content="apache, apache hadoop, apache lucene,
+        business data mining, cluster analysis,
+        collaborative filtering, data extraction, data filtering, data 
framework, data integration,
+        data matching, data mining, data mining algorithms, data mining 
analysis, data mining data,
+        data mining introduction, data mining software,
+        data mining techniques, data representation, data set, datamining,
+        feature extraction, fuzzy k means, genetic algorithm, hadoop,
+        hierarchical clustering, high dimensional, introduction to data 
mining, kmeans,
+        knowledge discovery, learning approach, learning approaches, learning 
methods,
+        learning techniques, lucene, machine learning, machine translation, 
mahout apache,
+        mahout taste, map reduce hadoop, mining data, mining methods, naive 
bayes,
+        natural language processing,
+        supervised, text mining, time series data, unsupervised, web data 
mining">
+  <link rel="shortcut icon" type="image/x-icon" 
href="https://mahout.apache.org/images/favicon.ico";>
+  <!--<script type="text/javascript" src="/js/prototype.js"></script>-->
+  <script type="text/javascript" 
src="https://ajax.googleapis.com/ajax/libs/prototype/1.7.2.0/prototype.js";></script>
+  <script type="text/javascript" 
src="/assets/themes/mahout-retro/js/effects.js"></script>
+  <script type="text/javascript" 
src="/assets/themes/mahout-retro/js/search.js"></script>
+  <script type="text/javascript" 
src="/assets/themes/mahout-retro/js/slides.js"></script>
+
+  <link href="/assets/themes/mahout-retro/css/bootstrap.min.css" 
rel="stylesheet" media="screen">
+  <link href="/assets/themes/mahout-retro/css/bootstrap-responsive.css" 
rel="stylesheet">
+  <link rel="stylesheet" href="/assets/themes/mahout-retro/css/global.css" 
type="text/css">
+
+  <!-- mathJax stuff -- use `\(...\)` for inline style math in markdown -->
+  <script type="text/x-mathjax-config">
+  MathJax.Hub.Config({
+    tex2jax: {
+      skipTags: ['script', 'noscript', 'style', 'textarea', 'pre']
+    }
+  });
+  MathJax.Hub.Queue(function() {
+    var all = MathJax.Hub.getAllJax(), i;
+    for(i = 0; i < all.length; i += 1) {
+      all[i].SourceElement().parentNode.className += ' has-jax';
+    }
+  });
+  </script>
+  <script type="text/javascript">
+    var mathjax = document.createElement('script'); 
+    mathjax.type = 'text/javascript'; 
+    mathjax.async = true;
+
+    mathjax.src = ('https:' == document.location.protocol) ?
+        
'https://c328740.ssl.cf1.rackcdn.com/mathjax/latest/MathJax.js?config=TeX-AMS-MML_HTMLorMML'
 : 
+        
'http://cdn.mathjax.org/mathjax/latest/MathJax.js?config=TeX-AMS-MML_HTMLorMML';
+       
+         var s = document.getElementsByTagName('script')[0]; 
+    s.parentNode.insertBefore(mathjax, s);
+  </script>
+</head>
+
+<body id="home" data-twttr-rendered="true">
+  <div id="wrap">
+   <div id="header">
+    <div id="logo"><a href="/"><img src="/assets/img/mahout-logo-brudman.png" 
alt="Logos for Mahout and Apache Software Foundation" /></a></div>
+  <div id="search">
+    <form id="search-form" action="http://www.google.com/search"; method="get" 
class="navbar-search pull-right">    
+      <input value="http://mahout.apache.org"; name="sitesearch" type="hidden">
+      <input class="search-query" name="q" id="query" type="text">
+      <input id="submission" type="image" src="/assets/img/mahout-lupe.png" 
alt="Search" />
+    </form>
+  </div>
+ 
+    <div class="navbar navbar-inverse" 
style="position:absolute;top:133px;padding-right:0px;padding-left:0px;">
+      <div class="navbar-inner" style="border: none; background: #999; border: 
none; border-radius: 0px;">
+        <div class="container">
+          <button type="button" class="btn btn-navbar" data-toggle="collapse" 
data-target=".nav-collapse">
+            <span class="icon-bar"></span>
+            <span class="icon-bar"></span>
+            <span class="icon-bar"></span>
+          </button>
+          <!-- <a class="brand" href="#">Apache Community Development 
Project</a> -->
+            <!--<div class="nav-collapse collapse">-->
+<div class="collapse navbar-collapse" id="main-navbar">
+    <ul class="nav navbar-nav">
+        <!-- <li><a href="/">Home</a></li> -->
+        <li class="dropdown"> <a href="#" class="dropdown-toggle" 
data-toggle="dropdown">General<b class="caret"></b></a>
+            <ul class="dropdown-menu">
+                <li><a href="/general/downloads.html">Downloads</a>
+                <li><a href="/general/who-we-are.html">Who we are</a>
+                <li><a 
href="/general/mailing-lists,-irc-and-archives.html">Mailing Lists</a>
+                <li><a href="/general/release-notes.html">Release Notes</a>
+                <li><a href="/general/books-tutorials-and-talks.html">Books, 
Tutorials, Talks</a></li>
+                <li><a href="/general/powered-by-mahout.html">Powered By 
Mahout</a>
+                <li><a href="/general/professional-support.html">Professional 
Support</a>
+                <li class="divider"></li>
+                <li class="nav-header">Resources</li>
+                <li><a href="/general/reference-reading.html">Reference 
Reading</a>
+                <li><a href="/general/faq.html">FAQ</a>
+                <li class="divider"></li>
+                <li class="nav-header">Legal</li>
+                <li><a href="http://www.apache.org/licenses/";>License</a></li>
+                <li><a href="http://www.apache.org/security/";>Security</a></li>
+                <li><a href="/general/privacy-policy.html">Privacy Policy</a>
+            </ul>
+        </li>
+        <li class="dropdown"> <a href="#" class="dropdown-toggle" 
data-toggle="dropdown">Developers<b class="caret"></b></a>
+            <ul class="dropdown-menu">
+                <li><a href="/developers/developer-resources.html">Developer 
resources</a></li>
+                <li><a href="/developers/version-control.html">Version 
control</a></li>
+                <li><a href="/developers/buildingmahout.html">Build from 
source</a></li>
+                <li><a href="/developers/issue-tracker.html">Issue 
tracker</a></li>
+                <li><a href="https://builds.apache.org/job/Mahout-Quality/"; 
target="_blank">Code quality reports</a></li>
+                <li class="divider"></li>
+                <li class="nav-header">Contributions</li>
+                <li><a href="/developers/how-to-contribute.html">How to 
contribute</a></li>
+                <li><a href="/developers/how-to-become-a-committer.html">How 
to become a committer</a></li>
+                <li><a href="/developers/gsoc.html">GSoC</a></li>
+                <li class="divider"></li>
+                <li class="nav-header">For committers</li>
+                <li><a href="/developers/how-to-update-the-website.html">How 
to update the website</a></li>
+                <li><a href="/developers/patch-check-list.html">Patch check 
list</a></li>
+                <li><a href="/developers/github.html">Handling Github 
PRs</a></li>
+                <li><a href="/developers/how-to-release.html">How to 
release</a></li>
+                <li><a href="/developers/thirdparty-dependencies.html">Third 
party dependencies</a></li>
+            </ul>
+        </li>
+        <li class="dropdown"> <a href="#" class="dropdown-toggle" 
data-toggle="dropdown">Mahout-Samsara<b class="caret"></b></a>
+            <ul class="dropdown-menu">
+                <li><a href="/users/sparkbindings/home.html">Scala &amp; Spark 
Bindings Overview</a></li>
+                <li><a href="/users/sparkbindings/faq.html">FAQ</a></li>
+                <li><a 
href="/users/flinkbindings/playing-with-samsara-flink.html">Flink Bindings 
Overview</a></li>
+                <li class="nav-header">Engines</li>
+                <li><a href="/users/sparkbindings/home.html">Spark</a></li>
+                <li><a 
href="/users/environment/h2o-internals.html">H2O</a></li>
+                <li><a 
href="/users/flinkbindings/flink-internals.html">Flink</a></li>
+                <li class="nav-header">References</li>
+                <li><a 
href="/users/environment/in-core-reference.html">In-Core Algebraic DSL 
Reference</a></li>
+                <li><a 
href="/users/environment/out-of-core-reference.html">Distributed Algebraic DSL 
Reference</a></li>
+                <li class="nav-header">Tutorials</li>
+                <li><a 
href="/users/sparkbindings/play-with-shell.html">Playing with Mahout's Spark 
Shell</a></li>
+                <li><a href="/users/environment/how-to-build-an-app.html">How 
to build an app</a></li>
+                <li><a 
href="/users/environment/classify-a-doc-from-the-shell.html">Building a text 
classifier in Mahout's Spark Shell</a></li>
+            </ul>
+        </li>
+        <li class="dropdown"> <a href="#" class="dropdown-toggle" 
data-toggle="dropdown">Algorithms<b class="caret"></b></a>
+            <ul class="dropdown-menu">
+                <li><a href="/users/basics/algorithms.html">List of 
algorithms</a>
+                <li class="nav-header">Distributed Matrix Decomposition</li>
+                <li><a href="/users/algorithms/d-qr.html">Cholesky QR</a></li>
+                <li><a href="/users/algorithms/d-ssvd.html">SSVD</a></li>
+                <li><a href="/users/algorithms/d-als.html">Distributed 
ALS</a></li>
+                <li><a href="/users/algorithms/d-spca.html">SPCA</a></li>
+                <li class="nav-header">Recommendations</li>
+                <li><a 
href="/users/algorithms/recommender-overview.html">Recommender Overview</a></li>
+                <li><a 
href="/users/algorithms/intro-cooccurrence-spark.html">Intro to 
cooccurrence-based<br/> recommendations with Spark</a></li>
+                <li class="nav-header">Classification</li>
+                <li><a href="/users/algorithms/spark-naive-bayes.html">Spark 
Naive Bayes</a></li>
+            </ul>
+        </li>
+        <li class="dropdown"> <a href="#" class="dropdown-toggle" 
data-toggle="dropdown">MapReduce Basics<b class="caret"></b></a>
+            <ul class="dropdown-menu">
+                <li><a href="/users/basics/algorithms.html">List of 
algorithms</a>
+                <li><a href="/users/basics/quickstart.html">Overview</a>
+                <li class="divider"></li>
+                <li class="nav-header">Working with text</li>
+                <li><a 
href="/users/basics/creating-vectors-from-text.html">Creating vectors from 
text</a>
+                <li><a href="/users/basics/collocations.html">Collocations</a>
+                <li class="divider"></li>
+                <li class="nav-header">Dimensionality reduction</li>
+                <li><a 
href="/users/dim-reduction/dimensional-reduction.html">Singular Value 
Decomposition</a></li>
+                <li><a href="/users/dim-reduction/ssvd.html">Stochastic 
SVD</a></li>
+                <li class="divider"></li>
+                <li class="nav-header">Topic Models</li>
+                <li><a 
href="/users/clustering/latent-dirichlet-allocation.html">Latent Dirichlet 
Allocation</a></li>
+            </ul>
+        </li>
+        <li class="dropdown"> <a href="#" class="dropdown-toggle" 
data-toggle="dropdown">Mahout MapReduce<b class="caret"></b></a>
+            <ul class="dropdown-menu">
+                <li class="nav-header">Classification</li>
+                <li><a href="/users/classification/bayesian.html">Naive 
Bayes</a></li>
+                <li><a 
href="/users/classification/hidden-markov-models.html">Hidden Markov 
Models</a></li>
+                <li><a 
href="/users/classification/logistic-regression.html">Logistic Regression 
(Single Machine)</a></li>
+                <li><a 
href="/users/classification/partial-implementation.html">Random Forest</a></li>
+                <li class="nav-header">Classification Examples</li>
+                <li><a 
href="/users/classification/breiman-example.html">Breiman example</a></li>
+                <li><a href="/users/classification/twenty-newsgroups.html">20 
newsgroups example</a></li>
+                <li><a 
href="/users/classification/bankmarketing-example.html">SGD classifier bank 
marketing</a></li>
+                <li><a 
href="/users/classification/wikipedia-classifier-example.html">Wikipedia XML 
parser and classifier</a></li>
+                <li class="nav-header">Clustering</li>
+                <li><a 
href="/users/clustering/k-means-clustering.html">k-Means</a></li>
+                <li><a 
href="/users/clustering/canopy-clustering.html">Canopy</a></li>
+                <li><a href="/users/clustering/fuzzy-k-means.html">Fuzzy 
k-Means</a></li>
+                <li><a 
href="/users/clustering/streaming-k-means.html">Streaming KMeans</a></li>
+                <li><a 
href="/users/clustering/spectral-clustering.html">Spectral Clustering</a></li>
+                <li class="nav-header">Clustering Commandline usage</li>
+                <li><a 
href="/users/clustering/k-means-commandline.html">Options for k-Means</a></li>
+                <li><a 
href="/users/clustering/canopy-commandline.html">Options for Canopy</a></li>
+                <li><a 
href="/users/clustering/fuzzy-k-means-commandline.html">Options for Fuzzy 
k-Means</a></li>
+                <li class="nav-header">Clustering Examples</li>
+                <li><a 
href="/users/clustering/clustering-of-synthetic-control-data.html">Synthetic 
data</a></li>
+                <li class="nav-header">Cluster Post processing</li>
+                <li><a href="/users/clustering/cluster-dumper.html">Cluster 
Dumper tool</a></li>
+                <li><a 
href="/users/clustering/visualizing-sample-clusters.html">Cluster 
visualisation</a></li>
+                <li class="nav-header">Recommendations</li>
+                <li><a 
href="/users/recommender/recommender-first-timer-faq.html">First Timer 
FAQ</a></li>
+                <li><a href="/users/recommender/userbased-5-minutes.html">A 
user-based recommender <br/>in 5 minutes</a></li>
+                <li><a 
href="/users/recommender/matrix-factorization.html">Matrix 
factorization-based<br/> recommenders</a></li>
+                <li><a 
href="/users/recommender/recommender-documentation.html">Overview</a></li>
+                <li><a 
href="/users/recommender/intro-itembased-hadoop.html">Intro to item-based 
recommendations<br/> with Hadoop</a></li>
+                <li><a href="/users/recommender/intro-als-hadoop.html">Intro 
to ALS recommendations<br/> with Hadoop</a></li>
+            </ul>
+        </li>
+        <!--  <li class="dropdown"> <a href="#" class="dropdown-toggle" 
data-toggle="dropdown">Recommendations<b class="caret"></b></a>
+          <ul class="dropdown-menu">
+
+          </ul> -->
+        </li>
+    </ul>
+</div><!--/.nav-collapse -->
+        </div>
+      </div>
+    </div>
+
+</div>
+
+ <div id="sidebar">
+  <div id="sidebar-wrap">
+    <h2>Twitter</h2>
+       <ul class="sidemenu">
+               <li>
+<a class="twitter-timeline" href="https://twitter.com/ApacheMahout"; 
data-widget-id="422861673444028416">Tweets by @ApacheMahout</a>
+<script>!function(d,s,id){var 
js,fjs=d.getElementsByTagName(s)[0],p=/^http:/.test(d.location)?'http':'https';if(!d.getElementById(id)){js=d.createElement(s);js.id=id;js.src=p+"://platform.twitter.com/widgets.js";fjs.parentNode.insertBefore(js,fjs);}}(document,"script","twitter-wjs");</script>
+</li>
+       </ul>
+    <h2>Apache Software Foundation</h2>
+    <ul class="sidemenu">
+      <li><a href="http://www.apache.org/foundation/how-it-works.html";>How the 
ASF works</a></li>
+      <li><a href="http://www.apache.org/foundation/getinvolved.html";>Get 
Involved</a></li>
+      <li><a href="http://www.apache.org/dev/";>Developer Resources</a></li>
+      <li><a 
href="http://www.apache.org/foundation/sponsorship.html";>Sponsorship</a></li>
+      <li><a 
href="http://www.apache.org/foundation/thanks.html";>Thanks</a></li>
+    </ul>
+    <h2>Related Projects</h2>
+    <ul class="sidemenu">
+      <li><a href="http://lucene.apache.org/";>Apache Lucene</a></li>
+      <li><a href="http://hadoop.apache.org/";>Apache Hadoop</a></li>
+      <li><a href="http://bigtop.apache.org/";>Apache Bigtop</a></li>
+      <li><a href="http://spark.apache.org/";>Apache Spark</a></li>
+         <li><a href="http://flink.apache.org/";>Apache Flink</a></li>
+    </ul>
+  </div>
+</div>
+
+  <div id="content-wrap" class="clearfix">
+   <div id="main">
+
+    <h1 id="google-summer-of-code">Google Summer of Code</h1>
+
+<p>Mahout has been mentoring students in Google Summer of Code (GSoC) for as 
long as
+the project has existed.  To help students better understand what is
+expected of them, this page lays out common advice, links and other tips
+and tricks for successfully creating a GSoC proposal for Mahout.</p>
+
+<p>Be warned, however, that GSoC, particularly at the Apache Software
+Foundation (ASF), is fairly competitive.  Not only are you competing
+against others within Mahout, but Mahout is competing with other projects
+in the ASF.  Therefore, it is very important that proposals be well
+referenced and well thought out.  Even if you don’t get selected, consider
+sticking around.  Open source is fun, a great career builder and can open up 
many
+opportunities for you.</p>
+
+<h2 id="tips-on-good-proposals">Tips on Good Proposals</h2>
+
+<ul>
+  <li>Interact with the community before proposal time.  This is actually part
+of how we rate proposals.  Having a good idea is just one part of the
+process.  You must show you can communicate and work within the community
+parameters.   You might even consider putting up a patch or two that shows
+you get how things work.  See <a href="how-to-contribute.html">How To 
Contribute</a>.</li>
+  <li>Since Machine Learning is fairly academic, be sure to cite your sources
+in your proposal.</li>
+  <li>Provide a realistic timeline.  Be sure you indicate what other
+obligations you have during the summer.  It may seem worthwhile to lie
+here, but we have failed students mid-term in the past because they did not
+participate as they said they would.  Failing mid-term means not getting
+paid.</li>
+  <li>Do not mail mentors off list privately unless it is something truly
+personal (most things are not).  This will likely decrease your chances of
+being selected, not increase them.</li>
+  <li>DO NOT BITE OFF MORE THAN YOU CAN CHEW.  Every year, there are a few
+students who propose to implement 3-5 machine learning algorithms on
+Map/Reduce, all in a two month period. They NEVER get selected.   Be
+realistic.  All successful projects to date follow, more or less, the
+following formula:  Implement algorithm on Map/Reduce. Write Unit Tests. 
+Do some bigger scale tests.  Write 1 or 2 examples.  Write Wiki
+documentation. That’s it.  Trust us, it takes a summer to do these 
things.</li>
+</ul>
+
+<h2 id="what-to-expect-once-selected">What to expect once selected</h2>
+
+<ul>
+  <li>Just as in the proposals, almost all interaction should take place on the
+mailing lists. Only personal matters related to your whereabouts or your
+evaluation will take place privately.</li>
+  <li>Show up.  Ask questions.  Be engaged.  We don’t care if you know it all
+about what you are implementing.  We care about you contributing to open
+source.  You learn.  We learn. Win-win.</li>
+  <li>Enjoy it!  Contributing to open source can open some amazing doors for
+your career.</li>
+</ul>
+
+<p><a name="GSOC-References"></a></p>
+<h2 id="references">References</h2>
+
+<ul>
+  <li><a href="http://code.google.com/soc/";>GSoC Home</a> - official GSoC 
page</li>
+  <li><a 
href="http://socghop.appspot.com/document/show/gsoc_program/google/gsoc2010/faqs";>GSoC
 FAQ</a> - official FAQ</li>
+  <li><a href="http://community.apache.org/gsoc.html";>Apache GSoC 
coordination</a> - official Apache GSoC documentation, especially important  if 
you want to become a mentor</li>
+</ul>
+
+   </div>
+  </div>     
+</div> 
+  <footer class="footer" align="center">
+    <div class="container">
+      <p>
+        Copyright &copy; 2014-2016 The Apache Software Foundation, Licensed 
under
+        the <a href="http://www.apache.org/licenses/LICENSE-2.0";>Apache 
License, Version 2.0</a>.
+        <br />
+                 Apache Mahout, Mahout, Apache, the Apache feather logo, and 
the elephant rider logo are either registered trademarks or trademarks of <a 
href="http://www.apache.org/foundation/marks/";>The Apache Software 
Foundation</a> in the United States and other countries.
+      </p>
+    </div>
+  </footer>
+  
+  <script src="/assets/themes/mahout-retro/js/jquery-1.9.1.min.js"></script>
+  <script src="/assets/themes/mahout-retro/js/bootstrap.min.js"></script>
+  <script>
+    (function() {
+      var cx = '012254517474945470291:vhsfv7eokdc';
+      var gcse = document.createElement('script');
+      gcse.type = 'text/javascript';
+      gcse.async = true;
+      gcse.src = (document.location.protocol == 'https:' ? 'https:' : 'http:') 
+
+          '//www.google.com/cse/cse.js?cx=' + cx;
+      var s = document.getElementsByTagName('script')[0];
+      s.parentNode.insertBefore(gcse, s);
+    })();
+  </script>
+</body>
+</html>
+

Reply via email to