❯ Guillaume Laforge

Groovy-JDK doc: Parsing Java with QDox

Perhaps you noticed recently that there’s a new interesting page on Groovy’s website ? Well, all pages are interesting of course! But there’s a new page describing the Groovy methods enhancing the core JDK classes. In groovy, you have additional methods that you can call on standard Java classes. For instance, you can use the eachLine() method on java.io.File. With this method, you’ll be able to easily read a text file line after line, and do whatever with this line inside a closure without having to care about things like closing streams. Read more...

CVS and SSH2, not so easy

Yesterday, I was granted commit rights on the Groovy source tree, at Codehaus. Of special interest for me : I developed a utility class which helps Groovy create new Readers for text files with the correct encoding already set (I’m really keen on charset/encodings issues), Adding some new Groovy methods to the core JDK classes, Working on an automatic documentation generation engine “a la” Javadoc, so that it may be possible to browse all the methods that have been added to the core JDK classes. Read more...

IntelliJ prayer

That’s incredible, but Robert S. Sfeir is at it again in the EAP forum. He produced one more prayer that we should all be repeating again and again. (I hope he won’t mind me from quoting his holy words) Our IDEA who art in heaven Hollowed be thy name Thy IDE come, the EAP done On earth as it is in heaven, Give us this day our daily build, And forgive our bug reports, Read more...

IntelliJ version of Miranda Rights

After my suggestion of Miranda as a code name for the upcoming EAP of IntelliJ IDEA, there was a funny quote from Robert S. Sfeir in the forums regarding this suggestion. It’s a new version of the Miranda Rights : You have the right to refactor. Anything you refactor can be used against you in your code and calls. You have the right to have IDEA present now and during any future refactorings. Read more...

Code name for IntelliJ IDEA 5.0

IntelliJ IDEA 4.0 is not yet out of its Early Access Program phase that a discussion already started in the forums for the code name of the next EAP cycle. There are already a few propositions for the next code name. Among them: StarGate (hmm, not that good) Avani (which means earth in some indian languages) Stella (which will not be used because it was already used for IDEA 2.0 for those who remember) Avalon (already used by Microsoft’s new UI framework, and the Apache Avalon framework) Rhea (suggested internally at JetBrains by Eugene Belyaev) Aardvark (maybe too harsh to pronounce) Atlantis (mythological sunken island) Athena (greek goddess) Lachesis, Clotho or Athropos (the three moirae) Ananke (necessity), Erebus Vedra (as in Vedra Valles) Miranda (that’s my suggestion, already used by Miranda-IM, and it reminds something to outlaws in the US) Olesya (CVS integration developer), Katja or Laika (first female dog in space) Derivations of Simple (Simplex, Simplicity, SimpleA…) Dione (another Greek goddess) Aphrodite, Athena, Adonis (to stick with “A” and the Greek mythology) Artemida (tiger hunter… JDK 1. Read more...

Groovy: a sample script

In the IntelliJ forums, I came across an off-topic (but funny) post by Robert Gibson who was wondering : Somebody told me once that there are only two words in the English language which contain each vowel, once only, in alphabetical order. Anybody know what the other one is? Indeed, there are more than two words corresponding to those constraints. I then wrote a little Java class which took all the words of a words file (with 100k words) and tested if they matched a regexp corresponding to those constraints. Read more...

Some good rules for an efficient ant build script

Some time ago I came across an interesting article on Apache’s wiki entitled (Apache Wiki: The Elements Of Ant Style. It’s a very thourough overview of good practices for writing clean, readable, reusable and efficient Ant build files. Today, through magpiebrain, I read on OnJava another very interesting and concise article giving 15 Ant best practices. It’s much shorter than the previous article on Apache’s wiki, but still, with those 15 practices you’ll manage to improve some messy build scripts. Read more...

Une gouache de macareux

Voici un nouveau tableau que j’ai réalisé à la gouache. Il s’agit de trois petits macareux, que j’ai peints pour offrir en guise de cadeau de Noël pour ma mère… Encore une chance qu’elle n’a pas internet chez elle, sinon, elle pourrait découvrir la surprise avant l’heure !

LOAF : a Groovy implementation

LOAF is taking the community by storm. I do firmly believe it gonna rock the world. Social software is the way to go : the next revolution. But as far as I know there were no LOAF implementation in Groovy, a promising programming language. So let’s see how simple it is to write a LOAF implementation using Groovy: class LOAF { static main(args) { def loaf = new LOAF() } } I’m a beginner in Groovy, so use at your own risk. Read more...

Wiki-like Java HTML editor !

Well, sometimes, we happend to make some fun stuff at work. Don’t we ? Currently, we’re developping a RAD tool for creating applications using a framework we’ve been developping for some time already. It’s a classical Swing app. We decided to create a contextual help system : Each time a component is selected in the GUI (whether it be a tabbed pane or a node in a JTree), we show the corresponding help page in another frame that the user may show or hide as he wishes when he needs some help. Read more...