❯ Guillaume Laforge

Geek

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. I use a JEditorPane with an HTMLEditorKit to show those HTML help pages.

Read more...

Halloween Jukebox

It’s soon Halloween ! If you’re making a party at home, like my girl friend and me, you’ll want to frighten your friends a little bit. Some make-up, some fancy closes, some pumpkins, etc… and some… hhoorrriibblleee soooouuunnnndddsss !

I found on the net some nice wave sounds like evil laugthers, screams, ghosts noises, etc. StĂ©phanie wanted to make a Windows Media Player playlist with those sounds. Cool… But as a Java Geek, I decided to make something better ! That’s why I decided to write a little Halloween jukebox.

Read more...

IntelliJ IDEA : ShowEncoding plugin

A bit more than a year ago, I wrote some utility classes related to file encodings/charsets. Those classes got integrated to IntelliJ IDEA. Those classes are useful for knowing the encoding of a byte array, or a file, or an input stream. You’ll be able to know whether your file is encoded using UTF-8, or whether it used ISO-8859-1, or windows’ specific windows-1252.

Unfortunately, inside IntelliJ IDEA, it is not currently possible to know the charset of the files edited. I filed a feature request in june. Unfortunately, this feature has not yet been implemented.

Read more...

Unicode, charset, encodings

Today, through Java blogs, I came across Joel Spolsky’s post regarding The Absolute Minimum Every Software Developer Absolutely, Positively Must Know About Unicode and Character Sets. I have to recommend anybody curious about i18n issues to read this very good introduction. I wish I had read that before, two years ago, when I had to deal with different file encodings ;-)

This article remind me of one of my old home projects, back in the summer 2002. I was developing (and I’m still doing so) with IntelliJ IDEA at work, and I had messed up with some critical XML files because I was playing with the default encoding used by IntelliJ in the preferences panel… I was so ashamed that I decided to file some feature requests about automatic charset recognition for my beloved Java IDE. And even better, I coded some java classes that I gave Maxim Shafirov. And my code was finally integrated (perhaps modified to suit their needs) into IDEA 3.0.

Read more...

Calcul du jour de Pâques (suite)

Imaginons que nous souhaitons crĂ©er un calendrier. Bien ! Mais pour ĂŞtre encore plus sympathique, nous allons rajouter sur ce calendrier les jours fĂ©riĂ©s. Ce n’est pas un problème pour les dates fixes comme le 1er janvier ou le 11 novembre. Mais il existe d’autres jours fĂ©riĂ©s qui sont dits “mobiles”. Dans de très nombreux pays occidentaux, la pluspart de ces jours fĂ©riĂ©s mobiles sont dĂ©finis par rapport Ă  la date du jour de Pâques. Or, il faut dĂ©jĂ  connaĂ®tre le jour de Pâques. Effectivement, nous allons donc nous intĂ©resser au calcul du jours de Pâques, qui est une fĂŞte religieuse dont la date est dĂ©finie relativement Ă  une phase lunaire proche de l’Ă©quinoxe de printemps du 21 mars. Je vous Ă©pargnerai les dĂ©tails, mais voici une petite classe que vous pourrez modifier Ă  loisir pour calculer le jours de Pâques.

Read more...

Calcul du jour de Pâques

Toujours dans l’optique de crĂ©er un Agenda partagĂ© pour l’application OpenProspect, il me faut mettre sur mon calendrier… les jours fĂ©riĂ©s ! Jusque lĂ , tout va bien… Mais en cherchant un peu, on s’aperçoit que les jours fĂ©riĂ©s, c’est pas si simple que ca !

En effet, rien qu’en France, ce n’est pas si simple : il y a les jours fixes, et les jours mobiles. Il faut effectuer un calcul compliquĂ© pour obtenir le jour de Pâques et les jours calculĂ©s relativement Ă  Pâques (jeudi de l’Ascension et lundi de PentecĂ´te).

Read more...

Apache XML-RPC, côté client

Pour le fun, j’ai eu envie d’essayer l’API XML-RPC de la fondation Apache. Pour ĂŞtre prĂ©cis, je vouais expĂ©rimenter avec les APIs de Blogger et MetaWeblog qui permettent de mettre Ă  jour les Weblogs Ă  distance. Ce sont des APIs standardisĂ©es que la pluspart des Weblog comprennent.

Ainsi, par exemple, l’outil de publication w.Bloggar permet de Ă©diter/modifier/crĂ©er des nouvelles entrĂ©es dans votre blog. Pour cela, il fait appel aux procĂ©dures distantes (Remote Procedure) du serveur hĂ©bergeant votre blog.

Read more...