# Blog of Guillaume Laforge > Tech blog of Guillaume Laforge, with articles on generative AI, LLMs, cloud computing, microservices architecture, serverless solutions, Java and Apache Groovy programming You can find [more information about this site here](/about). ## All articles ### 2025 - [Vibe coding an MCP server with Micronaut, LangChain4j, and Gemini](https://glaforge.dev//posts/2025/05/02/vibe-coding-an-mcp-server-with-micronaut-and-gemini/) - [MCP Client and Server with the Java MCP SDK and LangChain4j](https://glaforge.dev//posts/2025/04/04/mcp-client-and-server-with-java-mcp-sdk-and-langchain4j/) - [Quick Tip: Clearing disk space in Cloud Shell](https://glaforge.dev//posts/2025/03/08/quick-tip-clearing-disk-space-in-cloud-shell/) - [LLMs.txt to help LLMs grok your content](https://glaforge.dev//posts/2025/03/03/llms-txt-to-help-llms-grok-your-content/) - [Pretty-print Markdown on the console](https://glaforge.dev//posts/2025/02/27/pretty-print-markdown-on-the-console/) - [Advanced RAG — Sentence Window Retrieval](https://glaforge.dev//posts/2025/02/25/advanced-rag-sentence-window-retrieval/) - [The power of large context windows for your documentation efforts](https://glaforge.dev//posts/2025/02/15/the-power-of-large-context-windows-for-your-documentation-efforts/) - [A Generative AI Agent with a real declarative workflow](https://glaforge.dev//posts/2025/01/31/a-genai-agent-with-a-real-workflow/) - [An AI agent to generate short sci-fi stories](https://glaforge.dev//posts/2025/01/27/an-ai-agent-to-generate-short-scifi-stories/) - [Analyzing trends and topics from Bluesky's Firehose with generative AI](https://glaforge.dev//posts/2025/01/06/analyzing-trends-and-topics-from-blueskys-firehose-with-generative-ai/) ### 2024 - [Let's think with Gemini Flash 2.0's experimental thinking mode and LangChain4j](https://glaforge.dev//posts/2024/12/20/lets-think-with-gemini-2-thinking-mode-and-langchain4j/) - [Detecting objects with Gemini 2.0 and LangChain4j](https://glaforge.dev//posts/2024/12/13/detecting-objects-with-gemini-2-and-langchain4j/) - [Semantic code search for Programming Idioms with LangChain4j and Vertex AI embedding models](https://glaforge.dev//posts/2024/12/02/semantic-code-search-for-programming-idioms-with-langchain4j-and-vertex-ai-embedding-models/) - [Redacting sensitive information when using Generative AI models](https://glaforge.dev//posts/2024/11/25/redacting-sensitive-information-when-using-generative-ai-models/) - [Data extraction: The many ways to get LLMs to spit JSON content](https://glaforge.dev//posts/2024/11/18/data-extraction-the-many-ways-to-get-llms-to-spit-json-content/) - [Things you never dared to ask about LLMs](https://glaforge.dev//talks/2024/10/24/things-you-never-dared-to-ask-about-llms/) - [Advanced RAG Techniques](https://glaforge.dev//talks/2024/10/14/advanced-rag-techniques/) - [A Gemini and Gemma tokenizer in Java](https://glaforge.dev//posts/2024/10/04/a-gemini-and-gemma-tokenizer-in-java/) - [AI Inktober — Generating ink drawings with Imagen 3](https://glaforge.dev//posts/2024/10/01/ai-nktober-generating-ink-drawings-with-imagen/) - [Lots of new cool Gemini stuff in LangChain4j 0.35.0](https://glaforge.dev//posts/2024/09/29/lots-of-new-cool-gemini-stuff-in-langchain4j/) - [Some advice and good practices when integrating an LLM in your application](https://glaforge.dev//posts/2024/09/23/some-good-practices-when-integrating-an-llm-in-your-application/) - [New Gemini model in LangChain4j](https://glaforge.dev//posts/2024/09/05/new-gemini-model-in-langchain4j/) - [A retryable JUnit 5 extension for flaky tests](https://glaforge.dev//posts/2024/09/01/a-retryable-junit-5-extension/) - [Let LLM suggest Instagram hashtags for your pictures](https://glaforge.dev//posts/2024/08/12/let-llm-suggest-instagram-hashtags/) - [Gemini Nano running locally in your browser](https://glaforge.dev//posts/2024/08/07/gemini-nano-running-locally-in-your-browser/) - [Sentiment analysis with few-shot prompting](https://glaforge.dev//posts/2024/07/30/sentiment-analysis-with-few-shots-prompting/) - [Analyzing video, audio and PDF files with Gemini and LangChain4j](https://glaforge.dev//posts/2024/07/25/analyzing-videos-audios-and-pdfs-with-gemini-in-langchain4j/) - [Text classification with Gemini and LangChain4j](https://glaforge.dev//posts/2024/07/11/text-classification-with-gemini-and-langchain4j/) - [Latest Gemini features support in LangChain4j 0.32.0](https://glaforge.dev//posts/2024/07/05/latest-gemini-features-support-in-langchain4j/) - [The power of embeddings: How numbers unlock the meaning of data](https://glaforge.dev//posts/2024/07/02/the-power-of-embeddings-how-numbers-unlock-the-meaning-of-data/) - [Functional builders in Java with Jilt](https://glaforge.dev//posts/2024/06/17/functional-builders-in-java-with-jilt/) - [Let's make Gemini Groovy!](https://glaforge.dev//posts/2024/06/03/lets-make-gemini-groovy/) - [Grounding Gemini with Web Search results in LangChain4j](https://glaforge.dev//posts/2024/05/28/grounding-gemini-with-web-search-in-langchain4j/) - [Gemini, Google's Large Language Model, for Java Developers](https://glaforge.dev//talks/2024/05/03/gemini-google-large-language-model-for-java-developers/) - [Calling Gemma with Ollama, TestContainers, and LangChain4j](https://glaforge.dev//posts/2024/04/04/calling-gemma-with-ollama-and-testcontainers/) - [Gemini codelab for Java developers using LangChain4j](https://glaforge.dev//posts/2024/03/27/gemini-codelab-for-java-developers/) - [Visualize PaLM-based LLM tokens](https://glaforge.dev//posts/2024/02/05/visualize-palm-based-llm-tokens/) - [Image generation with Imagen and LangChain4j](https://glaforge.dev//posts/2024/02/01/image-generation-with-imagen-and-langchain4j/) - [Serving static assets with Micronaut](https://glaforge.dev//posts/2024/01/21/serving-static-assets-with-micronaut/) - [Light Mode Bookmarlet](https://glaforge.dev//posts/2024/01/18/light-mode-bookmarlet/) - [Functional builder approach in Java](https://glaforge.dev//posts/2024/01/16/java-functional-builder-approach/) - [URL slug or how to remove accents from strings in Java](https://glaforge.dev//posts/2024/01/08/url-slug-or-how-to-remove-accents-in-java/) ### 2023 - [Gemini Function Calling](https://glaforge.dev//posts/2023/12/22/gemini-function-calling/) - [Visualize and Inspect Workflows Executions](https://glaforge.dev//posts/2023/12/22/visualize-and-inspect-workflows-executions/) - [Hands on Codelabs to dabble with Large Language Models in Java](https://glaforge.dev//posts/2023/12/18/get-hands-on-codelabs-to-dabble-with-llms/) - [Get Started with Gemini in Java](https://glaforge.dev//posts/2023/12/13/get-started-with-gemini-in-java/) - [Generative AI in practice: Concrete LLM use cases in Java, with the PaLM API](https://glaforge.dev//talks/2023/11/13/gen-ai-with-palm-2-and-java/) - [Tech Watch #5 — November, 15, 2023](https://glaforge.dev//posts/2023/11/13/tech-watch-0005/) - [Tech Watch #4 — October, 27, 2023](https://glaforge.dev//posts/2023/10/27/tech-watch-004/) - [Tech Watch #3 — October, 20, 2023](https://glaforge.dev//posts/2023/10/20/tech-watch-003/) - [Tech Watch #2 — Oct 06, 2023](https://glaforge.dev//posts/2023/10/06/tech-watch-002/) - [Client-side consumption of a rate-limited API in Java](https://glaforge.dev//posts/2023/10/02/client-side-consumption-of-a-rate-limited-api-in-java/) - [Tech Watch #1 — Sept 29, 2023](https://glaforge.dev//posts/2023/09/29/tech-watch-001/) - [Discovering LangChain4J, the Generative AI orchestration library for Java developers](https://glaforge.dev//posts/2023/09/25/discovering-langchain4j/) - [Custom Environment Variables in Workflows](https://glaforge.dev//posts/2023/07/06/custom-environment-variables-in-workflows/) - [From Bird to Elephant: Starting a New Journey on Mastodon](https://glaforge.dev//talks/2023/06/09/from-bird-to-elephant-starting-a-new-journey-on-mastodon/) - [Creating kids stories with Generative AI](https://glaforge.dev//posts/2023/06/08/creating-kids-stories-with-generative-ai/) - [Just a handy command-line tool](https://glaforge.dev//posts/2023/06/07/just-a-handy-command-line-tool/) - [Getting started with the PaLM API in the Java ecosystem](https://glaforge.dev//posts/2023/05/30/getting-started-with-the-palm-api-in-the-java-ecosystem/) - [Exploring Open Location Code](https://glaforge.dev//posts/2023/03/28/exploring-open-location-code/) - [cURL's --json flag](https://glaforge.dev//posts/2023/03/22/curl-s-json-flag/) - [Tip: Visualize output in the Groovy Console](https://glaforge.dev//posts/2023/03/21/tip-visualize-output-in-groovy-console/) - [Some custom VS Code settings](https://glaforge.dev//posts/2023/03/08/some-custom-vscode-settings/) - [New blog location](https://glaforge.dev//posts/2023/03/06/new-blog-location/) - [Google Cloud Workflows API automation, patterns, and best practices](https://glaforge.dev//talks/2023/02/01/google-cloud-workflows-api-automation-patterns-best-practices/) - [Calculating your potential reach on Mastodon with Google Cloud Workflows orchestrating the Mastodon APIs](https://glaforge.dev//posts/2023/01/06/calculating-your-potential-reach-on-mastodon-with-google-cloud-workflows-orchestrating-the-mastodon-apis/) ### 2022 - [Workflows patterns and best practices — Part 3](https://glaforge.dev//posts/2022/12/06/workflows-patterns-and-best-practices-part-3/) - [Turning a Website Into a Desktop Application](https://glaforge.dev//posts/2022/11/29/turning-a-website-into-a-desktop-application/) - [Workflows patterns and best practices — Part 2](https://glaforge.dev//posts/2022/11/28/workflows-patterns-and-best-practices-part-2/) - [Workflows patterns and best practices — Part 1](https://glaforge.dev//posts/2022/11/22/workflows-patterns-and-best-practices-part-1/) - [APIs, we have a Problem JSON](https://glaforge.dev//posts/2022/11/14/apis-we-have-a-problem-json/) - [Workflows Tips and Tricks](https://glaforge.dev//posts/2022/11/04/workflows-tips-and-tricks/) - [Retrieve YouTube views count with youtubeDL, JQ, and a Docker container](https://glaforge.dev//posts/2022/10/26/retrieve-youtube-views-count-with-youtubedl-jq-and-a-docker-container/) - [Build and deploy Java 17 apps on Cloud Run with Cloud Native Buildpacks on Temurin](https://glaforge.dev//posts/2022/10/24/build-deploy-java-17-apps-on-cloud-run-with-cloud-native-buildpacks-on-temurin/) - [Choreography vs orchestration in microservices and best practices](https://glaforge.dev//talks/2022/10/20/choreography-vs-orchestration-in-microservices-and-best-practices/) - [Reuse old smartphones to monitor 3D prints with WebRTC WebSockets and serverless](https://glaforge.dev//talks/2022/10/13/reuse-old-smartphones-to-monitor-3d-prints-with-webrtc-websockets-and-serverless/) - [A Cloud Run service in Go calling a Workflows callback endpoint](https://glaforge.dev//posts/2022/09/27/a-cloud-run-service-in-go-calling-a-workflows-callback-endpoint/) - [Monitoring Website Changes with Workflows Cloud Functions and Sendgrid](https://glaforge.dev//posts/2022/09/12/monitoring-website-change-wwith-workflows-cloud-functions-and-sendgrid/) - [Some beans and gems, some snakes and elephants, with Java 17, Ruby 3, Python 3.10, and PHP 8.1 in App Engine and Cloud Functions](https://glaforge.dev//posts/2022/04/14/some-beans-and-gems-some-snakes-and-elephants-with-java-17-ruby-3-python-310-and-php-81-in-app-engine-and-cloud-functions/) - [Schedule a Workflow Execution](https://glaforge.dev//posts/2022/02/09/schedule-a-workflow-execution/) - [Using the Secret Manager connector for Workflows to call an authenticated service](https://glaforge.dev//posts/2022/02/04/using-the-secret-manager-connector-for-workflows-to-call-an-authenticated-service/) - [Upload and use JSON data in your workflow from GCS](https://glaforge.dev//posts/2022/02/03/upload-and-use-json-data-in-your-workflow-from-gcs/) - [Sending an email with SendGrid from Workflows](https://glaforge.dev//posts/2022/02/01/sending-an-email-with-sendgrid-from-workflows/) - [Smarter Applications With Document Ai Workflows and Cloud Functions](https://glaforge.dev//posts/2022/02/01/smarter-applications-with-document-ai-workflows-and-cloud-functions/) - [Open sourcing the App Engine Standard Java Runtime](https://glaforge.dev//posts/2022/01/26/open-sourcing-the-app-engine-standard-java-runtime/) - [Reading in and writing a JSON file to a storage bucket from a workflow](https://glaforge.dev//posts/2022/01/21/reading-in-and-writing-a-json-file-to-a-storage-bucket-from-a-workflow/) - [How to get the project ID in a Java Cloud Function](https://glaforge.dev//posts/2022/01/17/how-to-get-the-project-id-in-a-java-cloud-function/) ### 2021 - [Introducing Workflows callbacks](https://glaforge.dev//posts/2021/10/02/introducing-workflows-callbacks/) - [Skyrocketing Micronaut microservices into Google Cloud](https://glaforge.dev//talks/2021/06/25/skyrocketing-micronaut-microservices-into-google-cloud/) - [Introducing New Connectors for Workflows](https://glaforge.dev//posts/2021/04/27/introducing-new-connectors-for-workflows/) - [Serverless: panacea or not?](https://glaforge.dev//talks/2021/03/07/serverless-panacea-or-not/) - [Orchestrating the Pic-a-Daily serverless app with workflows](https://glaforge.dev//posts/2021/02/13/orchestrating-the-pic-a-daily-serverless-app-with-workflows/) - [Day 15 with Workflows — Built-in Cloud Logging function](https://glaforge.dev//posts/2021/02/10/day-15-with-workflows-built-in-cloud-logging-function/) - [Day 14 with Workflows — Subworkflows](https://glaforge.dev//posts/2021/02/03/day-14-with-workflows-subworkflows/) - [Day 13 with Workflows — Logging with Cloud Logging](https://glaforge.dev//posts/2021/02/02/day-13-with-workflows-logging-with-cloud-logging/) ### 2020 - [Day 12 with Workflows — Loops and iterations](https://glaforge.dev//posts/2020/12/23/day-12-with-workflows-loops-and-iterations/) - [Day 11 with Workflows — Sleeping in a workflow](https://glaforge.dev//posts/2020/12/22/day-11-with-workflows-sleeping-in-a-workflow/) - [Day 10 with Workflows — Accessing built-in environment variables](https://glaforge.dev//posts/2020/12/17/day-10-with-workflows-accessing-built-in-environment-variables/) - [Day 9 with Workflows — Deploying and executing Workflows from the command-line](https://glaforge.dev//posts/2020/12/16/day-9-with-workflows-deploying-and-executing-workflows-from-the-command-line/) - [Day 8 with Workflows — Calling an HTTP endpoint](https://glaforge.dev//posts/2020/12/15/day-8-with-workflows-calling-an-http-endpoint/) - [Day 7 with Workflows — Pass an input argument to your workflow](https://glaforge.dev//posts/2020/12/10/day-7-with-workflows-pass-an-input-argument-to-your-workflow/) - [Day 6 with Workflows — Arrays and dictionaries](https://glaforge.dev//posts/2020/12/09/day-6-with-workflows-arrays-and-dictionaries/) - [Day 5 with Workflows — Visualizing the structure of your workflow definition](https://glaforge.dev//posts/2020/12/08/day-5-with-workflows-visualizing-the-structure-of-your-workflow-definition/) - [Day 4 with Workflows — Jumping with switch conditions](https://glaforge.dev//posts/2020/12/04/day-4-with-workflows-jumping-with-switch-conditions/) - [Day 3 with Workflows — Variable assignment and expressions](https://glaforge.dev//posts/2020/12/03/day-3-with-workflows-variable-assignment-and-expressions/) - [Day 2 with Workflows — A workflow is made of steps and jumps](https://glaforge.dev//posts/2020/12/02/day-2-with-workflows-a-workflow-is-made-of-steps-and-jumps/) - [Day 1 with Workflows — Your first step to Hello World](https://glaforge.dev//posts/2020/12/01/day-1-with-workflows-your-first-step-to-hello-world/) - [Orchestrating microservices with Google Cloud Workflows](https://glaforge.dev//posts/2020/11/18/orchestrating-microservices-with-cloud-workflows/) - [The developer advocacy feedback loop](https://glaforge.dev//talks/2020/08/06/the-developer-advocacy-feedback-loop/) - [Running Micronaut serverlessly on Google Cloud Platform](https://glaforge.dev//posts/2020/08/04/running-micronaut-serverlessly-on-google-cloud-platform/) - [Video: Getting started with Java on Google Cloud Functions](https://glaforge.dev//talks/2020/07/28/video-getting-started-with-java-on-google-cloud-functions/) - [Introducing Java 11 on Google Cloud Functions](https://glaforge.dev//posts/2020/05/27/introducing-java-11-on-google-cloud-functions/) - [Sip a Cup of Java 11 for Your Cloud Functions](https://glaforge.dev//posts/2020/05/26/sip-a-cup-of-java-11-for-your-cloud-functions/) - [Deploying serverless functions in Groovy on the new Java 11 runtime for Google Cloud Functions](https://glaforge.dev//posts/2020/05/26/deploying-serverless-functions-in-groovy-on-the-new-java-11-runtime-for-google-cloud-functions/) - [Video: the Pic-a-Daily serverless workshop](https://glaforge.dev//talks/2020/05/18/video-the-pic-a-daily-serverless-workshop/) - [Machine learning applied music generation with Magenta](https://glaforge.dev//posts/2020/05/04/machine-learning-applied-music-generation-with-magenta/) - [HTML semantic tags](https://glaforge.dev//posts/2020/04/29/html-semantic-tags/) - [Modern web game development](https://glaforge.dev//posts/2020/04/27/modern-web-game-development/) - [Decoding a QR code by hand](https://glaforge.dev//posts/2020/04/26/decoding-a-qr-code-by-hand/) - [Defence against the Docker arts by Joe Kutner](https://glaforge.dev//posts/2020/04/24/defence-against-the-docker-arts-by-joe-kutner/) - [Start the fun with Java 14 and Micronaut inside serverless containers on Cloud Run](https://glaforge.dev//posts/2020/03/24/start-the-fun-with-java-14-and-micronaut-inside-serverless-containers-on-cloud-run/) ### 2019 - [Serverless tip #7 — Create mini APIs with Cloud Functions and Express routing](https://glaforge.dev//posts/2019/12/17/serverless-tip-7-create-mini-apis-with-cloud-functions-and-express-routing/) - [Serverless tip #6 — Create a mini web API with Cloud Functions](https://glaforge.dev//posts/2019/12/17/serverless-tip-6-create-a-mini-web-api-with-cloud-functions/) - [Serverless tip #5 — How to invoke a secured Cloud Run service locally](https://glaforge.dev//posts/2019/12/11/serverless-tip-5-how-to-invoke-a-secured-cloud-run-service-locally/) - [8 production-ready features you'll find in Cloud Run fully managed](https://glaforge.dev//posts/2019/12/11/8-production-ready-features-you-ll-find-in-cloud-run-fully-managed/) - [Serverless tip #4 — Discover the full URL of your deployed Cloud Run services with gcloud format flag](https://glaforge.dev//posts/2019/12/05/serverless-tip-4-discover-the-full-url-of-your-deployed-cloud-run-services-with-gcloud-format-flag/) - [Serverless tip #3 — Use the Cloud Run button on your Git repository to deploy your project in a click](https://glaforge.dev//posts/2019/12/04/serverless-tip-3-use-the-cloud-run-button-on-your-git-repository-to-deploy-your-project-in-a-click/) - [Serverless tip #2 — Deploy an executable JVM application with gcloud without app.yaml or build tool plugin](https://glaforge.dev//posts/2019/12/03/serverless-tip-2-deploy-an-executable-jvm-application-with-gcloud-without-app-yaml-or-build-tool-plugin/) - [Serverless tip #1 — Deploy a standalone JVM web app with Gradle and the App Engine plugin](https://glaforge.dev//posts/2019/11/29/serverless-tip-1-deploy-a-standalone-jvm-web-app-with-gradle-and-the-app-engine-plugin/) - [Implementing Webhooks, not as trivial as it may seem](https://glaforge.dev//talks/2019/11/25/implementing-webhooks-not-as-trivial-as-it-may-seem/) - [App Engine 2nd generation runtimes and serverless containers with Cloud Run at Cloud Next Tokyo](https://glaforge.dev//talks/2019/08/08/app-engine-2nd-generation-runtimes-and-serverless-containers-with-cloud-run-at-cloud-next-tokyo/) - [Getting started with Micronaut on Google App Engine Java 11](https://glaforge.dev//posts/2019/07/04/getting-started-with-micronaut-on-google-app-engine-java-11/) - [Update on the recent serverless developments on GCP at DataXDay 2019](https://glaforge.dev//talks/2019/07/02/update-on-the-recent-serverless-developments-on-gcp-at-dataxday-2019/) - [Turn it up to eleven: Java 11 runtime comes to App Engine](https://glaforge.dev//posts/2019/06/21/turn-it-up-to-eleven-java-11-runtime-comes-to-app-engine/) - [A serverless Java developer's journey](https://glaforge.dev//talks/2019/04/17/a-serverless-java-developer-journey/) - [On curiosity and sharing with the world](https://glaforge.dev//posts/2019/02/15/on-curiosity-and-sharing-with-the-world/) - [Tip: Making a Google Cloud Storage bucket or file public](https://glaforge.dev//posts/2019/02/13/tip-making-a-google-cloud-storage-bucket-or-file-public/) - [Mais c'est quoi un Developer Advocate ?](https://glaforge.dev//posts/2019/02/04/mais-c-est-quoi-un-developer-advocate/) - [Machine learning APIs with Apache Groovy](https://glaforge.dev//talks/2019/01/18/machine-learning-apis-with-apache-groovy/) - [Interview InfoQ en Français sur les microservices sur Google Cloud Platform](https://glaforge.dev//posts/2019/01/11/interview-infoq-en-francais-sur-les-microservices-sur-google-cloud-platform/) - [New Serverless Solutions on Google Cloud for Functions Apps and Containers](https://glaforge.dev//talks/2019/01/03/new-serverless-solutions-on-google-cloud-for-functions-apps-and-containers/) ### 2018 - [Deploy a Micronaut application containerized with JIB to Google Kubernetes Engine](https://glaforge.dev//posts/2018/11/26/deploy-a-micronaut-application-containerized-with-jib-to-google-kubernetes-engine/) - [An Intro to Google Cloud Platform](https://glaforge.dev//talks/2018/10/25/an-intro-to-google-cloud-platform/) - [Nice Series on Spring Cloud Integration for Google Cloud Platform](https://glaforge.dev//posts/2018/09/17/nice-series-on-spring-cloud-integration-for-google-cloud-platform/) - [Building and deploying microservices with App Engine and Cloud Functions](https://glaforge.dev//talks/2018/08/06/building-and-deploying-microservices-with-app-engine-and-cloud-functions/) - [In the top 20 Java influencers for 2018](https://glaforge.dev//posts/2018/07/30/in-the-top-20-java-influencers-for-2018/) - [The Big Green Button Automating Continuous Delivery With Chatbots](https://glaforge.dev//talks/2018/06/25/the-big-green-button-automating-continuous-delivery-with-chatbots/) - [Chatbots: switching the second gear](https://glaforge.dev//talks/2018/06/21/chatbots-switching-the-second-gear/) - [Putting a Groovy Twist on Cloud Vision](https://glaforge.dev//posts/2018/06/18/putting-a-groovy-twist-on-cloud-vision/) - [Automating Chrome Headless mode on App Engine with Node.JS 8](https://glaforge.dev//posts/2018/06/12/automating-chrome-headless-mode-on-app-engine-with-node-js-8/) - [Vision recognition with a Groovy twist](https://glaforge.dev//posts/2018/06/06/vision-recognition-with-a-groovy-twist/) - [Machine learning APIs and AI panel discussion at QCon](https://glaforge.dev//talks/2018/06/04/machine-learning-apis-and-ai-panel-discussion-at-qcon/) - [Getting started with Groovy technologies on Google Cloud Platform](https://glaforge.dev//talks/2018/06/01/getting-started-with-groovy-technologies-on-google-cloud-platform/) - [Ten years of App Engine with a Groovy twist](https://glaforge.dev//posts/2018/04/16/ten-years-of-app-engine-with-a-groovy-twist/) - [What can we learn from millions of (groovy) source files in Github](https://glaforge.dev//talks/2018/03/23/what-do-we-learn-from-millions-of-source-files-in-github/) - [Keynote: IT holy wars](https://glaforge.dev//talks/2018/03/12/keynote-it-holy-wars/) - [Build apps for voice, chat, web and mobile](https://glaforge.dev//talks/2018/02/15/build-apps-for-voice-chat-web-and-mobile/) - [I'm a Java Champion!](https://glaforge.dev//posts/2018/01/18/i-m-a-java-champion/) - [Pre-trained machine learning APIs](https://glaforge.dev//talks/2018/01/17/pre-trained-machine-learning-apis/) ### 2017 - [The 2018 countdown: a tip a day about Google Cloud Platform](https://glaforge.dev//posts/2017/12/18/the-2018-countdown-a-tip-a-day-about-google-cloud-platform/) - [Gradle vs Maven and Gradle in Kotlin or Groovy](https://glaforge.dev//posts/2017/11/27/gradle-vs-maven-and-gradle-in-kotlin-or-groovy/) - [The JDK built-in web server with Apache Groovy](https://glaforge.dev//posts/2017/11/20/the-jdk-builtin-web-server-with-apache-groovy/) - [More voice control for Actions on Google](https://glaforge.dev//posts/2017/11/16/more-voice-control-for-actions-on-google/) - [JavaOne — How languages influence each other: Reflections on 14 years of Apache Groovy](https://glaforge.dev//talks/2017/10/09/javaone-how-languages-influence-each-other-reflections-on-14-years-of-apache-groovy/) - [Building your own chatbots with API.ai and Cloud Functions](https://glaforge.dev//talks/2017/10/08/building-your-own-chatbots-with-apiai-and-cloud-functions/) - [Cloud Shell and its Orion-based text editor to develop in the cloud](https://glaforge.dev//posts/2017/08/07/cloud-shell-and-its-orion-based-text-editor-to-develop-in-the-cloud/) - [Apache Groovy and Google App Engine at JavaOne](https://glaforge.dev//posts/2017/07/21/apache-groovy-and-google-app-engine-at-javaone/) - [Scale an OpenAPI based web API with Cloud Endpoints](https://glaforge.dev//posts/2017/07/18/scale-an-openapi-based-web-api-with-cloud-endpoints/) - [Scale Jenkins with Kubernetes on Google Container Engine](https://glaforge.dev//talks/2017/07/17/scale-jenkins-with-kubernetes-on-google-container-engine/) - [A year as a Google Cloud Developer Advocate](https://glaforge.dev//posts/2017/06/13/a-year-as-a-google-cloud-developer-advocate/) - [Trying out Apache Groovy's new Antlr4 parser with Java 8 support](https://glaforge.dev//posts/2017/05/29/trying-out-apache-groovy-new-antlr4-parser-with-java-8-support/) - [Flying East to Singapore](https://glaforge.dev//posts/2017/05/16/flying-east-to-singapore/) - [Machine Learning and Scaling Web Apis](https://glaforge.dev//talks/2017/05/10/machine-learning-and-scaling-web-apis/) - [A chatbot for the Devoxx conference agenda with API.ai and Cloud Functions](https://glaforge.dev//talks/2017/04/06/a-chatbot-for-the-devoxx-conference-agenda-with-apiai-and-cloud-functions/) - [Testing Java 8 Snippets on the new App Engine Java 8 runtime](https://glaforge.dev//posts/2017/03/24/testing-java-8-snippets-on-the-new-app-engine-java-8-runtime/) - [Happy Pi Day! Google Home helps you learn the digits of Pi](https://glaforge.dev//posts/2017/03/14/happy-pi-day-google-home-helps-you-learn-the-digits-of-pi/) - [Extending the Google Assistant with Actions on Google](https://glaforge.dev//talks/2017/03/13/extending-the-google-assistant-with-actions-on-google/) - [Google Cloud Endpoints in General Availability](https://glaforge.dev//posts/2017/02/13/google-cloud-endpoints-in-general-availability/) - [A tight development loop for developing bots with API.ai, the Google Cloud Functions emulator, Node.js and Ngrok](https://glaforge.dev//posts/2017/02/05/a-tight-development-loop-for-developing-bots-with-apiai-the-google-cloud-functions-emulator-nodejs-and-ngrok/) - [My favorite Cloud Next sessions](https://glaforge.dev//posts/2017/01/20/my-favorite-cloud-next-sessions/) - [Deploy a Ratpack App on Google App Engine Flex](https://glaforge.dev//posts/2017/01/15/deploy-a-ratpack-app-on-google-app-engine-flex/) - [New Features in the Google Cloud Natural Language Api Thanks to Your Feedback](https://glaforge.dev//posts/2017/01/03/new-features-in-the-google-cloud-natural-language-api-thanks-to-your-feedback/) ### 2016 - [A poor-man assistant with speech recognition and natural language processing](https://glaforge.dev//posts/2016/12/16/a-poor-man-assistant-with-speech-recognition-and-natural-language-processing/) - [Machine intelligence at Google scale, vision / speech APIs, Tensorflow, and Cloud Machine Learning](https://glaforge.dev//talks/2016/12/04/machine-intelligence-at-google-scale-vision-speech-api-tensorflow-and-cloud-machine-learning/) - [Analyzing half a million Gradle build files](https://glaforge.dev//posts/2016/12/03/analyzing-half-a-million-gradle-build-files/) - [My G3 Summit Apache Groovy Keynote](https://glaforge.dev//talks/2016/11/29/my-g3-summit-apache-groovy-keynote/) - [Billions of lines of code in a single repository, seriously?](https://glaforge.dev//talks/2016/11/23/billions-of-lines-of-code-in-a-single-repository-seriously/) - [Becoming Twitter verified](https://glaforge.dev//posts/2016/11/15/becoming-twitter-verified/) - [Binge streaming web APIs with Ratpack, Cloud Ednpoints, App Engine Flex and Streamdata.io](https://glaforge.dev//talks/2016/11/15/binge-streaming-web-apis-with-ratpack-cloud-ednpoints-app-engine-flex-and-streamdata-io/) - [Latest features of Google Cloud Platform](https://glaforge.dev//posts/2016/11/13/latest-features-of-google-cloud-platform/) - [Quick intro to Google Cloud Platform for the Paris Ansible meetup](https://glaforge.dev//talks/2016/11/02/quick-intro-to-gcp-for-the-paris-ansible-meetup/) - [Scaling a Swagger-based web API on Google Cloud Endpoints](https://glaforge.dev//talks/2016/10/27/scaling-a-swagger-based-web-api-on-google-cloud-endpoints/) - [Viewing my Groovy source files in Stackdriver's debug view](https://glaforge.dev//posts/2016/10/17/viewing-my-groovy-source-files-in-stackdriver-debug-view/) - [IP filtering access to your VMs on Google Cloud](https://glaforge.dev//posts/2016/10/03/ip-filtering-access-to-your-vms-on-google-cloud/) - [GCloud informative update message](https://glaforge.dev//posts/2016/09/28/gcloud-informative-update-message/) - [JavaOne 2016 sessions](https://glaforge.dev//posts/2016/09/14/javaone-2016-sessions/) - [Natural language API and JavaScript promises to bind them all](https://glaforge.dev//posts/2016/07/28/natural-language-api-and-javascript-promises-to-bind-them-all/) - [Web scraping and REST API calls on App Engine with Jsoup and groovy-wslite](https://glaforge.dev//posts/2016/07/27/web-scraping-and-rest-api-calls-on-app-engine-with-jsoup-and-groovy-wslite/) - [Sentiment analysis on tweets](https://glaforge.dev//posts/2016/07/20/sentiment-analysis-on-tweets/) - [Getting started with Glide and Gaelyk on Google App Engine](https://glaforge.dev//posts/2016/07/11/getting-started-with-glide-and-gaelyk-on-google-app-engine/) - [What can we learn from million lines of Groovy code on Github?](https://glaforge.dev//posts/2016/07/06/what-can-we-learn-from-million-lines-of-groovy-code-on-github/) - [Tale of a Groovy Spark in the Cloud](https://glaforge.dev//posts/2016/06/20/tale-of-a-groovy-spark-in-the-cloud/) - [Joining Google as a Developer Advocate for the Google Cloud Platform](https://glaforge.dev//posts/2016/06/02/joining-google-as-a-developer-advocate-for-the-google-cloud-platform/) - [A Groovy journey in Open Source land (GR8Conf Europe)](https://glaforge.dev//talks/2016/06/02/a-groovy-journey-in-open-source-land-gr8conf-europe/) - [Get in the flow! The API developer workflow!](https://glaforge.dev//talks/2016/05/26/get-in-the-flow-the-api-developer-workflow/) - [A five-sided prism polarizing Web API development](https://glaforge.dev//talks/2016/05/26/a-five-sided-prism-polarizing-web-api-development/) - [A web API for each API consumer?](https://glaforge.dev//posts/2016/05/07/a-web-api-for-each-api-consumer/) - [How far should API definition languages go?](https://glaforge.dev//posts/2016/05/07/how-far-should-api-definition-languages-go/) - [How far should API definition languages go](https://glaforge.dev//posts/2016/04/27/how-far-should-api-definition-languages-go/) - [One API, many facades?](https://glaforge.dev//posts/2016/03/13/one-api-many-facades/) - [Groovy default params to avoid one-argument methods being called without params](https://glaforge.dev//posts/2016/01/08/groovy-default-params-to-avoid-one-argument-methods-being-called-without-params/) ### 2015 - [Groovy Weekly #77](https://glaforge.dev//posts/2015/09/13/groovy-weekly-77/) - [Groovy Weekly #76](https://glaforge.dev//posts/2015/09/01/groovy-weekly-76/) - [Groovy Weekly #75](https://glaforge.dev//posts/2015/08/15/groovy-weekly-75/) - [Groovy Weekly #74](https://glaforge.dev//posts/2015/07/21/groovy-weekly-74/) - [Groovy Weekly #73](https://glaforge.dev//posts/2015/07/08/groovy-weekly-73/) - [Groovy on Android for the Paris Android User Group](https://glaforge.dev//talks/2015/06/24/groovy-on-android-for-the-paris-android-user-group/) - [Groovy in Action, 2nd edition is not a myth!](https://glaforge.dev//posts/2015/06/17/groovy-in-action-2nd-edition-is-not-a-myth/) - [My GR8Conf presentations slides](https://glaforge.dev//talks/2015/06/04/my-gr8conf-presentations-slides/) - [Groovy Weekly #72](https://glaforge.dev//posts/2015/06/02/groovy-weekly-72/) - [Groovy Weekly #71](https://glaforge.dev//posts/2015/05/26/groovy-weekly-71/) - [Groovy Weekly #70](https://glaforge.dev//posts/2015/05/20/groovy-weekly-70/) - [Groovy Weekly #69](https://glaforge.dev//posts/2015/05/12/groovy-weekly-69/) - [Groovy Weekly #68](https://glaforge.dev//posts/2015/04/28/groovy-weekly-68/) - [Groovy Weekly #67](https://glaforge.dev//posts/2015/04/21/groovy-weekly-67/) - [Devoxx 2015 Presentations](https://glaforge.dev//talks/2015/04/17/devoxx-2015-presentations/) - [Groovy Weekly #66](https://glaforge.dev//posts/2015/04/14/groovy-weekly-66/) - [Groovy Weekly #65](https://glaforge.dev//posts/2015/04/07/groovy-weekly-65/) - [Groovy Weekly #64](https://glaforge.dev//posts/2015/03/31/groovy-weekly-64/) - [Groovy Weekly #63](https://glaforge.dev//posts/2015/03/24/groovy-weekly-63/) - [Groovy 2.4.3 out and entering Apache's incubator](https://glaforge.dev//posts/2015/03/23/groovy-2-4-3-out-and-entering-apache-s-incubator/) - [Groovy 2.4.2 and 2.3.11 released](https://glaforge.dev//posts/2015/03/19/groovy-2-4-2-and-2-3-11-released/) - [Groovy Weekly #62](https://glaforge.dev//posts/2015/03/17/groovy-weekly-62/) - [Groovy Weekly #61](https://glaforge.dev//posts/2015/03/10/groovy-weekly-61/) - [Groovy Projects intends to join the Apache Software Foundation](https://glaforge.dev//posts/2015/03/04/groovy-projects-intends-to-join-the-apache-software-foundation/) - [Groovy Weekly #60](https://glaforge.dev//posts/2015/03/03/groovy-weekly-60/) - [Groovy Weekly #59](https://glaforge.dev//posts/2015/02/24/groovy-weekly-59/) - [Joint releases of Groovy 2.4.1 and 2.3.10](https://glaforge.dev//posts/2015/02/18/joint-releases-of-groovy-2-4-1-and-2-3-10/) - [Groovy Weekly #58](https://glaforge.dev//posts/2015/02/17/groovy-weekly-58/) - [Groovy Weekly #57](https://glaforge.dev//posts/2015/02/10/groovy-weekly-57/) - [Groovy Weekly #56](https://glaforge.dev//posts/2015/02/03/groovy-weekly-56/) - [Groovy Weekly #55](https://glaforge.dev//posts/2015/01/27/groovy-weekly-55/) - [Groovy 2.4 released](https://glaforge.dev//posts/2015/01/21/groovy-2-4-released/) - [Groovy Weekly #54](https://glaforge.dev//posts/2015/01/20/groovy-weekly-54/) - [The Groovy project is looking for a new home](https://glaforge.dev//posts/2015/01/19/the-groovy-project-is-looking-for-a-new-home/) - [Groovy Weekly #53](https://glaforge.dev//posts/2015/01/13/groovy-weekly-53/) - [Groovy Weekly #52](https://glaforge.dev//posts/2015/01/06/groovy-weekly-52/) ### 2014 - [Groovy Weekly #51](https://glaforge.dev//posts/2014/12/30/groovy-weekly-51/) - [Groovy Weekly #50](https://glaforge.dev//posts/2014/12/24/groovy-weekly-50/) - [First release candidate of Groovy 2.4](https://glaforge.dev//posts/2014/12/24/first-release-candidate-of-groovy-2-4/) - [Groovy Weekly #49](https://glaforge.dev//posts/2014/12/16/groovy-weekly-49/) - [Groovy Weekly #48](https://glaforge.dev//posts/2014/12/09/groovy-weekly-48/) - [Groovy Weekly #47](https://glaforge.dev//posts/2014/12/02/groovy-weekly-47/) - [Groovy 2.3.8 released too](https://glaforge.dev//posts/2014/11/28/groovy-2-3-8-released-too/) - [Groovy 2.4.0-beta-4](https://glaforge.dev//posts/2014/11/26/groovy-2-4-0-beta-4/) - [Groovy Weekly #46](https://glaforge.dev//posts/2014/11/25/groovy-weekly-46/) - [Groovy Weekly #45](https://glaforge.dev//posts/2014/11/18/groovy-weekly-45/) - [Groovy Weekly #44](https://glaforge.dev//posts/2014/11/11/groovy-weekly-44/) - [Groovy Weekly #43](https://glaforge.dev//posts/2014/11/04/groovy-weekly-43/) - [Groovy Weekly #42](https://glaforge.dev//posts/2014/10/28/groovy-weekly-42/) - [Groovy Weekly #41](https://glaforge.dev//posts/2014/10/21/groovy-weekly-41/) - [Groovy Weekly #40](https://glaforge.dev//posts/2014/10/14/groovy-weekly-40/) - [Groovy Weekly #39](https://glaforge.dev//posts/2014/10/07/groovy-weekly-39/) - [Groovy on Android at DroidCon Paris 2014](https://glaforge.dev//talks/2014/10/07/groovy-on-android-at-droidcon-paris-2014/) - [Back from JavaOne](https://glaforge.dev//talks/2014/10/07/back-from-javaone/) - [Groovy Weekly #38](https://glaforge.dev//posts/2014/09/29/groovy-weekly-38/) - [Groovy Weekly #37](https://glaforge.dev//posts/2014/09/23/groovy-weekly-37/) - [Groovy Weekly #36](https://glaforge.dev//posts/2014/09/16/groovy-weekly-36/) - [Groovy Weekly #35](https://glaforge.dev//posts/2014/09/09/groovy-weekly-34/) - [Beta 3 for Groovy 2.4](https://glaforge.dev//posts/2014/09/02/beta-3-for-groovy-2-4/) - [Groovy Weekly #34 back from vacations!](https://glaforge.dev//posts/2014/09/02/groovy-weekly-34-back-from-vacations/) - [Disable @Grab with a global AST transformation](https://glaforge.dev//posts/2014/08/07/disable-grab-with-a-global-ast-transformation/) - [Groovy Weekly #33](https://glaforge.dev//posts/2014/08/05/groovy-weekly-33/) - [Groovy receives Geek Choice Award](https://glaforge.dev//posts/2014/08/01/groovy-receives-geek-choice-award/) - [Groovy Weekly #32](https://glaforge.dev//posts/2014/07/30/groovy-weekly-32/) - [Groovy 2.3.5 out with upward compatibility](https://glaforge.dev//posts/2014/07/25/groovy-2-3-5-out-with-upward-compatibility/) - [Groovy Weekly #31](https://glaforge.dev//posts/2014/07/22/groovy-weekly-31/) - [Groovy Weekly #30](https://glaforge.dev//posts/2014/07/15/groovy-weekly-30/) - [Feedback and actions for the new Groovy website](https://glaforge.dev//posts/2014/07/13/feedback-and-actions-for-the-new-groovy-website/) - [Groovy Weekly #29](https://glaforge.dev//posts/2014/07/08/groovy-weekly-29/) - [Groovy 2.3.4 is out](https://glaforge.dev//posts/2014/07/08/groovy-2-3-4-is-out/) - [A new Groovy website in beta](https://glaforge.dev//posts/2014/07/08/a-new-groovy-website-in-beta/) - [Groovy Weekly #28](https://glaforge.dev//posts/2014/07/01/groovy-weekly-28/) - [Groovy Weekly #27](https://glaforge.dev//posts/2014/06/24/groovy-weekly-27/) - [Groovy related talks at JavaOne 2014](https://glaforge.dev//posts/2014/06/20/groovy-related-talks-at-javaone-2014/) - [Groovy Weekly #26](https://glaforge.dev//posts/2014/06/17/groovy-weekly-26/) - [Groovy 2.3.3 and Groovy 2.4-beta-1 with Android support](https://glaforge.dev//posts/2014/06/11/groovy-2-3-3-and-groovy-2-4-beta-1-with-android-support/) - [Groovy Weekly #25](https://glaforge.dev//posts/2014/06/11/groovy-weekly-25/) - [Latest Groovy 2.3 coverage presented at GR8Conf Europe](https://glaforge.dev//talks/2014/06/04/latest-groovy-2-3-coverage-presented-at-gr8conf-europe/) - [Groovy Weekly #24](https://glaforge.dev//posts/2014/06/03/groovy-weekly-24/) - [Apple's Swift programming language inspired by Groovy](https://glaforge.dev//posts/2014/06/02/apple-s-swift-programming-language-inspired-by-groovy/) - [Groovy 2.3.2 released](https://glaforge.dev//posts/2014/05/28/groovy-2-3-2-released/) - [Groovy Weekly #23](https://glaforge.dev//posts/2014/05/27/groovy-weekly-23/) - [Groovy Weekly #22](https://glaforge.dev//posts/2014/05/20/groovy-weekly-22/) - [Groovy 2.3.1 is out](https://glaforge.dev//posts/2014/05/19/groovy-2-3-1-is-out/) - [Groovy presentations at JAX](https://glaforge.dev//talks/2014/05/16/groovy-presentations-at-jax/) - [Groovy Weekly #21](https://glaforge.dev//posts/2014/05/13/groovy-weekly-21/) - [Groovy Weekly #20](https://glaforge.dev//posts/2014/05/06/groovy-weekly-20/) - [Groovy 2.3.0 is out!](https://glaforge.dev//posts/2014/05/05/groovy-2-3-0-is-out/) - [Groovy 2.3.0 RC 4 is out](https://glaforge.dev//posts/2014/05/01/groovy-2-3-0-rc-4-is-out/) - [Machine Learning à Mix-IT 2014](https://glaforge.dev//talks/2014/04/30/machine-learning-a-mix-it-2014/) - [Groovy Weekly #19](https://glaforge.dev//posts/2014/04/29/groovy-weekly-19/) - [Second release candidate of Groovy 2.3](https://glaforge.dev//posts/2014/04/28/second-release-candidate-of-groovy-2-3/) - [Release candidate for Groovy 2.3](https://glaforge.dev//posts/2014/04/24/release-candidate-for-groovy-2-3/) - [Groovy Weekly #18](https://glaforge.dev//posts/2014/04/22/groovy-weekly-18/) - [Groovy Weekly #17](https://glaforge.dev//posts/2014/04/15/groovy-weekly-17/) - [Second beta for Groovy 2.3](https://glaforge.dev//posts/2014/04/10/second-beta-for-groovy-2-3/) - [Groovy Weekly #16](https://glaforge.dev//posts/2014/04/08/groovy-weekly-16/) - [A beta release for Groovy 2.3](https://glaforge.dev//posts/2014/04/04/a-beta-release-for-groovy-2-3/) - [Groovy Weekly #15](https://glaforge.dev//posts/2014/04/01/groovy-weekly-15/) - [Groovy Weekly #14](https://glaforge.dev//posts/2014/03/25/groovy-weekly-14/) - [Groovy Weekly #13](https://glaforge.dev//posts/2014/03/18/groovy-weekly-13/) - [Groovy Weekly #12](https://glaforge.dev//posts/2014/03/11/groovy-weekly-12/) - [Groovy Weekly #11](https://glaforge.dev//posts/2014/03/04/groovy-weekly-11/) - [Groovy Weekly #10](https://glaforge.dev//posts/2014/02/25/groovy-weekly-10/) - [Groovy Weekly #9](https://glaforge.dev//posts/2014/02/18/groovy-weekly-9/) - [Groovy Weekly #8](https://glaforge.dev//posts/2014/02/11/groovy-weekly-8/) - [Benefit from Groovy now: when, how, why](https://glaforge.dev//talks/2014/02/11/benefit-from-groovy-now-when-how-why/) - [Groovy Weekly #7](https://glaforge.dev//posts/2014/02/04/groovy-weekly-7/) - [Groovy Weekly #6](https://glaforge.dev//posts/2014/01/28/groovy-weekly-6/) - [Groovy crosses the 3 million downloads a year mark](https://glaforge.dev//posts/2014/01/21/groovy-crosses-the-3-million-downloads-a-year-mark/) - [Groovy Weekly #5](https://glaforge.dev//posts/2014/01/21/groovy-weekly-5/) - [Groovy Weekly #4](https://glaforge.dev//posts/2014/01/14/groovy-weekly-4/) - [Groovy Weekly #3](https://glaforge.dev//posts/2014/01/07/groovy-weekly-3/) ### 2013 - [Groovy Weekly #2](https://glaforge.dev//posts/2013/12/31/groovy-weekly-2/) - [Groovy Weekly #1](https://glaforge.dev//posts/2013/12/24/groovy-weekly-1/) - [Groovy 2.2 released](https://glaforge.dev//posts/2013/11/18/groovy-2-2-released/) - [Interview on JAXenter about Groovy](https://glaforge.dev//posts/2013/11/05/interview-on-jaxenter-about-groovy/) - [Groovy presentations at conferences](https://glaforge.dev//talks/2013/11/04/groovy-presentations-at-conferences/) - [Functional Groovy presentation](https://glaforge.dev//talks/2013/10/27/functional-groovy-presentation/) - [Interview about Groovy's popularity boost](https://glaforge.dev//posts/2013/10/15/interview-about-groovy-s-popularity-boost/) - [Release candidate for Groovy 2.2](https://glaforge.dev//posts/2013/10/15/release-candidate-for-groovy-2-2/) - [Groovy enters top 20 of the TIOBE language index](https://glaforge.dev//posts/2013/10/11/groovy-enters-top-20-of-the-tiobe-language-index/) - [Second beta for Groovy 2.2](https://glaforge.dev//posts/2013/09/06/second-beta-for-groovy-2-2/) - [GPars 1.1 is out](https://glaforge.dev//posts/2013/07/25/gpars-1-1-is-out/) - [Glace à la menthe maison](https://glaforge.dev//posts/2013/07/15/glace-a-la-menthe-maison/) - [Groovy on instantserver.io thanks to GVM](https://glaforge.dev//posts/2013/06/18/groovy-on-instantserver-io-thanks-to-gvm/) - [Which JDK versions do you use?](https://glaforge.dev//posts/2013/05/31/which-jdk-versions-do-you-use/) - [My GR8Conf presentation on Groovy](https://glaforge.dev//talks/2013/05/31/my-gr8conf-presentation-on-groovy/) - [Gaelyk 2.0 is released](https://glaforge.dev//posts/2013/05/16/gaelyk-2-0-is-released/) - [Creating a new project with Gradle](https://glaforge.dev//posts/2013/04/17/creating-a-new-project-with-gradle/) - [Contribute a dedicated CI server for Groovy](https://glaforge.dev//posts/2013/04/16/contribute-a-dedicated-ci-server-for-groovy/) - [Joins us for GR8Conf Europe! Early bird price ending soon.](https://glaforge.dev//posts/2013/04/03/joins-us-for-gr8conf-europe-early-bird-ending-soon/) - [Groovy 2.1 is released](https://glaforge.dev//posts/2013/01/25/groovy-2-1-is-released/) - [Brownie dans un mug](https://glaforge.dev//posts/2013/01/22/brownie-dans-un-mug/) ### 2012 - [First beta of Groovy 2.1 released](https://glaforge.dev//posts/2012/12/21/first-beta-of-groovy-2-1-released/) - [Groovy 2.0 and beyond at Groovy Grails eXchange](https://glaforge.dev//talks/2012/12/19/groovy-2-0-and-beyond-at-groovy-grails-exchange/) - [GPars reaches 1.0!](https://glaforge.dev//posts/2012/12/19/gpars-reaches-1-0/) - [InfoQ's readers JVM languages research](https://glaforge.dev//posts/2012/11/28/infoq-s-readers-jvm-languages-research/) - [SpringOne2GX Groovy presentations aftermath](https://glaforge.dev//talks/2012/10/22/springone2gx-groovy-presentations-aftermath/) - [Groovy 2.0 online webinar](https://glaforge.dev//posts/2012/10/22/groovy-2-0-online-webinar/) - [Groovy sessions at JavaOne 2012](https://glaforge.dev//posts/2012/09/29/groovy-sessions-at-javaone-2012/) - [Groovy 2.0.4 is out](https://glaforge.dev//posts/2012/09/21/groovy-2-0-4-is-out/) - [Groovy 2.0.2 and 1.8.8](https://glaforge.dev//posts/2012/09/10/groovy-2-0-2-and-1-8-8/) - [Also back to vi... MacVim actually](https://glaforge.dev//posts/2012/08/09/also-back-to-vi-macvim-actually/) - [Three joint releases of Groovy!](https://glaforge.dev//posts/2012/07/25/three-joint-releases-of-groovy/) - [Algorithms for collaborative editing](https://glaforge.dev//posts/2012/07/09/algorithms-for-collaborative-editing/) - [Minor new features of Groovy 2.0](https://glaforge.dev//posts/2012/07/04/minor-new-features-of-groovy-2-0/) - [Building your Groovy 2.0 projects with Maven](https://glaforge.dev//posts/2012/07/04/building-your-groovy-2-0-projects-with-maven/) - [Groovy 2.0 support in Eclipse](https://glaforge.dev//posts/2012/07/04/groovy-2-0-support-in-eclipse/) - [What's new in Groovy 2.0](https://glaforge.dev//posts/2012/06/28/whats-new-in-groovy-20/) - [Groovy 2.0 released!](https://glaforge.dev//posts/2012/06/28/groovy-2-0-released/) - [A bit of functional tests and concurrency for Gaelyk](https://glaforge.dev//posts/2012/06/01/a-bit-of-functional-tests-and-concurrency-for-gaelyk/) - [Release candidate of Groovy 2.0 available](https://glaforge.dev//posts/2012/05/31/release-candidate-of-groovy-2-0-available/) - [Gaelyk 1.2 is out!](https://glaforge.dev//posts/2012/05/30/gaelyk-1-2-is-out/) - [Why coming to #GR8Conf?](https://glaforge.dev//posts/2012/05/10/why-coming-to-gr8conf/) - [Vert.x 1.0 released with its Groovy support](https://glaforge.dev//posts/2012/05/10/vert-x-1-0-released-with-its-groovy-support/) - [Slides for Domain-Specific Languages in Groovy](https://glaforge.dev//talks/2012/05/03/slides-for-domain-specific-languages-in-groovy/) - [Groovy at Devoxx France](https://glaforge.dev//talks/2012/04/23/groovy-at-devoxx-france/) - [Run a Groovy script in Vi](https://glaforge.dev//posts/2012/04/23/run-a-groovy-script-in-vi/) - [Come to GR8Conf for half the price!](https://glaforge.dev//posts/2012/04/13/come-to-gr8conf-for-half-the-price/) - [bash tip: find and grep through files](https://glaforge.dev//posts/2012/03/29/bash-tip-find-and-grep-through-files/) - [Incomplete string regex matching](https://glaforge.dev//posts/2012/03/27/incomplete-string-regex-matching/) - [Groovy 2.0 presentation at 33rd Degree](https://glaforge.dev//talks/2012/03/21/groovy-2-0-presentation-at-33rd-degree/) - [Speaking of Groovy 2.0 at 33rd Degree, in Poland](https://glaforge.dev//posts/2012/03/18/speaking-of-groovy-2-0-at-33rd-degree-in-poland/) - [Mac trick: change Time Machine backup interval](https://glaforge.dev//posts/2012/03/14/mac-trick-change-time-machine-backup-interval/) - [Groovy news bits: API additions, contributing to the project, Eclipse plugin](https://glaforge.dev//posts/2012/03/05/groovy-news-bits-api-additions-contributing-to-the-project-eclipse-plugin/) - [Don't forget the GR8Conf Call for Papers](https://glaforge.dev//posts/2012/02/09/don-t-forget-the-gr8conf-call-for-papers/) - [Groovy 1.8.6 released](https://glaforge.dev//posts/2012/02/09/groovy-1-8-6-released/) - [Static type checking and compilation in Groovy 2](https://glaforge.dev//posts/2012/01/31/static-type-checking-and-compilation-in-groovy-2/) - [GR8Conf Europe Call for Paper open](https://glaforge.dev//posts/2012/01/12/gr8conf-europe-call-for-paper-open/) - [Mon One Man Show au Paris JUG](https://glaforge.dev//posts/2012/01/12/mon-one-man-show-au-paris-jug/) - [Hans Dockter interview on Gradle](https://glaforge.dev//posts/2012/01/10/hans-dokter-interview-on-gradle/) - [Tweets sympas sur Free Mobile](https://glaforge.dev//posts/2012/01/10/tweets-sympas-sur-free-mobile/) ### 2011 - [Groovy 1.8.5 and second beta of 2.0 out](https://glaforge.dev//posts/2011/12/23/groovy-1-8-5-and-second-beta-of-2-0-out/) - [Caelyf 0.1, a lightweight Groovy toolkit for Cloud Foundry](https://glaforge.dev//posts/2011/12/23/caelyf-0-1-a-lightweight-groovy-toolkit-for-cloud-foundry/) - [Videos and slides of Groovy / Grails eXchange 2011](https://glaforge.dev//posts/2011/12/17/videos-and-slides-of-groovy-grails-exchange-2011/) - [InfoQ interview: Latest Happenings and Future of Groovy](https://glaforge.dev//posts/2011/11/30/infoq-interview-latest-happenings-and-future-of-groovy/) - [Handy Gradle startup script](https://glaforge.dev//posts/2011/11/25/handy-gradle-startup-script/) - [Coming back to the new Google App Engine pricing policy](https://glaforge.dev//posts/2011/11/25/coming-back-to-the-new-google-app-engine-pricing-policy/) - [Gaelyk 1.1 released](https://glaforge.dev//posts/2011/11/16/gaelyk-1-1-released/) - [Latest Groovy releases and roadmap updates](https://glaforge.dev//posts/2011/11/11/latest-groovy-releases-and-roadmap-update/) - [Présentation sur PrettyTime et GPars au Paris JUG](https://glaforge.dev//talks/2011/11/09/presentation-sur-prettytime-et-gpars-au-paris-jug/) - [A Groovy page on Google+](https://glaforge.dev//posts/2011/11/09/a-groovy-page-on-google/) - [Gaelyk presentation at SpringOne2GX](https://glaforge.dev//talks/2011/11/02/gaelyk-presentation-at-springone2gx/) - [What's new in Groovy 1.8 and beyond?](https://glaforge.dev//talks/2011/11/01/what-s-new-in-groovy-1-8-and-beyond/) - [Groovy Domain-Specific Languages in Chicago](https://glaforge.dev//talks/2011/10/31/groovy-domain-specific-languages-in-chicago/) - [SpringOne2GX, Chicago, this week](https://glaforge.dev//posts/2011/10/24/springone2gx-chicago-this-week/) - [Groovy 1.8.3 and 1.9-beta-4 released](https://glaforge.dev//posts/2011/10/12/groovy-1-8-3-and-1-9-beta-4-released/) - [Google announces Dart, new language for the web](https://glaforge.dev//posts/2011/10/10/google-announces-dart-new-language-for-the-web/) - [GR8Conf is coming to Australia](https://glaforge.dev//posts/2011/10/04/gr8conf-is-coming-to-australia/) - [Groovy AST transformations tutorials](https://glaforge.dev//posts/2011/10/02/groovy-ast-transformations-tutorials/) - [Lots of Gradle news and activity](https://glaforge.dev//posts/2011/09/29/lots-of-gradle-news-and-activity/) - [Groovy on GitHub](https://glaforge.dev//posts/2011/09/19/groovy-on-github/) - [Playing with the Google+ APIs in Groovy](https://glaforge.dev//posts/2011/09/15/playing-with-the-google-apis/) - [Groovy, fastest growing language according to eWeek](https://glaforge.dev//posts/2011/09/13/groovy-fastest-growing-language-according-to-eweek/) - [The many ways to lace your shoes](https://glaforge.dev//posts/2011/09/07/the-many-ways-to-lace-your-shoes/) - [A new skin for the Groovy website](https://glaforge.dev//posts/2011/09/07/a-new-skin-for-the-groovy-website/) - [Groovy 1.8.2 and 1.9-beta-3 are in the wild](https://glaforge.dev//posts/2011/09/05/groovy-1-8-2-and-1-9-beta-3-are-in-the-wild/) - [Google App Engine's new pricing model](https://glaforge.dev//posts/2011/09/01/google-app-engine-s-new-pricing-model/) - [CamelCaseCon Groovy conference in Germany](https://glaforge.dev//posts/2011/08/31/camelcasecon-groovy-conference-in-germany/) - [On CloudFoundry micro-cloud](https://glaforge.dev//posts/2011/08/31/on-cloudfoundry-micro-cloud/) - [Already 8 years of Groovy!](https://glaforge.dev//posts/2011/08/29/already-8-years-of-groovy/) - [Gaelyk 1.0 is out](https://glaforge.dev//posts/2011/08/08/gaelyk-1-0-is-out/) - [Blog.reboot()](https://glaforge.dev//posts/2011/07/26/blog-reboot/) - [Groovy 1.8-final is out the door!](https://glaforge.dev//posts/2011/04/27/groovy-1-8-final-is-out-the-door/) - [GR8Conf Europe 2011 - a conference dedicated to the Groovy Ecosystem](https://glaforge.dev//posts/2011/03/31/gr8conf-europe-2011-a-conference-dedicated-to-the-groovy-ecosystem/) - [New important milestone for Gaelyk, with version 0.6 released](https://glaforge.dev//posts/2011/01/08/new-important-milestone-for-gaelyk-with-version-0-6-released/) ### 2010 - [Gaelyk 0.4.4 out with namespace/multitenancy support](https://glaforge.dev//posts/2010/09/10/gaelyk-0-4-4-out-with-namespace-multitenancy-support/) - [Nicer DSLs in Groovy 1.8 thanks to Extended Command Expressions](https://glaforge.dev//posts/2010/08/31/nicer-dsls-in-groovy-1-8-thanks-to-extended-command-expressions/) - [GR8Conf: the European conference dedicated to the Groovy ecosystem is back!](https://glaforge.dev//posts/2010/04/12/gr8conf-the-european-conference-dedicated-to-the-groovy-ecosystem-is-back/) ### 2009 - [Final release of Groovy 1.7!](https://glaforge.dev//posts/2009/12/22/final-release-of-groovy-1-7/) - [Release train: Grails 1.1.2, Groovy 1.6.6 and 1.7-RC-1, as well as Gaelyk 0.3.2](https://glaforge.dev//posts/2009/11/28/release-train-grails-1-1-2-groovy-1-6-6-and-1-7-rc-1-as-well-as-gaelyk-0-3-2/) - [Devoxx presentation on Google App Engine, Groovy and Gaelyk](https://glaforge.dev//talks/2009/11/20/devoxx-presentation-on-google-app-engine-groovy-and-gaelyk/) - [Gaelyk 0.3 released -- a lightweight Groovy toolkit for Google App Engine](https://glaforge.dev//posts/2009/11/08/gaelyk-0-3-released-a-lightweight-groovy-toolkit-for-google-app-engine/) - [Gaelyk 0.2 released -- a lightweight toolkit for Google App Engine](https://glaforge.dev//posts/2009/09/15/gaelyk-0-2-released-a-lightweight-toolkit-for-google-app-engine/) - [Griffon, the holy grail of Swing, is one year old](https://glaforge.dev//posts/2009/09/10/griffon-the-holy-grail-of-swing-is-one-year-old/) - [Le podcast des Cast Codeurs est sorti !](https://glaforge.dev//posts/2009/04/14/le-podcast-des-cast-codeurs-est-sorti/) - [Write Groovy applications on Google App Engine!](https://glaforge.dev//posts/2009/04/08/write-groovy-applications-on-google-app-engine/) - [Announcing the GR8 Conference: a conference dedicated to Groovy, Grails and Griffon](https://glaforge.dev//posts/2009/03/04/announcing-the-gr8-conference-a-conference-dedicated-to-groovy-grails-and-griffon/) - [What's new in Groovy 1.6](https://glaforge.dev//posts/2009/02/27/whats-new-in-groovy-16/) - [Lots of Groovy related news!](https://glaforge.dev//posts/2009/02/27/lots-of-groovy-related-news/) - [The final version of Groovy 1.6 is there](https://glaforge.dev//posts/2009/02/18/the-final-version-of-groovy-1-6-is-there/) - [Groovy 1.6-RC-2 is out! Final version fast approaching!](https://glaforge.dev//posts/2009/01/22/groovy-1-6-rc-2-is-out-final-version-fast-approaching/) ### 2008 - [The Groovy 1.6 release candidate is out!](https://glaforge.dev//posts/2008/12/22/the-groovy-1-6-release-candidate-is-out/) - [SpringSource acquires G2One](https://glaforge.dev//posts/2008/11/11/springsource-acquires-g2one/) - [Sun abandons Swing!](https://glaforge.dev//posts/2008/11/06/sun-abandons-swing/) - [GroovyMag, the Groovy / Grails magazine is out!](https://glaforge.dev//posts/2008/11/04/groovymag-the-groovy-grails-magazine-is-out/) - [Both Groovy 1.5.7 and 1.6-beta-2 are out!](https://glaforge.dev//posts/2008/10/09/both-groovy-1-5-7-and-1-6-beta-2-are-out/) - [Listing the properties of a class in order](https://glaforge.dev//posts/2008/10/08/listing-the-properties-of-a-class-in-order/) - [Groovy in Action book now in Japanese!](https://glaforge.dev//posts/2008/09/21/groovy-in-action-book-now-in-japanese/) - [JavaZone: Writing Groovy DSLs presentation online](https://glaforge.dev//talks/2008/09/17/javazone-writing-groovy-dsls-presentation-online/) - [Griffon shows its claws: Grails-like rich Swing client framework released](https://glaforge.dev//posts/2008/09/11/griffon-shows-its-claws-grails-like-rich-swing-client-framework-released/) - [Groovy and Grails at the Paris JUG tomorrow night](https://glaforge.dev//posts/2008/09/08/groovy-and-grails-at-the-paris-jug-tomorrow-night/) - [Knowing which variables are bound or not in a Groovy script](https://glaforge.dev//posts/2008/08/28/knowing-which-variables-are-bound-or-not-in-a-groovy-script/) - [Meeting Neil Armstrong and speaking of Groovy and Grails](https://glaforge.dev//posts/2008/07/15/meeting-neil-armstrong-and-speaking-of-groovy-and-grails/) - [Groovy and Grails trainings by G2One in North American](https://glaforge.dev//posts/2008/07/15/groovy-and-grails-trainings-by-g2one-in-north-american/) - [The IT conference you can't miss if you're in Paris!](https://glaforge.dev//posts/2008/06/24/the-it-conference-you-can-t-miss-if-you-re-in-paris/) - [Groovy 1.6-beta-1 release with great performance improvements](https://glaforge.dev//posts/2008/05/03/groovy-1-6-beta-1-release-with-great-performance-improvements/) - [Groovy / Grails meetup, next Monday evening, in San Francisco](https://glaforge.dev//posts/2008/05/01/groovy-grails-meetup-next-monday-evening-in-san-francisco/) - [Grails, nominated for JAX innovation award](https://glaforge.dev//posts/2008/04/21/grails-nominated-for-jax-innovation-award/) - [Groovy 1.5.5 released: compiler 3-5x faster](https://glaforge.dev//posts/2008/04/14/groovy-1-5-5-released-compiler-3-5x-faster/) - [Groovy / Grails support in NetBeans and GlassFish](https://glaforge.dev//posts/2008/03/23/groovy-grails-support-in-netbeans-and-glassfish/) - [JSON.Net, the Groovy way](https://glaforge.dev//posts/2008/03/23/json-net-the-groovy-way/) - [A Domain-Specific Language for unit manipulations](https://glaforge.dev//posts/2008/03/01/a-domain-specific-language-for-unit-manipulations/) - [JavaPolis interview with Guillaume Laforge, Groovy project lead](https://glaforge.dev//posts/2008/03/01/javapolis-interview-with-guillaume-laforge-groovy-project-lead/) - [Learn all about Groovy and Grails at the 2GX conference, Reston, VA](https://glaforge.dev//posts/2008/02/12/learn-all-about-groovy-and-grails-at-the-2gx-conference-reston-va/) - [A Groovy kind of love](https://glaforge.dev//posts/2008/02/11/a-groovy-kind-of-love/) - [The Groovy Zone, community news site for the Groovy and Grails developers](https://glaforge.dev//posts/2008/01/28/the-groovy-zone-community-news-site-for-the-groovy-and-grails-developers/) - [MarkMail archives the Groovy mailing-lists and shows their success](https://glaforge.dev//posts/2008/01/23/markmail-archives-the-groovy-mailing-lists-and-shows-their-success/) - [Groovy not Enterprise-ready, you're kidding?](https://glaforge.dev//posts/2008/01/19/groovy-not-enterprise-ready-you-re-kidding/) ### 2007 - [What's new in Groovy 1.5](https://glaforge.dev//posts/2007/12/09/whats-new-in-groovy-15/) - [InfoQ: What's new in Groovy 1.5?](https://glaforge.dev//posts/2007/12/09/infoq-what-s-new-in-groovy-1-5/) - [Groovy 1.5 released](https://glaforge.dev//posts/2007/12/07/groovy-1-5-released/) - [G2One: a Groovy and Grails company](https://glaforge.dev//posts/2007/10/10/g2one-a-groovy-and-grails-company/) - [Groovy 1.1-beta-3 released, RC-1 and 1.1-final around the corner](https://glaforge.dev//posts/2007/09/20/groovy-1-1-beta-3-released-rc-1-and-1-1-final-around-the-corner/) - [Groovy 1.1-beta-2 with contributions from JetBrains and JBoss](https://glaforge.dev//posts/2007/07/05/groovy-1-1-beta-2-with-contributions-from-jetbrains-and-jboss/) - [QOTD: Eclipse is the PC of IDEs when IntelliJ IDEA is the Mac](https://glaforge.dev//posts/2007/06/22/qotd-eclipse-is-the-pc-of-ides-when-intellij-idea-is-the-mac/) - [G2One, the Groovy and Grails meetup at JavaOne](https://glaforge.dev//posts/2007/05/01/g2one-the-groovy-and-grails-meetup-at-javaone/) - [Groovy 1.1-beta-1 with annotation support](https://glaforge.dev//posts/2007/04/30/groovy-1-1-beta-1-with-annotation-support/) - [Groovy.Net, annotations, mocks, applet, and so on](https://glaforge.dev//posts/2007/04/29/groovy-net-annotations-mocks-applet-and-so-on/) - [Groovy awarded JAX innovation first prize!](https://glaforge.dev//posts/2007/04/26/groovy-awarded-jax-innovation-first-prize/) - [Guicy: a Groovy Guice?](https://glaforge.dev//posts/2007/03/26/guicy-a-groovy-guice/) - [Groovy and Grails news, conferences and IDE support](https://glaforge.dev//posts/2007/03/12/groovy-and-grails-news-conferences-and-ide-support/) - [New version of the Groovy Eclipse Plugin](https://glaforge.dev//posts/2007/01/12/new-version-of-the-groovy-eclipse-plugin/) - [Groovy 1.0 is there!](https://glaforge.dev//posts/2007/01/02/groovy-1-0-is-there/) ### 2006 - [Groovy development funding](https://glaforge.dev//posts/2006/12/21/groovy-development-funding/) - [Groovy and Grails community site launching...](https://glaforge.dev//posts/2006/12/06/groovy-and-grails-community-site-launching/) - [InfoQ covers the release of RC-1 and interviews me](https://glaforge.dev//posts/2006/12/05/infoq-covers-the-release-of-rc-1-and-interviews-me/) - [We've just released Groovy RC-1!](https://glaforge.dev//posts/2006/12/04/we-ve-just-released-groovy-rc-1/) - [From named-parameters to Domain-Specific Languages](https://glaforge.dev//posts/2006/08/13/from-named-parameters-to-domain-specific-languages/) - [Tip: View unread mails in Gmail](https://glaforge.dev//posts/2006/07/17/tip-view-unread-mails-in-gmail/) - [Java's and Groovy's King at Versailles](https://glaforge.dev//posts/2006/07/16/java-s-and-groovy-s-king-at-versailles/) - [Groovy in Action, Manning](https://glaforge.dev//posts/2006/07/16/groovy-in-action-manning/) - [Groovy, Grails, JSR-223, books, conferences and so on...](https://glaforge.dev//posts/2006/07/15/groovy-grails-jsr-223-books-conferences-and-so-on/) - [JavaDay 2006, Groovy spec lead, and wedding](https://glaforge.dev//posts/2006/06/26/javaday-2006-groovy-spec-lead-and-wedding/) - [InfoQ: a community news site for the architects](https://glaforge.dev//posts/2006/05/25/infoq-a-community-news-site-for-the-architects/) - [Builders in dynamic languages](https://glaforge.dev//posts/2006/04/18/builders-in-dynamic-languages/) - [Groovy interview on IndicThreads](https://glaforge.dev//posts/2006/04/06/groovy-interview-on-indicthreads/) - [Scripting at JavaOne 2006](https://glaforge.dev//posts/2006/03/20/scripting-at-javaone-2006/) ### 2005 - [Google Summer of Code 2005 TShirt](https://glaforge.dev//posts/2005/12/27/google-summer-of-code-2005-tshirt/) - [Debugging XML parser issues](https://glaforge.dev//posts/2005/12/04/debugging-xml-parser-issues/) - [AntBuilder: Imitation is the Best Form of Flattery](https://glaforge.dev//posts/2005/12/03/antbuilder-imitation-is-the-best-form-of-flattery/) - [Big thanks for the second Groovy meeting](https://glaforge.dev//posts/2005/12/01/big-thanks-for-the-second-groovy-meeting/) - [Four years to fix a trivial bug...](https://glaforge.dev//posts/2005/11/26/four-years-to-fix-a-trivial-bug/) - [Re: Ted Neward on anonymous generic methods](https://glaforge.dev//posts/2005/11/09/re-ted-neward-on-anonymous-generic-methods/) - [Google Base, Ning, or how to store your life](https://glaforge.dev//posts/2005/10/26/google-base-ning-or-how-to-store-your-life/) - [JBoss' Wiki portlet, why not XWiki?](https://glaforge.dev//posts/2005/09/10/jboss-wiki-portlet-why-not-xwiki/) - [Web services RPC calls over Google Talk](https://glaforge.dev//posts/2005/09/08/web-services-rpc-calls-over-google-talk/) - [Talking about Google Talk...](https://glaforge.dev//posts/2005/08/24/talking-about-google-talk/) - [Spring in French: c'est le printemps !](https://glaforge.dev//posts/2005/08/23/spring-in-french-c-est-le-printemps/) - [The Guru of Groovy shares his Thoughts](https://glaforge.dev//posts/2005/08/11/the-guru-of-groovy-shares-his-thoughts/) - [Wifi Rabbit for Continuous Integration](https://glaforge.dev//posts/2005/07/24/wifi-rabbit-for-continuous-integration/) - [Aquarelle de Versailles](https://glaforge.dev//posts/2005/07/03/aquarelle-de-versailles/) - [Initial release of the GroovyJ IntelliJ plugin!](https://glaforge.dev//posts/2005/07/01/initial-release-of-the-groovyj-intellij-plugin/) - [JavaOne: Groovy reactions!](https://glaforge.dev//posts/2005/06/30/javaone-groovy-reactions/) - [Maven Developer's Notebook](https://glaforge.dev//posts/2005/06/29/maven-developer-s-notebook/) - [Groovy development: aiming for quality](https://glaforge.dev//posts/2005/06/19/groovy-development-aiming-for-quality/) - [Lucene's fun](https://glaforge.dev//posts/2005/05/02/lucene-s-fun/) - [Maven scripting in Groovy](https://glaforge.dev//posts/2005/05/01/maven-scripting-in-groovy/) - [How to remove accents from a String](https://glaforge.dev//posts/2005/04/27/how-to-remove-accents-from-a-string/) - [Maven tip: using Ant's optional FTP task](https://glaforge.dev//posts/2005/04/26/maven-tip-using-ant-s-optional-ftp-task/) - [Finding styled paragraphs in a Word document](https://glaforge.dev//posts/2005/04/24/finding-styled-paragraphs-in-a-word-document/) - [Castor tip: generating Java classes for XSD simple types](https://glaforge.dev//posts/2005/04/24/castor-tip-generating-java-classes-for-xsd-simple-types/) - [RIFE rocks the pants off of Rails](https://glaforge.dev//posts/2005/03/18/rife-rocks-the-pants-off-of-rails/) - [Re: How Groovy can get her groove back](https://glaforge.dev//posts/2005/01/31/re-how-groovy-can-get-her-groove-back/) - [Groovy's dead, long live Groovy!](https://glaforge.dev//posts/2005/01/31/groovy-s-dead-long-live-groovy/) - [Groovy code-completion in IntelliJ](https://glaforge.dev//posts/2005/01/26/groovy-code-completion-in-intellij/) - [Auto-completion in a DOS console](https://glaforge.dev//posts/2005/01/26/auto-completion-in-a-dos-console/) - [Converting a Word document to HTML](https://glaforge.dev//posts/2005/01/24/converting-a-word-document-to-html/) - [Noeuds de cravate](https://glaforge.dev//posts/2005/01/16/noeuds-de-cravate/) - [A bit of Groovy history...](https://glaforge.dev//posts/2005/01/05/a-bit-of-groovy-history/) ### 2004 - [Scripting ActiveX/COM components with Groovy](https://glaforge.dev//posts/2004/12/30/scripting-activex-com-components-with-groovy/) - [Groovy support in IntelliJ](https://glaforge.dev//posts/2004/11/29/groovy-support-in-intellij/) - [Groovy Conference 1](https://glaforge.dev//posts/2004/11/28/groovy-conference-1/) - [IntelliJ, as a team communication tool](https://glaforge.dev//posts/2004/11/25/intellij-as-a-team-communication-tool/) - [On board JetBrains!](https://glaforge.dev//posts/2004/11/16/on-board-jetbrains/) - [Becoming an O'Reilly book author](https://glaforge.dev//posts/2004/11/07/becoming-an-o-reilly-book-author/) - [Pair Wiki-ing](https://glaforge.dev//posts/2004/10/06/pair-wiki-ing/) - [Groovy's birthday and news](https://glaforge.dev//posts/2004/08/26/groovy-s-birthday-and-news/) - [Une huile de Vézelay](https://glaforge.dev//posts/2004/07/15/une-huile-de-v-zelay/) - [Continuous Integration with DamageControl](https://glaforge.dev//posts/2004/07/06/continuous-integration-with-damagecontrol/) - [JetBrains fashion victim](https://glaforge.dev//posts/2004/06/12/jetbrains-fashion-victim/) - [First OSS-Get Together in Paris](https://glaforge.dev//posts/2004/06/07/first-oss-get-together-in-paris/) - [Tip O' the day : SSH on Windows](https://glaforge.dev//posts/2004/05/07/tip-o-the-day-ssh-on-windows/) - [New Groovy Snapshot](https://glaforge.dev//posts/2004/05/06/new-groovy-snapshot/) - [Seen on maven IRC](https://glaforge.dev//posts/2004/05/06/seen-on-maven-irc/) - [IntelliJ : SSH2 finally finds its way...](https://glaforge.dev//posts/2004/04/30/intellij-ssh2-finally-finds-its-way/) - [A groovy web server](https://glaforge.dev//posts/2004/04/23/a-groovy-web-server/) - [First steps in TDD-land](https://glaforge.dev//posts/2004/03/15/first-steps-in-tdd-land/) - [Heads-up on File and Stream groovy methods](https://glaforge.dev//posts/2004/03/03/heads-up-on-file-and-stream-groovy-methods/) - [Timing a closure in Groovy](https://glaforge.dev//posts/2004/02/26/timing-a-closure-in-groovy/) - [Happy Birthday Codehaus](https://glaforge.dev//posts/2004/02/26/happy-birthday-codehaus/) - [Groovy-JDK doc: Parsing Java with QDox](https://glaforge.dev//posts/2004/02/05/groovy-jdk-doc-parsing-java-with-qdox/) - [CVS and SSH2, not so easy](https://glaforge.dev//posts/2004/01/13/cvs-and-ssh2-not-so-easy/) - [IntelliJ prayer](https://glaforge.dev//posts/2004/01/05/intellij-prayer/) ### 2003 - [IntelliJ version of Miranda Rights](https://glaforge.dev//posts/2003/12/29/intellij-version-of-miranda-rights/) - [Code name for IntelliJ IDEA 5.0](https://glaforge.dev//posts/2003/12/29/code-name-for-intellij-idea-5-0/) - [Groovy: a sample script](https://glaforge.dev//posts/2003/12/16/groovy-a-sample-script/) - [Some good rules for an efficient ant build script](https://glaforge.dev//posts/2003/12/08/some-good-rules-for-an-efficient-ant-build-script/) - [Une gouache de macareux](https://glaforge.dev//posts/2003/12/07/une-gouache-de-macareux/) - [LOAF : a Groovy implementation](https://glaforge.dev//posts/2003/11/14/loaf-a-groovy-implementation/) - [Wiki-like Java HTML editor !](https://glaforge.dev//posts/2003/10/23/wiki-like-java-html-editor/) - [Halloween Jukebox](https://glaforge.dev//posts/2003/10/23/halloween-jukebox/) - [IntelliJ IDEA : ShowEncoding plugin](https://glaforge.dev//posts/2003/10/20/intellij-idea-showencoding-plugin/) - [Unicode, charset, encodings](https://glaforge.dev//posts/2003/10/16/unicode-charset-encodings/) - [Une esquisse de Renaud](https://glaforge.dev//posts/2003/07/28/une-esquisse-de-renaud/) - [Allergie aux piqûres de taon](https://glaforge.dev//posts/2003/06/09/allergie-aux-piqures-de-taon/) - [Premier tableau : les falaises d'Etretat](https://glaforge.dev//posts/2003/06/08/premier-tableau-les-falaises-d-etretat/) - [Beignets d'acacia](https://glaforge.dev//posts/2003/05/28/beignets-d-acacia/) - [Calcul du jour de Pâques (suite)](https://glaforge.dev//posts/2003/04/08/calcul-du-jour-de-paques-suite/) - [Calcul du jour de Pâques](https://glaforge.dev//posts/2003/04/04/calcul-du-jour-de-paques/) - [Apache XML-RPC, côté client](https://glaforge.dev//posts/2003/04/03/apache-xml-rpc-c-t-client/) - [Les jours de la semaine](https://glaforge.dev//posts/2003/04/02/les-jours-de-la-semaine/) - [About](https://glaforge.dev//about/)