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 7253397  2025/02/18 07:33:36: Generated dev website from 
groovy-website@e9b0ef4
7253397 is described below

commit 7253397da6af775cf3e21a37f203c88cab963ad4
Author: jenkins <[email protected]>
AuthorDate: Tue Feb 18 07:33:36 2025 +0000

    2025/02/18 07:33:36: Generated dev website from groovy-website@e9b0ef4
---
 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/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-haiku-processing.html                |   2 +-
 blog/groovy-list-processing-cheat-sheet.html     |   2 +-
 blog/groovy-lucene.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/groovy-text-similarity.html                 | 125 +++++++++++++++++------
 blog/helloworldemoji.html                        |   2 +-
 blog/index.html                                  |   2 +-
 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, 152 insertions(+), 85 deletions(-)

diff --git a/blog/adventures-with-groovyfx.html 
b/blog/adventures-with-groovyfx.html
index cc05ccd..60c4383 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='./set-operations-w [...]
+                        </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 fb1d5c3..74e6f9d 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 5fa0464..100f7d7 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 48e8d66..f40a4b9 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 17ff294..f41e437 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 a7d1f4a..84c10c6 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 4ec3791..f911040 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/fruity-eclipse-collections.html 
b/blog/fruity-eclipse-collections.html
index c720cd6..82d5ef3 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 e428b4d..385468d 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 4aa8203..bd2a9a9 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 53fb904..696728f 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 449de8b..5001096 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 2e913e3..af9f94d 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://groovy.jfrog.io/artifactory/dist-release-local/groovy-windows-installer/groovy-2.4.16/";
 
class="bare">https://groovy.jfrog.io/artifactory/dist-release-local/groovy-windows-installer/groovy-2.4.16/</a></p>
 </div></div></div></div></div><footer id='footer'>
diff --git a/blog/groovy-2-4-17-released.html b/blog/groovy-2-4-17-released.html
index cfed6b2..5438620 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-released'>Groovy 2.4.16 Released</a></li><li><a 
href='./groovy-2-4-16-windows'>Groovy 2. [...]
+                        </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 3e59919..ab1e2ee 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-7-released'>Groovy 2.5.7 
Released</a></li><li><a href='./groovy-2-5-5-windows'>Groovy 2.5.5  [...]
+                        </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 85c5cba..97d4418 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-7-released'>Groovy 2.5.7 
Released</a></li><li><a href='./groovy-2-5-5-windows'>Groovy 2.5.5  [...]
+                        </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 616c860..b77bc07 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 e61847f..61d4397 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-5-windows'>Groovy 2.5.5 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.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://groovy.jfrog.io/artifactory/dist-release-local/groovy-windows-installer/groovy-2.5.2/";
 
class="bare">https://groovy.jfrog.io/artifactory/dist-release-local/groovy-windows-installer/groovy-2.5.2/</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 0a9e023..574a009 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 766cae4..dee4030 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-5-windows'>Groovy 2.5.5 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://groovy.jfrog.io/artifactory/dist-release-local/groovy-windows-installer/groovy-2.5.3/";
 
class="bare">https://groovy.jfrog.io/artifactory/dist-release-local/groovy-windows-installer/groovy-2.5.3/</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 7c80c47..2f8741d 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 5141fcc..cb0f26b 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-5-windows'>Groovy 2.5.5 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://groovy.jfrog.io/artifactory/dist-release-local/groovy-windows-installer/groovy-2.5.4/";
 
class="bare">https://groovy.jfrog.io/artifactory/dist-release-local/groovy-windows-installer/groovy-2.5.4/</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 3316937..ed71765 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 a964ef9..bce235a 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-5-released'>Groovy 2.5.5 released</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 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://groovy.jfrog.io/artifactory/dist-release-local/groovy-windows-installer/groovy-2.5.5/";
 
class="bare">https://groovy.jfrog.io/artifactory/dist-release-local/groovy-windows-installer/groovy-2.5.5/</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 c5fdd58..d07ab57 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-7-released'>Groovy 2.5.7 
Released</a></li><li><a href='./groovy-2-5-5-windows'>Groovy 2.5.5  [...]
+                        </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 7b68acf..a8c0d72 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-7-released'>Groovy 2.5.7 Released< 
[...]
+                        </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:
 <a 
href="https://groovy.jfrog.io/artifactory/dist-release-local/groovy-windows-installer/groovy-2.5.7/";
 
class="bare">https://groovy.jfrog.io/artifactory/dist-release-local/groovy-windows-installer/groovy-2.5.7/</a></p>
 </div>
diff --git a/blog/groovy-2-5-7-released.html b/blog/groovy-2-5-7-released.html
index c87d924..7030ba5 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 47ae8b3..2151bc2 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 4c98115..0dcb4d2 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 a457966..d8323c2 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://groovy.jfrog.io/artifactory/dist-release-local/groovy-windows-installer/groovy-3.0.0-alpha-4/";
 
class="bare">https://groovy.jfrog.io/artifactory/dist-release-local/groovy-windows-installer/groovy-3.0.0-alpha-4/</a>
 Note this installer doesn&#8217;t include Spock since there isn&#8217;t a 
Spock release compatible with Groovy 3.0.</p>
diff --git a/blog/groovy-3-0-0-beta.html b/blog/groovy-3-0-0-beta.html
index d22e444..33ca05a 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-beta2'>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 03e6f38..12ed510 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 0f010de..a1abad4 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-alpha1'>Groovy 3.0.0-alpha-4 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 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:
 <a 
href="https://groovy.jfrog.io/artifactory/dist-release-local/groovy-windows-installer/groovy-3.0.0-beta-2/";
 
class="bare">https://groovy.jfrog.io/artifactory/dist-release-local/groovy-windows-installer/groovy-3.0.0-beta-2/</a></p>
 </div>
diff --git a/blog/groovy-4-0-3-released.html b/blog/groovy-4-0-3-released.html
index 93ddfe3..2e7b2d2 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-7-released'>Groovy 2.5.7 
Released</a></li><li><a href='./groovy-2-5-5-windows'>Groovy 2.5.5  [...]
+                        </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 80c9b95..53ee341 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='./parsin [...]
+                        </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-haiku-processing.html 
b/blog/groovy-haiku-processing.html
index 6666ead..119bf95 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 8c85947..07457e7 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-lucene.html b/blog/groovy-lucene.html
index 1a1a418..dc8e674 100644
--- a/blog/groovy-lucene.html
+++ b/blog/groovy-lucene.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'>Searching with Lucene</a></li><li><a 
href='#_a_regular_expression_for_project_names' class='anchor-link'>A regular 
expression for project names</a></li><li><a 
href='#_collecting_project_name_statistics_using_regex_matching' 
class='anchor-link'>Collecting project name stati [...]
+                        </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'>Searching with Lucene</a></li><li><a 
href='#_a_regular_expression_for_project_names' class='anchor-link'>A regular 
expression for project names</a></li><li><a 
href='#_collecting_project_name_statistics_using_regex_matching' 
class='anchor-link'>Collecting project name stati [...]
 <div class="sectionbody">
 <div class="paragraph">
 <p>The Groovy <a href="https://groovy.apache.org/blog/";>blog posts</a> often 
reference other Apache projects.
diff --git a/blog/groovy-null-processing.html b/blog/groovy-null-processing.html
index a9fcb0b..f7862c0 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 f80b3b1..68ed161 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 a6608b0..067c2cc 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 c3212d4..09d92bc 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-7-released'>Groovy 2.5.7 Released</a></li><li><a 
href='./groovy-2-5-5- [...]
+                        </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 4b35bf9..ae66c23 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/groovy-text-similarity.html b/blog/groovy-text-similarity.html
index c87b116..3ee3181 100644
--- a/blog/groovy-text-similarity.html
+++ b/blog/groovy-text-similarity.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 Text Similarity</a></li><li><a href='#_introduction' 
class='anchor-link'>Introduction</a></li><li><a href='#_background' 
class='anchor-link'>Background</a></li><li><a href='#_simple_string_metrics' 
class='anchor-link'>Simple String Metrics</a></li><li><a href='#_pho [...]
+                        </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 Text Similarity</a></li><li><a href='#_introduction' 
class='anchor-link'>Introduction</a></li><li><a href='#_background' 
class='anchor-link'>Background</a></li><li><a href='#_simple_string_metrics' 
class='anchor-link'>Simple String Metrics</a></li><li><a href='#_pho [...]
 <a href="https://github.com/paulk-asert/"; target="_blank" rel="noopener 
noreferrer"><img style="border-radius:50%;height:48px;width:auto" 
src="img/paulk-asert.png" alt="Paul King"></a>
 <div style="display:grid;align-items:center;margin:0.1ex;padding:0ex">
   <div><a href="https://github.com/paulk-asert/"; target="_blank" rel="noopener 
noreferrer"><span>Paul King</span></a></div>
@@ -246,7 +246,7 @@ in more general ways.</p>
 <p><code>org.deeplearning4j:deeplearning4j-nlp</code> for GloVe, ConceptNet, 
and FastText models</p>
 </li>
 <li>
-<p><code>ai.djl</code> with Pytorch for a universal-sentence-encoder model and 
Tensorflow with an Angle model</p>
+<p><code>ai.djl</code> with Pytorch for a universal-sentence-encoder model and 
Tensorflow with an AnglE model</p>
 </li>
 </ul>
 </div>
@@ -836,9 +836,13 @@ The approach maps each word (or phrase) in n-dimensional 
space (called a <em>wor
 Related words tend to cluster in similar positions within that space.
 Typically rule-based, statistical, or neural-based approaches are used to 
perform the embedding
 and distance measures like <a 
href="https://en.wikipedia.org/wiki/Cosine_similarity";>cosine similarity</a>
-are used to find related words (or phrases).
-We won&#8217;t go into further NLP theory in any great detail, but we&#8217;ll 
give some brief
-explanation as we go. We&#8217;ll look at several models and split them into 
two groups:</p>
+are used to find related words (or phrases).</p>
+</div>
+<div class="paragraph">
+<p>Large Language Model (LLM) researchers call the kind of matching tasks we 
are doing here
+semantic textual similarity (STS) tasks. We won&#8217;t go into further NLP 
theory in any great detail,
+but we&#8217;ll give some brief explanation as we go.
+We&#8217;ll look at several models and split them into two groups:</p>
 </div>
 <div class="ulist">
 <ul>
@@ -863,7 +867,7 @@ sentence embeddings and is used in conjunction with <a 
href="https://pytorch.org
 Google&#8217;s <a 
href="https://www.kaggle.com/models/google/universal-sentence-encoder";>Universal
 Sentence Encoder</a>
 model is trained and optimized for greater-than-word length text, such as 
sentences, phrases or short paragraphs, and is used in conjunction with
 <a href="https://www.tensorflow.org/";>TensorFlow</a>.
-We&#8217;ll use the <a href="https://djl.ai/";>Deep Java Library</a> to load 
and use both of these models.</p>
+We&#8217;ll use the <a href="https://djl.ai/";>Deep Java Library</a> to load 
and use both of these models on the JDK.</p>
 </li>
 </ul>
 </div>
@@ -904,6 +908,13 @@ Nearest words in vocab: ${model.wordsNearest('cow', 4)}
 Nearest words in vocab: [cows, mad, bovine, cattle]</pre>
 </div>
 </div>
+<div class="paragraph">
+<p>We have numerous options available to us to visualize these kinds of 
results.
+We could use the bar-charts we used previously, or something like a 
heat-map:</p>
+</div>
+<div class="paragraph">
+<p><span class="image"><img src="img/AnimalSemanticSimilarity.png" alt="animal 
semantic similarity" width="60%"></span></p>
+</div>
 </div>
 <div class="sect2">
 <h3 id="_fasttext">FastText</h3>
@@ -928,6 +939,14 @@ Nearest words in vocab: [cows, mad, bovine, cattle]</pre>
 Nearest words in vocab: [cows, goat, pig, bovine]</pre>
 </div>
 </div>
+<div class="paragraph">
+<p>Again, we have numerous options to visualise the data returned from this 
model.
+Instead of look for nearest words or the similarity measure, we could return 
the actual word embeddings and then visualise
+those using principal component analysis (PCA), as shown here:</p>
+</div>
+<div class="paragraph">
+<p><span class="image"><img src="img/AnimalSemanticMeaningPcaBubblePlot.png" 
alt="principal component analysis of animal-related word embeddings" 
width="75%"></span></p>
+</div>
 </div>
 <div class="sect2">
 <h3 id="_conceptnet">ConceptNet</h3>
@@ -1040,7 +1059,61 @@ if you speak multiple languages or if you were learning 
a new language.</p>
 <div class="sect2">
 <h3 id="_angle">AnglE</h3>
 <div class="paragraph">
-<p>Using DJL with PyTorch and the AnglE model:</p>
+<p>We&#8217;ll use the <a href="https://djl.ai/";>Deep Java Library</a>
+and its <a href="https://pytorch.org/";>PyTorch</a> integration
+to load and use the <a href="https://github.com/SeanLee97/AnglE";>AnglE</a> <a 
href="https://huggingface.co/WhereIsAI/UAE-Large-V1";>model</a>.
+This model has one various state-of-the-art (SOTA) awards in the STS field.</p>
+</div>
+<div class="paragraph">
+<p>Unlike the previous models, AnglE supports conceptual embeddings.
+Therefore, we can feed in phrases not just words and it will match up similar 
phrases
+taking into account the context information about the word usage in that 
phrase.</p>
+</div>
+<div class="paragraph">
+<p>So, let&#8217;s have a set of sample phrases and try to find the closest of 
those phrases by similarity
+to some sample queries. The code looks like this:</p>
+</div>
+<div class="listingblock">
+<div class="content">
+<pre class="prettyprint highlight"><code data-lang="groovy">var samplePhrases 
= [
+    'bull', 'bovine', 'kitten', 'hay', 'The sky is blue',
+    'The sea is blue', 'The grass is green', 'One two three',
+    'Bulls consume hay', 'Bovines convert grass to milk',
+    'Dogs play in the grass', 'Bulls trample grass',
+    'Dachshunds are delightful', 'I like cats and dogs']
+
+var queries = [
+    'cow', 'cat', 'dog', 'grass', 'Cows eat grass',
+    'Poodles are cute', 'The water is turquoise']
+
+var modelName = 'UAE-Large-V1.zip'
+var path = 
Paths.get(DjlPytorchAngle.classLoader.getResource(modelName).toURI())
+var criteria = Criteria.builder()
+    .setTypes(String, float[])
+    .optModelPath(path)
+    .optTranslatorFactory(new DeferredTranslatorFactory())
+    .optProgress(new ProgressBar())
+    .build()
+
+var model = criteria.loadModel()
+var predictor = model.newPredictor()
+var sampleEmbeddings = samplePhrases.collect(predictor::predict)
+
+queries.each { query -&gt;
+    println "\n    $query"
+    var queryEmbedding = predictor.predict(query)
+    sampleEmbeddings
+        .collect { cosineSimilarity(it, queryEmbedding) }
+        .withIndex()
+        .sort { -it.v1 }
+        .take(5)
+        .each { printf '%s (%4.2f)%n', samplePhrases[it.v2], it.v1 }
+}</code></pre>
+</div>
+</div>
+<div class="paragraph">
+<p>For each query, we find the 5 closest phrases from the sample phrase.
+When run, the results look like this:</p>
 </div>
 <div class="listingblock">
 <div class="content">
@@ -1053,17 +1126,17 @@ Bulls consume hay (0.56)
 
     cat
 kitten (0.82)
+I like cats and dogs (0.70)
 bull (0.63)
 bovine (0.60)
 One two three (0.59)
-hay (0.55)
 
     dog
 bull (0.69)
 bovine (0.68)
+I like cats and dogs (0.60)
 kitten (0.58)
 Dogs play in the grass (0.58)
-Dachshunds are delightful (0.55)
 
     grass
 The grass is green (0.83)
@@ -1082,9 +1155,9 @@ bovine (0.62)
     Poodles are cute
 Dachshunds are delightful (0.63)
 Dogs play in the grass (0.56)
+I like cats and dogs (0.55)
 bovine (0.49)
 The grass is green (0.44)
-kitten (0.44)
 
     The water is turquoise
 The sea is blue (0.72)
@@ -1152,12 +1225,6 @@ kitten (0.17)
 One two three (0.17)</pre>
 </div>
 </div>
-<div class="paragraph">
-<p><span class="image"><img src="img/AnimalSemanticSimilarity.png" 
alt="AnimalSemanticSimilarity"></span></p>
-</div>
-<div class="paragraph">
-<p><span class="image"><img src="img/AnimalSemanticMeaningPcaBubblePlot.png" 
alt="AnimalSemanticMeaningPcaBubblePlot"></span></p>
-</div>
 </div>
 <div class="sect2">
 <h3 id="_comparing_algorithm_choices">Comparing Algorithm Choices</h3>
@@ -1283,7 +1350,7 @@ Levenshtein                    Distance: 10, Insert: 0, 
Delete: 3, Substitute: 7
 Jaccard                        0%
 JaroWinkler                    PREFIX 0% / SUFFIX 0%
 Phonetic                       Metaphone=AFTRXK 47% / Soundex=A136 0%
-Meaning                        Angle 45% / Use 21% / ConceptNet 2% / GloVe -4% 
/ FastText 19%</pre>
+Meaning                        AnglE 45% / Use 21% / ConceptNet 2% / GloVe -4% 
/ FastText 19%</pre>
 </div>
 </div>
 <div class="paragraph">
@@ -1323,7 +1390,7 @@ Levenshtein                    Distance: 6, Insert: 2, 
Delete: 0, Substitute: 4
 Jaccard                        22%
 JaroWinkler                    PREFIX 56% / SUFFIX 45%
 Phonetic                       Metaphone=FRT 39% / Soundex=F630 0%
-Meaning                        Angle 64% / Use 41% / ConceptNet 37% / GloVe 
31% / FastText 44%</pre>
+Meaning                        AnglE 64% / Use 41% / ConceptNet 37% / GloVe 
31% / FastText 44%</pre>
 </div>
 </div>
 <div class="paragraph">
@@ -1363,7 +1430,7 @@ Levenshtein                    Distance: 1, Insert: 0, 
Delete: 0, Substitute: 1
 Jaccard                        71%
 JaroWinkler                    PREFIX 90% / SUFFIX 96%
 Phonetic                       Metaphone=BTNK 79% / Soundex=B352 75%
-Meaning                        Angle 52% / Use 35% / ConceptNet 2% / GloVe 4% 
/ FastText 25%</pre>
+Meaning                        AnglE 52% / Use 35% / ConceptNet 2% / GloVe 4% 
/ FastText 25%</pre>
 </div>
 </div>
 <div class="paragraph">
@@ -1381,7 +1448,7 @@ Levenshtein                    Distance: 0, Insert: 0, 
Delete: 0, Substitute: 0
 Jaccard                        100%
 JaroWinkler                    PREFIX 100% / SUFFIX 100%
 Phonetic                       Metaphone=PTNK 100% / Soundex=P352 100%
-Meaning                        Angle 100% / Use 100% / ConceptNet 100% / GloVe 
100% / FastText 100%
+Meaning                        AnglE 100% / Use 100% / ConceptNet 100% / GloVe 
100% / FastText 100%
 
 Congratulations, you guessed correctly!</pre>
 </div>
@@ -1398,7 +1465,7 @@ Levenshtein                    Distance: 7, Insert: 4, 
Delete: 0, Substitute: 3
 Jaccard                        22%
 JaroWinkler                    PREFIX 42% / SUFFIX 46%
 Phonetic                       Metaphone=BL 38% / Soundex=B400 25%
-Meaning                        Angle 46% / Use 40% / ConceptNet 0% / GloVe 0% 
/ FastText 31%</pre>
+Meaning                        AnglE 46% / Use 40% / ConceptNet 0% / GloVe 0% 
/ FastText 31%</pre>
 </div>
 </div>
 <div class="ulist">
@@ -1423,7 +1490,7 @@ Levenshtein                    Distance: 6, Insert: 5, 
Delete: 0, Substitute: 1
 Jaccard                        25%
 JaroWinkler                    PREFIX 47% / SUFFIX 0%
 Phonetic                       Metaphone=LK 38% / Soundex=L200 0%
-Meaning                        Angle 50% / Use 18% / ConceptNet 11% / GloVe 
13% / FastText 37%</pre>
+Meaning                        AnglE 50% / Use 18% / ConceptNet 11% / GloVe 
13% / FastText 37%</pre>
 </div>
 </div>
 <div class="ulist">
@@ -1455,7 +1522,7 @@ Levenshtein                    Distance: 8, Insert: 0, 
Delete: 0, Substitute: 8
 Jaccard                        15%
 JaroWinkler                    PREFIX 50% / SUFFIX 50%
 Phonetic                       Metaphone=LNKX 34% / Soundex=L522 0%
-Meaning                        Angle 46% / Use 12% / ConceptNet -11% / GloVe 
-4% / FastText 25%</pre>
+Meaning                        AnglE 46% / Use 12% / ConceptNet -11% / GloVe 
-4% / FastText 25%</pre>
 </div>
 </div>
 <div class="ulist">
@@ -1477,7 +1544,7 @@ Levenshtein                    Distance: 4, Insert: 0, 
Delete: 0, Substitute: 4
 Jaccard                        40%
 JaroWinkler                    PREFIX 83% / SUFFIX 75%
 Phonetic                       Metaphone=ELKXN 50% / Soundex=E423 75%
-Meaning                        Angle 47% / Use 13% / ConceptNet -5% / GloVe 
-7% / FastText 26%</pre>
+Meaning                        AnglE 47% / Use 13% / ConceptNet -5% / GloVe 
-7% / FastText 26%</pre>
 </div>
 </div>
 <div class="ulist">
@@ -1508,7 +1575,7 @@ Levenshtein                    Distance: 0, Insert: 0, 
Delete: 0, Substitute: 0
 Jaccard                        100%
 JaroWinkler                    PREFIX 100% / SUFFIX 100%
 Phonetic                       Metaphone=ELFTR 100% / Soundex=E413 100%
-Meaning                        Angle 100% / Use 100% / ConceptNet 100% / GloVe 
100% / FastText 100%
+Meaning                        AnglE 100% / Use 100% / ConceptNet 100% / GloVe 
100% / FastText 100%
 
 Congratulations, you guessed correctly!</pre>
 </div>
@@ -1525,7 +1592,7 @@ Levenshtein                    Distance: 8, Insert: 0, 
Delete: 4, Substitute: 4
 Jaccard                        50%
 JaroWinkler                    PREFIX 61% / SUFFIX 49%
 Phonetic                       Metaphone=AFTRXK 33% / Soundex=A136 25%
-Meaning                        Angle 44% / Use 11% / ConceptNet -7% / GloVe 1% 
/ FastText 15%</pre>
+Meaning                        AnglE 44% / Use 11% / ConceptNet -7% / GloVe 1% 
/ FastText 15%</pre>
 </div>
 </div>
 <div class="paragraph">
@@ -1559,7 +1626,7 @@ Levenshtein                    Distance: 4, Insert: 0, 
Delete: 0, Substitute: 4
 Jaccard                        57%
 JaroWinkler                    PREFIX 67% / SUFFIX 67%
 Phonetic                       Metaphone=KRS 74% / Soundex=C620 75%
-Meaning                        Angle 51% / Use 12% / ConceptNet 5% / GloVe 23% 
/ FastText 26%</pre>
+Meaning                        AnglE 51% / Use 12% / ConceptNet 5% / GloVe 23% 
/ FastText 26%</pre>
 </div>
 </div>
 <div class="paragraph">
@@ -1590,7 +1657,7 @@ Levenshtein                    Distance: 6, Insert: 0, 
Delete: 0, Substitute: 6
 Jaccard                        67%
 JaroWinkler                    PREFIX 56% / SUFFIX 56%
 Phonetic                       Metaphone=RSTS 61% / Soundex=R232 25%
-Meaning                        Angle 54% / Use 25% / ConceptNet 18% / GloVe 
18% / FastText 31%</pre>
+Meaning                        AnglE 54% / Use 25% / ConceptNet 18% / GloVe 
18% / FastText 31%</pre>
 </div>
 </div>
 <div class="paragraph">
@@ -1620,7 +1687,7 @@ Levenshtein                    Distance: 0, Insert: 0, 
Delete: 0, Substitute: 0
 Jaccard                        100%
 JaroWinkler                    PREFIX 100% / SUFFIX 100%
 Phonetic                       Metaphone=KRT 100% / Soundex=C630 100%
-Meaning                        Angle 100% / Use 100% / ConceptNet 100% / GloVe 
100% / FastText 100%
+Meaning                        AnglE 100% / Use 100% / ConceptNet 100% / GloVe 
100% / FastText 100%
 
 Congratulations, you guessed correctly!</pre>
 </div>
diff --git a/blog/helloworldemoji.html b/blog/helloworldemoji.html
index 9039ea6..8ef17e4 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='./set-operations-with-groovy'>Set Operators with Groovy</a></li><li><a 
href='./deep-learning-and-eclips [...]
+                        </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 4b36fe6..86ac01b 100644
--- a/blog/index.html
+++ b/blog/index.html
@@ -97,7 +97,7 @@
                     colors: am5.ColorSet.new(root, {})
                 }));
                 wc.data.setAll([
-                { category: "concurrency", value: 2 }, { category: "groovy", 
value: 81 }, { category: "actors", value: 2 }, { category: "pekko", value: 1 }, 
{ category: "gpars", value: 2 }, { category: "calendar", value: 1 }, { 
category: "date", value: 3 }, { category: "jsr310", value: 1 }, { category: 
"time", value: 1 }, { category: "data science", value: 7 }, { category: 
"eclipse collections", value: 9 }, { category: "kmeans", value: 3 }, { 
category: "emoji", value: 8 }, { category: "v [...]
+                { category: "groovy", value: 81 }, { category: "emoji", value: 
8 }, { 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 e24c534..7a7d211 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 36b1190..463276f 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 818005c..78c6b5f 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 7e0cc5c..41f6143 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 fed8b45..fdec113 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 3716eb7..b70c9ae 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 7a7dab6..ee79dc1 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 [...]
 <a href="https://github.com/paulk-asert/"; target="_blank" rel="noopener 
noreferrer"><img style="border-radius:50%;height:48px;width:auto" 
src="img/paulk-asert.png" alt="Paul King"></a>
 <div style="display:grid;align-items:center;margin:0.1ex;padding:0ex">
   <div><a href="https://github.com/paulk-asert/"; target="_blank" rel="noopener 
noreferrer"><span>Paul King</span></a></div>
diff --git a/blog/whiskey-clustering-with-groovy-and.html 
b/blog/whiskey-clustering-with-groovy-and.html
index 72fc87e..b0f8b0d 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 55325d4..365a302 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='./groovy-list-proce [...]
+                        </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 2e70377..308e9f1 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 ffc171b..a9a576c 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