<?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-14415229</id><updated>2012-02-02T14:28:16.881+01:00</updated><category term='linux'/><category term='howtobuildgoodsoftware'/><category term='audio'/><category term='math'/><category term='Programming gpu'/><category term='scala'/><category term='finance'/><category term='java'/><category term='maths'/><category term='java finance'/><category term='internet'/><category term='java haskell'/><category term='java math finance'/><category term='maths math'/><category term='java python'/><category term='book'/><title type='text'>Chase The Devil</title><subtitle type='html'>Technical blog for Fabien</subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://chasethedevil.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/14415229/posts/default?max-results=100'/><link rel='alternate' type='text/html' href='http://chasethedevil.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><link rel='next' type='application/atom+xml' href='http://www.blogger.com/feeds/14415229/posts/default?start-index=101&amp;max-results=100'/><author><name>Fabien</name><uri>http://www.blogger.com/profile/07288327695801480778</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://photos1.blogger.com/blogger/6384/1303/200/IMG_3839-1.jpg'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>200</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>100</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-14415229.post-8919754878591294574</id><published>2012-01-27T13:38:00.001+01:00</published><updated>2012-01-28T20:02:05.053+01:00</updated><title type='text'>KDE 4.8 finally has a dock</title><summary type='text'>KDE 4.8 finally has a dock: you just have to add the plasma icon tasks. Also the flexibility around ALT+TAB is welcome. With Krusader as file manager, Thunderbird and Firefox for email and web, it is becoming a real nice desktop, but it took a while since the very bad KDE 4.0 release.

It is easy to install under ubuntu 11.10 through the backports and seems very stable so far.

Something quite </summary><link rel='replies' type='application/atom+xml' href='http://chasethedevil.blogspot.com/feeds/8919754878591294574/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=14415229&amp;postID=8919754878591294574' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/14415229/posts/default/8919754878591294574'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/14415229/posts/default/8919754878591294574'/><link rel='alternate' type='text/html' href='http://chasethedevil.blogspot.com/2012/01/kde-48-finally-has-dock.html' title='KDE 4.8 finally has a dock'/><author><name>Fabien</name><uri>http://www.blogger.com/profile/07288327695801480778</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://photos1.blogger.com/blogger/6384/1303/200/IMG_3839-1.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-14415229.post-7575334377809110271</id><published>2012-01-11T02:14:00.001+01:00</published><updated>2012-01-27T13:39:23.311+01:00</updated><title type='text'>List of companies where I have been an employee</title><summary type='text'>Intern:
Siemens (Berlin)
IBM (Boeblingen)
Osram Sylvania (Beverly, MA)

Employee:
Cap Gemini (Paris) working for Alcatel
Silicomp (Paris) working for Alcatel Nextenso
C2labs / one 0 development (San Francisco, CA) working for Whenmobile, Sony Pictures, GoPix, Technorati.
Credit Agricole alternative (Paris)
Prima solutions (Paris)
Esearchvision (Paris)
Ulink (Paris)
Edifixio (Paris)
Horizon (Paris</summary><link rel='replies' type='application/atom+xml' href='http://chasethedevil.blogspot.com/feeds/7575334377809110271/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=14415229&amp;postID=7575334377809110271' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/14415229/posts/default/7575334377809110271'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/14415229/posts/default/7575334377809110271'/><link rel='alternate' type='text/html' href='http://chasethedevil.blogspot.com/2012/01/list-of-companies-where-i-have-been.html' title='List of companies where I have been an employee'/><author><name>Fabien</name><uri>http://www.blogger.com/profile/07288327695801480778</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://photos1.blogger.com/blogger/6384/1303/200/IMG_3839-1.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-14415229.post-8862952868504860441</id><published>2012-01-09T00:14:00.002+01:00</published><updated>2012-01-09T00:14:56.883+01:00</updated><title type='text'>Generating random numbers following a given discrete probability distribution</title><summary type='text'>I have never really thought very much about generating random numbers according to a precise discrete distribution, for example to simulate an unfair dice. In finance, we are generally interested in continuous distributions, where there is typically 2 ways: the inverse transform (usually computed in a numerical way), and the acceptance-rejection method (typically the ziggurat). The inverse </summary><link rel='replies' type='application/atom+xml' href='http://chasethedevil.blogspot.com/feeds/8862952868504860441/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=14415229&amp;postID=8862952868504860441' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/14415229/posts/default/8862952868504860441'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/14415229/posts/default/8862952868504860441'/><link rel='alternate' type='text/html' href='http://chasethedevil.blogspot.com/2012/01/generating-random-numbers-following.html' title='Generating random numbers following a given discrete probability distribution'/><author><name>Fabien</name><uri>http://www.blogger.com/profile/07288327695801480778</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://photos1.blogger.com/blogger/6384/1303/200/IMG_3839-1.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-14415229.post-2144237125958565052</id><published>2011-12-21T17:37:00.000+01:00</published><updated>2011-12-21T17:38:03.063+01:00</updated><title type='text'>Quant Interview &amp; Education</title><summary type='text'>Recently, I interviewed someone for a quant position. I was very surprised to find out that someone who did one of the best master in probabilities and finance in France could not solve a very basic probability problem:



This is accessible to someone with very little knowledge of probabilities 

When I asked this problem around to co-workers (who have all at least a master in a scientific </summary><link rel='replies' type='application/atom+xml' href='http://chasethedevil.blogspot.com/feeds/2144237125958565052/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=14415229&amp;postID=2144237125958565052' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/14415229/posts/default/2144237125958565052'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/14415229/posts/default/2144237125958565052'/><link rel='alternate' type='text/html' href='http://chasethedevil.blogspot.com/2011/12/quant-interview-education.html' title='Quant Interview &amp; Education'/><author><name>Fabien</name><uri>http://www.blogger.com/profile/07288327695801480778</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://photos1.blogger.com/blogger/6384/1303/200/IMG_3839-1.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/-64ejCSg9Y8o/TvIHEF4PgwI/AAAAAAAAFio/uxVwdwVnQ54/s72-c/Screenshot+at+2011-12-21+17%253A18%253A28.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-14415229.post-6354785772525729064</id><published>2011-11-30T18:11:00.001+01:00</published><updated>2011-11-30T18:24:31.705+01:00</updated><title type='text'>Gnome 3 not so crap after all</title><summary type='text'>In a previous post, I was complaining how bad Gnome 3 was. Since I have installed a real dock: docky, it is now much more usable. I can easily switch / launch applications without an annoying full screen change.

In addition I found out that it had a good desktop search (tracker). The ALT+F2 also does some sort of completion, too bad it can not use tracker here as well.

So it looks like Gnome 3 </summary><link rel='replies' type='application/atom+xml' href='http://chasethedevil.blogspot.com/feeds/6354785772525729064/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=14415229&amp;postID=6354785772525729064' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/14415229/posts/default/6354785772525729064'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/14415229/posts/default/6354785772525729064'/><link rel='alternate' type='text/html' href='http://chasethedevil.blogspot.com/2011/11/gnome-3-not-so-crap-after-all.html' title='Gnome 3 not so crap after all'/><author><name>Fabien</name><uri>http://www.blogger.com/profile/07288327695801480778</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://photos1.blogger.com/blogger/6384/1303/200/IMG_3839-1.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/-2DF1jycI5ZU/TtZmvdt2k-I/AAAAAAAAFic/ej8a7g1Gswg/s72-c/Screenshot+at+2011-11-30+18%253A20%253A29.png' height='72' width='72'/><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-14415229.post-2964161984070318492</id><published>2011-11-17T12:28:00.001+01:00</published><updated>2011-11-17T13:52:06.718+01:00</updated><title type='text'>Good &amp; Popular Algorithms are Simple</title><summary type='text'>I recently tried to minimise a function according to some constraints. One popular method to minimise a function in several dimensions is Nelder-Mead Simplex. It is quite simple, so simple that I programmed it in Java in 1h30, including a small design and a test. It helped that the original paper from Nelder-Mead is very clear:


However the main issue is that it works only for unconstrained </summary><link rel='replies' type='application/atom+xml' href='http://chasethedevil.blogspot.com/feeds/2964161984070318492/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=14415229&amp;postID=2964161984070318492' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/14415229/posts/default/2964161984070318492'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/14415229/posts/default/2964161984070318492'/><link rel='alternate' type='text/html' href='http://chasethedevil.blogspot.com/2011/11/good-popular-algorithms-are-simple.html' title='Good &amp; Popular Algorithms are Simple'/><author><name>Fabien</name><uri>http://www.blogger.com/profile/07288327695801480778</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://photos1.blogger.com/blogger/6384/1303/200/IMG_3839-1.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/-glZ52IB0SkA/TsTxF4VmyFI/AAAAAAAAFhw/zSDQ0Het9MU/s72-c/neldermeadalgo.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-14415229.post-8912512793956561051</id><published>2011-08-17T19:09:00.000+02:00</published><updated>2011-08-17T19:09:27.845+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='linux'/><title type='text'>Gnome 3, Unity, Crap</title><summary type='text'>After the upgrate to Ubuntu 11.04 I was directly on Unity. Having a dock on the left side is nice, but unfortunately, it has various bugs which makes it sometimes annoying. Also the menu on top like Mac Os X is not a bad idea, but it breaks many apps (for example Picasa). Then there is the scrollbar insanity, it's almost impossible to click on to scroll, and again breaks in some apps (for example</summary><link rel='replies' type='application/atom+xml' href='http://chasethedevil.blogspot.com/feeds/8912512793956561051/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=14415229&amp;postID=8912512793956561051' title='3 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/14415229/posts/default/8912512793956561051'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/14415229/posts/default/8912512793956561051'/><link rel='alternate' type='text/html' href='http://chasethedevil.blogspot.com/2011/08/gnome-3-unity-crap.html' title='Gnome 3, Unity, Crap'/><author><name>Fabien</name><uri>http://www.blogger.com/profile/07288327695801480778</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://photos1.blogger.com/blogger/6384/1303/200/IMG_3839-1.jpg'/></author><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-14415229.post-5535594656511281148</id><published>2011-08-14T10:20:00.000+02:00</published><updated>2011-08-14T10:20:48.517+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Programming gpu'/><title type='text'>Carmack &amp; GPGPU programming</title><summary type='text'>Finally someone who shares the same opinion on the current state of GPGPU programming. 

John Carmack: On the other hand, we have converted all of our offline processing stuff to ray tracing. For years, the back-end MegaTexture generation for Rage was done with... we had a GPGPU cluster with NVIDIA cards and it was such a huge pain to keep. It was an amazing pain where one system would be having </summary><link rel='replies' type='application/atom+xml' href='http://chasethedevil.blogspot.com/feeds/5535594656511281148/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=14415229&amp;postID=5535594656511281148' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/14415229/posts/default/5535594656511281148'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/14415229/posts/default/5535594656511281148'/><link rel='alternate' type='text/html' href='http://chasethedevil.blogspot.com/2011/08/carmack-gpgpu-programming.html' title='Carmack &amp; GPGPU programming'/><author><name>Fabien</name><uri>http://www.blogger.com/profile/07288327695801480778</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://photos1.blogger.com/blogger/6384/1303/200/IMG_3839-1.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-14415229.post-671745829544882879</id><published>2011-04-08T23:03:00.000+02:00</published><updated>2011-04-08T23:03:40.384+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='java'/><title type='text'>exp(y*log(x)) Much Faster than Math.pow(x,y)</title><summary type='text'>Today I found out that replacing Math.pow(x,y) by Math.exp(y*Math.log(x)) made me gain 50% performance in my program. Of course, both x and y are double in my case. I find this quite surprising, I expected better from Math.pow.</summary><link rel='replies' type='application/atom+xml' href='http://chasethedevil.blogspot.com/feeds/671745829544882879/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=14415229&amp;postID=671745829544882879' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/14415229/posts/default/671745829544882879'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/14415229/posts/default/671745829544882879'/><link rel='alternate' type='text/html' href='http://chasethedevil.blogspot.com/2011/04/expylogx-much-faster-than-mathpowxy.html' title='exp(y*log(x)) Much Faster than Math.pow(x,y)'/><author><name>Fabien</name><uri>http://www.blogger.com/profile/07288327695801480778</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://photos1.blogger.com/blogger/6384/1303/200/IMG_3839-1.jpg'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-14415229.post-7104817458698937807</id><published>2011-04-06T13:08:00.000+02:00</published><updated>2011-04-06T13:08:57.403+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='audio'/><title type='text'>Best Headphones Ever?</title><summary type='text'>I just miraculously received some AKG Q701 headphones. I never tried really high end headphones before those. I was used to my Sennheiser HD555, which I thought were quite good already.

I always thought there was not much difference between let's say a $100 headphone and a $500 one, and that only real audiophiles would be able notice the difference: people like Jake who can distinguish artefacts</summary><link rel='replies' type='application/atom+xml' href='http://chasethedevil.blogspot.com/feeds/7104817458698937807/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=14415229&amp;postID=7104817458698937807' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/14415229/posts/default/7104817458698937807'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/14415229/posts/default/7104817458698937807'/><link rel='alternate' type='text/html' href='http://chasethedevil.blogspot.com/2011/04/best-headphones-ever.html' title='Best Headphones Ever?'/><author><name>Fabien</name><uri>http://www.blogger.com/profile/07288327695801480778</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://photos1.blogger.com/blogger/6384/1303/200/IMG_3839-1.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-14415229.post-8723799677949479075</id><published>2011-02-05T13:18:00.000+01:00</published><updated>2011-02-05T13:18:40.011+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='java'/><category scheme='http://www.blogger.com/atom/ns#' term='finance'/><category scheme='http://www.blogger.com/atom/ns#' term='math'/><title type='text'>SIMD and Mersenne-Twister</title><summary type='text'>Since 2007, there is a new kind of Mersenne-Twister (MT) that exploits SIMD architecture, the SFMT. The Mersenne-Twister has set quite a standard in random number generation for Monte-Carlo simulations, even though it has flaws.

I was wondering if SFMT improved the performance over MT for a Java implementation. There is actually on the same page a decent Java port of the original algorithm. When</summary><link rel='replies' type='application/atom+xml' href='http://chasethedevil.blogspot.com/feeds/8723799677949479075/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=14415229&amp;postID=8723799677949479075' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/14415229/posts/default/8723799677949479075'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/14415229/posts/default/8723799677949479075'/><link rel='alternate' type='text/html' href='http://chasethedevil.blogspot.com/2011/02/simd-and-mersenne-twister.html' title='SIMD and Mersenne-Twister'/><author><name>Fabien</name><uri>http://www.blogger.com/profile/07288327695801480778</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://photos1.blogger.com/blogger/6384/1303/200/IMG_3839-1.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-14415229.post-4531606755896368419</id><published>2011-01-12T20:26:00.002+01:00</published><updated>2011-01-13T00:16:20.398+01:00</updated><title type='text'>XORWOW L'ecuyer TestU01 Results</title><summary type='text'>Nvidia uses XorWow random number generator in its CURAND library. It is a simple and fast random number generator with a reasonably long period. It can also be parallelized relatively easily. Nvidia suggests it passes L'Ecuyer TestU01, but is not very explicit about it. So I've decided to see how it performed on TestU01.
I found very simple to test a new random number generator on TestU01, the </summary><link rel='replies' type='application/atom+xml' href='http://chasethedevil.blogspot.com/feeds/4531606755896368419/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=14415229&amp;postID=4531606755896368419' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/14415229/posts/default/4531606755896368419'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/14415229/posts/default/4531606755896368419'/><link rel='alternate' type='text/html' href='http://chasethedevil.blogspot.com/2011/01/xorwow-lecuyer-testu01-results.html' title='XORWOW L&apos;ecuyer TestU01 Results'/><author><name>Fabien</name><uri>http://www.blogger.com/profile/07288327695801480778</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://photos1.blogger.com/blogger/6384/1303/200/IMG_3839-1.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-14415229.post-1043063401351782371</id><published>2011-01-03T16:07:00.002+01:00</published><updated>2011-01-03T18:28:01.733+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='java'/><category scheme='http://www.blogger.com/atom/ns#' term='finance'/><category scheme='http://www.blogger.com/atom/ns#' term='math'/><title type='text'>The CUDA Performance Myth</title><summary type='text'>There is an interesting article on how to generate efficiently the inverse of the normal cumulative distribution on the GPU. This is useful for Monte-Carlo simulations based on normally distributed variables.

Another result of the paper is a method (breakless algorithm) to compute it apparently faster than the very good Wichura's AS241 algorithm on the CPU as well keeping a similar precision. </summary><link rel='replies' type='application/atom+xml' href='http://chasethedevil.blogspot.com/feeds/1043063401351782371/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=14415229&amp;postID=1043063401351782371' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/14415229/posts/default/1043063401351782371'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/14415229/posts/default/1043063401351782371'/><link rel='alternate' type='text/html' href='http://chasethedevil.blogspot.com/2011/01/cuda-performance-myth.html' title='The CUDA Performance Myth'/><author><name>Fabien</name><uri>http://www.blogger.com/profile/07288327695801480778</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://photos1.blogger.com/blogger/6384/1303/200/IMG_3839-1.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-14415229.post-8837087776576125986</id><published>2010-12-22T16:03:00.000+01:00</published><updated>2010-12-22T16:03:30.906+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='internet'/><title type='text'>Firefox 4 Is Great</title><summary type='text'>I temporarily abandonned Firefox for Chrome/Chromium. I am now back at using Firefox as Firefox 4 is as fast or faster than Chrome and seems more stable, especially under linux. Also it does not send anything to Google and there is bookmark sync independently of Google.

I am impressed that Mozilla managed to improve Firefox that much.</summary><link rel='replies' type='application/atom+xml' href='http://chasethedevil.blogspot.com/feeds/8837087776576125986/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=14415229&amp;postID=8837087776576125986' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/14415229/posts/default/8837087776576125986'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/14415229/posts/default/8837087776576125986'/><link rel='alternate' type='text/html' href='http://chasethedevil.blogspot.com/2010/12/firefox-4-is-great.html' title='Firefox 4 Is Great'/><author><name>Fabien</name><uri>http://www.blogger.com/profile/07288327695801480778</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://photos1.blogger.com/blogger/6384/1303/200/IMG_3839-1.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-14415229.post-7077164564084323898</id><published>2010-11-29T12:45:00.003+01:00</published><updated>2010-11-29T15:37:43.704+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='java'/><category scheme='http://www.blogger.com/atom/ns#' term='finance'/><category scheme='http://www.blogger.com/atom/ns#' term='math'/><title type='text'>Another Look at Java Matrix Libraries</title><summary type='text'>A while ago, I was already looking for a good Java Matrix library, complaining that there does not seem any real good one where development is still active: the 2 best ones are in my opinion Jama and Colt.

Recently I tried to price options via RBF (radial basis functions) based on TR-BDF2 time stepping. This is a problem where one needs to do a few matrix multiplications and inverses (or better,</summary><link rel='replies' type='application/atom+xml' href='http://chasethedevil.blogspot.com/feeds/7077164564084323898/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=14415229&amp;postID=7077164564084323898' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/14415229/posts/default/7077164564084323898'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/14415229/posts/default/7077164564084323898'/><link rel='alternate' type='text/html' href='http://chasethedevil.blogspot.com/2010/11/another-look-at-java-matrix-libraries.html' title='Another Look at Java Matrix Libraries'/><author><name>Fabien</name><uri>http://www.blogger.com/profile/07288327695801480778</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://photos1.blogger.com/blogger/6384/1303/200/IMG_3839-1.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-14415229.post-3342705820569107461</id><published>2010-08-12T17:32:00.000+02:00</published><updated>2010-08-12T17:32:24.445+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='java'/><title type='text'>Java enum Is Evil</title><summary type='text'>Before Java 1.5, I never really complained about the lack of enum keyword. Sure the old enum via class pattern was a bit verbose at first (N.B.: Java 1.5 enums can also be verbose once you start adding methods to them). But more importantly, you would often use the table lookup pattern in combination.

The problem with Java 1.5 enum is that it is not Object-Oriented. You can't extend an enum, you</summary><link rel='replies' type='application/atom+xml' href='http://chasethedevil.blogspot.com/feeds/3342705820569107461/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=14415229&amp;postID=3342705820569107461' title='3 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/14415229/posts/default/3342705820569107461'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/14415229/posts/default/3342705820569107461'/><link rel='alternate' type='text/html' href='http://chasethedevil.blogspot.com/2010/08/java-enum-is-evil.html' title='Java enum Is Evil'/><author><name>Fabien</name><uri>http://www.blogger.com/profile/07288327695801480778</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://photos1.blogger.com/blogger/6384/1303/200/IMG_3839-1.jpg'/></author><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-14415229.post-7776723680907364405</id><published>2010-08-07T12:35:00.001+02:00</published><updated>2010-08-11T18:27:11.464+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='java'/><category scheme='http://www.blogger.com/atom/ns#' term='scala'/><title type='text'>A Very Interesting Feature of Scala</title><summary type='text'>I tried Scala a few years ago. There are several good ideas in it, but I found the language to be a bit too complicated to master. But I recently stubbled upon a paper on Scala generics that might change my mind about using Scala.

Scala Generics used to work in a similar way as Java Generics: via type erasure. One main reason is compatibility with Java, another is that C++ like templates make </summary><link rel='replies' type='application/atom+xml' href='http://chasethedevil.blogspot.com/feeds/7776723680907364405/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=14415229&amp;postID=7776723680907364405' title='5 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/14415229/posts/default/7776723680907364405'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/14415229/posts/default/7776723680907364405'/><link rel='alternate' type='text/html' href='http://chasethedevil.blogspot.com/2010/08/very-interesting-feature-of-scala.html' title='A Very Interesting Feature of Scala'/><author><name>Fabien</name><uri>http://www.blogger.com/profile/07288327695801480778</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://photos1.blogger.com/blogger/6384/1303/200/IMG_3839-1.jpg'/></author><thr:total>5</thr:total></entry><entry><id>tag:blogger.com,1999:blog-14415229.post-3731742747310268611</id><published>2010-07-28T14:25:00.000+02:00</published><updated>2010-07-28T14:25:29.784+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='maths math'/><title type='text'>Street Fighting Mathematics Book</title><summary type='text'>The MIT has a downloadable book on basic mathematics: Street Fighting Mathematics. I liked the part focused on the geometrical approach. It reminded me of the early greek mathematics.
Overall it does look like a very American approach to Maths: answering a multiple choices questions test by elimination. But it is still an interesting book.</summary><link rel='replies' type='application/atom+xml' href='http://chasethedevil.blogspot.com/feeds/3731742747310268611/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=14415229&amp;postID=3731742747310268611' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/14415229/posts/default/3731742747310268611'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/14415229/posts/default/3731742747310268611'/><link rel='alternate' type='text/html' href='http://chasethedevil.blogspot.com/2010/07/street-fighting-mathematics-book.html' title='Street Fighting Mathematics Book'/><author><name>Fabien</name><uri>http://www.blogger.com/profile/07288327695801480778</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://photos1.blogger.com/blogger/6384/1303/200/IMG_3839-1.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-14415229.post-5162730099638127067</id><published>2010-07-21T15:30:00.000+02:00</published><updated>2010-07-21T15:30:06.309+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='internet'/><title type='text'>Bye Bye Firefox</title><summary type='text'>I have been a long user of Firefox, mostly thanks to the adblock extension. But recently, Firefox decided to change the way arrows work on the web pages, they don't make the page scroll anymore. Meanwhile Chrome has now a good adblock plugin (that filters ads on load, not after load like it use to be) and is really much much faster than Firefox. So there is no more reason not to use it.

Hello </summary><link rel='replies' type='application/atom+xml' href='http://chasethedevil.blogspot.com/feeds/5162730099638127067/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=14415229&amp;postID=5162730099638127067' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/14415229/posts/default/5162730099638127067'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/14415229/posts/default/5162730099638127067'/><link rel='alternate' type='text/html' href='http://chasethedevil.blogspot.com/2010/07/bye-bye-firefox.html' title='Bye Bye Firefox'/><author><name>Fabien</name><uri>http://www.blogger.com/profile/07288327695801480778</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://photos1.blogger.com/blogger/6384/1303/200/IMG_3839-1.jpg'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-14415229.post-3589956468041709202</id><published>2010-06-09T14:05:00.000+02:00</published><updated>2010-06-09T14:05:36.796+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='java'/><category scheme='http://www.blogger.com/atom/ns#' term='math'/><title type='text'>Diffusion Limited Aggregation Applet</title><summary type='text'>Yes, I wrote an applet. I know it is very 1990s but, amazingly, it still does the job quite well. Ok, next time I should really use Flash to do this.


The Applet simulates Diffusion Limited Aggregation as described in Chaos And Fractals from Peitgen, Juergens, and Saupe. It represents ions randomly wandering around (in a Brownian motion) until they are caught by an attractive force in </summary><link rel='replies' type='application/atom+xml' href='http://chasethedevil.blogspot.com/feeds/3589956468041709202/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=14415229&amp;postID=3589956468041709202' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/14415229/posts/default/3589956468041709202'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/14415229/posts/default/3589956468041709202'/><link rel='alternate' type='text/html' href='http://chasethedevil.blogspot.com/2010/06/diffusion-limited-aggregation-applet.html' title='Diffusion Limited Aggregation Applet'/><author><name>Fabien</name><uri>http://www.blogger.com/profile/07288327695801480778</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://photos1.blogger.com/blogger/6384/1303/200/IMG_3839-1.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_9RyqGT46Fbk/TA-C4-xEq8I/AAAAAAAAFH8/OwEFEpO4eA8/s72-c/dla.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-14415229.post-7293752107341380931</id><published>2009-12-18T16:07:00.003+01:00</published><updated>2009-12-18T16:11:55.165+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='java'/><title type='text'>Java &amp; 3D Surface</title><summary type='text'>I have been looking all around the web for a Java library that can draw a simple 3D surface. And I did not find any. Most charting library, including the well known JFreeChart, can only draw 2D charts. I am quite shocked that something that has been in Excel for 15 years is still not available in Java. And it's not easy to make your own.</summary><link rel='replies' type='application/atom+xml' href='http://chasethedevil.blogspot.com/feeds/7293752107341380931/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=14415229&amp;postID=7293752107341380931' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/14415229/posts/default/7293752107341380931'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/14415229/posts/default/7293752107341380931'/><link rel='alternate' type='text/html' href='http://chasethedevil.blogspot.com/2009/12/java-3d-surface.html' title='Java &amp; 3D Surface'/><author><name>Fabien</name><uri>http://www.blogger.com/profile/07288327695801480778</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://photos1.blogger.com/blogger/6384/1303/200/IMG_3839-1.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-14415229.post-1655262731620112493</id><published>2009-11-26T14:51:00.005+01:00</published><updated>2009-11-26T15:04:30.705+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='java'/><category scheme='http://www.blogger.com/atom/ns#' term='math'/><title type='text'>double[][] Is Fine</title><summary type='text'>In my previous post, I suggest that keeping a double[] performs better than keeping a double[][] if you do matrix multiplications and other operations.This is actually not true. I benchmarked 3 libraries, Colt (uses double[]), Apache Commons Math (uses double[][]) and Jama (uses double[][] cleverly). At first it looks like Jama has a similar performance as Colt (they avoid [][] slow access by a </summary><link rel='replies' type='application/atom+xml' href='http://chasethedevil.blogspot.com/feeds/1655262731620112493/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=14415229&amp;postID=1655262731620112493' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/14415229/posts/default/1655262731620112493'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/14415229/posts/default/1655262731620112493'/><link rel='alternate' type='text/html' href='http://chasethedevil.blogspot.com/2009/11/double-is-fine.html' title='double[][] Is Fine'/><author><name>Fabien</name><uri>http://www.blogger.com/profile/07288327695801480778</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://photos1.blogger.com/blogger/6384/1303/200/IMG_3839-1.jpg'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-14415229.post-3542817437841522901</id><published>2009-11-26T09:17:00.002+01:00</published><updated>2009-11-26T10:02:38.646+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='java math finance'/><title type='text'>The Pain of Java Matrix Libraries</title><summary type='text'>Looking for a good Java Matrix (and actually also math) library, I was a bit surprised to find out there does not seem to be any really serious one still maintained.Sure, there is Apache Commons Math, but it is still changing a lot, and it is not very performance optimized yet, while it has been active for several years already. There is also Java3D, it does Matrix through GMatrix, but not much </summary><link rel='replies' type='application/atom+xml' href='http://chasethedevil.blogspot.com/feeds/3542817437841522901/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=14415229&amp;postID=3542817437841522901' title='4 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/14415229/posts/default/3542817437841522901'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/14415229/posts/default/3542817437841522901'/><link rel='alternate' type='text/html' href='http://chasethedevil.blogspot.com/2009/11/pain-of-java-matrix-libraries.html' title='The Pain of Java Matrix Libraries'/><author><name>Fabien</name><uri>http://www.blogger.com/profile/07288327695801480778</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://photos1.blogger.com/blogger/6384/1303/200/IMG_3839-1.jpg'/></author><thr:total>4</thr:total></entry><entry><id>tag:blogger.com,1999:blog-14415229.post-7350399445122143522</id><published>2009-08-19T13:47:00.005+02:00</published><updated>2009-08-19T14:09:40.015+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='java'/><title type='text'>Java Calendar Is Broken On JVM Upgrade</title><summary type='text'>We ran into an interesting issue with TimeZone and Dates. If you print the same date on different JVMs, it might show a different printed date.The reason behind this is the daylight saving time conventions. An old JVM won't necessarily have the same daylight saving time for a given TimeZone than a latest JVM, and therefore will interpret the date differently.Here is the output of a very simple </summary><link rel='replies' type='application/atom+xml' href='http://chasethedevil.blogspot.com/feeds/7350399445122143522/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=14415229&amp;postID=7350399445122143522' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/14415229/posts/default/7350399445122143522'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/14415229/posts/default/7350399445122143522'/><link rel='alternate' type='text/html' href='http://chasethedevil.blogspot.com/2009/08/java-calendar-is-broken-on-jvm-upgrade.html' title='Java Calendar Is Broken On JVM Upgrade'/><author><name>Fabien</name><uri>http://www.blogger.com/profile/07288327695801480778</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://photos1.blogger.com/blogger/6384/1303/200/IMG_3839-1.jpg'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-14415229.post-7342507352721127231</id><published>2009-08-17T12:04:00.004+02:00</published><updated>2009-08-17T12:09:42.237+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='java finance'/><title type='text'>Implicit Finite Differences Method For Pricing Barrier Option</title><summary type='text'>While trying to price a simple knock down and out barrier option, I encountered several difficulties I did not expect with the implicit finite differences method. The explicit method has less issues with barrier options pricing. I will show here what the tricky parts are and why explicit seems simpler in this case.The full article is here (pdf) or here (html) (the later is not very well formatted</summary><link rel='replies' type='application/atom+xml' href='http://chasethedevil.blogspot.com/feeds/7342507352721127231/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=14415229&amp;postID=7342507352721127231' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/14415229/posts/default/7342507352721127231'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/14415229/posts/default/7342507352721127231'/><link rel='alternate' type='text/html' href='http://chasethedevil.blogspot.com/2009/08/implicit-finite-differences-method-for.html' title='Implicit Finite Differences Method For Pricing Barrier Option'/><author><name>Fabien</name><uri>http://www.blogger.com/profile/07288327695801480778</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://photos1.blogger.com/blogger/6384/1303/200/IMG_3839-1.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/_9RyqGT46Fbk/Sokrd-84xhI/AAAAAAAAERE/-gs3_MMw0oo/s72-c/implicit_method_barrier_option_html_m531cf9ea.jpg' height='72' width='72'/><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-14415229.post-1020771430497973506</id><published>2009-06-27T18:19:00.002+02:00</published><updated>2009-06-27T18:20:56.917+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='linux'/><title type='text'>Pulseaudio Nightmares - Pure ALSA to the Rescue</title><summary type='text'>In the latest stable Ubuntu (9.04), pulseaudio still does not work reliably on my hardware (intel HDA with digital SPDIF out). I upgraded to 9.10 and had even more problems. Sound always worked on boot, but often broke down after a while. And I could not find easy ways to make it work other than rebooting... Killing/restarting pulseaudio, looking at the processes using snd did not work.One thing </summary><link rel='replies' type='application/atom+xml' href='http://chasethedevil.blogspot.com/feeds/1020771430497973506/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=14415229&amp;postID=1020771430497973506' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/14415229/posts/default/1020771430497973506'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/14415229/posts/default/1020771430497973506'/><link rel='alternate' type='text/html' href='http://chasethedevil.blogspot.com/2009/06/pulseaudio-nightmares-pure-alsa-to.html' title='Pulseaudio Nightmares - Pure ALSA to the Rescue'/><author><name>Fabien</name><uri>http://www.blogger.com/profile/07288327695801480778</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://photos1.blogger.com/blogger/6384/1303/200/IMG_3839-1.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-14415229.post-4065698287434762323</id><published>2009-06-15T16:15:00.003+02:00</published><updated>2009-06-15T16:24:40.237+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='java'/><title type='text'>Java int Overflow Behavior</title><summary type='text'>A coworker recently asked me if there was a guaranteed behavior in the case of int overflow. He gave the specific example on:can we rely that int x = Integer.MAX_VALUE + 1 is the same for every JVM on any platform?I thought the answer would be easy to find in the Java specifications document. But I was wrong. It is not clearly defined.I found a trick that suggests this behavior is indeed standard</summary><link rel='replies' type='application/atom+xml' href='http://chasethedevil.blogspot.com/feeds/4065698287434762323/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=14415229&amp;postID=4065698287434762323' title='3 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/14415229/posts/default/4065698287434762323'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/14415229/posts/default/4065698287434762323'/><link rel='alternate' type='text/html' href='http://chasethedevil.blogspot.com/2009/06/java-int-overflow-behavior.html' title='Java int Overflow Behavior'/><author><name>Fabien</name><uri>http://www.blogger.com/profile/07288327695801480778</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://photos1.blogger.com/blogger/6384/1303/200/IMG_3839-1.jpg'/></author><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-14415229.post-2559456096884373517</id><published>2009-06-15T16:02:00.002+02:00</published><updated>2009-06-15T16:15:47.065+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='java'/><title type='text'>Static Fields and Inheritance</title><summary type='text'>Someone asked me recently to find out the real reason why the code from this thread fails. This is a fairly bad code, and not even a very good way to point out the problem. But the question is nonetheless interesting.class Toto extends TotoParent{ final static Toto a = new Toto ("a"); public Toto(String a){  super(a); }}import java.util.ArrayList;import java.util.List;public abstract class </summary><link rel='replies' type='application/atom+xml' href='http://chasethedevil.blogspot.com/feeds/2559456096884373517/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=14415229&amp;postID=2559456096884373517' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/14415229/posts/default/2559456096884373517'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/14415229/posts/default/2559456096884373517'/><link rel='alternate' type='text/html' href='http://chasethedevil.blogspot.com/2009/06/static-fields-and-inheritance.html' title='Static Fields and Inheritance'/><author><name>Fabien</name><uri>http://www.blogger.com/profile/07288327695801480778</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://photos1.blogger.com/blogger/6384/1303/200/IMG_3839-1.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-14415229.post-9155590918755076352</id><published>2009-06-03T16:53:00.002+02:00</published><updated>2009-06-03T17:08:17.758+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='java'/><title type='text'>Benchmarking Languages Is Difficult</title><summary type='text'>I often looked at the famous computer languages shootout for fun. Recently I noticed they had the infamous thread ring test. I posted not very long ago several blog entries about it showing how silly this test was.Looking at the existing Java implementation for the test I decided to try to submit the tricky one using a pool of thread, and pooling message processing rather creating 1 thread per </summary><link rel='replies' type='application/atom+xml' href='http://chasethedevil.blogspot.com/feeds/9155590918755076352/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=14415229&amp;postID=9155590918755076352' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/14415229/posts/default/9155590918755076352'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/14415229/posts/default/9155590918755076352'/><link rel='alternate' type='text/html' href='http://chasethedevil.blogspot.com/2009/06/benchmarking-languages-is-difficult.html' title='Benchmarking Languages Is Difficult'/><author><name>Fabien</name><uri>http://www.blogger.com/profile/07288327695801480778</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://photos1.blogger.com/blogger/6384/1303/200/IMG_3839-1.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-14415229.post-1728982527661327480</id><published>2009-05-15T19:01:00.003+02:00</published><updated>2009-05-15T19:12:10.644+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='java'/><category scheme='http://www.blogger.com/atom/ns#' term='maths'/><title type='text'>Cholesky &amp; Jakarta Commons Math</title><summary type='text'>In Finance, Cholesky is a useful way to decompose Matrix. It is not so simple to find a BSD licensed code using cholesky (most of them are GPL like this one). There is one in Apache Commons Maths library, which is a very interesting library. However for performance, it is still not very practical for some things like Cholesky.Looking at the source one can easily understand why. I did a small (</summary><link rel='replies' type='application/atom+xml' href='http://chasethedevil.blogspot.com/feeds/1728982527661327480/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=14415229&amp;postID=1728982527661327480' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/14415229/posts/default/1728982527661327480'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/14415229/posts/default/1728982527661327480'/><link rel='alternate' type='text/html' href='http://chasethedevil.blogspot.com/2009/05/cholesky-jakarta-commons-math.html' title='Cholesky &amp; Jakarta Commons Math'/><author><name>Fabien</name><uri>http://www.blogger.com/profile/07288327695801480778</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://photos1.blogger.com/blogger/6384/1303/200/IMG_3839-1.jpg'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-14415229.post-4942380334281049162</id><published>2009-05-15T16:01:00.002+02:00</published><updated>2009-05-15T16:09:58.019+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='finance'/><title type='text'>Hull American Option Price Fallacies</title><summary type='text'>Hull says American put is best exercised immediately and american call is optimal at expiry like a european. Is this really true?At first it seems really clever and model show clearly this. But if we change the market assumptions only a tiny bit, everything falls down.I could not detail everything in a blog post so I created a static web page about it. Everything was produced in Java using </summary><link rel='replies' type='application/atom+xml' href='http://chasethedevil.blogspot.com/feeds/4942380334281049162/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=14415229&amp;postID=4942380334281049162' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/14415229/posts/default/4942380334281049162'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/14415229/posts/default/4942380334281049162'/><link rel='alternate' type='text/html' href='http://chasethedevil.blogspot.com/2009/05/hull-american-option-price-fallacies.html' title='Hull American Option Price Fallacies'/><author><name>Fabien</name><uri>http://www.blogger.com/profile/07288327695801480778</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://photos1.blogger.com/blogger/6384/1303/200/IMG_3839-1.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_9RyqGT46Fbk/Sg13q_LZDrI/AAAAAAAADNE/WHy0J8iNZoY/s72-c/hull_american_r04_v20_q02_p49.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-14415229.post-8873501154156125102</id><published>2009-05-05T15:02:00.002+02:00</published><updated>2009-05-05T15:27:31.534+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='java finance'/><title type='text'>On Quasi Random Numbers - MersenneTwister vs Sobol precision in Asian Option Pricing</title><summary type='text'>While starting a side project that does Monte Carlo pricing in Java (http://code.google.com/p/javamc/ - nothing yet there I am waiting for Mercurial repository support), I wondered what was the importance of quasi random numbers versus more regular pseudo random numbers in Monte Carlo simulations.This brought me to read more carefully several books about Monte Carlo and Finance (Haug Option </summary><link rel='replies' type='application/atom+xml' href='http://chasethedevil.blogspot.com/feeds/8873501154156125102/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=14415229&amp;postID=8873501154156125102' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/14415229/posts/default/8873501154156125102'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/14415229/posts/default/8873501154156125102'/><link rel='alternate' type='text/html' href='http://chasethedevil.blogspot.com/2009/05/on-quasi-random-numbers-mersennetwister.html' title='On Quasi Random Numbers - MersenneTwister vs Sobol precision in Asian Option Pricing'/><author><name>Fabien</name><uri>http://www.blogger.com/profile/07288327695801480778</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://photos1.blogger.com/blogger/6384/1303/200/IMG_3839-1.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-14415229.post-5233778564130937043</id><published>2009-04-24T15:01:00.002+02:00</published><updated>2009-04-24T15:13:06.358+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='java'/><title type='text'>Java Logging Still Crap in 2009</title><summary type='text'>When java logging API was first introduced in JDK 1.4 in 2002, it caused quite a lot a fuss around, with everybody asking "Why did not they just include Log4j instead of creating their own bastard child?".I remember having looked at it very shortly before continuing using Log4j on all projects I have been involved with.Today, while doing a very small project, I tried once more to use java logging</summary><link rel='replies' type='application/atom+xml' href='http://chasethedevil.blogspot.com/feeds/5233778564130937043/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=14415229&amp;postID=5233778564130937043' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/14415229/posts/default/5233778564130937043'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/14415229/posts/default/5233778564130937043'/><link rel='alternate' type='text/html' href='http://chasethedevil.blogspot.com/2009/04/java-logging-still-crap-in-2009.html' title='Java Logging Still Crap in 2009'/><author><name>Fabien</name><uri>http://www.blogger.com/profile/07288327695801480778</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://photos1.blogger.com/blogger/6384/1303/200/IMG_3839-1.jpg'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-14415229.post-3822667302459230367</id><published>2009-03-23T17:58:00.003+01:00</published><updated>2009-03-23T18:09:44.615+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='java'/><category scheme='http://www.blogger.com/atom/ns#' term='finance'/><title type='text'>Bachelier vs. Black</title><summary type='text'>Black and Scholes gives a strange result for the price of a binary option under high volatility.  You will learn here how to simulate a stock price evolution using Java, and how to show it using JFreeChart library. It starts with more complex concepts (don't be afraid) and goes done towards simpler things.I could not write all that in a blog format, so I created a old HTML page about it here and </summary><link rel='replies' type='application/atom+xml' href='http://chasethedevil.blogspot.com/feeds/3822667302459230367/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=14415229&amp;postID=3822667302459230367' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/14415229/posts/default/3822667302459230367'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/14415229/posts/default/3822667302459230367'/><link rel='alternate' type='text/html' href='http://chasethedevil.blogspot.com/2009/03/bachelier-vs-black.html' title='Bachelier vs. Black'/><author><name>Fabien</name><uri>http://www.blogger.com/profile/07288327695801480778</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://photos1.blogger.com/blogger/6384/1303/200/IMG_3839-1.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_9RyqGT46Fbk/ScfCRxmTocI/AAAAAAAACzk/5_lPpPc7LzU/s72-c/bachelier_vs_black_normal.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-14415229.post-3207035564893694175</id><published>2009-03-19T12:39:00.003+01:00</published><updated>2009-03-19T12:54:35.946+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='linux'/><title type='text'>Linux Audio State = Miserable</title><summary type='text'>There are lots of programs for playing MP3 under linux, a few dealing decently with big libraries. But when you start looking for a program that does crossfade well and manage big libraries easily - there is nothing.Rhythmbox does some crossfade, but crashes when you move manually in the song. Audacious does some crossfade but regularly crashes with crossfade plugin.The real alternative are AIMP2</summary><link rel='replies' type='application/atom+xml' href='http://chasethedevil.blogspot.com/feeds/3207035564893694175/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=14415229&amp;postID=3207035564893694175' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/14415229/posts/default/3207035564893694175'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/14415229/posts/default/3207035564893694175'/><link rel='alternate' type='text/html' href='http://chasethedevil.blogspot.com/2009/03/linux-audio-state-miserable.html' title='Linux Audio State = Miserable'/><author><name>Fabien</name><uri>http://www.blogger.com/profile/07288327695801480778</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://photos1.blogger.com/blogger/6384/1303/200/IMG_3839-1.jpg'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-14415229.post-9166657085970393088</id><published>2009-02-10T10:44:00.004+01:00</published><updated>2009-02-10T11:26:46.945+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='java'/><title type='text'>Senior Developers Team Productivity X4 (from MS Research Paper)</title><summary type='text'>There is a very interesting MS Research paper about test driven development (TDD). It is one of the only real study about it that I know of. The paper conclusions from experiments over 4 TDD teams vs 4 traditional teams is:"TDD seems to be applicable in various domains and can significantly reduce the defect density of developed software without significant productivity reduction of the </summary><link rel='replies' type='application/atom+xml' href='http://chasethedevil.blogspot.com/feeds/9166657085970393088/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=14415229&amp;postID=9166657085970393088' title='6 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/14415229/posts/default/9166657085970393088'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/14415229/posts/default/9166657085970393088'/><link rel='alternate' type='text/html' href='http://chasethedevil.blogspot.com/2009/02/senior-developers-team-productivity-x4.html' title='Senior Developers Team Productivity X4 (from MS Research Paper)'/><author><name>Fabien</name><uri>http://www.blogger.com/profile/07288327695801480778</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://photos1.blogger.com/blogger/6384/1303/200/IMG_3839-1.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_9RyqGT46Fbk/SZFVEkXM8JI/AAAAAAAACts/_pwwDhnKTt0/s72-c/MSPaperKLOCMonth.png' height='72' width='72'/><thr:total>6</thr:total></entry><entry><id>tag:blogger.com,1999:blog-14415229.post-1106859304034197682</id><published>2009-01-15T15:54:00.002+01:00</published><updated>2009-01-15T16:04:56.722+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='java'/><title type='text'>The End Of Rings Around Plain Java - A Better Concurrency Test</title><summary type='text'>In my previous post, I was wondering why single thread was faster. D Andreou gave the correct explanation: as we send only 1 start message and as each node only send 1 message to the next one, there is always only 1 message being processed. So the test is optimum on 1 thread. It does not make much sense to make a multithreading benchmark on a problem that is fundamentally single threaded.   His </summary><link rel='replies' type='application/atom+xml' href='http://chasethedevil.blogspot.com/feeds/1106859304034197682/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=14415229&amp;postID=1106859304034197682' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/14415229/posts/default/1106859304034197682'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/14415229/posts/default/1106859304034197682'/><link rel='alternate' type='text/html' href='http://chasethedevil.blogspot.com/2009/01/end-of-rings-around-plain-java-better.html' title='The End Of Rings Around Plain Java - A Better Concurrency Test'/><author><name>Fabien</name><uri>http://www.blogger.com/profile/07288327695801480778</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://photos1.blogger.com/blogger/6384/1303/200/IMG_3839-1.jpg'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-14415229.post-2209929975207276671</id><published>2009-01-08T17:24:00.001+01:00</published><updated>2009-01-08T17:24:35.554+01:00</updated><title type='text'>Object Oriented Analysis And Design with Applications Book Review</title><summary type='text'>A while ago, I had a comment from someone implying I knew nothing about OO programming because I had not mentioned (and therefore read) Object Oriented Analysis And Design with Applications from G. Booch. I was intrigued by such a silly comment and decided to look at this book that was considered as the bible of OOP.  Well, I don't find it that good! But I don't find the bible particularly good </summary><link rel='replies' type='application/atom+xml' href='http://chasethedevil.blogspot.com/feeds/2209929975207276671/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=14415229&amp;postID=2209929975207276671' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/14415229/posts/default/2209929975207276671'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/14415229/posts/default/2209929975207276671'/><link rel='alternate' type='text/html' href='http://chasethedevil.blogspot.com/2009/01/object-oriented-analysis-and-design.html' title='Object Oriented Analysis And Design with Applications Book Review'/><author><name>Fabien</name><uri>http://www.blogger.com/profile/07288327695801480778</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://photos1.blogger.com/blogger/6384/1303/200/IMG_3839-1.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-14415229.post-6571790506928222875</id><published>2009-01-08T13:21:00.005+01:00</published><updated>2009-01-08T14:12:53.186+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='java'/><title type='text'>Running Rings Around Plain Java - The Killer Code</title><summary type='text'>I wrote my previous post too fast. I found a very simple change that increases the speed x6!The idea is too process messages in a ThreadPoolExecutor. As my Nodes are Runnable, I just needed to initialize a common ThreadPoolExecutor, and in a sendMessage, execute the runnable each time.Here is the full code:public class OptimizedRing {    private ExecutorService executor;    public static void </summary><link rel='replies' type='application/atom+xml' href='http://chasethedevil.blogspot.com/feeds/6571790506928222875/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=14415229&amp;postID=6571790506928222875' title='22 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/14415229/posts/default/6571790506928222875'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/14415229/posts/default/6571790506928222875'/><link rel='alternate' type='text/html' href='http://chasethedevil.blogspot.com/2009/01/running-rings-around-plain-java-killer.html' title='Running Rings Around Plain Java - The Killer Code'/><author><name>Fabien</name><uri>http://www.blogger.com/profile/07288327695801480778</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://photos1.blogger.com/blogger/6384/1303/200/IMG_3839-1.jpg'/></author><thr:total>22</thr:total></entry><entry><id>tag:blogger.com,1999:blog-14415229.post-2057850813048369161</id><published>2009-01-08T12:26:00.002+01:00</published><updated>2009-01-08T13:39:31.789+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='java'/><title type='text'>Running rings around plain Java</title><summary type='text'>Alex Miller has a very interesting test of Actors. He finds out Scala performance is relatively low compared to Erlang, and Kilim is very near Erlang. But Kilim code is the most difficult to read in the lot.I thought it would be simple to just do the same test in plain Java. I wrote the code for it duplicating the scala logic using Threads instead of Actors.&lt;!-- start source code --&gt;public class </summary><link rel='replies' type='application/atom+xml' href='http://chasethedevil.blogspot.com/feeds/2057850813048369161/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=14415229&amp;postID=2057850813048369161' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/14415229/posts/default/2057850813048369161'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/14415229/posts/default/2057850813048369161'/><link rel='alternate' type='text/html' href='http://chasethedevil.blogspot.com/2009/01/running-rings-around-plain-java.html' title='Running rings around plain Java'/><author><name>Fabien</name><uri>http://www.blogger.com/profile/07288327695801480778</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://photos1.blogger.com/blogger/6384/1303/200/IMG_3839-1.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-14415229.post-4460703595003266012</id><published>2009-01-06T12:12:00.004+01:00</published><updated>2009-01-06T16:10:55.592+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='java'/><title type='text'>More Double Troubles</title><summary type='text'>We saw in a previous entry how one has to be careful with Double.NaN. Today we will see how regular double can cause problems. By the way the NaN issue was not Java specific and this issue is also general in different programming languages.A coworker was shocked that in Java (I was a bit surprised he saw that only today, but it is true it can be surprising that such a simple thing does not work </summary><link rel='replies' type='application/atom+xml' href='http://chasethedevil.blogspot.com/feeds/4460703595003266012/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=14415229&amp;postID=4460703595003266012' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/14415229/posts/default/4460703595003266012'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/14415229/posts/default/4460703595003266012'/><link rel='alternate' type='text/html' href='http://chasethedevil.blogspot.com/2009/01/more-double-issues.html' title='More Double Troubles'/><author><name>Fabien</name><uri>http://www.blogger.com/profile/07288327695801480778</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://photos1.blogger.com/blogger/6384/1303/200/IMG_3839-1.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-14415229.post-6081983447520365406</id><published>2008-12-17T20:16:00.003+01:00</published><updated>2008-12-17T20:32:17.873+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='java'/><title type='text'>Java Programmers Are Idiots?</title><summary type='text'>My brother just sent me a funny quote. I don't know if it is true or not:entwickeln Sie lieber überzeugende Lösungen anstatt viele Stunden mit Coding zu verbringen? Ist Ihnen die Produktivität Ihres Teams wichtig?Mark Driver, *VP Research von Gartner*, kommentierte kürzlich:"Here’s a simple equation. In terms of mental fortitude...*1 Smalltalk developer = 2.5 C++ developers1 C++ developer = 1.5 </summary><link rel='replies' type='application/atom+xml' href='http://chasethedevil.blogspot.com/feeds/6081983447520365406/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=14415229&amp;postID=6081983447520365406' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/14415229/posts/default/6081983447520365406'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/14415229/posts/default/6081983447520365406'/><link rel='alternate' type='text/html' href='http://chasethedevil.blogspot.com/2008/12/java-programmers-are-idiots.html' title='Java Programmers Are Idiots?'/><author><name>Fabien</name><uri>http://www.blogger.com/profile/07288327695801480778</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://photos1.blogger.com/blogger/6384/1303/200/IMG_3839-1.jpg'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-14415229.post-290072360246781264</id><published>2008-12-09T16:23:00.002+01:00</published><updated>2008-12-09T16:26:49.091+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='java'/><title type='text'>Double.NaN Is Evil</title><summary type='text'>I don't know what Sun had in mind when creating Double.NaN number. It is very inintuitive to use. I am sure every single developer out there fell in the trap of trying to find out if a double was NaN or not using:Double.NaN == myDoubleThis does not work (I don't know the real reason why), one has to use:Double.isNaN(myDouble)Not intuitive!</summary><link rel='replies' type='application/atom+xml' href='http://chasethedevil.blogspot.com/feeds/290072360246781264/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=14415229&amp;postID=290072360246781264' title='4 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/14415229/posts/default/290072360246781264'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/14415229/posts/default/290072360246781264'/><link rel='alternate' type='text/html' href='http://chasethedevil.blogspot.com/2008/12/doublenan-is-evil.html' title='Double.NaN Is Evil'/><author><name>Fabien</name><uri>http://www.blogger.com/profile/07288327695801480778</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://photos1.blogger.com/blogger/6384/1303/200/IMG_3839-1.jpg'/></author><thr:total>4</thr:total></entry><entry><id>tag:blogger.com,1999:blog-14415229.post-447138098747999921</id><published>2008-11-27T17:18:00.003+01:00</published><updated>2008-11-27T17:49:55.470+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='java'/><title type='text'>Grails Spring Union Not Surprising</title><summary type='text'>Looking out at some old post. I found out I was not far from the truth in January 2008 when I stated:"In 2008 the Ruby On Rails mentality will continue to prevail. In the Java world, Grails is the most likely to benefit from it. (...) It could also be something based around Spring as their current MVC solution is not very good and very old fashioned."I don't think I will be right with the </summary><link rel='replies' type='application/atom+xml' href='http://chasethedevil.blogspot.com/feeds/447138098747999921/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=14415229&amp;postID=447138098747999921' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/14415229/posts/default/447138098747999921'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/14415229/posts/default/447138098747999921'/><link rel='alternate' type='text/html' href='http://chasethedevil.blogspot.com/2008/11/grails-spring-union-not-surprising.html' title='Grails Spring Union Not Surprising'/><author><name>Fabien</name><uri>http://www.blogger.com/profile/07288327695801480778</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://photos1.blogger.com/blogger/6384/1303/200/IMG_3839-1.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-14415229.post-7617726055432067404</id><published>2008-11-21T20:24:00.003+01:00</published><updated>2008-11-21T21:15:51.757+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='java'/><title type='text'>Java Is Dead</title><summary type='text'>These days, I have the feeling that Java is dead. Even if, or maybe because I have used Java so much in the past 10 years, I have this feeling.In 1998 Java was revolutionary. It was a very simple to learn object oriented language with modern concepts and familiar syntax. Furthermore the standard library had neat features like internet networking and it could be integrated in the browser. All this</summary><link rel='replies' type='application/atom+xml' href='http://chasethedevil.blogspot.com/feeds/7617726055432067404/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=14415229&amp;postID=7617726055432067404' title='21 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/14415229/posts/default/7617726055432067404'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/14415229/posts/default/7617726055432067404'/><link rel='alternate' type='text/html' href='http://chasethedevil.blogspot.com/2008/11/java-is-dead.html' title='Java Is Dead'/><author><name>Fabien</name><uri>http://www.blogger.com/profile/07288327695801480778</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://photos1.blogger.com/blogger/6384/1303/200/IMG_3839-1.jpg'/></author><thr:total>21</thr:total></entry><entry><id>tag:blogger.com,1999:blog-14415229.post-8773568591788010840</id><published>2008-11-14T10:41:00.003+01:00</published><updated>2008-11-14T10:58:07.726+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='linux'/><title type='text'>Why ArchLinux Is Better Than Ubuntu</title><summary type='text'>It has been now a week since I have installed ArchLinux on my home computer. I daily use Ubuntu 8.10 at work.Since the Ubuntu upgrade from 8.04 to 8.10 I have had problems with my Xorg settings. I just found out the nvidia-settings utility does not manage to save the configuration anymore. So I have to lookup on google and try to fix it. And that annoys me. That annoys me because the promess of </summary><link rel='replies' type='application/atom+xml' href='http://chasethedevil.blogspot.com/feeds/8773568591788010840/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=14415229&amp;postID=8773568591788010840' title='4 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/14415229/posts/default/8773568591788010840'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/14415229/posts/default/8773568591788010840'/><link rel='alternate' type='text/html' href='http://chasethedevil.blogspot.com/2008/11/why-archlinux-is-better-than-ubuntu.html' title='Why ArchLinux Is Better Than Ubuntu'/><author><name>Fabien</name><uri>http://www.blogger.com/profile/07288327695801480778</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://photos1.blogger.com/blogger/6384/1303/200/IMG_3839-1.jpg'/></author><thr:total>4</thr:total></entry><entry><id>tag:blogger.com,1999:blog-14415229.post-4199290185727750683</id><published>2008-11-08T15:54:00.002+01:00</published><updated>2008-11-08T16:03:02.215+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='linux'/><title type='text'>KDE 4.1.3 (again) on ArchLinux</title><summary type='text'>I tried another silly thing with Linux, ArchLinux. The setup is quite rough as you have to edit many config files manually. But if you know a bit your way around it takes only a few hours to have everything running well. The installation manual on the wiki is detailed enough to correct all eventual mistakes humans do.I decided to try once more KDE 4 on it, as at first it was just a silly </summary><link rel='replies' type='application/atom+xml' href='http://chasethedevil.blogspot.com/feeds/4199290185727750683/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=14415229&amp;postID=4199290185727750683' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/14415229/posts/default/4199290185727750683'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/14415229/posts/default/4199290185727750683'/><link rel='alternate' type='text/html' href='http://chasethedevil.blogspot.com/2008/11/kde-413-again-on-archlinux.html' title='KDE 4.1.3 (again) on ArchLinux'/><author><name>Fabien</name><uri>http://www.blogger.com/profile/07288327695801480778</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://photos1.blogger.com/blogger/6384/1303/200/IMG_3839-1.jpg'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-14415229.post-1759026408132503642</id><published>2008-09-17T10:56:00.001+02:00</published><updated>2008-09-17T10:56:04.035+02:00</updated><title type='text'>Stupid Programmer Interviews</title><summary type='text'>I have read a blog post a few days ago about someone thinking a good programmer interview question was: How does a hash table work?While it is a very interesting question, I doubt many programmers (even relatively good ones) can answer that question. If I look back and think of all the employees in all the companies I have known, I can count on one hand people that can answer that question. I can</summary><link rel='replies' type='application/atom+xml' href='http://chasethedevil.blogspot.com/feeds/1759026408132503642/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=14415229&amp;postID=1759026408132503642' title='7 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/14415229/posts/default/1759026408132503642'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/14415229/posts/default/1759026408132503642'/><link rel='alternate' type='text/html' href='http://chasethedevil.blogspot.com/2008/09/stupid-programmer-interviews.html' title='Stupid Programmer Interviews'/><author><name>Fabien</name><uri>http://www.blogger.com/profile/07288327695801480778</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://photos1.blogger.com/blogger/6384/1303/200/IMG_3839-1.jpg'/></author><thr:total>7</thr:total></entry><entry><id>tag:blogger.com,1999:blog-14415229.post-3138557078884976927</id><published>2008-09-11T19:32:00.001+02:00</published><updated>2008-09-11T19:32:57.865+02:00</updated><title type='text'>The Art of Multiprocessor Programming Book Review</title><summary type='text'>I don't remember why I started to subscribe to the Java concurrency-interest list. I find that overall, it is an excellent mailing list.There was a post at one point about the Dante Inferno's problem. It triggered my attention, so I decided to buy the book the post was referring to, The Art of Multiprocessor Programming by M Herlihy and N. Shavit.  The books starts with the basics, and is very </summary><link rel='replies' type='application/atom+xml' href='http://chasethedevil.blogspot.com/feeds/3138557078884976927/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=14415229&amp;postID=3138557078884976927' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/14415229/posts/default/3138557078884976927'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/14415229/posts/default/3138557078884976927'/><link rel='alternate' type='text/html' href='http://chasethedevil.blogspot.com/2008/09/art-of-multiprocessor-programming-book.html' title='The Art of Multiprocessor Programming Book Review'/><author><name>Fabien</name><uri>http://www.blogger.com/profile/07288327695801480778</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://photos1.blogger.com/blogger/6384/1303/200/IMG_3839-1.jpg'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-14415229.post-3572536219270343959</id><published>2008-08-28T17:00:00.003+02:00</published><updated>2008-08-28T17:36:10.971+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='java'/><title type='text'>OO Desillusion</title><summary type='text'>I have read many inspiring books about object oriented programming. I find B. Meyer Object Oriented Software Construction one of the best in the lot. B. Meyer tries to explain in a progressive way why OO is better, by introducing it bit by bit. I have read different related design patterns book, the GoF one, Martin Fowler ones. I have been programming Java for about 10 years now. And yet, today, </summary><link rel='replies' type='application/atom+xml' href='http://chasethedevil.blogspot.com/feeds/3572536219270343959/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=14415229&amp;postID=3572536219270343959' title='5 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/14415229/posts/default/3572536219270343959'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/14415229/posts/default/3572536219270343959'/><link rel='alternate' type='text/html' href='http://chasethedevil.blogspot.com/2008/08/oo-desillusion.html' title='OO Desillusion'/><author><name>Fabien</name><uri>http://www.blogger.com/profile/07288327695801480778</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://photos1.blogger.com/blogger/6384/1303/200/IMG_3839-1.jpg'/></author><thr:total>5</thr:total></entry><entry><id>tag:blogger.com,1999:blog-14415229.post-940832545010435135</id><published>2008-07-17T11:38:00.003+02:00</published><updated>2008-07-17T11:38:35.234+02:00</updated><title type='text'>Linus vs OpenBSD</title><summary type='text'>Today's popular story is Linus Torvalds message to OpenBSD where he writes: I think the OpenBSD crowd is a bunch of masturbating monkeys Beside that provoking sentence he has a valid point. Security bugs should not be more important than other bugs. Too often, management and psychology encourage making security bugs a very important issue and security people VIPs. I have seen this over and over.  </summary><link rel='replies' type='application/atom+xml' href='http://chasethedevil.blogspot.com/feeds/940832545010435135/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=14415229&amp;postID=940832545010435135' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/14415229/posts/default/940832545010435135'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/14415229/posts/default/940832545010435135'/><link rel='alternate' type='text/html' href='http://chasethedevil.blogspot.com/2008/07/linus-vs-openbsd.html' title='Linus vs OpenBSD'/><author><name>Fabien</name><uri>http://www.blogger.com/profile/07288327695801480778</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://photos1.blogger.com/blogger/6384/1303/200/IMG_3839-1.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-14415229.post-2733988295647255515</id><published>2008-07-17T11:38:00.001+02:00</published><updated>2008-07-17T11:38:26.524+02:00</updated><title type='text'>Suse 11 with KDE4</title><summary type='text'>I was very disappointed by KDE 4.0 when I first tried it on an ubuntu machine. It was just unusable. I would not have even considered it as a beta. I changed the system on my home laptop because Ubuntu with KDE 4 was there. I decided to go for something more roots. I had good memories of Gentoo when I tried it some years ago. Maybe I just became too old to appreciate it anymore. But after </summary><link rel='replies' type='application/atom+xml' href='http://chasethedevil.blogspot.com/feeds/2733988295647255515/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=14415229&amp;postID=2733988295647255515' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/14415229/posts/default/2733988295647255515'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/14415229/posts/default/2733988295647255515'/><link rel='alternate' type='text/html' href='http://chasethedevil.blogspot.com/2008/07/suse-11-with-kde4.html' title='Suse 11 with KDE4'/><author><name>Fabien</name><uri>http://www.blogger.com/profile/07288327695801480778</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://photos1.blogger.com/blogger/6384/1303/200/IMG_3839-1.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-14415229.post-6294523861591048211</id><published>2008-07-01T19:50:00.001+02:00</published><updated>2008-07-01T19:50:13.822+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='java'/><title type='text'>Java Compilation Performance / Processor Speed</title><summary type='text'>I just found out my laptop was faster in default settings than my home desktop to compile a resonably sized project (5 min vs 6 min). I was surprised as I thought the disk in the desktop would make a big difference. The processor in my desktop is not that great (simple pentium e2180). My laptop has a 2ghz core2duo processor. In Ghz processor are of the same speed.I tried to overclock my home pc </summary><link rel='replies' type='application/atom+xml' href='http://chasethedevil.blogspot.com/feeds/6294523861591048211/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=14415229&amp;postID=6294523861591048211' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/14415229/posts/default/6294523861591048211'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/14415229/posts/default/6294523861591048211'/><link rel='alternate' type='text/html' href='http://chasethedevil.blogspot.com/2008/07/java-compilation-performance-processor.html' title='Java Compilation Performance / Processor Speed'/><author><name>Fabien</name><uri>http://www.blogger.com/profile/07288327695801480778</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://photos1.blogger.com/blogger/6384/1303/200/IMG_3839-1.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-14415229.post-1089244769561682496</id><published>2008-06-18T11:26:00.001+02:00</published><updated>2008-06-18T11:26:19.467+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='linux'/><title type='text'>Firefox 3</title><summary type='text'>I tried Firefox 3 twice before, while it was in alpha and beta. I was not impressed at all, it seemed buggy (normal for alpha) and I found the new location bar behavior unintuitive. It did not seem that much faster either. So I always quickly went back to Firefox 2.I tried again recently, funnily, because of a bad Kernel update. One day, after a kernel update, my laptop started to run only at a </summary><link rel='replies' type='application/atom+xml' href='http://chasethedevil.blogspot.com/feeds/1089244769561682496/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=14415229&amp;postID=1089244769561682496' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/14415229/posts/default/1089244769561682496'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/14415229/posts/default/1089244769561682496'/><link rel='alternate' type='text/html' href='http://chasethedevil.blogspot.com/2008/06/firefox-3.html' title='Firefox 3'/><author><name>Fabien</name><uri>http://www.blogger.com/profile/07288327695801480778</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://photos1.blogger.com/blogger/6384/1303/200/IMG_3839-1.jpg'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-14415229.post-535142856229934696</id><published>2008-06-17T19:26:00.004+02:00</published><updated>2008-06-17T20:05:44.859+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='java python'/><title type='text'>Trying Google AppEngine</title><summary type='text'>I finally took some time to try Google AppEngine. It used to be easy to find free PHP hosting around 2000. It became a rarity. So writing small experiments for free on the web was difficult. Experiments are back thanks to Google with their AppEngine. Many aspects of it are quite interesting and show where they focus.First it is all Python. It makes sense as I believe Guido v Rossum, Python </summary><link rel='replies' type='application/atom+xml' href='http://chasethedevil.blogspot.com/feeds/535142856229934696/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=14415229&amp;postID=535142856229934696' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/14415229/posts/default/535142856229934696'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/14415229/posts/default/535142856229934696'/><link rel='alternate' type='text/html' href='http://chasethedevil.blogspot.com/2008/06/trying-google-appengine.html' title='Trying Google AppEngine'/><author><name>Fabien</name><uri>http://www.blogger.com/profile/07288327695801480778</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://photos1.blogger.com/blogger/6384/1303/200/IMG_3839-1.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-14415229.post-4832353521667989180</id><published>2008-06-16T17:06:00.001+02:00</published><updated>2008-06-16T17:08:15.170+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='book'/><title type='text'>Option, Futures and Other Derivatives Book Review</title><summary type='text'>Option, Futures and Other Derivatives is by far the most popular book in finance. You will find it in every finance company, on many desks.It is a very good introduction for people not familiar with standard financial products. This kind of book is unavoidable to understand the basis. It goes also beyond with the chapters on pricing and hedging. These 2 chapters make one understand many other </summary><link rel='replies' type='application/atom+xml' href='http://chasethedevil.blogspot.com/feeds/4832353521667989180/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=14415229&amp;postID=4832353521667989180' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/14415229/posts/default/4832353521667989180'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/14415229/posts/default/4832353521667989180'/><link rel='alternate' type='text/html' href='http://chasethedevil.blogspot.com/2008/06/option-futures-and-other-derivatives.html' title='Option, Futures and Other Derivatives Book Review'/><author><name>Fabien</name><uri>http://www.blogger.com/profile/07288327695801480778</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://photos1.blogger.com/blogger/6384/1303/200/IMG_3839-1.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-14415229.post-9203745590527119341</id><published>2008-06-16T16:55:00.003+02:00</published><updated>2008-06-16T17:08:56.507+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='book'/><title type='text'>Structured Equity Derivatives Book Review</title><summary type='text'>If one has to learn about equity derivatives, beside the classic Option, Futures and Other Derivatives from Hull, Structured Equity Derivatives by Harry M Kat is a must read.His ideas are presented in a software developer friendly way, as his goal is to show how different equity derivatives products are behind the scenes, very similar.I enjoyed the variety of exotic products presented and the </summary><link rel='replies' type='application/atom+xml' href='http://chasethedevil.blogspot.com/feeds/9203745590527119341/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=14415229&amp;postID=9203745590527119341' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/14415229/posts/default/9203745590527119341'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/14415229/posts/default/9203745590527119341'/><link rel='alternate' type='text/html' href='http://chasethedevil.blogspot.com/2008/06/structured-equity-derivatives-book.html' title='Structured Equity Derivatives Book Review'/><author><name>Fabien</name><uri>http://www.blogger.com/profile/07288327695801480778</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://photos1.blogger.com/blogger/6384/1303/200/IMG_3839-1.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-14415229.post-525433726661069098</id><published>2008-06-05T20:05:00.003+02:00</published><updated>2008-06-16T10:17:26.611+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='linux'/><title type='text'>Fedora Linux &amp; Apple Bluetooth Keyboard</title><summary type='text'>It took me a long time to have the Apple Bluetooth Keyboard (slim aluminium model) working well with Fedora 9. Thanks to the Ubuntu documentation, it is quite easy to establish a connection manually through hidd commands. It was unfortunately much more difficult to have it automatically recognized and not disconnected after a few minutes without use.The following configuration should work with </summary><link rel='replies' type='application/atom+xml' href='http://chasethedevil.blogspot.com/feeds/525433726661069098/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=14415229&amp;postID=525433726661069098' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/14415229/posts/default/525433726661069098'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/14415229/posts/default/525433726661069098'/><link rel='alternate' type='text/html' href='http://chasethedevil.blogspot.com/2008/06/fedora-linux-apple-bluetooth-keyboard.html' title='Fedora Linux &amp; Apple Bluetooth Keyboard'/><author><name>Fabien</name><uri>http://www.blogger.com/profile/07288327695801480778</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://photos1.blogger.com/blogger/6384/1303/200/IMG_3839-1.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-14415229.post-2578235224601941312</id><published>2008-05-14T18:19:00.002+02:00</published><updated>2008-05-14T18:47:03.992+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='java'/><title type='text'>DecimalFormat Is Broken</title><summary type='text'>A friend of mine recently noticed that the good old DecimalFormat class is "broken". If you try to parse a string that is not a number but is starting with a number, the DecimalFormat.parse will return what it managed to parse.The correct behavior should be to throw a parse exception IMHO. Judging from an old post in the Sun bug tracker, The folks at Sun don't think it really is, they call the </summary><link rel='replies' type='application/atom+xml' href='http://chasethedevil.blogspot.com/feeds/2578235224601941312/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=14415229&amp;postID=2578235224601941312' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/14415229/posts/default/2578235224601941312'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/14415229/posts/default/2578235224601941312'/><link rel='alternate' type='text/html' href='http://chasethedevil.blogspot.com/2008/05/decimalformat-is-broken.html' title='DecimalFormat Is Broken'/><author><name>Fabien</name><uri>http://www.blogger.com/profile/07288327695801480778</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://photos1.blogger.com/blogger/6384/1303/200/IMG_3839-1.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-14415229.post-5986595525939101751</id><published>2008-04-29T18:27:00.003+02:00</published><updated>2008-04-29T18:52:01.751+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='java'/><title type='text'>Using MiG Layout For Better Swing Development</title><summary type='text'>I have forgotten a few libraries in my Better Swing Development article, and notably MiGLayout.GridBagLayout is too verbose, and still feels too clumsy. This is why a while back I wrote a small tool to help visualize various GridBagLayouts for people who are not used to it. But it would have been much simpler to use a better layout instead.MiGLayout is good, I managed to have good results without</summary><link rel='replies' type='application/atom+xml' href='http://chasethedevil.blogspot.com/feeds/5986595525939101751/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=14415229&amp;postID=5986595525939101751' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/14415229/posts/default/5986595525939101751'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/14415229/posts/default/5986595525939101751'/><link rel='alternate' type='text/html' href='http://chasethedevil.blogspot.com/2008/04/using-mig-layout-for-better-swing.html' title='Using MiG Layout For Better Swing Development'/><author><name>Fabien</name><uri>http://www.blogger.com/profile/07288327695801480778</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://photos1.blogger.com/blogger/6384/1303/200/IMG_3839-1.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-14415229.post-8282308189216938459</id><published>2008-04-25T14:22:00.002+02:00</published><updated>2008-04-25T14:26:43.944+02:00</updated><title type='text'>_the_ Google 1998 paper</title><summary type='text'>I have just read "the anatomy of a search engine" from S. Brin and L. Page. For those who don't know, it is _the_ Google paper. I have read other google labs papers in the past. What I like in this one is that you can follow how they came into having the Google ideas, how they assembled their ideas.I should have read that a long time ago.</summary><link rel='replies' type='application/atom+xml' href='http://chasethedevil.blogspot.com/feeds/8282308189216938459/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=14415229&amp;postID=8282308189216938459' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/14415229/posts/default/8282308189216938459'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/14415229/posts/default/8282308189216938459'/><link rel='alternate' type='text/html' href='http://chasethedevil.blogspot.com/2008/04/google-1998-paper.html' title='_the_ Google 1998 paper'/><author><name>Fabien</name><uri>http://www.blogger.com/profile/07288327695801480778</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://photos1.blogger.com/blogger/6384/1303/200/IMG_3839-1.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-14415229.post-7071743234688777057</id><published>2008-04-25T11:33:00.002+02:00</published><updated>2008-04-25T11:36:26.659+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='linux'/><title type='text'>Fedora 9 Already Stable</title><summary type='text'>I "upgraded" my home computer to Fedora 9. "upgraded" because I reinstalled the OS instead of using the upgrade procedure. I have had so many issues with "partial" upgrades in the past (with any distro).Although it is the preview/RC1 version, Fedora 9 is already as stable as a release IMHO. No issues so far, it feels more polished than Fedora 8. OpenJDK 1.6 is there. Firefox 3 is there. Not a </summary><link rel='replies' type='application/atom+xml' href='http://chasethedevil.blogspot.com/feeds/7071743234688777057/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=14415229&amp;postID=7071743234688777057' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/14415229/posts/default/7071743234688777057'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/14415229/posts/default/7071743234688777057'/><link rel='alternate' type='text/html' href='http://chasethedevil.blogspot.com/2008/04/fedora-9-already-stable.html' title='Fedora 9 Already Stable'/><author><name>Fabien</name><uri>http://www.blogger.com/profile/07288327695801480778</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://photos1.blogger.com/blogger/6384/1303/200/IMG_3839-1.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_9RyqGT46Fbk/SBGmDm9HaaI/AAAAAAAABL0/bgukGZZLRwA/s72-c/Fedora9.png' height='72' width='72'/><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-14415229.post-616051185045087137</id><published>2008-04-24T12:19:00.005+02:00</published><updated>2008-04-24T15:29:27.100+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='java'/><title type='text'>SwiXml Review</title><summary type='text'>Externalizing the screen layout is a natural step for many applications. It can be because a customer might want a slightly different presentation, or just for the sake of clearly separating layout code, or for using a kind of screen generator. Back in 2003, I wrote a small utility to help with GridBagLayout, nothing fantastic,  but there was the feature of saving a generated layout in XML (or </summary><link rel='replies' type='application/atom+xml' href='http://chasethedevil.blogspot.com/feeds/616051185045087137/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=14415229&amp;postID=616051185045087137' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/14415229/posts/default/616051185045087137'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/14415229/posts/default/616051185045087137'/><link rel='alternate' type='text/html' href='http://chasethedevil.blogspot.com/2008/04/swixml-review.html' title='SwiXml Review'/><author><name>Fabien</name><uri>http://www.blogger.com/profile/07288327695801480778</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://photos1.blogger.com/blogger/6384/1303/200/IMG_3839-1.jpg'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-14415229.post-2305838781509862254</id><published>2008-04-17T20:55:00.000+02:00</published><updated>2008-04-24T11:44:18.588+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='java'/><title type='text'>Better Java Swing Development</title><summary type='text'>It has been a while since I have looked at the different options for building GUIs in Java. I like the approach taken by Eclipse, they provide not only GUI components, but a complete GUI application framework. Several years ago, I have stolen ideas from it (how they manage plugins) and applied it for Swing applications. This worked out quite well. The Netbeans platform now offers a more </summary><link rel='replies' type='application/atom+xml' href='http://chasethedevil.blogspot.com/feeds/2305838781509862254/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=14415229&amp;postID=2305838781509862254' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/14415229/posts/default/2305838781509862254'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/14415229/posts/default/2305838781509862254'/><link rel='alternate' type='text/html' href='http://chasethedevil.blogspot.com/2008/04/better-java-swing-development.html' title='Better Java Swing Development'/><author><name>Fabien</name><uri>http://www.blogger.com/profile/07288327695801480778</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://photos1.blogger.com/blogger/6384/1303/200/IMG_3839-1.jpg'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-14415229.post-8382839815774305597</id><published>2008-02-28T14:23:00.002+01:00</published><updated>2008-02-29T10:44:22.943+01:00</updated><title type='text'>Fedora 8 vs. Ubuntu 8</title><summary type='text'>I had the bad idea of trying (K)ubuntu 8.04 on my home computer. It worked for a few days, but as Ubuntu 8 is still in alpha, changes tend to break everything easily. At one point Wine stopped working, then the DVD, then the sound. I had crashes with USB plug/unplug. It was time to go back to a stable distro. I went back to Fedora 8. I found out that I had missed some positive sides of Fedora 8 </summary><link rel='replies' type='application/atom+xml' href='http://chasethedevil.blogspot.com/feeds/8382839815774305597/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=14415229&amp;postID=8382839815774305597' title='3 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/14415229/posts/default/8382839815774305597'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/14415229/posts/default/8382839815774305597'/><link rel='alternate' type='text/html' href='http://chasethedevil.blogspot.com/2008/02/fedora-8-vs-ubuntu-8.html' title='Fedora 8 vs. Ubuntu 8'/><author><name>Fabien</name><uri>http://www.blogger.com/profile/07288327695801480778</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://photos1.blogger.com/blogger/6384/1303/200/IMG_3839-1.jpg'/></author><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-14415229.post-3970618741052828720</id><published>2008-02-08T17:59:00.001+01:00</published><updated>2008-02-08T17:59:06.892+01:00</updated><title type='text'>Windows Vista Is Crap!</title><summary type='text'>It has been already 1 year since Windows Vista is out. In my new company, I had a new computer with Vista on it. I quickly installed Ubuntu in dual boot. I was happy with Ubuntu for my work, until I received many Excel files OpenOffice was not able to read properly. I decided to give a try to Vista. My first impression of it when I had the computer was quite negative. I was not able to find </summary><link rel='replies' type='application/atom+xml' href='http://chasethedevil.blogspot.com/feeds/3970618741052828720/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=14415229&amp;postID=3970618741052828720' title='4 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/14415229/posts/default/3970618741052828720'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/14415229/posts/default/3970618741052828720'/><link rel='alternate' type='text/html' href='http://chasethedevil.blogspot.com/2008/02/windows-vista-is-crap.html' title='Windows Vista Is Crap!'/><author><name>Fabien</name><uri>http://www.blogger.com/profile/07288327695801480778</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://photos1.blogger.com/blogger/6384/1303/200/IMG_3839-1.jpg'/></author><thr:total>4</thr:total></entry><entry><id>tag:blogger.com,1999:blog-14415229.post-8504171848157971647</id><published>2008-01-22T11:50:00.001+01:00</published><updated>2008-04-24T11:44:18.589+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='java'/><title type='text'>The 2008 Java Web Framework</title><summary type='text'>One of my first web framework was a custom one, based on the book Web Development with  Java Server Pages. That was in 1999, when Struts was not yet known. But it was web-MVC, very near from what Struts gave later, without the custom tag stuff (custom tags were not yet part of JSP specifications). Until 2007, Struts was IMHO the most used web framework and the default choice, even though many </summary><link rel='replies' type='application/atom+xml' href='http://chasethedevil.blogspot.com/feeds/8504171848157971647/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=14415229&amp;postID=8504171848157971647' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/14415229/posts/default/8504171848157971647'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/14415229/posts/default/8504171848157971647'/><link rel='alternate' type='text/html' href='http://chasethedevil.blogspot.com/2008/01/2008-java-web-framework.html' title='The 2008 Java Web Framework'/><author><name>Fabien</name><uri>http://www.blogger.com/profile/07288327695801480778</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://photos1.blogger.com/blogger/6384/1303/200/IMG_3839-1.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-14415229.post-8248599334156895778</id><published>2008-01-18T19:08:00.001+01:00</published><updated>2008-01-18T19:08:20.994+01:00</updated><title type='text'>KDE4 Still Not Ready</title><summary type='text'>I tried KDE4.0 last week, when it was everywhere in the news. I was very disappointed.I have a long experience of trying beta software, not well known software. I have used Linux since 1998 (partly). I have even used windows beta at one point. And I have seen nothing as crappy as  KDE4.0 release. It is not usable at all. Now I can understand what are KDE motivations to do such a bad release. It </summary><link rel='replies' type='application/atom+xml' href='http://chasethedevil.blogspot.com/feeds/8248599334156895778/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=14415229&amp;postID=8248599334156895778' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/14415229/posts/default/8248599334156895778'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/14415229/posts/default/8248599334156895778'/><link rel='alternate' type='text/html' href='http://chasethedevil.blogspot.com/2008/01/kde4-still-not-ready.html' title='KDE4 Still Not Ready'/><author><name>Fabien</name><uri>http://www.blogger.com/profile/07288327695801480778</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://photos1.blogger.com/blogger/6384/1303/200/IMG_3839-1.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-14415229.post-3444234247793268593</id><published>2007-12-23T02:28:00.000+01:00</published><updated>2007-12-23T02:46:50.799+01:00</updated><title type='text'>Fedora 8 - The Comeback</title><summary type='text'>My previous post about Ubuntu Gutsy vs Fedora 8 was weak. It is difficult to find a very good distro. Depending on the computer, I have had different experiences. On some computers, Ubuntu really shines and work with minimal tweaking. On some others, Ubuntu is unstable/does not handle wireless correctly and Fedora is much more stable.The main issues I can see with Fedora 8 are:- LVM by default. I</summary><link rel='replies' type='application/atom+xml' href='http://chasethedevil.blogspot.com/feeds/3444234247793268593/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=14415229&amp;postID=3444234247793268593' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/14415229/posts/default/3444234247793268593'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/14415229/posts/default/3444234247793268593'/><link rel='alternate' type='text/html' href='http://chasethedevil.blogspot.com/2007/12/fedora-8-comeback.html' title='Fedora 8 - The Comeback'/><author><name>Fabien</name><uri>http://www.blogger.com/profile/07288327695801480778</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://photos1.blogger.com/blogger/6384/1303/200/IMG_3839-1.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-14415229.post-3979679110676812285</id><published>2007-12-12T17:08:00.000+01:00</published><updated>2007-12-12T19:28:56.812+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='java haskell'/><title type='text'>Haskell Fibonacci Revisited</title><summary type='text'>Recently, there was an interesting post about Haskell performance and Haskell parallelization showing Haskell could outperform C on a simple Fibonacci example.A friend of mine, Peter (that I seem to manage to constantly piss off) thought about it on another level, saying you could achieve a _MILLION_ times better using a direct formula in C or Java, the Binet formula.I decided to try as the </summary><link rel='replies' type='application/atom+xml' href='http://chasethedevil.blogspot.com/feeds/3979679110676812285/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=14415229&amp;postID=3979679110676812285' title='4 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/14415229/posts/default/3979679110676812285'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/14415229/posts/default/3979679110676812285'/><link rel='alternate' type='text/html' href='http://chasethedevil.blogspot.com/2007/12/haskell-fibonacci-revisited.html' title='Haskell Fibonacci Revisited'/><author><name>Fabien</name><uri>http://www.blogger.com/profile/07288327695801480778</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://photos1.blogger.com/blogger/6384/1303/200/IMG_3839-1.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_9RyqGT46Fbk/R2AevOMNqtI/AAAAAAAABI4/Ju0-GjX6W14/s72-c/simple_haskell.png' height='72' width='72'/><thr:total>4</thr:total></entry><entry><id>tag:blogger.com,1999:blog-14415229.post-3252725533071071681</id><published>2007-11-20T16:23:00.001+01:00</published><updated>2007-11-20T16:23:39.780+01:00</updated><title type='text'>Ubuntu 7.10 vs Fedora Core 8 - Gutsy vs Werewolf</title><summary type='text'>I was pretty happy with Ubuntu 7.10, but when Fedora 8 came out I decided to give it a try. Last time I tried it it was Core 2 or something like that, and it was NOT good.At first Fedora 8 looks quite good, has a good Live CD install, reminiscent of Ubuntu.  The positive side is that it is based on the latest Kernel. It manages my Thinkpad T42 very well (suspend, hibernate work). But after a few </summary><link rel='replies' type='application/atom+xml' href='http://chasethedevil.blogspot.com/feeds/3252725533071071681/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=14415229&amp;postID=3252725533071071681' title='3 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/14415229/posts/default/3252725533071071681'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/14415229/posts/default/3252725533071071681'/><link rel='alternate' type='text/html' href='http://chasethedevil.blogspot.com/2007/11/ubuntu-710-vs-fedora-core-8-gutsy-vs.html' title='Ubuntu 7.10 vs Fedora Core 8 - Gutsy vs Werewolf'/><author><name>Fabien</name><uri>http://www.blogger.com/profile/07288327695801480778</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://photos1.blogger.com/blogger/6384/1303/200/IMG_3839-1.jpg'/></author><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-14415229.post-1556326774196297060</id><published>2007-11-02T17:17:00.001+01:00</published><updated>2008-04-24T13:39:59.531+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='java'/><title type='text'>Apache DbUtils Completely Useless</title><summary type='text'>I am disappointed about the Jarkarta Commons DbUtils project. I give a link to it, because it's a bad project (even if written in clean code). It is very simple, but it really does not do much for you. I was looking for a very simple abstraction of JDBC. I thought bringing Spring in my project would be overkill. After trying DbUtils, I think again. It does not help. It does not handle frequent </summary><link rel='replies' type='application/atom+xml' href='http://chasethedevil.blogspot.com/feeds/1556326774196297060/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=14415229&amp;postID=1556326774196297060' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/14415229/posts/default/1556326774196297060'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/14415229/posts/default/1556326774196297060'/><link rel='alternate' type='text/html' href='http://chasethedevil.blogspot.com/2007/11/apache-dbutils-completely-useless.html' title='Apache DbUtils Completely Useless'/><author><name>Fabien</name><uri>http://www.blogger.com/profile/07288327695801480778</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://photos1.blogger.com/blogger/6384/1303/200/IMG_3839-1.jpg'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-14415229.post-8074392616402094288</id><published>2007-10-12T16:10:00.001+02:00</published><updated>2008-04-24T13:39:59.533+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='java'/><title type='text'>I fell in the trap of Boolean.getBoolean()</title><summary type='text'>I was struggling to find a bug in a very simple application, it ended up being something as simple as using the damned Boolean.getBoolean("true") call instead of Boolean.valueOf("true").booleanValue() call. The Boolean.getBoolean method is something you almost never need to use, as it checks if a particular system property is true or false. There is a similar method for Integer.getInteger, and a </summary><link rel='replies' type='application/atom+xml' href='http://chasethedevil.blogspot.com/feeds/8074392616402094288/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=14415229&amp;postID=8074392616402094288' title='8 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/14415229/posts/default/8074392616402094288'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/14415229/posts/default/8074392616402094288'/><link rel='alternate' type='text/html' href='http://chasethedevil.blogspot.com/2007/10/i-fell-in-trap-of-booleangetboolean.html' title='I fell in the trap of Boolean.getBoolean()'/><author><name>Fabien</name><uri>http://www.blogger.com/profile/07288327695801480778</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://photos1.blogger.com/blogger/6384/1303/200/IMG_3839-1.jpg'/></author><thr:total>8</thr:total></entry><entry><id>tag:blogger.com,1999:blog-14415229.post-6450387972410139392</id><published>2007-09-25T14:02:00.000+02:00</published><updated>2007-09-25T14:19:59.504+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='java'/><title type='text'>Fast Web Development With Scala</title><summary type='text'>I am currently experimenting with Scala. It seems quite convenient for web applications. Using Tomcat, it is possible to have a very productive developer environment.Here is a sample Embedded Tomcat you can start in a Scala project:     &lt;!-- start source code --&gt;       import java.io._;import org.apache.catalina._;import org.apache.catalina.startup._;object TomcatScalaServer {    val CATALINAHOME</summary><link rel='replies' type='application/atom+xml' href='http://chasethedevil.blogspot.com/feeds/6450387972410139392/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=14415229&amp;postID=6450387972410139392' title='5 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/14415229/posts/default/6450387972410139392'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/14415229/posts/default/6450387972410139392'/><link rel='alternate' type='text/html' href='http://chasethedevil.blogspot.com/2007/09/fast-web-development-with-scala.html' title='Fast Web Development With Scala'/><author><name>Fabien</name><uri>http://www.blogger.com/profile/07288327695801480778</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://photos1.blogger.com/blogger/6384/1303/200/IMG_3839-1.jpg'/></author><thr:total>5</thr:total></entry><entry><id>tag:blogger.com,1999:blog-14415229.post-7954310070863711579</id><published>2007-08-27T23:48:00.001+02:00</published><updated>2007-08-27T23:48:16.435+02:00</updated><title type='text'>2 Months of Ubuntu on Mac Mini</title><summary type='text'>I am finally happy with my OS. I had previously some complaints about MacOs X and the Mac Mini. It is now over, with Ubuntu, I am very happy of my quiet system.   I use Quod Libet for Audio, it has similar interface as iTunes, with more features (ability to play most audio formats). I chose Quod Libet instead of the standard Rhythmbox because of its practical mp3 tags handling. This also means </summary><link rel='replies' type='application/atom+xml' href='http://chasethedevil.blogspot.com/feeds/7954310070863711579/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=14415229&amp;postID=7954310070863711579' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/14415229/posts/default/7954310070863711579'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/14415229/posts/default/7954310070863711579'/><link rel='alternate' type='text/html' href='http://chasethedevil.blogspot.com/2007/08/2-months-of-ubuntu-on-mac-mini.html' title='2 Months of Ubuntu on Mac Mini'/><author><name>Fabien</name><uri>http://www.blogger.com/profile/07288327695801480778</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://photos1.blogger.com/blogger/6384/1303/200/IMG_3839-1.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-14415229.post-1958719468017545289</id><published>2007-08-23T11:22:00.001+02:00</published><updated>2008-04-24T13:39:59.535+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='java'/><title type='text'>Spring Web Services, Finally!</title><summary type='text'>Spring Web Services seems to be the technology I have been looking for recently. I am not a Spring bigot (too XML oriented), but here the Spring folks have something right. I used to work with Web Services the simple way: create a java class (or EJB), expose it as Web Service through Axis or RAD, generating the WSDL in the process. And then a client would just be the reverse, take the WSDL, use a</summary><link rel='replies' type='application/atom+xml' href='http://chasethedevil.blogspot.com/feeds/1958719468017545289/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=14415229&amp;postID=1958719468017545289' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/14415229/posts/default/1958719468017545289'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/14415229/posts/default/1958719468017545289'/><link rel='alternate' type='text/html' href='http://chasethedevil.blogspot.com/2007/08/spring-web-services-finally.html' title='Spring Web Services, Finally!'/><author><name>Fabien</name><uri>http://www.blogger.com/profile/07288327695801480778</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://photos1.blogger.com/blogger/6384/1303/200/IMG_3839-1.jpg'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-14415229.post-4774416485006011570</id><published>2007-08-02T12:07:00.001+02:00</published><updated>2008-04-24T13:39:59.537+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='java'/><title type='text'>Original Pattern: ServletRequest in ThreadLocal</title><summary type='text'>After seeing Scala had elements of Erlang through Actors, I decided to take a closer look at the language. There is an interesting new web framework in Scala, called  Lift. One drawback of Lift is that it seems to be very cutting edge and not that easy to grasp. While reading its source code, I stumbled upon a strange pattern: Storing the ServletRequest in a ThreadLocal .I had not seen that </summary><link rel='replies' type='application/atom+xml' href='http://chasethedevil.blogspot.com/feeds/4774416485006011570/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=14415229&amp;postID=4774416485006011570' title='6 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/14415229/posts/default/4774416485006011570'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/14415229/posts/default/4774416485006011570'/><link rel='alternate' type='text/html' href='http://chasethedevil.blogspot.com/2007/08/original-pattern-servletrequest-in.html' title='Original Pattern: ServletRequest in ThreadLocal'/><author><name>Fabien</name><uri>http://www.blogger.com/profile/07288327695801480778</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://photos1.blogger.com/blogger/6384/1303/200/IMG_3839-1.jpg'/></author><thr:total>6</thr:total></entry><entry><id>tag:blogger.com,1999:blog-14415229.post-5830726001417883898</id><published>2007-07-27T16:13:00.001+02:00</published><updated>2007-07-27T16:13:09.064+02:00</updated><title type='text'>Vim setup</title><summary type='text'>Here is my Vim setup information for referencein .vimrc or _vimrc, add at the beginning: set langmenu=en_US.ISO_8859-1set gfn=Bitstream_Vera_Sans_Mono:h9:cANSIcolorscheme oceandeepFirst line is to avoid menus in French.The font (you can  find here) is simply the best programmer's font.oceandeep mode can be found here . </summary><link rel='replies' type='application/atom+xml' href='http://chasethedevil.blogspot.com/feeds/5830726001417883898/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=14415229&amp;postID=5830726001417883898' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/14415229/posts/default/5830726001417883898'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/14415229/posts/default/5830726001417883898'/><link rel='alternate' type='text/html' href='http://chasethedevil.blogspot.com/2007/07/vim-setup.html' title='Vim setup'/><author><name>Fabien</name><uri>http://www.blogger.com/profile/07288327695801480778</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://photos1.blogger.com/blogger/6384/1303/200/IMG_3839-1.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-14415229.post-851579421057659881</id><published>2007-07-27T14:37:00.001+02:00</published><updated>2008-04-24T13:39:59.539+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='java'/><title type='text'>Why Eclipse Is Better</title><summary type='text'>Initially I adopted Eclipse instead of Emacs because it was more powerful to search code, and it allowed refactoring. I regularly tried other IDEs but always end up back to Eclipse, even though there has been less big improvements in Eclipse in the past years (but lots of small ones). I just saw today that Eclipse allowed programmatic refactoring. Now that's something quite amazing, and I don't </summary><link rel='replies' type='application/atom+xml' href='http://chasethedevil.blogspot.com/feeds/851579421057659881/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=14415229&amp;postID=851579421057659881' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/14415229/posts/default/851579421057659881'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/14415229/posts/default/851579421057659881'/><link rel='alternate' type='text/html' href='http://chasethedevil.blogspot.com/2007/07/why-eclipse-is-better.html' title='Why Eclipse Is Better'/><author><name>Fabien</name><uri>http://www.blogger.com/profile/07288327695801480778</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://photos1.blogger.com/blogger/6384/1303/200/IMG_3839-1.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-14415229.post-1632525119311288801</id><published>2007-07-11T12:49:00.001+02:00</published><updated>2008-04-24T13:39:59.541+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='java'/><title type='text'>Tapestry5 vs Wicket: 1 - 0</title><summary type='text'>Getting started with Tapestry 5 is easier than with Wicket 1.3. Some readers will complain that it is again the view of someone who has no deep knowledge of either Tapestry or Wicket. But I think it is important for projects to be easily accessible to developers. Wicket seems to have more buzz around these days, and has a detailed wiki with plenty of useful information in it. But that's the </summary><link rel='replies' type='application/atom+xml' href='http://chasethedevil.blogspot.com/feeds/1632525119311288801/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=14415229&amp;postID=1632525119311288801' title='5 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/14415229/posts/default/1632525119311288801'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/14415229/posts/default/1632525119311288801'/><link rel='alternate' type='text/html' href='http://chasethedevil.blogspot.com/2007/07/tapestry5-vs-wicket-1-0.html' title='Tapestry5 vs Wicket: 1 - 0'/><author><name>Fabien</name><uri>http://www.blogger.com/profile/07288327695801480778</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://photos1.blogger.com/blogger/6384/1303/200/IMG_3839-1.jpg'/></author><thr:total>5</thr:total></entry><entry><id>tag:blogger.com,1999:blog-14415229.post-1774547934102596023</id><published>2007-06-30T07:15:00.001+02:00</published><updated>2008-04-24T13:39:59.542+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='java'/><title type='text'>NetBeans 6.0M10 out without announcement yet!</title><summary type='text'>I just found it while browsing netbeans website, here is the link. Netbeans is starting to be much more interesting that it used to be  before  5.5, even though shortcuts are a pain, because so different from most other editors, and not always defined for important tasks. I like the all integrated feeling without plugin and slugishness by default. </summary><link rel='replies' type='application/atom+xml' href='http://chasethedevil.blogspot.com/feeds/1774547934102596023/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=14415229&amp;postID=1774547934102596023' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/14415229/posts/default/1774547934102596023'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/14415229/posts/default/1774547934102596023'/><link rel='alternate' type='text/html' href='http://chasethedevil.blogspot.com/2007/06/netbeans-60m10-out-without-announcement.html' title='NetBeans 6.0M10 out without announcement yet!'/><author><name>Fabien</name><uri>http://www.blogger.com/profile/07288327695801480778</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://photos1.blogger.com/blogger/6384/1303/200/IMG_3839-1.jpg'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-14415229.post-8119099781671899310</id><published>2007-06-12T12:59:00.001+02:00</published><updated>2008-04-24T13:39:59.549+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='java'/><title type='text'>Use ORM For Better Performance</title><summary type='text'>This is not something I would have though a few years ago. It is something I learnt after working on many different projects, some using an ORM layer like Hibernate, Entity EJBs, or JDO, some using JDBC approach via Spring Templates or custom frameworks. Many projects that use ORM have performance problems, that don't seem that common with projects using JDBC. But the size of the database model </summary><link rel='replies' type='application/atom+xml' href='http://chasethedevil.blogspot.com/feeds/8119099781671899310/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=14415229&amp;postID=8119099781671899310' title='4 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/14415229/posts/default/8119099781671899310'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/14415229/posts/default/8119099781671899310'/><link rel='alternate' type='text/html' href='http://chasethedevil.blogspot.com/2007/06/use-orm-for-better-performance.html' title='Use ORM For Better Performance'/><author><name>Fabien</name><uri>http://www.blogger.com/profile/07288327695801480778</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://photos1.blogger.com/blogger/6384/1303/200/IMG_3839-1.jpg'/></author><thr:total>4</thr:total></entry><entry><id>tag:blogger.com,1999:blog-14415229.post-851672882321593701</id><published>2007-05-30T12:03:00.001+02:00</published><updated>2008-04-24T13:39:59.550+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='java'/><title type='text'>People Using Spring, EJBs Don't Know Basic JDBC</title><summary type='text'>I recently found a bug in software we are developing. I traced it and found the root was improper JDBC handling. The application is written using EJBs, Spring and plenty of other relatively complex technologies. I was surprised that developers who were able to use all those technologies had no understanding of basic JDBC.  They fetched all the data (including double, decimal numbers) from the </summary><link rel='replies' type='application/atom+xml' href='http://chasethedevil.blogspot.com/feeds/851672882321593701/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=14415229&amp;postID=851672882321593701' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/14415229/posts/default/851672882321593701'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/14415229/posts/default/851672882321593701'/><link rel='alternate' type='text/html' href='http://chasethedevil.blogspot.com/2007/05/people-using-spring-ejbs-dont-know.html' title='People Using Spring, EJBs Don&apos;t Know Basic JDBC'/><author><name>Fabien</name><uri>http://www.blogger.com/profile/07288327695801480778</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://photos1.blogger.com/blogger/6384/1303/200/IMG_3839-1.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-14415229.post-5633237139489299119</id><published>2007-05-16T14:56:00.000+02:00</published><updated>2007-05-16T14:58:04.264+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='java'/><title type='text'>Wizards Bad For Productivity</title><summary type='text'>IBM RAD comes with many wizards, to create EJBs, to create Web Services, do struts mapping... They are quite well done, making EJB &lt; 3.0 usable, and Web Services look simple.But wizards sucks at:typos correctionrepetitionBut when you do a typo in your wizards, then all the files generated/changed are wrong, and you don't necessarily know if you can just do a search and replace. Plus you don't </summary><link rel='replies' type='application/atom+xml' href='http://chasethedevil.blogspot.com/feeds/5633237139489299119/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=14415229&amp;postID=5633237139489299119' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/14415229/posts/default/5633237139489299119'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/14415229/posts/default/5633237139489299119'/><link rel='alternate' type='text/html' href='http://chasethedevil.blogspot.com/2007/05/wizards-bad-for-productivity.html' title='Wizards Bad For Productivity'/><author><name>Fabien</name><uri>http://www.blogger.com/profile/07288327695801480778</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://photos1.blogger.com/blogger/6384/1303/200/IMG_3839-1.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-14415229.post-1487250193749268679</id><published>2007-04-29T17:10:00.000+02:00</published><updated>2007-04-29T19:16:26.385+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='java'/><title type='text'>Less Productive With Maven2.</title><summary type='text'>My first trials of Maven were failures. As I am stubborn, I tried again, on a new project, a quite simple one. It works, but it makes some easy things overkill. And the default way of using it makes a developer lose lots of time.If I have a project with common classes, a standalone app, and a web app, then logically you do 3 projects, 2 of them depending on the common one. That's how the default </summary><link rel='replies' type='application/atom+xml' href='http://chasethedevil.blogspot.com/feeds/1487250193749268679/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=14415229&amp;postID=1487250193749268679' title='16 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/14415229/posts/default/1487250193749268679'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/14415229/posts/default/1487250193749268679'/><link rel='alternate' type='text/html' href='http://chasethedevil.blogspot.com/2007/04/less-productive-with-maven2.html' title='Less Productive With Maven2.'/><author><name>Fabien</name><uri>http://www.blogger.com/profile/07288327695801480778</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://photos1.blogger.com/blogger/6384/1303/200/IMG_3839-1.jpg'/></author><thr:total>16</thr:total></entry><entry><id>tag:blogger.com,1999:blog-14415229.post-7045393476642576965</id><published>2007-04-27T12:40:00.000+02:00</published><updated>2007-04-27T12:41:39.735+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='howtobuildgoodsoftware'/><title type='text'>How to Build Good Software? Good network connection</title><summary type='text'>Not having good internet connection can be problematic to download new libraries, read or search for documentation on development subjects. But not having a good internal network connection is  killer of productivity. It means sometimes not being able to access integration, preprod or even production environment, or ssh session not responding in the middle of an action. As software makes an </summary><link rel='replies' type='application/atom+xml' href='http://chasethedevil.blogspot.com/feeds/7045393476642576965/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=14415229&amp;postID=7045393476642576965' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/14415229/posts/default/7045393476642576965'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/14415229/posts/default/7045393476642576965'/><link rel='alternate' type='text/html' href='http://chasethedevil.blogspot.com/2007/04/how-to-build-good-software-good-network.html' title='How to Build Good Software? Good network connection'/><author><name>Fabien</name><uri>http://www.blogger.com/profile/07288327695801480778</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://photos1.blogger.com/blogger/6384/1303/200/IMG_3839-1.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-14415229.post-5040814664422930035</id><published>2007-04-25T15:01:00.000+02:00</published><updated>2007-04-25T15:02:29.271+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='howtobuildgoodsoftware'/><title type='text'>How to Build Good Software? Private office, again</title><summary type='text'>Apparently it's more a habit of French companies to have big open spaces with no separation at all between people. There is nothing more annoying than having people in conference call in front of you while you are trying to work on something completely different. French people forgot the cubicle part in the American open space idea. So sometimes the room is just a big mess, everybody being able </summary><link rel='replies' type='application/atom+xml' href='http://chasethedevil.blogspot.com/feeds/5040814664422930035/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=14415229&amp;postID=5040814664422930035' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/14415229/posts/default/5040814664422930035'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/14415229/posts/default/5040814664422930035'/><link rel='alternate' type='text/html' href='http://chasethedevil.blogspot.com/2007/04/how-to-build-good-software-private_25.html' title='How to Build Good Software? Private office, again'/><author><name>Fabien</name><uri>http://www.blogger.com/profile/07288327695801480778</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://photos1.blogger.com/blogger/6384/1303/200/IMG_3839-1.jpg'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-14415229.post-5328273059396755974</id><published>2007-04-18T20:17:00.000+02:00</published><updated>2007-04-18T20:50:33.390+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='howtobuildgoodsoftware'/><title type='text'>How to Build Good Software? Welcome newcomers</title><summary type='text'>Some companies do it naturally, some really don't. In small companies, it is almost natural, people will make a newcomer productive very quickly. In a big company it's not the same game.Some important points are:Computer ready the first day, well sized (right ram, right power, developers are not MS office users), right OS.  I had experience with having not the right amount of ram, not the right </summary><link rel='replies' type='application/atom+xml' href='http://chasethedevil.blogspot.com/feeds/5328273059396755974/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=14415229&amp;postID=5328273059396755974' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/14415229/posts/default/5328273059396755974'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/14415229/posts/default/5328273059396755974'/><link rel='alternate' type='text/html' href='http://chasethedevil.blogspot.com/2007/04/how-to-build-good-software-welcome.html' title='How to Build Good Software? Welcome newcomers'/><author><name>Fabien</name><uri>http://www.blogger.com/profile/07288327695801480778</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://photos1.blogger.com/blogger/6384/1303/200/IMG_3839-1.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-14415229.post-5772336497569949072</id><published>2007-04-13T13:01:00.001+02:00</published><updated>2007-04-13T13:01:32.163+02:00</updated><title type='text'>Project Estimations And Fibonacci Sequence.</title><summary type='text'>I was recently in a meeting where use case complexity was estimated using numbers in the Fibonacci sequence. I was surprised by the choice of the Fibonacci sequence. Why not any sequence? Why a particular one? I googled and found the culprit,  Mr Mike Cohn  in his book Agile Estimating and Planning. It's actually not a bad sequence to choose, since the scale is increasing constantly, so by </summary><link rel='replies' type='application/atom+xml' href='http://chasethedevil.blogspot.com/feeds/5772336497569949072/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=14415229&amp;postID=5772336497569949072' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/14415229/posts/default/5772336497569949072'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/14415229/posts/default/5772336497569949072'/><link rel='alternate' type='text/html' href='http://chasethedevil.blogspot.com/2007/04/project-estimations-and-fibonacci.html' title='Project Estimations And Fibonacci Sequence.'/><author><name>Fabien</name><uri>http://www.blogger.com/profile/07288327695801480778</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://photos1.blogger.com/blogger/6384/1303/200/IMG_3839-1.jpg'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-14415229.post-8356125854352102872</id><published>2007-04-13T10:56:00.000+02:00</published><updated>2007-04-13T10:58:51.736+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='howtobuildgoodsoftware'/><title type='text'>How to Build Good Software? Use a bug management software, really.</title><summary type='text'>This will seem obvious, unfortunately, when people are involved, nothing is that obvious. It's not because you setup a bug/feature management software that people will use it. You have to force people to go through the bug management software each time they want something fixed. If you don't do that some people will keep sending incomplete mails, or worse call you to get something fixed, that </summary><link rel='replies' type='application/atom+xml' href='http://chasethedevil.blogspot.com/feeds/8356125854352102872/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=14415229&amp;postID=8356125854352102872' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/14415229/posts/default/8356125854352102872'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/14415229/posts/default/8356125854352102872'/><link rel='alternate' type='text/html' href='http://chasethedevil.blogspot.com/2007/04/how-to-build-good-software-use-bug.html' title='How to Build Good Software? Use a bug management software, really.'/><author><name>Fabien</name><uri>http://www.blogger.com/profile/07288327695801480778</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://photos1.blogger.com/blogger/6384/1303/200/IMG_3839-1.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-14415229.post-3182730259013071026</id><published>2007-04-12T09:54:00.000+02:00</published><updated>2007-04-12T10:05:14.687+02:00</updated><title type='text'>How to Build Good Software? Have a good build process</title><summary type='text'>Important points are: standard code hierarchy, automatic download of dependencies, a distribution command with versioning support and source control interaction, a simple command to build each part of the project. In Java best candidates are a sophiticated ant build, or maven2. Maven2 is quite good since it forces you to do some of those steps, even though I think ant can't really be avoided for </summary><link rel='replies' type='application/atom+xml' href='http://chasethedevil.blogspot.com/feeds/3182730259013071026/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=14415229&amp;postID=3182730259013071026' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/14415229/posts/default/3182730259013071026'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/14415229/posts/default/3182730259013071026'/><link rel='alternate' type='text/html' href='http://chasethedevil.blogspot.com/2007/04/how-to-build-good-software-have-good.html' title='How to Build Good Software? Have a good build process'/><author><name>Fabien</name><uri>http://www.blogger.com/profile/07288327695801480778</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://photos1.blogger.com/blogger/6384/1303/200/IMG_3839-1.jpg'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-14415229.post-5287794886263101209</id><published>2007-04-11T10:52:00.000+02:00</published><updated>2007-04-11T10:54:38.326+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='howtobuildgoodsoftware'/><title type='text'>How to Build Good Software? Private Office</title><summary type='text'>In an open space, people keep on coming to discuss various issues with various people, issues that have nothing to do with your work. You end up either being distracted, or annoyed by the increased noise level. Apparently at Microsoft, they have private offices for each programmer. It might be extreme, paradoxally not in the XP (extreme programming) sense, but it is much better than open space </summary><link rel='replies' type='application/atom+xml' href='http://chasethedevil.blogspot.com/feeds/5287794886263101209/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=14415229&amp;postID=5287794886263101209' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/14415229/posts/default/5287794886263101209'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/14415229/posts/default/5287794886263101209'/><link rel='alternate' type='text/html' href='http://chasethedevil.blogspot.com/2007/04/how-to-build-good-software-private.html' title='How to Build Good Software? Private Office'/><author><name>Fabien</name><uri>http://www.blogger.com/profile/07288327695801480778</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://photos1.blogger.com/blogger/6384/1303/200/IMG_3839-1.jpg'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-14415229.post-8847414356105689945</id><published>2007-04-10T11:12:00.000+02:00</published><updated>2007-04-10T11:14:20.333+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='howtobuildgoodsoftware'/><title type='text'>How to Build Good Software? Lay Off Quickly.</title><summary type='text'>If you have to lay off in your job, do it quickly. I don't understand companies that want to keep someone as long as legally possible when this someone wants to leave. First the employee won't be as motivated, but more importantly, you will continue to train that person to your company's software and ways of work. This would be much better used on another person, that will stay in the company. </summary><link rel='replies' type='application/atom+xml' href='http://chasethedevil.blogspot.com/feeds/8847414356105689945/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=14415229&amp;postID=8847414356105689945' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/14415229/posts/default/8847414356105689945'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/14415229/posts/default/8847414356105689945'/><link rel='alternate' type='text/html' href='http://chasethedevil.blogspot.com/2007/04/how-to-build-good-software-lay-off.html' title='How to Build Good Software? Lay Off Quickly.'/><author><name>Fabien</name><uri>http://www.blogger.com/profile/07288327695801480778</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://photos1.blogger.com/blogger/6384/1303/200/IMG_3839-1.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-14415229.post-5629412391316014769</id><published>2007-04-06T17:02:00.000+02:00</published><updated>2007-04-06T17:04:29.463+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='howtobuildgoodsoftware'/><title type='text'>How to Build Good Software? Talk to people, especially the ones you don't know well.</title><summary type='text'>Someone modified a simple launch script on a integration machine. This pissed off the author of the script. Why? Just because the guy who modified the script never worked before with the author of the script. If only the author had been notified verbally or by mail of the modification, he would have been happy. Furthermore this would increase the quality of the change since the new guy might have</summary><link rel='replies' type='application/atom+xml' href='http://chasethedevil.blogspot.com/feeds/5629412391316014769/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=14415229&amp;postID=5629412391316014769' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/14415229/posts/default/5629412391316014769'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/14415229/posts/default/5629412391316014769'/><link rel='alternate' type='text/html' href='http://chasethedevil.blogspot.com/2007/04/how-to-build-good-software-talk-to.html' title='How to Build Good Software? Talk to people, especially the ones you don&apos;t know well.'/><author><name>Fabien</name><uri>http://www.blogger.com/profile/07288327695801480778</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://photos1.blogger.com/blogger/6384/1303/200/IMG_3839-1.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-14415229.post-1709185693694539014</id><published>2007-04-05T18:48:00.001+02:00</published><updated>2007-04-06T17:01:48.705+02:00</updated><title type='text'>Find Grep And Vi Keys Small Memo</title><summary type='text'>I tend to forget this now and then to grep on a specific list of files: find . -name "*.xml" | xargs grep "iwantthis"And I also tend to forget the vi keys. Small extract: h - move left one characterj - move down one linek - move upl - move right$ - go to the end of the current line0 - go to the beginning of the current lineG - go to the last line in the file15G - go to line 15control-F - forward </summary><link rel='replies' type='application/atom+xml' href='http://chasethedevil.blogspot.com/feeds/1709185693694539014/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=14415229&amp;postID=1709185693694539014' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/14415229/posts/default/1709185693694539014'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/14415229/posts/default/1709185693694539014'/><link rel='alternate' type='text/html' href='http://chasethedevil.blogspot.com/2007/04/find-grep-and-vi-keys-small-memo.html' title='Find Grep And Vi Keys Small Memo'/><author><name>Fabien</name><uri>http://www.blogger.com/profile/07288327695801480778</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://photos1.blogger.com/blogger/6384/1303/200/IMG_3839-1.jpg'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-14415229.post-1834282049852938629</id><published>2007-04-05T14:14:00.000+02:00</published><updated>2007-04-05T14:19:22.743+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='howtobuildgoodsoftware'/><title type='text'>How to Build Good Software? MS Press Code Complete says Measure twice, cut once</title><summary type='text'>I am starting a series of posts about software construction, based on good and bad experiences while working for my many employers."Software construction (a.k.a. architecture), is the only activity that's guaranteed to happen on every project". It is not rare that projects or new features are abandoned either because they are too costly, or because they are not needed anymore, or because they are</summary><link rel='replies' type='application/atom+xml' href='http://chasethedevil.blogspot.com/feeds/1834282049852938629/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=14415229&amp;postID=1834282049852938629' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/14415229/posts/default/1834282049852938629'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/14415229/posts/default/1834282049852938629'/><link rel='alternate' type='text/html' href='http://chasethedevil.blogspot.com/2007/04/how-to-build-good-software-ms-press.html' title='How to Build Good Software? MS Press Code Complete says Measure twice, cut once'/><author><name>Fabien</name><uri>http://www.blogger.com/profile/07288327695801480778</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://photos1.blogger.com/blogger/6384/1303/200/IMG_3839-1.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-14415229.post-130409046118726867</id><published>2007-02-14T16:33:00.001+01:00</published><updated>2008-06-16T16:53:04.534+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='java'/><category scheme='http://www.blogger.com/atom/ns#' term='book'/><title type='text'>Java Concurrency In Practice Book Review</title><summary type='text'>My reference book on Java concurrency is Doug Lea's Concurrent Programming in Java: Design Principles and Patterns. He is one of the authors of this new book,  Java Concurrency In Practice. There is also Joshua Bloch, author of Effective Java, that many people love (but I am less a fan of it, even if I would recommend it to Java newbies), and author of  Java Puzzlers, that I found more fun.With </summary><link rel='replies' type='application/atom+xml' href='http://chasethedevil.blogspot.com/feeds/130409046118726867/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=14415229&amp;postID=130409046118726867' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/14415229/posts/default/130409046118726867'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/14415229/posts/default/130409046118726867'/><link rel='alternate' type='text/html' href='http://chasethedevil.blogspot.com/2007/02/java-concurrency-in-practice-book.html' title='Java Concurrency In Practice Book Review'/><author><name>Fabien</name><uri>http://www.blogger.com/profile/07288327695801480778</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://photos1.blogger.com/blogger/6384/1303/200/IMG_3839-1.jpg'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-14415229.post-2330096282730417330</id><published>2007-02-07T16:38:00.001+01:00</published><updated>2007-04-05T14:10:12.405+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='java'/><title type='text'>Why are you not using Entity EJB 1.1?</title><summary type='text'>I am currently quite busy learning about Websphere Commerce. I was surprised to notice that they still use Entity EJBs 1.1. My experience was that many companies turned away from Entity EJBs, sometimes from the beginning, preferring TopLink or Hibernate (later).    I know that Entity EJBs are more heavy to use than Hibernate, but with the proper tooling support, it's not really a big issue. Are </summary><link rel='replies' type='application/atom+xml' href='http://chasethedevil.blogspot.com/feeds/2330096282730417330/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=14415229&amp;postID=2330096282730417330' title='3 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/14415229/posts/default/2330096282730417330'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/14415229/posts/default/2330096282730417330'/><link rel='alternate' type='text/html' href='http://chasethedevil.blogspot.com/2007/02/why-are-you-not-using-entity-ejb-11.html' title='Why are you not using Entity EJB 1.1?'/><author><name>Fabien</name><uri>http://www.blogger.com/profile/07288327695801480778</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://photos1.blogger.com/blogger/6384/1303/200/IMG_3839-1.jpg'/></author><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-14415229.post-356937044220435198</id><published>2007-01-25T01:04:00.001+01:00</published><updated>2007-04-05T14:10:12.406+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='java'/><title type='text'>Switching to Windows</title><summary type='text'>That's it, I have done it, the unthinkable. I have switched from MacOs X to Windows XP. My idea was first to install Ubuntu on the Mac Mini, but if you want to keep the Mac Os X install, the methods I have read on the web required to use bootcamp. At around the same time I was annoyed by problems I had with bluetooth and Skype in MacOs.  So, with bootcamp installed I decided to give a try to </summary><link rel='replies' type='application/atom+xml' href='http://chasethedevil.blogspot.com/feeds/356937044220435198/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=14415229&amp;postID=356937044220435198' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/14415229/posts/default/356937044220435198'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/14415229/posts/default/356937044220435198'/><link rel='alternate' type='text/html' href='http://chasethedevil.blogspot.com/2007/01/switching-to-windows.html' title='Switching to Windows'/><author><name>Fabien</name><uri>http://www.blogger.com/profile/07288327695801480778</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://photos1.blogger.com/blogger/6384/1303/200/IMG_3839-1.jpg'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-14415229.post-8862290477561126301</id><published>2007-01-16T10:26:00.001+01:00</published><updated>2007-04-05T14:10:12.406+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='java'/><title type='text'>Social (Web) Revelation: Tags Are Lame</title><summary type='text'>I had a revelation yesterday while thinking about del.icio.us, the most well known social bookmarks site. I find out that I almost never use my tags, and I am often not satisfied by results when I search using tags. What use can you make of 100s of tags? in the end only less than 10 are usable to classify very different stuff. And even then compared to a search it's not a much useful </summary><link rel='replies' type='application/atom+xml' href='http://chasethedevil.blogspot.com/feeds/8862290477561126301/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=14415229&amp;postID=8862290477561126301' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/14415229/posts/default/8862290477561126301'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/14415229/posts/default/8862290477561126301'/><link rel='alternate' type='text/html' href='http://chasethedevil.blogspot.com/2007/01/social-web-revelation-tags-are-lame.html' title='Social (Web) Revelation: Tags Are Lame'/><author><name>Fabien</name><uri>http://www.blogger.com/profile/07288327695801480778</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://photos1.blogger.com/blogger/6384/1303/200/IMG_3839-1.jpg'/></author><thr:total>2</thr:total></entry></feed>
