Blogs for Groovy™
Here you can find blog posts related to the Apache Groovy™ programming language:
Exploring AI with Groovy™
Published by Paul King <paulk-asert|PMC_Member> on 2025-10-15 07:06AM
Last updated: 2026-09-19 08:00PM
A tour of using Groovy with modern AI libraries including Ollama4j, LangChain4j, Spring AI, Embabel, Micronaut, and Quarkus, including native Micronaut.Playing with Groovy™ and Android
Published by Paul King on 2026-09-18 02:00PM
A playable tic-tac-toe app written in dynamic Groovy 6, built with a stock Android Gradle plugin and running on Android 16. More to come in Groovy 7.Exploring Gatherers4J with Groovy™
Published by Paul King on 2025-05-06 08:30PM
Last updated: 2026-09-17 02:00PM
This post looks at using Gatherers4J (relies on JDK24 stream gatherer API) with Groovy as well as similar Iterator extension methods.Using Gatherers with Groovy™
Published by Paul King on 2023-12-09 03:30PM
Last updated: 2026-09-15 02:00PM
This post looks at using Gatherers (JEP 461, JEP 473, JEP 485) with Groovy.Groovy 6 features for Functional Programmers
Published by Paul King <paulk-asert|PMC_Member> on 2026-06-01 08:00AM
Last updated: 2026-09-11 08:00PM
Groovy's functional programming stance: like Java, but with checked algebra, verified purity, monadic comprehensions, and machine-actionable annotations.Solving simple optimization problems with Groovy™ using Commons Math, Hipparchus, OptaPlanner, and Timefold
Published by Paul King on 2024-03-14 10:22PM
Last updated: 2026-09-05 08:00AM
This post looks at solving simple optimization problems using Groovy.Matrix calculations with Groovy™, Apache Commons Math, ojAlgo, Nd4j and EJML
Published by Paul King on 2022-08-18 01:41PM
Last updated: 2026-08-26 12:00PM
This post looks at using Groovy to write applications involving matrices. It uses some open source matrix libraries, the Vector API, and cuBLAS on a GPU.Reading and Writing CSV files with Groovy™
Published by Paul King on 2022-07-25 02:26PM
Last updated: 2026-08-26 10:00AM
This post looks at processing CSV files using Groovy's groovy-csv module, along with the OpenCSV, Apache Commons CSV, and Jackson Databind libraries.Groovy 6 features for formal method advocates
Published by Paul King <paulk-asert|PMC_Member> on 2026-07-03 08:00PM
Last updated: 2026-08-24 08:00PM
Groovy 6 ships design-by-contract & type-checking extensions. The groovy-verify project turns those contracts into Dafny-style proofs with counterexamples.Compile-time null safety for Groovy™
Published by Paul King <paulk-asert|PMC_Member> on 2026-04-02 10:00AM
Last updated: 2026-08-24 10:00AM
Groovy's null story, from the dynamic operators you already use to the NullChecker type-checking extension that catches null bugs at compile time.Using Apache Pekko actors and Groovy™ 6 actors
Published by Paul King on 2023-07-17 11:24PM
Last updated: 2026-08-22 12:00AM
This post looks at using Apache Pekko Actors and Groovy 6's built-in groovy.concurrent Actors.Classifying Iris Flowers with Deep Learning, Groovy™ and GraalVM
Published by Paul King on 2022-06-25 10:52AM
Last updated: 2026-08-20 10:00AM
This post looks at classifying Iris flowers using traditional and neural net based approaches using Eclipse DeepLearning4j, Encog, Deep Netts and GraalVM.Graph Computing with Groovy™ and Apache GeaFlow (Incubating)
Published by Paul King <paulk-asert|PMC_Member> on 2026-08-13 09:00PM
This post looks at using Apache GeaFlow (incubating), a streaming graph computing engine, with Groovy.Groovy 6 for humans and AI agents
Published by Paul King <paulk-asert|PMC_Member> on 2026-08-13 08:00AM
What makes Groovy 6 legible to AI agents makes it legible to people: verified declarations, checkers that catch generated-code bugs, docs that can't drift.Groovy™ Processing Nulls In Lists
Published by Paul King on 2023-02-06 12:00AM
Last updated: 2026-08-03 10:00AM
This post looks at processing lists containing nulls in Groovy.GPars meets Virtual Threads
Published by Paul King on 2022-06-15 11:28AM
Last updated: 2026-07-12 12:00AM
This post looks at using GPars with virtual threads.Async/await for Groovy™
Published by Paul King <paulk-asert|PMC_Member> on 2026-03-27 04:30PM
Last updated: 2026-07-12 12:00AM
Groovy's async/await: write concurrent code that reads like synchronous code, with virtual thread support, generators, channels, & structured concurrency.Exploring the Multimodal Universe with Groovy™
Published by Paul King <paulk-asert|PMC_Member> on 2026-07-01 11:00AM
Reproduce a viral astronomy demo in groovysh: load galaxy images and spectra from Hugging Face's Multimodal Universe and render them inline with /img.FizzBuzz with Groovy and Emojis
Published by Paul King <paulk-asert|PMC_Member> on 2026-06-14 08:00AM
A fun tour of many ways to write FizzBuzz in Groovy 6 — switches, ternaries, cycles, GINQ, parallel collections and a verified version — all in emoji.Fanning out across a Fleet with Apache MINA SSHD and Groovy™ 6
Published by Paul King on 2026-05-07 12:00PM
A fleet of broker boxes over Apache MINA SSHD with Groovy 6 parallel collections, Pool.virtual and ParallelScope -- replacing Part 1's stub feed.Streaming Servers with Apache MINA and Groovy™ 6
Published by Paul King <paulk-asert|PMC_Member> on 2026-04-30 12:00PM
Build a small streaming server on Apache MINA and refactor its IoHandler around Groovy 6's async/await, channels, broadcast and @ActiveObject.Design by contract with Groovy™: loop invariants
Published by Paul King <paulk-asert|PMC_Member> on 2026-03-24 04:30PM
This post looks at a proposed extension to Groovy's design-by-contract support in groovy-contracts to allow invariants on loops.Using Graph Databases with Groovy™
Published by Paul King <paulk-asert|PMC_Member> on 2024-09-02 10:18PM
Last updated: 2026-01-22 02:00PM
This post illustrates using graph databases with Groovy.Grouping Fruity Collections
Published by Paul King <paulk-asert|PMC_Member> on 2025-12-01 10:45AM
This post looks at using grouping in the context of many-to-many relationships.Groovy™, Embabel, and Agentic Design Patterns
Published by Paul King on 2025-11-07 11:00PM
This post highlights some agentic code patterns supported by Embabel.Using TensorFlow from Apache Wayang
Published by Paul King <paulk-asert|PMC_Member> on 2025-02-28 09:30AM
Last updated: 2025-08-28 02:21PM
This post looks at using TensorFlow and Apache Wayang with Apache Groovy.Using Groovy™ with Apache Wayang and Apache Spark™
Published by Paul King <paulk-asert|PMC_Member> on 2022-06-19 01:01PM
Last updated: 2025-08-25 02:11PM
This post looks at using Apache Wayang and Apache Spark with Apache Groovy to cluster various Whiskies.Whisky flavor profiles revisited
Published by Paul King on 2025-05-02 11:30AM
This post takes a first look at the Underdog and Matrix Groovy-powered dataframe libraries.Using Apache NetBeans with Apache Groovy™
Published by Paul King <paulk-asert|PMC_Member> on 2025-02-25 10:15PM
This post looks at using NetBeans and Groovy.Groovy™ Text Similarity
Published by Paul King <paulk-asert|PMC_Member>, James King <jakingy|Contributor> on 2025-02-18 08:30PM
This blog looks at processing some algorithms for testing text similarity.Searching with Lucene
Published by Paul King <paulk-asert|PMC_Member> on 2024-11-25 03:30PM
Last updated: 2024-12-22 08:45AM
This post looks at using Lucene to find references to other projects in Groovy's blog posts.Handling Byte-Order-Mark Characters in Groovy™
Published by Paul King on 2024-07-11 08:00PM
Handling Byte Order Mark (BOM) characters in GroovyUsing the Oracle 23ai Vector data type with Groovy™ to classify Iris flowers
Published by Paul King on 2024-06-30 11:21PM
This post looks at using the Oracle 23ai Vector data type with Groovy.Community Over Code (Europe) 2024
Published by Paul King on 2024-06-17 05:00PM
This post looks at the ASF Community Over Code EU conference in Bratislava, Slovakia, June 3-5 2024, with a particular focus on the Groovy Track.Groovy™ and Multiversal Equality
Published by Paul King on 2024-04-24 03:00PM
This post looks at how Groovy could support multiversal equality.Solving the Knapsack Problem with Groovy™
Published by Paul King on 2024-02-09 03:00PM
This post looks at solving the knapsack problem with Groovy.Using the Delegation Pattern with Groovy™
Published by Paul King on 2024-01-28 08:08PM
This post looks at using the Delegation Design Pattern with Groovy.Groovy™ Type Checkers
Published by Paul King on 2024-01-20 08:30PM
This post looks at Groovy's Type Checkers.Season’s Greetings with Emojis
Published by Paul King on 2023-12-23 12:24PM
Last updated: 2024-01-19 10:15PM
Season's greetings with some emoji fun.Set Operators with Groovy™
Published by Paul King on 2023-11-14 03:22PM
This blog looks at union, intersection, difference & symmetric difference operators in Groovy.Community Over Code (North America) 2023
Published by Paul King on 2023-10-26 05:00PM
This post looks at the ASF Community Over Code conference in Halifax, Nova Scotia, October 7-10 2023, with a particular focus on the Groovy Track.ChatGPT meets Groovy™ one-liners
Published by Paul King on 2023-10-19 06:00PM
I asked ChatGPT if it could represent some short/one-liner programming-related dad jokes as short/one-liner Groovy scripts.Processing Results for the Critérium du Dauphiné
Published by Paul King on 2023-06-13 05:00PM
This post looks at processing the general classification results for the Critérium du Dauphiné using Groovy, GQuery and DuckDB.Creating a Groovy™ Blog Post
Published by Paul King on 2023-05-25 11:35PM
This post looks at the steps to create a blog post.Groovy™ Record Performance
Published by Paul King on 2023-05-09 11:39PM
Last updated: 2023-05-10 07:57PM
This post looks at the performance of some of the generated methods in Groovy records.Groovy™ and Sequenced Collections (JEP-431)
Published by Paul King on 2023-04-29 09:00AM
This post looks at Groovy support for sequenced collections.Lego Bricks with Groovy™
Published by Paul King on 2023-04-25 11:28PM
Last updated: 2023-04-27 10:42PM
This post compares Groovy built-in capabilities to Java and Eclipse Collections.Hello World with Emojis
Published by Paul King on 2023-04-04 12:24PM
This post looks at a Groovy hello world with some emoji fun.Groovy™ Records
Published by Paul King on 2023-04-02 08:22PM
This blog looks at Groovy records.Groovy™ Haiku processing
Published by Paul King on 2023-03-25 07:22PM
This blog looks at processing some creative writing looking at various properties of the letters within the text.Groovy™ Testing with Combinations and Permutations
Published by Paul King on 2023-03-19 05:23PM
This blog looks at testing with Groovy using Combinations and Permutations.Converting natural language into actions with NLPCraft and Groovy™
Published by Paul King on 2023-03-10 07:22PM
Last updated: 2023-03-13 01:32PM
This blog looks at using Apache NLPCraft from Groovy.Quake III Arena and the fast inverse square root algorithm
Published by Paul King on 2023-02-28 12:05AM
Inspired by a recent tweet, this blog looks at the fast inverse square root algorithm made famous in Quake III Arena.Australian Time Zones
Published by Paul King <paulk-asert|PMC_Member> on 2023-02-20 08:00PM
Inspired by a recent update related to Antarctic timezones, this post looks at some interesting Australian time zone facts.Checking Wordle with Groovy™
Published by Paul King on 2023-02-08 12:00AM
This post looks at writing a Wordle checker in Groovy.Groundhog Day
Published by Paul King on 2023-02-02 12:00AM
Inspired by a recent tweet, this blog looks at some datetime manipulations to calculate the period between Groundhog day and the start of Spring.Fun with rating stars
Published by Paul King on 2023-01-25 12:00AM
Inspired by a recent tweet, this blog looks at producing a string of stars corresponding to a rating.Apache Groovy™ 2022 Year In Review
Published by Paul King on 2022-12-29 02:28PM
This post looks back at some highlights for Groovy in 2022.JVM Hello World with Groovy™
Published by Paul King on 2022-12-22 02:24PM
This post looks at using bytecode libraries to generate class files. It's a deep dive into how compilers and other tools work behind the scenes.Adventures with GroovyFX
Published by Paul King on 2022-12-12 02:22PM
This blog looks at a GroovyFX TODO application.Fun with obfuscated Groovy™
Published by Paul King on 2022-12-08 12:40AM
This post looks at some Obfuscated code for outputting some well-known text.Zipping Collections with Groovy™
Published by Paul King on 2022-11-17 12:50PM
This post looks at zipping collections.Whiskey Clustering with Groovy™ and Apache Ignite
Published by Paul King on 2022-10-27 11:13AM
This post looks at using Apache Ignite with Apache Groovy and the K-Means algorithm to cluster scotch whiskeys.Groovy™ Dates And Times Cheat Sheet
Published by Paul King <paulk-asert|PMC_Member> on 2022-10-24 07:27AM
This post looks at data and time functionality in Groovy including classic and Java date time, JSR310, functionality.Fruity Eclipse Collections
Published by Paul King on 2022-10-13 11:05AM
This post looks at using KMeans to compare fruit nominated color with the colors used in its emoji.Deep Learning and Eclipse Collections
Published by Paul King on 2022-10-11 10:41AM
This post uses Emojis and Eclipse Collections to process pet records. We then use deep learning to predict whether each emoji looks like a dog or cat.Deck of cards with Groovy™, JDK collections and Eclipse Collections
Published by Paul King on 2022-09-23 10:18AM
Last updated: 2022-09-25 11:15AM
This post highlights some code for modelling and manipulating cards with records, JDK collections, and Eclipse Collections.Encryption and decryption with Groovy™
Published by Paul King on 2022-09-19 02:34PM
This post looks at encrypting and decrypting data using Groovy with the AES and CAST5 algorithms.Calculating Fibonacci with Groovy™ revisited
Published by Paul King on 2022-09-08 10:59AM
This post looks at various ways to calculate Fibonacci numbers such as recursion and iteration including optimisations like tail recursion and memoization.Solving cryptarithmetic puzzles with Groovy™ and constraint programming using Choco, JaCoP, and OR-Tools
Published by Paul King on 2022-09-05 01:43PM
This post looks at solving cryptarithmetic puzzles using Groovy.Groovy™ List Processing Cheat Sheet
Published by Paul King on 2022-08-28 08:46AM
This post looks at the common Groovy features for processing lists.Life on Mars: Units of Measurement systems, Groovy™, and domain specific languages (DSLs)
Published by Paul King on 2022-08-13 06:31AM
This post looks at using the JSR 385 unit of measurement system and writing domain specific languages with examples including the Mars rover robot.Natural Language Processing with Groovy™, OpenNLP, CoreNLP, Nlp4j, Datumbox, Smile, Spark NLP, DJL and TensorFlow
Published by Paul King on 2022-08-07 07:34AM
This post looks at numerous common natural language processing tasks using Groovy and a range of NLP libraries.Detecting objects with Groovy™, the Deep Java Library (DJL), and Apache MXNet
Published by Paul King on 2022-08-01 11:52AM
This post looks at using Apache Groovy, DLJ and Apache MXNet to use neural networks to detect objects within an image.Working with SQL databases with Groovy™ and GraalVM
Published by Paul King on 2022-07-29 02:07PM
This post looks at a simple H2 database application. It shows how to create a native version of the application using GraalVM.Groovy release train: 4.0.4, 3.0.12, 2.5.18
Published by Paul King on 2022-07-24 12:55PM
Groovy 4.0.4, 3.0.12 and 2.5.18 Release Announcement.Comparators and Sorting in Groovy™
Published by Paul King on 2022-07-21 03:51PM
This post looks at Groovy functionality for making your classes comparable and/or sortable.Testing your Java with Groovy™, Spock, JUnit5, Jacoco, Jqwik and Pitest
Published by Paul King on 2022-07-15 08:26AM
This post looks at testing Java using Groovy, Spock, JUnit5, Jacoco, Jqwik and PitestParsing JSON with Groovy™
Published by Paul King on 2022-07-10 02:00PM
This post looks at parsing JSON using Groovy's in-built capabilities as well as some other libraries.Groovy 4.0.3 Released
Published by Paul King on 2022-06-15 08:16AM
Groovy 4.0.3 Release Announcement.Groovy 3 Highlights
Published by Paul King on 2020-02-13 02:28AM
A summary of the highlights for Groovy 3.Groovy 3.0.0-beta-2 Windows Installer Released (Community Release)
Published by Remko Popma on 2019-07-15 10:30AM
Groovy 3.0.0-beta-2 Windows Installer Release Announcement.Groovy 3.0.0-beta-2 Released
Published by Remko Popma on 2019-07-15 10:25AM
Groovy 3.0.0-beta-2 Release Announcement.Groovy 2.5.7 and 3.0.0-beta-1 Windows Installers Released (Community Artifacts)
Published by Remko Popma on 2019-05-12 10:49PM
Groovy 2.5.7 and 3.0.0-beta-1 Windows Installer Release Announcement.Groovy 3.0.0-beta-1 Released
Published by Remko Popma on 2019-05-12 10:41PM
Groovy 3.0.0-beta-1 Release Announcement.Groovy 2.5.7 Released
Published by Remko Popma on 2019-05-12 10:39PM
Groovy 2.5.7 Release Announcement.Groovy 2.4.17 Released
Published by Remko Popma on 2019-05-12 10:32PM
Groovy 2.4.17 Release Announcement.Groovy 2.5.6 Released
Published by Remko Popma on 2019-02-04 10:19PM
Groovy 2.5.6 Release Announcement.Groovy 3.0.0-alpha-4 Windows Installer Released (Community Artifact)
Published by Remko Popma on 2019-01-01 09:28AM
Groovy 2.4.16 Windows Installer Release Announcement.Groovy 3.0.0-alpha-4 Released
Published by Remko Popma on 2019-01-01 09:24AM
Groovy 3.0.0-alpha-4 Release Announcement.Groovy 2.5.5 Windows Installer Released (Community Artifact)
Published by Remko Popma on 2018-12-24 10:02PM
Groovy 2.5.5 Windows Installer Release Announcement.Groovy 2.5.5 released
Published by Remko Popma on 2018-12-24 11:53AM
Groovy 2.5.5 Release Announcement.Groovy 2.4.16 Windows Installer Released (Community Artifact)
Published by Remko Popma on 2018-12-18 10:06PM
Groovy 2.4.16 Windows Installer Release Announcement.Groovy 2.4.16 Released
Published by Remko Popma on 2018-12-18 10:04PM
Groovy 2.4.16 Release Announcement.Groovy 2.5.4 Windows Installer Released (Community Artifact)
Published by Remko Popma on 2018-11-12 11:43AM
Groovy 2.5.4 Windows Installer Release Announcement.Groovy 2.5.4 Released
Published by Remko Popma on 2018-11-12 11:42AM
Groovy 2.5.4 Release Announcement.Apache Groovy™ committer Graeme Rocher receives Oracle Groundbreaker award
Published by Paul King on 2018-10-24 11:33PM
Congratulations to Graeme Rocher for receiving the Oracle Groundbreaker award.GMavenPlus 1.6.2 Released (Community Artifact)
Published by Remko Popma on 2018-10-14 10:00PM
GMavenPlus 1.6.2 Release Announcement.Groovy 2.5.3 Windows Installer Released (Community Artifact)
Published by Remko Popma on 2018-10-14 09:47PM
Groovy 2.5.3 Windows Installer Release Announcement.Groovy 2.5.3 Released
Published by Remko Popma on 2018-10-14 09:43PM
Groovy 2.5.3 Release Announcement.Groovy 2.5.2 Windows Installer Released (Community Artifact)
Published by Remko Popma on 2018-08-19 09:50AM
Groovy 2.5.2 Windows Installer Release Announcement.Groovy 2.5.2 released
Published by Remko Popma on 2018-08-16 02:52AM
Groovy 2.5.2 Release Announcement.Groovy 2.5.1 released
Published by Remko Popma on 2018-07-14 02:18AM
Groovy 2.5.1 Release Announcement.Announcing CodeNarc 1.2
Published by Remko Popma on 2018-07-10 10:16AM
CodeNarc 1.2 Release Announcement.Groovy 2.5.0 released
Published by Remko Popma on 2018-05-30 11:28AM
Groovy 2.5.0 Release Announcement.Apache Groovy 2.5 CliBuilder Renewal
Published by Remko Popma on 2018-05-30 11:28AM
This post looks at new CliBuilder features from Groovy 2.5 in particular the Picocli-based implementation.