DHT and Java

In my toying around DHT I have tried some of them and more recently I have tried some Java implementations of various DHT with different results.

My journey into the DHT world started with Chord, a MIT product that was a kind of precursor of the DHT world.

Then I moved to Chimera written in C. And I must admit that it worked quite well but only under Linux all my trial to make it work on other operating systems where unsuccessful.

Then I decided that I wanted a portable application so I moved to Java. I’m quite new in Java so it was also a way to refresh my Java level and try it a little bit more seriously.

There I discovered a multitude of different DHT with it seams different level of stability and usability. After some search I decided to use FreePasty as it seams to be still in development and more a less usable. I succeded in making it work with some trouble as the documentation is not up to date and the stability under OSX is quite strange (maybe due to the fact that OSX is lagging behind on the Java level).

So I searched again for another more finished DHT, I saw something called JDHT that looked quite simple and nice but unfortunatly the links to the download are broken and it seams impossible to use it.

I looked also into BabooDHT but it seams like there is no documentation at all. If I want to use any of those library I need at least some example on how to use it! The documentation exist but is more describing things at a user level than at a programmer level, and when it come to the programmer level this is vague and seams not up to date.

I’m now looking into OpenChord that seams very promising. Hope this time I’ll be good enouth to be able to use it!

2 comments September 26th, 2008

STL-BDB new version

Some people asked me for some update on the STL-BDB wrapper so I decided this was time to release the last version of it, I think this should improve the support a little bit with some new features. I don’t think I’ll have time to maintain it so I give it under some BSD licence so If someone feel like improving or rewriting it in a more “proper” way just feel free!

I may return to it some day but for now I’m stuck into working for CERN and toying with Java and DHT.

Here is the last version of the stl_bdb library. It contain a Makefile and a main.cpp example featuring the caracters from a popular Sci-fi TV serie.

Add comment September 25th, 2008

Buenz.li 08

buenz.li hall

Here come the 17th edition of the buenz.li and even if this was probably not the best buenz.li ever it was still fun. This year saw the return of Fred, one of the three founding member of Calodox and it was kinda fun to see him back.

strange music device

There was some strange music device at the entrance that work with human electrostatic. You could also do effect by just making the different cords touch each other it really look a little it theremin kinda instrument but it was fun, also very difficult to master.

1 comment August 20th, 2008

LHC first injection

CCC

Yesterday I was in the CCC (Cern Control Center) during the LHC first injection. We had some trouble debugging some timing, but it went just fine, too fine nobody was expecting the beam to go to point 3 directly (what happen).

LHC first beam in point 3

So we had some champagne to celebrate the event, everybody was so happy it was just magic. I continued the celebration to the SPS Faraday cage with RF people. The beam just did from point 1 to 3 that make around 3/8 of the LHC, next step is full turn (in like 4 weeks) and then capture (10 September).

1 comment August 9th, 2008

le LHC et la destruction du monde

Comme le faisait remarquer recament mon ami thias sur son blog, le LHC vas bientot demarrer. Et c’est donc sans reel surprise que j’ai decouvert se matin dans ma boite de reception electronique un message: “LETTRE OUVERTE A TOUS LES TECHNICIENS ET INGENIEURS DU CERN” qui nous demande: “Serez-vous les bourreaux de l’humanité ?”.

C’est un peu long mais fort amusant. je pensais qu’apres les multiples enquetes et autres rapport fait par des groupes independants, ce genre de choses allait disparaitre, mais il semble que non.

LETTRE OUVERTE A TOUS LES TECHNICIENS ET INGENIEURS DU CERN :
“ Serez-vous les bourreaux de l’humanité ? ”

Quelle question saugrenue allez-vous penser ? Vous n’avez pas été engagés pour cela.

Pourtant, comment désigne-t-on, les personnes chargées de construire et de faire fonctionner une machine dont la probabilité de conduire l’humanité à sa perte est loin d’être négligeable alors que celle de trouver une particule désignée boson de Higgs est nulle ?

Le boson de Higgs “ particule de Dieu ” chargée de donner de la masse aux autres particules est une création métaphysique aussi ridicule que le graviton crocheteur, particule qui serait émise par chaque particule massique dans toutes les directions, agissant à toute distance et revenant à sa base émettrice à travers toute matière.

Par contre, les essais de rencontre de particules à grande vitesse seraient bien réels et le risque de création de micro trous noirs existe selon les (méta)physiciens émérites et selon moi. Eux ne se soucient guère des risques car ils pensent que d’après la théorie de la Relativité Générale ces micro trous noirs ne dureraient qu’une fraction de seconde.

- Une simple constatation de la masse apparente du trou noir de notre galaxie et de sa consommation permet de déduire que les trous noirs détruisent la matière, avec la libération de l’énergie équivalente (et ne l’envoie pas dans un univers parallèle, thèse de géniaux métaphysiciens) et qu‘ils sont permanents.

- La théorie de la Relativité selon Albert Einstein est invalidée depuis 1920 par la découverte de l’effet écran qui n’a jamais été démenti depuis, malgré de nombreuses autres expériences.

Ces (méta)physiciens émérites tous formés à la même école du mensonge, de l’absurde et de la lâcheté intellectuelle par soumission, montrent, par leur refus de la discussion, qu’ils sont irrécupérables et qu’ils ne méritent aucune confiance car leur cerveau est gravement endommagé par des théories métaphysiques qui font la honte de la science contemporaine.

Ne leur laissez pas la possibilité de faire des essais de chocs frontaux à haute énergie avant que l’innocuité de ces derniers ne soit prouvée. Et pour cela il faudrait commencer par trouver une structure au vide dit “ quantique ” et revenir à une science du réel. Car ce n’est pas des théories qu’il faut se méfier, mais des essais aux conséquences irréversibles.

Si vous voulez découvrir un aperçu du chemin de la Raison qui mène à la physique du réel, il faut nécessairement commencer par dénoncer les erreurs du passé.

  • Poincaré à invalider, à tort, la théorie sur la gravitation de Lesage en prenant comme hypothèse banale, commode et scolaire, que les chocs élastiques étaient à rebond symétrique. Envoyez une flèche dans les pâles d’un ventilateur, vous n’imaginez tout de même pas qu’elle va revenir vers vous ou alors avec une très faible probabilité. L’analyse qui me semble appropriée compte tenu de la rotation des particules sur elles-mêmes (spin) et autour des autres est d’affirmer que le rebond est à caractère aléatoire. Lesage désignait ses agents de la gravitation les “ ultra-mondains ” ; je les baptise “ brins de masse ” car ils font partie de notre monde et sont bien réels et massiques. Avec ces brins de masse qui se déplacent à la vitesse de la lumière (vitesse dont l’origine zéro est la matière prépondérante environnante) et un rebond aléatoire, vous ferez une première constatation que la loi de la gravitation de Newton est respectée et que la gravitation est un phénomène mécanique et quantique provoqué par la rencontre des brins de masse ultra rapides avec les particules.
  • La seconde erreur est de confondre la masse et l’énergie. Les physiciens s’interdisent d’aller imaginer la composition même de la particule. La réalité est qu’il y a une corrélation totale entre masse de la particule et son énergie propre donnée par la formule incontournable d’Einstein, et vérifiée avec une très grande précision, E= mc2. Pourtant, si l’on est suffisamment curieux et que l’on considère c, non pas comme une constante issue de calculs mais comme la vitesse périphérique de rotation de la particule sur elle-même, on obtient un modèle de particule élémentaire en anneau ou toute la masse serait à l’extérieur, avec donc une énergie cinétique 1/2mc2. Et puisque les chocs avec les brins de masse sont à 100% élastiques il est nécessaire que cet anneau soit également élastique à 100%. Compte tenu de la force centrifuge, l’analyse mécanique montre que l’énergie potentielle emmagasinée par la tension de l’anneau pour équilibrer la force centrifuge est aussi égale à 1/2mc2. Voilà l’explication de la célèbre formule et le lien mécanique qui existe entre particules de matière et ce flux scalaire composé de brins de masse, baptisé par mes soins “ flux pousseur ”, et l’interaction possible entre les deux.
  • Jusque là nous sommes et nous resterons toujours dans un monde réel à 3 dimensions et avec un temps absolu. Ce n’est pas l’expérience de Michelson-Morley qui nous démentira puisqu’elle prouve au contraire que la vitesse de la lumière est constante sur Terre quelque soit sa direction. La troisième erreur des physiciens qui est leur première déviance métaphysique est de conclure, suite à cette expérience, que la vitesse de la lumière est constante par rapport à tout observateur en mouvement ou non. Pourquoi est-ce de la métaphysique ? Tout simplement parce que l’observateur est abstrait, irréel et n’existe pas. Dans le monde réel il y a toujours un lien entre la cause et l’effet. Aucun lien n’est envisageable entre la lumière et l’observateur dénué de masse et de toute grandeur physique. Maintenant, vous avez compris que ce lien qui relie la lumière à la matière prépondérante environnante est le flux pousseur. Ainsi, c’est aussi simple que cela : la vitesse de la lumière est constante par rapport à la Terre. C’est la seule conclusion rationnelle possible de l’expérience de Michelson-Morley. D’ailleurs la myopie initiale du télescope Hubble et l’effet Pioneer confortent cette réalité et invalident l’interprétation métaphysique comparable à l’égocentrisme de Ptolémée (j’observe donc je suis !). Cette nouvelle relation entre lumière et matière environnante se décrit par la Relativité Naturelle, théorie qui décrit l’infini petit et l’infini grand par les lois de la mécanique classique en faisant disparaître toutes les absurdités ou paradoxes générés par la Relativité Générale et le Big Bang et en restaurant l’espace à 3 dimensions et le temps absolu.
  • La quatrième erreur est d’étendre les lois physiques à tous les référentiels galiléens (en translation rectiligne l’un par rapport à l’autre) sans aucune restriction. Cette erreur résulte d’une extrapolation trop rapide. Ce qui est vrai sur la Terre n’est pas forcément vrai lorsque l’on change de matière prépondérante environnante. Une nouvelle fois la myopie d’Hubble et l’effet Pioneer témoignent de limiter les référentiels galiléens à notre milieu de matière environnante.

Une fois ces erreurs flagrantes dénoncées (trois sur trois des professeurs de physique fondamentale que j’ai contactés ne veulent même pas en débattre ou ne peuvent pas en débattre), la suite n’est qu’une simple analyse déductive qui nous amène à l’ébauche de la théorie du Tout.

Dans cette théorie, l’autre structure de déplacement des brins de masse respectant les lois de base de la mécanique est la structure en double tourbillon, la première étant la structure de type scalaire

. Les brins de masse entrent par un plan et ressortent perpendiculairement à ce plan très concentrés donc d’une très grande puissance selon un axe central et répartis de façon équitable dans les deux sens de l’axe. C’est ce qui caractérise le trou noir. La naissance d’un trou noir au sein d’une galaxie elliptique aura pour conséquence de provoquer des chocs entre les matières les plus proches avec celles plus éloignées et de donner naissance à ces jets de plasma jusqu’à présent inexpliqués. Lorsqu’il n’y aura plus de matière sur la trajectoire des trous noirs, les jets de plasma disparaîtront mais les jets de brins de masse continueront. La galaxie au fil du temps se transformera en galaxie spirale. Les trous noirs sont les moteurs de l’expansion de l’univers et il n’est pas besoin d’imaginer cette autre théorie d’une remarquable absurdité, le Big Bang, que rien n’accrédite. .

Il y a en effet d’autres explications possibles à ce rayonnement injustement baptisé fossile dont la plus simple et la plus logique est le rayonnement due à la température de l’ensemble des rayons cosmiques. C’est le croisement des particules polarisées, de l’accélération de ces particules qui en résulte au moment du croisement, qui est responsable du rayonnement du corps noir. Les photons émis proviennent du flux pousseur et non des particules elles-mêmes. L’accélération de particules chargées laisse passer des brins de masse de même polarité instantanée qui sont les composants du photon.

Puisque nous parlons de rayons cosmiques, provenant en partie des jets de plasma, je me permets de dénoncer ce nouveau mensonge des physiciens. Selon eux, comme une centaine de collisions se produit annuellement entre les rayons cosmiques et notre atmosphère, avec une énergie supérieure ou équivalente à celle du LHC, et que la Terre n’a pas eu à en supporter des conséquences désastreuses depuis des milliards d’années de son existence, les essais du LHC ne sont pas dangereux puisqu’ils se contentent de reproduire la nature.

Quel que soit notre niveau de compréhension de la Physique, nous avons tous conscience que pour faire tourner une toupie, la seule façon d’y parvenir est de lui transmettre une énergie sous la forme d’un couple, c’est à dire un apport d’énergie au moyen de deux mouvements de sens contraires. Le trou noir telle une toupie est un objet qui tourne sur lui-même. Pour que les rayons cosmiques produisent un trou noir, il faudrait au minimum une rencontre frontale entre eux, c’est une probabilité quasi nulle.et totalement nulle au niveau de notre atmosphère car les rayons cosmiques sont rapidement interceptés par les molécules de l’air. Et d’autre part, ces rayons, bien qu’énergétiques, ne sont pas très proches de la vitesse de la lumière, donc aucun risque. Ce qui n’est pas le cas avec les essais frontaux programmés dans le LHC.

Que ceux d’entre vous qui désirent en connaître davantage sur l’ébauche de la théorie du tout ou participer à son développement, me demande par retour une copie de mon livre “ Les victoires de la raison ”. Je me ferais un plaisir de leur envoyer par email et de répondre à chaque interrogation qu’ils se poseraient, sous réserve qu’elle soit exprimée en français. Laissons de côté les droits d’auteur (” on donne ce que l’on veut ” : Coluche dans l’autostoppeur) l’urgence vitale pour l’humanité est de ne jamais pratiquer de chocs frontaux sans preuve réelle et non discutable de leur innocuité.

Vous avez le devoir de réclamer comme moi cette preuve d’innocuité. Faites le avant!!! Vous pouvez utiliser tout moyen à votre convenance pour vous opposer à ces essais démoniaques. Personne ne pourra vous blâmer de faire respecter le principe de précaution. La direction du CERN est coupable d’un véritable scandale et s’apprête à accomplir le plus grand crime contre l’humanité de tous les temps en vous commanditant ces essais.

Votre mot d’ordre : Tous les risques doivent être analysés de manière exhaustive en faisant sauter les masques, filtres et manières de raisonner que l’enseignement et l’habitude ont mis en place depuis un siècle au travers de théories maintenant invalidées. L’enjeu est la survie de l’humanité et les essais de chocs frontaux à vitesse très proche de celle de la lumière sont une première dans l’univers.

Votre Direction Générale ne répond pas à mes courriers recommandés et aux courriels dont vous trouverez des copies en fichiers joints.

Merci de m’aider dans ma lutte en transmettant ce message à tous ceux qui travaillent au CERN ou en me faisant parvenir une adresse générique susceptible de toucher tout le monde.

Je respecterai votre anonymat si vous le souhaitez, bien que je trouve particulièrement HONORABLE de prendre position pour la défense de l’humanité.

Pour ma part, j’ai porté plainte auprès du Procureur de la République pour le non respect du principe de précaution entraînant la mise en danger de la vie de 6,5 milliards de personnes contre Monsieur le Directeur Général du TEVATRON américain et contre Monsieur le Directeur Général du LHC européen du CERN à Genève.

Malgré toutes mes mises en garde et avertissements, et s’il s’avérait que vous soyez tous devenus fous tels les adeptes d’une secte qui passeraient à l’acte en déclenchant le premier essai de chocs frontaux à haute énergie, je porterais plainte pour tentative délibérée de crime contre l’humanité contre les dirigeants et contre leurs salariés complices.

J’ai toujours scrupule à mettre en circulation “ grand public ” toutes ces accusations fondées car je suis en fervent partisan de la science et du progrès technologique, et le LHD est tout simplement fabuleux, car je crains que cela nuise considérablement aux personnes et à leur famille. Je me bats pour des idées et non contre les personnes. Cependant sans réponse rassurante de votre part avant la fin juillet, et une garantie qu’il n’y aura pas d’essais frontaux sans une preuve d’innocuité, je le ferais car c’est mon devoir.

En espérant une réponse de votre part, je vous prie d’accepter, Madame, Monsieur, mes meilleures salutations.

Jean-Guy LECART

 

2 comments August 4th, 2008

DHT Ring & Turing machines

Recently I’m playing with FreePastry a Free DHT written in Java. I think I will post some code and application soon, but this is not the purpose of this post.

My idea was, what about a turing machine running on a DHT? Mean like the DHT used as the infinite band, the DHT namespace is not really infinite but can be very large. we could also imagine many machine going on the same ring (distributed computing). But even for an application the ring could correspond to the memory and the program.

You then need a very tiny soft to start the ring and begin fetching the software on it. Versioning could be handled by the ring itself. You update the ring as the software. You could even imagine OS that are tiny client to the ring and use the ring as storage and source for the OS, a global OS that has no installation trouble and cannot have HDD failure (as long has you have the network).

Add comment July 31st, 2008

Love

Reading the wired is always funny and you sometime even find something interesting!

I found this love a game made entirely with generated content and written by a single individual! Just the kinda idea I have for a while and try to implement trough biolite and that kind of experiments. Of course I don’t have the sens of art that this guy have.

It seams like his world is square based that should mean that he is using some kind of torus or that kind of base, as I am using an icosahedron (approximates to a real sphere). I also noted the fact that his engine has discontinuity (cliff) this is really a good idea and I should try to implement it im my engine too.

Finally according to the wired the code of this thing is going to be open sourced this mean we will be able to see how this is done. Really a great project and a wonderful work.

website : http://quelsolaar.com/love/index.html

1 comment July 23rd, 2008

Human computing

Cette semaine a eu lieu au CERN un conference assez Interessante d’un certain Luis von Ahn encore une fois de Carnegie Mellon University.

Son idee est plutôt simple et rejoin en ca le galaxy zoo il existe une series de problèmes que les ordinateurs ne peuvent résoudre, par exemple la reconnaissance d’objet ou de formes dans une image complexe. La solution est alors de payer des gens pour faire cette analyse. Pourquoi ne pas pousser les gens a le faire gratuitement a travers un jeu? Penser a tous ces gens qui dépensent des heures a jouer a World of Warcraft ou autre jeu en ligne? Ces ressources de temps “cerveau” qui sont perdues en temps de jeu?

Dans ca conference il montre comment utiliser les gens qui joue a ces jeux pour realiser des choses qui finalement sont utiles a la communauté (un peu comme wikipedia).

Je trouve ca conclusion qui presente un monde dans lequel les ordinateur plutôt que de nous garder pour faire de nous des sources d’energie mais plutôt nous garder pour résoudre certains problèmes insolubles est plus qu’intéressante.

references :

wikipedia : http://en.wikipedia.org/wiki/Luis_von_ahn
conference : http://indico.cern.ch/conferenceDisplay.py?confId=32943
google video : http://video.google.com/videoplay?docid … 0976635143
site des jeux : http://www.gwap.com/

1 comment June 24th, 2008

Monster & MUD

I’m still searching for a new idea for a game and in this search I falled upon Monster. Monster is one of the very first MUD to implement Online Creation. Online creation mean that you can add content to the game world during the world is actually running. As I’m trying to use P2P networking in game, this sounded like a good idea, let user have the ability to create content!

The source of monster is available online and even if this is not a great piece of code you can find an interesting comment at the end that explain more or less how the game is working.

Monster’s Shared Files:

Monster uses several shared files for communication. Each shared file is accessed within Monster by a group of 3 procedures of the form:getX(), freeX and putX. 

getX takes an integer and attempts to get and lock that record from the appropriate data file.  If it encounters a “collision”, it waits a short random amount of time and tries again.  After maxerr collisions it prints a deadlock warning message.

If data is to be read but not changed, a freeX should immediately follow the getX so that other Monster processes can access the record.  If the record is to be written then a putX must eventually follow the getX.

Monster’s Record Allocation:

Monster dynamically allocates some resources such as description blocks and lines and player log entries.  The allocation is from a bitmap.  I chose a bitmap over a linked list to make the multiuser access to the database more stable.  A particular resource (such as log entries) will have a particular bitmap in the file INDEXFILE.  A getindex(I_LOG) will retrieve the bitmap for it.

Actually allocation and deallocation is done through the group of functions alloc_X and delete_X.  If alloc_X returns true, the allocation was successful, and the integer parameter is the number of the block allocated.

The top available record in each group is stored in indexrec.  To increase the top, the new records must be initially written so that garbage data is not in them and the getX routines can locate them.  This can be done with the addX(n) group of routines, which add capacity to resources.

Parsing in Monster:

The main parser(s) use a first-unique-characters method to lookup command keywords and parameters.  The format of these functions is lookup_x(n,s). If it returns true, it successfully found an unambiguous match to string s. The integer index will be in n.

If an unambiguating match is needed (for example, if someone makes a new room, the match to see if the name exists shouldn’t disambiguate), the group of routines exact_X(n,s) are called.  They function similarly to lookup_x(n,s).

The customization subsystems and the editor use very primitive parsers which only use first character match and integer arguments.

Asynchronous events in Monster:

When someone comes into a room, the other players in that room need to be notified, even if they might be typing a command on their terminal. 

This is done in a two part process (producer/consumer problem):

When an event takes place, the player’s Monster that caused the eventmakes a call to log_event.  Parameters include the slot of the sender (which person in the room caused the event), the actual event that occurred (E_something) and parameters.  Log_event works by sticking the event into a circular buffer associated with the room (room may be specified on log_event).

Note: there is not an event record for every room; instead, the event record used is  ROOM # mod ACTUAL NUMBER of EVENT RECORDS

The other half of the process occurrs when a player’s Monster calls grab_line to get some input.  Grab line looks for keystrokes, and if there are none, it calls checkevent and then sleeps for a short time (.1 - .2 seconds).  Checkevent loads the event record associated with this

room and compare’s the player’s buffer pointer with the record’s buffer pointer.  If they are different, checkevent bites off events and sends them to handle_event until there are no more events to be processed.  Checkevent ignores events logged by it’s own player.

In fact there is no network code, there are using a simple database on flat files with a locking mechanism. This is just what I may use in a P2P ring, a simple database distributed among the clients.

Add comment June 13th, 2008

Emoticon on Avatars

Using face expression in conversation has always been a parallele way of communicating with people. In character windows were there is only text, this channel is express trough emoticon (^^, -_-, O_O, : (, :-), etc…).

In MMOG this is express in many differents ways usualy through the chat window and through the /em /emote animation and sound. Why not parse the chat window serarching for some emoticon and display them directly on the avatar? This could increase the immersion into the world and help the social interactions between people.

As an exemple just think about a trivial chat program that display an avatar face on the side of your text and that this avata look a little bit like a mee (from Wii). This avatar face could be changed according to the emoticon you use in the text. This could improve the way people chat in MMOG and in basic chat channels (you could find that kind of idea in MS comic chat IRC client).

Add comment June 8th, 2008

Previous Posts


Categories

Links

Feeds

Statistics