You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@beam.apache.org by da...@apache.org on 2016/10/26 04:28:59 UTC

[2/2] incubator-beam-site git commit: Rebuild the site following merge of PR #50

Rebuild the site following merge of PR #50


Project: http://git-wip-us.apache.org/repos/asf/incubator-beam-site/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-beam-site/commit/2302aee6
Tree: http://git-wip-us.apache.org/repos/asf/incubator-beam-site/tree/2302aee6
Diff: http://git-wip-us.apache.org/repos/asf/incubator-beam-site/diff/2302aee6

Branch: refs/heads/asf-site
Commit: 2302aee627e38169ae6ba0a37b139a0b56d563a3
Parents: 03542e8
Author: Davor Bonaci <da...@google.com>
Authored: Tue Oct 25 21:27:22 2016 -0700
Committer: Davor Bonaci <da...@google.com>
Committed: Tue Oct 25 21:27:22 2016 -0700

----------------------------------------------------------------------
 .../2016/04/03/presentation-materials.html      |   2 +-
 content/blog/2016/10/20/test-stream.html        | 180 +++++++++---------
 .../contribute/contribution-guide/index.html    |  17 +-
 content/css/main.css                            |   6 +-
 content/feed.xml                                | 186 +++++++++----------
 content/learn/presentation-materials/index.html |   8 +-
 content/learn/programming-guide/index.html      |   2 +-
 .../learn/runners/capability-matrix/index.html  |   2 +-
 content/project/public-meetings/index.html      |   8 +-
 content/styles/site.css                         | 140 ++++++++++++++
 10 files changed, 340 insertions(+), 211 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-beam-site/blob/2302aee6/content/beam/capability/2016/04/03/presentation-materials.html
----------------------------------------------------------------------
diff --git a/content/beam/capability/2016/04/03/presentation-materials.html b/content/beam/capability/2016/04/03/presentation-materials.html
index c16c8d1..3b9e357 100644
--- a/content/beam/capability/2016/04/03/presentation-materials.html
+++ b/content/beam/capability/2016/04/03/presentation-materials.html
@@ -175,7 +175,7 @@
   </li>
 </ul>
 
-<p>As Apache Beam grows, so will this repository of presentation materials. We are excited to add new materials as the Apache Beam ecosystem grows with new runners, SDKs, and so on. If you are interested in contributing content or have a request, please see the <a href="/learn/presentation-materials/">Apache Beam presentation materials</a> page or email the <a href="&#109;&#097;&#105;&#108;&#116;&#111;:&#117;&#115;&#101;&#114;&#064;&#098;&#101;&#097;&#109;&#046;&#105;&#110;&#099;&#117;&#098;&#097;&#116;&#111;&#114;&#046;&#097;&#112;&#097;&#099;&#104;&#101;&#046;&#111;&#114;&#103;"><code class="highlighter-rouge">user@beam.incubator.apache.org</code></a> mailing list with your ideas or questions.</p>
+<p>As Apache Beam grows, so will this repository of presentation materials. We are excited to add new materials as the Apache Beam ecosystem grows with new runners, SDKs, and so on. If you are interested in contributing content or have a request, please see the <a href="/learn/presentation-materials/">Apache Beam presentation materials</a> page or email the <a href="mailto:user@beam.incubator.apache.org"><code class="highlighter-rouge">user@beam.incubator.apache.org</code></a> mailing list with your ideas or questions.</p>
 
   </div>
 

http://git-wip-us.apache.org/repos/asf/incubator-beam-site/blob/2302aee6/content/blog/2016/10/20/test-stream.html
----------------------------------------------------------------------
diff --git a/content/blog/2016/10/20/test-stream.html b/content/blog/2016/10/20/test-stream.html
index 2fc411e..9e06e10 100644
--- a/content/blog/2016/10/20/test-stream.html
+++ b/content/blog/2016/10/20/test-stream.html
@@ -258,17 +258,17 @@ associated pane.</p>
 watermark and provide the result PCollection as input to the CalculateTeamScores
 PTransform:</p>
 
-<div class="highlighter-rouge"><pre class="highlight"><code>TestStream&lt;GameActionInfo&gt; infos = TestStream.create(AvroCoder.of(GameActionInfo.class))
-    .addElements(new GameActionInfo("sky", "blue", 12, new Instant(0L)),
- ����������������new GameActionInfo("navy", "blue", 3, new Instant(0L)),
- ����������������new GameActionInfo("navy", "blue", 3, new Instant(0L).plus(Duration.standardMinutes(3))))
- ���// Move the watermark past the end the end of the window
-    .advanceWatermarkTo(new Instant(0L).plus(TEAM_WINDOW_DURATION)
- �������������������������������       .plus(Duration.standardMinutes(1)))
-    .advanceWatermarkToInfinity();
-
-PCollection&lt;KV&lt;String, Integer&gt;&gt; teamScores = p.apply(createEvents)
-    .apply(new CalculateTeamScores(TEAM_WINDOW_DURATION, ALLOWED_LATENESS));
+<div class="language-java highlighter-rouge"><pre class="highlight"><code><span class="n">TestStream</span><span class="o">&lt;</span><span class="n">GameActionInfo</span><span class="o">&gt;</span> <span class="n">infos</span> <span class="o">=</span> <span class="n">TestStream</span><span class="o">.</span><span class="na">create</span><span class="o">(</span><span class="n">AvroCoder</span><span class="o">.</span><span class="na">of</span><span class="o">(</span><span class="n">GameActionInfo</span><span class="o">.</span><span class="na">class</span><span class="o">))</span>
+    <span class="o">.</span><span class="na">addElements</span><span class="o">(</span><span class="k">new</span> <span class="n">GameActionInfo</span><span class="o">(</span><span class="s">"sky"</span><span class="o">,</span> <span class="s">"blue"</span><span class="o">,</span> <span class="mi">12</span><span class="o">,</span> <span class="k">new</span> <span class="n">Instant</span><span class="o">(</span><span class="mi">0L</span><span class="o">)),</span>
+ <span class="err">����������������</span><span class="k">new</span> <span class="n">GameActionInfo</span><span class="o">(</span><span class="s">"navy"</span><span class="o">,</span> <span class="s">"blue"</span><span class="o">,</span> <span class="mi">3</span><span class="o">,</span> <span class="k">new</span> <span class="n">Instant</span><span class="o">(</span><span class="mi">0L</span><span class="o">)),</span>
+ <span class="err">����������������</span><span class="k">new</span> <span class="n">GameActionInfo</span><span class="o">(</span><span class="s">"navy"</span><span class="o">,</span> <span class="s">"blue"</span><span class="o">,</span> <span class="mi">3</span><span class="o">,</span> <span class="k">new</span> <span class="n">Instant</span><span class="o">(</span><span class="mi">0L</span><span class="o">).</span><span class="na">plus</span><span class="o">(</span><span class="n">Duration</span><span class="o">.</span><span class="na">standardMinutes</span><span class="o">(</span><span class="mi">3</span><span class="o">))))</span>
+ <span class="err">���</span><span class="c1">// Move the watermark past the end the end of the window</span>
+    <span class="o">.</span><span class="na">advanceWatermarkTo</span><span class="o">(</span><span class="k">new</span> <span class="n">Instant</span><span class="o">(</span><span class="mi">0L</span><span class="o">).</span><span class="na">plus</span><span class="o">(</span><span class="n">TEAM_WINDOW_DURATION</span><span class="o">)</span>
+ <span class="err">�������������������������������</span>       <span class="o">.</span><span class="na">plus</span><span class="o">(</span><span class="n">Duration</span><span class="o">.</span><span class="na">standardMinutes</span><span class="o">(</span><span class="mi">1</span><span class="o">)))</span>
+    <span class="o">.</span><span class="na">advanceWatermarkToInfinity</span><span class="o">();</span>
+
+<span class="n">PCollection</span><span class="o">&lt;</span><span class="n">KV</span><span class="o">&lt;</span><span class="n">String</span><span class="o">,</span> <span class="n">Integer</span><span class="o">&gt;&gt;</span> <span class="n">teamScores</span> <span class="o">=</span> <span class="n">p</span><span class="o">.</span><span class="na">apply</span><span class="o">(</span><span class="n">createEvents</span><span class="o">)</span>
+    <span class="o">.</span><span class="na">apply</span><span class="o">(</span><span class="k">new</span> <span class="n">CalculateTeamScores</span><span class="o">(</span><span class="n">TEAM_WINDOW_DURATION</span><span class="o">,</span> <span class="n">ALLOWED_LATENESS</span><span class="o">));</span>
 </code></pre>
 </div>
 
@@ -276,11 +276,11 @@ PCollection&lt;KV&lt;String, Integer&gt;&gt; teamScores = p.apply(createEvents)
 
 <p><img class="center-block" src="/images/blog/test-stream/elements-all-on-time.png" alt="Elements all arrive before the watermark, and are produced in the on-time pane" width="442" /></p>
 
-<div class="highlighter-rouge"><pre class="highlight"><code>// Only one value is emitted for the blue team
-PAssert.that(teamScores)
-       .inWindow(window)
-       .containsInAnyOrder(KV.of("blue", 18));
-p.run();
+<div class="language-java highlighter-rouge"><pre class="highlight"><code><span class="c1">// Only one value is emitted for the blue team</span>
+<span class="n">PAssert</span><span class="o">.</span><span class="na">that</span><span class="o">(</span><span class="n">teamScores</span><span class="o">)</span>
+       <span class="o">.</span><span class="na">inWindow</span><span class="o">(</span><span class="n">window</span><span class="o">)</span>
+       <span class="o">.</span><span class="na">containsInAnyOrder</span><span class="o">(</span><span class="n">KV</span><span class="o">.</span><span class="na">of</span><span class="o">(</span><span class="s">"blue"</span><span class="o">,</span> <span class="mi">18</span><span class="o">));</span>
+<span class="n">p</span><span class="o">.</span><span class="na">run</span><span class="o">();</span>
 </code></pre>
 </div>
 
@@ -292,27 +292,27 @@ of the window (shown below to the left of the red watermark), which demonstrates
 the system to be on time, as it arrives before the watermark passes the end of
 the window</p>
 
-<div class="highlighter-rouge"><pre class="highlight"><code>TestStream&lt;GameActionInfo&gt; infos = TestStream.create(AvroCoder.of(GameActionInfo.class))
-    .addElements(new GameActionInfo("sky", "blue", 3, new Instant(0L)),
- �������         new GameActionInfo("navy", "blue", 3, new Instant(0L).plus(Duration.standardMinutes(3))))
- ���// Move the watermark up to "near" the end of the window
-    .advanceWatermarkTo(new Instant(0L).plus(TEAM_WINDOW_DURATION)
- ���������������       ����������������.minus(Duration.standardMinutes(1)))
-    .addElements(new GameActionInfo("sky", "blue", 12, Duration.ZERO))
-    .advanceWatermarkToInfinity();
-
-PCollection&lt;KV&lt;String, Integer&gt;&gt; teamScores = p.apply(createEvents)
-    .apply(new CalculateTeamScores(TEAM_WINDOW_DURATION, ALLOWED_LATENESS));
+<div class="language-java highlighter-rouge"><pre class="highlight"><code><span class="n">TestStream</span><span class="o">&lt;</span><span class="n">GameActionInfo</span><span class="o">&gt;</span> <span class="n">infos</span> <span class="o">=</span> <span class="n">TestStream</span><span class="o">.</span><span class="na">create</span><span class="o">(</span><span class="n">AvroCoder</span><span class="o">.</span><span class="na">of</span><span class="o">(</span><span class="n">GameActionInfo</span><span class="o">.</span><span class="na">class</span><span class="o">))</span>
+    <span class="o">.</span><span class="na">addElements</span><span class="o">(</span><span class="k">new</span> <span class="n">GameActionInfo</span><span class="o">(</span><span class="s">"sky"</span><span class="o">,</span> <span class="s">"blue"</span><span class="o">,</span> <span class="mi">3</span><span class="o">,</span> <span class="k">new</span> <span class="n">Instant</span><span class="o">(</span><span class="mi">0L</span><span class="o">)),</span>
+ <span class="err">�������</span>         <span class="k">new</span> <span class="n">GameActionInfo</span><span class="o">(</span><span class="s">"navy"</span><span class="o">,</span> <span class="s">"blue"</span><span class="o">,</span> <span class="mi">3</span><span class="o">,</span> <span class="k">new</span> <span class="n">Instant</span><span class="o">(</span><span class="mi">0L</span><span class="o">).</span><span class="na">plus</span><span class="o">(</span><span class="n">Duration</span><span class="o">.</span><span class="na">standardMinutes</span><span class="o">(</span><span class="mi">3</span><span class="o">))))</span>
+ <span class="err">���</span><span class="c1">// Move the watermark up to "near" the end of the window</span>
+    <span class="o">.</span><span class="na">advanceWatermarkTo</span><span class="o">(</span><span class="k">new</span> <span class="n">Instant</span><span class="o">(</span><span class="mi">0L</span><span class="o">).</span><span class="na">plus</span><span class="o">(</span><span class="n">TEAM_WINDOW_DURATION</span><span class="o">)</span>
+ <span class="err">���������������</span>       <span class="err">����������������</span><span class="o">.</span><span class="na">minus</span><span class="o">(</span><span class="n">Duration</span><span class="o">.</span><span class="na">standardMinutes</span><span class="o">(</span><span class="mi">1</span><span class="o">)))</span>
+    <span class="o">.</span><span class="na">addElements</span><span class="o">(</span><span class="k">new</span> <span class="n">GameActionInfo</span><span class="o">(</span><span class="s">"sky"</span><span class="o">,</span> <span class="s">"blue"</span><span class="o">,</span> <span class="mi">12</span><span class="o">,</span> <span class="n">Duration</span><span class="o">.</span><span class="na">ZERO</span><span class="o">))</span>
+    <span class="o">.</span><span class="na">advanceWatermarkToInfinity</span><span class="o">();</span>
+
+<span class="n">PCollection</span><span class="o">&lt;</span><span class="n">KV</span><span class="o">&lt;</span><span class="n">String</span><span class="o">,</span> <span class="n">Integer</span><span class="o">&gt;&gt;</span> <span class="n">teamScores</span> <span class="o">=</span> <span class="n">p</span><span class="o">.</span><span class="na">apply</span><span class="o">(</span><span class="n">createEvents</span><span class="o">)</span>
+    <span class="o">.</span><span class="na">apply</span><span class="o">(</span><span class="k">new</span> <span class="n">CalculateTeamScores</span><span class="o">(</span><span class="n">TEAM_WINDOW_DURATION</span><span class="o">,</span> <span class="n">ALLOWED_LATENESS</span><span class="o">));</span>
 </code></pre>
 </div>
 
 <p><img class="center-block" src="/images/blog/test-stream/elements-unobservably-late.png" alt="An element arrives late, but before the watermark passes the end of the window, and is produced in the on-time pane" width="442" /></p>
 
-<div class="highlighter-rouge"><pre class="highlight"><code>// Only one value is emitted for the blue team
-PAssert.that(teamScores)
-       .inWindow(window)
-       .containsInAnyOrder(KV.of("blue", 18));
-p.run();
+<div class="language-java highlighter-rouge"><pre class="highlight"><code><span class="c1">// Only one value is emitted for the blue team</span>
+<span class="n">PAssert</span><span class="o">.</span><span class="na">that</span><span class="o">(</span><span class="n">teamScores</span><span class="o">)</span>
+       <span class="o">.</span><span class="na">inWindow</span><span class="o">(</span><span class="n">window</span><span class="o">)</span>
+       <span class="o">.</span><span class="na">containsInAnyOrder</span><span class="o">(</span><span class="n">KV</span><span class="o">.</span><span class="na">of</span><span class="o">(</span><span class="s">"blue"</span><span class="o">,</span> <span class="mi">18</span><span class="o">));</span>
+<span class="n">p</span><span class="o">.</span><span class="na">run</span><span class="o">();</span>
 </code></pre>
 </div>
 
@@ -322,31 +322,31 @@ p.run();
 demonstrate the triggering behavior that causes the system to emit an on-time
 pane, and then after the late data arrives, a pane that refines the result.</p>
 
-<div class="highlighter-rouge"><pre class="highlight"><code>TestStream&lt;GameActionInfo&gt; infos = TestStream.create(AvroCoder.of(GameActionInfo.class))
-    .addElements(new GameActionInfo("sky", "blue", 3, new Instant(0L)),
-       ����������new GameActionInfo("navy", "blue", 3, new Instant(0L).plus(Duration.standardMinutes(3))))
-� ��// Move the watermark up to "near" the end of the window
-    .advanceWatermarkTo(new Instant(0L).plus(TEAM_WINDOW_DURATION)
-��������������������������������       .minus(Duration.standardMinutes(1)))
-    .addElements(new GameActionInfo("sky", "blue", 12, Duration.ZERO))
-    .advanceWatermarkToInfinity();
-
-PCollection&lt;KV&lt;String, Integer&gt;&gt; teamScores = p.apply(createEvents)
-    .apply(new CalculateTeamScores(TEAM_WINDOW_DURATION, ALLOWED_LATENESS));
+<div class="language-java highlighter-rouge"><pre class="highlight"><code><span class="n">TestStream</span><span class="o">&lt;</span><span class="n">GameActionInfo</span><span class="o">&gt;</span> <span class="n">infos</span> <span class="o">=</span> <span class="n">TestStream</span><span class="o">.</span><span class="na">create</span><span class="o">(</span><span class="n">AvroCoder</span><span class="o">.</span><span class="na">of</span><span class="o">(</span><span class="n">GameActionInfo</span><span class="o">.</span><span class="na">class</span><span class="o">))</span>
+    <span class="o">.</span><span class="na">addElements</span><span class="o">(</span><span class="k">new</span> <span class="n">GameActionInfo</span><span class="o">(</span><span class="s">"sky"</span><span class="o">,</span> <span class="s">"blue"</span><span class="o">,</span> <span class="mi">3</span><span class="o">,</span> <span class="k">new</span> <span class="n">Instant</span><span class="o">(</span><span class="mi">0L</span><span class="o">)),</span>
+       <span class="err">����������</span><span class="k">new</span> <span class="n">GameActionInfo</span><span class="o">(</span><span class="s">"navy"</span><span class="o">,</span> <span class="s">"blue"</span><span class="o">,</span> <span class="mi">3</span><span class="o">,</span> <span class="k">new</span> <span class="n">Instant</span><span class="o">(</span><span class="mi">0L</span><span class="o">).</span><span class="na">plus</span><span class="o">(</span><span class="n">Duration</span><span class="o">.</span><span class="na">standardMinutes</span><span class="o">(</span><span class="mi">3</span><span class="o">))))</span>
+<span class="err">�</span> <span class="err">��</span><span class="c1">// Move the watermark up to "near" the end of the window</span>
+    <span class="o">.</span><span class="na">advanceWatermarkTo</span><span class="o">(</span><span class="k">new</span> <span class="n">Instant</span><span class="o">(</span><span class="mi">0L</span><span class="o">).</span><span class="na">plus</span><span class="o">(</span><span class="n">TEAM_WINDOW_DURATION</span><span class="o">)</span>
+<span class="err">��������������������������������</span>       <span class="o">.</span><span class="na">minus</span><span class="o">(</span><span class="n">Duration</span><span class="o">.</span><span class="na">standardMinutes</span><span class="o">(</span><span class="mi">1</span><span class="o">)))</span>
+    <span class="o">.</span><span class="na">addElements</span><span class="o">(</span><span class="k">new</span> <span class="n">GameActionInfo</span><span class="o">(</span><span class="s">"sky"</span><span class="o">,</span> <span class="s">"blue"</span><span class="o">,</span> <span class="mi">12</span><span class="o">,</span> <span class="n">Duration</span><span class="o">.</span><span class="na">ZERO</span><span class="o">))</span>
+    <span class="o">.</span><span class="na">advanceWatermarkToInfinity</span><span class="o">();</span>
+
+<span class="n">PCollection</span><span class="o">&lt;</span><span class="n">KV</span><span class="o">&lt;</span><span class="n">String</span><span class="o">,</span> <span class="n">Integer</span><span class="o">&gt;&gt;</span> <span class="n">teamScores</span> <span class="o">=</span> <span class="n">p</span><span class="o">.</span><span class="na">apply</span><span class="o">(</span><span class="n">createEvents</span><span class="o">)</span>
+    <span class="o">.</span><span class="na">apply</span><span class="o">(</span><span class="k">new</span> <span class="n">CalculateTeamScores</span><span class="o">(</span><span class="n">TEAM_WINDOW_DURATION</span><span class="o">,</span> <span class="n">ALLOWED_LATENESS</span><span class="o">));</span>
 </code></pre>
 </div>
 
 <p><img class="center-block" src="/images/blog/test-stream/elements-observably-late.png" alt="Elements all arrive before the watermark, and are produced in the on-time pane" width="442" /></p>
 
-<div class="highlighter-rouge"><pre class="highlight"><code>// An on-time pane is emitted with the events that arrived before the window closed
-PAssert.that(teamScores)
-       .inOnTimePane(window)
-       .containsInAnyOrder(KV.of("blue", 6));
-// The final pane contains the late refinement
-PAssert.that(teamScores)
-       .inFinalPane(window)
-       .containsInAnyOrder(KV.of("blue", 18));
-p.run();
+<div class="language-java highlighter-rouge"><pre class="highlight"><code><span class="c1">// An on-time pane is emitted with the events that arrived before the window closed</span>
+<span class="n">PAssert</span><span class="o">.</span><span class="na">that</span><span class="o">(</span><span class="n">teamScores</span><span class="o">)</span>
+       <span class="o">.</span><span class="na">inOnTimePane</span><span class="o">(</span><span class="n">window</span><span class="o">)</span>
+       <span class="o">.</span><span class="na">containsInAnyOrder</span><span class="o">(</span><span class="n">KV</span><span class="o">.</span><span class="na">of</span><span class="o">(</span><span class="s">"blue"</span><span class="o">,</span> <span class="mi">6</span><span class="o">));</span>
+<span class="c1">// The final pane contains the late refinement</span>
+<span class="n">PAssert</span><span class="o">.</span><span class="na">that</span><span class="o">(</span><span class="n">teamScores</span><span class="o">)</span>
+       <span class="o">.</span><span class="na">inFinalPane</span><span class="o">(</span><span class="n">window</span><span class="o">)</span>
+       <span class="o">.</span><span class="na">containsInAnyOrder</span><span class="o">(</span><span class="n">KV</span><span class="o">.</span><span class="na">of</span><span class="o">(</span><span class="s">"blue"</span><span class="o">,</span> <span class="mi">18</span><span class="o">));</span>
+<span class="n">p</span><span class="o">.</span><span class="na">run</span><span class="o">();</span>
 </code></pre>
 </div>
 
@@ -356,33 +356,33 @@ p.run();
 configured allowed lateness, we can demonstrate that the late element is dropped
 by the system.</p>
 
-<div class="highlighter-rouge"><pre class="highlight"><code>TestStream&lt;GameActionInfo&gt; infos = TestStream.create(AvroCoder.of(GameActionInfo.class))
-    .addElements(new GameActionInfo("sky", "blue", 3, Duration.ZERO),
-        ���������new GameActionInfo("navy", "blue", 3, Duration.standardMinutes(3)))
-����// Move the watermark up to "near" the end of the window
-    .advanceWatermarkTo(new Instant(0).plus(TEAM_WINDOW_DURATION)
- ����������������������������������������.plus(ALLOWED_LATENESS)
- ����������������������������������������.plus(Duration.standardMinutes(1)))
-    .addElements(new GameActionInfo(
-���������������������"sky",
-���������������������"blue",
-���������������������12,
-���������������������new Instant(0).plus(TEAM_WINDOW_DURATION).minus(Duration.standardMinutes(1))))
-    .advanceWatermarkToInfinity();
-
-PCollection&lt;KV&lt;String, Integer&gt;&gt; teamScores = p.apply(createEvents)
-    .apply(new CalculateTeamScores(TEAM_WINDOW_DURATION, ALLOWED_LATENESS));
+<div class="language-java highlighter-rouge"><pre class="highlight"><code><span class="n">TestStream</span><span class="o">&lt;</span><span class="n">GameActionInfo</span><span class="o">&gt;</span> <span class="n">infos</span> <span class="o">=</span> <span class="n">TestStream</span><span class="o">.</span><span class="na">create</span><span class="o">(</span><span class="n">AvroCoder</span><span class="o">.</span><span class="na">of</span><span class="o">(</span><span class="n">GameActionInfo</span><span class="o">.</span><span class="na">class</span><span class="o">))</span>
+    <span class="o">.</span><span class="na">addElements</span><span class="o">(</span><span class="k">new</span> <span class="n">GameActionInfo</span><span class="o">(</span><span class="s">"sky"</span><span class="o">,</span> <span class="s">"blue"</span><span class="o">,</span> <span class="mi">3</span><span class="o">,</span> <span class="n">Duration</span><span class="o">.</span><span class="na">ZERO</span><span class="o">),</span>
+        <span class="err">���������</span><span class="k">new</span> <span class="n">GameActionInfo</span><span class="o">(</span><span class="s">"navy"</span><span class="o">,</span> <span class="s">"blue"</span><span class="o">,</span> <span class="mi">3</span><span class="o">,</span> <span class="n">Duration</span><span class="o">.</span><span class="na">standardMinutes</span><span class="o">(</span><span class="mi">3</span><span class="o">)))</span>
+<span class="err">����</span><span class="c1">// Move the watermark up to "near" the end of the window</span>
+    <span class="o">.</span><span class="na">advanceWatermarkTo</span><span class="o">(</span><span class="k">new</span> <span class="n">Instant</span><span class="o">(</span><span class="mi">0</span><span class="o">).</span><span class="na">plus</span><span class="o">(</span><span class="n">TEAM_WINDOW_DURATION</span><span class="o">)</span>
+ <span class="err">����������������������������������������</span><span class="o">.</span><span class="na">plus</span><span class="o">(</span><span class="n">ALLOWED_LATENESS</span><span class="o">)</span>
+ <span class="err">����������������������������������������</span><span class="o">.</span><span class="na">plus</span><span class="o">(</span><span class="n">Duration</span><span class="o">.</span><span class="na">standardMinutes</span><span class="o">(</span><span class="mi">1</span><span class="o">)))</span>
+    <span class="o">.</span><span class="na">addElements</span><span class="o">(</span><span class="k">new</span> <span class="n">GameActionInfo</span><span class="o">(</span>
+<span class="err">���������������������</span><span class="s">"sky"</span><span class="o">,</span>
+<span class="err">���������������������</span><span class="s">"blue"</span><span class="o">,</span>
+<span class="err">���������������������</span><span class="mi">12</span><span class="o">,</span>
+<span class="err">���������������������</span><span class="k">new</span> <span class="n">Instant</span><span class="o">(</span><span class="mi">0</span><span class="o">).</span><span class="na">plus</span><span class="o">(</span><span class="n">TEAM_WINDOW_DURATION</span><span class="o">).</span><span class="na">minus</span><span class="o">(</span><span class="n">Duration</span><span class="o">.</span><span class="na">standardMinutes</span><span class="o">(</span><span class="mi">1</span><span class="o">))))</span>
+    <span class="o">.</span><span class="na">advanceWatermarkToInfinity</span><span class="o">();</span>
+
+<span class="n">PCollection</span><span class="o">&lt;</span><span class="n">KV</span><span class="o">&lt;</span><span class="n">String</span><span class="o">,</span> <span class="n">Integer</span><span class="o">&gt;&gt;</span> <span class="n">teamScores</span> <span class="o">=</span> <span class="n">p</span><span class="o">.</span><span class="na">apply</span><span class="o">(</span><span class="n">createEvents</span><span class="o">)</span>
+    <span class="o">.</span><span class="na">apply</span><span class="o">(</span><span class="k">new</span> <span class="n">CalculateTeamScores</span><span class="o">(</span><span class="n">TEAM_WINDOW_DURATION</span><span class="o">,</span> <span class="n">ALLOWED_LATENESS</span><span class="o">));</span>
 </code></pre>
 </div>
 
 <p><img class="center-block" src="/images/blog/test-stream/elements-droppably-late.png" alt="Elements all arrive before the watermark, and are produced in the on-time pane" width="442" /></p>
 
-<div class="highlighter-rouge"><pre class="highlight"><code>// An on-time pane is emitted with the events that arrived before the window closed
-PAssert.that(teamScores)
-       .inWindow(window)
-       .containsInAnyOrder(KV.of("blue", 6));
+<div class="language-java highlighter-rouge"><pre class="highlight"><code><span class="c1">// An on-time pane is emitted with the events that arrived before the window closed</span>
+<span class="n">PAssert</span><span class="o">.</span><span class="na">that</span><span class="o">(</span><span class="n">teamScores</span><span class="o">)</span>
+       <span class="o">.</span><span class="na">inWindow</span><span class="o">(</span><span class="n">window</span><span class="o">)</span>
+       <span class="o">.</span><span class="na">containsInAnyOrder</span><span class="o">(</span><span class="n">KV</span><span class="o">.</span><span class="na">of</span><span class="o">(</span><span class="s">"blue"</span><span class="o">,</span> <span class="mi">6</span><span class="o">));</span>
 
-p.run();
+<span class="n">p</span><span class="o">.</span><span class="na">run</span><span class="o">();</span>
 </code></pre>
 </div>
 
@@ -392,29 +392,29 @@ triggers by advancing the processing time of the TestStream. If we add elements
 to an input PCollection, occasionally advancing the processing time clock, and
 apply <code class="highlighter-rouge">CalculateUserScores</code></p>
 
-<div class="highlighter-rouge"><pre class="highlight"><code>TestStream.create(AvroCoder.of(GameActionInfo.class))
- ���.addElements(new GameActionInfo("scarlet", "red", 3, new Instant(0L)),
- ��������������  new GameActionInfo("scarlet", "red", 2, new Instant(0L).plus(Duration.standardMinutes(1))))
-    .advanceProcessingTime(Duration.standardMinutes(12))
- ���.addElements(new GameActionInfo("oxblood", "red", 2, new Instant(0L)).plus(Duration.standardSeconds(22)),
- ��������������  new GameActionInfo("scarlet", "red", 4, new Instant(0L).plus(Duration.standardMinutes(2))))
-    .advanceProcessingTime(Duration.standardMinutes(15))
-    .advanceWatermarkToInfinity();
-
-PCollection&lt;KV&lt;String, Integer&gt;&gt; userScores =
- ���p.apply(infos).apply(new CalculateUserScores(ALLOWED_LATENESS));
+<div class="language-java highlighter-rouge"><pre class="highlight"><code><span class="n">TestStream</span><span class="o">.</span><span class="na">create</span><span class="o">(</span><span class="n">AvroCoder</span><span class="o">.</span><span class="na">of</span><span class="o">(</span><span class="n">GameActionInfo</span><span class="o">.</span><span class="na">class</span><span class="o">))</span>
+ <span class="err">���</span><span class="o">.</span><span class="na">addElements</span><span class="o">(</span><span class="k">new</span> <span class="n">GameActionInfo</span><span class="o">(</span><span class="s">"scarlet"</span><span class="o">,</span> <span class="s">"red"</span><span class="o">,</span> <span class="mi">3</span><span class="o">,</span> <span class="k">new</span> <span class="n">Instant</span><span class="o">(</span><span class="mi">0L</span><span class="o">)),</span>
+ <span class="err">��������������</span>  <span class="k">new</span> <span class="n">GameActionInfo</span><span class="o">(</span><span class="s">"scarlet"</span><span class="o">,</span> <span class="s">"red"</span><span class="o">,</span> <span class="mi">2</span><span class="o">,</span> <span class="k">new</span> <span class="n">Instant</span><span class="o">(</span><span class="mi">0L</span><span class="o">).</span><span class="na">plus</span><span class="o">(</span><span class="n">Duration</span><span class="o">.</span><span class="na">standardMinutes</span><span class="o">(</span><span class="mi">1</span><span class="o">))))</span>
+    <span class="o">.</span><span class="na">advanceProcessingTime</span><span class="o">(</span><span class="n">Duration</span><span class="o">.</span><span class="na">standardMinutes</span><span class="o">(</span><span class="mi">12</span><span class="o">))</span>
+ <span class="err">���</span><span class="o">.</span><span class="na">addElements</span><span class="o">(</span><span class="k">new</span> <span class="n">GameActionInfo</span><span class="o">(</span><span class="s">"oxblood"</span><span class="o">,</span> <span class="s">"red"</span><span class="o">,</span> <span class="mi">2</span><span class="o">,</span> <span class="k">new</span> <span class="n">Instant</span><span class="o">(</span><span class="mi">0L</span><span class="o">)).</span><span class="na">plus</span><span class="o">(</span><span class="n">Duration</span><span class="o">.</span><span class="na">standardSeconds</span><span class="o">(</span><span class="mi">22</span><span class="o">)),</span>
+ <span class="err">��������������</span>  <span class="k">new</span> <span class="n">GameActionInfo</span><span class="o">(</span><span class="s">"scarlet"</span><span class="o">,</span> <span class="s">"red"</span><span class="o">,</span> <span class="mi">4</span><span class="o">,</span> <span class="k">new</span> <span class="n">Instant</span><span class="o">(</span><span class="mi">0L</span><span class="o">).</span><span class="na">plus</span><span class="o">(</span><span class="n">Duration</span><span class="o">.</span><span class="na">standardMinutes</span><span class="o">(</span><span class="mi">2</span><span class="o">))))</span>
+    <span class="o">.</span><span class="na">advanceProcessingTime</span><span class="o">(</span><span class="n">Duration</span><span class="o">.</span><span class="na">standardMinutes</span><span class="o">(</span><span class="mi">15</span><span class="o">))</span>
+    <span class="o">.</span><span class="na">advanceWatermarkToInfinity</span><span class="o">();</span>
+
+<span class="n">PCollection</span><span class="o">&lt;</span><span class="n">KV</span><span class="o">&lt;</span><span class="n">String</span><span class="o">,</span> <span class="n">Integer</span><span class="o">&gt;&gt;</span> <span class="n">userScores</span> <span class="o">=</span>
+ <span class="err">���</span><span class="n">p</span><span class="o">.</span><span class="na">apply</span><span class="o">(</span><span class="n">infos</span><span class="o">).</span><span class="na">apply</span><span class="o">(</span><span class="k">new</span> <span class="n">CalculateUserScores</span><span class="o">(</span><span class="n">ALLOWED_LATENESS</span><span class="o">));</span>
 </code></pre>
 </div>
 
 <p><img class="center-block" src="/images/blog/test-stream/elements-processing-speculative.png" alt="Elements all arrive before the watermark, and are produced in the on-time pane" width="442" /></p>
 
-<div class="highlighter-rouge"><pre class="highlight"><code>PAssert.that(userScores)
-       .inEarlyGlobalWindowPanes()
-       .containsInAnyOrder(KV.of("scarlet", 5),
-   ������������������������KV.of("scarlet", 9),
-                           KV.of("oxblood", 2));
+<div class="language-java highlighter-rouge"><pre class="highlight"><code><span class="n">PAssert</span><span class="o">.</span><span class="na">that</span><span class="o">(</span><span class="n">userScores</span><span class="o">)</span>
+       <span class="o">.</span><span class="na">inEarlyGlobalWindowPanes</span><span class="o">()</span>
+       <span class="o">.</span><span class="na">containsInAnyOrder</span><span class="o">(</span><span class="n">KV</span><span class="o">.</span><span class="na">of</span><span class="o">(</span><span class="s">"scarlet"</span><span class="o">,</span> <span class="mi">5</span><span class="o">),</span>
+   <span class="err">������������������������</span><span class="n">KV</span><span class="o">.</span><span class="na">of</span><span class="o">(</span><span class="s">"scarlet"</span><span class="o">,</span> <span class="mi">9</span><span class="o">),</span>
+                           <span class="n">KV</span><span class="o">.</span><span class="na">of</span><span class="o">(</span><span class="s">"oxblood"</span><span class="o">,</span> <span class="mi">2</span><span class="o">));</span>
 
-p.run();
+<span class="n">p</span><span class="o">.</span><span class="na">run</span><span class="o">();</span>
 </code></pre>
 </div>
 

http://git-wip-us.apache.org/repos/asf/incubator-beam-site/blob/2302aee6/content/contribute/contribution-guide/index.html
----------------------------------------------------------------------
diff --git a/content/contribute/contribution-guide/index.html b/content/contribute/contribution-guide/index.html
index 317748c..95d88d0 100644
--- a/content/contribute/contribution-guide/index.html
+++ b/content/contribute/contribution-guide/index.html
@@ -224,7 +224,7 @@
 <h2 id="engage">Engage</h2>
 
 <h3 id="mailing-lists">Mailing list(s)</h3>
-<p>We discuss design and implementation issues on dev@beam.incubator.apache.org mailing list, which is archived <a href="https://lists.apache.org/list.html?dev@beam.apache.org">here</a>. Join by emailing <a href="&#109;&#097;&#105;&#108;&#116;&#111;:&#100;&#101;&#118;&#045;&#115;&#117;&#098;&#115;&#099;&#114;&#105;&#098;&#101;&#064;&#098;&#101;&#097;&#109;&#046;&#105;&#110;&#099;&#117;&#098;&#097;&#116;&#111;&#114;&#046;&#097;&#112;&#097;&#099;&#104;&#101;&#046;&#111;&#114;&#103;"><code class="highlighter-rouge">dev-subscribe@beam.incubator.apache.org</code></a>.</p>
+<p>We discuss design and implementation issues on dev@beam.incubator.apache.org mailing list, which is archived <a href="https://lists.apache.org/list.html?dev@beam.apache.org">here</a>. Join by emailing <a href="mailto:dev-subscribe@beam.incubator.apache.org"><code class="highlighter-rouge">dev-subscribe@beam.incubator.apache.org</code></a>.</p>
 
 <p>If interested, you can also join the other <a href="http://beam.incubator.apache.org/use/mailing-lists/">mailing lists</a> too.</p>
 
@@ -517,20 +517,11 @@ $ git merge --no-ff \
 
 <p>The Beam website is in the <a href="https://github.com/apache/incubator-beam-site">Beam Site GitHub mirror</a> repository in the <code class="highlighter-rouge">asf-site</code> branch (<em>not</em> <code class="highlighter-rouge">master</code>).</p>
 
-<p>The repository contains:</p>
-
-<ol>
-  <li><code class="highlighter-rouge">_&lt;directory&gt;</code>: the infrastructure for building, testing, and styling the website</li>
-  <li><code class="highlighter-rouge">_posts</code>: blog post entries</li>
-  <li><code class="highlighter-rouge">use/</code>, <code class="highlighter-rouge">learn/</code>, and <code class="highlighter-rouge">contribute/</code>: markdown files containing the bulk of the content</li>
-  <li><code class="highlighter-rouge">content/</code>: html generated from the markdown by jekyll (which is what is actually hosted on the website)</li>
-</ol>
-
 <p>Issues are tracked in the <a href="https://issues.apache.org/jira/browse/BEAM/component/12328906">website</a> component in JIRA.</p>
 
 <h4 id="one-time-setup-2">One-time Setup</h4>
 
-<p>The website uses <a href="http://jekyllrb.com">Jekyll</a>, a ruby-based development framework. The <a href="https://github.com/apache/incubator-beam-site/blob/asf-site/README.md">README file</a> in the website repository has more information on how to set up the required dependencies for your development environment.</p>
+<p>The <a href="https://github.com/apache/incubator-beam-site/blob/asf-site/README.md">README file</a> in the website repository has more information on how to set up the required dependencies for your development environment.</p>
 
 <p>The general guidelines for cloning a repository can be adjusted to use the <code class="highlighter-rouge">asf-site</code> branch of <code class="highlighter-rouge">incubator-beam-site</code>:</p>
 
@@ -546,7 +537,7 @@ $ git checkout -b &lt;my-branch&gt; origin/asf-site
 
 <p>While you are working on your pull request, you can test and develop live by running the following command in the root folder of the website:</p>
 
-<div class="highlighter-rouge"><pre class="highlight"><code>$ jekyll serve
+<div class="highlighter-rouge"><pre class="highlight"><code>$ bundle exec jekyll serve
 </code></pre>
 </div>
 
@@ -554,7 +545,7 @@ $ git checkout -b &lt;my-branch&gt; origin/asf-site
 
 <p>In addition, you can run the tests to valid your links using:</p>
 
-<div class="highlighter-rouge"><pre class="highlight"><code>$ rake test
+<div class="highlighter-rouge"><pre class="highlight"><code>$ bundle exec rake test
 </code></pre>
 </div>
 

http://git-wip-us.apache.org/repos/asf/incubator-beam-site/blob/2302aee6/content/css/main.css
----------------------------------------------------------------------
diff --git a/content/css/main.css b/content/css/main.css
index 1fb1692..f189274 100644
--- a/content/css/main.css
+++ b/content/css/main.css
@@ -26,8 +26,7 @@ body {
  */
 h1, h2, h3, h4, h5, h6,
 p, blockquote, pre,
-ul, ol, dl, figure,
-.highlight {
+ul, ol, dl, figure {
   margin-bottom: 15px; }
 
 /**
@@ -326,8 +325,7 @@ pre {
     color: #998;
     font-style: italic; }
   .highlight .err {
-    color: #a61717;
-    background-color: #e3d2d2; }
+    color: #a61717; }
   .highlight .k {
     font-weight: bold; }
   .highlight .o {