❯ Guillaume Laforge

Une huile de Vézelay

Pour mes premiers essais de peinture à l’huile, j’ai choisi une vue plutôt originale de la région de Vézelay (dans l’Yonne), en prenant le contre-pied des angles classiques qui se tournent vers la basilique. J’ai décidé de peindre le point de vue que l’on voit à partir des hauteurs.

La peinture à l’huile est un médium particulièrement agréable à peindre. Les mélanges des couleurs dans le vif donnent des effets intéressants, de même que la superposition de couches, gras sur maigre, avec un fond bien sec. En effet, j’ai réalisé ce tableau en deux passes : une première pour le fond (ciel, champs et forêt), puis une seconde couche pour les feuillages des arbres, ainsi que le petit village.

Read more...

Continuous Integration with DamageControl

DamageControl, I believe, is one of the great tools an Open Source project must have. For those who don’t know this great project hosted at Codehaus, it is one incarnation of a continuous integration system, like CruiseControl or others…

Basically, this is a tool which allow developers to make their project build automatically upon each commit to ease integration. Each time a modification is done on your Source Control Management system, it triggers a build. It’s particularly handy when associated with a full build including test suites.

Read more...

JetBrains fashion victim

I am a JetBrains fashion victim. I’ve just received my JetBrains TShirt this morning.

It was quite early (say 8 o’clock) for a saturday when I’m used to wake up late late late, especially after coding Groovy late at night… when that damn postman rang at the door. I wanted to slaughter this bastard for waking me up that early… I even wanted to not open the door. But I remembered that I was supposed to receive a TShirt some day, thanks to my participation in a very private society of IntelliJ IDEA affictionados called “Team JetBrains”…

Read more...

First OSS-Get Together in Paris

For the first time in Paris, an Open Source Software Get-Together was organized by Vincent Massol of Cactus fame and author of JUnit in Action book. It was a lot of fun to meet him and other French OSS developers. I though we weren’t numerous to work on Open Source projects in France, but after all, it seems I was wrong. Moreover, I was stunned to meet someone working for the same company as myself, and I didn’t even know him! The world is such a small place indeed.

Read more...

Tip O' the day : SSH on Windows

My fellow readers might remember my problems with SSH which have often bothered me. I faced again a similar issue:

I wanted to upload a new Groovy snapshot Jar, before we release RC-1 next week. As a Groovy despot, with the help of some wonderful hausmates (particularly Trygve and Bob) I managed to authenticate myself with ssh-agent + ssh-add on the Codehaus server, so that maven doesn’t require me to enter my passphrase for my key.

Read more...

New Groovy Snapshot

Since Groovy’s move from one server to another, we could not deliver the latest jars. We’re sorry for that, but we’re doing our best to fix all the little issues you’ve encountered (broken links, missing jar, etc) It’s not without difficulty that I managed to upload the latest snapshot of groovy, but I’m glad to announce that there is a new groovy-1.0-rc1-snapshot.jar.

You can find it here:

http://dist.codehaus.org/groovy/dist/groovy/jars/

If you’re still using beta-4, please upgrade to the latest snapshot. Though there are still some bugs we haven’t fixed yet regarding “verify errors” and such, this snapshot is already much more stable. Next week, we should release a new distribution.

Read more...

Seen on maven IRC

Being a groovy despot, I was in the process of redeploying groovy’s web site and also the latest snapshot jars of the distribution which a lot of guys have asked for. But I was having some problems with my setup, ssh connection, maven goals, etc. With Trygve and Bob, we were chatting about that, and here is an interesting snippet of the ongoing discussion:

trygvis: bob: dist is a recursive symlink bob: yes, I know bob: it’s broken bob: I’ll fix it bob: and I’ll smack the next person who tells me about it trygvis: DO IT NOW! [Guillaume] LOL :-))) bob: FUCK YOU trygvis: OK!!

Read more...

IntelliJ : SSH2 finally finds its way...

I’ve been waiting for that for months already. I’ve been whining and whining again about the lack of an internal SSH2 implementation in IntelliJ. And now, it is there!

As you perhaps already know by reading my weblog, I’m a Groovy developper. And the Groovy project is hosted at Codehaus which makes use of SSH2 for accessing the CVS repository.

I had tried, but without success, different alternatives, such as using Putty/pling/pageant, but I didn’t manage to create a connection. So I ended up using Thomas Singer’s wonderful SmartCVS. This tools sort of saved my life. I’m very grateful to you Tom…

Read more...

A groovy web server

Based on a suggestion made by Jamie McCrindle, I decided it was time to add some missing Groovy methods related to sockets.

So far, I have added a bunch of IO/streams methods enhancing the JDK core classes, but there were no methods dealing with sockets. But now, this time is over.

I have added two methods:

  • Socket.withStreams(Closure) which takes a closure as argument, and has acces to an input stream and an output stream, and
  • ServerSocket.accept(Closure) which takes a closure argument which uses a socket as argument

What’s better than a sample code to illustrate that ? Hey, we’re going to implement a simplistic Hello World web server. Here it is…

Read more...

First steps in TDD-land

Unit tests aren’t really new for me, but so far, on the different projets on which I worked recently, I haven’t really had the opportunity to develop “test firt”. Moreover, I could not test much because those projects were not pretty test-friendly (static instances all around, nothing close to IoC/DI anywhere around). And also, on web-based and GUI projects, it is not that easy to write tests (when I have time, I should definitely have a look at those HTTP and Swing testing frameworks). Because of those projects, I was quite used to test things here and there with main methods and System.out.println()… you’ll agree with me that it’s not really professional. Not easy to make regression tests as well. Shame on me!

Read more...