RSS.Social

Guillaume Laforge

follow: @[email protected]

Posts

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