This is an automated email from the ASF dual-hosted git repository.

git-site-role pushed a commit to branch asf-site
in repository https://gitbox.apache.org/repos/asf/groovy-dev-site.git


The following commit(s) were added to refs/heads/asf-site by this push:
     new f609938  2024/09/02 11:50:29: Generated dev website from 
groovy-website@5122ee7
f609938 is described below

commit f609938f67495b0eaea7c0b62b80b76318296d46
Author: jenkins <[email protected]>
AuthorDate: Mon Sep 2 11:50:29 2024 +0000

    2024/09/02 11:50:29: Generated dev website from groovy-website@5122ee7
---
 blog/adventures-with-groovyfx.html               |   2 +-
 blog/apache-groovy-2022-year-in.html             |   2 +-
 blog/classifying-iris-flowers-with-deep.html     |   2 +-
 blog/comparators-and-sorting-in-groovy.html      |   2 +-
 blog/deck-of-cards-with-groovy.html              |   2 +-
 blog/deep-learning-and-eclipse-collections.html  |   2 +-
 blog/detecting-objects-with-groovy-the.html      |   2 +-
 blog/feed.atom                                   |  16 +-
 blog/fruity-eclipse-collections.html             |   2 +-
 blog/fun-with-obfuscated-groovy.html             |   2 +-
 blog/gmavenplus-1-6-2-released.html              |   2 +-
 blog/gpars-meets-virtual-threads.html            |   2 +-
 blog/groovy-2-4-16-released.html                 |   2 +-
 blog/groovy-2-4-16-windows.html                  |   2 +-
 blog/groovy-2-4-17-released.html                 |   2 +-
 blog/groovy-2-5-0-released.html                  |   2 +-
 blog/groovy-2-5-1-released.html                  |   2 +-
 blog/groovy-2-5-2-released.html                  |   2 +-
 blog/groovy-2-5-2-windows.html                   |   2 +-
 blog/groovy-2-5-3-released.html                  |   2 +-
 blog/groovy-2-5-3-windows.html                   |   2 +-
 blog/groovy-2-5-4-released.html                  |   2 +-
 blog/groovy-2-5-4-windows.html                   |   2 +-
 blog/groovy-2-5-5-released.html                  |   2 +-
 blog/groovy-2-5-5-windows.html                   |   2 +-
 blog/groovy-2-5-6-released.html                  |   2 +-
 blog/groovy-2-5-7-and.html                       |   2 +-
 blog/groovy-2-5-7-released.html                  |   2 +-
 blog/groovy-2-5-clibuilder-renewal.html          |   2 +-
 blog/groovy-3-0-0-alpha.html                     |   2 +-
 blog/groovy-3-0-0-alpha1.html                    |   2 +-
 blog/groovy-3-0-0-beta.html                      |   2 +-
 blog/groovy-3-0-0-beta1.html                     |   2 +-
 blog/groovy-3-0-0-beta2.html                     |   2 +-
 blog/groovy-4-0-3-released.html                  |   2 +-
 blog/groovy-dauphine.html                        |   2 +-
 blog/groovy-graph-databases.html                 | 236 +++++++++++++++++------
 blog/groovy-haiku-processing.html                |   2 +-
 blog/groovy-list-processing-cheat-sheet.html     |   2 +-
 blog/groovy-null-processing.html                 |   2 +-
 blog/groovy-record-performance.html              |   2 +-
 blog/groovy-records.html                         |   2 +-
 blog/groovy-release-train-4-0.html               |   2 +-
 blog/groovy-sequenced-collections.html           |   2 +-
 blog/helloworldemoji.html                        |   2 +-
 blog/index.html                                  |   4 +-
 blog/lego-bricks-with-groovy.html                |   2 +-
 blog/matrix-calculations-with-groovy-apache.html |   2 +-
 blog/parsing-json-with-groovy.html               |   2 +-
 blog/reading-and-writing-csv-files.html          |   2 +-
 blog/seasons-greetings-emoji.html                |   2 +-
 blog/set-operations-with-groovy.html             |   2 +-
 blog/using-groovy-with-apache-wayang.html        |   2 +-
 blog/whiskey-clustering-with-groovy-and.html     |   2 +-
 blog/wordle-checker.html                         |   2 +-
 blog/working-with-sql-databases-with.html        |   2 +-
 blog/zipping-collections-with-groovy.html        |   2 +-
 57 files changed, 242 insertions(+), 122 deletions(-)

diff --git a/blog/adventures-with-groovyfx.html 
b/blog/adventures-with-groovyfx.html
index a599efe..f302b18 100644
--- a/blog/adventures-with-groovyfx.html
+++ b/blog/adventures-with-groovyfx.html
@@ -53,7 +53,7 @@
                                     </ul>
                                 </div>
                             </div>
-                        </div><div id='content' class='page-1'><div 
class='row'><div class='row-fluid'><div class='col-lg-3'><ul 
class='nav-sidebar'><li><a href='./'>Blog index</a></li><li class='active'><a 
href='#doc'>Adventures with GroovyFX</a></li><li><a 
href='#_further_information' class='anchor-link'>Further 
information</a></li></ul><br/><ul class='nav-sidebar'><li style='padding: 
0.35em 0.625em; background-color: #eee'><span>Related posts</span></li><li><a 
href='./deep-learning-an [...]
+                        </div><div id='content' class='page-1'><div 
class='row'><div class='row-fluid'><div class='col-lg-3'><ul 
class='nav-sidebar'><li><a href='./'>Blog index</a></li><li class='active'><a 
href='#doc'>Adventures with GroovyFX</a></li><li><a 
href='#_further_information' class='anchor-link'>Further 
information</a></li></ul><br/><ul class='nav-sidebar'><li style='padding: 
0.35em 0.625em; background-color: #eee'><span>Related posts</span></li><li><a 
href='./helloworldemoji' [...]
 <div class="sectionbody">
 <div class="paragraph">
 <p>This blog looks at a <a href="http://groovyfx.org/";>GroovyFX</a> version of 
a <a 
href="https://donraab.medium.com/my-weird-and-wonderful-first-adventures-with-javafx-6efe3b1923c8";>ToDo
 application originally written in JavaFX</a>.
diff --git a/blog/apache-groovy-2022-year-in.html 
b/blog/apache-groovy-2022-year-in.html
index 7b7e480..6f143ed 100644
--- a/blog/apache-groovy-2022-year-in.html
+++ b/blog/apache-groovy-2022-year-in.html
@@ -53,7 +53,7 @@
                                     </ul>
                                 </div>
                             </div>
-                        </div><div id='content' class='page-1'><div 
class='row'><div class='row-fluid'><div class='col-lg-3'><ul 
class='nav-sidebar'><li><a href='./'>Blog index</a></li><li class='active'><a 
href='#doc'>Apache Groovy 2022 Year In Review</a></li><li><a 
href='#_releases_contributions' class='anchor-link'>Releases &amp; 
Contributions</a></li><li><a href='#_downloads' 
class='anchor-link'>Downloads</a></li><li><a href='#_blogs' 
class='anchor-link'>Blogs</a></li><li><a href='#_ [...]
+                        </div><div id='content' class='page-1'><div 
class='row'><div class='row-fluid'><div class='col-lg-3'><ul 
class='nav-sidebar'><li><a href='./'>Blog index</a></li><li class='active'><a 
href='#doc'>Apache Groovy 2022 Year In Review</a></li><li><a 
href='#_releases_contributions' class='anchor-link'>Releases &amp; 
Contributions</a></li><li><a href='#_downloads' 
class='anchor-link'>Downloads</a></li><li><a href='#_blogs' 
class='anchor-link'>Blogs</a></li><li><a href='#_ [...]
 <div class="sectionbody">
 <div class="paragraph">
 <p>The year 2022 has been a reasonably good one for the Groovy Programming 
Language.
diff --git a/blog/classifying-iris-flowers-with-deep.html 
b/blog/classifying-iris-flowers-with-deep.html
index 0dc8bf8..29bd25c 100644
--- a/blog/classifying-iris-flowers-with-deep.html
+++ b/blog/classifying-iris-flowers-with-deep.html
@@ -53,7 +53,7 @@
                                     </ul>
                                 </div>
                             </div>
-                        </div><div id='content' class='page-1'><div 
class='row'><div class='row-fluid'><div class='col-lg-3'><ul 
class='nav-sidebar'><li><a href='./'>Blog index</a></li><li class='active'><a 
href='#doc'>Classifying Iris Flowers with Deep Learning, Groovy and 
GraalVM</a></li><li><a href='#_deep_learning' class='anchor-link'>Deep 
Learning</a></li><li><a href='#_encog' class='anchor-link'>Encog</a></li><li><a 
href='#_eclipse_deeplearning4j' class='anchor-link'>Eclipse DeepLe [...]
+                        </div><div id='content' class='page-1'><div 
class='row'><div class='row-fluid'><div class='col-lg-3'><ul 
class='nav-sidebar'><li><a href='./'>Blog index</a></li><li class='active'><a 
href='#doc'>Classifying Iris Flowers with Deep Learning, Groovy and 
GraalVM</a></li><li><a href='#_deep_learning' class='anchor-link'>Deep 
Learning</a></li><li><a href='#_encog' class='anchor-link'>Encog</a></li><li><a 
href='#_eclipse_deeplearning4j' class='anchor-link'>Eclipse DeepLe [...]
 <div class="sectionbody">
 <div class="paragraph">
 <p><span class="image right"><img src="img/iris_flowers.png" alt="iris 
flowers" width="200"></span>
diff --git a/blog/comparators-and-sorting-in-groovy.html 
b/blog/comparators-and-sorting-in-groovy.html
index eef0d55..de0d89a 100644
--- a/blog/comparators-and-sorting-in-groovy.html
+++ b/blog/comparators-and-sorting-in-groovy.html
@@ -53,7 +53,7 @@
                                     </ul>
                                 </div>
                             </div>
-                        </div><div id='content' class='page-1'><div 
class='row'><div class='row-fluid'><div class='col-lg-3'><ul 
class='nav-sidebar'><li><a href='./'>Blog index</a></li><li class='active'><a 
href='#doc'>Comparators and Sorting in Groovy</a></li><li><a 
href='#_the_java_comparator_story_recap' class='anchor-link'>The Java 
comparator story recap</a></li><li><a href='#_the_groovy_comparator_story' 
class='anchor-link'>The Groovy comparator story</a></li><li><a href='#_mixing_i 
[...]
+                        </div><div id='content' class='page-1'><div 
class='row'><div class='row-fluid'><div class='col-lg-3'><ul 
class='nav-sidebar'><li><a href='./'>Blog index</a></li><li class='active'><a 
href='#doc'>Comparators and Sorting in Groovy</a></li><li><a 
href='#_the_java_comparator_story_recap' class='anchor-link'>The Java 
comparator story recap</a></li><li><a href='#_the_groovy_comparator_story' 
class='anchor-link'>The Groovy comparator story</a></li><li><a href='#_mixing_i 
[...]
 <div class="sectionbody">
 <div class="paragraph">
 <p><span class="image right"><img src="img/cher_record.png" alt="Cher" 
width="179" height="179"></span>
diff --git a/blog/deck-of-cards-with-groovy.html 
b/blog/deck-of-cards-with-groovy.html
index b4fba7b..bf76666 100644
--- a/blog/deck-of-cards-with-groovy.html
+++ b/blog/deck-of-cards-with-groovy.html
@@ -53,7 +53,7 @@
                                     </ul>
                                 </div>
                             </div>
-                        </div><div id='content' class='page-1'><div 
class='row'><div class='row-fluid'><div class='col-lg-3'><ul 
class='nav-sidebar'><li><a href='./'>Blog index</a></li><li class='active'><a 
href='#doc'>Deck of cards with Groovy, JDK collections and Eclipse 
Collections</a></li></ul><br/><ul class='nav-sidebar'><li style='padding: 
0.35em 0.625em; background-color: #eee'><span>Related posts</span></li><li><a 
href='./deep-learning-and-eclipse-collections'>Deep Learning and E [...]
+                        </div><div id='content' class='page-1'><div 
class='row'><div class='row-fluid'><div class='col-lg-3'><ul 
class='nav-sidebar'><li><a href='./'>Blog index</a></li><li class='active'><a 
href='#doc'>Deck of cards with Groovy, JDK collections and Eclipse 
Collections</a></li></ul><br/><ul class='nav-sidebar'><li style='padding: 
0.35em 0.625em; background-color: #eee'><span>Related posts</span></li><li><a 
href='./deep-learning-and-eclipse-collections'>Deep Learning and E [...]
 <p>Once again, <a href="https://twitter.com/TheDonRaab";>Donald Raab</a> has 
produced an interesting
 <a 
href="https://donraab.medium.com/how-to-create-a-deck-of-cards-using-eclipse-collections-d9838ac430b7";>blog
 post</a> on
 <a href="https://github.com/eclipse/eclipse-collections";>Eclipse 
Collections</a> this one shows some code for modelling and manipulating cards 
with Java 17 and Eclipse Collections. His related katas are highly recommended.
diff --git a/blog/deep-learning-and-eclipse-collections.html 
b/blog/deep-learning-and-eclipse-collections.html
index 34a242c..2d3232c 100644
--- a/blog/deep-learning-and-eclipse-collections.html
+++ b/blog/deep-learning-and-eclipse-collections.html
@@ -53,7 +53,7 @@
                                     </ul>
                                 </div>
                             </div>
-                        </div><div id='content' class='page-1'><div 
class='row'><div class='row-fluid'><div class='col-lg-3'><ul 
class='nav-sidebar'><li><a href='./'>Blog index</a></li><li class='active'><a 
href='#doc'>Deep Learning and Eclipse Collections</a></li><li><a 
href='#_setting_up_our_model_and_data' class='anchor-link'>Setting up our model 
and data</a></li><li><a href='#_applying_deep_learning' 
class='anchor-link'>Applying deep learning</a></li></ul><br/><ul 
class='nav-sidebar' [...]
+                        </div><div id='content' class='page-1'><div 
class='row'><div class='row-fluid'><div class='col-lg-3'><ul 
class='nav-sidebar'><li><a href='./'>Blog index</a></li><li class='active'><a 
href='#doc'>Deep Learning and Eclipse Collections</a></li><li><a 
href='#_setting_up_our_model_and_data' class='anchor-link'>Setting up our model 
and data</a></li><li><a href='#_applying_deep_learning' 
class='anchor-link'>Applying deep learning</a></li></ul><br/><ul 
class='nav-sidebar' [...]
 <div class="sectionbody">
 <div class="paragraph">
 <p>In previous blogs, we&#8217;ve covered
diff --git a/blog/detecting-objects-with-groovy-the.html 
b/blog/detecting-objects-with-groovy-the.html
index 24623ff..b776a3f 100644
--- a/blog/detecting-objects-with-groovy-the.html
+++ b/blog/detecting-objects-with-groovy-the.html
@@ -53,7 +53,7 @@
                                     </ul>
                                 </div>
                             </div>
-                        </div><div id='content' class='page-1'><div 
class='row'><div class='row-fluid'><div class='col-lg-3'><ul 
class='nav-sidebar'><li><a href='./'>Blog index</a></li><li class='active'><a 
href='#doc'>Detecting objects with Groovy, the Deep Java Library (DJL), and 
Apache MXNet</a></li><li><a href='#_deep_learning' class='anchor-link'>Deep 
Learning</a></li><li><a href='#_deep_java_library_djl_apache_mxnet' 
class='anchor-link'>Deep Java Library (DJL) &amp; Apache MXNet</a [...]
+                        </div><div id='content' class='page-1'><div 
class='row'><div class='row-fluid'><div class='col-lg-3'><ul 
class='nav-sidebar'><li><a href='./'>Blog index</a></li><li class='active'><a 
href='#doc'>Detecting objects with Groovy, the Deep Java Library (DJL), and 
Apache MXNet</a></li><li><a href='#_deep_learning' class='anchor-link'>Deep 
Learning</a></li><li><a href='#_deep_java_library_djl_apache_mxnet' 
class='anchor-link'>Deep Java Library (DJL) &amp; Apache MXNet</a [...]
 <div class="sectionbody">
 <div class="paragraph">
 <p>This blog posts looks at using <a href="https://groovy-lang.org/";>Apache 
Groovy</a> with the
diff --git a/blog/feed.atom b/blog/feed.atom
index 6a3512d..7722b42 100644
--- a/blog/feed.atom
+++ b/blog/feed.atom
@@ -6,26 +6,26 @@
   <id>http://groovy.apache.org/blog</id>
   <updated>2024-07-11T20:00:00Z</updated>
   <entry>
-    <id>http://groovy.apache.org/blog/groovy-2-5-clibuilder-renewal</id>
+    <id>http://groovy.apache.org/blog/groovy-2-5-0-released</id>
     <author>
       <name>Remko Popma</name>
     </author>
-    <title type="html">Apache Groovy 2.5 CliBuilder Renewal</title>
-    <link href="http://groovy.apache.org/blog/groovy-2-5-clibuilder-renewal"/>
+    <title type="html">Groovy 2.5.0 released</title>
+    <link href="http://groovy.apache.org/blog/groovy-2-5-0-released"/>
     <updated>2018-05-30T11:28:31Z</updated>
     <published>2018-05-30T11:28:31Z</published>
-    <summary type="html">This post looks at new CliBuilder features from 
Groovy 2.5 in particular the Picocli-based implementation.</summary>
+    <summary type="html">Groovy 2.5.0 Release Announcement.</summary>
   </entry>
   <entry>
-    <id>http://groovy.apache.org/blog/groovy-2-5-0-released</id>
+    <id>http://groovy.apache.org/blog/groovy-2-5-clibuilder-renewal</id>
     <author>
       <name>Remko Popma</name>
     </author>
-    <title type="html">Groovy 2.5.0 released</title>
-    <link href="http://groovy.apache.org/blog/groovy-2-5-0-released"/>
+    <title type="html">Apache Groovy 2.5 CliBuilder Renewal</title>
+    <link href="http://groovy.apache.org/blog/groovy-2-5-clibuilder-renewal"/>
     <updated>2018-05-30T11:28:31Z</updated>
     <published>2018-05-30T11:28:31Z</published>
-    <summary type="html">Groovy 2.5.0 Release Announcement.</summary>
+    <summary type="html">This post looks at new CliBuilder features from 
Groovy 2.5 in particular the Picocli-based implementation.</summary>
   </entry>
   <entry>
     <id>http://groovy.apache.org/blog/announce-announcing-codenarc-1-2</id>
diff --git a/blog/fruity-eclipse-collections.html 
b/blog/fruity-eclipse-collections.html
index e385cfe..9c254e2 100644
--- a/blog/fruity-eclipse-collections.html
+++ b/blog/fruity-eclipse-collections.html
@@ -53,7 +53,7 @@
                                     </ul>
                                 </div>
                             </div>
-                        </div><div id='content' class='page-1'><div 
class='row'><div class='row-fluid'><div class='col-lg-3'><ul 
class='nav-sidebar'><li><a href='./'>Blog index</a></li><li class='active'><a 
href='#doc'>Fruity Eclipse Collections</a></li><li><a 
href='#_eclipse_collections_fruit_salad' class='anchor-link'>Eclipse 
Collections Fruit Salad</a></li><li><a href='#_exploring_emoji_colors' 
class='anchor-link'>Exploring emoji colors</a></li><li><a 
href='#_putting_it_all_together'  [...]
+                        </div><div id='content' class='page-1'><div 
class='row'><div class='row-fluid'><div class='col-lg-3'><ul 
class='nav-sidebar'><li><a href='./'>Blog index</a></li><li class='active'><a 
href='#doc'>Fruity Eclipse Collections</a></li><li><a 
href='#_eclipse_collections_fruit_salad' class='anchor-link'>Eclipse 
Collections Fruit Salad</a></li><li><a href='#_exploring_emoji_colors' 
class='anchor-link'>Exploring emoji colors</a></li><li><a 
href='#_putting_it_all_together'  [...]
 <div class="sectionbody">
 <div class="paragraph">
 <p>This blog post continues on the theme of using fruit emoji from the
diff --git a/blog/fun-with-obfuscated-groovy.html 
b/blog/fun-with-obfuscated-groovy.html
index 4fd9c9b..7b52163 100644
--- a/blog/fun-with-obfuscated-groovy.html
+++ b/blog/fun-with-obfuscated-groovy.html
@@ -53,7 +53,7 @@
                                     </ul>
                                 </div>
                             </div>
-                        </div><div id='content' class='page-1'><div 
class='row'><div class='row-fluid'><div class='col-lg-3'><ul 
class='nav-sidebar'><li><a href='./'>Blog index</a></li><li class='active'><a 
href='#doc'>Fun with obfuscated Groovy</a></li></ul><br/><ul 
class='nav-sidebar'><li style='padding: 0.35em 0.625em; background-color: 
#eee'><span>Related posts</span></li><li><a 
href='./matrix-calculations-with-groovy-apache'>Matrix calculations with 
Groovy, Apache Commons Math, ojAl [...]
+                        </div><div id='content' class='page-1'><div 
class='row'><div class='row-fluid'><div class='col-lg-3'><ul 
class='nav-sidebar'><li><a href='./'>Blog index</a></li><li class='active'><a 
href='#doc'>Fun with obfuscated Groovy</a></li></ul><br/><ul 
class='nav-sidebar'><li style='padding: 0.35em 0.625em; background-color: 
#eee'><span>Related posts</span></li><li><a 
href='./groovy-record-performance'>Groovy Record Performance</a></li><li><a 
href='./matrix-calculations-wi [...]
 <p>An interesting tweet appeared in my feed this morning:</p>
 </div>
 <div class="paragraph">
diff --git a/blog/gmavenplus-1-6-2-released.html 
b/blog/gmavenplus-1-6-2-released.html
index 1d88936..5c6874a 100644
--- a/blog/gmavenplus-1-6-2-released.html
+++ b/blog/gmavenplus-1-6-2-released.html
@@ -53,7 +53,7 @@
                                     </ul>
                                 </div>
                             </div>
-                        </div><div id='content' class='page-1'><div 
class='row'><div class='row-fluid'><div class='col-lg-3'><ul 
class='nav-sidebar'><li><a href='./'>Blog index</a></li><li class='active'><a 
href='#doc'>GMavenPlus 1.6.2 Released (Community Artifact)</a></li><li><a 
href='#_gmavenplus_1_6_2_has_been_released' class='anchor-link'>GMavenPlus 
1.6.2 has been released.</a></li></ul><br/><ul class='nav-sidebar'><li 
style='padding: 0.35em 0.625em; background-color: #eee'><span>Rel [...]
+                        </div><div id='content' class='page-1'><div 
class='row'><div class='row-fluid'><div class='col-lg-3'><ul 
class='nav-sidebar'><li><a href='./'>Blog index</a></li><li class='active'><a 
href='#doc'>GMavenPlus 1.6.2 Released (Community Artifact)</a></li><li><a 
href='#_gmavenplus_1_6_2_has_been_released' class='anchor-link'>GMavenPlus 
1.6.2 has been released.</a></li></ul><br/><ul class='nav-sidebar'><li 
style='padding: 0.35em 0.625em; background-color: #eee'><span>Rel [...]
 <h2 id="_gmavenplus_1_6_2_has_been_released">GMavenPlus 1.6.2 has been 
released.</h2>
 <div class="sectionbody">
 <div class="paragraph">
diff --git a/blog/gpars-meets-virtual-threads.html 
b/blog/gpars-meets-virtual-threads.html
index 845895a..9fc05bb 100644
--- a/blog/gpars-meets-virtual-threads.html
+++ b/blog/gpars-meets-virtual-threads.html
@@ -53,7 +53,7 @@
                                     </ul>
                                 </div>
                             </div>
-                        </div><div id='content' class='page-1'><div 
class='row'><div class='row-fluid'><div class='col-lg-3'><ul 
class='nav-sidebar'><li><a href='./'>Blog index</a></li><li class='active'><a 
href='#doc'>GPars meets Virtual Threads</a></li><li><a 
href='#_parallel_collections' class='anchor-link'>Parallel 
Collections</a></li><li><a href='#_agents' 
class='anchor-link'>Agents</a></li><li><a href='#_actors' 
class='anchor-link'>Actors</a></li><li><a href='#_dataflow' class='anc [...]
+                        </div><div id='content' class='page-1'><div 
class='row'><div class='row-fluid'><div class='col-lg-3'><ul 
class='nav-sidebar'><li><a href='./'>Blog index</a></li><li class='active'><a 
href='#doc'>GPars meets Virtual Threads</a></li><li><a 
href='#_parallel_collections' class='anchor-link'>Parallel 
Collections</a></li><li><a href='#_agents' 
class='anchor-link'>Agents</a></li><li><a href='#_actors' 
class='anchor-link'>Actors</a></li><li><a href='#_dataflow' class='anc [...]
 <div class="sectionbody">
 <div class="paragraph">
 <p><span class="image right"><img src="img/gpars_logo.png" alt="gpars" 
width="150"></span>
diff --git a/blog/groovy-2-4-16-released.html b/blog/groovy-2-4-16-released.html
index 074c8fe..58aca54 100644
--- a/blog/groovy-2-4-16-released.html
+++ b/blog/groovy-2-4-16-released.html
@@ -53,7 +53,7 @@
                                     </ul>
                                 </div>
                             </div>
-                        </div><div id='content' class='page-1'><div 
class='row'><div class='row-fluid'><div class='col-lg-3'><ul 
class='nav-sidebar'><li><a href='./'>Blog index</a></li><li class='active'><a 
href='#doc'>Groovy 2.4.16 Released</a></li></ul><br/><ul 
class='nav-sidebar'><li style='padding: 0.35em 0.625em; background-color: 
#eee'><span>Related posts</span></li><li><a 
href='./groovy-2-4-16-windows'>Groovy 2.4.16 Windows Installer Released 
(Community Artifact)</a></li><li><a hr [...]
+                        </div><div id='content' class='page-1'><div 
class='row'><div class='row-fluid'><div class='col-lg-3'><ul 
class='nav-sidebar'><li><a href='./'>Blog index</a></li><li class='active'><a 
href='#doc'>Groovy 2.4.16 Released</a></li></ul><br/><ul 
class='nav-sidebar'><li style='padding: 0.35em 0.625em; background-color: 
#eee'><span>Related posts</span></li><li><a 
href='./groovy-2-4-16-windows'>Groovy 2.4.16 Windows Installer Released 
(Community Artifact)</a></li><li><a hr [...]
 <p>Dear community,</p>
 </div>
 <div class="paragraph">
diff --git a/blog/groovy-2-4-16-windows.html b/blog/groovy-2-4-16-windows.html
index ee74ce6..33a2d7f 100644
--- a/blog/groovy-2-4-16-windows.html
+++ b/blog/groovy-2-4-16-windows.html
@@ -53,7 +53,7 @@
                                     </ul>
                                 </div>
                             </div>
-                        </div><div id='content' class='page-1'><div 
class='row'><div class='row-fluid'><div class='col-lg-3'><ul 
class='nav-sidebar'><li><a href='./'>Blog index</a></li><li class='active'><a 
href='#doc'>Groovy 2.4.16 Windows Installer Released (Community 
Artifact)</a></li></ul><br/><ul class='nav-sidebar'><li style='padding: 0.35em 
0.625em; background-color: #eee'><span>Related posts</span></li><li><a 
href='./groovy-2-4-16-released'>Groovy 2.4.16 Released</a></li><li><a h [...]
+                        </div><div id='content' class='page-1'><div 
class='row'><div class='row-fluid'><div class='col-lg-3'><ul 
class='nav-sidebar'><li><a href='./'>Blog index</a></li><li class='active'><a 
href='#doc'>Groovy 2.4.16 Windows Installer Released (Community 
Artifact)</a></li></ul><br/><ul class='nav-sidebar'><li style='padding: 0.35em 
0.625em; background-color: #eee'><span>Related posts</span></li><li><a 
href='./groovy-2-4-16-released'>Groovy 2.4.16 Released</a></li><li><a h [...]
 <p>The Windows installer for Groovy 2.4.16 (community artifact) is available 
from: <a 
href="https://bintray.com/groovy/Distributions/Windows-Installer/groovy-2.4.16-installer";
 
class="bare">https://bintray.com/groovy/Distributions/Windows-Installer/groovy-2.4.16-installer</a>.</p>
 </div></div></div></div></div><footer id='footer'>
                             <div class='row'>
diff --git a/blog/groovy-2-4-17-released.html b/blog/groovy-2-4-17-released.html
index 2237565..aabc2dc 100644
--- a/blog/groovy-2-4-17-released.html
+++ b/blog/groovy-2-4-17-released.html
@@ -53,7 +53,7 @@
                                     </ul>
                                 </div>
                             </div>
-                        </div><div id='content' class='page-1'><div 
class='row'><div class='row-fluid'><div class='col-lg-3'><ul 
class='nav-sidebar'><li><a href='./'>Blog index</a></li><li class='active'><a 
href='#doc'>Groovy 2.4.17 Released</a></li></ul><br/><ul 
class='nav-sidebar'><li style='padding: 0.35em 0.625em; background-color: 
#eee'><span>Related posts</span></li><li><a 
href='./groovy-2-4-16-windows'>Groovy 2.4.16 Windows Installer Released 
(Community Artifact)</a></li><li><a hr [...]
+                        </div><div id='content' class='page-1'><div 
class='row'><div class='row-fluid'><div class='col-lg-3'><ul 
class='nav-sidebar'><li><a href='./'>Blog index</a></li><li class='active'><a 
href='#doc'>Groovy 2.4.17 Released</a></li></ul><br/><ul 
class='nav-sidebar'><li style='padding: 0.35em 0.625em; background-color: 
#eee'><span>Related posts</span></li><li><a 
href='./groovy-2-4-16-released'>Groovy 2.4.16 Released</a></li><li><a 
href='./groovy-2-4-16-windows'>Groovy 2. [...]
 <p>Dear community,</p>
 </div>
 <div class="paragraph">
diff --git a/blog/groovy-2-5-0-released.html b/blog/groovy-2-5-0-released.html
index f66e953..7d443f9 100644
--- a/blog/groovy-2-5-0-released.html
+++ b/blog/groovy-2-5-0-released.html
@@ -53,7 +53,7 @@
                                     </ul>
                                 </div>
                             </div>
-                        </div><div id='content' class='page-1'><div 
class='row'><div class='row-fluid'><div class='col-lg-3'><ul 
class='nav-sidebar'><li><a href='./'>Blog index</a></li><li class='active'><a 
href='#doc'>Groovy 2.5.0 released</a></li></ul><br/><ul class='nav-sidebar'><li 
style='padding: 0.35em 0.625em; background-color: #eee'><span>Related 
posts</span></li><li><a href='./groovy-2-5-2-windows'>Groovy 2.5.2 Windows 
Installer Released (Community Artifact)</a></li><li><a href= [...]
+                        </div><div id='content' class='page-1'><div 
class='row'><div class='row-fluid'><div class='col-lg-3'><ul 
class='nav-sidebar'><li><a href='./'>Blog index</a></li><li class='active'><a 
href='#doc'>Groovy 2.5.0 released</a></li></ul><br/><ul class='nav-sidebar'><li 
style='padding: 0.35em 0.625em; background-color: #eee'><span>Related 
posts</span></li><li><a href='./groovy-2-5-4-windows'>Groovy 2.5.4 Windows 
Installer Released (Community Artifact)</a></li><li><a href= [...]
 <p>Dear community,</p>
 </div>
 <div class="paragraph">
diff --git a/blog/groovy-2-5-1-released.html b/blog/groovy-2-5-1-released.html
index 8122ca7..61efb21 100644
--- a/blog/groovy-2-5-1-released.html
+++ b/blog/groovy-2-5-1-released.html
@@ -53,7 +53,7 @@
                                     </ul>
                                 </div>
                             </div>
-                        </div><div id='content' class='page-1'><div 
class='row'><div class='row-fluid'><div class='col-lg-3'><ul 
class='nav-sidebar'><li><a href='./'>Blog index</a></li><li class='active'><a 
href='#doc'>Groovy 2.5.1 released</a></li></ul><br/><ul class='nav-sidebar'><li 
style='padding: 0.35em 0.625em; background-color: #eee'><span>Related 
posts</span></li><li><a href='./groovy-2-5-2-windows'>Groovy 2.5.2 Windows 
Installer Released (Community Artifact)</a></li><li><a href= [...]
+                        </div><div id='content' class='page-1'><div 
class='row'><div class='row-fluid'><div class='col-lg-3'><ul 
class='nav-sidebar'><li><a href='./'>Blog index</a></li><li class='active'><a 
href='#doc'>Groovy 2.5.1 released</a></li></ul><br/><ul class='nav-sidebar'><li 
style='padding: 0.35em 0.625em; background-color: #eee'><span>Related 
posts</span></li><li><a href='./groovy-2-5-4-windows'>Groovy 2.5.4 Windows 
Installer Released (Community Artifact)</a></li><li><a href= [...]
 <p>Dear community,</p>
 </div>
 <div class="paragraph">
diff --git a/blog/groovy-2-5-2-released.html b/blog/groovy-2-5-2-released.html
index 41acf3b..e1fbc37 100644
--- a/blog/groovy-2-5-2-released.html
+++ b/blog/groovy-2-5-2-released.html
@@ -53,7 +53,7 @@
                                     </ul>
                                 </div>
                             </div>
-                        </div><div id='content' class='page-1'><div 
class='row'><div class='row-fluid'><div class='col-lg-3'><ul 
class='nav-sidebar'><li><a href='./'>Blog index</a></li><li class='active'><a 
href='#doc'>Groovy 2.5.2 released</a></li></ul><br/><ul class='nav-sidebar'><li 
style='padding: 0.35em 0.625em; background-color: #eee'><span>Related 
posts</span></li><li><a href='./groovy-2-5-2-windows'>Groovy 2.5.2 Windows 
Installer Released (Community Artifact)</a></li><li><a href= [...]
+                        </div><div id='content' class='page-1'><div 
class='row'><div class='row-fluid'><div class='col-lg-3'><ul 
class='nav-sidebar'><li><a href='./'>Blog index</a></li><li class='active'><a 
href='#doc'>Groovy 2.5.2 released</a></li></ul><br/><ul class='nav-sidebar'><li 
style='padding: 0.35em 0.625em; background-color: #eee'><span>Related 
posts</span></li><li><a href='./groovy-2-5-2-windows'>Groovy 2.5.2 Windows 
Installer Released (Community Artifact)</a></li><li><a href= [...]
 <p>Dear community,</p>
 </div>
 <div class="paragraph">
diff --git a/blog/groovy-2-5-2-windows.html b/blog/groovy-2-5-2-windows.html
index 1dbacf0..973a6e0 100644
--- a/blog/groovy-2-5-2-windows.html
+++ b/blog/groovy-2-5-2-windows.html
@@ -53,7 +53,7 @@
                                     </ul>
                                 </div>
                             </div>
-                        </div><div id='content' class='page-1'><div 
class='row'><div class='row-fluid'><div class='col-lg-3'><ul 
class='nav-sidebar'><li><a href='./'>Blog index</a></li><li class='active'><a 
href='#doc'>Groovy 2.5.2 Windows Installer Released (Community 
Artifact)</a></li></ul><br/><ul class='nav-sidebar'><li style='padding: 0.35em 
0.625em; background-color: #eee'><span>Related posts</span></li><li><a 
href='./groovy-2-5-7-and'>Groovy 2.5.7 and 3.0.0-beta-1 Windows Installe [...]
+                        </div><div id='content' class='page-1'><div 
class='row'><div class='row-fluid'><div class='col-lg-3'><ul 
class='nav-sidebar'><li><a href='./'>Blog index</a></li><li class='active'><a 
href='#doc'>Groovy 2.5.2 Windows Installer Released (Community 
Artifact)</a></li></ul><br/><ul class='nav-sidebar'><li style='padding: 0.35em 
0.625em; background-color: #eee'><span>Related posts</span></li><li><a 
href='./groovy-2-5-4-windows'>Groovy 2.5.4 Windows Installer Released (C [...]
 <p>The Windows installer for Groovy 2.5.2 (community artifact) is available 
from:
 <a 
href="https://dl.bintray.com/groovy/Distributions/groovy-2.5.2-installer.exe"; 
class="bare">https://dl.bintray.com/groovy/Distributions/groovy-2.5.2-installer.exe</a></p>
 </div></div></div></div></div><footer id='footer'>
diff --git a/blog/groovy-2-5-3-released.html b/blog/groovy-2-5-3-released.html
index f560719..2015528 100644
--- a/blog/groovy-2-5-3-released.html
+++ b/blog/groovy-2-5-3-released.html
@@ -53,7 +53,7 @@
                                     </ul>
                                 </div>
                             </div>
-                        </div><div id='content' class='page-1'><div 
class='row'><div class='row-fluid'><div class='col-lg-3'><ul 
class='nav-sidebar'><li><a href='./'>Blog index</a></li><li class='active'><a 
href='#doc'>Groovy 2.5.3 Released</a></li></ul><br/><ul class='nav-sidebar'><li 
style='padding: 0.35em 0.625em; background-color: #eee'><span>Related 
posts</span></li><li><a href='./groovy-2-5-3-windows'>Groovy 2.5.3 Windows 
Installer Released (Community Artifact)</a></li><li><a href= [...]
+                        </div><div id='content' class='page-1'><div 
class='row'><div class='row-fluid'><div class='col-lg-3'><ul 
class='nav-sidebar'><li><a href='./'>Blog index</a></li><li class='active'><a 
href='#doc'>Groovy 2.5.3 Released</a></li></ul><br/><ul class='nav-sidebar'><li 
style='padding: 0.35em 0.625em; background-color: #eee'><span>Related 
posts</span></li><li><a href='./groovy-2-5-3-windows'>Groovy 2.5.3 Windows 
Installer Released (Community Artifact)</a></li><li><a href= [...]
 <p>Dear community,</p>
 </div>
 <div class="paragraph">
diff --git a/blog/groovy-2-5-3-windows.html b/blog/groovy-2-5-3-windows.html
index b854685..c2210e0 100644
--- a/blog/groovy-2-5-3-windows.html
+++ b/blog/groovy-2-5-3-windows.html
@@ -53,7 +53,7 @@
                                     </ul>
                                 </div>
                             </div>
-                        </div><div id='content' class='page-1'><div 
class='row'><div class='row-fluid'><div class='col-lg-3'><ul 
class='nav-sidebar'><li><a href='./'>Blog index</a></li><li class='active'><a 
href='#doc'>Groovy 2.5.3 Windows Installer Released (Community 
Artifact)</a></li></ul><br/><ul class='nav-sidebar'><li style='padding: 0.35em 
0.625em; background-color: #eee'><span>Related posts</span></li><li><a 
href='./groovy-2-5-2-windows'>Groovy 2.5.2 Windows Installer Released (C [...]
+                        </div><div id='content' class='page-1'><div 
class='row'><div class='row-fluid'><div class='col-lg-3'><ul 
class='nav-sidebar'><li><a href='./'>Blog index</a></li><li class='active'><a 
href='#doc'>Groovy 2.5.3 Windows Installer Released (Community 
Artifact)</a></li></ul><br/><ul class='nav-sidebar'><li style='padding: 0.35em 
0.625em; background-color: #eee'><span>Related posts</span></li><li><a 
href='./groovy-2-5-4-windows'>Groovy 2.5.4 Windows Installer Released (C [...]
 <p>The Windows installer for Groovy 2.5.3 (community artifact) is available 
from:
 <a 
href="https://bintray.com/groovy/Distributions/Windows-Installer/groovy-2.5.3-installer";
 
class="bare">https://bintray.com/groovy/Distributions/Windows-Installer/groovy-2.5.3-installer</a></p>
 </div></div></div></div></div><footer id='footer'>
diff --git a/blog/groovy-2-5-4-released.html b/blog/groovy-2-5-4-released.html
index 03587b6..e8ea94d 100644
--- a/blog/groovy-2-5-4-released.html
+++ b/blog/groovy-2-5-4-released.html
@@ -53,7 +53,7 @@
                                     </ul>
                                 </div>
                             </div>
-                        </div><div id='content' class='page-1'><div 
class='row'><div class='row-fluid'><div class='col-lg-3'><ul 
class='nav-sidebar'><li><a href='./'>Blog index</a></li><li class='active'><a 
href='#doc'>Groovy 2.5.4 Released</a></li></ul><br/><ul class='nav-sidebar'><li 
style='padding: 0.35em 0.625em; background-color: #eee'><span>Related 
posts</span></li><li><a href='./groovy-2-5-4-windows'>Groovy 2.5.4 Windows 
Installer Released (Community Artifact)</a></li><li><a href= [...]
+                        </div><div id='content' class='page-1'><div 
class='row'><div class='row-fluid'><div class='col-lg-3'><ul 
class='nav-sidebar'><li><a href='./'>Blog index</a></li><li class='active'><a 
href='#doc'>Groovy 2.5.4 Released</a></li></ul><br/><ul class='nav-sidebar'><li 
style='padding: 0.35em 0.625em; background-color: #eee'><span>Related 
posts</span></li><li><a href='./groovy-2-5-4-windows'>Groovy 2.5.4 Windows 
Installer Released (Community Artifact)</a></li><li><a href= [...]
 <p>Dear community,</p>
 </div>
 <div class="paragraph">
diff --git a/blog/groovy-2-5-4-windows.html b/blog/groovy-2-5-4-windows.html
index 9272222..00166fb 100644
--- a/blog/groovy-2-5-4-windows.html
+++ b/blog/groovy-2-5-4-windows.html
@@ -53,7 +53,7 @@
                                     </ul>
                                 </div>
                             </div>
-                        </div><div id='content' class='page-1'><div 
class='row'><div class='row-fluid'><div class='col-lg-3'><ul 
class='nav-sidebar'><li><a href='./'>Blog index</a></li><li class='active'><a 
href='#doc'>Groovy 2.5.4 Windows Installer Released (Community 
Artifact)</a></li></ul><br/><ul class='nav-sidebar'><li style='padding: 0.35em 
0.625em; background-color: #eee'><span>Related posts</span></li><li><a 
href='./groovy-2-5-2-windows'>Groovy 2.5.2 Windows Installer Released (C [...]
+                        </div><div id='content' class='page-1'><div 
class='row'><div class='row-fluid'><div class='col-lg-3'><ul 
class='nav-sidebar'><li><a href='./'>Blog index</a></li><li class='active'><a 
href='#doc'>Groovy 2.5.4 Windows Installer Released (Community 
Artifact)</a></li></ul><br/><ul class='nav-sidebar'><li style='padding: 0.35em 
0.625em; background-color: #eee'><span>Related posts</span></li><li><a 
href='./groovy-2-5-5-windows'>Groovy 2.5.5 Windows Installer Released (C [...]
 <p>The Windows installer for Groovy 2.5.4 (community artifact) is available 
from:
 <a 
href="https://bintray.com/groovy/Distributions/Windows-Installer/groovy-2.5.4-installer";
 
class="bare">https://bintray.com/groovy/Distributions/Windows-Installer/groovy-2.5.4-installer</a></p>
 </div></div></div></div></div><footer id='footer'>
diff --git a/blog/groovy-2-5-5-released.html b/blog/groovy-2-5-5-released.html
index 4514930..cf6cef6 100644
--- a/blog/groovy-2-5-5-released.html
+++ b/blog/groovy-2-5-5-released.html
@@ -53,7 +53,7 @@
                                     </ul>
                                 </div>
                             </div>
-                        </div><div id='content' class='page-1'><div 
class='row'><div class='row-fluid'><div class='col-lg-3'><ul 
class='nav-sidebar'><li><a href='./'>Blog index</a></li><li class='active'><a 
href='#doc'>Groovy 2.5.5 released</a></li></ul><br/><ul class='nav-sidebar'><li 
style='padding: 0.35em 0.625em; background-color: #eee'><span>Related 
posts</span></li><li><a href='./groovy-2-5-5-windows'>Groovy 2.5.5 Windows 
Installer Released (Community Artifact)</a></li><li><a href= [...]
+                        </div><div id='content' class='page-1'><div 
class='row'><div class='row-fluid'><div class='col-lg-3'><ul 
class='nav-sidebar'><li><a href='./'>Blog index</a></li><li class='active'><a 
href='#doc'>Groovy 2.5.5 released</a></li></ul><br/><ul class='nav-sidebar'><li 
style='padding: 0.35em 0.625em; background-color: #eee'><span>Related 
posts</span></li><li><a href='./groovy-2-5-5-windows'>Groovy 2.5.5 Windows 
Installer Released (Community Artifact)</a></li><li><a href= [...]
 <p>Dear community,</p>
 </div>
 <div class="paragraph">
diff --git a/blog/groovy-2-5-5-windows.html b/blog/groovy-2-5-5-windows.html
index be9543b..5ea68b3 100644
--- a/blog/groovy-2-5-5-windows.html
+++ b/blog/groovy-2-5-5-windows.html
@@ -53,7 +53,7 @@
                                     </ul>
                                 </div>
                             </div>
-                        </div><div id='content' class='page-1'><div 
class='row'><div class='row-fluid'><div class='col-lg-3'><ul 
class='nav-sidebar'><li><a href='./'>Blog index</a></li><li class='active'><a 
href='#doc'>Groovy 2.5.5 Windows Installer Released (Community 
Artifact)</a></li></ul><br/><ul class='nav-sidebar'><li style='padding: 0.35em 
0.625em; background-color: #eee'><span>Related posts</span></li><li><a 
href='./groovy-2-5-2-windows'>Groovy 2.5.2 Windows Installer Released (C [...]
+                        </div><div id='content' class='page-1'><div 
class='row'><div class='row-fluid'><div class='col-lg-3'><ul 
class='nav-sidebar'><li><a href='./'>Blog index</a></li><li class='active'><a 
href='#doc'>Groovy 2.5.5 Windows Installer Released (Community 
Artifact)</a></li></ul><br/><ul class='nav-sidebar'><li style='padding: 0.35em 
0.625em; background-color: #eee'><span>Related posts</span></li><li><a 
href='./groovy-2-5-4-windows'>Groovy 2.5.4 Windows Installer Released (C [...]
 <p>The Windows installer for Groovy 2.5.5 (community artifact) is available at:
 <a 
href="https://bintray.com/groovy/Distributions/Windows-Installer/groovy-2.5.5-installer";
 
class="bare">https://bintray.com/groovy/Distributions/Windows-Installer/groovy-2.5.5-installer</a></p>
 </div></div></div></div></div><footer id='footer'>
diff --git a/blog/groovy-2-5-6-released.html b/blog/groovy-2-5-6-released.html
index 0e9b39c..89d28a2 100644
--- a/blog/groovy-2-5-6-released.html
+++ b/blog/groovy-2-5-6-released.html
@@ -53,7 +53,7 @@
                                     </ul>
                                 </div>
                             </div>
-                        </div><div id='content' class='page-1'><div 
class='row'><div class='row-fluid'><div class='col-lg-3'><ul 
class='nav-sidebar'><li><a href='./'>Blog index</a></li><li class='active'><a 
href='#doc'>Groovy 2.5.6 Released</a></li></ul><br/><ul class='nav-sidebar'><li 
style='padding: 0.35em 0.625em; background-color: #eee'><span>Related 
posts</span></li><li><a href='./groovy-2-5-2-windows'>Groovy 2.5.2 Windows 
Installer Released (Community Artifact)</a></li><li><a href= [...]
+                        </div><div id='content' class='page-1'><div 
class='row'><div class='row-fluid'><div class='col-lg-3'><ul 
class='nav-sidebar'><li><a href='./'>Blog index</a></li><li class='active'><a 
href='#doc'>Groovy 2.5.6 Released</a></li></ul><br/><ul class='nav-sidebar'><li 
style='padding: 0.35em 0.625em; background-color: #eee'><span>Related 
posts</span></li><li><a href='./groovy-2-5-4-windows'>Groovy 2.5.4 Windows 
Installer Released (Community Artifact)</a></li><li><a href= [...]
 <p>Dear community,</p>
 </div>
 <div class="paragraph">
diff --git a/blog/groovy-2-5-7-and.html b/blog/groovy-2-5-7-and.html
index b09d90b..0d17208 100644
--- a/blog/groovy-2-5-7-and.html
+++ b/blog/groovy-2-5-7-and.html
@@ -53,7 +53,7 @@
                                     </ul>
                                 </div>
                             </div>
-                        </div><div id='content' class='page-1'><div 
class='row'><div class='row-fluid'><div class='col-lg-3'><ul 
class='nav-sidebar'><li><a href='./'>Blog index</a></li><li class='active'><a 
href='#doc'>Groovy 2.5.7 and 3.0.0-beta-1 Windows Installers Released 
(Community Artifacts)</a></li></ul><br/><ul class='nav-sidebar'><li 
style='padding: 0.35em 0.625em; background-color: #eee'><span>Related 
posts</span></li><li><a href='./groovy-2-5-2-windows'>Groovy 2.5.2 Windows In 
[...]
+                        </div><div id='content' class='page-1'><div 
class='row'><div class='row-fluid'><div class='col-lg-3'><ul 
class='nav-sidebar'><li><a href='./'>Blog index</a></li><li class='active'><a 
href='#doc'>Groovy 2.5.7 and 3.0.0-beta-1 Windows Installers Released 
(Community Artifacts)</a></li></ul><br/><ul class='nav-sidebar'><li 
style='padding: 0.35em 0.625em; background-color: #eee'><span>Related 
posts</span></li><li><a href='./groovy-2-5-4-windows'>Groovy 2.5.4 Windows In 
[...]
 <p>The Windows installer for Groovy 2.5.7 (Community Artifact) is now 
available from Bintray:
 <a 
href="https://bintray.com/groovy/Distributions/Windows-Installer/groovy-2.5.7-installer";
 
class="bare">https://bintray.com/groovy/Distributions/Windows-Installer/groovy-2.5.7-installer</a>.</p>
 </div>
diff --git a/blog/groovy-2-5-7-released.html b/blog/groovy-2-5-7-released.html
index 57857b8..7323ea3 100644
--- a/blog/groovy-2-5-7-released.html
+++ b/blog/groovy-2-5-7-released.html
@@ -53,7 +53,7 @@
                                     </ul>
                                 </div>
                             </div>
-                        </div><div id='content' class='page-1'><div 
class='row'><div class='row-fluid'><div class='col-lg-3'><ul 
class='nav-sidebar'><li><a href='./'>Blog index</a></li><li class='active'><a 
href='#doc'>Groovy 2.5.7 Released</a></li></ul><br/><ul class='nav-sidebar'><li 
style='padding: 0.35em 0.625em; background-color: #eee'><span>Related 
posts</span></li><li><a href='./groovy-2-5-7-and'>Groovy 2.5.7 and 3.0.0-beta-1 
Windows Installers Released (Community Artifacts)</a></ [...]
+                        </div><div id='content' class='page-1'><div 
class='row'><div class='row-fluid'><div class='col-lg-3'><ul 
class='nav-sidebar'><li><a href='./'>Blog index</a></li><li class='active'><a 
href='#doc'>Groovy 2.5.7 Released</a></li></ul><br/><ul class='nav-sidebar'><li 
style='padding: 0.35em 0.625em; background-color: #eee'><span>Related 
posts</span></li><li><a href='./groovy-2-5-7-and'>Groovy 2.5.7 and 3.0.0-beta-1 
Windows Installers Released (Community Artifacts)</a></ [...]
 <p>Dear community,</p>
 </div>
 <div class="paragraph">
diff --git a/blog/groovy-2-5-clibuilder-renewal.html 
b/blog/groovy-2-5-clibuilder-renewal.html
index 158f7a7..3ea22a6 100644
--- a/blog/groovy-2-5-clibuilder-renewal.html
+++ b/blog/groovy-2-5-clibuilder-renewal.html
@@ -53,7 +53,7 @@
                                     </ul>
                                 </div>
                             </div>
-                        </div><div id='content' class='page-1'><div 
class='row'><div class='row-fluid'><div class='col-lg-3'><ul 
class='nav-sidebar'><li><a href='./'>Blog index</a></li><li class='active'><a 
href='#doc'>Apache Groovy 2.5 CliBuilder Renewal</a></li><li><a 
href='#_the_code_groovy_util_clibuilder_code_class_is_deprecated' 
class='anchor-link'>The <code>groovy.util.CliBuilder</code> Class is 
Deprecated</a></li><li><a href='#_typed_options' class='anchor-link'>Typed 
Options</a> [...]
+                        </div><div id='content' class='page-1'><div 
class='row'><div class='row-fluid'><div class='col-lg-3'><ul 
class='nav-sidebar'><li><a href='./'>Blog index</a></li><li class='active'><a 
href='#doc'>Apache Groovy 2.5 CliBuilder Renewal</a></li><li><a 
href='#_the_code_groovy_util_clibuilder_code_class_is_deprecated' 
class='anchor-link'>The <code>groovy.util.CliBuilder</code> Class is 
Deprecated</a></li><li><a href='#_typed_options' class='anchor-link'>Typed 
Options</a> [...]
 <div class="sectionbody">
 <div class="paragraph">
 <p>The <code>CliBuilder</code> class for quickly and concisely building
diff --git a/blog/groovy-3-0-0-alpha.html b/blog/groovy-3-0-0-alpha.html
index ea7bcf0..ea81bac 100644
--- a/blog/groovy-3-0-0-alpha.html
+++ b/blog/groovy-3-0-0-alpha.html
@@ -53,7 +53,7 @@
                                     </ul>
                                 </div>
                             </div>
-                        </div><div id='content' class='page-1'><div 
class='row'><div class='row-fluid'><div class='col-lg-3'><ul 
class='nav-sidebar'><li><a href='./'>Blog index</a></li><li class='active'><a 
href='#doc'>Groovy 3.0.0-alpha-4 Released</a></li></ul><br/><ul 
class='nav-sidebar'><li style='padding: 0.35em 0.625em; background-color: 
#eee'><span>Related posts</span></li><li><a href='./groovy-3-0-0-alpha1'>Groovy 
3.0.0-alpha-4 Windows Installer Released (Community Artifact)</a></ [...]
+                        </div><div id='content' class='page-1'><div 
class='row'><div class='row-fluid'><div class='col-lg-3'><ul 
class='nav-sidebar'><li><a href='./'>Blog index</a></li><li class='active'><a 
href='#doc'>Groovy 3.0.0-alpha-4 Released</a></li></ul><br/><ul 
class='nav-sidebar'><li style='padding: 0.35em 0.625em; background-color: 
#eee'><span>Related posts</span></li><li><a href='./groovy-3-0-0-alpha1'>Groovy 
3.0.0-alpha-4 Windows Installer Released (Community Artifact)</a></ [...]
 <p>Dear community,</p>
 </div>
 <div class="paragraph">
diff --git a/blog/groovy-3-0-0-alpha1.html b/blog/groovy-3-0-0-alpha1.html
index 60f06d9..f418345 100644
--- a/blog/groovy-3-0-0-alpha1.html
+++ b/blog/groovy-3-0-0-alpha1.html
@@ -53,7 +53,7 @@
                                     </ul>
                                 </div>
                             </div>
-                        </div><div id='content' class='page-1'><div 
class='row'><div class='row-fluid'><div class='col-lg-3'><ul 
class='nav-sidebar'><li><a href='./'>Blog index</a></li><li class='active'><a 
href='#doc'>Groovy 3.0.0-alpha-4 Windows Installer Released (Community 
Artifact)</a></li></ul><br/><ul class='nav-sidebar'><li style='padding: 0.35em 
0.625em; background-color: #eee'><span>Related posts</span></li><li><a 
href='./groovy-3-0-0-alpha'>Groovy 3.0.0-alpha-4 Released</a></l [...]
+                        </div><div id='content' class='page-1'><div 
class='row'><div class='row-fluid'><div class='col-lg-3'><ul 
class='nav-sidebar'><li><a href='./'>Blog index</a></li><li class='active'><a 
href='#doc'>Groovy 3.0.0-alpha-4 Windows Installer Released (Community 
Artifact)</a></li></ul><br/><ul class='nav-sidebar'><li style='padding: 0.35em 
0.625em; background-color: #eee'><span>Related posts</span></li><li><a 
href='./groovy-3-0-0-alpha'>Groovy 3.0.0-alpha-4 Released</a></l [...]
 <p>The Windows installer for Groovy 3.0.0-alpha-4 (Community Artifact) is 
available from the usual place:
 <a 
href="https://bintray.com/groovy/Distributions/download_file?file_path=groovy-3.0.0-alpha-4-installer.exe";
 
class="bare">https://bintray.com/groovy/Distributions/download_file?file_path=groovy-3.0.0-alpha-4-installer.exe</a></p>
 </div>
diff --git a/blog/groovy-3-0-0-beta.html b/blog/groovy-3-0-0-beta.html
index 1cc8c59..7e26190 100644
--- a/blog/groovy-3-0-0-beta.html
+++ b/blog/groovy-3-0-0-beta.html
@@ -53,7 +53,7 @@
                                     </ul>
                                 </div>
                             </div>
-                        </div><div id='content' class='page-1'><div 
class='row'><div class='row-fluid'><div class='col-lg-3'><ul 
class='nav-sidebar'><li><a href='./'>Blog index</a></li><li class='active'><a 
href='#doc'>Groovy 3.0.0-beta-1 Released</a></li></ul><br/><ul 
class='nav-sidebar'><li style='padding: 0.35em 0.625em; background-color: 
#eee'><span>Related posts</span></li><li><a href='./groovy-3-0-0-alpha'>Groovy 
3.0.0-alpha-4 Released</a></li><li><a href='./groovy-3-0-0-beta1'>Gro [...]
+                        </div><div id='content' class='page-1'><div 
class='row'><div class='row-fluid'><div class='col-lg-3'><ul 
class='nav-sidebar'><li><a href='./'>Blog index</a></li><li class='active'><a 
href='#doc'>Groovy 3.0.0-beta-1 Released</a></li></ul><br/><ul 
class='nav-sidebar'><li style='padding: 0.35em 0.625em; background-color: 
#eee'><span>Related posts</span></li><li><a href='./groovy-3-0-0-alpha'>Groovy 
3.0.0-alpha-4 Released</a></li><li><a href='./groovy-3-0-0-beta2'>Gro [...]
 <p>Dear community,</p>
 </div>
 <div class="paragraph">
diff --git a/blog/groovy-3-0-0-beta1.html b/blog/groovy-3-0-0-beta1.html
index 4a766e0..1d855f0 100644
--- a/blog/groovy-3-0-0-beta1.html
+++ b/blog/groovy-3-0-0-beta1.html
@@ -53,7 +53,7 @@
                                     </ul>
                                 </div>
                             </div>
-                        </div><div id='content' class='page-1'><div 
class='row'><div class='row-fluid'><div class='col-lg-3'><ul 
class='nav-sidebar'><li><a href='./'>Blog index</a></li><li class='active'><a 
href='#doc'>Groovy 3.0.0-beta-2 Released</a></li></ul><br/><ul 
class='nav-sidebar'><li style='padding: 0.35em 0.625em; background-color: 
#eee'><span>Related posts</span></li><li><a href='./groovy-3-0-0-beta2'>Groovy 
3.0.0-beta-2 Windows Installer Released (Community Release)</a></li>< [...]
+                        </div><div id='content' class='page-1'><div 
class='row'><div class='row-fluid'><div class='col-lg-3'><ul 
class='nav-sidebar'><li><a href='./'>Blog index</a></li><li class='active'><a 
href='#doc'>Groovy 3.0.0-beta-2 Released</a></li></ul><br/><ul 
class='nav-sidebar'><li style='padding: 0.35em 0.625em; background-color: 
#eee'><span>Related posts</span></li><li><a href='./groovy-3-0-0-beta2'>Groovy 
3.0.0-beta-2 Windows Installer Released (Community Release)</a></li>< [...]
 <p>Dear community,</p>
 </div>
 <div class="paragraph">
diff --git a/blog/groovy-3-0-0-beta2.html b/blog/groovy-3-0-0-beta2.html
index bae023b..c36f6be 100644
--- a/blog/groovy-3-0-0-beta2.html
+++ b/blog/groovy-3-0-0-beta2.html
@@ -53,7 +53,7 @@
                                     </ul>
                                 </div>
                             </div>
-                        </div><div id='content' class='page-1'><div 
class='row'><div class='row-fluid'><div class='col-lg-3'><ul 
class='nav-sidebar'><li><a href='./'>Blog index</a></li><li class='active'><a 
href='#doc'>Groovy 3.0.0-beta-2 Windows Installer Released (Community 
Release)</a></li></ul><br/><ul class='nav-sidebar'><li style='padding: 0.35em 
0.625em; background-color: #eee'><span>Related posts</span></li><li><a 
href='./groovy-3-0-0-beta1'>Groovy 3.0.0-beta-2 Released</a></li>< [...]
+                        </div><div id='content' class='page-1'><div 
class='row'><div class='row-fluid'><div class='col-lg-3'><ul 
class='nav-sidebar'><li><a href='./'>Blog index</a></li><li class='active'><a 
href='#doc'>Groovy 3.0.0-beta-2 Windows Installer Released (Community 
Release)</a></li></ul><br/><ul class='nav-sidebar'><li style='padding: 0.35em 
0.625em; background-color: #eee'><span>Related posts</span></li><li><a 
href='./groovy-3-0-0-beta1'>Groovy 3.0.0-beta-2 Released</a></li>< [...]
 <p>The Windows installer for Groovy 3.0.0-beta-2 is now available from Bintray:
 <a 
href="https://bintray.com/groovy/Distributions/download_file?file_path=groovy-3.0.0-beta-2-installer.exe";
 
class="bare">https://bintray.com/groovy/Distributions/download_file?file_path=groovy-3.0.0-beta-2-installer.exe</a></p>
 </div>
diff --git a/blog/groovy-4-0-3-released.html b/blog/groovy-4-0-3-released.html
index dc7f68f..1d06ce1 100644
--- a/blog/groovy-4-0-3-released.html
+++ b/blog/groovy-4-0-3-released.html
@@ -53,7 +53,7 @@
                                     </ul>
                                 </div>
                             </div>
-                        </div><div id='content' class='page-1'><div 
class='row'><div class='row-fluid'><div class='col-lg-3'><ul 
class='nav-sidebar'><li><a href='./'>Blog index</a></li><li class='active'><a 
href='#doc'>Groovy 4.0.3 Released</a></li></ul><br/><ul class='nav-sidebar'><li 
style='padding: 0.35em 0.625em; background-color: #eee'><span>Related 
posts</span></li><li><a href='./groovy-2-5-2-windows'>Groovy 2.5.2 Windows 
Installer Released (Community Artifact)</a></li><li><a href= [...]
+                        </div><div id='content' class='page-1'><div 
class='row'><div class='row-fluid'><div class='col-lg-3'><ul 
class='nav-sidebar'><li><a href='./'>Blog index</a></li><li class='active'><a 
href='#doc'>Groovy 4.0.3 Released</a></li></ul><br/><ul class='nav-sidebar'><li 
style='padding: 0.35em 0.625em; background-color: #eee'><span>Related 
posts</span></li><li><a href='./groovy-3-0-0-alpha'>Groovy 3.0.0-alpha-4 
Released</a></li><li><a href='./groovy-2-5-4-windows'>Groovy 2 [...]
 <p>Dear community,</p>
 </div>
 <div class="paragraph">
diff --git a/blog/groovy-dauphine.html b/blog/groovy-dauphine.html
index 45ac4d6..f20eea8 100644
--- a/blog/groovy-dauphine.html
+++ b/blog/groovy-dauphine.html
@@ -53,7 +53,7 @@
                                     </ul>
                                 </div>
                             </div>
-                        </div><div id='content' class='page-1'><div 
class='row'><div class='row-fluid'><div class='col-lg-3'><ul 
class='nav-sidebar'><li><a href='./'>Blog index</a></li><li class='active'><a 
href='#doc'>Processing Results for the CritΓ©rium du DauphinΓ©</a></li><li><a 
href='#_results_file' class='anchor-link'>Results file</a></li></ul><br/><ul 
class='nav-sidebar'><li style='padding: 0.35em 0.625em; background-color: 
#eee'><span>Related posts</span></li><li><a href='./readin [...]
+                        </div><div id='content' class='page-1'><div 
class='row'><div class='row-fluid'><div class='col-lg-3'><ul 
class='nav-sidebar'><li><a href='./'>Blog index</a></li><li class='active'><a 
href='#doc'>Processing Results for the CritΓ©rium du DauphinΓ©</a></li><li><a 
href='#_results_file' class='anchor-link'>Results file</a></li></ul><br/><ul 
class='nav-sidebar'><li style='padding: 0.35em 0.625em; background-color: 
#eee'><span>Related posts</span></li><li><a href='./readin [...]
 <div class="sectionbody">
 <div class="paragraph">
 <p>The 2023 <a href="https://www.criterium-du-dauphine.fr/en/";>CritΓ©rium du 
DauphinΓ©</a>
diff --git a/blog/groovy-graph-databases.html b/blog/groovy-graph-databases.html
index fad38ba..dd9ca1a 100644
--- a/blog/groovy-graph-databases.html
+++ b/blog/groovy-graph-databases.html
@@ -3,7 +3,7 @@
 <!--[if IE 7]>         <html class="no-js lt-ie9 lt-ie8"> <![endif]-->
 <!--[if IE 8]>         <html class="no-js lt-ie9"> <![endif]-->
 <!--[if gt IE 8]><!--> <html class="no-js"> <!--<![endif]--><head>
-    <meta charset='utf-8'/><meta http-equiv='X-UA-Compatible' 
content='IE=edge'/><meta name='viewport' content='width=device-width, 
initial-scale=1'/><meta name='keywords' content='tugraph, tinkerpop, gremlin, 
neo4j, apache age, graph databases, apache hugegraph, orientdb, arcadedb, 
orientdb, groovy'/><meta name='description' content='This post illustrates 
using graph databases with Groovy.'/><title>The Apache Groovy programming 
language - Blogs - Using Graph Databases with Groovy</title [...]
+    <meta charset='utf-8'/><meta http-equiv='X-UA-Compatible' 
content='IE=edge'/><meta name='viewport' content='width=device-width, 
initial-scale=1'/><meta name='keywords' content='tugraph, tinkerpop, gremlin, 
neo4j, apache age, graph databases, apache hugegraph, arcadedb, orientdb, 
groovy'/><meta name='description' content='This post illustrates using graph 
databases with Groovy.'/><title>The Apache Groovy programming language - Blogs 
- Using Graph Databases with Groovy</title><link hre [...]
 </head><body>
     <div id='fork-me'>
         <a href='https://github.com/apache/groovy'>
@@ -53,16 +53,16 @@
                                     </ul>
                                 </div>
                             </div>
-                        </div><div id='content' class='page-1'><div 
class='row'><div class='row-fluid'><div class='col-lg-3'><ul 
class='nav-sidebar'><li><a href='./'>Blog index</a></li><li class='active'><a 
href='#doc'>Using Graph Databases with Groovy</a></li><li><a 
href='#_case_study' class='anchor-link'>Case Study</a></li><li><a 
href='#_why_graph_databases' class='anchor-link'>Why graph 
databases?</a></li><li><a href='#_apache_tinkerpop' class='anchor-link'>Apache 
TinkerPop</a></li><l [...]
+                        </div><div id='content' class='page-1'><div 
class='row'><div class='row-fluid'><div class='col-lg-3'><ul 
class='nav-sidebar'><li><a href='./'>Blog index</a></li><li class='active'><a 
href='#doc'>Using Graph Databases with Groovy</a></li><li><a 
href='#_case_study' class='anchor-link'>Case Study</a></li><li><a 
href='#_why_graph_databases' class='anchor-link'>Why graph 
databases?</a></li><li><a href='#_apache_tinkerpop' class='anchor-link'>Apache 
TinkerPop</a></li><l [...]
 <div class="sectionbody">
 <div class="paragraph">
-<p>In this blog post, we look at using graph databases with Groovy.
+<p>In this blog post, we look at using property graph databases with Groovy.
 We&#8217;ll look at:</p>
 </div>
 <div class="ulist">
 <ul>
 <li>
-<p>Some advantages of graph database technologies</p>
+<p>Some advantages of property graph database technologies</p>
 </li>
 <li>
 <p>Some features of Groovy which make using such databases a little nicer</p>
@@ -92,7 +92,7 @@ On the following day in Semifinal 1, Regan took back the 
record. Then, on the fo
 day in the final, Kaylee reclaimed the record. At the Paris 2024 Olympics,
 Kaylee bettered her own record in the final. Then a few days later,
 Regan lead off the 4 x 100m medley relay and broke the backstroke record 
swimming the first leg.
-That makes 7 times the record was broken across the 2 games!</p>
+That makes 7 times the record was broken across the last 2 games!</p>
 </div>
 <div class="paragraph">
 <p><span class="image"><img src="img/BackstrokeRecord.png" alt="Result of 
Semifinal1" width="70%"></span></p>
@@ -114,19 +114,23 @@ information using several graph database technologies.</p>
 <h2 id="_why_graph_databases">Why graph databases?</h2>
 <div class="sectionbody">
 <div class="paragraph">
-<p>RDBMS systems are many times more popular than graph databases.
-This blog post doesn&#8217;t aim to convert everyone to use graph databases 
all the time,
-but we&#8217;ll show you some examples of when it might make sense and let you 
make up your own mind.</p>
-</div>
-<div class="paragraph">
-<p>Graph databases are known for more succinct queries
-and vastly more efficient queries in some scenarios.
+<p>RDBMS systems are many times more popular than graph databases, but there 
are a
+range of scenarios where graph databases are often used.
 Which scenarios? Usually, it boils down to relationships.
 If there are important relationships between data in your system,
-graph databases might make sense.</p>
+graph databases might make sense.
+Typical usage scenarios include fraud detection, knowledge graphs, 
recommendations engines,
+social networks, and supply chain management.</p>
+</div>
+<div class="paragraph">
+<p>This blog post doesn&#8217;t aim to convert everyone to use graph databases 
all the time,
+but we&#8217;ll show you some examples of when it might make sense and let you 
make up your own mind.
+Graph databases certainly represent a very useful tool to have in your toolbox 
should the need arise.</p>
 </div>
 <div class="paragraph">
-<p>As a first example, do you prefer this cypher query (it&#8217;s from the 
TuGraph code we&#8217;ll see later
+<p>Graph databases are known for more succinct queries
+and vastly more efficient queries in some scenarios.
+As a first example, do you prefer this cypher query (it&#8217;s from the 
TuGraph code we&#8217;ll see later
 but other technologies are similar):</p>
 </div>
 <div class="listingblock">
@@ -242,8 +246,8 @@ at the London 2012 Olympics. Emily Seebohm set that record 
in Heat 4:</p>
 </div>
 <div class="listingblock">
 <div class="content">
-<pre class="prettyprint highlight"><code data-lang="groovy">var es = 
g.addV('swimmer').property(name: 'Emily Seebohm', country: 'πŸ‡¦πŸ‡Ί').next()
-swim1 = g.addV('swim').property(at: 'London 2012', event: 'Heat 4', time: 
58.23, result: 'First').next()
+<pre class="prettyprint highlight"><code data-lang="groovy">var es = 
g.addV('Swimmer').property(name: 'Emily Seebohm', country: 'πŸ‡¦πŸ‡Ί').next()
+swim1 = g.addV('Swim').property(at: 'London 2012', event: 'Heat 4', time: 
58.23, result: 'First').next()
 es.addEdge('swam', swim1)</code></pre>
 </div>
 </div>
@@ -293,11 +297,11 @@ We can enable the syntactic sugar with:</p>
 <div class="listingblock">
 <div class="content">
 <pre class="prettyprint highlight"><code data-lang="groovy">def 
insertSwimmer(TraversalSource g, name, country) {
-    g.addV('swimmer').property(name: name, country: country).next()
+    g.addV('Swimmer').property(name: name, country: country).next()
 }
 
 def insertSwim(TraversalSource g, at, event, time, result, swimmer) {
-    var swim = g.addV('swim').property(at: at, event: event, time: time, 
result: result).next()
+    var swim = g.addV('Swim').property(at: at, event: event, time: time, 
result: result).next()
     swimmer.addEdge('swam', swim)
     swim
 }</code></pre>
@@ -310,12 +314,12 @@ def insertSwim(TraversalSource g, at, event, time, 
result, swimmer) {
 <div class="content">
 <pre class="prettyprint highlight"><code data-lang="groovy">var km = 
insertSwimmer(g, 'Kylie Masse', 'πŸ‡¨πŸ‡¦')
 var swim2 = insertSwim(g, 'Tokyo 2021', 'Heat 4', 58.17, 'First', km)
-swim2.addEdge('supercedes', swim1)
+swim2.addEdge('supersedes', swim1)
 var swim3 = insertSwim(g, 'Tokyo 2021', 'Final', 57.72, 'πŸ₯ˆ', km)
 
 var rs = insertSwimmer(g, 'Regan Smith', 'πŸ‡ΊπŸ‡Έ')
 var swim4 = insertSwim(g, 'Tokyo 2021', 'Heat 5', 57.96, 'First', rs)
-swim4.addEdge('supercedes', swim2)
+swim4.addEdge('supersedes', swim2)
 var swim5 = insertSwim(g, 'Tokyo 2021', 'Semifinal 1', 57.86, '', rs)
 var swim6 = insertSwim(g, 'Tokyo 2021', 'Final', 58.05, 'πŸ₯‰', rs)
 var swim7 = insertSwim(g, 'Paris 2024', 'Final', 57.66, 'πŸ₯ˆ', rs)
@@ -323,13 +327,13 @@ var swim8 = insertSwim(g, 'Paris 2024', 'Relay leg1', 
57.28, 'First', rs)
 
 var kmk = insertSwimmer(g, 'Kaylee McKeown', 'πŸ‡¦πŸ‡Ί')
 var swim9 = insertSwim(g, 'Tokyo 2021', 'Heat 6', 57.88, 'First', kmk)
-swim9.addEdge('supercedes', swim4)
-swim5.addEdge('supercedes', swim9)
+swim9.addEdge('supersedes', swim4)
+swim5.addEdge('supersedes', swim9)
 var swim10 = insertSwim(g, 'Tokyo 2021', 'Final', 57.47, 'πŸ₯‡', kmk)
-swim10.addEdge('supercedes', swim5)
+swim10.addEdge('supersedes', swim5)
 var swim11 = insertSwim(g, 'Paris 2024', 'Final', 57.33, 'πŸ₯‡', kmk)
-swim11.addEdge('supercedes', swim10)
-swim8.addEdge('supercedes', swim11)
+swim11.addEdge('supersedes', swim10)
+swim8.addEdge('supersedes', swim11)
 
 var kb = insertSwimmer(g, 'Katharine Berkoff', 'πŸ‡ΊπŸ‡Έ')
 var swim12 = insertSwim(g, 'Paris 2024', 'Final', 57.98, 'πŸ₯‰', kb)</code></pre>
@@ -338,8 +342,8 @@ var swim12 = insertSwim(g, 'Paris 2024', 'Final', 57.98, 
'πŸ₯‰', kb)</code></pre
 <div class="paragraph">
 <p>Note that we just entered the swims where medals were won or
 where olympic records were broken. We could easily have added
-more swimmers, other strokes and distances, and even other sports
-if we wanted to.</p>
+more swimmers, other strokes and distances, relay events,
+and even other sports if we wanted to.</p>
 </div>
 <div class="paragraph">
 <p>Let&#8217;s have a look at what our graph now looks like:</p>
@@ -350,7 +354,7 @@ if we wanted to.</p>
 <div class="paragraph">
 <p>We now might want to query the graph in numerous ways.
 For instance, what countries had success at the Paris 2024 olympics,
-where success is defined for the purposes of this query as
+where success is defined, for the purposes of this query, as
 winning a medal or breaking a record. Of course, just having
 a swimmer make the olympic team is a great success - but let&#8217;s
 keep our example simple for now.</p>
@@ -375,7 +379,7 @@ sets on both sides.</p>
 </div>
 <div class="listingblock">
 <div class="content">
-<pre class="prettyprint highlight"><code data-lang="groovy">var 
recordSetInHeat = g.V().hasLabel('swim')
+<pre class="prettyprint highlight"><code data-lang="groovy">var 
recordSetInHeat = g.V().hasLabel('Swim')
     .filter { it.get().property('event').value().startsWith('Heat') }
     .values('at').toSet()
 assert recordSetInHeat == ['London 2012', 'Tokyo 2021'] as Set</code></pre>
@@ -407,9 +411,18 @@ assert recordTimesInFinals == [57.47, 57.33] as 
Set</code></pre>
 </div>
 </div>
 <div class="paragraph">
-<p>But graph databases really excel when performing queries
-involving multiple edge traversals. Here is one looking
-at all the olympic records set in 2021 and 2024:</p>
+<p>Groovy happens to be very good at allowing you to add syntactic sugar
+for your own programs or existing classes. TinkerPop&#8217;s special Groovy 
support
+is just one example of this. Your vendor could certainly supply such a feature
+for your favorite graph database (why not ask them?) but we&#8217;ll look 
shortly at
+how you could write such syntactic sugar yourself when we explore Neo4j.</p>
+</div>
+<div class="paragraph">
+<p>Our examples so far are all interesting,
+but graph databases really excel when performing queries
+involving multiple edge traversals. Let&#8217;s look
+at all the olympic records set in 2021 and 2024,
+i.e. all records set after London 2012 (<code>swim1</code> from earlier):</p>
 </div>
 <div class="listingblock">
 <div class="content">
@@ -443,9 +456,18 @@ Paris 2024 Final
 Paris 2024 Relay leg1</pre>
 </div>
 </div>
-<div class="paragraph">
-<p>As a side note, TinkerPop has a <code>GraphMLWriter</code> class which can 
write out our
-graph in <em>GraphML</em>, which is how the above image was created.</p>
+<div class="admonitionblock note">
+<table>
+<tr>
+<td class="icon">
+<div class="title">Note</div>
+</td>
+<td class="content">
+While not important for our examples, TinkerPop has a 
<code>GraphMLWriter</code> class which can write out our
+graph in <em>GraphML</em>, which is how the earlier image of Graphs and Nodes 
was initially generated.
+</td>
+</tr>
+</table>
 </div>
 </div>
 </div>
@@ -525,10 +547,10 @@ Let&#8217;s use some dynamic metaprogramming to achieve 
just that.</p>
 </div>
 <div class="paragraph">
 <p>What does this do? The propertyMissing lines catch attempts to use 
Groovy&#8217;s
-normal property access and funnels then through the <code>getProperty</code> 
and <code>setProperty</code> methods.
+normal property access and funnels then through appropriate 
<code>getProperty</code> and <code>setProperty</code> methods.
 The methodMissing line means any attempted method calls that we don&#8217;t 
recognize
 are intended to be relationship creation, so we funnel them through the 
appropriate
-method call.</p>
+<code>createRelationshipTo</code> method call.</p>
 </div>
 <div class="paragraph">
 <p>Now we can use normal Groovy property access for setting the node 
properties.
@@ -565,7 +587,7 @@ swim2.result = 'First'
 swim2.event = 'Heat 4'
 swim2.at = 'Tokyo 2021'
 km.swam(swim2)
-swim2.supercedes(swim1)
+swim2.supersedes(swim1)
 
 swim3 = tx.createNode('Swim')
 swim3.time = 57.72d
@@ -577,24 +599,19 @@ km.swam(swim3)</code></pre>
 </div>
 <div class="paragraph">
 <p>The code for relationships is certainly a lot cleaner too,
-and it was quite a minimal amount of work to define the necessary 
metaprogramming.
-With a little bit more work, we could use static metaprogramming techniques.
-This would give us better IDE completion.</p>
+and it was quite a minimal amount of work to define the necessary 
metaprogramming.</p>
 </div>
 <div class="paragraph">
-<p>Another interesting topic which we won&#8217;t elaborate here is stronger 
type checking for graphs.
-For graph libraries which support schemas, the types for node and edge 
properties can be defined,
-as can the allowable nodes applicable to any edge relationship. For such 
systems, if you try to
-define a poorly-typed property, or incorrectly use a relationship, you will 
receive a runtime error.
-Groovy lets us take things further, if we want, and if we are willing to do a 
little more work.
-For example, if the schema is available at compile time, we could write a type 
checking extension
-which would fail compilation if any invalid edge or vertex definitions were 
detected.</p>
+<p>With a little bit more work, we could use static metaprogramming techniques.
+This would give us better IDE completion.
+We&#8217;ll have more to say about improved type checking at the end of this 
post.
+For now though, let&#8217;s continue with defining the rest of our graph.</p>
 </div>
 <div class="paragraph">
-<p>For now though, let&#8217;s continue with defining the rest of our graph.
-We can redefine our <code>insertSwimmer</code> and <code>insertSwim</code> 
methods using Neo4j implementation
+<p>We can redefine our <code>insertSwimmer</code> and <code>insertSwim</code> 
methods using Neo4j implementation
 calls, and then our earlier code could be used to create our graph. Now 
let&#8217;s
-investigate what the queries look like.</p>
+investigate what the queries look like. We&#8217;ll start with querying via
+the API. and later look at using Cypher.</p>
 </div>
 <div class="paragraph">
 <p>First, the successful countries in Paris 2024:</p>
@@ -628,7 +645,7 @@ assert recordSetInHeat.unique() == ['London 2012', 'Tokyo 
2021']</code></pre>
 <div class="listingblock">
 <div class="content">
 <pre class="prettyprint highlight"><code data-lang="groovy">var 
recordTimesInFinals = swims.findAll { swim -&gt;
-    swim.event == 'Final' &amp;&amp; swim.hasRelationship(supercedes)
+    swim.event == 'Final' &amp;&amp; swim.hasRelationship(supersedes)
 }*.time
 assert recordTimesInFinals == [57.47d, 57.33d]</code></pre>
 </div>
@@ -653,7 +670,7 @@ for (Path p in tx.traversalDescription()
 </div>
 <div class="paragraph">
 <p>Earlier versions of Neo4j also supported Gremlin, so we could have written 
our queries in
-the same was as we did for TinkerPop. That technology is deprecated for Neo4j, 
and instead
+the same was as we did for TinkerPop. That technology is deprecated in recent 
Neo4j versions, and instead
 they now offer a Cypher query language. We can use that language for all of 
our previous queries
 as shown here:</p>
 </div>
@@ -679,11 +696,12 @@ RETURN s1
 }</code></pre>
 </div>
 </div>
-<div class="sect2">
-<h3 id="_an_aside_on_graph_design">An aside on graph design</h3>
+<div class="sidebarblock">
+<div class="content">
+<div class="title">An aside on graph design</div>
 <div class="paragraph">
 <p>This blog post is definitely, not meant to be an advanced course on graph 
database
-design, but it is worth pointing out a few points.</p>
+design, but it is worth noting a few points.</p>
 </div>
 <div class="paragraph">
 <p>Deciding which information should be stored as node properties and which as 
relationships
@@ -701,7 +719,7 @@ We could write a query to find this as follows:</p>
 <div class="listingblock">
 <div class="content">
 <pre class="prettyprint highlight"><code data-lang="groovy">assert 
tx.execute('''
-MATCH (sr1:swimmer)-[:swam]-&gt;(sm1:swim {event: 'Final'}), (sm2:swim {event: 
'Final'})-[:supercedes]-&gt;(sm3:swim)
+MATCH (sr1:swimmer)-[:swam]-&gt;(sm1:swim {event: 'Final'}), (sm2:swim {event: 
'Final'})-[:supersedes]-&gt;(sm3:swim)
 WHERE sm1.at = sm2.at AND sm1 &lt;&gt; sm2 AND sm1.time &lt; sm3.time
 RETURN sr1.name as name
 ''')*.name == ['Kylie Masse']</code></pre>
@@ -734,7 +752,7 @@ swim7.runnerup(swim11)</code></pre>
 <div class="listingblock">
 <div class="content">
 <pre class="prettyprint highlight"><code data-lang="groovy">assert 
tx.execute('''
-MATCH (sr1:swimmer)-[:swam]-&gt;(sm1:swim {event: 
'Final'})-[:runnerup]-&gt;{1,2}(sm2:swim {event: 
'Final'})-[:supercedes]-&gt;(sm3:swim)
+MATCH (sr1:swimmer)-[:swam]-&gt;(sm1:swim {event: 
'Final'})-[:runnerup]-&gt;{1,2}(sm2:swim {event: 
'Final'})-[:supersedes]-&gt;(sm3:swim)
 WHERE sm1.time &lt; sm3.time
 RETURN sr1.name as name
 ''')*.name == ['Kylie Masse']</code></pre>
@@ -747,6 +765,7 @@ The query is probably faster too, but it is a tradeoff that 
should be weighed up
 </div>
 </div>
 </div>
+</div>
 <div class="sect1">
 <h2 id="_apache_age">Apache AGE</h2>
 <div class="sectionbody">
@@ -1434,6 +1453,107 @@ gremlin.gremlin('''
 </div>
 </div>
 </div>
+</div>
+<div class="sect1">
+<h2 id="_static_typing">Static typing</h2>
+<div class="sectionbody">
+<div class="paragraph">
+<p>Another interesting topic is improving type checking for graph database 
code.
+Groovy supports very dynamic styles of code through to "stronger-than-Java" 
type checking.</p>
+</div>
+<div class="paragraph">
+<p>Some graph database technologies offer only a schema-free experience
+to allow your data models to <em>"adapt and change easily with your 
business"</em>.
+Others allow a schema to be defined with varying degrees of information.
+Groovy&#8217;s dynamic capabilities make it particularly suited for writing 
code
+that will work easily even if you change your data model on the fly.
+However, if you prefer to add further type checking into your code, Groovy has
+options for that too.</p>
+</div>
+<div class="paragraph">
+<p>Let&#8217;s recap on what schema-like capabilities our examples made use 
of:</p>
+</div>
+<div class="ulist">
+<ul>
+<li>
+<p>Apache TinkerPop: used dynamic vertex labels and edges</p>
+</li>
+<li>
+<p>Neo4j: used dynamic vertex labels but required edges to be defined by an 
enum</p>
+</li>
+<li>
+<p>Apache AGE: although not shown in this post, defined vertex labels, edges 
were dynamic</p>
+</li>
+<li>
+<p>OrientDB: defined vertex and edge classes</p>
+</li>
+<li>
+<p>ArcadeDB: defined vertex and edge types</p>
+</li>
+<li>
+<p>TuGraph: defined vertex and edge labels, vertex labels had typed 
properties, edge labels typed with from/to vertex labels</p>
+</li>
+<li>
+<p>Apache HugeGraph: defined vertex and edge labels, vertex labels had typed 
properties, edge labels typed with from/to vertex labels</p>
+</li>
+</ul>
+</div>
+<div class="paragraph">
+<p>The good news about where we chose very dynamic options, we could easily 
add new
+vertices and edges, e.g.:</p>
+</div>
+<div class="listingblock">
+<div class="content">
+<pre class="prettyprint highlight"><code data-lang="groovy">var mb = 
g.addV('Coach').property(name: 'Michael Bohl').next()
+mb.coaches(kmk)</code></pre>
+</div>
+</div>
+<div class="paragraph">
+<p>For the examples which used schema-like capabilities, we&#8217;d need to 
declare the additional
+vertex type <code>Coach</code> and edge <code>coaches</code> before we could 
define the new node and edge.
+Let&#8217;s explore just a few options where Groovy capabilities could make it 
easier to deal
+with typing.</p>
+</div>
+<div class="paragraph">
+<p>We previously used <code>insertSwimmer</code> and <code>insertSwim</code> 
helper methods. We could supply types
+for those parameters even where our underlying database technology 
wasn&#8217;t using them.
+That would at least capture typing errors when inserting information into our 
graph.</p>
+</div>
+<div class="paragraph">
+<p>We could use a richly-typed domain using Groovy classes or records. We 
could generate
+the necessary method calls to create the schema/labels and then populate the 
database.</p>
+</div>
+<div class="paragraph">
+<p>Alternatively, we can leave the code in its dynamic form and make use of 
Groovy&#8217;s
+extensible type checking system. We could write an extension which
+fails compilation if any invalid edge or vertex definitions were detected.
+For our <code>coaches</code> example above, the previous line would pass 
compilation
+but if had incorrect vertices for that edge relationship, compilation would 
fail,
+e.g. for the statement <code>swim1.coaches(mb)</code>, we&#8217;d get the 
following error:</p>
+</div>
+<div class="listingblock">
+<div class="content">
+<pre>[Static type checking] - Invalid edge - expected: 
&lt;Coach&gt;.coaches(&lt;Swimmer&gt;)
+but found: &lt;Swim&gt;.coaches(&lt;Coach&gt;)
+@ line 20, column 5.
+swim1.coaches(mb)
+^
+
+1 error</pre>
+</div>
+</div>
+<div class="paragraph">
+<p>We won&#8217;t show the code for this, it&#8217;s in the GitHub repo. It is 
hard-coded to
+know about the <code>coaches</code> relationship. Ideally, we&#8217;d combine 
extensible type checking
+with the previously mentioned richly-typed model, and we could populate both 
the
+information that our type checker needs and any label/schema information our
+graph database would need.</p>
+</div>
+<div class="paragraph">
+<p>Anyway, these a just a few options Groovy gives you. Why not have fun 
trying out some
+ideas yourself!</p>
+</div>
+</div>
 </div></div></div></div></div><footer id='footer'>
                             <div class='row'>
                                 <div class='colset-3-footer'>
diff --git a/blog/groovy-haiku-processing.html 
b/blog/groovy-haiku-processing.html
index 9c682bf..60df864 100644
--- a/blog/groovy-haiku-processing.html
+++ b/blog/groovy-haiku-processing.html
@@ -53,7 +53,7 @@
                                     </ul>
                                 </div>
                             </div>
-                        </div><div id='content' class='page-1'><div 
class='row'><div class='row-fluid'><div class='col-lg-3'><ul 
class='nav-sidebar'><li><a href='./'>Blog index</a></li><li class='active'><a 
href='#doc'>Groovy Haiku processing</a></li><li><a 
href='#_example_1_finding_the_distinct_letters' class='anchor-link'>Example 1: 
Finding the distinct letters</a></li><li><a 
href='#_example_2_splitting_letters_into_unique_and_duplicate_partitions' 
class='anchor-link'>Example 2: Splitt [...]
+                        </div><div id='content' class='page-1'><div 
class='row'><div class='row-fluid'><div class='col-lg-3'><ul 
class='nav-sidebar'><li><a href='./'>Blog index</a></li><li class='active'><a 
href='#doc'>Groovy Haiku processing</a></li><li><a 
href='#_example_1_finding_the_distinct_letters' class='anchor-link'>Example 1: 
Finding the distinct letters</a></li><li><a 
href='#_example_2_splitting_letters_into_unique_and_duplicate_partitions' 
class='anchor-link'>Example 2: Splitt [...]
 <div class="sectionbody">
 <div class="paragraph">
 <p>This blog looks at some Groovy solutions for the examples in the
diff --git a/blog/groovy-list-processing-cheat-sheet.html 
b/blog/groovy-list-processing-cheat-sheet.html
index 6fe998c..8c43925 100644
--- a/blog/groovy-list-processing-cheat-sheet.html
+++ b/blog/groovy-list-processing-cheat-sheet.html
@@ -53,7 +53,7 @@
                                     </ul>
                                 </div>
                             </div>
-                        </div><div id='content' class='page-1'><div 
class='row'><div class='row-fluid'><div class='col-lg-3'><ul 
class='nav-sidebar'><li><a href='./'>Blog index</a></li><li class='active'><a 
href='#doc'>Groovy List Processing Cheat Sheet</a></li><li><a 
href='#_declaring_lists' class='anchor-link'>Declaring lists</a></li><li><a 
href='#_list_elements_and_properties' class='anchor-link'>List elements and 
properties</a></li><li><a href='#_modifying_mutable_lists' class='ancho [...]
+                        </div><div id='content' class='page-1'><div 
class='row'><div class='row-fluid'><div class='col-lg-3'><ul 
class='nav-sidebar'><li><a href='./'>Blog index</a></li><li class='active'><a 
href='#doc'>Groovy List Processing Cheat Sheet</a></li><li><a 
href='#_declaring_lists' class='anchor-link'>Declaring lists</a></li><li><a 
href='#_list_elements_and_properties' class='anchor-link'>List elements and 
properties</a></li><li><a href='#_modifying_mutable_lists' class='ancho [...]
 <h2 id="_declaring_lists">Declaring lists</h2>
 <div class="sectionbody">
 <div class="paragraph">
diff --git a/blog/groovy-null-processing.html b/blog/groovy-null-processing.html
index dfc36a7..b2ec8bd 100644
--- a/blog/groovy-null-processing.html
+++ b/blog/groovy-null-processing.html
@@ -53,7 +53,7 @@
                                     </ul>
                                 </div>
                             </div>
-                        </div><div id='content' class='page-1'><div 
class='row'><div class='row-fluid'><div class='col-lg-3'><ul 
class='nav-sidebar'><li><a href='./'>Blog index</a></li><li class='active'><a 
href='#doc'>Groovy Processing Nulls In Lists</a></li><li><a 
href='#_libraries_covered' class='anchor-link'>Libraries covered</a></li><li><a 
href='#_mutating_a_list_to_remove_its_nulls' class='anchor-link'>Mutating a 
list to remove its nulls</a></li><li><a href='#_producing_a_new_list_ [...]
+                        </div><div id='content' class='page-1'><div 
class='row'><div class='row-fluid'><div class='col-lg-3'><ul 
class='nav-sidebar'><li><a href='./'>Blog index</a></li><li class='active'><a 
href='#doc'>Groovy Processing Nulls In Lists</a></li><li><a 
href='#_libraries_covered' class='anchor-link'>Libraries covered</a></li><li><a 
href='#_mutating_a_list_to_remove_its_nulls' class='anchor-link'>Mutating a 
list to remove its nulls</a></li><li><a href='#_producing_a_new_list_ [...]
 <div class="sectionbody">
 <div class="paragraph">
 <p>This <a 
href="https://www.programmergirl.com/java-remove-nulls-from-list/";>article</a> 
by <a href="https://www.programmergirl.com/about-me/";>Shubhra Srivastava</a>
diff --git a/blog/groovy-record-performance.html 
b/blog/groovy-record-performance.html
index b8aae57..42aec04 100644
--- a/blog/groovy-record-performance.html
+++ b/blog/groovy-record-performance.html
@@ -53,7 +53,7 @@
                                     </ul>
                                 </div>
                             </div>
-                        </div><div id='content' class='page-1'><div 
class='row'><div class='row-fluid'><div class='col-lg-3'><ul 
class='nav-sidebar'><li><a href='./'>Blog index</a></li><li class='active'><a 
href='#doc'>Groovy Record Performance</a></li><li><a href='#_our_domain' 
class='anchor-link'>Our domain</a></li><li><a href='#_performance_of_hashcode' 
class='anchor-link'>Performance of <code>hashCode</code></a></li><li><a 
href='#_performance_of_equals' class='anchor-link'>Performanc [...]
+                        </div><div id='content' class='page-1'><div 
class='row'><div class='row-fluid'><div class='col-lg-3'><ul 
class='nav-sidebar'><li><a href='./'>Blog index</a></li><li class='active'><a 
href='#doc'>Groovy Record Performance</a></li><li><a href='#_our_domain' 
class='anchor-link'>Our domain</a></li><li><a href='#_performance_of_hashcode' 
class='anchor-link'>Performance of <code>hashCode</code></a></li><li><a 
href='#_performance_of_equals' class='anchor-link'>Performanc [...]
 <div class="sectionbody">
 <div class="paragraph">
 <p>We highly recommend the excellent
diff --git a/blog/groovy-records.html b/blog/groovy-records.html
index 1b3fa46..34042b9 100644
--- a/blog/groovy-records.html
+++ b/blog/groovy-records.html
@@ -53,7 +53,7 @@
                                     </ul>
                                 </div>
                             </div>
-                        </div><div id='content' class='page-1'><div 
class='row'><div class='row-fluid'><div class='col-lg-3'><ul 
class='nav-sidebar'><li><a href='./'>Blog index</a></li><li class='active'><a 
href='#doc'>Groovy Records</a></li><li><a href='#_introduction' 
class='anchor-link'>Introduction</a></li><li><a href='#_optional_enhancements' 
class='anchor-link'>Optional enhancements</a></li><li><a 
href='#_internal_details' class='anchor-link'>Internal details</a></li><li><a 
href='# [...]
+                        </div><div id='content' class='page-1'><div 
class='row'><div class='row-fluid'><div class='col-lg-3'><ul 
class='nav-sidebar'><li><a href='./'>Blog index</a></li><li class='active'><a 
href='#doc'>Groovy Records</a></li><li><a href='#_introduction' 
class='anchor-link'>Introduction</a></li><li><a href='#_optional_enhancements' 
class='anchor-link'>Optional enhancements</a></li><li><a 
href='#_internal_details' class='anchor-link'>Internal details</a></li><li><a 
href='# [...]
 <div class="sectionbody">
 <div class="paragraph">
 <p>A common scenario when programming is the need to group together a bunch
diff --git a/blog/groovy-release-train-4-0.html 
b/blog/groovy-release-train-4-0.html
index 22ccff3..add709e 100644
--- a/blog/groovy-release-train-4-0.html
+++ b/blog/groovy-release-train-4-0.html
@@ -53,7 +53,7 @@
                                     </ul>
                                 </div>
                             </div>
-                        </div><div id='content' class='page-1'><div 
class='row'><div class='row-fluid'><div class='col-lg-3'><ul 
class='nav-sidebar'><li><a href='./'>Blog index</a></li><li class='active'><a 
href='#doc'>Groovy release train: 4.0.4, 3.0.12, 2.5.18</a></li></ul><br/><ul 
class='nav-sidebar'><li style='padding: 0.35em 0.625em; background-color: 
#eee'><span>Related posts</span></li><li><a 
href='./groovy-2-5-2-windows'>Groovy 2.5.2 Windows Installer Released 
(Community Artifact [...]
+                        </div><div id='content' class='page-1'><div 
class='row'><div class='row-fluid'><div class='col-lg-3'><ul 
class='nav-sidebar'><li><a href='./'>Blog index</a></li><li class='active'><a 
href='#doc'>Groovy release train: 4.0.4, 3.0.12, 2.5.18</a></li></ul><br/><ul 
class='nav-sidebar'><li style='padding: 0.35em 0.625em; background-color: 
#eee'><span>Related posts</span></li><li><a href='./groovy-3-0-0-alpha'>Groovy 
3.0.0-alpha-4 Released</a></li><li><a href='./groovy-2 [...]
 <p>It&#8217;s been a productive time for the Apache Groovy project recently. 
We recently released versions 4.0.4, 3.0.12 and 2.5.18 with 42, 21 and 15 fixes 
and improvements respectively. Two quick highlights for the 4.0.4 release 
before getting into more details about the release.</p>
 </div>
 <div class="paragraph">
diff --git a/blog/groovy-sequenced-collections.html 
b/blog/groovy-sequenced-collections.html
index 717b83f..a1e1080 100644
--- a/blog/groovy-sequenced-collections.html
+++ b/blog/groovy-sequenced-collections.html
@@ -53,7 +53,7 @@
                                     </ul>
                                 </div>
                             </div>
-                        </div><div id='content' class='page-1'><div 
class='row'><div class='row-fluid'><div class='col-lg-3'><ul 
class='nav-sidebar'><li><a href='./'>Blog index</a></li><li class='active'><a 
href='#doc'>Groovy and Sequenced Collections (JEP-431)</a></li><li><a 
href='#_sequenced_collections_summary' class='anchor-link'>Sequenced 
Collections Summary</a></li><li><a 
href='#_accessing_the_first_and_last_element' class='anchor-link'>Accessing the 
first and last element</a></li> [...]
+                        </div><div id='content' class='page-1'><div 
class='row'><div class='row-fluid'><div class='col-lg-3'><ul 
class='nav-sidebar'><li><a href='./'>Blog index</a></li><li class='active'><a 
href='#doc'>Groovy and Sequenced Collections (JEP-431)</a></li><li><a 
href='#_sequenced_collections_summary' class='anchor-link'>Sequenced 
Collections Summary</a></li><li><a 
href='#_accessing_the_first_and_last_element' class='anchor-link'>Accessing the 
first and last element</a></li> [...]
 <div class="sectionbody">
 <div class="paragraph">
 <p>An exciting feature coming in JDK21 is
diff --git a/blog/helloworldemoji.html b/blog/helloworldemoji.html
index e056676..520c08c 100644
--- a/blog/helloworldemoji.html
+++ b/blog/helloworldemoji.html
@@ -53,7 +53,7 @@
                                     </ul>
                                 </div>
                             </div>
-                        </div><div id='content' class='page-1'><div 
class='row'><div class='row-fluid'><div class='col-lg-3'><ul 
class='nav-sidebar'><li><a href='./'>Blog index</a></li><li class='active'><a 
href='#doc'>Hello World with Emojis</a></li></ul><br/><ul 
class='nav-sidebar'><li style='padding: 0.35em 0.625em; background-color: 
#eee'><span>Related posts</span></li><li><a 
href='./deep-learning-and-eclipse-collections'>Deep Learning and Eclipse 
Collections</a></li><li><a href='./z [...]
+                        </div><div id='content' class='page-1'><div 
class='row'><div class='row-fluid'><div class='col-lg-3'><ul 
class='nav-sidebar'><li><a href='./'>Blog index</a></li><li class='active'><a 
href='#doc'>Hello World with Emojis</a></li></ul><br/><ul 
class='nav-sidebar'><li style='padding: 0.35em 0.625em; background-color: 
#eee'><span>Related posts</span></li><li><a 
href='./deep-learning-and-eclipse-collections'>Deep Learning and Eclipse 
Collections</a></li><li><a href='./a [...]
 <p>In a <a 
href="https://groovy.apache.org/blog/jvm-hello-world-with-groovy";>previous blog 
post</a>
 we took an in-depth look at how to write a "hello world" class at the bytecode 
level
 using various libraries.</p>
diff --git a/blog/index.html b/blog/index.html
index ce0499e..3dd0047 100644
--- a/blog/index.html
+++ b/blog/index.html
@@ -53,7 +53,7 @@
                                     </ul>
                                 </div>
                             </div>
-                        </div><div id='content' class='page-1'><div 
class='row'><div class='row-fluid'><div class='col-lg-3' id='blog-index'><ul 
class='nav-sidebar list'><li class='active'><a 
href='/blog/'>Blogs</a></li><li><a 
href='handling-byte-order-mark-characters'>Handling Byte-Order-Mark Characters 
in Groovy</a></li><li><a href='groovy-oracle23ai'>Using the Oracle 23ai Vector 
data type with Groovy to classify Iris flowers</a></li><li><a 
href='groovy-pekko-gpars'>Using Apache Pekko  [...]
+                        </div><div id='content' class='page-1'><div 
class='row'><div class='row-fluid'><div class='col-lg-3' id='blog-index'><ul 
class='nav-sidebar list'><li class='active'><a 
href='/blog/'>Blogs</a></li><li><a 
href='handling-byte-order-mark-characters'>Handling Byte-Order-Mark Characters 
in Groovy</a></li><li><a href='groovy-oracle23ai'>Using the Oracle 23ai Vector 
data type with Groovy to classify Iris flowers</a></li><li><a 
href='groovy-pekko-gpars'>Using Apache Pekko  [...]
                             <div class='row'>
                                 <div class='colset-3-footer'>
                                     <div class='col-1'>
@@ -97,7 +97,7 @@
                     colors: am5.ColorSet.new(root, {})
                 }));
                 wc.data.setAll([
-                { category: "centroids", value: 1 }, { category: "data 
science", value: 7 }, { category: "groovy", value: 79 }, { category: "kmeans", 
value: 3 }, { category: "records", value: 7 }, { category: "apache spark", 
value: 1 }, { category: "apache wayang", value: 1 }, { category: "release", 
value: 25 }, { category: "clibuilder", value: 1 }, { category: "picocli", 
value: 1 }, { category: "commons cli", value: 1 }, { category: "asf", value: 2 
}, { category: "apachecon", value: 3 } [...]
+                { category: "groovy", value: 79 }, { category: "emoji", value: 
7 }, { category: "set", value: 1 }, { category: "constraint programming", 
value: 1 }, { category: "jacop", value: 2 }, { category: "or-tools", value: 2 
}, { category: "choco", value: 3 }, { category: "jsr331", value: 1 }, { 
category: "bytecode", value: 1 }, { category: "byte buddy", value: 1 }, { 
category: "proguardcore", value: 1 }, { category: "asm", value: 1 }, { 
category: "jvmadvent", value: 1 }, { categor [...]
                 ]);
                 wc.labels.template.setAll({
                     paddingTop: 5,
diff --git a/blog/lego-bricks-with-groovy.html 
b/blog/lego-bricks-with-groovy.html
index 842cce7..22012a5 100644
--- a/blog/lego-bricks-with-groovy.html
+++ b/blog/lego-bricks-with-groovy.html
@@ -53,7 +53,7 @@
                                     </ul>
                                 </div>
                             </div>
-                        </div><div id='content' class='page-1'><div 
class='row'><div class='row-fluid'><div class='col-lg-3'><ul 
class='nav-sidebar'><li><a href='./'>Blog index</a></li><li class='active'><a 
href='#doc'>Lego Bricks with Groovy</a></li><li><a 
href='#_basic_collection_processing' class='anchor-link'>Basic Collection 
Processing</a></li><li><a href='#_our_example_domain' class='anchor-link'>Our 
example domain</a></li><li><a href='#_some_bricks_to_play_with' 
class='anchor-link [...]
+                        </div><div id='content' class='page-1'><div 
class='row'><div class='row-fluid'><div class='col-lg-3'><ul 
class='nav-sidebar'><li><a href='./'>Blog index</a></li><li class='active'><a 
href='#doc'>Lego Bricks with Groovy</a></li><li><a 
href='#_basic_collection_processing' class='anchor-link'>Basic Collection 
Processing</a></li><li><a href='#_our_example_domain' class='anchor-link'>Our 
example domain</a></li><li><a href='#_some_bricks_to_play_with' 
class='anchor-link [...]
 <div class="sectionbody">
 <div class="paragraph">
 <p><a href="https://twitter.com/TheDonRaab";>Donald Raab</a> has continued has 
interesting
diff --git a/blog/matrix-calculations-with-groovy-apache.html 
b/blog/matrix-calculations-with-groovy-apache.html
index eb316f5..26053d0 100644
--- a/blog/matrix-calculations-with-groovy-apache.html
+++ b/blog/matrix-calculations-with-groovy-apache.html
@@ -53,7 +53,7 @@
                                     </ul>
                                 </div>
                             </div>
-                        </div><div id='content' class='page-1'><div 
class='row'><div class='row-fluid'><div class='col-lg-3'><ul 
class='nav-sidebar'><li><a href='./'>Blog index</a></li><li class='active'><a 
href='#doc'>Matrix calculations with Groovy, Apache Commons Math, ojAlgo, Nd4j 
and EJML</a></li><li><a href='#_fibonacci' 
class='anchor-link'>Fibonacci</a></li><li><a href='#_leslie_matrices' 
class='anchor-link'>Leslie Matrices</a></li><li><a 
href='#_encryption_with_matrices' class='a [...]
+                        </div><div id='content' class='page-1'><div 
class='row'><div class='row-fluid'><div class='col-lg-3'><ul 
class='nav-sidebar'><li><a href='./'>Blog index</a></li><li class='active'><a 
href='#doc'>Matrix calculations with Groovy, Apache Commons Math, ojAlgo, Nd4j 
and EJML</a></li><li><a href='#_fibonacci' 
class='anchor-link'>Fibonacci</a></li><li><a href='#_leslie_matrices' 
class='anchor-link'>Leslie Matrices</a></li><li><a 
href='#_encryption_with_matrices' class='a [...]
 <div class="sectionbody">
 <div class="paragraph">
 <p>This blogs looks at performing matrix calculations with Groovy
diff --git a/blog/parsing-json-with-groovy.html 
b/blog/parsing-json-with-groovy.html
index cf53092..fc04da2 100644
--- a/blog/parsing-json-with-groovy.html
+++ b/blog/parsing-json-with-groovy.html
@@ -53,7 +53,7 @@
                                     </ul>
                                 </div>
                             </div>
-                        </div><div id='content' class='page-1'><div 
class='row'><div class='row-fluid'><div class='col-lg-3'><ul 
class='nav-sidebar'><li><a href='./'>Blog index</a></li><li class='active'><a 
href='#doc'>Parsing JSON with Groovy</a></li><li><a 
href='#_batteries_included_experience' class='anchor-link'>Batteries included 
experience</a></li><li><a href='#_gradle' 
class='anchor-link'>Gradle</a></li><li><a href='#_maven' 
class='anchor-link'>Maven</a></li><li><a href='#_advance [...]
+                        </div><div id='content' class='page-1'><div 
class='row'><div class='row-fluid'><div class='col-lg-3'><ul 
class='nav-sidebar'><li><a href='./'>Blog index</a></li><li class='active'><a 
href='#doc'>Parsing JSON with Groovy</a></li><li><a 
href='#_batteries_included_experience' class='anchor-link'>Batteries included 
experience</a></li><li><a href='#_gradle' 
class='anchor-link'>Gradle</a></li><li><a href='#_maven' 
class='anchor-link'>Maven</a></li><li><a href='#_advance [...]
 <div class="sectionbody">
 <div class="paragraph">
 <p><span class="image right"><img src="img/json_logo.gif" alt="json logo" 
width="120"></span>
diff --git a/blog/reading-and-writing-csv-files.html 
b/blog/reading-and-writing-csv-files.html
index a29af20..56a9e12 100644
--- a/blog/reading-and-writing-csv-files.html
+++ b/blog/reading-and-writing-csv-files.html
@@ -53,7 +53,7 @@
                                     </ul>
                                 </div>
                             </div>
-                        </div><div id='content' class='page-1'><div 
class='row'><div class='row-fluid'><div class='col-lg-3'><ul 
class='nav-sidebar'><li><a href='./'>Blog index</a></li><li class='active'><a 
href='#doc'>Reading and Writing CSV files with Groovy</a></li><li><a 
href='#_introduction' class='anchor-link'>Introduction</a></li><li><a 
href='#_commons_csv' class='anchor-link'>Commons CSV</a></li><li><a 
href='#_opencsv' class='anchor-link'>OpenCSV</a></li><li><a href='#_jackson_da 
[...]
+                        </div><div id='content' class='page-1'><div 
class='row'><div class='row-fluid'><div class='col-lg-3'><ul 
class='nav-sidebar'><li><a href='./'>Blog index</a></li><li class='active'><a 
href='#doc'>Reading and Writing CSV files with Groovy</a></li><li><a 
href='#_introduction' class='anchor-link'>Introduction</a></li><li><a 
href='#_commons_csv' class='anchor-link'>Commons CSV</a></li><li><a 
href='#_opencsv' class='anchor-link'>OpenCSV</a></li><li><a href='#_jackson_da 
[...]
 <h2 id="_introduction">Introduction</h2>
 <div class="sectionbody">
 <div class="paragraph">
diff --git a/blog/seasons-greetings-emoji.html 
b/blog/seasons-greetings-emoji.html
index 5fe7085..e5a77ba 100644
--- a/blog/seasons-greetings-emoji.html
+++ b/blog/seasons-greetings-emoji.html
@@ -53,7 +53,7 @@
                                     </ul>
                                 </div>
                             </div>
-                        </div><div id='content' class='page-1'><div 
class='row'><div class='row-fluid'><div class='col-lg-3'><ul 
class='nav-sidebar'><li><a href='./'>Blog index</a></li><li class='active'><a 
href='#doc'>Season&#8217;s Greetings with Emojis</a></li><li><a 
href='#_jdk_21_new_features' class='anchor-link'>JDK 21 New 
Features</a></li><li><a href='#_playing_with_emojis_with_groovy' 
class='anchor-link'>Playing with Emojis with Groovy</a></li><li><a 
href='#_more_information' cla [...]
+                        </div><div id='content' class='page-1'><div 
class='row'><div class='row-fluid'><div class='col-lg-3'><ul 
class='nav-sidebar'><li><a href='./'>Blog index</a></li><li class='active'><a 
href='#doc'>Season&#8217;s Greetings with Emojis</a></li><li><a 
href='#_jdk_21_new_features' class='anchor-link'>JDK 21 New 
Features</a></li><li><a href='#_playing_with_emojis_with_groovy' 
class='anchor-link'>Playing with Emojis with Groovy</a></li><li><a 
href='#_more_information' cla [...]
 <div class="sectionbody">
 <div class="paragraph">
 <p>In a <a href="https://groovy.apache.org/blog/helloworldemoji";>previous blog 
post</a>
diff --git a/blog/set-operations-with-groovy.html 
b/blog/set-operations-with-groovy.html
index 7a0113a..049d685 100644
--- a/blog/set-operations-with-groovy.html
+++ b/blog/set-operations-with-groovy.html
@@ -53,7 +53,7 @@
                                     </ul>
                                 </div>
                             </div>
-                        </div><div id='content' class='page-1'><div 
class='row'><div class='row-fluid'><div class='col-lg-3'><ul 
class='nav-sidebar'><li><a href='./'>Blog index</a></li><li class='active'><a 
href='#doc'>Set Operators with Groovy</a></li></ul><br/><ul 
class='nav-sidebar'><li style='padding: 0.35em 0.625em; background-color: 
#eee'><span>Related posts</span></li><li><a 
href='./deep-learning-and-eclipse-collections'>Deep Learning and Eclipse 
Collections</a></li><li><a href='. [...]
+                        </div><div id='content' class='page-1'><div 
class='row'><div class='row-fluid'><div class='col-lg-3'><ul 
class='nav-sidebar'><li><a href='./'>Blog index</a></li><li class='active'><a 
href='#doc'>Set Operators with Groovy</a></li></ul><br/><ul 
class='nav-sidebar'><li style='padding: 0.35em 0.625em; background-color: 
#eee'><span>Related posts</span></li><li><a href='./helloworldemoji'>Hello 
World with Emojis</a></li><li><a href='./deep-learning-and-eclipse-collectio 
[...]
 <p><a href="https://twitter.com/TheDonRaab";>Donald Raab</a> posted <a 
href="https://donraab.medium.com/comparing-set-operations-between-java-and-eclipse-collections-92cf1df28d3b";>an
 article</a> about set operators using Java collections and <a 
href="https://github.com/eclipse/eclipse-collections";>Eclipse Collections</a>. 
<a 
href="https://donraab.medium.com/comparing-set-operations-between-java-and-eclipse-collections-92cf1df28d3b";>That
 post</a> focuses
 on the <em>union</em>, <em>intersection</em> and <em>difference</em> 
operators. We&#8217;ll add in
 <em>symmetric difference</em> since Groovy supports operator overloading for 
that
diff --git a/blog/using-groovy-with-apache-wayang.html 
b/blog/using-groovy-with-apache-wayang.html
index 71b4f98..04924fa 100644
--- a/blog/using-groovy-with-apache-wayang.html
+++ b/blog/using-groovy-with-apache-wayang.html
@@ -53,7 +53,7 @@
                                     </ul>
                                 </div>
                             </div>
-                        </div><div id='content' class='page-1'><div 
class='row'><div class='row-fluid'><div class='col-lg-3'><ul 
class='nav-sidebar'><li><a href='./'>Blog index</a></li><li class='active'><a 
href='#doc'>Using Groovy with Apache Wayang and Apache Spark</a></li><li><a 
href='#_whiskey_clustering' class='anchor-link'>Whiskey 
Clustering</a></li><li><a href='#_implementation_details' 
class='anchor-link'>Implementation Details</a></li><li><a 
href='#_running_with_the_java_streams [...]
+                        </div><div id='content' class='page-1'><div 
class='row'><div class='row-fluid'><div class='col-lg-3'><ul 
class='nav-sidebar'><li><a href='./'>Blog index</a></li><li class='active'><a 
href='#doc'>Using Groovy with Apache Wayang and Apache Spark</a></li><li><a 
href='#_whiskey_clustering' class='anchor-link'>Whiskey 
Clustering</a></li><li><a href='#_implementation_details' 
class='anchor-link'>Implementation Details</a></li><li><a 
href='#_running_with_the_java_streams [...]
 <div class="sectionbody">
 <div class="paragraph">
 <p><span class="image right"><img 
src="https://www.apache.org/logos/res/wayang/default.png"; alt="wayang logo" 
width="100"></span>
diff --git a/blog/whiskey-clustering-with-groovy-and.html 
b/blog/whiskey-clustering-with-groovy-and.html
index 3e63b30..abdcc92 100644
--- a/blog/whiskey-clustering-with-groovy-and.html
+++ b/blog/whiskey-clustering-with-groovy-and.html
@@ -53,7 +53,7 @@
                                     </ul>
                                 </div>
                             </div>
-                        </div><div id='content' class='page-1'><div 
class='row'><div class='row-fluid'><div class='col-lg-3'><ul 
class='nav-sidebar'><li><a href='./'>Blog index</a></li><li class='active'><a 
href='#doc'>Whiskey Clustering with Groovy and Apache Ignite</a></li><li><a 
href='#_whiskey_clustering' class='anchor-link'>Whiskey 
Clustering</a></li><li><a href='#_apache_ignite' class='anchor-link'>Apache 
Ignite</a></li><li><a href='#_implementation_details' class='anchor-link'>Imp 
[...]
+                        </div><div id='content' class='page-1'><div 
class='row'><div class='row-fluid'><div class='col-lg-3'><ul 
class='nav-sidebar'><li><a href='./'>Blog index</a></li><li class='active'><a 
href='#doc'>Whiskey Clustering with Groovy and Apache Ignite</a></li><li><a 
href='#_whiskey_clustering' class='anchor-link'>Whiskey 
Clustering</a></li><li><a href='#_apache_ignite' class='anchor-link'>Apache 
Ignite</a></li><li><a href='#_implementation_details' class='anchor-link'>Imp 
[...]
 <div class="sectionbody">
 <div class="paragraph">
 <p>In a previous <a 
href="https://groovy.apache.org/blog/using-groovy-with-apache-wayang";>blog 
post</a>,
diff --git a/blog/wordle-checker.html b/blog/wordle-checker.html
index c44e550..9957455 100644
--- a/blog/wordle-checker.html
+++ b/blog/wordle-checker.html
@@ -53,7 +53,7 @@
                                     </ul>
                                 </div>
                             </div>
-                        </div><div id='content' class='page-1'><div 
class='row'><div class='row-fluid'><div class='col-lg-3'><ul 
class='nav-sidebar'><li><a href='./'>Blog index</a></li><li class='active'><a 
href='#doc'>Checking Wordle with Groovy</a></li></ul><br/><ul 
class='nav-sidebar'><li style='padding: 0.35em 0.625em; background-color: 
#eee'><span>Related posts</span></li><li><a 
href='./groovy-null-processing'>Groovy Processing Nulls In Lists</a></li><li><a 
href='./zipping-collectio [...]
+                        </div><div id='content' class='page-1'><div 
class='row'><div class='row-fluid'><div class='col-lg-3'><ul 
class='nav-sidebar'><li><a href='./'>Blog index</a></li><li class='active'><a 
href='#doc'>Checking Wordle with Groovy</a></li></ul><br/><ul 
class='nav-sidebar'><li style='padding: 0.35em 0.625em; background-color: 
#eee'><span>Related posts</span></li><li><a 
href='./groovy-null-processing'>Groovy Processing Nulls In Lists</a></li><li><a 
href='./groovy-list-proce [...]
 <p>This <a 
href="https://donraab.medium.com/comparing-my-smalltalk-and-eclipse-collections-wordle-kata-solutions-4058ac7d8ca0";>article</a>
 by <a href="https://twitter.com/TheDonRaab";>Donald Raab</a>
 looks at writing a Wordle checker in Smalltalk and Java using <a 
href="https://github.com/eclipse/eclipse-collections";>Eclipse Collections</a>. 
Let&#8217;s look at doing the same in Groovy.
 We could easily use Eclipse Collections with Groovy
diff --git a/blog/working-with-sql-databases-with.html 
b/blog/working-with-sql-databases-with.html
index d4268dc..296831b 100644
--- a/blog/working-with-sql-databases-with.html
+++ b/blog/working-with-sql-databases-with.html
@@ -53,7 +53,7 @@
                                     </ul>
                                 </div>
                             </div>
-                        </div><div id='content' class='page-1'><div 
class='row'><div class='row-fluid'><div class='col-lg-3'><ul 
class='nav-sidebar'><li><a href='./'>Blog index</a></li><li class='active'><a 
href='#doc'>Working with SQL databases with Groovy and GraalVM</a></li><li><a 
href='#_native_metadata' class='anchor-link'>Native Metadata</a></li><li><a 
href='#_working_with_sql_in_groovy' class='anchor-link'>Working with SQL in 
Groovy</a></li><li><a href='#_configuring_our_native_bu [...]
+                        </div><div id='content' class='page-1'><div 
class='row'><div class='row-fluid'><div class='col-lg-3'><ul 
class='nav-sidebar'><li><a href='./'>Blog index</a></li><li class='active'><a 
href='#doc'>Working with SQL databases with Groovy and GraalVM</a></li><li><a 
href='#_native_metadata' class='anchor-link'>Native Metadata</a></li><li><a 
href='#_working_with_sql_in_groovy' class='anchor-link'>Working with SQL in 
Groovy</a></li><li><a href='#_configuring_our_native_bu [...]
 <div class="sectionbody">
 <div class="paragraph">
 <p>During the week, there was an interesting
diff --git a/blog/zipping-collections-with-groovy.html 
b/blog/zipping-collections-with-groovy.html
index 8caa7e9..8f7df63 100644
--- a/blog/zipping-collections-with-groovy.html
+++ b/blog/zipping-collections-with-groovy.html
@@ -53,7 +53,7 @@
                                     </ul>
                                 </div>
                             </div>
-                        </div><div id='content' class='page-1'><div 
class='row'><div class='row-fluid'><div class='col-lg-3'><ul 
class='nav-sidebar'><li><a href='./'>Blog index</a></li><li class='active'><a 
href='#doc'>Zipping Collections with Groovy</a></li><li><a 
href='#_what_is_zipping' class='anchor-link'>What is zipping?</a></li><li><a 
href='#_groovy' class='anchor-link'>Groovy</a></li><li><a 
href='#_eclipse_collections' class='anchor-link'>Eclipse 
Collections</a></li><li><a href='# [...]
+                        </div><div id='content' class='page-1'><div 
class='row'><div class='row-fluid'><div class='col-lg-3'><ul 
class='nav-sidebar'><li><a href='./'>Blog index</a></li><li class='active'><a 
href='#doc'>Zipping Collections with Groovy</a></li><li><a 
href='#_what_is_zipping' class='anchor-link'>What is zipping?</a></li><li><a 
href='#_groovy' class='anchor-link'>Groovy</a></li><li><a 
href='#_eclipse_collections' class='anchor-link'>Eclipse 
Collections</a></li><li><a href='# [...]
 <h2 id="_what_is_zipping">What is zipping?</h2>
 <div class="sectionbody">
 <div class="paragraph">

Reply via email to