Guillaume Laforge
A Javelit frontend for an ADK agent
Creating a Javelit chat interface for LangChain4j
Javelit to create quick interactive app frontends in Java
Building AI Agents with ADK for Java
Creative Java AI agents with ADK and Nano Banana 🍌
Creating a Streamable HTTP MCP server with Micronaut
Generating videos in Java with Veo 3
Generating and editing images with Nano Banana in Java
In-browser semantic search with EmbeddingGemma
Vibe-coding a Chrome extension with Gemini CLI to summarize articles
Visualizing ADK multiagent systems
Mastering agentic workflows with ADK: the recap
Mastering agentic workflows with ADK: Loop agents
Mastering agentic workflows with ADK for Java: Parallel agents
Mastering agentic workflows with ADK for Java: Sequential agents
Mastering agentic workflows with ADK for Java: Sub-agents
The Sci-Fi naming problem: Are LLMs less creative than we think?
AI Agents, the New Frontier for LLMs
Advanced RAG — Using Gemini and long context for indexing rich documents (PDF, HTML...)
Advanced RAG — Hypothetical Question Embedding
Expanding ADK AI agent capabilities with tools
Building an MCP server with Quarkus and deploying on Google Cloud Run
Expanding ADK Java LLM coverage with LangChain4j
An ADK Java GitHub template for your first Java AI agent
Things you never dared to ask about LLMs — Take 2
Beyond the chatbot or AI sparkle: a seamless AI integration
Write AI agents in Java — Agent Development Kit getting started guide
Vibe coding an MCP server with Micronaut, LangChain4j, and Gemini
MCP Client and Server with the Java MCP SDK and LangChain4j
Quick Tip: Clearing disk space in Cloud Shell
LLMs.txt to help LLMs grok your content
Pretty-print Markdown on the console
Advanced RAG — Sentence Window Retrieval
The power of large context windows for your documentation efforts
A Generative AI Agent with a real declarative workflow
An AI agent to generate short sci-fi stories
Analyzing trends and topics from Bluesky's Firehose with generative AI
Let's think with Gemini Flash 2.0's experimental thinking mode and LangChain4j
Detecting objects with Gemini 2.0 and LangChain4j
Semantic code search for Programming Idioms with LangChain4j and Vertex AI embedding models
Redacting sensitive information when using Generative AI models
Data extraction: The many ways to get LLMs to spit JSON content
Things you never dared to ask about LLMs
Advanced RAG Techniques
A Gemini and Gemma tokenizer in Java
AI Inktober — Generating ink drawings with Imagen 3
Lots of new cool Gemini stuff in LangChain4j 0.35.0
Some advice and good practices when integrating an LLM in your application
New Gemini model in LangChain4j
A retryable JUnit 5 extension for flaky tests
Let LLM suggest Instagram hashtags for your pictures
Gemini Nano running locally in your browser
Sentiment analysis with few-shot prompting
Analyzing video, audio and PDF files with Gemini and LangChain4j
Text classification with Gemini and LangChain4j
Latest Gemini features support in LangChain4j 0.32.0
The power of embeddings: How numbers unlock the meaning of data
Functional builders in Java with Jilt
Let's make Gemini Groovy!
Grounding Gemini with Web Search results in LangChain4j
Gemini, Google's Large Language Model, for Java Developers
Calling Gemma with Ollama, TestContainers, and LangChain4j
Gemini codelab for Java developers using LangChain4j
Visualize PaLM-based LLM tokens
Image generation with Imagen and LangChain4j
Serving static assets with Micronaut
Light Mode Bookmarlet
Functional builder approach in Java
URL slug or how to remove accents from strings in Java
Gemini Function Calling
Visualize and Inspect Workflows Executions
Hands on Codelabs to dabble with Large Language Models in Java
Get Started with Gemini in Java
Generative AI in practice: Concrete LLM use cases in Java, with the PaLM API
Tech Watch #5 — November, 15, 2023
Tech Watch #4 — October, 27, 2023
Tech Watch #3 — October, 20, 2023
Tech Watch #2 — Oct 06, 2023
Client-side consumption of a rate-limited API in Java
Tech Watch #1 — Sept 29, 2023
Discovering LangChain4J, the Generative AI orchestration library for Java developers
Custom Environment Variables in Workflows
From Bird to Elephant: Starting a New Journey on Mastodon
Creating kids stories with Generative AI
Just a handy command-line tool
Getting started with the PaLM API in the Java ecosystem
Exploring Open Location Code
cURL's --json flag
Tip: Visualize output in the Groovy Console
Some custom VS Code settings
New blog location
Google Cloud Workflows API automation, patterns, and best practices
Calculating your potential reach on Mastodon with Google Cloud Workflows orchestrating the Mastodon APIs
Workflows patterns and best practices — Part 3
Turning a Website Into a Desktop Application
Workflows patterns and best practices — Part 2
Workflows patterns and best practices — Part 1
APIs, we have a Problem JSON
Workflows Tips and Tricks
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
Choreography vs orchestration in microservices and best practices
Reuse old smartphones to monitor 3D prints with WebRTC WebSockets and serverless
A Cloud Run service in Go calling a Workflows callback endpoint
Monitoring Website Changes with 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
Schedule a Workflow Execution
Using the Secret Manager connector for Workflows to call an authenticated service
Upload and use JSON data in your workflow from GCS
Sending an email with SendGrid from Workflows
Smarter Applications With Document Ai Workflows and Cloud Functions
Open sourcing the App Engine Standard Java Runtime
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
Introducing Workflows callbacks
Skyrocketing Micronaut microservices into Google Cloud
Introducing New Connectors for Workflows
Serverless: panacea or not?
Orchestrating the Pic-a-Daily serverless app with workflows
Day 15 with Workflows — Built-in Cloud Logging function
Day 14 with Workflows — Subworkflows
Day 13 with Workflows — Logging with Cloud Logging
Day 12 with Workflows — Loops and iterations
Day 11 with Workflows — Sleeping in a workflow
Day 10 with Workflows — Accessing built-in environment variables
Day 9 with Workflows — Deploying and executing Workflows from the command-line
Day 8 with Workflows — Calling an HTTP endpoint
Day 7 with Workflows — Pass an input argument to your workflow
Day 6 with Workflows — Arrays and dictionaries
Day 5 with Workflows — Visualizing the structure of your workflow definition
Day 4 with Workflows — Jumping with switch conditions
Day 3 with Workflows — Variable assignment and expressions
Day 2 with Workflows — A workflow is made of steps and jumps
Day 1 with Workflows — Your first step to Hello World
Orchestrating microservices with Google Cloud Workflows
The developer advocacy feedback loop
Running Micronaut serverlessly on Google Cloud Platform
Video: Getting started with Java on Google Cloud Functions
Introducing Java 11 on Google Cloud Functions
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
Video: the Pic-a-Daily serverless workshop
Machine learning applied music generation with Magenta
HTML semantic tags
Modern web game development
Decoding a QR code by hand
Defence against the Docker arts by Joe Kutner
Start the fun with Java 14 and Micronaut inside serverless containers on Cloud Run
Serverless tip #7 — Create mini APIs with Cloud Functions and Express routing
Serverless tip #6 — Create a mini web API with Cloud Functions
Serverless tip #5 — How to invoke a secured Cloud Run service locally
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
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
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
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
Update on the recent serverless developments on GCP at DataXDay 2019
Turn it up to eleven: Java 11 runtime comes to App Engine
A serverless Java developer's journey
On curiosity and sharing with the world
Tip: Making a Google Cloud Storage bucket or file public
Mais c'est quoi un Developer Advocate ?
Machine learning APIs with Apache Groovy
Interview InfoQ en Français sur les microservices sur Google Cloud Platform
New Serverless Solutions on Google Cloud for Functions Apps and Containers
Deploy a Micronaut application containerized with JIB to Google Kubernetes Engine
An Intro to Google Cloud Platform
Nice Series on Spring Cloud Integration for Google Cloud Platform
Building and deploying microservices with App Engine and Cloud Functions
In the top 20 Java influencers for 2018
The Big Green Button Automating Continuous Delivery With Chatbots
Chatbots: switching the second gear
Putting a Groovy Twist on Cloud Vision
Automating Chrome Headless mode on App Engine with Node.JS 8
Vision recognition with a Groovy twist
Machine learning APIs and AI panel discussion at QCon
Getting started with Groovy technologies on Google Cloud Platform
Ten years of App Engine with a Groovy twist
What can we learn from millions of (groovy) source files in Github
Keynote: IT holy wars
Build apps for voice, chat, web and mobile
I'm a Java Champion!
Pre-trained machine learning APIs
The 2018 countdown: a tip a day about Google Cloud Platform
Gradle vs Maven and Gradle in Kotlin or Groovy
The JDK built-in web server with Apache Groovy
More voice control for Actions on Google
JavaOne — How languages influence each other: Reflections on 14 years of Apache Groovy
Building your own chatbots with API.ai and Cloud Functions
Cloud Shell and its Orion-based text editor to develop in the cloud
Apache Groovy and Google App Engine at JavaOne
Scale an OpenAPI based web API with Cloud Endpoints
Scale Jenkins with Kubernetes on Google Container Engine
A year as a Google Cloud Developer Advocate
Trying out Apache Groovy's new Antlr4 parser with Java 8 support
Flying East to Singapore
Machine Learning and Scaling Web Apis
A chatbot for the Devoxx conference agenda with API.ai and Cloud Functions
Testing Java 8 Snippets on the new App Engine Java 8 runtime
Happy Pi Day! Google Home helps you learn the digits of Pi
Extending the Google Assistant with Actions on Google
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
My favorite Cloud Next sessions
Deploy a Ratpack App on Google App Engine Flex
New Features in the Google Cloud Natural Language Api Thanks to Your Feedback
A poor-man assistant with speech recognition and natural language processing
Machine intelligence at Google scale, vision / speech APIs, Tensorflow, and Cloud Machine Learning
Analyzing half a million Gradle build files
My G3 Summit Apache Groovy Keynote
Billions of lines of code in a single repository, seriously?
Becoming Twitter verified
Binge streaming web APIs with Ratpack, Cloud Ednpoints, App Engine Flex and Streamdata.io
Latest features of Google Cloud Platform
Quick intro to Google Cloud Platform for the Paris Ansible meetup
Scaling a Swagger-based web API on Google Cloud Endpoints
Viewing my Groovy source files in Stackdriver's debug view
IP filtering access to your VMs on Google Cloud
GCloud informative update message
JavaOne 2016 sessions
Natural language API and JavaScript promises to bind them all
Web scraping and REST API calls on App Engine with Jsoup and groovy-wslite
Sentiment analysis on tweets
Getting started with Glide and Gaelyk on Google App Engine
What can we learn from million lines of Groovy code on Github?
Tale of a Groovy Spark in the Cloud
Joining Google as a Developer Advocate for the Google Cloud Platform
A Groovy journey in Open Source land (GR8Conf Europe)
Get in the flow! The API developer workflow!
A five-sided prism polarizing Web API development
A web API for each API consumer?
How far should API definition languages go?
How far should API definition languages go
One API, many facades?
Groovy default params to avoid one-argument methods being called without params
Groovy Weekly #77
Groovy Weekly #76
Groovy Weekly #75
Groovy Weekly #74
Groovy Weekly #73
Groovy on Android for the Paris Android User Group
Groovy in Action, 2nd edition is not a myth!
My GR8Conf presentations slides
Groovy Weekly #72
Groovy Weekly #71
Groovy Weekly #70
Groovy Weekly #69
Groovy Weekly #68
Groovy Weekly #67
Devoxx 2015 Presentations
Groovy Weekly #66
Groovy Weekly #65
Groovy Weekly #64
Groovy Weekly #63
Groovy 2.4.3 out and entering Apache's incubator
Groovy 2.4.2 and 2.3.11 released
Groovy Weekly #62
Groovy Weekly #61
Groovy Projects intends to join the Apache Software Foundation
Groovy Weekly #60
Groovy Weekly #59
Joint releases of Groovy 2.4.1 and 2.3.10
Groovy Weekly #58
Groovy Weekly #57
Groovy Weekly #56
Groovy Weekly #55
Groovy 2.4 released
Groovy Weekly #54
The Groovy project is looking for a new home
Groovy Weekly #53
Groovy Weekly #52
Groovy Weekly #51
First release candidate of Groovy 2.4
Groovy Weekly #50
Groovy Weekly #49
Groovy Weekly #48
Groovy Weekly #47
Groovy 2.3.8 released too
Groovy 2.4.0-beta-4
Groovy Weekly #46
Groovy Weekly #45
Groovy Weekly #44
Groovy Weekly #43
Groovy Weekly #42
Groovy Weekly #41
Groovy Weekly #40
Back from JavaOne
Groovy on Android at DroidCon Paris 2014
Groovy Weekly #39
Groovy Weekly #38
Groovy Weekly #37
Groovy Weekly #36
Groovy Weekly #35
Beta 3 for Groovy 2.4
Groovy Weekly #34 back from vacations!
Disable @Grab with a global AST transformation
Groovy Weekly #33
Groovy receives Geek Choice Award
Groovy Weekly #32
Groovy 2.3.5 out with upward compatibility
Groovy Weekly #31
Groovy Weekly #30
Feedback and actions for the new Groovy website
Groovy Weekly #29
Groovy 2.3.4 is out
A new Groovy website in beta
Groovy Weekly #28
Groovy Weekly #27
Groovy related talks at JavaOne 2014
Groovy Weekly #26
Groovy 2.3.3 and Groovy 2.4-beta-1 with Android support
Groovy Weekly #25
Latest Groovy 2.3 coverage presented at GR8Conf Europe
Groovy Weekly #24
Apple's Swift programming language inspired by Groovy
Groovy 2.3.2 released
Groovy Weekly #23
Groovy Weekly #22
Groovy 2.3.1 is out
Groovy presentations at JAX
Groovy Weekly #21
Groovy Weekly #20
Groovy 2.3.0 is out!
Groovy 2.3.0 RC 4 is out
Machine Learning à Mix-IT 2014
Groovy Weekly #19
Second release candidate of Groovy 2.3
Release candidate for Groovy 2.3
Groovy Weekly #18
Groovy Weekly #17
Second beta for Groovy 2.3
Groovy Weekly #16
A beta release for Groovy 2.3
Groovy Weekly #15
Groovy Weekly #14
Groovy Weekly #13
Groovy Weekly #12
Groovy Weekly #11
Groovy Weekly #10
Groovy Weekly #9
Benefit from Groovy now: when, how, why
Groovy Weekly #8
Groovy Weekly #7
Groovy Weekly #6
Groovy crosses the 3 million downloads a year mark
Groovy Weekly #5
Groovy Weekly #4
Groovy Weekly #3
Groovy Weekly #2
Groovy Weekly #1
Groovy 2.2 released
Interview on JAXenter about Groovy
Groovy presentations at conferences
Functional Groovy presentation
Interview about Groovy's popularity boost
Release candidate for Groovy 2.2
Groovy enters top 20 of the TIOBE language index
Second beta for Groovy 2.2
GPars 1.1 is out
Glace à la menthe maison
Groovy on instantserver.io thanks to GVM
My GR8Conf presentation on Groovy
Which JDK versions do you use?
Gaelyk 2.0 is released
Creating a new project with Gradle
Contribute a dedicated CI server for Groovy
Joins us for GR8Conf Europe! Early bird price ending soon.
Groovy 2.1 is released
Brownie dans un mug
First beta of Groovy 2.1 released
GPars reaches 1.0!
Groovy 2.0 and beyond at Groovy Grails eXchange
InfoQ's readers JVM languages research
Groovy 2.0 online webinar
SpringOne2GX Groovy presentations aftermath
Groovy sessions at JavaOne 2012
Groovy 2.0.4 is out
Groovy 2.0.2 and 1.8.8
Also back to vi... MacVim actually
Three joint releases of Groovy!
Algorithms for collaborative editing
Minor new features of Groovy 2.0
Building your Groovy 2.0 projects with Maven
Groovy 2.0 support in Eclipse
What's new in Groovy 2.0
Groovy 2.0 released!
A bit of functional tests and concurrency for Gaelyk
Release candidate of Groovy 2.0 available
Gaelyk 1.2 is out!
Why coming to #GR8Conf?
Vert.x 1.0 released with its Groovy support
Slides for Domain-Specific Languages in Groovy
Groovy at Devoxx France
Run a Groovy script in Vi
Come to GR8Conf for half the price!
bash tip: find and grep through files
Incomplete string regex matching
Groovy 2.0 presentation at 33rd Degree
Speaking of Groovy 2.0 at 33rd Degree, in Poland
Mac trick: change Time Machine backup interval
Groovy news bits: API additions, contributing to the project, Eclipse plugin
Don't forget the GR8Conf Call for Papers
Groovy 1.8.6 released
Static type checking and compilation in Groovy 2
GR8Conf Europe Call for Paper open
Mon One Man Show au Paris JUG
Hans Dockter interview on Gradle
Tweets sympas sur Free Mobile
Caelyf 0.1, a lightweight Groovy toolkit for Cloud Foundry
Groovy 1.8.5 and second beta of 2.0 out
Videos and slides of Groovy / Grails eXchange 2011
InfoQ interview: Latest Happenings and Future of Groovy
Handy Gradle startup script
Coming back to the new Google App Engine pricing policy
Gaelyk 1.1 released
Latest Groovy releases and roadmap updates
Présentation sur PrettyTime et GPars au Paris JUG
A Groovy page on Google+
Gaelyk presentation at SpringOne2GX
What's new in Groovy 1.8 and beyond?
Groovy Domain-Specific Languages in Chicago
SpringOne2GX, Chicago, this week
Groovy 1.8.3 and 1.9-beta-4 released
Google announces Dart, new language for the web
GR8Conf is coming to Australia
Groovy AST transformations tutorials
Lots of Gradle news and activity
Groovy on GitHub
Playing with the Google+ APIs in Groovy
Groovy, fastest growing language according to eWeek
The many ways to lace your shoes
A new skin for the Groovy website
Groovy 1.8.2 and 1.9-beta-3 are in the wild
Google App Engine's new pricing model
CamelCaseCon Groovy conference in Germany
On CloudFoundry micro-cloud
Already 8 years of Groovy!
Gaelyk 1.0 is out
Blog.reboot()
Groovy 1.8-final is out the door!
GR8Conf Europe 2011 - a conference dedicated to the Groovy Ecosystem
New important milestone for Gaelyk, with version 0.6 released
Gaelyk 0.4.4 out with namespace/multitenancy support
Nicer DSLs in Groovy 1.8 thanks to Extended Command Expressions
GR8Conf: the European conference dedicated to the Groovy ecosystem is back!
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
Devoxx presentation on Google App Engine, Groovy and Gaelyk
Gaelyk 0.3 released -- a lightweight Groovy toolkit for Google App Engine
Gaelyk 0.2 released -- a lightweight toolkit for Google App Engine
Griffon, the holy grail of Swing, is one year old
Le podcast des Cast Codeurs est sorti !
Write Groovy applications on Google App Engine!
Announcing the GR8 Conference: a conference dedicated to Groovy, Grails and Griffon
Lots of Groovy related news!
What's new in Groovy 1.6
The final version of Groovy 1.6 is there
Groovy 1.6-RC-2 is out! Final version fast approaching!
The Groovy 1.6 release candidate is out!
SpringSource acquires G2One
Sun abandons Swing!
GroovyMag, the Groovy / Grails magazine is out!
Both Groovy 1.5.7 and 1.6-beta-2 are out!
Listing the properties of a class in order
Groovy in Action book now in Japanese!
JavaZone: Writing Groovy DSLs presentation online
Griffon shows its claws: Grails-like rich Swing client framework released
Groovy and Grails at the Paris JUG tomorrow night
Knowing which variables are bound or not in a Groovy script
Meeting Neil Armstrong and speaking of Groovy and Grails
Groovy and Grails trainings by G2One in North American
The IT conference you can't miss if you're in Paris!
Groovy 1.6-beta-1 release with great performance improvements
Groovy / Grails meetup, next Monday evening, in San Francisco
Grails, nominated for JAX innovation award
Groovy 1.5.5 released: compiler 3-5x faster
Groovy / Grails support in NetBeans and GlassFish
JSON.Net, the Groovy way
A Domain-Specific Language for unit manipulations
JavaPolis interview with Guillaume Laforge, Groovy project lead
Learn all about Groovy and Grails at the 2GX conference, Reston, VA
A Groovy kind of love
The Groovy Zone, community news site for the Groovy and Grails developers
MarkMail archives the Groovy mailing-lists and shows their success
Groovy not Enterprise-ready, you're kidding?
What's new in Groovy 1.5
InfoQ: What's new in Groovy 1.5?
Groovy 1.5 released
G2One: a Groovy and Grails company
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
QOTD: Eclipse is the PC of IDEs when IntelliJ IDEA is the Mac
G2One, the Groovy and Grails meetup at JavaOne
Groovy 1.1-beta-1 with annotation support
Groovy.Net, annotations, mocks, applet, and so on
Groovy awarded JAX innovation first prize!
Guicy: a Groovy Guice?
Groovy and Grails news, conferences and IDE support
New version of the Groovy Eclipse Plugin
Groovy 1.0 is there!
Groovy development funding
Groovy and Grails community site launching...
InfoQ covers the release of RC-1 and interviews me
We've just released Groovy RC-1!
From named-parameters to Domain-Specific Languages
Tip: View unread mails in Gmail
Java's and Groovy's King at Versailles
Groovy in Action, Manning
Groovy, Grails, JSR-223, books, conferences and so on...
JavaDay 2006, Groovy spec lead, and wedding
InfoQ: a community news site for the architects
Builders in dynamic languages
Groovy interview on IndicThreads
Scripting at JavaOne 2006
Google Summer of Code 2005 TShirt
Debugging XML parser issues
AntBuilder: Imitation is the Best Form of Flattery
Big thanks for the second Groovy meeting
Four years to fix a trivial bug...
Re: Ted Neward on anonymous generic methods
Google Base, Ning, or how to store your life
JBoss' Wiki portlet, why not XWiki?
Web services RPC calls over Google Talk
Talking about Google Talk...
Spring in French: c'est le printemps !
The Guru of Groovy shares his Thoughts
Wifi Rabbit for Continuous Integration
Aquarelle de Versailles
Initial release of the GroovyJ IntelliJ plugin!
JavaOne: Groovy reactions!
Maven Developer's Notebook
Groovy development: aiming for quality
Lucene's fun
Maven scripting in Groovy
How to remove accents from a String
Maven tip: using Ant's optional FTP task
Finding styled paragraphs in a Word document
Castor tip: generating Java classes for XSD simple types
RIFE rocks the pants off of Rails
Re: How Groovy can get her groove back
Groovy's dead, long live Groovy!
Groovy code-completion in IntelliJ
Auto-completion in a DOS console
Converting a Word document to HTML
Noeuds de cravate
A bit of Groovy history...
Scripting ActiveX/COM components with Groovy
Groovy support in IntelliJ
Groovy Conference 1
IntelliJ, as a team communication tool
On board JetBrains!
Becoming an O'Reilly book author
Pair Wiki-ing
Groovy's birthday and news
Une huile de Vézelay
Continuous Integration with DamageControl
JetBrains fashion victim
First OSS-Get Together in Paris
Tip O' the day : SSH on Windows
New Groovy Snapshot
Seen on maven IRC
IntelliJ : SSH2 finally finds its way...
A groovy web server
First steps in TDD-land
Heads-up on File and Stream groovy methods
Timing a closure in Groovy
Happy Birthday Codehaus
Groovy-JDK doc: Parsing Java with QDox
CVS and SSH2, not so easy
IntelliJ prayer
IntelliJ version of Miranda Rights
Code name for IntelliJ IDEA 5.0
Groovy: a sample script
Some good rules for an efficient ant build script
Une gouache de macareux
LOAF : a Groovy implementation
Wiki-like Java HTML editor !
Halloween Jukebox
IntelliJ IDEA : ShowEncoding plugin
Unicode, charset, encodings
Une esquisse de Renaud
Allergie aux piqûres de taon
Premier tableau : les falaises d'Etretat
Beignets d'acacia
Calcul du jour de Pâques (suite)
Calcul du jour de Pâques
Apache XML-RPC, côté client
Les jours de la semaine
About