Thursday, February 7, 2008

New Old Atlas Graphics Page

is here. It contains links to all major Atlas graphics applications.







How to get HEP in Java ?

Ok — so the question is — given where particle physics is now - how do we get them in?


My contribution to the Java discussion on the Gordon Watts blog:

Short answer:
——————-
Write useful applications.
Examples from Atlas: Atlantis, Tag Collector, AMI,…
Examples from HEP: FreeHEP, jHepWortk,…
 
Longer answer:
———————-
Write useful applications + convince bosses to allow non-Root/non-C++ components. There is a big problem with CERN IT management: they have chosen to choose one framework/language and to boycot anything else.
The first choice was LHC++/Objy/IrisExplorer, the second is Root. The second choice is clearly better, but the main problem persist: bureaucratic
monopolisation. Any project capable of disturbing Root/C++ monopoly is illegal in CERN. There are many concrete examples: people are asked to remove their code from LCG repository because it is in Java, proposed presentations and tutorials are refused for the same reason.
Java is not the only victim, non-Root C++ projects suffer as well.
Many choices made by LCG (Atlas incl.) have been made just to lock us in the “chosen” technology: Root C++ dialect.At the beginning of LCG, there were some some (shy) attempts to make real modular architecture with abstract interfaces. Several RTAGs went in that direction. All that has been canceled. Java RTAG (yes, it was scheduled) was renamed to “future languages” RTAG and silently canceled later. Etc,etc

Saturday, February 2, 2008

Tous autour d'Ayaan Hirsi Ali le 10 février à Paris






Ayaan Hirsi AliLe 10 février, à Paris, se tiendra un grand meeting de soutien autour de Ayaan Hirsi Ali. Plus d'informations sur le blog de Caroline Fourest.
Ayaan Hirsi Ali a aussi son blog.

Friday, February 1, 2008

Java is more then twice faster then C++ in real life benchmark

Atlas uses Octopus to convert its geometry database from Oracle to SQLite. Octopus is written in 100% Java, as well as MySQL JDBC driver. Until recently, we were using native C++ implementation of SQLite, interfaced with Octopus via JNI. We have now migrated into 100% Java implementation of SQLite. This implementation has been created automaticaly using NestedVM tool. NestedVM converts MIPS binary (result of GCC compilation) code into Java classfiles. This way, any language, which can be compiled by GCC, can be translated into Java. Resulting Java is supposed to be quite slower as original code (or equivalent code written directly in java) because it contains only very low-level language constructs (quite close to assembler).

What was our surprise, when we have found that new 100% Java implementation is more then twice faster than previous mixed Java-C++ implementation. We get that speed-up on top of usual advantages of Java: platform independence (we just need one distribution, which runs on every platform, 32 or 64 bit based), exact reproducibility of results and order-of-magnitude smaller executable.

Wednesday, January 30, 2008

GraXML gives 3D View to Atlantis







Atlantis and GraXMLThere is now a prototype of Atlantis with 3D View possibility provided by GraXML. Following Atlantis elements can be shown in GraXML:

  • S3D

  • SiCluster

  • STr (simplified)

  • InDetTrack (only some descriptions)

  • Jet

  • BJet

  • TauJet

  • Electron

  • Muon

  • Photon

  • ETmis








Launch Web StartThe complete application is available via Web Start, it can be downloaded and started directly from you Web Browser if your Java (1.5 or 1.6) is correctly installed. Otherwise, you can download and start it using javaws command.

There is Simple Guide to Atlantis-GraXML package.

Monday, January 28, 2008

Object Extensions

My contribution to the discussion on another blog, concerning possibilities to dynamically extend objects with new methods

If you are allowed to use Java, you can use Groovy (which is bytecode-compatible with Java). Then you can do something like this:

// Define "extension" method within a class
class IntegerCategory {
  static boolean isEven(Integer value) {
  return (value&1) == 0
  }
  }

// Use it
  use (IntegerCategory.class) {
  println 2.isEven()
  println 3.isEven()
  }

I don’t agree that nobody is using Java & comp. for data analyses. There are many users of JAS and jHepWork (certainly not in Atlas). And The Atlas event display - Atlantis - is written in Java.The example I mentioned above was not directly in Java, but in Groovy. Groovy is a kind of Java-extension - dynamically typed language. It is completely compatible with Java (you can freely mix them in one program) and it has many unsafe features which some people would like to have in Java (like operator overloading, multiple inheritance,…). And it has excellent support for XML and SQL. It is, for example, very easy to create a histogram from SQL table: http://hrivnac.free.fr/wordpress/?p=72.

Java itself can support features you have asked for via “Dynamic Proxy”:
http://www.ibm.com/developerworks/java/library/j-jtp08305.html
It is very powerful system, but a bit complex.

[It is strange that all my cotributions are marked as spams - maybe because of included URLs ?]

The complete thread is here.

Sunday, January 27, 2008

Putin et La Bombe

Un autre signe que nous devrions avoir peur: Préemptive attaque nucléaire peut être utilisée pour défendre la Russie, selon le chef des forces armées russe, le général Iouri Baluevsky (par Russia Today).

Friday, January 25, 2008

Rapport Attali

Rapport de la Commission pour la liberation de la croissance francaise est publié. l est très rare de voir une proposition tellement rationnelle. J'espère seulement que N. Sarkozy ne renoncera pas aux attaques des imbéciles de gauche et de droite, et il appliquera les propositions.

En fait, j'ai été impressionné par J. Attali déjà auparavant. Chaque fois quand je l'ai entendu, j'ai été surpris que quelqu'un d'aussi intelligent peut se déclarer à gauche. J'ai eu la même impression aussi avec d'autres, comme B. Kouchner. Il semble que même les gens raisonnables doivent prétendre être sur la gauche si ils veulent être acceptées.

Plus d'informations sur le blog de J. Attali.