Wednesday, November 26, 2008

Spelling API

Today, my friend Marco gave me a great API which can help on auto completion forms. This spelling API is based on a ternary tree and seems to be a good entry point to build a search engine.

Thanks Marco!

Monday, November 24, 2008

GWT widgets showroom

I haven't published any post about GWT for a long time. Today, I found a website showing GWT widgets, panels, listeners... in action. It's great when you have to make choice between two kinds of panel; this site allow you to see their behaviors.

Monday, November 03, 2008

Let's talk about design patterns

Do you know the difference between Adapter and Decorator patterns?

These two patterns are made to wrap objects. Humm... Same goals? Not exactly. On the first hand, the Adapter pattern is used to transform your class interface contract to another one. In the real world, you use it to "adapt" your code to an external piece of code you need.

In the other hand, with the decorator pattern, your class keeps its interface contract. You just wrap your code to bring some new features. For example, you decorate a class to integrate a counter on method calls and perform a performance test.

Friday, October 24, 2008

Oracle quick start guide

Just a link to an Oracle quick start guide to remember :

IntelliJ shortcuts vs Eclipse shortcuts

Recently, I started to work with IntelliJ. But, honestly, after several years with Eclipse, it's hard to be effective because of key shortcuts which are different between the two IDEs. A little request on Google and I found this (great!) :

Description Eclipse shortcut IntelliJ Shortcut
Navigate a Java Type CTRL + ALT + T CTRL + N
Navigate a Resource CTRL + ALT + R CTRL + SHIFT +N
Last Modified Source ALT + Left arrow CTRL + ALT + left arrow
Debug F11 Shift + F9
Open Declaration F3 CTRL + SHIFT + B
Open Hierarchy F4 CTRL + H
Organize Imports CRTL + SHIFT + O CTRL + ALT + O
Find CTRL + F CTRL + F
Find Again/ previous F3 / SHIFT + F3 F3 / SHIFT + F3
Step Into F5 F7
Step Over F6 F8
Step Out F7 Shift + F8
Resume F8 F9
To find impl of an abstract Method ? Ctrl + Alt + B
To find usage CTRL + SHIFT + G Alt + F7

Thursday, October 23, 2008


Yes, it's time to start a new project. A classic fact is that user specifications are not yet completely defined. Humm, but I need to start the project. The only solution will be to be agile. So, let's SCRUM. It's the first time for me. I read some docs from the past but I never really tried it. Thus, I spent this evening reading charts, blogs, etc... I also found a good french video preformed by a SCRUM senior (having 4,000 hours flying on agile projects) :

Monday, October 20, 2008

Google App Engine will support Java

Excellent news! There was an empty place on the web : it was barely impossible to find free hosting for java applications. The main reason is certainly due to the runtime heavyweight. For example, a java apps consume a lot of cpu and i/o charges on JVM startup. Another reason is the total cost ownership of java servers. Let me try a little comparison : if a PHP engine is like a old car (not really powerful but strong for many usages and maintenance free), a Java engine is like a Ferrari : really performant but really horrible to manage, to tune, to maintain, etc... Now imagine that you're at the head of a low cost rental company. What should you prefer : offering PHP cheap engine or Ferrari ones? You see what I mean... But, in the other hand, what's a frustration for millions of java developers like me! I was forced to program in PHP for my webapps. (and I'm really not a PHP killer). Hopefully, graceful to Google, you will be able to have online apps using Google App Engine!!! So great, So nice, So... there's no word! Of course, I hope you will use GWT for your frontend...

Thursday, August 14, 2008

Database design

Database design is often made by programmers. This is common mistake . Only a few developers know internal db structure and mechanisms. Let's doing a tiny test :
1) Describe me what's an hash table?
2) Give two link of indexes and when it should be used?
3) What about isolation transaction levels?
OK, OK, I stop here.

Although db design should be done by specialists, it's never to late to improve our knowledges. Thanks to my friend Marco, I put here a link to a website which published db models. From know, before designing your model, don't forget to check if a similar one already exists.

Thursday, June 26, 2008

Monday, April 28, 2008

A french GWT tutorial

Today, I found a post on a blog written like a tutorial. It covers from the installation to deployment on a server.

Monday, April 21, 2008

Wednesday, February 06, 2008

Feeling sad with Eclipse on Linux

Humm, something is broken : my trust in Eclipse quality.

I recently installed an Ubuntu 7.10 on my laptop. Then I added Eclipse 3.3 with Sun Java 6. After several days (weeks...), it tastes unstable. Not Ubuntu! (Of course)... but Eclipse. Here is a list of problems I encountered :
  • problem with VCS (when comparing files with a repository for example)
  • problem with auto-imports (so I have to use "Reorganize imports" instead
  • problem with Java and Debug perspectives that change views positions by itself
  • something, Eclipse goes slowly during a few seconds (???)
  • and... the ugly big fonts they use that make my 17 inches screen looking like a 15 inches one.
So, I hope Eclipse 3.4 will fix that (or I will go back to the Win32 version. Hopefully VMWare exists)