Stephane's thoughts corner…
Stephane Bailliez's thoughts on everything

Absolutely nothing is employed by my Male Impotence am Now Debt Relief Debt Relief i stayed with this issue for all his life?

Put simply, Debt Relief Consumer debt relief the response to it Best electronic cigarette online Njoy npro electronic cigarette Jeux de casino en ligne gratuit bonus casino is an unequivocal no. In right now community, with Generic Cialis Cialis generic uk a variety of Online debt consolidation loan Bad debt consolidation treatment methods readily available, no-one must ever before really Buy Viagra Generic Viagra feel that you have no solution for his Viagra Online Viagra Online or her unique particular sort of Erectile Buy Viagra Viagra online uk Dysfunction. In young gentlemen, it can sometimes be their Levitra 10mg Buy Levitra operation anxiety is so entrenched that Electronic cigarettes for weed Top rated electronic cigarettes even How does online blackjack make money Rigged online blackjack substantial dosage of Viagra, Cialis or Levitra Viagra Online Viagra

July 16, 2006

Remote repositories and reproductability

Filed under: Software — stephane @ 8:00 pm

I cannot do anything but shiver when I read TheServerSide discussion about version control and I read comments such as:

Maven, for example, discourages storage of dependencies in revision control, preferring to grab them from a third party repository

And a comment mentioning:

Since I use Maven 2 : pom.xml + src directory. That’s all I need [...]

and then later in another thread:

I have students doing internship where I work and they complain when they download some source code and it comes with an Ant build. They are more use to Maven (since this is what we use) and prefer it.

We have here obviously conflicting thoughts about the software industry: long term and predictability versus short term and ‘works for me’. The ‘works for me’ attitude has been the rationale behind flawed designs and processes, the original JBoss UCL design for example. Some users just don’t know how it happens to run, when it just does and they are happy with that.. Pragmatic Programmers refer to that as Programming by coincidence so by extension we could call this technique Build by coincidence.

All that is enough to explain why some users actually fail to use any decent project that use Maven that way and end up with comments such as:

#1 I’ve yet to be able to get an external Maven project to build by simply checking it out[...]For some reason – maybe bad luck or maybe because I tend to consult at larger corporations – Maven can never download all the jars. Either it can’t find it or errors out or something.

Reasonably large projects with external dependencies in remote repositories using Maven and who run into problems on a regular basis are notorious: Apache Geronimo, Apache Cocoon, Apache DS. Just browsing the mailing list on a frequent basis is enough to understand how it gets in your way and it just slows down development when you have many dependencies and a remote repository (or worse, severals).

Konstantin Ignatyev is also right on target when he says:

Maven dependencies management is really really bad.[...]Ranges are especially bad: they cause build unpredictability and non repeatability because they make build to depend on server repo content.

A simple example to illustrate how things can be totally wrong:

  • Assume MyProject depends on JasperReport 1.2.4
  • Which itself depends on commons-collections [2.1,) as can be seen from the POM (meaning 2.1+)

Now if we take look at commons-collections in the Mergere repository we can see that… what is available as 2.1+ ? well among other things 2.1.1, 3.0, 3.1, 3.2…and 20030418.083655, 20031027.000000, 20040102.233541, 20040616.

So what do you think is the most recent (ie: greater) version for Maven ? 3.2 or 2004040616 ?

Relying on uncontrolled remote repositories is evil at best.

Never trust the online repositories for your project, that’s ok for a prototype but not more than that.

The irony being that, some little hands may fix this problem if they read this entry… but thousand of users that actually were depending on these dependencies, will not notice until they clean their cache….and download again the new dependencies and it may maybe break something in their project. So you get non-reproductability.

Put every dependency in source control, download the archives yourself, rewrite the POM yourself (most of the time it is incorrect, but you sure get the list of developpers which is 350 lines long) and be in control. Clean up your cache. Get your machine offline and build. If it does not build right away, you are in trouble anyway, it is just a matter of time before this WMD blows up your product.

Final advice: Use Ivy for dependencies and store all your dependencies under source control.

July 14, 2006

Buildix – a ready to use continuous integration system

Filed under: OpenSource,Software — stephane @ 3:09 am

Thoughworks released Buildix. It’s a ready to deploy VMWare image (or ISO) based on Knoppix Linux distribution that provides out of the box:

So in the end, you have everything ready to create a new project. Considering the number of companies out there that still do developpement without a version control system or a wiki…there is probably no more excuse to not use Buildix. And it cost nothing.

July 10, 2006

Italy wins and Zidane loses his temper

Filed under: General — stephane @ 3:23 am

Very intense match for a final. In the first half-time, the penalty for France was just bullshit but the referee probably did not have much room for thoughts to avoid the match potentially drifting into a crap remake of Portugal-Netherlands. It would not have been surprising to have Italy leading 2-0.

As for the 2nd half-time and overtime, Italy was completely dominated, yet France fails to concretize. Could have been a 2-2 no problem.

Zidane lost his nerves in the 2nd overtime due to apparent insults/provocation from Materazzi, from what we can decipher in this video (will we ever know what was said ?), yet, even though Materazzi is known to be a particulary agressive and dangerous player as can be seen in this video it is no excuses. Whatever insults/provocations were exchanged, it is no excuses to do such actions, especially when it is a final and there is a few minutes to play, it is your last match and you get that level of experience playing in Italy or Spain. So it’s not like any provocation is unknown and the best response would have been to score rather than this.

One final note. That would be nice to have 2 additional static referees next to the goalkeeper to avoid completely bullshit simulations to get penalties and heavily sanction cheaters that pull shirts, block players, do other unfair/agressive manoeuvers and are able to watch closely any provocation during the game. I would also request stronger actions from the referee and sanctions every blatant simulation during the game with a yellow card, as well as any arguments, gestures so that player actually respect the referee and stop interfering. Shut the f* up and play !

July 4, 2006

New York and World Cup

Filed under: Software — stephane @ 11:18 pm

I’m definitely not a fan of football but likes to follow great matches. My flight to NY was changed and I’m due to fly with Swiss through Zurich (don’t ask) tomorrow. Due to that change I will arrive in NY at 15:40 and it will get me obviously 1h to reach the hotel or office. Which means that I will miss the whole match. Bummer !

I have many things to do in NY with the US team, so I hope we will be able to squeeze the maximum for the time I stay there. I will be able to visit my father who just sailed back to NY this week, I hope to meet with Antoine (Ant team) and Alexandre (who is an intern at Société Générale and was also an intern in my previous company). I will probably go see the final to this bar this week end. Time will tell.

Btw, congratulations to my friend Tudor who is marrying on July 8 in Bucarest. I will miss the wedding due to this business trip to NY.

IGN Portal – A revolution in satellite imagery…but when ?

Filed under: France,Software — stephane @ 10:22 pm

There has been lot of press (in France) recently about the IGN showcasing products to compete with Google Map and later Google Earth. The IGN portal was not accessible for weeks because it was apparently hammered by users (probably 2 request /s). The IGN team was working hard to make it accessible again. So in exclusivity I took some screenshots that will reveal the excellence of this product, the revolutionary interface and the amazing map resolution and content available to everyone.

Google, watch out, the IGN is there.

Let’s first start by comparing the Eiffel tower:

Eiffel tower by IGN
Eiffel tower by IGN
Eiffel Tower by Google Map
Eiffel tower by Google Map

As you can see, Google Map offers a much better resolution approximately 4.5x better than IGN. Not mentioning vivid colors compared to a washed out photo.

Let’s move on some more funny things. It is of course a matter of national security to hide some military areas from public exposure. IGN complies fully by hiding even the most stupid areas despite the atrocious resolution. Moving on close to Brest and Ile Longue in Brittany. It is the logistic base for nuclear submarines located approximately at 48.3N 4.5W.

IGN resolution is extremely poor but apparently that was worth hiding it. Note all the other white patches around which is either the sea or military areas such as nuclear missile facility, port, French Oceanic Force HQ and so on. Not sure what you could see with such a poor resolution, but having worked in the defense industry before and witnessed a C tutorial which was filed as ‘classified’, I imagine that it is indeed worth classifying other irrelevant things.

Ile Longue by IGN
Ile Longue by IGN
Zoom Ile Longue by IGN
Zoom on the submarine port area

Let’s point Google Map to it. Nice resolution.

Ile Longue by Google Map
Zoom Ile Longue by Google Map

Let’s zoom further to see this submarine:

Extra Zoom Ile Longue by Google Map

As we can see, that was really worth for the IGN doing such patchy work to hide poor information considered what you can get (for free) somewhere in Google Map…as for what you can get by paying publicly, well that’s just about a 0.5m/2ft resolution.

Now, let’s move on to nicer areas, Noumea in New Caledonia located in the Pacific Ocean:

Noumea as seen by IGN portal. No satellite/aerial image, the only one available is a great road map available as a lossfull jpg bitmap full of artifacts:

Extra Zoom Ile Longue by Google Map

Noumea as seen by Google Map (you can zoom further of course, and clearly see Ilot Amedee, Anse Vata, etc…):

Extra Zoom Ile Longue by Google Map

Congratulations. IGN is really competing at the same level with Google Map. You can expect a Google Earth competitor in autumn 2006 and a webservice API in 2007.

That’s seriously embarrassing to produce such poor service and content while the IGN is supposed to be the cartography authority in France. Note that I’m not displaying here what you can get by switching from aerial image to street map. It is indeed a severely compressed bitmap which at some level is something that is really food for vectorization. That’s extremely poor content on the street level compared to viamichelin or mappy.

Apparently due to the “success” (ie the portal was down for several weeks), IGN will “think” about investing a bit more in the future potentially maybe not yet now.

NB: The webservice API implementation is apparently in the public competitive dialogue phase between IT companies, so expect a really bad implementation in the future and a late delivery over budget. :)

There is a video here which shows what to expect from in the 3D version, which looks pretty nice, but unfortunately it would be surprising if that could scale. In any case as everything is done by IT companies through stupid public call for tenders, it is unlikely they will get any expertise at all…in anything.

Next Page »

Powered by WordPress