February 21, 2005
It has not made to the headlines but this is a significant achievement.
JOTM is an Open Source (BSD-licensed) implementation of the JTA and JTS API to provide transaction management in Java/J2EE applications (I lead this project for some time but eventually passed the lead to David Egolf due to other job commitments).
This release was used by the J2EE server JOnAS to pass the J2EE TCK. It also includes a recovery log based on the HOWL project.
I believe it is a great step for Open Source J2EE applications for several reasons:
- As far as I know, it is the first implementation of an Open Source transaction manager which supports recovery (there is some work on that in JBoss JTA and nothing for Tyrex)
- the HOWL project is the result of the collaboration between the ObjectWeb and Apache communities. Coopetition is a Good Thing
- There is a good opportunity for JOTM to be used as the default transaction manager in Geronimo
Congratulations to the JOTM and HOWL teams. Keep up the good work!
February 20, 2005
Spotted on Ruby On Rails mailing list: http://panic.com/goods/.
I especially like the ability to drag and drop items and the 'puff' effect when you remove an item from the shopping cart (it's the same effect than on Mac OS X Dock).
February 8, 2005
I wanted to have a closer look to the Enterprise Architectural Space which is used to organize patterns on patternshare.org.
So I decided to download the PDF version to read it on my powerbook.
I really laughed out loud when I saw the system requirements to view the PDF:
System Requirements
* Supported Operating Systems: Windows 2000, Windows Server 2003, Windows XP
So I now know the truth: All your PDFs are belong to Microsoft...
At least, Microsoft was kind enough to let me browse their site with Firefox...
February 1, 2005
Congratulations to the JOnAS team and too all ObjectWeb guys!
JOnAS certification was made possible by a collective effort from a lot of ObjectWeb projects including the two I worked on: JORAM (for JMS) and JOTM (for JTA).
It's a huge achievement and it will definitely help to broaden JOnAS adoption and other ObjectWeb technologies (C-JDBC and ASM are really cool).
January 27, 2005
I noticed today that the Middleware'05 conference will be held in my sweet little town of Grenoble (France) from November 28th to December 2nd.
I'm looking forward to that one. It'll be a great opportunity to talk again will all the great guys I met at HPTS'03.
January 25, 2005
I lost myself on a cool damp night
I gave myself in that misty light
Was hypnotized by a strange delight
Under a lilac tree
I made wine from the lilac tree
Put my heart in its recipe
It makes me see what I want to see
And be what I want to be
When I think more than I want to think
Do things I never should do
I drink much more that I ought to drink
Because it brings me back you
Lilac wine is sweet and heady,
Like my love
Lilac wine, I feel unsteady,
Like my love
Listen to me, I cannot see clearly
Isn't that she, coming to me
Nearly here
Lilac wine is sweet and heady,
Where's my love
Lilac wine, I feel unsteady,
Where's my love
Listen to me, why is everything so hazy
Isn't that she, or am I just going crazy, dear
Lilac wine, I feel unready for my love
Feel unready, for my love.
January 19, 2005
One of the key issue in software development (but not restricted to that field) is to understand that the success of a project depends (among other things) of the balance betweeen the 3P:
Your project can be successful only if you find a correct balance between the 3P.
I see the People as the chaotic part of the balance. By chaos, I mean creativity without reins, wild ideas. Life is born in chaos, ideas and innovations happen when one think outside the box. But you can't build anything from the chaos. It needs to be tempered.
The Process is the order part of the equation. Order can be be a good thing and is essential for any contruction but it can also be a hinderance to your success. Too much order makes things rigid, without any movement. It slows things down and ultimately hamper the creativity of the People.
And the Product... well, my analogy to chaos and order shows its limit... Let say that if you have a good balance between People and Process and a crappy Product (or a good Product based on a crappy idea), it won't be a success.
As a developer, I see myself like a painter and I like to experiment a lot and let my imagination goes wild.
I want to make a good Product that I can be proud of and I understand that the Process is an invaluable asset to help me stay focused on what is important for the Product.
However, when I feel that the Process comes as a barrier between my work and the Product, when I feel that I'm less important than the Process, there is a problem. If I believe that the Process is there to prevent me to make decisions and think by myself, I feel robbed. If I see that the Process is too heavy for me and that there is no advantage at my own level to use it, I'll try to circumvent it (even if I try very hard not to...).
The Process can have a desastrous influence on the People and create a vicious circle where the People will work against the Process making it counter-productive.
But it can be different: People can also increase the value of the Process to make it better for them and the Product. If the Process is seen as an asset by the People, you can follow a virtuous circle which helps to reach success.
What I think is important is to have ongoing immediate feedback between the People and the Process to create this kind of virtuous circle.
If I understand that the Process helps me to create a great Product, I'll accept that from time to time it is annoying or too heavy for my taste. On the other hand, if I can't see how the Process helps me to create a great Product, it's up to me to give feedback to improve it or I'll be tempted to bypass it and will only make things even worse...
January 19, 2005
By its very own nature, a Wiki is a bazaar and it works great like that. But from time to time, you neet to get some order from that chaos.
Let take the example of a big corporate wiki with thousand pages and hundred users. Most of the pages are related to a few other pages only and each users modify and read only a few pages. More than often, the wiki ends up with a lot of related information disseminated on hundred pages with no apparent navigation between them. Given that users deal only with a small subset of this huge wiki, they may not be aware that potential useful information is sitting at other places.
To build some order in this chaos, a very useful feature implemented by most wiki is backlinks. To put it simply, a backlink on a page gives you a list of all the wiki pages pointing to that page thus enabling a backward navigation.
For example in the c2 wiki, every page has a backlink which is the title of the page. If you click on that title, you get a list of all wiki pages which points to that page. Other wikis present that differently (in Twiki, it's a Ref-By link) but most wikis I encountered got that feature.
You then can use some naming rules. For example you can have (possibly empty) wiki pages whose names ends with Category (e.g. DevelopmentCategory, XmlCategory) and every pages related to that kind of category can add a link to one of these category pages. E.g. on a page documenting XML binding, I would put a "in XmlCategory" at the beginning of the page to create a link to the XmlCategory page. An user interested to find information about XML has just to use the backlink of the XmlCategory page to find a link to my XML binding page.
Basically with this very simple naming rule, you can categorize your wiki pages so that you can then browse the whole wiki through its backlinks.
To make it even better, I can create a CategoryCategory page which has a backlink to every other category pages. You have then an entry point to browse all the wiki based on these categories.
What is great with that approach is that users who write the pages and are the best to categorize it can help other users to find the information very easily.
As an aside, when I wrote this entry, I realized that there is a recurring pattern in the way I want to organize my data. I don't organize my data anymore (a.k.a all in one place and no deep tree structure) but rely more and more on classification with tags, labels, categories to find it. This behavior is occuring with my mails, bookmarks, wiki pages, pictures,... But more about that in another post.
January 19, 2005
It's so simple, it's not really a bookmarklet...
I added a bookmark in Firefox which points to http://del.icio.us/jmesnil/%s
and added a keyword d
for it.
So now when I want to go to my del.icio.us java bookmarks, I just have to type d java
in the address bar to go to it.
If I want to go to my java and jms bookmarks, it's d java+jms
.
<disclaimer>
I'm a total keyboard junkie. Too much emacs has definitely hurt my brain.
</disclaimer>
January 10, 2005
A cool new feature in Eclipse 3.1M4 is that you can organize projects by working sets.
I've got a lot of projects in my workspace which relates to different developments. My package explorer view is quite cluttered by dozens of fine-grained projects.
To improve readibility, I created different working sets (one for each related development) and I show them (Show > Working Sets
).
When I focus on a particular development, I Go Into
the specific working set and I only see the projects of this given working set.
Not groundbreaking but definitely useful.