<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:georss='http://www.georss.org/georss' xmlns:gd='http://schemas.google.com/g/2005' xmlns:thr='http://purl.org/syndication/thread/1.0'><id>tag:blogger.com,1999:blog-14058418</id><updated>2012-01-06T04:50:49.834-08:00</updated><category term='desktop linux awesome LUA'/><category term='clustering'/><category term='felix'/><category term='osgi dependencies injection bndtools eclipse'/><category term='introduction'/><category term='device'/><category term='virtualization debian HA openmq'/><category term='Thinkpad X201'/><category term='trip business OSGi Con'/><category term='SQLite'/><category term='curl'/><category term='OSGi course Java'/><category term='audio'/><category term='classloader'/><category term='rsync backup strategy'/><category term='visualgc'/><category term='Linux debian hardware sid'/><category term='git'/><category term='shell'/><category term='technical java jdbc aix'/><category term='tuning'/><category term='OSGi Con conference'/><category term='performance'/><category term='Java renaissance future'/><category term='Java One'/><category term='proxy web'/><category term='visualvm'/><category term='talks trips humor'/><category term='DEBIAN'/><category term='embedded'/><category term='repositories'/><category term='debian service JETTY Hightide'/><category term='travels'/><category term='emacs'/><category term='OSGi'/><category term='technical'/><category term='Java IDE IntelliJ'/><category term='groovy closure'/><category term='management solution'/><category term='philosophy'/><category term='web services'/><category term='Java'/><category term='book'/><category term='semantic versioning'/><category term='soti'/><category term='JDBC'/><category term='Continuus Integration'/><category term='gradle build unit testing testng junit cobertura'/><category term='gc memory'/><category term='Maven'/><category term='software'/><category term='Thinkpad Lenovo Debian Squeeze X201'/><category term='log'/><category term='article'/><category term='testing'/><title type='text'>romjethoughts</title><subtitle type='html'></subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://romjethoughts.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/14058418/posts/default?max-results=100'/><link rel='alternate' type='text/html' href='http://romjethoughts.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><author><name>jerome moliere</name><uri>http://www.blogger.com/profile/09621674138041413397</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>57</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>100</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-14058418.post-6938590749188849599</id><published>2012-01-06T04:50:00.000-08:00</published><updated>2012-01-06T04:50:49.844-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='device'/><category scheme='http://www.blogger.com/atom/ns#' term='embedded'/><category scheme='http://www.blogger.com/atom/ns#' term='management solution'/><category scheme='http://www.blogger.com/atom/ns#' term='soti'/><title type='text'>Soti MobiControl - managing a bunch of embedded devices</title><content type='html'>Hi all,&lt;br /&gt;this story differs from most of my work , but my customers asked to have a look to a tool for managing embedded devices part from the big application where I have done a huge work of reengineering with OSGi foundations....&lt;br /&gt;I was asked to grab from the devices different data like:&lt;br /&gt;- JVM version&lt;br /&gt;-application version&lt;br /&gt;- database version&lt;br /&gt;&lt;br /&gt;using different files present in the installed application inside the embedded PC (windows mobile powered)&lt;br /&gt;Soti provides a tool to grab data but it 's very conviant for only basic tasks so I am about discussing with Soti company to try to embed a scripting language to be able to write powerful scripts ....&lt;br /&gt;So now wait &amp;amp; see how this company settled in Canada will react to improvements of a very small customer...&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;happy coding&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/14058418-6938590749188849599?l=romjethoughts.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://romjethoughts.blogspot.com/feeds/6938590749188849599/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=14058418&amp;postID=6938590749188849599' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/14058418/posts/default/6938590749188849599'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/14058418/posts/default/6938590749188849599'/><link rel='alternate' type='text/html' href='http://romjethoughts.blogspot.com/2012/01/soti-mobicontrol-managing-bunch-of.html' title='Soti MobiControl - managing a bunch of embedded devices'/><author><name>jerome moliere</name><uri>http://www.blogger.com/profile/09621674138041413397</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-14058418.post-6900844376289340654</id><published>2012-01-02T05:59:00.000-08:00</published><updated>2012-01-02T05:59:10.463-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='OSGi'/><category scheme='http://www.blogger.com/atom/ns#' term='felix'/><category scheme='http://www.blogger.com/atom/ns#' term='log'/><category scheme='http://www.blogger.com/atom/ns#' term='classloader'/><title type='text'>OSGi and weird classloading issues</title><content type='html'>I just faced a weird Classloading issue in felix with a bundle using Castor XML to do some marshalling of business classes into XML...&lt;br /&gt;I followed an advice from the felix dev mailing list and set the Felix logging level to 4 (getting very useful messages) ... With this material I fixed my problem while setting the property : &lt;span class="st"&gt;org.&lt;em&gt;osgi&lt;/em&gt;.&lt;em&gt;framework&lt;/em&gt;.&lt;em&gt;bootdelegation to org.xml.sax and it works!!!&lt;/em&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="st"&gt;&lt;em&gt;&lt;br /&gt;&lt;/em&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="st"&gt;&lt;em&gt;Happy coding&lt;/em&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/14058418-6900844376289340654?l=romjethoughts.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://romjethoughts.blogspot.com/feeds/6900844376289340654/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=14058418&amp;postID=6900844376289340654' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/14058418/posts/default/6900844376289340654'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/14058418/posts/default/6900844376289340654'/><link rel='alternate' type='text/html' href='http://romjethoughts.blogspot.com/2012/01/osgi-and-weird-classloading-issues.html' title='OSGi and weird classloading issues'/><author><name>jerome moliere</name><uri>http://www.blogger.com/profile/09621674138041413397</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-14058418.post-1627664231716258493</id><published>2011-12-20T15:10:00.000-08:00</published><updated>2011-12-20T15:10:20.603-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='OSGi'/><category scheme='http://www.blogger.com/atom/ns#' term='book'/><title type='text'>OSGi Book ...... coming very soon</title><content type='html'>Hi all,&lt;br /&gt;I'm very excited to say that the book is finished now and is about going printed tomorrow.... After several monthes of infernous work , it's a very good thing to see it completed.... Don't worry about what to do next, I've several ideas ....&lt;br /&gt;&lt;br /&gt;I'll tell you more soon when it will be accessible online on the editor website...&lt;br /&gt;Happy coding &amp;amp; merry christmas&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/14058418-1627664231716258493?l=romjethoughts.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://romjethoughts.blogspot.com/feeds/1627664231716258493/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=14058418&amp;postID=1627664231716258493' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/14058418/posts/default/1627664231716258493'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/14058418/posts/default/1627664231716258493'/><link rel='alternate' type='text/html' href='http://romjethoughts.blogspot.com/2011/12/osgi-book-coming-very-soon.html' title='OSGi Book ...... coming very soon'/><author><name>jerome moliere</name><uri>http://www.blogger.com/profile/09621674138041413397</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-14058418.post-5650757868075565985</id><published>2011-12-08T01:29:00.000-08:00</published><updated>2011-12-08T01:29:25.904-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='DEBIAN'/><category scheme='http://www.blogger.com/atom/ns#' term='Thinkpad X201'/><category scheme='http://www.blogger.com/atom/ns#' term='audio'/><title type='text'>Thinkpad X201 , debian &amp; sound</title><content type='html'>Hi all,&lt;br /&gt;a few lines after several days fighting with my machine to get a fully functional solution with audio capture on Linux....&lt;br /&gt;I got a very good result after using in the &lt;b&gt;/etc/modprobe.d/alsa-base.conf&lt;/b&gt;&lt;br /&gt;&lt;i&gt;options snd-hda-intel model=ideapad&lt;/i&gt;&lt;br /&gt;&lt;br /&gt;This model was fetched after getting from my system the list of Codecs :&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://2.bp.blogspot.com/-K45rXZVV-h0/TuCA5NtLGcI/AAAAAAAAAYs/DBIuxohEg0E/s1600/Capture+du+2011-12-08+10%253A16%253A20.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;br /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://3.bp.blogspot.com/-rKwP6Xv23oA/TuCCMtJaxiI/AAAAAAAAAY0/SuJBnUoiGcE/s1600/Capture+du+2011-12-08+10%253A23%253A29.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="178" src="http://3.bp.blogspot.com/-rKwP6Xv23oA/TuCCMtJaxiI/AAAAAAAAAY0/SuJBnUoiGcE/s320/Capture+du+2011-12-08+10%253A23%253A29.png" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Now have a look into the ALSA docs while doing this...&lt;br /&gt;&lt;br /&gt;&lt;b&gt;/usr/share/doc/alsa-base/driver/HD-Audio-Models.txt&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;You can now use the alsa command to force reload:&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://3.bp.blogspot.com/-QOKaGBLewgw/TuCCxcbRmXI/AAAAAAAAAY8/AH2ckhP0Nz8/s1600/Capture+du+2011-12-08+10%253A26%253A04.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="178" src="http://3.bp.blogspot.com/-QOKaGBLewgw/TuCCxcbRmXI/AAAAAAAAAY8/AH2ckhP0Nz8/s320/Capture+du+2011-12-08+10%253A26%253A04.png" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;now the alsamixer should show every channels:&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://2.bp.blogspot.com/-YJTWR9W7v4o/TuCDClihRtI/AAAAAAAAAZE/RJTfK9PMLY8/s1600/Capture+du+2011-12-08+10%253A27%253A19.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="178" src="http://2.bp.blogspot.com/-YJTWR9W7v4o/TuCDClihRtI/AAAAAAAAAZE/RJTfK9PMLY8/s320/Capture+du+2011-12-08+10%253A27%253A19.png" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;and screen capture should be nice now.....&lt;br /&gt;&lt;br /&gt;Happy coding (screen acquiring)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/14058418-5650757868075565985?l=romjethoughts.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://romjethoughts.blogspot.com/feeds/5650757868075565985/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=14058418&amp;postID=5650757868075565985' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/14058418/posts/default/5650757868075565985'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/14058418/posts/default/5650757868075565985'/><link rel='alternate' type='text/html' href='http://romjethoughts.blogspot.com/2011/12/thinkpad-x201-debian-sound.html' title='Thinkpad X201 , debian &amp; sound'/><author><name>jerome moliere</name><uri>http://www.blogger.com/profile/09621674138041413397</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/-rKwP6Xv23oA/TuCCMtJaxiI/AAAAAAAAAY0/SuJBnUoiGcE/s72-c/Capture+du+2011-12-08+10%253A23%253A29.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-14058418.post-1765664224340067473</id><published>2011-11-03T09:16:00.000-07:00</published><updated>2011-11-03T09:19:59.162-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='git'/><category scheme='http://www.blogger.com/atom/ns#' term='proxy web'/><category scheme='http://www.blogger.com/atom/ns#' term='shell'/><title type='text'>Git , shell and a proxy on the same boat...</title><content type='html'>Hi all,&lt;br /&gt;just encountered a small problem so this is the solution I used to succeed in cloning a repository from the guthub website using the git command at my customers site.&lt;br /&gt;They use a corporate proxy (squid cache) and trying to simply setup the proxy with the standard export from my shell:&lt;br /&gt;export http_proxy = ....&lt;br /&gt;does not work and git fail with such message:&lt;br /&gt;git failed to connect to ... operation now in progress&lt;br /&gt;&lt;br /&gt;I wished to use the https URL but it failed so I switched to the standard HTTP protocol (same URL removing the 's' character from the protocol part) , I succeeded with one another trick while setting the port number explicitly ....&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://1.bp.blogspot.com/---75ToS77iE/TrK-_g8QIwI/AAAAAAAAAYY/UPe8SH4q9Ug/s1600/blog-git-proxy.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="86" src="http://1.bp.blogspot.com/---75ToS77iE/TrK-_g8QIwI/AAAAAAAAAYY/UPe8SH4q9Ug/s320/blog-git-proxy.png" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;This is an snapshot from my shell showing the latest trick... &lt;br /&gt;&lt;br /&gt;Happy coding&lt;br /&gt;jerome&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/14058418-1765664224340067473?l=romjethoughts.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://romjethoughts.blogspot.com/feeds/1765664224340067473/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=14058418&amp;postID=1765664224340067473' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/14058418/posts/default/1765664224340067473'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/14058418/posts/default/1765664224340067473'/><link rel='alternate' type='text/html' href='http://romjethoughts.blogspot.com/2011/11/git-shell-and-proxy-on-same-boat.html' title='Git , shell and a proxy on the same boat...'/><author><name>jerome moliere</name><uri>http://www.blogger.com/profile/09621674138041413397</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/---75ToS77iE/TrK-_g8QIwI/AAAAAAAAAYY/UPe8SH4q9Ug/s72-c/blog-git-proxy.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-14058418.post-3545471550550734880</id><published>2011-10-15T06:38:00.000-07:00</published><updated>2011-10-15T06:38:05.354-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Java One'/><category scheme='http://www.blogger.com/atom/ns#' term='Java'/><title type='text'>Java One feedback - When Oracle killed Duke party</title><content type='html'>Hi all,&lt;br /&gt;another post relating my recent trip to San Francisco and the week spent in Java One....&lt;br /&gt;My opinion is :&lt;br /&gt;&lt;ul&gt;&lt;li&gt;too many overlapping on session themes , with same speakers, same set of slides, same exemples for 3 or 4 sessions ....&lt;/li&gt;&lt;li&gt;some very handy themes have been totally forgotten (what about NIO ?)&lt;/li&gt;&lt;li&gt;too many sessions cancelled&lt;/li&gt;&lt;li&gt;too many sessions totally uninteresting (no concrete feedback, bad presentation material...)&lt;/li&gt;&lt;li&gt;network infrastructure was very poor (unable to connect to the Oracle wifi network during the whole week, obliged to use the Hilton wifi bandwidth unsufficient for the huge number of simultaneous connections)&lt;/li&gt;&lt;li&gt;using different sites for the different sessions without providing any assistance to attendees is just a scandal...Moscone Center was already full with the Oracle World sessions...&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;As a summary just a few very valuable sessions (may be 3 in the week plus the Java University day )...&lt;br /&gt;I am convinced that Oracle tried to make money with this event and for 2800 dollars of registration I am far from getting a concrete return on my investment... I don't like Sting much so seeing Sting in private concert is not for me a real argument for becoming found of Java One ..I would have preferred many wonderful sessions with major speakers than seeing my money invested into such event..&amp;nbsp; &lt;br /&gt;I don't think I will return to the big Java party...&lt;br /&gt;&lt;br /&gt;May Java be with you&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/14058418-3545471550550734880?l=romjethoughts.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://romjethoughts.blogspot.com/feeds/3545471550550734880/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=14058418&amp;postID=3545471550550734880' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/14058418/posts/default/3545471550550734880'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/14058418/posts/default/3545471550550734880'/><link rel='alternate' type='text/html' href='http://romjethoughts.blogspot.com/2011/10/java-one-feedback-when-oracle-killed.html' title='Java One feedback - When Oracle killed Duke party'/><author><name>jerome moliere</name><uri>http://www.blogger.com/profile/09621674138041413397</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-14058418.post-3133158209158397049</id><published>2011-10-15T06:22:00.000-07:00</published><updated>2011-10-15T06:22:33.615-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='performance'/><category scheme='http://www.blogger.com/atom/ns#' term='Java'/><category scheme='http://www.blogger.com/atom/ns#' term='visualvm'/><category scheme='http://www.blogger.com/atom/ns#' term='gc memory'/><category scheme='http://www.blogger.com/atom/ns#' term='visualgc'/><title type='text'>I love visual vm!!!</title><content type='html'>Hi all,&lt;br /&gt;after JavaOne where I attended all sessions devoted to JVM &amp;amp; performance and preparing training courses dealing with those subjects I spent a few hours playing with Visual VM, this tool changed a lot since my latest usage...&lt;br /&gt;Impressive tool capabilities enhanced by several plugins , my preferred is of course Visual-GC...&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://1.bp.blogspot.com/-eB5Y_3A4gyw/TpmIm6IlfCI/AAAAAAAAAYE/gHZho4zlQs0/s1600/snapshot-visualgc.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="209" src="http://1.bp.blogspot.com/-eB5Y_3A4gyw/TpmIm6IlfCI/AAAAAAAAAYE/gHZho4zlQs0/s320/snapshot-visualgc.png" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;This single plugin is by itself sufficient to understand where most performance problems arise and is a tremendous tool to explain memory layout and GC work....&lt;br /&gt;&lt;br /&gt;May Java be with you&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/14058418-3133158209158397049?l=romjethoughts.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://romjethoughts.blogspot.com/feeds/3133158209158397049/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=14058418&amp;postID=3133158209158397049' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/14058418/posts/default/3133158209158397049'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/14058418/posts/default/3133158209158397049'/><link rel='alternate' type='text/html' href='http://romjethoughts.blogspot.com/2011/10/i-love-visual-vm.html' title='I love visual vm!!!'/><author><name>jerome moliere</name><uri>http://www.blogger.com/profile/09621674138041413397</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/-eB5Y_3A4gyw/TpmIm6IlfCI/AAAAAAAAAYE/gHZho4zlQs0/s72-c/snapshot-visualgc.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-14058418.post-1397262514714255944</id><published>2011-09-26T06:58:00.000-07:00</published><updated>2011-09-26T06:58:48.690-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='introduction'/><category scheme='http://www.blogger.com/atom/ns#' term='OSGi'/><category scheme='http://www.blogger.com/atom/ns#' term='article'/><title type='text'>JAXEnter article</title><content type='html'>For those wishing to have a gentle introduction to OSGi please take the time to read my article (in english) and available &lt;a href="http://jaxenter.com/a-gentle-introduction-to-osgi-37543.html"&gt;here&lt;/a&gt;...&lt;br /&gt;feedbacks welcome&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/14058418-1397262514714255944?l=romjethoughts.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://romjethoughts.blogspot.com/feeds/1397262514714255944/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=14058418&amp;postID=1397262514714255944' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/14058418/posts/default/1397262514714255944'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/14058418/posts/default/1397262514714255944'/><link rel='alternate' type='text/html' href='http://romjethoughts.blogspot.com/2011/09/jaxenter-article.html' title='JAXEnter article'/><author><name>jerome moliere</name><uri>http://www.blogger.com/profile/09621674138041413397</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-14058418.post-6817987560041614323</id><published>2011-09-26T06:16:00.000-07:00</published><updated>2011-09-26T06:16:15.685-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Java One'/><category scheme='http://www.blogger.com/atom/ns#' term='OSGi'/><category scheme='http://www.blogger.com/atom/ns#' term='travels'/><title type='text'>Goodbye Darmstadt , hello San Francisco</title><content type='html'>Hi all,&lt;br /&gt;&lt;br /&gt;I spent 2 wonderful in Darmstadt last week, for the OSGi Con Europe conference. 2 exceptional days with the best actors in the OSGi world:&lt;br /&gt;- Peter Kriens of course&lt;br /&gt;- Neil Barlett (bndtools father)&lt;br /&gt;- Mike Francis and Richard Nicholson from Paremus , most advanced distributed OSGi project&lt;br /&gt;&lt;br /&gt;- krister Larson from MakeWave (knopflerfish father)&lt;br /&gt;- and many more&lt;br /&gt;&lt;br /&gt;Very interesting conferences, beautiful barbecue in a very sympathic atmosphere...&lt;br /&gt;Next week I 'll be for the first time to the big Java fiesta : Java One....&lt;br /&gt;I'll start my week while working on sunday to attend a Java university day dealing with extreme performance, a very valuable subject ....&lt;br /&gt;May Java be with you&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/14058418-6817987560041614323?l=romjethoughts.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://romjethoughts.blogspot.com/feeds/6817987560041614323/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=14058418&amp;postID=6817987560041614323' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/14058418/posts/default/6817987560041614323'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/14058418/posts/default/6817987560041614323'/><link rel='alternate' type='text/html' href='http://romjethoughts.blogspot.com/2011/09/goodbye-darmstadt-hello-san-francisco.html' title='Goodbye Darmstadt , hello San Francisco'/><author><name>jerome moliere</name><uri>http://www.blogger.com/profile/09621674138041413397</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-14058418.post-7250470909365136046</id><published>2011-09-12T04:52:00.000-07:00</published><updated>2011-09-12T04:52:36.220-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='repositories'/><category scheme='http://www.blogger.com/atom/ns#' term='software'/><category scheme='http://www.blogger.com/atom/ns#' term='Continuus Integration'/><category scheme='http://www.blogger.com/atom/ns#' term='Maven'/><category scheme='http://www.blogger.com/atom/ns#' term='semantic versioning'/><title type='text'>Why Maven can't work ?</title><content type='html'>Hi all,&lt;br /&gt;another&amp;nbsp;flame-war&amp;nbsp;thread &amp;nbsp;? No, definitely not, but you 'll find above a pragmatic analysis of why Maven projects fail ....&lt;br /&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Maven repositories are never up .... Have you ever seen an ibiblio repository finding your library ?&lt;/li&gt;&lt;li&gt;Maven POMs are stupid, descriptors are ugly and useless&lt;/li&gt;&lt;li&gt;Maven makes simple things tricky and complex ones impossible... Triyng to rule &amp;nbsp; the project lifecycle is a very tricky challenge....A simple example for this point is how to deal with publication of multiple jars with Maven (yes it's possible but for me it's very tricky) like publishing API &amp;amp; implementation jar files.&lt;/li&gt;&lt;li&gt;Maven philosophy goes wrong... How could the Maven integrate well with most of the Java projects ? The plugin philosophy reaches its limits.... Why Maven handles project versions as plain strings ? How could you easily manage versions numbers like 2.5.6.FINAL or 3.2.1.RELEASE ? It 's stupid and useless , Maven should definitely use a numbering scheme like the one purposed by the OSGi staff? I can't recommand enough you to read this whitepaper :&amp;nbsp;&lt;span class="Apple-style-span" style="background-color: white; color: #0e774a; font-family: arial, sans-serif; font-size: x-small; line-height: 15px;"&gt;www.&lt;b&gt;osgi&lt;/b&gt;.org/wiki/uploads/Links/Semantic&lt;b&gt;Versioning&lt;/b&gt;.pdf,&lt;/span&gt;&lt;/li&gt;&lt;/ul&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-family: arial, sans-serif; font-size: x-small;"&gt;&lt;span class="Apple-style-span" style="line-height: 15px;"&gt;These different points make Maven very hard to use in any Continuus Integration process... I faced contexts where an Ivy engine dealing with dependencies described as Maven POMs where unable to imagine what was the ordering relationship between 2 versions of the same component.... I finished a few weeks ago to set up an Hudson repository hosting a quite huge project with over 300 OSGi bundles (each one having its own dependencies set)...&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-family: arial, sans-serif; font-size: x-small;"&gt;&lt;span class="Apple-style-span" style="line-height: 15px;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-family: arial, sans-serif; font-size: x-small;"&gt;&lt;span class="Apple-style-span" style="line-height: 15px;"&gt;I am an Open source advocate but availability of the repositories is one big problem for me , because after being unable to deliver &amp;nbsp;versions for a few days because of &amp;nbsp;unusable repositories , I think that many companies would be ready to pay for having such service .... Moreover I think that most companies all over the world would be ready to pay for getting strong repositories that is to say to have complete strong &amp;amp; robust sets of software components... This is one the main themes of my lunches with Peter Kriens in Lansargues -)&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-family: arial, sans-serif; font-size: x-small;"&gt;&lt;span class="Apple-style-span" style="line-height: 15px;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-family: arial, sans-serif; font-size: x-small;"&gt;&lt;span class="Apple-style-span" style="line-height: 15px;"&gt;May Java be with you&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/14058418-7250470909365136046?l=romjethoughts.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://romjethoughts.blogspot.com/feeds/7250470909365136046/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=14058418&amp;postID=7250470909365136046' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/14058418/posts/default/7250470909365136046'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/14058418/posts/default/7250470909365136046'/><link rel='alternate' type='text/html' href='http://romjethoughts.blogspot.com/2011/09/why-maven-cant-work.html' title='Why Maven can&apos;t work ?'/><author><name>jerome moliere</name><uri>http://www.blogger.com/profile/09621674138041413397</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-14058418.post-5833497646297850088</id><published>2011-09-06T00:43:00.000-07:00</published><updated>2011-09-06T00:43:53.903-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='talks trips humor'/><title type='text'>Next trips</title><content type='html'>Hi all,&lt;br /&gt;I am about given a talk in OSGi Con Europe in Germany (Darmstadt near Francfort) and I will assist for the first time to JavaOne in San Fransisco from 2 to 6 th October..... It may be the way for me to buy the news Blackberry 9900 or 9930 smartphone (9900 should be available soon in France, 9930 won't be)...&lt;br /&gt;&lt;br /&gt;I must finish my slides for the upcoming talk , don't know yet if very graphical slides are best than more boring but full of material ones ? It's &amp;nbsp;a matter a style I guess and I am not very confident with all Office suites ...&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Meet you soon somewhere where Java rules&lt;br /&gt;&lt;br /&gt;Jerome&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/14058418-5833497646297850088?l=romjethoughts.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://romjethoughts.blogspot.com/feeds/5833497646297850088/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=14058418&amp;postID=5833497646297850088' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/14058418/posts/default/5833497646297850088'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/14058418/posts/default/5833497646297850088'/><link rel='alternate' type='text/html' href='http://romjethoughts.blogspot.com/2011/09/next-trips.html' title='Next trips'/><author><name>jerome moliere</name><uri>http://www.blogger.com/profile/09621674138041413397</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-14058418.post-792841851400130664</id><published>2011-09-05T06:40:00.000-07:00</published><updated>2011-09-05T06:40:54.895-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='performance'/><category scheme='http://www.blogger.com/atom/ns#' term='tuning'/><category scheme='http://www.blogger.com/atom/ns#' term='SQLite'/><category scheme='http://www.blogger.com/atom/ns#' term='OSGi'/><category scheme='http://www.blogger.com/atom/ns#' term='JDBC'/><title type='text'>SQLite performance tuning</title><content type='html'>&lt;br /&gt;Hi all,&lt;br /&gt;just finished a very interest work : a technical study of SQlite tuning.&lt;br /&gt;I developed a custom application deployed as a set of OSGi bundles to benchmark some set of parameters of the SQLite connections. &amp;nbsp;I used intensively the concept of&amp;nbsp;&lt;b&gt;PRAGMA&lt;/b&gt;&amp;nbsp;as taken from SQlite architecture.&lt;br /&gt;&amp;nbsp;&lt;a href="http://www.sqlite.org/pragma.html"&gt;Official SQLite pragma doc&lt;/a&gt;&lt;br /&gt;Pragma are set using standard statements while initializing connections and enable us to fine tune SQLite behavior.&lt;br /&gt;The results from this work are wonderful, when theory meets concrete experience :&lt;br /&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;reducing the number of transactions is a must have in your code , even for local ones, transactions are expensive&lt;/li&gt;&lt;li&gt;the synchronous pragma shows how file systems notifications can be expensive&lt;/li&gt;&lt;li&gt;mastering journal may be another way to reduce I/O times&lt;/li&gt;&lt;li&gt;using SQLite into EXCLUSIVE way reduces locking so saves many time&lt;/li&gt;&lt;/ul&gt;&lt;div&gt;I did not have time enough to develop use cases showing concrete effects of tuning parameters related to locking (READ_UNCOMMITTED and SHARED_MODE) but may be in the next days..... Such use cases require me to add a little bit of complexity to my framework to handle &amp;nbsp;shared resources among different transactions that is to say :&lt;/div&gt;&lt;div&gt;&lt;ol&gt;&lt;li&gt;a transaction running with inserts into a table TEST&lt;/li&gt;&lt;li&gt;another transaction running with queries like select count(*) from TEST&lt;/li&gt;&lt;/ol&gt;&lt;div&gt;Shared mode may be a good way to the second transaction not waiting for the first one to be committed....&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;I used the xerial JDBC driver with success :&amp;nbsp;&lt;a href="http://www.xerial.org/trac/Xerial/wiki/SQLiteJDBC"&gt;link to Xerial Website&lt;/a&gt;&lt;/div&gt;&lt;div&gt;Just a remark , it seems that&amp;nbsp;&lt;i&gt;SQLiteConfig&lt;/i&gt;&amp;nbsp;class introduced by the framework does not work , it keeps bringing me null connections while setting different pragmas... Setting them directly through JDBC statements over the&amp;nbsp;&lt;i&gt;java.sql.Connection&lt;/i&gt;&amp;nbsp;obtained from&amp;nbsp;&lt;i&gt;DriverManager&lt;/i&gt;&amp;nbsp;works nice....&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;It's quite impressive to see how easy it is to ask to a database not to check integrity constraints and to see performance raising .....&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;May Java be with you&lt;/div&gt;&lt;div&gt;Jerome&lt;/div&gt;&lt;br /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/14058418-792841851400130664?l=romjethoughts.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://romjethoughts.blogspot.com/feeds/792841851400130664/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=14058418&amp;postID=792841851400130664' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/14058418/posts/default/792841851400130664'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/14058418/posts/default/792841851400130664'/><link rel='alternate' type='text/html' href='http://romjethoughts.blogspot.com/2011/09/sqlite-performance-tuning.html' title='SQLite performance tuning'/><author><name>jerome moliere</name><uri>http://www.blogger.com/profile/09621674138041413397</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-14058418.post-6762874185460458890</id><published>2011-03-23T10:21:00.000-07:00</published><updated>2011-03-23T10:21:21.793-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Java renaissance future'/><title type='text'>Java Renaissance: EclipseCon keynotes 23/03/2011</title><content type='html'>Hi all,&lt;br /&gt;I just left the keynotes from EclipseCon 2011...&lt;br /&gt;This morning the course was very appetizing with a keynote hold by John Duinovich &amp;amp; Mark Reinhold &amp;nbsp;from IBM &amp;amp; Oracle ... The aim of this talk was to show how IBM joined the OpenJDK ...&lt;br /&gt;This talk was a way to get first details on the Java language evolvings since latest Java 6 is about 5 years old now..&lt;br /&gt;IBM contributions to OpenJDK aims to speed up JCp process, optimize the JVM and may be optimize costs for both giant companies.&lt;br /&gt;This talk gave me visibility over the next steps for Java:&lt;br /&gt;- Java 7 release date (GA) is 2011/07/28&lt;br /&gt;first RC version is expected on 2011/05/11&lt;br /&gt;It will bring us :&lt;br /&gt;project Coin (JSR 335) , a few languages improvements&lt;br /&gt;More new IO API&lt;br /&gt;Fork/Join API&lt;br /&gt;&lt;br /&gt;language improvements sound to be gadgets for me with introdction of support of Strings types in switch ..yes but switch is a non oriented design so what ?&lt;br /&gt;&lt;br /&gt;Java 8 : release date :late 2012&lt;br /&gt;integration of the lambda project (aka closures)&lt;br /&gt;introducing Process Control API, Date &amp;amp; Time API and many more&lt;br /&gt;Modularity &amp;amp; support for OSGi is on the main goal of such version&lt;br /&gt;Defining dependencies using meta data (a la OSGi)&lt;br /&gt;enabling to deliver .rpm, .deb and other distributions formats while using mvn repositories to store dependencies&lt;br /&gt;&lt;br /&gt;Pretty program -)&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Java 9 first overview without any release timing:&lt;br /&gt;enabling a better handling of new hardware platforms with different APIs:&lt;br /&gt;NUMA&lt;br /&gt;Multi agressive cores&lt;br /&gt;handling huge heaps (dozens of Gb)&lt;br /&gt;&lt;br /&gt;Reification is on the pipe too , getting a concrete answer to type erasure problem appeared since Java 5&lt;br /&gt;better communication with scripting languages is on the road too with the Meta Objects Protocol&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Happy coding from California&lt;br /&gt;jerome&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/14058418-6762874185460458890?l=romjethoughts.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://romjethoughts.blogspot.com/feeds/6762874185460458890/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=14058418&amp;postID=6762874185460458890' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/14058418/posts/default/6762874185460458890'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/14058418/posts/default/6762874185460458890'/><link rel='alternate' type='text/html' href='http://romjethoughts.blogspot.com/2011/03/java-renaissance-eclipsecon-keynotes.html' title='Java Renaissance: EclipseCon keynotes 23/03/2011'/><author><name>jerome moliere</name><uri>http://www.blogger.com/profile/09621674138041413397</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-14058418.post-9083182981229398394</id><published>2011-03-22T11:22:00.000-07:00</published><updated>2011-03-22T11:22:29.757-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='OSGi Con conference'/><title type='text'>First conferences in OSGi Con</title><content type='html'>Hi,&lt;br /&gt;I tried to attend my 2 first conferences in OSGi Con this morning, results are not so beautiful:&lt;br /&gt;- first one dealing with distributed OSGi , interesting subject , but a speaker very hard to understand, very confusing in his speech&lt;br /&gt;- second one dealing with Apache Aries , cancelled&lt;br /&gt;&lt;br /&gt;I hope to more lucky later&lt;br /&gt;&lt;br /&gt;jerome&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/14058418-9083182981229398394?l=romjethoughts.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://romjethoughts.blogspot.com/feeds/9083182981229398394/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=14058418&amp;postID=9083182981229398394' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/14058418/posts/default/9083182981229398394'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/14058418/posts/default/9083182981229398394'/><link rel='alternate' type='text/html' href='http://romjethoughts.blogspot.com/2011/03/first-conferences-in-osgi-con.html' title='First conferences in OSGi Con'/><author><name>jerome moliere</name><uri>http://www.blogger.com/profile/09621674138041413397</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-14058418.post-7339145851381134444</id><published>2011-03-21T15:08:00.000-07:00</published><updated>2011-03-21T15:08:23.998-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='trip business OSGi Con'/><title type='text'>Surfing bear</title><content type='html'>Hi all,&lt;br /&gt;Jerome aka romje aka the bear crossed the Altantic to attend the annual mess of the OSGi users.&lt;br /&gt;I will have a talk on next Wednesday , I'm a little bit excited even if I fear for my lack of skills in english oral communication. -)&lt;br /&gt;&lt;br /&gt;So the bear in America &amp;nbsp;(Santa Clara California) had the opportunity to meet after more than 10 years of electronic discussion by email , Cedric Beust, we shared a nice lunch ...&lt;br /&gt;&lt;br /&gt;Weather here is not very clement, it's very cloudy with many rains but who cares ?&lt;br /&gt;Golden gate was wonderful yesterday...&lt;br /&gt;&lt;br /&gt;happy coding&lt;br /&gt;jerome&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/14058418-7339145851381134444?l=romjethoughts.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://romjethoughts.blogspot.com/feeds/7339145851381134444/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=14058418&amp;postID=7339145851381134444' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/14058418/posts/default/7339145851381134444'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/14058418/posts/default/7339145851381134444'/><link rel='alternate' type='text/html' href='http://romjethoughts.blogspot.com/2011/03/surfing-bear.html' title='Surfing bear'/><author><name>jerome moliere</name><uri>http://www.blogger.com/profile/09621674138041413397</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-14058418.post-835995910505219827</id><published>2011-03-02T14:44:00.000-08:00</published><updated>2011-03-02T14:44:16.013-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Thinkpad Lenovo Debian Squeeze X201'/><title type='text'>Squeeze is here ..my new laptop too</title><content type='html'>Hi all,&lt;br /&gt;I received last week my new laptop: a Lenovo Thinkpad X201 with 8Gb RAM , 256 Gb SSD disk...&lt;br /&gt;Quite the same machine as my previous Sony VAIO Z12 excepted that:&lt;br /&gt;- cooling works nicely (working with a CPU at 85 °C is very hard and very bad for the chocolate)&lt;br /&gt;- all devices are nicely managed by the 2.6.32 kernel patched by the Debian team&lt;br /&gt;&lt;br /&gt;I don't need anymore to have handcrafted to work ...(like with the ArchLinux used on the VAIO)&lt;br /&gt;&lt;br /&gt;The machine is horrible but seems to be very well designed...&lt;br /&gt;&lt;br /&gt;I used this occasion to install Xen 4.0 on the debian &amp;amp; all works perfectly , even not a single problem ( -) ) to get up and running my first DomU on this machine....&lt;br /&gt;I guess I'll find soon some time to get at very quick howto on this subject...&lt;br /&gt;&lt;br /&gt;I will return on OSGi code&lt;br /&gt;&lt;br /&gt;Happy coding&lt;br /&gt;Jerome&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/14058418-835995910505219827?l=romjethoughts.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://romjethoughts.blogspot.com/feeds/835995910505219827/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=14058418&amp;postID=835995910505219827' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/14058418/posts/default/835995910505219827'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/14058418/posts/default/835995910505219827'/><link rel='alternate' type='text/html' href='http://romjethoughts.blogspot.com/2011/03/squeeze-is-here-my-new-laptop-too.html' title='Squeeze is here ..my new laptop too'/><author><name>jerome moliere</name><uri>http://www.blogger.com/profile/09621674138041413397</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-14058418.post-2908943665232879291</id><published>2011-01-15T10:33:00.000-08:00</published><updated>2011-01-15T10:33:33.597-08:00</updated><title type='text'>Jboss 5.1 &amp; VFS behaviour</title><content type='html'>Hi ,&lt;br /&gt;this post is relate'd to a new feature of the Jboss 5 release called 'VFS'. Asany veteran developer you may have guessed that this feature is a way for Jboss team to map any file (bringing one abstraction layer over the file system behaviours on different OS).&lt;br /&gt;This abstraction layer is due to the strong desire for JBoss to target the developpers and to bring attractive features like hot deployment.This feature is quite useless in any production ...&lt;br /&gt;Defaut configuration of the VFS component into the Jboss micro container induces weird problems with filesystems filling up still exploding!!!&lt;br /&gt;It turns out that cache misses induce reload &amp;amp; unzipping of the components...&lt;br /&gt;&lt;br /&gt;I faced this problems and found a quite solution using an hidden parameter into the Jboss components...IterableTimedVFSCache inherits an attribute called defaultLifeTime..This parameter used in conjonction with resolution (fixed to 60) enables us to define cache retention..Using a very high value (as an Integer 2^31 -1) gives a quite good solution...&lt;br /&gt;&lt;br /&gt;Problem fixed&lt;br /&gt;Hopes this helps&lt;br /&gt;May java be with you&lt;br /&gt;&lt;br /&gt;Jerome&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/14058418-2908943665232879291?l=romjethoughts.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://romjethoughts.blogspot.com/feeds/2908943665232879291/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=14058418&amp;postID=2908943665232879291' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/14058418/posts/default/2908943665232879291'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/14058418/posts/default/2908943665232879291'/><link rel='alternate' type='text/html' href='http://romjethoughts.blogspot.com/2011/01/jboss-51-vfs-behaviour.html' title='Jboss 5.1 &amp; VFS behaviour'/><author><name>jerome moliere</name><uri>http://www.blogger.com/profile/09621674138041413397</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-14058418.post-1954988632027466164</id><published>2010-11-02T07:58:00.000-07:00</published><updated>2010-11-02T07:58:36.037-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='osgi dependencies injection bndtools eclipse'/><title type='text'>OSGi &amp; Declarative Services</title><content type='html'>Hi all,&lt;br /&gt;the OSGi MasterClass was the way for me to discover benefits from the standard OSGi declarative services and a tremendous tool : bndtools. Bndtools is quite sufficient to rediscover Eclipse (I left this tool from more than 4 years )...&lt;br /&gt;Declarative Services are a marvellous way for me at customers site to remove the bad Spring injection (limited because static and coming with dozens of libraries ) by a small &amp;amp; efficient way to inject dependencies .&lt;br /&gt;A next entry will introduce this subject with code &amp;amp; screenshots....&lt;br /&gt;I used extensively bndtools to gain:&lt;br /&gt;- full control over OSGi Meta information&lt;br /&gt;- efficiency (it's a quick and robust way to develop OSGi bundles)&lt;br /&gt;&lt;br /&gt;More Neil Barlett (coder of bndtools) is a very nice guy , impressive by his quickness to adapt the product to user experiences , very pleasant &amp;amp; with a deep knowledge of OSGi architectures.&lt;br /&gt;&lt;br /&gt;Happy coding&lt;br /&gt;jerome&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/14058418-1954988632027466164?l=romjethoughts.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://romjethoughts.blogspot.com/feeds/1954988632027466164/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=14058418&amp;postID=1954988632027466164' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/14058418/posts/default/1954988632027466164'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/14058418/posts/default/1954988632027466164'/><link rel='alternate' type='text/html' href='http://romjethoughts.blogspot.com/2010/11/osgi-declarative-services.html' title='OSGi &amp; Declarative Services'/><author><name>jerome moliere</name><uri>http://www.blogger.com/profile/09621674138041413397</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-14058418.post-5406039984831031969</id><published>2010-10-14T01:02:00.000-07:00</published><updated>2010-10-14T01:02:25.717-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='OSGi course Java'/><title type='text'>OSGi MasterClass</title><content type='html'>Hi all,&lt;br /&gt;I 'm just returning from 2 days spent in girona (Spain) for the OSGi MasterClass lead by Peter kriens et Neil Barlett.... The not mandatory introductory day was fantastic , it was the way for me to discuss with Neil &amp;amp; Peter, to use bndtools (I just used bnd from ant before) and to discover OSGi declarative services...&lt;br /&gt;The first official day was a lost of time with a repeat from what should have been mentionned as a requisite for the course....&lt;br /&gt;Don't care I left because too many things to do ... But I think that this masterclass could become a wonderful source of knowledge with a little more organisation.....&lt;br /&gt;&lt;br /&gt;Happy coding&lt;br /&gt;Jerome&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/14058418-5406039984831031969?l=romjethoughts.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://romjethoughts.blogspot.com/feeds/5406039984831031969/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=14058418&amp;postID=5406039984831031969' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/14058418/posts/default/5406039984831031969'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/14058418/posts/default/5406039984831031969'/><link rel='alternate' type='text/html' href='http://romjethoughts.blogspot.com/2010/10/osgi-masterclass.html' title='OSGi MasterClass'/><author><name>jerome moliere</name><uri>http://www.blogger.com/profile/09621674138041413397</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-14058418.post-7285871531059313926</id><published>2010-08-27T07:16:00.000-07:00</published><updated>2010-08-27T07:16:42.789-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Linux debian hardware sid'/><title type='text'>Linux running on the Sony VAIO  VPC Z1</title><content type='html'>Hi all,&lt;br /&gt;&lt;br /&gt;I just received (last week) my new laptop, a wonderful machine : Sony VAIO VPC Z1..&lt;br /&gt;Small, very lightweight (1.5kg) , elegant with plenty memory (8Gb) and many disk space (500Gb 7200rpms).&lt;br /&gt;I started with the default install (windows 7 profesiional) to check that everything went ok...nice it works&lt;br /&gt;Now, let's go to resize the initial partitioning...reduce the windows partition to 100Gb it's enough for me to setup some games... Booting on a CD image running a LiveCD with GParted and that's it..&lt;br /&gt;Ok now let's try to install Linux on this marvellous machine...&lt;br /&gt;The hell starts here...&lt;br /&gt;Trying to install with debian Lenny CD (5.0r5) and was unable to find network card or my wifi ...&lt;br /&gt;Ok no problem, let's try with the debian testing, a few minutes later I came back with a fresh&amp;nbsp; netinstall CD just downloaded (and checked through MD5)...No way to install on my disk, it's not detected... Ugly situation&lt;br /&gt;Ok I 've got a fresh sidux (debian distribution based on debian sid ) running a 2.6.34 kernel....It runs but the console obtained is unusable (bad colors) and text unreadable once displayed..Oops..&lt;br /&gt;One more test with debian sid, same result...&lt;br /&gt;&lt;br /&gt;Damned Linux can't run on VAIO ?&lt;br /&gt;&amp;nbsp;Hopefully not.. I found this page which saved my life: http://lowl.net/linux-vaio-vpc-z.html&lt;br /&gt;I followed the different advices and obtained a running machine after compiling a quite fresh 2.6.34-5 kernel from source, patching it to get a good driver for the intel 915 graphics card embedded, adding modules to get keyboard shortcuts functional...&lt;br /&gt;Status :&lt;br /&gt;-&amp;gt; network is ok (wifi too)&lt;br /&gt;&amp;nbsp;-&amp;gt; i915 works well&lt;br /&gt;-&amp;gt; trackpad hangs from time to time&lt;br /&gt;-&amp;gt; bios flashed succesfully to get a running&amp;nbsp; hybrid switch button ....State saved after each boot..So selecting your card after booting now works&lt;br /&gt;I didn't try to use WWAN services (don't understand what it exactly means) nor the integrated webcam (no application using it ..amsn maybe ? but I don't use instant mesenging solutions )&lt;br /&gt;&lt;br /&gt;Linux rulez and debian rocks..&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/14058418-7285871531059313926?l=romjethoughts.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://romjethoughts.blogspot.com/feeds/7285871531059313926/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=14058418&amp;postID=7285871531059313926' title='5 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/14058418/posts/default/7285871531059313926'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/14058418/posts/default/7285871531059313926'/><link rel='alternate' type='text/html' href='http://romjethoughts.blogspot.com/2010/08/linux-running-on-sony-vaio-vpc-z1.html' title='Linux running on the Sony VAIO  VPC Z1'/><author><name>jerome moliere</name><uri>http://www.blogger.com/profile/09621674138041413397</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>5</thr:total></entry><entry><id>tag:blogger.com,1999:blog-14058418.post-343662766507728883</id><published>2010-02-24T09:34:00.000-08:00</published><updated>2010-02-24T09:45:23.113-08:00</updated><title type='text'>Bug with Java Networking with my debian Squid (aka testing)</title><content type='html'>Hi all,&lt;br /&gt;upgraded to testing a few weeks ago, I did not use my Java samples for a while and while trying to update Idea IntelliJ or Netbeans I faced network failures (No route to host ..)..I already encountered clever problems like these , so I guessed that it was a dual stack problem...&lt;br /&gt;So I googled for the way to unset IPV6 support on my box ..and it worked...&lt;br /&gt;My problem was annoying because networking was working with wired connections but not with wifi...Eveen my training samples (JDBC connections on my local Postgres database fail)&lt;br /&gt;To unset IPV6 support:&lt;br /&gt; /etc/sysctl.d/bindv6only.conf&lt;br /&gt;change to net.ipv6.bindv6only =0&lt;br /&gt;&lt;br /&gt;Now enjoy Java networking&lt;br /&gt;&lt;br /&gt;jerome&lt;br /&gt;&lt;br /&gt;And now enjoy&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/14058418-343662766507728883?l=romjethoughts.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://romjethoughts.blogspot.com/feeds/343662766507728883/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=14058418&amp;postID=343662766507728883' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/14058418/posts/default/343662766507728883'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/14058418/posts/default/343662766507728883'/><link rel='alternate' type='text/html' href='http://romjethoughts.blogspot.com/2010/02/bug-with-java-networking-with-my-debian.html' title='Bug with Java Networking with my debian Squid (aka testing)'/><author><name>jerome moliere</name><uri>http://www.blogger.com/profile/09621674138041413397</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-14058418.post-8526991968282180024</id><published>2010-02-01T07:57:00.000-08:00</published><updated>2010-02-01T08:21:46.317-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Java IDE IntelliJ'/><title type='text'>working with IntelliJ - First feedback</title><content type='html'>Hello,&lt;br /&gt;This is a quick summary of my first weeks of quite intensive usage of IntelliJ (I bought the 8.1 commercial version upgraded to 9.0 commercial one not community one):&lt;br /&gt;&lt;ul&gt;&lt;li&gt;quite lightweight (cool)&lt;/li&gt;&lt;li&gt;did'nt see any huge bugs (no hangs or explosures of your IDE)&lt;/li&gt;&lt;li&gt;no documentation at all, it's very confusing to see a commercial with a so poor documentation:&lt;/li&gt;&lt;li&gt; a few very incomplete PDF documents,&lt;/li&gt;&lt;li&gt; no serious documentation,&lt;/li&gt;&lt;li&gt; outdated FLash demos (nice to use proprietary formats) ,&lt;/li&gt;&lt;li&gt;very annoying  suggestions dealing with style and other themes: simply ridiculous, no interest to loose CPU to fix coding style problems while they can fixed on any CI server!!!!&lt;/li&gt;&lt;li&gt;this latest point is surprising when you use the Jetbrains product which is not so bad even if I prefer Hudson (more simple and lightweight)&lt;br /&gt;&lt;/li&gt;&lt;li&gt;no strict equivalent from Eclipse and netbeans quick fix buttons so nice to use&lt;/li&gt;&lt;li&gt;horrible product ergonomy , the incredible product list of features induces with such a design a very hard to use UI , with menus full of plenty options....You 'll loose an incredible amount of time while searching through the menus...The option is there but where !!!&lt;/li&gt;&lt;li&gt;Another annoying aspect of IntelliJ is another form of the lack from documentation : plugins ecosystem!!! you 'll find a page with the complete list of plugins but no way to know if these ones are obsolete (deprecated), I don't even know if Jetbrains people know that many of referenced plugins are useless ornow integrated as is in their product !!!&lt;/li&gt;&lt;li&gt;Internal product architecture can impose sevral limitations while trying to use advanced features (remote debuging,jconsole usage)&lt;/li&gt;&lt;li&gt;JEE integration works but for a small range of servers, I had the bad inhabit to use dozens from servers with my Netbeans..IntelliJ is far more restrictive...&lt;/li&gt;&lt;/ul&gt;May Java be with you&lt;br /&gt;Jerome&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/14058418-8526991968282180024?l=romjethoughts.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://romjethoughts.blogspot.com/feeds/8526991968282180024/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=14058418&amp;postID=8526991968282180024' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/14058418/posts/default/8526991968282180024'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/14058418/posts/default/8526991968282180024'/><link rel='alternate' type='text/html' href='http://romjethoughts.blogspot.com/2010/02/working-with-intellij-first-feedback.html' title='working with IntelliJ - First feedback'/><author><name>jerome moliere</name><uri>http://www.blogger.com/profile/09621674138041413397</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-14058418.post-8883264517395284622</id><published>2009-10-20T07:28:00.000-07:00</published><updated>2009-10-20T07:43:30.203-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='groovy closure'/><title type='text'>First steps with Groovy</title><content type='html'>Hi all,&lt;br /&gt;my latest toy : &lt;a href="http://www.gradle.org/"&gt;gradle&lt;/a&gt;  was for me the trigger to dive into &lt;a href="http://groovy.codehaus.org/"&gt;Groovy&lt;/a&gt;.&lt;br /&gt;As usual I wanted to make a small log parser for one application hosted on Jboss at customers site , trying to follow client connections, generate statistics (average response time, number of transactions handled, number of errors &amp;amp; so on)&lt;br /&gt;Playing with Groovy was for me a chance to test with a feature I just heard about : closures.&lt;br /&gt;My parser suits well to these tests , because depending on certain messages (patterns as definbed in the regular expressions world)  I must trigger different actions....This may suit perfectly to a quite advanced usage of closures..&lt;br /&gt;Storing in a map keys as strings (the different messages) associated with values as closures (reactions for these messages) I get a quite handy, extensible &amp;amp; powerful tool...&lt;br /&gt;So I tried to invoke my closures directly fetched from my map..This led me to the small code snippet following..&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;def Closure f1={println('hello from f1')}&lt;/span&gt; &lt;span style="font-style: italic;"&gt;&lt;br /&gt;def Closure f2={println('\n\nhello from f2\n\n') }&lt;br /&gt;&lt;/span&gt; &lt;span style="font-style: italic;"&gt;def Closure f3={println('hello world from f3')}&lt;/span&gt; &lt;span style="font-style: italic;"&gt;&lt;br /&gt;def map = ['1':f1,'2':f2,'3':f3]&lt;/span&gt;  &lt;span style="font-style: italic;"&gt;&lt;br /&gt;def values = ['1','2','3']&lt;/span&gt; &lt;span style="font-style: italic;"&gt;&lt;br /&gt;values.each {&lt;/span&gt; &lt;span style="font-style: italic;"&gt;  it -&gt;&lt;/span&gt; &lt;span style="font-style: italic;"&gt;  def closure = map.get(it)&lt;/span&gt; &lt;span style="font-style: italic;"&gt;  closure.run()&lt;/span&gt; &lt;span style="font-style: italic;"&gt;  println ( 'closure  type = ' + closure.class)&lt;/span&gt; &lt;span style="font-style: italic;"&gt;  closure.class.methods.each{it2 -&gt; println('Methode de la closure = ' + it2.name)}}&lt;/span&gt;&lt;br /&gt;Now running this code from the groovy interpreter gives me :&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;-\ --(\ \ 16:10\ :%)-\ -\  groovy test_closures.groovy                   --\ (Tue,Oct20)--&lt;/span&gt; &lt;span style="font-weight: bold;"&gt;hello from f1&lt;/span&gt; &lt;span style="font-weight: bold;"&gt;closure  type = class test_closures$_run_closure1&lt;/span&gt; &lt;span style="font-weight: bold;"&gt;Methode de la closure = doCall&lt;/span&gt; &lt;span style="font-weight: bold;"&gt;Methode de la closure = doCall&lt;/span&gt; &lt;span style="font-weight: bold;"&gt;Methode de la closure = run&lt;/span&gt; &lt;span style="font-weight: bold;"&gt;Methode de la closure = setProperty&lt;/span&gt; &lt;span style="font-weight: bold;"&gt;Methode de la closure = getProperty&lt;/span&gt; &lt;span style="font-weight: bold;"&gt;Methode de la closure = clone&lt;/span&gt; &lt;span style="font-weight: bold;"&gt;Methode de la closure = getParameterTypes&lt;/span&gt; &lt;span style="font-weight: bold;"&gt;Methode de la closure = setDelegate&lt;/span&gt; &lt;span style="font-weight: bold;"&gt;Methode de la closure = getOwner&lt;/span&gt; &lt;span style="font-weight: bold;"&gt;Methode de la closure = setResolveStrategy&lt;/span&gt; &lt;span style="font-weight: bold;"&gt;Methode de la closure = getResolveStrategy&lt;/span&gt; &lt;span style="font-weight: bold;"&gt;Methode de la closure = getThisObject&lt;/span&gt; &lt;span style="font-weight: bold;"&gt;Methode de la closure = isCase&lt;/span&gt; &lt;span style="font-weight: bold;"&gt;Methode de la closure = call&lt;/span&gt; &lt;span style="font-weight: bold;"&gt;Methode de la closure = call&lt;/span&gt; &lt;span style="font-weight: bold;"&gt;Methode de la closure = call&lt;/span&gt; &lt;span style="font-weight: bold;"&gt;Methode de la closure = getDelegate&lt;/span&gt; &lt;span style="font-weight: bold;"&gt;Methode de la closure = getMaximumNumberOfParameters&lt;/span&gt; &lt;span style="font-weight: bold;"&gt;Methode de la closure = asWritable&lt;/span&gt; &lt;span style="font-weight: bold;"&gt;Methode de la closure = curry&lt;/span&gt; &lt;span style="font-weight: bold;"&gt;Methode de la closure = getDirective&lt;/span&gt; &lt;span style="font-weight: bold;"&gt;Methode de la closure = setDirective&lt;/span&gt; &lt;span style="font-weight: bold;"&gt;Methode de la closure = invokeMethod&lt;/span&gt; &lt;span style="font-weight: bold;"&gt;Methode de la closure = getMetaClass&lt;/span&gt; &lt;span style="font-weight: bold;"&gt;Methode de la closure = setMetaClass&lt;/span&gt; &lt;span style="font-weight: bold;"&gt;Methode de la closure = wait&lt;/span&gt; &lt;span style="font-weight: bold;"&gt;Methode de la closure = wait&lt;/span&gt; &lt;span style="font-weight: bold;"&gt;Methode de la closure = wait&lt;/span&gt; &lt;span style="font-weight: bold;"&gt;Methode de la closure = hashCode&lt;/span&gt; &lt;span style="font-weight: bold;"&gt;Methode de la closure = getClass&lt;/span&gt; &lt;span style="font-weight: bold;"&gt;Methode de la closure = equals&lt;/span&gt; &lt;span style="font-weight: bold;"&gt;Methode de la closure = toString&lt;/span&gt; &lt;span style="font-weight: bold;"&gt;Methode de la closure = notify&lt;/span&gt; &lt;span style="font-weight: bold;"&gt;Methode de la closure = notifyAll&lt;/span&gt;   &lt;span style="font-weight: bold;"&gt;hello from f2&lt;/span&gt;   &lt;span style="font-weight: bold;"&gt;closure  type = class test_closures$_run_closure2&lt;/span&gt; &lt;span style="font-weight: bold;"&gt;Methode de la closure = doCall&lt;/span&gt; &lt;span style="font-weight: bold;"&gt;Methode de la closure = doCall&lt;/span&gt; &lt;span style="font-weight: bold;"&gt;Methode de la closure = run&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;That's it ... works nicely...&lt;br /&gt;I can now code a quite powerful parser with Groovy&lt;br /&gt;Happy coding&lt;br /&gt;Jerome&lt;br /&gt;&lt;br /&gt;PS:&lt;br /&gt;don't know why but blogger site keeps removing line feeds!!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/14058418-8883264517395284622?l=romjethoughts.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://romjethoughts.blogspot.com/feeds/8883264517395284622/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=14058418&amp;postID=8883264517395284622' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/14058418/posts/default/8883264517395284622'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/14058418/posts/default/8883264517395284622'/><link rel='alternate' type='text/html' href='http://romjethoughts.blogspot.com/2009/10/first-steps-with-groovy.html' title='First steps with Groovy'/><author><name>jerome moliere</name><uri>http://www.blogger.com/profile/09621674138041413397</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-14058418.post-9049182453219010604</id><published>2009-10-14T04:45:00.000-07:00</published><updated>2009-10-14T04:55:55.747-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='gradle build unit testing testng junit cobertura'/><title type='text'>Gradle, TestNG on the same boat</title><content type='html'>Hi all,&lt;br /&gt;while preparing one training for my students from the &lt;a href="http://www.insia.org"&gt;insia&lt;/a&gt; engineering school in Paris, I got the way to use seriously &lt;a href="http://www.testng.org"&gt;TestNG&lt;/a&gt; from Cedric Beust and found a very valuable product far more powerful than JUnit without any hassle:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;very close to major concepts introduced by Junit&lt;/li&gt;&lt;li&gt;just bringing more power without adding any cost&lt;/li&gt;&lt;li&gt;going one step beyond JUnit with :&lt;/li&gt;&lt;/ul&gt;&lt;ol&gt;&lt;li&gt;distributed testing (master/slave architecture), &lt;/li&gt;&lt;li&gt;dependent tests&lt;br /&gt;&lt;/li&gt;&lt;li&gt;group of tests&lt;/li&gt;&lt;/ol&gt;This course was so the way to discover unknown feature present in recent JUnit releases like timeout tests.&lt;br /&gt;&lt;br /&gt;I need to make a last effort to integrate TestNG into Gradle and add a Cobertura task to analyze the testing area covered by Unit testing.&lt;br /&gt;&lt;br /&gt;Open source is magic bringing many beautiful things for those ready to invest a little time..&lt;br /&gt;I will upload soon the whole training course slides and the project with its gradle build file...&lt;br /&gt;&lt;br /&gt;See you soon&lt;br /&gt;Jerome&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/14058418-9049182453219010604?l=romjethoughts.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://romjethoughts.blogspot.com/feeds/9049182453219010604/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=14058418&amp;postID=9049182453219010604' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/14058418/posts/default/9049182453219010604'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/14058418/posts/default/9049182453219010604'/><link rel='alternate' type='text/html' href='http://romjethoughts.blogspot.com/2009/10/gradle-testng-on-same-boat.html' title='Gradle, TestNG on the same boat'/><author><name>jerome moliere</name><uri>http://www.blogger.com/profile/09621674138041413397</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-14058418.post-2166816507736248006</id><published>2009-10-12T04:35:00.000-07:00</published><updated>2009-10-12T04:45:31.045-07:00</updated><title type='text'>Gradle : the Maven killer ?</title><content type='html'>Hi all,&lt;br /&gt;a few weeks ago, launching a troll on the old Java list from Strasbourg university, I got useful answers refering to Gradle ...What is that beast ?  I decided to test this tool and I after playing around for 1 or 2 hours that it 's a great tool with plenty advantages:&lt;br /&gt;- concise like Maven should be&lt;br /&gt;- powerful (made in Groovy and natural Ant integration, using Ivy as the dependencies management tool)&lt;br /&gt;- fun , always fun to play with a new toy !!!&lt;br /&gt;- intuitive : no more Maven hassle  when trying to do something not imagined by The Massol team... No need to tweak into the Maven kernel to add hacks.... It's easy and simple...&lt;br /&gt;- well documented : a single PDF file with more than 150 pages, not bad for a so new product isn't it ?&lt;br /&gt;&lt;br /&gt;What 's wrong with Gradle ? Don't know yet, like any new toy you may need a small period to get familiar with...&lt;br /&gt;&lt;br /&gt;For those who don't have goodgled yet, this is the link :&lt;a href="http://www.gradle.org/"&gt; http://www.gradle.org/&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;May Java be with  you&lt;br /&gt;&lt;br /&gt;jerome&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/14058418-2166816507736248006?l=romjethoughts.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://romjethoughts.blogspot.com/feeds/2166816507736248006/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=14058418&amp;postID=2166816507736248006' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/14058418/posts/default/2166816507736248006'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/14058418/posts/default/2166816507736248006'/><link rel='alternate' type='text/html' href='http://romjethoughts.blogspot.com/2009/10/gradle-maven-killer.html' title='Gradle : the Maven killer ?'/><author><name>jerome moliere</name><uri>http://www.blogger.com/profile/09621674138041413397</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-14058418.post-4711321398376388294</id><published>2009-09-04T10:13:00.000-07:00</published><updated>2009-09-04T10:23:54.723-07:00</updated><title type='text'>Hard life of freelance</title><content type='html'>Hi all,&lt;br /&gt;for the first time , this entry is not a technical one but rather the expression of my current humor. The economic 'world crisis' obliged me to accept a contract with a company named freelance.com installed in many countries. The french local agency brought me a contract for 3 monthes, that was the starting point for problems:&lt;br /&gt;- they asked me to reduce my price to get the contract, I agreed following one single condition :to have immediate payments for my bills,&lt;br /&gt; they still don't even pay me for the July bill , they claim to be about proceeding to the payment...but not using an electronic withdrawal!!!&lt;br /&gt;&lt;br /&gt;- they started asking me for papers, to ensure my company exists and is ok with all social organisms, that 's ok for me but after providing 10 papers they keep asking for new ones...&lt;br /&gt;&lt;br /&gt;- they add a requirement for me to get a special insurance covering damages made at customers, I subscribed for such contract but now there 's a problem with the starting date of this contract which is 15 days after the filling of the commercial linking my company to freelance.com&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Conclusion:&lt;br /&gt;this company (or at least the french agency) is just a cheaters organism living from others work and playing with money earned by others!!!&lt;br /&gt;they are even not able to do the single important thing from my point of view: paying me for the job done...&lt;br /&gt;&lt;br /&gt;May Java be with you&lt;br /&gt;Jerome&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/14058418-4711321398376388294?l=romjethoughts.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://romjethoughts.blogspot.com/feeds/4711321398376388294/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=14058418&amp;postID=4711321398376388294' title='3 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/14058418/posts/default/4711321398376388294'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/14058418/posts/default/4711321398376388294'/><link rel='alternate' type='text/html' href='http://romjethoughts.blogspot.com/2009/09/hard-life-of-freelance.html' title='Hard life of freelance'/><author><name>jerome moliere</name><uri>http://www.blogger.com/profile/09621674138041413397</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-14058418.post-8790736513803656514</id><published>2009-06-03T14:21:00.000-07:00</published><updated>2009-06-03T14:25:59.289-07:00</updated><title type='text'>Ubuntu 9.04 : final version?</title><content type='html'>Hi all,&lt;br /&gt;upgraded one of the 2 systems ofmy laptop from Ubuntu 8.10 to 9.04 and discovered a product able to become a disaster for the whole open source community:&lt;br /&gt;- machine hangs (freezes) without any logs, no way to get a console or any handy solution to get control on the machine&lt;br /&gt;- gcc (and g++) are quite unusable, nothing compiles with severe errors, while in the same time code compiles fine on my goold not so old Lenny machine...&lt;br /&gt;&lt;br /&gt;I wondered about the time the Ubuntu team left this version in testing state, because using it for a few hours is sufficient enough to discover it's at a beta stage!!!&lt;br /&gt;&lt;br /&gt;Happy coding (but not on Ubuntu)&lt;br /&gt;Jerome&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/14058418-8790736513803656514?l=romjethoughts.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://romjethoughts.blogspot.com/feeds/8790736513803656514/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=14058418&amp;postID=8790736513803656514' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/14058418/posts/default/8790736513803656514'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/14058418/posts/default/8790736513803656514'/><link rel='alternate' type='text/html' href='http://romjethoughts.blogspot.com/2009/06/ubuntu-904-final-version.html' title='Ubuntu 9.04 : final version?'/><author><name>jerome moliere</name><uri>http://www.blogger.com/profile/09621674138041413397</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-14058418.post-244068926957613589</id><published>2009-04-06T03:35:00.000-07:00</published><updated>2009-04-06T03:38:35.101-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='desktop linux awesome LUA'/><title type='text'>The perfect desktop?</title><content type='html'>&lt;p&gt;Hi all,&lt;/p&gt;&lt;p&gt;experimentating different window managers on my laptop and desktop, I discovered one week ago a solution which shounds very good to my hears: awesome. A very tiny,powerfull and flexible WM.&lt;/p&gt;&lt;p&gt;I'm not mastering LUA (the language used for configuration) but it's quite easy to read and adapt...&lt;/p&gt;&lt;p&gt;I'll upload here config files and screenshots of my new desktop environment.&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;p&gt;Happy coding&lt;/p&gt;&lt;p&gt;Jerome&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/14058418-244068926957613589?l=romjethoughts.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://romjethoughts.blogspot.com/feeds/244068926957613589/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=14058418&amp;postID=244068926957613589' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/14058418/posts/default/244068926957613589'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/14058418/posts/default/244068926957613589'/><link rel='alternate' type='text/html' href='http://romjethoughts.blogspot.com/2009/04/perfect-desktop.html' title='The perfect desktop?'/><author><name>jerome moliere</name><uri>http://www.blogger.com/profile/09621674138041413397</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-14058418.post-2683479964790981570</id><published>2009-04-06T03:32:00.000-07:00</published><updated>2009-04-06T03:35:30.442-07:00</updated><title type='text'>Slides from the Solutions Linux 2009 conference</title><content type='html'>&lt;p&gt;Hi,&lt;/p&gt;&lt;p&gt;I will upload here my slides for the 2 conferences I hold during the large french Linux celebration:Solutions Linux. I was invited by Sun Mircosystems and Alexis Moussine Pouchkine to give concrete feedbacks on a project using OpenMQ. The second conference was an official one, dealing with an introduction to the OSGi platform....&lt;/p&gt;&lt;p&gt;Slides coming soon...&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;p&gt;Cheers&lt;/p&gt;&lt;p&gt;jerome&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/14058418-2683479964790981570?l=romjethoughts.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://romjethoughts.blogspot.com/feeds/2683479964790981570/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=14058418&amp;postID=2683479964790981570' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/14058418/posts/default/2683479964790981570'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/14058418/posts/default/2683479964790981570'/><link rel='alternate' type='text/html' href='http://romjethoughts.blogspot.com/2009/04/slides-from-solutions-linux-2009.html' title='Slides from the Solutions Linux 2009 conference'/><author><name>jerome moliere</name><uri>http://www.blogger.com/profile/09621674138041413397</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-14058418.post-4516321164622373363</id><published>2009-01-10T15:30:00.000-08:00</published><updated>2009-01-10T15:47:50.402-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='debian service JETTY Hightide'/><title type='text'>Running Hudson web app on Jetty (HighTide)on Debian</title><content type='html'>Hi all,&lt;br /&gt;while setting up my environment on my new big server (running xen server 3.2.1 on Debian Lenny) and while setting up a VM dedicated to hosting SVN and hudson, I decided to use a fast &amp;amp; efficient web server : Jetty. I found some debian packages dedicated to the professional  packaging of Jetty :HighTide.&lt;br /&gt;First attemptto run hudson after starting Hightide as a service: hudosn complains about a missing environment variable &lt;span style="font-weight: bold;"&gt;HUDSON_HOME&lt;/span&gt; ( I changed the default value because I did'nt want to make many changes in the filesystem permissions&lt;br /&gt;to allow thejetty user write in the /usr/share/jetty folder). This is a quite surprizing behaviour because my first attempts to run HUDSON on glassfish and jetty where very friendly,no problem.&lt;br /&gt;I made a small patch to the &lt;span style="font-style: italic;"&gt;/etc/init.d/hightide&lt;/span&gt; script to add an option to the &lt;span style="font-weight: bold;"&gt;JAVA_OPTIONS&lt;/span&gt; variable after setting the &lt;span style="font-weight: bold;"&gt;HUDSON_HOME&lt;/span&gt; env variable into the &lt;span style="font-style: italic;"&gt;/etc/default/hightide&lt;/span&gt; script as usual in the Debian world.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;This is a significant part from the script launching HIGHTIDE server...&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;#####################################################&lt;br /&gt;# Add jetty properties to Java VM options.&lt;br /&gt;#####################################################&lt;br /&gt;JAVA_OPTIONS="$JAVA_OPTIONS -Dhightide.home=$JETTY_HOME -Djetty.home=$JETTY_HOME -Djava.io.tmpdir=$TMP -Dhudson.home=$HUDSON_HOME -DHUDSON_HOME=$HUDSON_HOME"&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;This is not the most perfect solution but it avoids some dirty hacks with file permissions.... I just regret not to have access to the latest build of Hightide as a debian package (I guess that Mortbay guys do not have an automated process to build .deb packages).&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;But now I can start/stop/restart/check server status as any other Debian service.&lt;br /&gt;Happy coding&lt;br /&gt;Jerome&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/14058418-4516321164622373363?l=romjethoughts.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://romjethoughts.blogspot.com/feeds/4516321164622373363/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=14058418&amp;postID=4516321164622373363' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/14058418/posts/default/4516321164622373363'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/14058418/posts/default/4516321164622373363'/><link rel='alternate' type='text/html' href='http://romjethoughts.blogspot.com/2009/01/running-hudson-web-app-on-jetty.html' title='Running Hudson web app on Jetty (HighTide)on Debian'/><author><name>jerome moliere</name><uri>http://www.blogger.com/profile/09621674138041413397</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-14058418.post-6870527075200114325</id><published>2009-01-08T05:49:00.000-08:00</published><updated>2009-01-08T05:58:43.443-08:00</updated><title type='text'>Creating slideshow in a few clicks</title><content type='html'>Hi all,&lt;br /&gt;As a casual instructor I must do training courses, slideshows dealing with concepts and tools.&lt;br /&gt;I searched for a while how to create easily visual demos. I just found it, it's free, sexy and quiet friendly : wink. Grab it &lt;a href="http://www.debugmode.com/wink/"&gt;here&lt;/a&gt;. I tested the windows version but a Linux seems to be available (for x86 Linux boxes, not AMD64 ones but who cares with VirtualBox or xen).&lt;br /&gt;Impressive features, lightweigth, generate output in various formats:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;HTML&lt;/li&gt;&lt;li&gt;SWF/Flash&lt;/li&gt;&lt;li&gt;PDF&lt;/li&gt;&lt;li&gt;binaries (.exe)&lt;/li&gt;&lt;/ul&gt;It's a must one.Thanks for this excellent work to its author..&lt;br /&gt;My first attempt is not the best sample of what can be done with wink, but it enjoyed my customers...(How to create &amp;amp; deploy a Web Service with Netbeans 6.5/Glassfish in a few minutes).&lt;br /&gt;Happy coding&lt;br /&gt;Jerome&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/14058418-6870527075200114325?l=romjethoughts.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://romjethoughts.blogspot.com/feeds/6870527075200114325/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=14058418&amp;postID=6870527075200114325' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/14058418/posts/default/6870527075200114325'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/14058418/posts/default/6870527075200114325'/><link rel='alternate' type='text/html' href='http://romjethoughts.blogspot.com/2009/01/creating-slideshow-in-few-clicks.html' title='Creating slideshow in a few clicks'/><author><name>jerome moliere</name><uri>http://www.blogger.com/profile/09621674138041413397</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-14058418.post-4339663080610022362</id><published>2008-12-30T07:50:00.000-08:00</published><updated>2008-12-30T08:08:50.312-08:00</updated><title type='text'>Xen 3.2.1 on Debian Lenny</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_yYgAw7NXXAM/SVpG7jEeBvI/AAAAAAAAADY/Nl498UHtKMw/s1600-h/blog_xen_xentools_conf.png"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 400px; height: 282px;" src="http://1.bp.blogspot.com/_yYgAw7NXXAM/SVpG7jEeBvI/AAAAAAAAADY/Nl498UHtKMw/s400/blog_xen_xentools_conf.png" alt="" id="BLOGGER_PHOTO_ID_5285615101512910578" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Hi all,&lt;br /&gt;this is a small entry to store a few tricks while dealing with Xen on Lenny.&lt;br /&gt;After creating a VM you 'll try to ssh to it ...&lt;br /&gt;But if you see a clever message:&lt;br /&gt;&lt;code&gt;PTY allocation request failed on channel 0&lt;br /&gt;stdin: is not a tty&lt;br /&gt;&lt;br /&gt;Then you must add a few things to your configuration,&lt;br /&gt;on the debian guest just ensure:&lt;br /&gt;- to have &lt;span style="font-weight: bold;"&gt;udev&lt;/span&gt; package&lt;br /&gt;- to have the &lt;span style="font-style: italic;"&gt;/dev/pts&lt;/span&gt; entry into your fstab&lt;br /&gt;&lt;br /&gt;So:&lt;br /&gt;&gt;&lt;span style="font-weight: bold;"&gt;aptitude install udev&lt;/span&gt; is your friend&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;and the contents from the /etc/fstab must be something like this&lt;br /&gt;&lt;br /&gt;dev:~# cat /etc/fstab&lt;br /&gt;# /etc/fstab: static file system information.&lt;br /&gt;#&lt;br /&gt;# &lt;file system=""&gt; &lt;mount point=""&gt;   &lt;type&gt;  &lt;options&gt;       &lt;dump&gt;  &lt;pass&gt;&lt;br /&gt;proc            /proc           proc    defaults        0       0&lt;br /&gt;/dev/sda1 none swap sw 0 0&lt;br /&gt;/dev/sda2 / xfs defaults 0 1&lt;br /&gt;none            /dev/pts      devpts    defaults        0   0&lt;br /&gt;dev:~#&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Now a second problem may raise ,while connecting to the guest using SSH with silly messages:&lt;br /&gt;time went backwards&lt;br /&gt;&lt;br /&gt;Sounds to be a clocksource related problem...&lt;br /&gt;&lt;br /&gt;The solution is :&lt;br /&gt;-&gt; add the following extra parameters line to the guest configuration file&lt;br /&gt;&lt;/pass&gt;&lt;/dump&gt;&lt;/options&gt;&lt;/type&gt;&lt;/mount&gt;&lt;/file&gt;&lt;/code&gt;extra       = 'xencons=tty clocksource=jiffies'&lt;br /&gt;&lt;br /&gt;-&gt; set it on the Linux guess using&lt;br /&gt;echo jiffies &gt; /sys/devices/system/clocksource/clocksource0/current_clocksource&lt;br /&gt;&lt;br /&gt;Now everything should work perfectly...&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;For an easier automation of all this stuff I recommend if you use the xen-tools package to add something like this (see the image above) into your &lt;span style="font-style: italic;"&gt;/etc/xen-tools/xen-tools.conf&lt;/span&gt; configuration file.&lt;br /&gt;In this file you can add a list of packages to the .deb to be installed at each launching of the &lt;span style="font-style: italic;"&gt;xen-create-image&lt;/span&gt; binary.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Happy coding&lt;br /&gt;Jerome&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/14058418-4339663080610022362?l=romjethoughts.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://romjethoughts.blogspot.com/feeds/4339663080610022362/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=14058418&amp;postID=4339663080610022362' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/14058418/posts/default/4339663080610022362'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/14058418/posts/default/4339663080610022362'/><link rel='alternate' type='text/html' href='http://romjethoughts.blogspot.com/2008/12/xen-321-on-debian-lenny.html' title='Xen 3.2.1 on Debian Lenny'/><author><name>jerome moliere</name><uri>http://www.blogger.com/profile/09621674138041413397</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_yYgAw7NXXAM/SVpG7jEeBvI/AAAAAAAAADY/Nl498UHtKMw/s72-c/blog_xen_xentools_conf.png' height='72' width='72'/><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-14058418.post-6644086375858090603</id><published>2008-12-17T05:06:00.000-08:00</published><updated>2008-12-17T05:24:18.685-08:00</updated><title type='text'>Tricky problem of connections delivery on Oracle/AIX 5.3</title><content type='html'>Hi all,&lt;br /&gt;On a platform with the following characteristics:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;&lt;span style="font-weight: bold;"&gt;AIX&lt;/span&gt; 5.3&lt;/li&gt;&lt;/ul&gt;&lt;ul&gt;&lt;li&gt; &lt;span style="font-weight: bold;"&gt;Oracle&lt;/span&gt; 10.0.2.0.3&lt;/li&gt;&lt;/ul&gt;&lt;ul&gt;&lt;li&gt;&lt;span style="font-style: italic;"&gt;JDBC thin&lt;/span&gt; driver for this exact release ...&lt;/li&gt;&lt;/ul&gt;I spent 3 days on a tricky problem with an Oracle server delivering connections&lt;br /&gt;after several minutes of inactivity (getting 4 physical connections was a matter of 2 to 3 minutes!!) on a very efficient machine with no apparent system load...&lt;br /&gt;After an in depth look at the Oracle traces (using the support level = level 16) explaining us that&lt;br /&gt;taht my connections induced about 30s  pauses before Oracle server decide to give a new physical connection returned ... So there was a network problem ....My code was not responsible at all, but how to deal with such problem?&lt;br /&gt;Decided to reproduce the problem and used my laptop to create virtual images of one Java client and one Oracle server, using the same JDK (1.5) and the same Oracle release on Debian Linux virtual boxes...&lt;br /&gt;My tests were sufficient to see that &lt;span style="font-style: italic;"&gt;IPV6&lt;/span&gt; stacks added a lot of level complexity and resulted in having abnormal connection times,even if I was very far 30s/connection... This problem disappeared when I configured the&lt;span style="font-weight: bold;"&gt; JVM&lt;/span&gt; to use the&lt;span style="font-style: italic;"&gt; IPV4&lt;/span&gt; stack only!!!&lt;br /&gt;So this morning ,back to customers site, we changed the networking stack of the AIX server and connections are delivered very quickly.....&lt;br /&gt;&lt;br /&gt;I was quite happy to use once again free software to demonstrate problems in ..proprietary ones, with 2 of the most famous products: AIX IBM OS and Oracle back end...&lt;br /&gt;&lt;br /&gt;Happy coding&lt;br /&gt;Jerome&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/14058418-6644086375858090603?l=romjethoughts.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://romjethoughts.blogspot.com/feeds/6644086375858090603/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=14058418&amp;postID=6644086375858090603' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/14058418/posts/default/6644086375858090603'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/14058418/posts/default/6644086375858090603'/><link rel='alternate' type='text/html' href='http://romjethoughts.blogspot.com/2008/12/tricky-problem-of-connections-delivery.html' title='Tricky problem of connections delivery on Oracle/AIX 5.3'/><author><name>jerome moliere</name><uri>http://www.blogger.com/profile/09621674138041413397</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-14058418.post-1320650233137362961</id><published>2008-12-16T06:12:00.000-08:00</published><updated>2008-12-16T06:29:36.116-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='curl'/><category scheme='http://www.blogger.com/atom/ns#' term='technical'/><category scheme='http://www.blogger.com/atom/ns#' term='web services'/><category scheme='http://www.blogger.com/atom/ns#' term='testing'/><title type='text'>Testing Web Services : the easy way</title><content type='html'>Hi all,&lt;br /&gt;While coding &lt;span style="font-style: italic;"&gt;web services&lt;/span&gt; with &lt;span style="font-weight: bold;"&gt;JAX-WS 2.0&lt;/span&gt; and a good IDE (&lt;span style="font-weight: bold;"&gt;Netbeans&lt;/span&gt; rocks of course) is just&lt;br /&gt;a matter of a few clicks, testing them is a little bit trickier... Netbeans (or Elipse) provide JSP pages for testing them on the local application server (&lt;span style="font-weight: bold;"&gt;Glassfish&lt;/span&gt; of course) but how to test the freshly deployed component on your big production server?&lt;br /&gt;Coding a pure Java client is one way, but it hides all the &lt;span style="font-weight: bold;"&gt;SOAP mesenging&lt;/span&gt; stuff and is not always the good way... So I tried to use a more standard and lightweigth solution. My machine (at customers site) is a desktop running Windows XP but with enough memory to enable me to launch a more friendly environment, so I decided to run through &lt;span style="font-weight: bold;"&gt;VirtualBox&lt;/span&gt; a &lt;span style="font-weight: bold;"&gt;Debian Etc&lt;/span&gt;h image.&lt;br /&gt;Then after configuring &lt;span style="font-weight: bold;"&gt;zsh&lt;/span&gt;, &lt;span style="font-weight: bold;"&gt;aptitude&lt;/span&gt;, and pretty desktop powered by &lt;span style="font-weight: bold;"&gt;XFCE&lt;/span&gt;, I remember that I used several years ago a tool called &lt;span style="font-weight: bold;"&gt;curl&lt;/span&gt;.&lt;br /&gt;After a little googling in found with this tool the clever and smart solution to test my Web Services,&lt;br /&gt;creating with a single command line a context similar to the one from a delphi client application.&lt;br /&gt;&lt;br /&gt;curl -d @soap-message.xml  -H "Content-Type: text/xml;charset=UTF-8" \&lt;br /&gt;http://&lt;your_server&gt;:8080/&lt;context-ws&gt;/&lt;nameofservice&gt;?WSDL&lt;br /&gt;&lt;br /&gt;and that's it...&lt;br /&gt;&lt;br /&gt;The file soap-message.xml contains one SOAP message with the test request to be sent.&lt;br /&gt;This file is just a copy/paste from the result of one invocation made through the test page of Netbeans...&lt;br /&gt;&lt;br /&gt;I love simple &amp;amp; standard solution...&lt;br /&gt;&lt;br /&gt;Hapy coding&lt;br /&gt;&lt;br /&gt;Jerome&lt;/nameofservice&gt;&lt;/context-ws&gt;&lt;/your_server&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/14058418-1320650233137362961?l=romjethoughts.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://romjethoughts.blogspot.com/feeds/1320650233137362961/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=14058418&amp;postID=1320650233137362961' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/14058418/posts/default/1320650233137362961'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/14058418/posts/default/1320650233137362961'/><link rel='alternate' type='text/html' href='http://romjethoughts.blogspot.com/2008/12/testing-web-services-easy-way.html' title='Testing Web Services : the easy way'/><author><name>jerome moliere</name><uri>http://www.blogger.com/profile/09621674138041413397</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-14058418.post-3678249100179670712</id><published>2008-12-16T04:24:00.000-08:00</published><updated>2008-12-16T04:38:46.341-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='technical java jdbc aix'/><title type='text'>Obtaining connections on Oracle</title><content type='html'>Hi all,&lt;br /&gt;even the simplest thing may become a nightmare.... No this sentence does not comme from&lt;br /&gt;the J.R Tolkien and its best seller Lord of the Rings....But obtaining a JDBC connection is just&lt;br /&gt;a matter from invoking the &lt;span style="font-style: italic;"&gt;getConnection&lt;/span&gt;() method on &lt;span style="font-weight: bold;"&gt;DriverManager&lt;/span&gt; class, yes...&lt;br /&gt;But where my current problem is tricky is when this code works or not whether some dark aspects. It seems that depending on the database load, on this IBM Aix machine, with a 10.0.2.0.3 Oracle instance, the system generate core dumps then require seconds and seconds to deliver a connection  or failing!!! Last week getting 4 JDBC connections at the beginning of a Web Service method induced a 4 minutes delay!!! Rest of the Java code ran for just 37ms!!!&lt;br /&gt;In such context, updating the driver or patching the database are the only solutions...I'll change the driver and pray !&lt;br /&gt;&lt;br /&gt;Happy coding&lt;br /&gt;Jerome&lt;br /&gt;&lt;br /&gt;PS:&lt;br /&gt;Oracle is quite confusing and requires to have a JDBC driver version matching exactly the server release.... Very constraing...&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/14058418-3678249100179670712?l=romjethoughts.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://romjethoughts.blogspot.com/feeds/3678249100179670712/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=14058418&amp;postID=3678249100179670712' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/14058418/posts/default/3678249100179670712'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/14058418/posts/default/3678249100179670712'/><link rel='alternate' type='text/html' href='http://romjethoughts.blogspot.com/2008/12/obtaining-connections-on-oracle.html' title='Obtaining connections on Oracle'/><author><name>jerome moliere</name><uri>http://www.blogger.com/profile/09621674138041413397</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-14058418.post-310694825009937955</id><published>2008-11-20T08:08:00.000-08:00</published><updated>2008-11-20T08:11:55.885-08:00</updated><title type='text'>Xen 3.2 on Debian Lenny</title><content type='html'>Hi all,&lt;br /&gt;after several weeks of unfortune, luck is back and I can now run virtual machines on my favorite&lt;br /&gt;Linux distribution. Very nice..During several weeks, my virtual machines were invisible after a few seconds following the boot.It was a dirty parameter ,referenced and documented in the Xen docs but I missed it for a while.Thanks to Patrick Dos Rios for pointing out the problem...&lt;br /&gt;I think I'll post a complete xen installation soon...&lt;br /&gt;Cheers&lt;br /&gt;Jerome&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/14058418-310694825009937955?l=romjethoughts.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://romjethoughts.blogspot.com/feeds/310694825009937955/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=14058418&amp;postID=310694825009937955' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/14058418/posts/default/310694825009937955'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/14058418/posts/default/310694825009937955'/><link rel='alternate' type='text/html' href='http://romjethoughts.blogspot.com/2008/11/xen-32-on-debian-lenny.html' title='Xen 3.2 on Debian Lenny'/><author><name>jerome moliere</name><uri>http://www.blogger.com/profile/09621674138041413397</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-14058418.post-4768439548739009148</id><published>2008-06-29T05:04:00.000-07:00</published><updated>2008-08-27T16:51:54.729-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='rsync backup strategy'/><title type='text'>Backups :: Rsync to the rescue</title><content type='html'>Hi all,&lt;br /&gt;backing  up machines is one the most important things and it's one most&lt;br /&gt;often forgotten . So after many years without a real backup politic, I'd like to setup a real backup server.&lt;br /&gt;As an Unix enthusiast, I decided to put in place a rsync server on this dedicated machine.&lt;br /&gt;Here 's a  schema with the goal of this installation:&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_yYgAw7NXXAM/SGd9cVF7vAI/AAAAAAAAAB0/DVr84Fx_Srk/s1600-h/rsync_backup_strategy.png"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://2.bp.blogspot.com/_yYgAw7NXXAM/SGd9cVF7vAI/AAAAAAAAAB0/DVr84Fx_Srk/s320/rsync_backup_strategy.png" alt="" id="BLOGGER_PHOTO_ID_5217276618983848962" border="0"&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;As suggested my server at home will be used as a repository of backups for different machines (my laptop and the server hosting my product).&lt;br /&gt;&lt;br /&gt;Adding other repositories will be just a matter of a few seconds as stated in the section dealing with rsyn configuration on the server side (that is to say for my server at home).&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;font size="4"&gt;I . File server details&lt;/font&gt;&lt;br /&gt;For getting a fast, reliable and huge capacity (volume of stored data in bytes) I 'll setup a software (linux powered) RAID 5 volume with 5 disks of 750 Gb... This to say 3To of usable data , hummm good enough for 500€ and reusing a not so old unused machine!!! (5 Hitachi disks at 105€ each)&lt;br /&gt;&lt;br /&gt;Rsync is setup with just adding the package to the Debian using &lt;font style="font-style: italic;"&gt;aptitude&lt;/font&gt;:&lt;br /&gt;aptitude install rsync and that's it!!!&lt;br /&gt;&lt;br /&gt;Just modify the &lt;font style="font-weight: bold;"&gt;/etc/default/rsync&lt;/font&gt; to enable launching &lt;font style="font-style: italic;"&gt;rsync&lt;/font&gt; as a &lt;font style="font-style: italic;"&gt;daemon&lt;/font&gt;!!!&lt;br /&gt;&lt;br /&gt;Then creating a &lt;font style="font-weight: bold;"&gt;/etc/rsyncd.conf&lt;/font&gt; file with the different modules (module=one of the different place to save).&lt;br /&gt;The configuration looks like this:&lt;br /&gt;&lt;br /&gt;uid = rsync&lt;br /&gt;gid = rsync&lt;br /&gt;log file=/var/log/rsyncd.log&lt;br /&gt;[backup_laptop]&lt;br /&gt;  path = /home/backup/laptop&lt;br /&gt;  comment = Synchro fichiers  laptop&lt;br /&gt;  read only = false&lt;br /&gt;&lt;br /&gt;here I tell rsync to use rsync username/group identity and to log data into the conventional place /var/log.&lt;br /&gt;Here 's a test file with just one module used to host data incoming from my laptop.&lt;br /&gt;Quite easy isn't it ? -)&lt;br /&gt;&lt;br /&gt;Adding user/group is just a matter of :&lt;br /&gt;useradd rsync //to add the user&lt;br /&gt;the groupadd command to add rsync to the group rsync&lt;br /&gt;&lt;br /&gt;then chown -R rsync:rsync &lt;place_to_be_used_to_store_backups&gt;&lt;br /&gt;then chmod -R 700 &lt;place_to_be_used_to_store_backups&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;And finally start the rsync server with the usual /etc/init.d/rsync start command&lt;br /&gt;&lt;br /&gt;We may make so refinements after getting all this stuff running,while allowing rsync to listen on the single loopback pseudo ethernet device (127.0.0.1)....&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Most of the configuration from the client side is done!!!&lt;br /&gt;&lt;br /&gt;II. Client side&lt;br /&gt;&lt;br /&gt;No special setup required on the client side , just ensure to have the rsync binary (aptitude install rsync).&lt;br /&gt;&lt;br /&gt;Launching a file synchronization is just a matter of running the following command:&lt;br /&gt;&lt;br /&gt;&gt;rsync -avz ~/ 192.168.10.33::laptop_backup&lt;br /&gt;&lt;br /&gt;Here notice:&lt;br /&gt;- options avz to preserve rights/owner (archive mode)&lt;br /&gt;- syntax server::module_name, here remember the module name as defined on the server side&lt;br /&gt;&lt;br /&gt;SSH is used to transport data over the network (LAN in this case)...&lt;br /&gt;&lt;br /&gt;All this stuff works because I created a special RSA key on the server machine and imported this key(private one) into the client authorized keys directory (through scp).&lt;br /&gt;&lt;br /&gt;You can also notice that I don't want to use the common --delete flag , because this flag enable rsync to suppress things from backup machines, if deleted from the master one...I don't want a perfect mirror, I prefer to waste a little disk space rather than loosing data!!!!&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;font size="4"&gt;III. Final touch&lt;br /&gt;&lt;/font&gt;&lt;br /&gt;What must be done yet ? A few things :&lt;br /&gt;- automating backups !!!&lt;br /&gt;In my case cron is useless, because I 'm not very often at home without any good shcedule time/date..So if I've got enough time I'd like to setup a very special&lt;br /&gt;configuration using /etc/network/interfaces mechanism to detect if my laptop is at home or not and to add a hook running the explicit synchronization...&lt;br /&gt;Don't know if it's even possible, but I'll try to follow this idea...&lt;br /&gt;&lt;br /&gt;- modifiy the RSA private key to restrict rights/usage to enforce security&lt;br /&gt;&lt;br /&gt;- change the rsync daemon setup to use the only loopback interface because it 's just run by the SSH tunnel and never invoke directly.So avoiding to expose such thing is a good thing even if security is not my first priority!!!!&lt;br /&gt;&lt;br /&gt;- manage incremental backups to avoid huge transfers accross the network and gain CPU usage&lt;br /&gt;That's all folks&lt;br /&gt;Enjoy&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Jerome&lt;br /&gt;&lt;br /&gt;&lt;/place_to_be_used_to_store_backups&gt;&lt;/place_to_be_used_to_store_backups&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/14058418-4768439548739009148?l=romjethoughts.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://romjethoughts.blogspot.com/feeds/4768439548739009148/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=14058418&amp;postID=4768439548739009148' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/14058418/posts/default/4768439548739009148'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/14058418/posts/default/4768439548739009148'/><link rel='alternate' type='text/html' href='http://romjethoughts.blogspot.com/2008/06/backups-rsync-to-rescue.html' title='Backups :: Rsync to the rescue'/><author><name>jerome moliere</name><uri>http://www.blogger.com/profile/09621674138041413397</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_yYgAw7NXXAM/SGd9cVF7vAI/AAAAAAAAAB0/DVr84Fx_Srk/s72-c/rsync_backup_strategy.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-14058418.post-7085495437365513683</id><published>2008-05-24T07:34:00.000-07:00</published><updated>2008-05-24T07:42:21.817-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='virtualization debian HA openmq'/><title type='text'>Welcome in a virtual world</title><content type='html'>Hi all,&lt;br /&gt;juste a few words about my current concerns...&lt;br /&gt;I needed for a customer of mine to setup a special configuration dealing with HA and reliability of messages using the OpenMQ JMS implementation from Glassfish...&lt;br /&gt;So I decided to use virtualization technologies to avoid to use many machines!!!&lt;br /&gt;I need to have 2 (or more) openmq instances sharing a database (running in other machine)&lt;br /&gt;so using VirtualBox wonderful product I setup private networking in my host OS with 3 virtual machines all using a debian 4.0r3 Linux distribution..&lt;br /&gt;I don't need  graphical UI for these servers so debian netinstall iso image is sufficient...&lt;br /&gt;All other softwares come from one directory (shared using SSH server running on my guest OS)...&lt;br /&gt;This works great, I can ping among machines in the private network, access Internet through the host OS (but host OS can 't access me).&lt;br /&gt;Now after many days spent in choosing the right virtualization technique, I can work in a secured, stand-alone, isolated, envrionment...Great&lt;br /&gt;&lt;br /&gt;Happy coding&lt;br /&gt;Jerome&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/14058418-7085495437365513683?l=romjethoughts.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://romjethoughts.blogspot.com/feeds/7085495437365513683/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=14058418&amp;postID=7085495437365513683' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/14058418/posts/default/7085495437365513683'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/14058418/posts/default/7085495437365513683'/><link rel='alternate' type='text/html' href='http://romjethoughts.blogspot.com/2008/05/welcome-in-virtual-world.html' title='Welcome in a virtual world'/><author><name>jerome moliere</name><uri>http://www.blogger.com/profile/09621674138041413397</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-14058418.post-1961876936132445809</id><published>2008-03-31T15:01:00.000-07:00</published><updated>2008-03-31T15:05:21.213-07:00</updated><title type='text'>Disabling TCP v6 on a linux machine</title><content type='html'>Hi all,&lt;br /&gt;after several searches on google, I succeeded in finding the place to  configure TCP v4 only on my Debian Etch.&lt;br /&gt;Simply set the net10-pf to off in /etc/mobprobe.d/aliases, reboot and that's it...&lt;br /&gt;Now daemons run without TCP 6 layer....&lt;br /&gt;&lt;br /&gt;Enjoy&lt;br /&gt;Jerome&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/14058418-1961876936132445809?l=romjethoughts.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://romjethoughts.blogspot.com/feeds/1961876936132445809/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=14058418&amp;postID=1961876936132445809' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/14058418/posts/default/1961876936132445809'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/14058418/posts/default/1961876936132445809'/><link rel='alternate' type='text/html' href='http://romjethoughts.blogspot.com/2008/03/disabling-tcp-v6-on-linux-machine.html' title='Disabling TCP v6 on a linux machine'/><author><name>jerome moliere</name><uri>http://www.blogger.com/profile/09621674138041413397</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-14058418.post-1897883919394466708</id><published>2007-11-15T03:49:00.000-08:00</published><updated>2007-11-15T04:01:45.795-08:00</updated><title type='text'>I love SWT!!!!!</title><content type='html'>Hi all,&lt;br /&gt;this is a small comment about this wonderful technology : SWT. While working on a  huge project in Switzerland using Eclipse/RCP as the basis for GUI building, it 's for me an opportunity to use SWT/JFace once again (did'nt play with them for 3 or 4 years).&lt;br /&gt;In the same time, it's an opportunity to play with recent Eclipse versions (3.2.2).&lt;br /&gt;My first feelings are not very positive:&lt;br /&gt;* Eclipse is totally unstable, one small plugin can break your pretty configuration&lt;br /&gt;* SWT has many limitations and many bugs&lt;br /&gt;    we are still unable to open applets within a browser from an RCP application using the SWT browser widget&lt;br /&gt;   playing with the sexy version of the old Runtime.exec() method called Program class in SWT, in found ridiculous behaviors:&lt;br /&gt;don't handle arguments on the command line properly&lt;br /&gt;can't find one binary Program.find("iexplore.exe") doesn't return on my machine (may be a little strange I agree)&lt;br /&gt;&lt;br /&gt;SWT basic widgets are still very low level while JFace (layer bringing a little bit of abstraction and a MVC based design) is still too small (not many widgets available).&lt;br /&gt;SWt events are still mysterious for me andd the documentation is still too weak...-(&lt;br /&gt;&lt;br /&gt;I 'm still disapointed with this project so sexy but which doesn't work at the end...&lt;br /&gt;I'm using netbeans or vi depending from the amount of code to be done and I'm still convinced that they are far more efficient tools than Eclipse...&lt;br /&gt;(netBeans 6.0 is quite ready and it's full of nice features)&lt;br /&gt;&lt;br /&gt;See you soon on the JavaSphere&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/14058418-1897883919394466708?l=romjethoughts.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://romjethoughts.blogspot.com/feeds/1897883919394466708/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=14058418&amp;postID=1897883919394466708' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/14058418/posts/default/1897883919394466708'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/14058418/posts/default/1897883919394466708'/><link rel='alternate' type='text/html' href='http://romjethoughts.blogspot.com/2007/11/i-love-swt.html' title='I love SWT!!!!!'/><author><name>jerome moliere</name><uri>http://www.blogger.com/profile/09621674138041413397</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-14058418.post-1809101510491639528</id><published>2007-06-16T10:24:00.000-07:00</published><updated>2007-06-16T10:32:17.612-07:00</updated><title type='text'>I hate hardware!!!</title><content type='html'>Hi,&lt;br /&gt;just a few words to exhibit my feelings about hardware...&lt;br /&gt;A few monthes I had 3 machines : one Linux server, one windows machine (for games) and one solaris desktop machine (for Java stuff)..; All these machines in the same LAN behind a router/firewall and sharing the same keyboard/monitor using an excellent BELKIN KVM (VGA/PS2)...Then my old 19" IIyama monitor died (just the alimentation cable) so I decided to buy a fresh 22" LCD monitor (SAMSUNG)... this was beginning of troubles, using this kind of monitor implies to use a new KVM, so I bought a new KVM from Belkin (Soho Series USB/DVI) and I just spent one week buying keboards, connecting machines to see that this product called  a KVM had a very impressive features list:&lt;br /&gt;* unable to support 2 machines on the same time without using the VGA cable and bypassing the KVM (no synchronization of video possible)&lt;br /&gt;* unable to map all keyboard keys (&lt;&gt; characters ?&lt;br /&gt;&lt;br /&gt;So I hate hardware !!! it's just a lack of time and I dream for the provider of virtualized systems enabling to put its emphase on serious problems rather than being focused on cabels and other stuff!!!&lt;br /&gt;&lt;br /&gt;happy coding&lt;br /&gt;jerome&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/14058418-1809101510491639528?l=romjethoughts.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://romjethoughts.blogspot.com/feeds/1809101510491639528/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=14058418&amp;postID=1809101510491639528' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/14058418/posts/default/1809101510491639528'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/14058418/posts/default/1809101510491639528'/><link rel='alternate' type='text/html' href='http://romjethoughts.blogspot.com/2007/06/i-hate-hardware.html' title='I hate hardware!!!'/><author><name>jerome moliere</name><uri>http://www.blogger.com/profile/09621674138041413397</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-14058418.post-8187889647698945177</id><published>2007-06-16T10:19:00.000-07:00</published><updated>2007-06-16T10:23:58.504-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='emacs'/><title type='text'>Emacs and XSD schema edition</title><content type='html'>Hi,&lt;br /&gt;I love Unix and many Unix tools, one of these is the fabulous Emacs editor, far superior to any other editor (troll -) ) ... I'm a little bit confused because if XML editing is very nice using the nxml-mode , XSD editing seems not supported (there's only one small mode rnc-mode for ediing Relax NG documents with the RNC syntax)... It's a shame because using RNC is not in my roadmap and converting XSD to RNC (and the opposite) is not a very good option for me...&lt;br /&gt;Don't know what to do....&lt;br /&gt;&lt;br /&gt;Happy coding&lt;br /&gt;Jerome&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/14058418-8187889647698945177?l=romjethoughts.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://romjethoughts.blogspot.com/feeds/8187889647698945177/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=14058418&amp;postID=8187889647698945177' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/14058418/posts/default/8187889647698945177'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/14058418/posts/default/8187889647698945177'/><link rel='alternate' type='text/html' href='http://romjethoughts.blogspot.com/2007/06/emacs-and-xsd-schema-edition.html' title='Emacs and XSD schema edition'/><author><name>jerome moliere</name><uri>http://www.blogger.com/profile/09621674138041413397</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-14058418.post-5906964314788393308</id><published>2007-05-22T15:57:00.000-07:00</published><updated>2007-05-22T16:05:10.722-07:00</updated><title type='text'>First steps with Ruby/STOMP and activemq</title><content type='html'>Hi,&lt;br /&gt;I'm a quite old user from ActiveMQ, but my last experience with this wonderful JMS server deals with STOMP ? What's this beast ? It's a protocol enabling JMS message sending/receiving from scripting languages like Ruby, PERL or Python... This protocol is very lightweight and powerful enough to bring the JMS world to these technologies...&lt;br /&gt;I decided to test with Ruby, seems to be a wonderfull language, easy, intuitive and very powerful...&lt;br /&gt;Using STOMP protocol is very easy , just install with the GEM installer, the STOMP package (module for Ruby experts)..&lt;br /&gt;gem install stomp and that's it....&lt;br /&gt;in fact getting gem was the most difficult thing for me, because I was unable yto get it working on my Solaris 11 box, but apt-get saved me and installation is as easy as : aptitude install gem on my Ubuntu server...&lt;br /&gt;&lt;br /&gt;STOMP is fast, Ruby too, scripts are about 10 lines and ActiveMQ is shipped with a STOMp connector so let's play with it...&lt;br /&gt;&lt;br /&gt;Happy coding&lt;br /&gt;Jerome&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/14058418-5906964314788393308?l=romjethoughts.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://romjethoughts.blogspot.com/feeds/5906964314788393308/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=14058418&amp;postID=5906964314788393308' title='3 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/14058418/posts/default/5906964314788393308'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/14058418/posts/default/5906964314788393308'/><link rel='alternate' type='text/html' href='http://romjethoughts.blogspot.com/2007/05/first-steps-with-rubystomp-and-activemq.html' title='First steps with Ruby/STOMP and activemq'/><author><name>jerome moliere</name><uri>http://www.blogger.com/profile/09621674138041413397</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-14058418.post-3736228900456695935</id><published>2007-05-17T14:25:00.000-07:00</published><updated>2007-05-17T14:38:14.345-07:00</updated><title type='text'>I love zsh -)</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_yYgAw7NXXAM/RkzLJIRVKYI/AAAAAAAAABQ/Njv3PT1w0Zk/s1600-h/terminal.png"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://4.bp.blogspot.com/_yYgAw7NXXAM/RkzLJIRVKYI/AAAAAAAAABQ/Njv3PT1w0Zk/s200/terminal.png" alt="" id="BLOGGER_PHOTO_ID_5065647038584400258" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;Hi,&lt;br /&gt;another small message, diving into Solaris  10 (OpenSolaris) using b55 &amp; b63, I discovered a shell&lt;br /&gt;zsh...Another one, I said, since the day where I fetched some .zshrc files, then launched this shell from my old bash... I think I won't return to bash.. Zsh is so powerfull... Command line completion is far superior to the one from bash (even using bash completion package)...&lt;br /&gt;So this is my .zshrc file, I hope it could convince you to switch to this fantastic piece of software...&lt;br /&gt;Like any other .rc file, this is a work in progress, but should be usable in a few minutes (just set the PATh/MANPATh according to your system)..&lt;br /&gt;&lt;br /&gt;This is the screenshot from an empty terminal with a very powerful prompt...&lt;br /&gt;happy coding &amp;amp; enjoy zsh&lt;br /&gt;&lt;br /&gt;Cheers&lt;br /&gt;jerome&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;# .zshrc from J.MOLIERE&lt;br /&gt;# jerome@javaxpert.com&lt;br /&gt;# jerome.moliere@gmail.com&lt;br /&gt;#using many .rc files !!!!&lt;br /&gt;&lt;br /&gt;#defines PATH&lt;br /&gt;export JAVA_HOME=&lt;br /&gt;export ANT_HOME=&lt;br /&gt;export MAVEN_HOME=&lt;br /&gt;export PATH=/usr/local/bin:/usr/sfw/bin:/opt/sfw/bin/:/opt/sfw/teTeX/bin/i386-pc-solaris2.10/:$PATH&lt;br /&gt;&lt;br /&gt;export MANPATH=/usr/sfw/share/man:/usr/local/man:$MANPATH&lt;br /&gt;#zsh completion style&lt;br /&gt;zstyle ':completion:*:*:*:*:processes' menu yes select&lt;br /&gt;zstyle ':completion:*:*:*:*:processes' force-list always&lt;br /&gt;zstyle ':completion:*' use-cache on&lt;br /&gt;zstyle ':completion:*' cache-path ~/.zsh/cache&lt;br /&gt;# ignore CVS &amp; SVN files&lt;br /&gt;zstyle ':completion:*:(all-|)files' ignored-patterns '(|*/)CVS'&lt;br /&gt;zstyle ':completion:*:cd:*' ignored-patterns '(*/)#CVS'&lt;br /&gt;zstyle ':completion:*:(all-|)files' ignored-patterns '(|*/)SVN'&lt;br /&gt;zstyle ':completion:*:cd:*' ignored-patterns '(*/)#SVN'&lt;br /&gt;#skip absent binaries&lt;br /&gt;zstyle ':completion:*:functions' ignored-patterns '_*'&lt;br /&gt;&lt;br /&gt;zstyle ':completion:*:*:kill:*' menu yes select&lt;br /&gt;zstyle ':completion:*:kill:*'   force-list always&lt;br /&gt;&lt;br /&gt;zstyle ':completion:*' squeeze-slashes true&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;# completion&lt;br /&gt;compctl -g '*.java' + -g '*(-/)' javac&lt;br /&gt;compctl -g '*.gz' + -g '*(-/)' gunzip gzcat&lt;br /&gt;compctl -g '*(-*)' + -g '*(-/)' strip&lt;br /&gt;compctl -g '*.ps *.eps' + -g '*(-/)' gs ghostview psnup psduplex ps2ascii&lt;br /&gt;compctl -g '*.dvi' + -g '*(-/)' xdvi dvips&lt;br /&gt;compctl -g '*.xpm *.xpm.gz' + -g '*(-/)' xpmroot sxpm pixmap xpmtoppm&lt;br /&gt;compctl -g '*.fig' + -g '*(-/)' xfig&lt;br /&gt;compctl -g '*(-/) .*(-/)' cd&lt;br /&gt;compctl -g '(^(*.o|*.class|*.jar|*.gz|*.gif|*.a|*.Z))' more less vi&lt;br /&gt;compctl -g '*.ps *.pdf' + -g '*(-/)' evince&lt;br /&gt;compctl -g '*.pdf' + -g '*(-/)' xpdf&lt;br /&gt;compctl -g '*.bz2 *.bz' + -g '*(-/)' bunzip2&lt;br /&gt;compctl -g '*.tex' + -g '*(-/)' pdflatex&lt;br /&gt;&lt;br /&gt;myclasslist () { reply=(${$(ls *.class)%.class}) }&lt;br /&gt;compctl -K myclasslist java&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;#PROMPT &amp;amp; RPROMPT&lt;br /&gt;#PROMPT=$(echo '%{\033[31m%}%m&gt;%{\033[30m%}')&lt;br /&gt;#RPROMPT=$(echo '%{\033[32m%}%~%{\033[30m%}')&lt;br /&gt;function precmd {&lt;br /&gt;&lt;br /&gt;   local TERMWIDTH&lt;br /&gt;   (( TERMWIDTH = ${COLUMNS} - 1 ))&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;   ###&lt;br /&gt;   # Truncate the path if it's too long.&lt;br /&gt; &lt;br /&gt;   PR_FILLBAR=""&lt;br /&gt;   PR_PWDLEN=""&lt;br /&gt; &lt;br /&gt;   local promptsize=${#${(%):---(%n@%m:%l)---()--}}&lt;br /&gt;   local pwdsize=${#${(%):-%~}}&lt;br /&gt; &lt;br /&gt;   if [[ "$promptsize + $pwdsize" -gt $TERMWIDTH ]]; then&lt;br /&gt;       ((PR_PWDLEN=$TERMWIDTH - $promptsize))&lt;br /&gt;   else&lt;br /&gt;   PR_FILLBAR="\${(l.(($TERMWIDTH - ($promptsize + $pwdsize)))..${PR_HBAR}.)}"&lt;br /&gt;   fi&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;   ###&lt;br /&gt;   # Get APM info.&lt;br /&gt;&lt;br /&gt;   if which ibam &gt; /dev/null; then&lt;br /&gt;   PR_APM_RESULT=`ibam --percentbattery`&lt;br /&gt;   elif which apm &gt; /dev/null; then&lt;br /&gt;   PR_APM_RESULT=`apm`&lt;br /&gt;   fi&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;setopt extended_glob&lt;br /&gt;preexec () {&lt;br /&gt;   if [[ "$TERM" == "screen" ]]; then&lt;br /&gt;   local CMD=${1[(wr)^(*=*|sudo|-*)]}&lt;br /&gt;   echo -n "\ek$CMD\e\\"&lt;br /&gt;   fi&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;setprompt () {&lt;br /&gt;   ###&lt;br /&gt;   # Need this so the prompt will work.&lt;br /&gt;&lt;br /&gt;   setopt prompt_subst&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;   ###&lt;br /&gt;   # See if we can use colors.&lt;br /&gt;&lt;br /&gt;   autoload colors zsh/terminfo&lt;br /&gt;   if [[ "$terminfo[colors]" -ge 8 ]]; then&lt;br /&gt;   colors&lt;br /&gt;   fi&lt;br /&gt;   for color in RED GREEN YELLOW BLUE MAGENTA CYAN WHITE; do&lt;br /&gt;   eval PR_$color='%{$terminfo[bold]$fg[${(L)color}]%}'&lt;br /&gt;   eval PR_LIGHT_$color='%{$fg[${(L)color}]%}'&lt;br /&gt;   (( count = $count + 1 ))&lt;br /&gt;   done&lt;br /&gt;   PR_NO_COLOUR="%{$terminfo[sgr0]%}"&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;   ###&lt;br /&gt;   # See if we can use extended characters to look nicer.&lt;br /&gt; &lt;br /&gt;   typeset -A altchar&lt;br /&gt;   set -A altchar ${(s..)terminfo[acsc]}&lt;br /&gt;   PR_SET_CHARSET="%{$terminfo[enacs]%}"&lt;br /&gt;   PR_SHIFT_IN="%{$terminfo[smacs]%}"&lt;br /&gt;   PR_SHIFT_OUT="%{$terminfo[rmacs]%}"&lt;br /&gt;   PR_HBAR=${altchar[q]:--}&lt;br /&gt;   PR_ULCORNER=${altchar[l]:--}&lt;br /&gt;   PR_LLCORNER=${altchar[m]:--}&lt;br /&gt;   PR_LRCORNER=${altchar[j]:--}&lt;br /&gt;   PR_URCORNER=${altchar[k]:--}&lt;br /&gt;&lt;br /&gt; &lt;br /&gt;   ###&lt;br /&gt;   # Decide if we need to set titlebar text.&lt;br /&gt; &lt;br /&gt;   case $TERM in&lt;br /&gt;   xterm*)&lt;br /&gt;       PR_TITLEBAR=$'%{\e]0;%(!.-=*[ROOT]*=- | .)%n@%m:%~ | ${COLUMNS}x${LINES} | %y\a%}'&lt;br /&gt;       ;;&lt;br /&gt;   screen)&lt;br /&gt;       PR_TITLEBAR=$'%{\e_screen \005 (\005t) | %(!.-=[ROOT]=- | .)%n@%m:%~ | ${COLUMNS}x${LINES} | %y\e\\%}'&lt;br /&gt;       ;;&lt;br /&gt;   *)&lt;br /&gt;       PR_TITLEBAR=''&lt;br /&gt;       ;;&lt;br /&gt;   esac&lt;br /&gt; &lt;br /&gt; &lt;br /&gt;   ###&lt;br /&gt;   # Decide whether to set a screen title&lt;br /&gt;   if [[ "$TERM" == "screen" ]]; then&lt;br /&gt;   PR_STITLE=$'%{\ekzsh\e\\%}'&lt;br /&gt;   else&lt;br /&gt;   PR_STITLE=''&lt;br /&gt;   fi&lt;br /&gt; &lt;br /&gt; &lt;br /&gt;   ###&lt;br /&gt;   # APM detection&lt;br /&gt; &lt;br /&gt;   if which ibam &gt; /dev/null; then&lt;br /&gt;   PR_APM='$PR_RED${${PR_APM_RESULT[(f)1]}[(w)-2]}%%(${${PR_APM_RESULT[(f)3]}[(w)-1]})$PR_LIGHT_BLUE:'&lt;br /&gt;   elif which apm &gt; /dev/null; then&lt;br /&gt;   PR_APM='$PR_RED${PR_APM_RESULT[(w)5,(w)6]/\% /%%}$PR_LIGHT_BLUE:'&lt;br /&gt;   else&lt;br /&gt;   PR_APM=''&lt;br /&gt;   fi&lt;br /&gt; &lt;br /&gt; &lt;br /&gt;   ###&lt;br /&gt;   # Finally, the prompt.&lt;br /&gt;&lt;br /&gt;   PROMPT='$PR_SET_CHARSET$PR_STITLE${(e)PR_TITLEBAR}\&lt;br /&gt;$PR_CYAN$PR_SHIFT_IN$PR_ULCORNER$PR_BLUE$PR_HBAR$PR_SHIFT_OUT(\&lt;br /&gt;$PR_GREEN%(!.%SROOT%s.%n)$PR_GREEN@%m:%l\&lt;br /&gt;$PR_BLUE)$PR_SHIFT_IN$PR_HBAR$PR_CYAN$PR_HBAR${(e)PR_FILLBAR}$PR_BLUE$PR_HBAR$PR_SHIFT_OUT(\&lt;br /&gt;$PR_MAGENTA%$PR_PWDLEN&lt;...&lt;%~%&lt;&lt;\ $PR_BLUE)$PR_SHIFT_IN$PR_HBAR$PR_CYAN$PR_URCORNER$PR_SHIFT_OUT\  $PR_CYAN$PR_SHIFT_IN$PR_LLCORNER$PR_BLUE$PR_HBAR$PR_SHIFT_OUT(\ %(?..$PR_LIGHT_RED%?$PR_BLUE:)\ ${(e)PR_APM}$PR_YELLOW%D{%H:%M}\ $PR_LIGHT_BLUE:%(!.$PR_RED.$PR_WHITE)%#$PR_BLUE)$PR_SHIFT_IN$PR_HBAR$PR_SHIFT_OUT\ $PR_CYAN$PR_SHIFT_IN$PR_HBAR$PR_SHIFT_OUT\ $PR_NO_COLOUR '      RPROMPT=' $PR_CYAN$PR_SHIFT_IN$PR_HBAR$PR_BLUE$PR_HBAR$PR_SHIFT_OUT\ ($PR_YELLOW%D{%a,%b%d}$PR_BLUE)$PR_SHIFT_IN$PR_HBAR$PR_CYAN$PR_LRCORNER$PR_SHIFT_OUT$PR_NO_COLOUR'      PS2='$PR_CYAN$PR_SHIFT_IN$PR_HBAR$PR_SHIFT_OUT\ $PR_BLUE$PR_SHIFT_IN$PR_HBAR$PR_SHIFT_OUT(\ $PR_LIGHT_GREEN%_$PR_BLUE)$PR_SHIFT_IN$PR_HBAR$PR_SHIFT_OUT\ $PR_CYAN$PR_SHIFT_IN$PR_HBAR$PR_SHIFT_OUT$PR_NO_COLOUR ' }  setprompt      # GLOBAL ALIASES &amp; SUFFIXES ALIASES alias -s tex=emacs alias -s html=firefox alias -s org=firefox  alias -g ...='../..' alias -g ....='../../..' alias -g .....='../../../..' alias -g CA="2&gt;&amp;amp;1 | cat -A"&lt;br /&gt;alias -g C='| wc -l'&lt;br /&gt;alias -g D="DISPLAY=:0.0"&lt;br /&gt;alias -g DN=/dev/null&lt;br /&gt;alias -g ED="export DISPLAY=:0.0"&lt;br /&gt;alias -g EG='|&amp; egrep'&lt;br /&gt;alias -g EH='|&amp;amp; head'&lt;br /&gt;alias -g EL='|&amp; less'&lt;br /&gt;alias -g ELS='|&amp;amp; less -S'&lt;br /&gt;alias -g ETL='|&amp; tail -20'&lt;br /&gt;alias -g ET='|&amp;amp; tail'&lt;br /&gt;alias -g F=' | fmt -'&lt;br /&gt;alias -g G='| egrep'&lt;br /&gt;alias -g H='| head'&lt;br /&gt;alias -g HL='|&amp; head -20'&lt;br /&gt;alias -g Sk="*~(*.bz2|*.gz|*.tgz|*.zip|*.z)"&lt;br /&gt;alias -g LL="2&gt;&amp;amp;1 | less"&lt;br /&gt;alias -g L="| less"&lt;br /&gt;alias -g LS='| less -S'&lt;br /&gt;alias -g MM='| most'&lt;br /&gt;alias -g M='| more'&lt;br /&gt;alias -g NE="2&gt; /dev/null"&lt;br /&gt;alias -g NS='| sort -n'&lt;br /&gt;alias -g NUL="&gt; /dev/null 2&gt;&amp;amp;1"&lt;br /&gt;alias -g PIPE='|'&lt;br /&gt;alias -g R=' &gt; /c/aaa/tee.txt '&lt;br /&gt;alias -g RNS='| sort -nr'&lt;br /&gt;alias -g S='| sort'&lt;br /&gt;alias -g TL='| tail -20'&lt;br /&gt;alias -g T='| tail'&lt;br /&gt;alias -g US='| sort -u'&lt;br /&gt;alias -g VM=/var/log/messages&lt;br /&gt;alias -g X0G='| xargs -0 egrep'&lt;br /&gt;alias -g X0='| xargs -0'&lt;br /&gt;alias -g XG='| xargs egrep'&lt;br /&gt;&lt;br /&gt;alias vi='vim'&lt;br /&gt;alias more='less'&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/14058418-3736228900456695935?l=romjethoughts.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://romjethoughts.blogspot.com/feeds/3736228900456695935/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=14058418&amp;postID=3736228900456695935' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/14058418/posts/default/3736228900456695935'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/14058418/posts/default/3736228900456695935'/><link rel='alternate' type='text/html' href='http://romjethoughts.blogspot.com/2007/05/i-love-zsh.html' title='I love zsh -)'/><author><name>jerome moliere</name><uri>http://www.blogger.com/profile/09621674138041413397</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_yYgAw7NXXAM/RkzLJIRVKYI/AAAAAAAAABQ/Njv3PT1w0Zk/s72-c/terminal.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-14058418.post-7269330590529397148</id><published>2007-05-17T02:27:00.000-07:00</published><updated>2007-05-17T02:39:18.241-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='clustering'/><title type='text'>First steps into the Terracotta world!!</title><content type='html'>Hi,&lt;br /&gt;a few words during this vacation day in France to deal with a hot subject : clustering technology.&lt;br /&gt;I 've made a small demo program for my customers (Reuters Financial Services) of the Open Terracotta transparent clustering features using their DSO facilities. Very impressive: works well, not intrusive, configuration easy, seems very stable and mature for a so young product. Only bemol in this beautiful picture, documentation is quite confusing and many features are not yet implemented but just wait...&lt;br /&gt;I used a simple Map implementation to keep my data as a distributed cache, now &lt;span style="font-style: italic;"&gt;Terracotta &lt;/span&gt;does not support all implementations of the &lt;span style="font-weight: bold;"&gt;java.util.Map&lt;/span&gt; interface so I used the &lt;span style="font-style: italic;"&gt;Jakarta Commons&lt;/span&gt; &lt;span style="font-weight: bold;"&gt;FastHashMap&lt;/span&gt; which is supported through an enhanced version of the original bytecode... Didn't succeed in providing my own version of the &lt;span style="font-weight: bold;"&gt;java.util.HashMap&lt;/span&gt; or other Map implementation from the Sun packages...Terrocotta provides a small script to enhance the rt.jar but it did'nt work (script succeeded in but could not use these implementations). It's a very young product but functional and very fast even if I didn't have enough time to set up a solid benchmark...&lt;br /&gt;Conclusion:&lt;br /&gt;I 'm totally convinced this is the major innovation in the Java World since many years and that this technology is about becoming the core of any serious architecture... Just test it!!!&lt;br /&gt;I will put on this blog, a small tarball containing the demo as it...&lt;br /&gt;Jerome&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/14058418-7269330590529397148?l=romjethoughts.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://romjethoughts.blogspot.com/feeds/7269330590529397148/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=14058418&amp;postID=7269330590529397148' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/14058418/posts/default/7269330590529397148'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/14058418/posts/default/7269330590529397148'/><link rel='alternate' type='text/html' href='http://romjethoughts.blogspot.com/2007/05/first-steps-into-terracotta-world.html' title='First steps into the Terracotta world!!'/><author><name>jerome moliere</name><uri>http://www.blogger.com/profile/09621674138041413397</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-14058418.post-2961132488613637068</id><published>2007-04-04T03:40:00.000-07:00</published><updated>2007-04-04T03:57:59.510-07:00</updated><title type='text'>Java and dual IP stacks machines</title><content type='html'>Hi,&lt;br /&gt;just for people stressed by non working J2EE clusters or unable to connect remotely to their JMX console...&lt;br /&gt;Certain recent Linux distributions provide a support for IP v4 and V6 on the same box.. This support is quite annoying while using Java code and the best solution is to remove one of the 2 stacks from the Java Virtual Machine point of view...&lt;br /&gt;Java guys from Sun know the problem and provide a clean solution with another (hidden?) property java.net.preferIPv4Stack=true&lt;br /&gt;Setting this property to the java program with a -D on the command line and your application is ready to communicate ....&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Hope this helps&lt;br /&gt;Jerome&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/14058418-2961132488613637068?l=romjethoughts.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://romjethoughts.blogspot.com/feeds/2961132488613637068/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=14058418&amp;postID=2961132488613637068' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/14058418/posts/default/2961132488613637068'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/14058418/posts/default/2961132488613637068'/><link rel='alternate' type='text/html' href='http://romjethoughts.blogspot.com/2007/04/java-and-dual-ip-stacks-machines.html' title='Java and dual IP stacks machines'/><author><name>jerome moliere</name><uri>http://www.blogger.com/profile/09621674138041413397</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-14058418.post-7978520318036641138</id><published>2007-04-04T03:20:00.000-07:00</published><updated>2007-04-04T03:33:07.903-07:00</updated><title type='text'>Cayenne and Sybase</title><content type='html'>Hi ,&lt;br /&gt;while playing with Cayenne ORM solution, I encountered strange problems with Sybase 12.5.4. Commit never run for updates , applications hangs...&lt;br /&gt;Sounds to appear in the low level JDBC layers.. But don't have enough time to debug...&lt;br /&gt;Cayenne team members seem to have the same problems....&lt;br /&gt;Jerome&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/14058418-7978520318036641138?l=romjethoughts.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://romjethoughts.blogspot.com/feeds/7978520318036641138/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=14058418&amp;postID=7978520318036641138' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/14058418/posts/default/7978520318036641138'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/14058418/posts/default/7978520318036641138'/><link rel='alternate' type='text/html' href='http://romjethoughts.blogspot.com/2007/04/cayenne-and-sybase.html' title='Cayenne and Sybase'/><author><name>jerome moliere</name><uri>http://www.blogger.com/profile/09621674138041413397</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-14058418.post-2707555983091746099</id><published>2007-02-11T02:33:00.000-08:00</published><updated>2007-02-11T03:07:01.725-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='technical'/><title type='text'>Subversion on debian like boxes: a quick howto</title><content type='html'>Hi all,&lt;br /&gt;this post aims to ease your next  installations of subversion (cvs killer!!) on Linux (should be  usable with different Unix systems). This short how-to will use the xinetd based daemon and  not the Apache module... I prefer this kind of installation...It's quick and clean, sufficient for a small system... So this small how-to will use the svnserve binary..&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;I. Getting binaries and installing them&lt;br /&gt;On debian like systems this step is very simple, just do an&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;apt-get install subversion&lt;/span&gt;&lt;br /&gt;or &lt;span style="font-weight: bold;"&gt;aptitude install subversion&lt;/span&gt; and that's it!!&lt;br /&gt;&lt;br /&gt;On most Ubuntu boxes these commands require to be done with a sudo command (require root privileges)&lt;br /&gt;so&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;sudo aptitude install subversion&lt;/span&gt; should do the  job...&lt;br /&gt;&lt;br /&gt;Ports on bsd Unixes should be quite similar or packages on Solaris (don't know all Unixes)..&lt;br /&gt;For Redhat based Linux distros use the&lt;span style="font-style: italic;"&gt; rpm&lt;/span&gt; or &lt;span style="font-style: italic;"&gt;urpmi&lt;/span&gt; binary...&lt;br /&gt;&lt;br /&gt;II. Prepare the system&lt;br /&gt;Basic Unix security require to use root privileges as least as possible so subversion daemon will run as the svn user with the svn group..&lt;br /&gt;Adding the svn group is quite easy:&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;sudo addgroup svn&lt;/span&gt;&lt;br /&gt;Adding an user on a Unix  system should be done with the &lt;span style="font-weight: bold;"&gt;adduser&lt;/span&gt; command.. I don't want that someone log on my box with the svn profile so I will disable the home and password for this account...&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;sudo adduser svn --no-create-home --system --in-group svn svn&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;So I 've got an user svn linked with the svn group...&lt;br /&gt;&lt;br /&gt;Next ensure that your system use a xinetd super daemon to launch subversion..&lt;br /&gt;Once again &lt;span style="font-weight: bold;"&gt;aptitude&lt;/span&gt; or &lt;span style="font-weight: bold;"&gt;apt-get&lt;/span&gt; is your friend...&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;sudo aptitude install xinetd&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Now we must add a service into the xinetd daemon for launching subversion..&lt;br /&gt;&lt;ul&gt;&lt;li&gt;ensure that your /etc/services contains the right information (subversion use the  IANA port : 3690 by default)&lt;/li&gt;&lt;li&gt;adds the service definition in the /etc/xinetd.d/ directory&lt;/li&gt;&lt;li&gt;ensures that your xinetd configuration file (&lt;span style="font-style: italic;"&gt;/etc/xinetd.conf&lt;/span&gt;) contains instructions required to load all services defined in the &lt;span style="font-style: italic;"&gt;/etc/xinetd.d/&lt;/span&gt; directory.&lt;/li&gt;&lt;/ul&gt;romje@buggy:~$ cat /etc/services |grep 3690&lt;br /&gt;svn             3690/tcp        subversion      # Subversion protocol&lt;br /&gt;svn             3690/udp        subversion&lt;br /&gt;romje@buggy:~$&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Please beware to use the name of service (svn) as the service file and name to be added in your xinetd.conf file...On my box default name was subversion...&lt;br /&gt;&lt;br /&gt;romje@buggy:~$ cat /etc/xinetd.conf&lt;br /&gt;# Simple configuration file for xinetd&lt;br /&gt;#&lt;br /&gt;# Some defaults, and include /etc/xinetd.d/&lt;br /&gt;&lt;br /&gt;defaults&lt;br /&gt;{&lt;br /&gt;&lt;br /&gt;# Please note that you need a log_type line to be able to use log_on_success&lt;br /&gt;# and log_on_failure. The default is the following :&lt;br /&gt;# log_type = SYSLOG daemon info&lt;br /&gt;log_on_failure      = HOST&lt;br /&gt;nstances=80&lt;br /&gt;log_type                = SYSLOG authpriv&lt;br /&gt;log_on_success          = HOST PID&lt;br /&gt;cps                     = 30 40&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;includedir /etc/xinetd.d&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;This configuration is usable for a small server not for large companies...&lt;br /&gt;&lt;br /&gt;Now let's look the subversion definition (/etc/xinetd.d/svn)&lt;br /&gt;&lt;br /&gt;romje@buggy:~$ cat /etc/xinetd.d/svn&lt;br /&gt;service svn&lt;br /&gt;{&lt;br /&gt;        socket_type     = stream&lt;br /&gt;        protocol        = tcp&lt;br /&gt;        user            = svn&lt;br /&gt;        wait            = no&lt;br /&gt;        disable         = no&lt;br /&gt;        server          = /usr/bin/svnserve&lt;br /&gt;        server_args     = -i --root=/pub/svn&lt;br /&gt;        port            = 3690&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;This configuration tells to serve contents stored in the&lt;span style="font-weight: bold;"&gt; /pub/svn&lt;/span&gt; directory (use whatever location on your machine) while running as a daemon (-i flag)...&lt;br /&gt;&lt;br /&gt;Restarting the xinetd daemon should show in /var/log/syslog file...&lt;br /&gt;Feb 11 12:15:14 buggy xinetd[9657]: xinetd Version 2.3.14 started with libwrap loadavg options compiled in.&lt;br /&gt;Feb 11 12:15:14 buggy xinetd[9657]: Started working: 1 available service&lt;br /&gt;&lt;br /&gt;While netstat and telnet tell you that something listen on the 3690!!!&lt;br /&gt;romje@buggy:~$ sudo netstat -anp |grep 3690&lt;br /&gt;tcp        0      0 0.0.0.0:3690            0.0.0.0:*               LISTEN     9657/xinetd&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;romje@buggy:~$ telnet localhost 3690&lt;br /&gt;Trying 127.0.0.1...&lt;br /&gt;Connected to localhost.&lt;br /&gt;Escape character is '^]'.&lt;br /&gt;( success ( 1 2 ( ANONYMOUS ) ( edit-pipeline ) ) )&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Ok seems good...&lt;br /&gt;Let's look how to add a repository into svn..&lt;br /&gt;&lt;br /&gt;III. Creating repositories with svn&lt;br /&gt;Creating a repository is quite easy...&lt;br /&gt;romje@buggy:~$ sudo svnadmin create /pub/svn/test test&lt;br /&gt;romje@buggy:~$ ls /pub/svn/test&lt;br /&gt;conf  dav  db  format  hooks  locks  README.txt&lt;br /&gt;romje@buggy:~$&lt;br /&gt;&lt;br /&gt;Now will use the basic authentication schemes to protect our repository:&lt;br /&gt;Let's have a look into the conf directory in the &lt;span style="font-weight: bold;"&gt;/pub/svn/test&lt;/span&gt; newly created you'll find a &lt;span style="font-weight: bold;"&gt;svnserve.conf&lt;/span&gt; file, it  tells how-to manage security to the svnserve  program.&lt;br /&gt;### These options control access to the repository for unauthenticated&lt;br /&gt;### and authenticated users.  Valid values are "write", "read",&lt;br /&gt;### and "none".  The sample settings below are the defaults.&lt;br /&gt;anon-access = none&lt;br /&gt;# auth-access = write&lt;br /&gt;### The password-db option controls the location of the password&lt;br /&gt;### database file.  Unless you specify a path starting with a /,&lt;br /&gt;### the file's location is relative to the conf directory.&lt;br /&gt;### Uncomment the line below to use the default password file.&lt;br /&gt;password-db = users.dat&lt;br /&gt;&lt;br /&gt;In this case a simple properties file in the same directory stores users enabled for this directory..&lt;br /&gt;[users]&lt;br /&gt;toto = totopassword&lt;br /&gt;foo = baz&lt;br /&gt;&lt;br /&gt;This could enable 2 users to connect to the repository test..&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Now happy svn co svn://yourhost/test!!!&lt;br /&gt;&lt;br /&gt;IV. Last step&lt;br /&gt;Now open your firewall and redirect the 3690 port to the subversion server and you are ready to serve files...&lt;br /&gt;&lt;br /&gt;Enjoy&lt;br /&gt;cheers&lt;br /&gt;Jerome&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/14058418-2707555983091746099?l=romjethoughts.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://romjethoughts.blogspot.com/feeds/2707555983091746099/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=14058418&amp;postID=2707555983091746099' title='5 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/14058418/posts/default/2707555983091746099'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/14058418/posts/default/2707555983091746099'/><link rel='alternate' type='text/html' href='http://romjethoughts.blogspot.com/2007/02/subversion-on-debian-like-boxes-quick.html' title='Subversion on debian like boxes: a quick howto'/><author><name>jerome moliere</name><uri>http://www.blogger.com/profile/09621674138041413397</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>5</thr:total></entry><entry><id>tag:blogger.com,1999:blog-14058418.post-8457655701281420119</id><published>2006-11-08T03:16:00.000-08:00</published><updated>2007-02-11T03:28:47.932-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='technical'/><title type='text'>Hibernate or any other ORM tool?</title><content type='html'>Hi all,&lt;br /&gt;the question of day ? How mature are Hibernate or any other ORM(object relational ampping tool) ? In fact while reading the code it's nice isn't it ? Transparent persistence and so on ... But for my point of view it seems that all these presume that your IT system doesn't exist ... Dealing with stored procedures is not so easy, managing transactions levels or disabling triggers is tricky, mapping for inheritance has some big limits, no versioning integrated in these tools...&lt;br /&gt;My feeling is that these products are mature but that they could not find the exact list of features that professional could require, they make too many things and too few in the same time....&lt;br /&gt;I remember the excellent &lt;a href="http://www.artima.com/lejava/articles/reuseP.html"&gt;link&lt;br /&gt;f&lt;/a&gt;rameworkitis ? -)&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;friendly&lt;br /&gt;Jerome&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/14058418-8457655701281420119?l=romjethoughts.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://romjethoughts.blogspot.com/feeds/8457655701281420119/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=14058418&amp;postID=8457655701281420119' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/14058418/posts/default/8457655701281420119'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/14058418/posts/default/8457655701281420119'/><link rel='alternate' type='text/html' href='http://romjethoughts.blogspot.com/2006/11/hibernate-or-any-other-orm.html' title='Hibernate or any other ORM tool?'/><author><name>jerome moliere</name><uri>http://www.blogger.com/profile/09621674138041413397</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-14058418.post-1251467406007502780</id><published>2006-11-07T05:00:00.000-08:00</published><updated>2006-11-07T05:08:15.860-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='philosophy'/><title type='text'>Technical books: poor or not ?</title><content type='html'>Hi all,&lt;br /&gt;2 posts in the same day !!&lt;br /&gt;I've read many technical books and I find that many of them are too poor, don't provide many industrial feedbacks and don't go in depth into the internals of the products, am I alone ?&lt;br /&gt;I'm quite angry against latest O'Reilly Java related books, which are just gentle introductions with simplistic samples. Example given : Hibernate , I 'm unable to find a complete sequence diagrams with all components involved while doing a typical save() or update()on my POJO ?&lt;br /&gt;Where the physical transaction begins, where(and how) hibernate  instruments my bytecode , all these questions are crucial for any serious developper or architect and I can't find answers ? Playing with libraries or kittens just sucks!!&lt;br /&gt;&lt;br /&gt;I think I'll be obliged to make this work ...&lt;br /&gt;friendly&lt;br /&gt;Jerome&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/14058418-1251467406007502780?l=romjethoughts.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://romjethoughts.blogspot.com/feeds/1251467406007502780/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=14058418&amp;postID=1251467406007502780' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/14058418/posts/default/1251467406007502780'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/14058418/posts/default/1251467406007502780'/><link rel='alternate' type='text/html' href='http://romjethoughts.blogspot.com/2006/11/technical-books-poor-or-not.html' title='Technical books: poor or not ?'/><author><name>jerome moliere</name><uri>http://www.blogger.com/profile/09621674138041413397</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-14058418.post-116290437654661600</id><published>2006-11-07T04:51:00.000-08:00</published><updated>2006-11-07T04:54:22.134-08:00</updated><title type='text'>Back on the blogosphere- II the return</title><content type='html'>Hi,&lt;br /&gt;too many things to do to find enough time to write here daily!!!&lt;br /&gt;I 'm trying to help customers to choose an ORM solution in Java, everybody think about Hibernate but I 'm not totally convinced...Trying and benching is necessary before telling : that 's the solution!! But this method pushes me in dire straits, how to use benchmarks while many of them are very partial documents published directly by software vendors or directly sponsored? I think that industrial software needs infrastructure offering a way to run tests , to collect results and so on..&lt;br /&gt;Something like a Junit but dedicated to performance ...&lt;br /&gt;One more project in my bag, this one seems to be about exploding !!!&lt;br /&gt;&lt;br /&gt;enjoy your cup of Java!!&lt;br /&gt;friendly&lt;br /&gt;Jerome&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/14058418-116290437654661600?l=romjethoughts.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://romjethoughts.blogspot.com/feeds/116290437654661600/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=14058418&amp;postID=116290437654661600' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/14058418/posts/default/116290437654661600'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/14058418/posts/default/116290437654661600'/><link rel='alternate' type='text/html' href='http://romjethoughts.blogspot.com/2006/11/back-on-blogosphere-ii-return.html' title='Back on the blogosphere- II the return'/><author><name>jerome moliere</name><uri>http://www.blogger.com/profile/09621674138041413397</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-14058418.post-114252390248932813</id><published>2006-03-16T07:38:00.000-08:00</published><updated>2006-11-07T04:54:22.081-08:00</updated><title type='text'>Back on the blog</title><content type='html'>After a while without posting my humor, I will take a moment to talk about the latest silver bullet:AJAX ... Have you ever seen any AJAX application ? looks nice isn't it ? Too simple to be honnest : simple to deploy with standard protocols (nothing more than HTTP), simple to integrate in your project, very conveniant &amp; economic (for your bandwidth). SO what 's wrong with AJAX?&lt;br /&gt;&lt;br /&gt;Nothing more than the crual truth: Javascript is a nightmare!!!&lt;br /&gt;Have'nt you seen webpages unusable on Mozilla ? Or stopping to work after an upgrade from IE Y.X to Z version ? :)&lt;br /&gt;Yes the huge problem with AJAX is that there's no common Javascript component used in all browsers (Rhino or any Ecma script compliant one). So your wonderfull application with cool refresh features will be simply unusable on many browsers...&lt;br /&gt;&lt;br /&gt;Silver bullet yes, but choose your vampires..&lt;br /&gt;&lt;br /&gt;See you soon&lt;br /&gt;Jerome&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/14058418-114252390248932813?l=romjethoughts.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://romjethoughts.blogspot.com/feeds/114252390248932813/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=14058418&amp;postID=114252390248932813' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/14058418/posts/default/114252390248932813'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/14058418/posts/default/114252390248932813'/><link rel='alternate' type='text/html' href='http://romjethoughts.blogspot.com/2006/03/back-on-blog.html' title='Back on the blog'/><author><name>jerome moliere</name><uri>http://www.blogger.com/profile/09621674138041413397</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-14058418.post-113224263546523375</id><published>2005-11-17T07:46:00.000-08:00</published><updated>2006-11-07T04:54:22.028-08:00</updated><title type='text'>ANT or Maven: that is the question...</title><content type='html'>Hi all,&lt;br /&gt;playing around with ANt &amp; many custom tasks I returned to the eternal question:&lt;br /&gt;ANT or Maven ? What could bring me Maven ?&lt;br /&gt;Reusing scripts is possible (one of the greatest new feature in ANT 1.6) so what ?&lt;br /&gt;Once these metahycial considerations done, i can return play with my ipod, nice gadget isn't it ?&lt;br /&gt;&lt;br /&gt;Jerome&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/14058418-113224263546523375?l=romjethoughts.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://romjethoughts.blogspot.com/feeds/113224263546523375/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=14058418&amp;postID=113224263546523375' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/14058418/posts/default/113224263546523375'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/14058418/posts/default/113224263546523375'/><link rel='alternate' type='text/html' href='http://romjethoughts.blogspot.com/2005/11/ant-or-maven-that-is-question.html' title='ANT or Maven: that is the question...'/><author><name>jerome moliere</name><uri>http://www.blogger.com/profile/09621674138041413397</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-14058418.post-113215556130008551</id><published>2005-11-16T07:35:00.000-08:00</published><updated>2006-11-07T04:54:21.975-08:00</updated><title type='text'>Blog still alive</title><content type='html'>Hi,&lt;br /&gt;very hard for me to have enough time to feed my blog but I guess it's like sport or&lt;br /&gt;any other other form of exercise...:)&lt;br /&gt;While diving into the heart of Spring I can't bear thinking of these tons of good ideas evoluting in a bad direction.. Please don't make the error that Maven team or many other projects, keep it as simple as possible :)&lt;br /&gt;&lt;br /&gt;that's enough for this day&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/14058418-113215556130008551?l=romjethoughts.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://romjethoughts.blogspot.com/feeds/113215556130008551/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=14058418&amp;postID=113215556130008551' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/14058418/posts/default/113215556130008551'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/14058418/posts/default/113215556130008551'/><link rel='alternate' type='text/html' href='http://romjethoughts.blogspot.com/2005/11/blog-still-alive.html' title='Blog still alive'/><author><name>jerome moliere</name><uri>http://www.blogger.com/profile/09621674138041413397</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-14058418.post-112022405495390165</id><published>2005-07-01T06:08:00.000-07:00</published><updated>2006-11-07T04:54:21.921-08:00</updated><title type='text'>Sheets ?</title><content type='html'>Hi,&lt;br /&gt;as a french guy I'm not sure of the spelling of this word but it sucks while playing with docbook documents to encounter problems &lt;br /&gt;with XSLT transformations. It seems that Xalan embedded in JDK 1.5_up3 is far from being usable, because the same document on the same machine is converted into PDF with FOP with Saxon or JDK 1.4.2 with Xalan embedded . So once again you may stress for nothing...&lt;br /&gt;&lt;br /&gt;Jerome&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/14058418-112022405495390165?l=romjethoughts.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://romjethoughts.blogspot.com/feeds/112022405495390165/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=14058418&amp;postID=112022405495390165' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/14058418/posts/default/112022405495390165'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/14058418/posts/default/112022405495390165'/><link rel='alternate' type='text/html' href='http://romjethoughts.blogspot.com/2005/07/sheets.html' title='Sheets ?'/><author><name>jerome moliere</name><uri>http://www.blogger.com/profile/09621674138041413397</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-14058418.post-112012298931511994</id><published>2005-06-30T02:08:00.000-07:00</published><updated>2006-11-07T04:54:21.869-08:00</updated><title type='text'>To be or not to be?</title><content type='html'>Hi,&lt;br /&gt;choice is the better thing bringing freedom for us to build fast/secure/robust platforms...But how to handle choice ?&lt;br /&gt;For example Hibernate is fun, simple &amp; powerful but seems to be slow (made some tests with the default cache EHCACHE &amp; recovering cached data for simple SQL requests is just 2 times faster than making the request with JDBC)..I think that the opnly way to handle choice is to get some strong practices (methodology) &amp; to be able to plan some real test cases.&lt;br /&gt;That is to say real life projects should offer not only R&amp;D but effective period to manage the choice dilemna!!&lt;br /&gt;Never saw a silver bullet, so our decisions must be made in a context as closer as possible from the one defining your applications.&lt;br /&gt;Do you really encountered such periods in your plannings ?&lt;br /&gt;So who could be surprised by the number of projects failing to adhere to the initial roadmap ?&lt;br /&gt;&lt;br /&gt;But life is life..&lt;br /&gt;Jeroem&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/14058418-112012298931511994?l=romjethoughts.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://romjethoughts.blogspot.com/feeds/112012298931511994/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=14058418&amp;postID=112012298931511994' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/14058418/posts/default/112012298931511994'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/14058418/posts/default/112012298931511994'/><link rel='alternate' type='text/html' href='http://romjethoughts.blogspot.com/2005/06/to-be-or-not-to-be.html' title='To be or not to be?'/><author><name>jerome moliere</name><uri>http://www.blogger.com/profile/09621674138041413397</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-14058418.post-112006681769912069</id><published>2005-06-29T10:37:00.000-07:00</published><updated>2006-11-07T04:54:21.811-08:00</updated><title type='text'>Initial Post</title><content type='html'>Hi all,&lt;br /&gt;hard to make the first step isn't it ? :)&lt;br /&gt;So you'll be able to share my thoughts for the next days...&lt;br /&gt;I'm very sad to see that even my old friend LOg4J can play with my nerves..I hope to see my events in the syslog daemon soon...&lt;br /&gt;&lt;br /&gt;See you soon &amp; take care&lt;br /&gt;Jerome&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/14058418-112006681769912069?l=romjethoughts.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://romjethoughts.blogspot.com/feeds/112006681769912069/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=14058418&amp;postID=112006681769912069' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/14058418/posts/default/112006681769912069'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/14058418/posts/default/112006681769912069'/><link rel='alternate' type='text/html' href='http://romjethoughts.blogspot.com/2005/06/initial-post.html' title='Initial Post'/><author><name>jerome moliere</name><uri>http://www.blogger.com/profile/09621674138041413397</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>2</thr:total></entry></feed>
